@fluentui/react-field 9.0.0-alpha.1 → 9.0.0-alpha.11
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.json +671 -1
- package/CHANGELOG.md +176 -2
- package/dist/index.d.ts +30 -95
- package/lib/Field.js.map +1 -1
- package/lib/components/Field/Field.types.js.map +1 -1
- package/lib/components/Field/SlotComponent.types.js.map +1 -1
- package/lib/components/Field/index.js.map +1 -1
- package/lib/components/Field/renderField.js.map +1 -1
- package/lib/components/Field/useField.js +30 -25
- package/lib/components/Field/useField.js.map +1 -1
- package/lib/components/Field/useFieldStyles.js +3 -3
- package/lib/components/Field/useFieldStyles.js.map +1 -1
- package/lib/index.js +0 -9
- package/lib/index.js.map +1 -1
- package/lib-amd/Field.js +6 -0
- package/lib-amd/Field.js.map +1 -0
- package/lib-amd/components/Field/Field.types.js +5 -0
- package/lib-amd/components/Field/Field.types.js.map +1 -0
- package/lib-amd/components/Field/SlotComponent.types.js +5 -0
- package/lib-amd/components/Field/SlotComponent.types.js.map +1 -0
- package/lib-amd/components/Field/index.js +9 -0
- package/lib-amd/components/Field/index.js.map +1 -0
- package/lib-amd/components/Field/renderField.js +20 -0
- package/lib-amd/components/Field/renderField.js.map +1 -0
- package/lib-amd/components/Field/useField.js +119 -0
- package/lib-amd/components/Field/useField.js.map +1 -0
- package/lib-amd/components/Field/useFieldStyles.js +97 -0
- package/lib-amd/components/Field/useFieldStyles.js.map +1 -0
- package/lib-amd/index.js +10 -0
- package/lib-amd/index.js.map +1 -0
- package/lib-commonjs/Field.js.map +1 -1
- package/lib-commonjs/components/Field/index.js.map +1 -1
- package/lib-commonjs/components/Field/renderField.js.map +1 -1
- package/lib-commonjs/components/Field/useField.js +30 -25
- package/lib-commonjs/components/Field/useField.js.map +1 -1
- package/lib-commonjs/components/Field/useFieldStyles.js +4 -4
- package/lib-commonjs/components/Field/useFieldStyles.js.map +1 -1
- package/lib-commonjs/index.js +1 -136
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +22 -24
- package/Spec.md +0 -354
- package/lib/CheckboxField.js +0 -2
- package/lib/CheckboxField.js.map +0 -1
- package/lib/ComboboxField.js +0 -2
- package/lib/ComboboxField.js.map +0 -1
- package/lib/InputField.js +0 -2
- package/lib/InputField.js.map +0 -1
- package/lib/RadioGroupField.js +0 -2
- package/lib/RadioGroupField.js.map +0 -1
- package/lib/SelectField.js +0 -2
- package/lib/SelectField.js.map +0 -1
- package/lib/SliderField.js +0 -2
- package/lib/SliderField.js.map +0 -1
- package/lib/SpinButtonField.js +0 -2
- package/lib/SpinButtonField.js.map +0 -1
- package/lib/SwitchField.js +0 -2
- package/lib/SwitchField.js.map +0 -1
- package/lib/TextareaField.js +0 -2
- package/lib/TextareaField.js.map +0 -1
- package/lib/components/CheckboxField/CheckboxField.js +0 -32
- package/lib/components/CheckboxField/CheckboxField.js.map +0 -1
- package/lib/components/CheckboxField/index.js +0 -2
- package/lib/components/CheckboxField/index.js.map +0 -1
- package/lib/components/ComboboxField/ComboboxField.js +0 -14
- package/lib/components/ComboboxField/ComboboxField.js.map +0 -1
- package/lib/components/ComboboxField/index.js +0 -2
- package/lib/components/ComboboxField/index.js.map +0 -1
- package/lib/components/InputField/InputField.js +0 -14
- package/lib/components/InputField/InputField.js.map +0 -1
- package/lib/components/InputField/index.js +0 -2
- package/lib/components/InputField/index.js.map +0 -1
- package/lib/components/RadioGroupField/RadioGroupField.js +0 -15
- package/lib/components/RadioGroupField/RadioGroupField.js.map +0 -1
- package/lib/components/RadioGroupField/index.js +0 -2
- package/lib/components/RadioGroupField/index.js.map +0 -1
- package/lib/components/SelectField/SelectField.js +0 -14
- package/lib/components/SelectField/SelectField.js.map +0 -1
- package/lib/components/SelectField/index.js +0 -2
- package/lib/components/SelectField/index.js.map +0 -1
- package/lib/components/SliderField/SliderField.js +0 -14
- package/lib/components/SliderField/SliderField.js.map +0 -1
- package/lib/components/SliderField/index.js +0 -2
- package/lib/components/SliderField/index.js.map +0 -1
- package/lib/components/SpinButtonField/SpinButtonField.js +0 -14
- package/lib/components/SpinButtonField/SpinButtonField.js.map +0 -1
- package/lib/components/SpinButtonField/index.js +0 -2
- package/lib/components/SpinButtonField/index.js.map +0 -1
- package/lib/components/SwitchField/SwitchField.js +0 -14
- package/lib/components/SwitchField/SwitchField.js.map +0 -1
- package/lib/components/SwitchField/index.js +0 -2
- package/lib/components/SwitchField/index.js.map +0 -1
- package/lib/components/TextareaField/TextareaField.js +0 -14
- package/lib/components/TextareaField/TextareaField.js.map +0 -1
- package/lib/components/TextareaField/index.js +0 -2
- package/lib/components/TextareaField/index.js.map +0 -1
- package/lib-commonjs/CheckboxField.js +0 -10
- package/lib-commonjs/CheckboxField.js.map +0 -1
- package/lib-commonjs/ComboboxField.js +0 -10
- package/lib-commonjs/ComboboxField.js.map +0 -1
- package/lib-commonjs/InputField.js +0 -10
- package/lib-commonjs/InputField.js.map +0 -1
- package/lib-commonjs/RadioGroupField.js +0 -10
- package/lib-commonjs/RadioGroupField.js.map +0 -1
- package/lib-commonjs/SelectField.js +0 -10
- package/lib-commonjs/SelectField.js.map +0 -1
- package/lib-commonjs/SliderField.js +0 -10
- package/lib-commonjs/SliderField.js.map +0 -1
- package/lib-commonjs/SpinButtonField.js +0 -10
- package/lib-commonjs/SpinButtonField.js.map +0 -1
- package/lib-commonjs/SwitchField.js +0 -10
- package/lib-commonjs/SwitchField.js.map +0 -1
- package/lib-commonjs/TextareaField.js +0 -10
- package/lib-commonjs/TextareaField.js.map +0 -1
- package/lib-commonjs/components/CheckboxField/CheckboxField.js +0 -42
- package/lib-commonjs/components/CheckboxField/CheckboxField.js.map +0 -1
- package/lib-commonjs/components/CheckboxField/index.js +0 -10
- package/lib-commonjs/components/CheckboxField/index.js.map +0 -1
- package/lib-commonjs/components/ComboboxField/ComboboxField.js +0 -24
- package/lib-commonjs/components/ComboboxField/ComboboxField.js.map +0 -1
- package/lib-commonjs/components/ComboboxField/index.js +0 -10
- package/lib-commonjs/components/ComboboxField/index.js.map +0 -1
- package/lib-commonjs/components/InputField/InputField.js +0 -24
- package/lib-commonjs/components/InputField/InputField.js.map +0 -1
- package/lib-commonjs/components/InputField/index.js +0 -10
- package/lib-commonjs/components/InputField/index.js.map +0 -1
- package/lib-commonjs/components/RadioGroupField/RadioGroupField.js +0 -25
- package/lib-commonjs/components/RadioGroupField/RadioGroupField.js.map +0 -1
- package/lib-commonjs/components/RadioGroupField/index.js +0 -10
- package/lib-commonjs/components/RadioGroupField/index.js.map +0 -1
- package/lib-commonjs/components/SelectField/SelectField.js +0 -24
- package/lib-commonjs/components/SelectField/SelectField.js.map +0 -1
- package/lib-commonjs/components/SelectField/index.js +0 -10
- package/lib-commonjs/components/SelectField/index.js.map +0 -1
- package/lib-commonjs/components/SliderField/SliderField.js +0 -24
- package/lib-commonjs/components/SliderField/SliderField.js.map +0 -1
- package/lib-commonjs/components/SliderField/index.js +0 -10
- package/lib-commonjs/components/SliderField/index.js.map +0 -1
- package/lib-commonjs/components/SpinButtonField/SpinButtonField.js +0 -24
- package/lib-commonjs/components/SpinButtonField/SpinButtonField.js.map +0 -1
- package/lib-commonjs/components/SpinButtonField/index.js +0 -10
- package/lib-commonjs/components/SpinButtonField/index.js.map +0 -1
- package/lib-commonjs/components/SwitchField/SwitchField.js +0 -24
- package/lib-commonjs/components/SwitchField/SwitchField.js.map +0 -1
- package/lib-commonjs/components/SwitchField/index.js +0 -10
- package/lib-commonjs/components/SwitchField/index.js.map +0 -1
- package/lib-commonjs/components/TextareaField/TextareaField.js +0 -24
- package/lib-commonjs/components/TextareaField/TextareaField.js.map +0 -1
- package/lib-commonjs/components/TextareaField/index.js +0 -10
- package/lib-commonjs/components/TextareaField/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
@@ -1,12 +1,186 @@
|
|
1
1
|
# Change Log - @fluentui/react-field
|
2
2
|
|
3
|
-
This log was last generated on
|
3
|
+
This log was last generated on Tue, 20 Dec 2022 14:55:49 GMT and should not be manually modified.
|
4
4
|
|
5
5
|
<!-- Start content -->
|
6
6
|
|
7
|
+
## [9.0.0-alpha.11](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.11)
|
8
|
+
|
9
|
+
Tue, 20 Dec 2022 14:55:49 GMT
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.10..@fluentui/react-field_v9.0.0-alpha.11)
|
11
|
+
|
12
|
+
### Changes
|
13
|
+
|
14
|
+
- Bump @fluentui/react-context-selector to v9.1.3 ([PR #26047](https://github.com/microsoft/fluentui/pull/26047) by beachball)
|
15
|
+
- Bump @fluentui/react-label to v9.0.13 ([PR #26047](https://github.com/microsoft/fluentui/pull/26047) by beachball)
|
16
|
+
- Bump @fluentui/react-theme to v9.1.4 ([PR #26047](https://github.com/microsoft/fluentui/pull/26047) by beachball)
|
17
|
+
- Bump @fluentui/react-utilities to v9.3.0 ([PR #26047](https://github.com/microsoft/fluentui/pull/26047) by beachball)
|
18
|
+
|
19
|
+
## [9.0.0-alpha.10](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.10)
|
20
|
+
|
21
|
+
Mon, 05 Dec 2022 18:29:23 GMT
|
22
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.9..@fluentui/react-field_v9.0.0-alpha.10)
|
23
|
+
|
24
|
+
### Changes
|
25
|
+
|
26
|
+
- fix: Field should use aria-describedby instead of aria-errormessage ([PR #25580](https://github.com/microsoft/fluentui/pull/25580) by behowell@microsoft.com)
|
27
|
+
- chore: Migrate to new package structure. ([PR #25817](https://github.com/microsoft/fluentui/pull/25817) by tristan.watanabe@gmail.com)
|
28
|
+
- Bump @fluentui/react-label to v9.0.12 ([PR #25798](https://github.com/microsoft/fluentui/pull/25798) by beachball)
|
29
|
+
- Bump @fluentui/react-theme to v9.1.3 ([PR #25798](https://github.com/microsoft/fluentui/pull/25798) by beachball)
|
30
|
+
|
31
|
+
## [9.0.0-alpha.9](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.9)
|
32
|
+
|
33
|
+
Thu, 17 Nov 2022 23:05:39 GMT
|
34
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.8..@fluentui/react-field_v9.0.0-alpha.9)
|
35
|
+
|
36
|
+
### Changes
|
37
|
+
|
38
|
+
- Bump @fluentui/react-context-selector to v9.1.2 ([PR #25683](https://github.com/microsoft/fluentui/pull/25683) by beachball)
|
39
|
+
- Bump @fluentui/react-label to v9.0.11 ([PR #25683](https://github.com/microsoft/fluentui/pull/25683) by beachball)
|
40
|
+
- Bump @fluentui/react-utilities to v9.2.2 ([PR #25683](https://github.com/microsoft/fluentui/pull/25683) by beachball)
|
41
|
+
|
42
|
+
## [9.0.0-alpha.8](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.8)
|
43
|
+
|
44
|
+
Fri, 11 Nov 2022 14:58:03 GMT
|
45
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.7..@fluentui/react-field_v9.0.0-alpha.8)
|
46
|
+
|
47
|
+
### Changes
|
48
|
+
|
49
|
+
- fix: create valid export maps ([PR #25558](https://github.com/microsoft/fluentui/pull/25558) by martinhochel@microsoft.com)
|
50
|
+
- chore: Clean up Field tests and story imports in preparation of moving to individual packages ([PR #25594](https://github.com/microsoft/fluentui/pull/25594) by behowell@microsoft.com)
|
51
|
+
- chore: Move individual field components into their respective packages, and out of @fluentui/react-field ([PR #25593](https://github.com/microsoft/fluentui/pull/25593) by behowell@microsoft.com)
|
52
|
+
- Bump @fluentui/react-context-selector to v9.1.1 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
|
53
|
+
- Bump @fluentui/react-label to v9.0.10 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
|
54
|
+
- Bump @fluentui/react-theme to v9.1.2 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
|
55
|
+
- Bump @fluentui/react-utilities to v9.2.1 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
|
56
|
+
- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.18 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
|
57
|
+
|
58
|
+
## [9.0.0-alpha.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.7)
|
59
|
+
|
60
|
+
Wed, 02 Nov 2022 11:57:52 GMT
|
61
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.6..@fluentui/react-field_v9.0.0-alpha.7)
|
62
|
+
|
63
|
+
### Changes
|
64
|
+
|
65
|
+
- chore: Update Griffel to latest version ([PR #25412](https://github.com/microsoft/fluentui/pull/25412) by olfedias@microsoft.com)
|
66
|
+
- Bump @fluentui/react-checkbox to v9.0.11 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
67
|
+
- Bump @fluentui/react-combobox to v9.0.0-beta.14 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
68
|
+
- Bump @fluentui/react-context-selector to v9.1.0 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
69
|
+
- Bump @fluentui/react-input to v9.2.4 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
70
|
+
- Bump @fluentui/react-label to v9.0.9 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
71
|
+
- Bump @fluentui/react-progress to v9.0.0-alpha.4 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
72
|
+
- Bump @fluentui/react-radio to v9.0.10 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
73
|
+
- Bump @fluentui/react-select to v9.0.0-beta.13 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
74
|
+
- Bump @fluentui/react-slider to v9.0.9 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
75
|
+
- Bump @fluentui/react-spinbutton to v9.0.7 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
76
|
+
- Bump @fluentui/react-switch to v9.0.10 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
77
|
+
- Bump @fluentui/react-textarea to v9.1.4 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
78
|
+
- Bump @fluentui/react-utilities to v9.2.0 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
79
|
+
- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.17 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
|
80
|
+
|
81
|
+
## [9.0.0-alpha.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.6)
|
82
|
+
|
83
|
+
Tue, 25 Oct 2022 00:35:32 GMT
|
84
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.5..@fluentui/react-field_v9.0.0-alpha.6)
|
85
|
+
|
86
|
+
### Changes
|
87
|
+
|
88
|
+
- feat: Add support for validationState to ProgressField ([PR #25253](https://github.com/microsoft/fluentui/pull/25253) by behowell@microsoft.com)
|
89
|
+
- Bump @fluentui/react-checkbox to v9.0.10 ([PR #25363](https://github.com/microsoft/fluentui/pull/25363) by beachball)
|
90
|
+
- Bump @fluentui/react-input to v9.2.3 ([PR #25363](https://github.com/microsoft/fluentui/pull/25363) by beachball)
|
91
|
+
- Bump @fluentui/react-progress to v9.0.0-alpha.3 ([PR #25363](https://github.com/microsoft/fluentui/pull/25363) by beachball)
|
92
|
+
- Bump @fluentui/react-spinbutton to v9.0.6 ([PR #25363](https://github.com/microsoft/fluentui/pull/25363) by beachball)
|
93
|
+
|
94
|
+
## [9.0.0-alpha.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.5)
|
95
|
+
|
96
|
+
Thu, 20 Oct 2022 08:39:33 GMT
|
97
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.4..@fluentui/react-field_v9.0.0-alpha.5)
|
98
|
+
|
99
|
+
### Changes
|
100
|
+
|
101
|
+
- chore: Bump peer deps to support React 18 ([PR #24972](https://github.com/microsoft/fluentui/pull/24972) by mgodbolt@microsoft.com)
|
102
|
+
- chore: Update Griffel to latest version ([PR #25212](https://github.com/microsoft/fluentui/pull/25212) by olfedias@microsoft.com)
|
103
|
+
- Bump @fluentui/react-checkbox to v9.0.9 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
104
|
+
- Bump @fluentui/react-combobox to v9.0.0-beta.13 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
105
|
+
- Bump @fluentui/react-context-selector to v9.0.5 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
106
|
+
- Bump @fluentui/react-input to v9.2.2 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
107
|
+
- Bump @fluentui/react-label to v9.0.8 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
108
|
+
- Bump @fluentui/react-progress to v9.0.0-alpha.2 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
109
|
+
- Bump @fluentui/react-radio to v9.0.9 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
110
|
+
- Bump @fluentui/react-select to v9.0.0-beta.12 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
111
|
+
- Bump @fluentui/react-slider to v9.0.8 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
112
|
+
- Bump @fluentui/react-spinbutton to v9.0.5 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
113
|
+
- Bump @fluentui/react-switch to v9.0.9 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
114
|
+
- Bump @fluentui/react-textarea to v9.1.3 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
115
|
+
- Bump @fluentui/react-theme to v9.1.1 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
116
|
+
- Bump @fluentui/react-utilities to v9.1.2 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
117
|
+
- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.16 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
|
118
|
+
|
119
|
+
## [9.0.0-alpha.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.4)
|
120
|
+
|
121
|
+
Thu, 13 Oct 2022 11:02:50 GMT
|
122
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.3..@fluentui/react-field_v9.0.0-alpha.4)
|
123
|
+
|
124
|
+
### Changes
|
125
|
+
|
126
|
+
- Add ProgressField to @fluentui/react-field ([PR #25103](https://github.com/microsoft/fluentui/pull/25103) by ololubek@microsoft.com)
|
127
|
+
- fix: CheckboxField to set a generated ID on the input, to match the label's htmlFor ([PR #25079](https://github.com/microsoft/fluentui/pull/25079) by behowell@microsoft.com)
|
128
|
+
- chore: Update Griffel to latest version ([PR #25075](https://github.com/microsoft/fluentui/pull/25075) by olfedias@microsoft.com)
|
129
|
+
- fix: Field should have block layout, not inline ([PR #25126](https://github.com/microsoft/fluentui/pull/25126) by behowell@microsoft.com)
|
130
|
+
- Bump @fluentui/react-checkbox to v9.0.8 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
131
|
+
- Bump @fluentui/react-combobox to v9.0.0-beta.12 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
132
|
+
- Bump @fluentui/react-context-selector to v9.0.4 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
133
|
+
- Bump @fluentui/react-input to v9.2.1 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
134
|
+
- Bump @fluentui/react-label to v9.0.7 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
135
|
+
- Bump @fluentui/react-progress to v9.0.0-alpha.1 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
136
|
+
- Bump @fluentui/react-radio to v9.0.8 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
137
|
+
- Bump @fluentui/react-select to v9.0.0-beta.11 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
138
|
+
- Bump @fluentui/react-slider to v9.0.7 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
139
|
+
- Bump @fluentui/react-spinbutton to v9.0.4 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
140
|
+
- Bump @fluentui/react-switch to v9.0.8 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
141
|
+
- Bump @fluentui/react-textarea to v9.1.2 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
142
|
+
- Bump @fluentui/react-utilities to v9.1.1 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
143
|
+
- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.15 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
|
144
|
+
|
145
|
+
## [9.0.0-alpha.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.3)
|
146
|
+
|
147
|
+
Mon, 03 Oct 2022 22:24:37 GMT
|
148
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.2..@fluentui/react-field_v9.0.0-alpha.3)
|
149
|
+
|
150
|
+
### Changes
|
151
|
+
|
152
|
+
- fix: Remove SwitchField's labelPosition prop, as it has no effect ([PR #24876](https://github.com/microsoft/fluentui/pull/24876) by behowell@microsoft.com)
|
153
|
+
- Bump @fluentui/react-checkbox to v9.0.7 ([PR #25055](https://github.com/microsoft/fluentui/pull/25055) by beachball)
|
154
|
+
- Bump @fluentui/react-combobox to v9.0.0-beta.11 ([PR #25055](https://github.com/microsoft/fluentui/pull/25055) by beachball)
|
155
|
+
- Bump @fluentui/react-input to v9.2.0 ([PR #25055](https://github.com/microsoft/fluentui/pull/25055) by beachball)
|
156
|
+
- Bump @fluentui/react-radio to v9.0.7 ([PR #25055](https://github.com/microsoft/fluentui/pull/25055) by beachball)
|
157
|
+
- Bump @fluentui/react-slider to v9.0.6 ([PR #25055](https://github.com/microsoft/fluentui/pull/25055) by beachball)
|
158
|
+
- Bump @fluentui/react-spinbutton to v9.0.3 ([PR #25055](https://github.com/microsoft/fluentui/pull/25055) by beachball)
|
159
|
+
- Bump @fluentui/react-switch to v9.0.7 ([PR #25055](https://github.com/microsoft/fluentui/pull/25055) by beachball)
|
160
|
+
- Bump @fluentui/react-textarea to v9.1.1 ([PR #25055](https://github.com/microsoft/fluentui/pull/25055) by beachball)
|
161
|
+
|
162
|
+
## [9.0.0-alpha.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.2)
|
163
|
+
|
164
|
+
Tue, 20 Sep 2022 20:55:45 GMT
|
165
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.1..@fluentui/react-field_v9.0.0-alpha.2)
|
166
|
+
|
167
|
+
### Changes
|
168
|
+
|
169
|
+
- Bump @fluentui/react-checkbox to v9.0.6 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
170
|
+
- Bump @fluentui/react-combobox to v9.0.0-beta.10 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
171
|
+
- Bump @fluentui/react-input to v9.1.1 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
172
|
+
- Bump @fluentui/react-label to v9.0.6 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
173
|
+
- Bump @fluentui/react-radio to v9.0.6 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
174
|
+
- Bump @fluentui/react-select to v9.0.0-beta.10 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
175
|
+
- Bump @fluentui/react-slider to v9.0.5 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
176
|
+
- Bump @fluentui/react-spinbutton to v9.0.2 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
177
|
+
- Bump @fluentui/react-switch to v9.0.6 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
178
|
+
- Bump @fluentui/react-textarea to v9.1.0 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
179
|
+
- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.14 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
|
180
|
+
|
7
181
|
## [9.0.0-alpha.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.0.0-alpha.1)
|
8
182
|
|
9
|
-
Thu, 15 Sep 2022 09:
|
183
|
+
Thu, 15 Sep 2022 09:49:04 GMT
|
10
184
|
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.0.0-alpha.0..@fluentui/react-field_v9.0.0-alpha.1)
|
11
185
|
|
12
186
|
### Changes
|
package/dist/index.d.ts
CHANGED
@@ -1,59 +1,18 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
|
3
|
-
import { Checkbox } from '@fluentui/react-checkbox';
|
4
|
-
import type { CheckboxProps } from '@fluentui/react-checkbox';
|
5
|
-
import { Combobox } from '@fluentui/react-combobox';
|
6
3
|
import type { ComponentProps } from '@fluentui/react-utilities';
|
7
4
|
import type { ComponentState } from '@fluentui/react-utilities';
|
8
|
-
import { ForwardRefComponent } from '@fluentui/react-utilities';
|
9
|
-
import { Input } from '@fluentui/react-input';
|
10
5
|
import { Label } from '@fluentui/react-label';
|
11
|
-
import { RadioGroup } from '@fluentui/react-radio';
|
12
6
|
import * as React_2 from 'react';
|
13
|
-
import { Select } from '@fluentui/react-select';
|
14
|
-
import { Slider } from '@fluentui/react-slider';
|
15
7
|
import type { Slot } from '@fluentui/react-utilities';
|
16
|
-
import { SlotClassNames } from '@fluentui/react-utilities';
|
8
|
+
import type { SlotClassNames } from '@fluentui/react-utilities';
|
17
9
|
import type { SlotRenderFunction } from '@fluentui/react-utilities';
|
18
10
|
import type { SlotShorthandValue } from '@fluentui/react-utilities';
|
19
|
-
import { SpinButton } from '@fluentui/react-spinbutton';
|
20
|
-
import { Switch } from '@fluentui/react-switch';
|
21
|
-
import { Textarea } from '@fluentui/react-textarea';
|
22
|
-
|
23
|
-
export declare const CheckboxField: ForwardRefComponent<CheckboxFieldProps>;
|
24
|
-
|
25
|
-
export declare const checkboxFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
26
|
-
|
27
|
-
export declare type CheckboxFieldProps = Omit<FieldProps<typeof Checkbox>, 'label'> & {
|
28
|
-
/**
|
29
|
-
* The Checkbox's label.
|
30
|
-
*/
|
31
|
-
label?: CheckboxProps['label'];
|
32
|
-
/**
|
33
|
-
* The label for the CheckboxField, which appears above or before the Checkbox, depending on the `orientation` prop.
|
34
|
-
* It is recommended to only set the `label` prop, and not `fieldLabel`.
|
35
|
-
*/
|
36
|
-
fieldLabel?: FieldProps<typeof Checkbox>['label'];
|
37
|
-
};
|
38
|
-
|
39
|
-
export declare const ComboboxField: ForwardRefComponent<ComboboxFieldProps>;
|
40
|
-
|
41
|
-
export declare const comboboxFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
42
|
-
|
43
|
-
export declare type ComboboxFieldProps = FieldProps<typeof Combobox>;
|
44
|
-
|
45
|
-
/**
|
46
|
-
* The minimum requirement for a component used by Field.
|
47
|
-
*
|
48
|
-
* Note: the use of VoidFunctionComponent means that component is not *required* to have a children prop,
|
49
|
-
* but it is still allowed to have a children prop.
|
50
|
-
*/
|
51
|
-
declare type FieldComponent = React_2.VoidFunctionComponent<Pick<React_2.HTMLAttributes<HTMLElement>, 'id' | 'className' | 'style' | 'aria-labelledby' | 'aria-describedby' | 'aria-invalid' | 'aria-errormessage'>>;
|
52
11
|
|
53
12
|
/**
|
54
13
|
* Configuration parameters for a Field class, passed to useField_unstable
|
55
14
|
*/
|
56
|
-
export declare type FieldConfig<T extends
|
15
|
+
export declare type FieldConfig<T extends FieldControl> = {
|
57
16
|
/**
|
58
17
|
* The underlying input component that this field is wrapping.
|
59
18
|
*/
|
@@ -72,12 +31,26 @@ export declare type FieldConfig<T extends FieldComponent> = {
|
|
72
31
|
* @default htmlFor
|
73
32
|
*/
|
74
33
|
labelConnection?: 'htmlFor' | 'aria-labelledby';
|
34
|
+
/**
|
35
|
+
* Should the aria-invalid attribute be set when validationState="error".
|
36
|
+
*
|
37
|
+
* @default true
|
38
|
+
*/
|
39
|
+
ariaInvalidOnError?: boolean;
|
75
40
|
};
|
76
41
|
|
42
|
+
/**
|
43
|
+
* The minimum requirement for a component used by Field.
|
44
|
+
*
|
45
|
+
* Note: the use of VoidFunctionComponent means that component is not *required* to have a children prop,
|
46
|
+
* but it is still allowed to have a children prop.
|
47
|
+
*/
|
48
|
+
export declare type FieldControl = React_2.VoidFunctionComponent<Pick<React_2.HTMLAttributes<HTMLElement>, 'id' | 'className' | 'style' | 'aria-labelledby' | 'aria-describedby' | 'aria-invalid'>>;
|
49
|
+
|
77
50
|
/**
|
78
51
|
* Field Props
|
79
52
|
*/
|
80
|
-
export declare type FieldProps<T extends
|
53
|
+
export declare type FieldProps<T extends FieldControl> = ComponentProps<Partial<FieldSlots<T>>, 'control'> & {
|
81
54
|
/**
|
82
55
|
* The orientation of the label relative to the field component.
|
83
56
|
* This only affects the label, and not the validationMessage or hint (which always appear below the field component).
|
@@ -101,7 +74,11 @@ export declare type FieldProps<T extends FieldComponent> = ComponentProps<Partia
|
|
101
74
|
* This allows Field to forward the required and size props to the label if the underlying component supports them,
|
102
75
|
* but doesn't add them to the public API of fields that don't support them.
|
103
76
|
*/
|
104
|
-
declare type FieldPropsWithOptionalComponentProps<T extends
|
77
|
+
declare type FieldPropsWithOptionalComponentProps<T extends FieldControl> = FieldProps<T> & {
|
78
|
+
/**
|
79
|
+
* A ref to the underlying control.
|
80
|
+
*/
|
81
|
+
ref?: React_2.Ref<HTMLElement>;
|
105
82
|
/**
|
106
83
|
* Whether the field label should be marked as required.
|
107
84
|
*/
|
@@ -117,7 +94,7 @@ declare type FieldPropsWithOptionalComponentProps<T extends FieldComponent> = Fi
|
|
117
94
|
/**
|
118
95
|
* Slots added by Field
|
119
96
|
*/
|
120
|
-
export declare type FieldSlots<T extends
|
97
|
+
export declare type FieldSlots<T extends FieldControl> = {
|
121
98
|
root: NonNullable<Slot<'div'>>;
|
122
99
|
/**
|
123
100
|
* The underlying component wrapped by this field.
|
@@ -130,7 +107,7 @@ export declare type FieldSlots<T extends FieldComponent> = {
|
|
130
107
|
/**
|
131
108
|
* A message about the validation state. The appearance of the `validationMessage` depends on `validationState`.
|
132
109
|
*/
|
133
|
-
validationMessage?: Slot<'
|
110
|
+
validationMessage?: Slot<'div'>;
|
134
111
|
/**
|
135
112
|
* The icon associated with the `validationMessage`. If the `validationState` prop is set, this will default to an
|
136
113
|
* icon corresponding to that state.
|
@@ -141,46 +118,22 @@ export declare type FieldSlots<T extends FieldComponent> = {
|
|
141
118
|
/**
|
142
119
|
* Additional hint text below the field.
|
143
120
|
*/
|
144
|
-
hint?: Slot<'
|
121
|
+
hint?: Slot<'div'>;
|
145
122
|
};
|
146
123
|
|
147
124
|
/**
|
148
125
|
* State used in rendering Field
|
149
126
|
*/
|
150
|
-
export declare type FieldState<T extends
|
127
|
+
export declare type FieldState<T extends FieldControl> = ComponentState<Required<FieldSlots<T>>> & Pick<FieldProps<T>, 'orientation' | 'validationState'> & {
|
151
128
|
classNames: SlotClassNames<FieldSlots<T>>;
|
152
129
|
};
|
153
130
|
|
154
|
-
export declare const getFieldClassNames: (name: string) => SlotClassNames<FieldSlots<
|
155
|
-
|
156
|
-
export declare const InputField: ForwardRefComponent<InputFieldProps>;
|
157
|
-
|
158
|
-
export declare const inputFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
159
|
-
|
160
|
-
export declare type InputFieldProps = FieldProps<typeof Input>;
|
161
|
-
|
162
|
-
export declare const RadioGroupField: ForwardRefComponent<RadioGroupFieldProps>;
|
163
|
-
|
164
|
-
export declare const radioGroupFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
165
|
-
|
166
|
-
export declare type RadioGroupFieldProps = FieldProps<typeof RadioGroup>;
|
131
|
+
export declare const getFieldClassNames: (name: string) => SlotClassNames<FieldSlots<FieldControl>>;
|
167
132
|
|
168
133
|
/**
|
169
134
|
* Render the final JSX of Field
|
170
135
|
*/
|
171
|
-
export declare const renderField_unstable: <T extends
|
172
|
-
|
173
|
-
export declare const SelectField: ForwardRefComponent<SelectFieldProps>;
|
174
|
-
|
175
|
-
export declare const selectFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
176
|
-
|
177
|
-
export declare type SelectFieldProps = FieldProps<typeof Select>;
|
178
|
-
|
179
|
-
export declare const SliderField: ForwardRefComponent<SliderFieldProps>;
|
180
|
-
|
181
|
-
export declare const sliderFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
182
|
-
|
183
|
-
export declare type SliderFieldProps = FieldProps<typeof Slider>;
|
136
|
+
export declare const renderField_unstable: <T extends FieldControl>(state: FieldState<T>) => JSX.Element;
|
184
137
|
|
185
138
|
declare type SlotComponent<Type extends React_2.ComponentType | React_2.VoidFunctionComponent> = WithSlotShorthandValue<Type extends React_2.ComponentType<infer Props> ? WithSlotRenderFunction<Props extends {
|
186
139
|
children?: unknown;
|
@@ -188,24 +141,6 @@ declare type SlotComponent<Type extends React_2.ComponentType | React_2.VoidFunc
|
|
188
141
|
children?: never;
|
189
142
|
}> : never>;
|
190
143
|
|
191
|
-
export declare const SpinButtonField: ForwardRefComponent<SpinButtonFieldProps>;
|
192
|
-
|
193
|
-
export declare const spinButtonFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
194
|
-
|
195
|
-
export declare type SpinButtonFieldProps = FieldProps<typeof SpinButton>;
|
196
|
-
|
197
|
-
export declare const SwitchField: ForwardRefComponent<SwitchFieldProps>;
|
198
|
-
|
199
|
-
export declare const switchFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
200
|
-
|
201
|
-
export declare type SwitchFieldProps = FieldProps<typeof Switch>;
|
202
|
-
|
203
|
-
export declare const TextareaField: ForwardRefComponent<TextareaFieldProps>;
|
204
|
-
|
205
|
-
export declare const textareaFieldClassNames: SlotClassNames<FieldSlots<FieldComponent>>;
|
206
|
-
|
207
|
-
export declare type TextareaFieldProps = FieldProps<typeof Textarea>;
|
208
|
-
|
209
144
|
/**
|
210
145
|
* Create the state required to render Field.
|
211
146
|
*
|
@@ -216,12 +151,12 @@ export declare type TextareaFieldProps = FieldProps<typeof Textarea>;
|
|
216
151
|
* @param ref - Ref to the control slot (primary slot)
|
217
152
|
* @param params - Configuration parameters for this Field
|
218
153
|
*/
|
219
|
-
export declare const useField_unstable: <T extends
|
154
|
+
export declare const useField_unstable: <T extends FieldControl>(props: FieldPropsWithOptionalComponentProps<T>, ref: React_2.Ref<HTMLElement>, params: FieldConfig<T>) => FieldState<T>;
|
220
155
|
|
221
156
|
/**
|
222
157
|
* Apply styling to the Field slots based on the state
|
223
158
|
*/
|
224
|
-
export declare const useFieldStyles_unstable: <T extends
|
159
|
+
export declare const useFieldStyles_unstable: <T extends FieldControl>(state: FieldState<T>) => void;
|
225
160
|
|
226
161
|
declare type WithSlotRenderFunction<Props extends {
|
227
162
|
children?: unknown;
|
package/lib/Field.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Field.js","sourceRoot":"../src/","sources":["Field.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './components/Field/index';\n"]}
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"../src/","sources":["packages/react-components/react-field/src/Field.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './components/Field/index';\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Field.types.js","sourceRoot":"../src/","sources":["components/Field/Field.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { Label } from '@fluentui/react-label';\nimport type { ComponentProps, ComponentState, Slot, SlotClassNames } from '@fluentui/react-utilities';\nimport type { SlotComponent } from './SlotComponent.types';\n\n/**\n * The minimum requirement for a component used by Field.\n *\n * Note: the use of VoidFunctionComponent means that component is not *required* to have a children prop,\n * but it is still allowed to have a children prop.\n */\nexport type
|
1
|
+
{"version":3,"file":"Field.types.js","sourceRoot":"../src/","sources":["packages/react-components/react-field/src/components/Field/Field.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { Label } from '@fluentui/react-label';\nimport type { ComponentProps, ComponentState, Slot, SlotClassNames } from '@fluentui/react-utilities';\nimport type { SlotComponent } from './SlotComponent.types';\n\n/**\n * The minimum requirement for a component used by Field.\n *\n * Note: the use of VoidFunctionComponent means that component is not *required* to have a children prop,\n * but it is still allowed to have a children prop.\n */\nexport type FieldControl = React.VoidFunctionComponent<\n Pick<\n React.HTMLAttributes<HTMLElement>,\n 'id' | 'className' | 'style' | 'aria-labelledby' | 'aria-describedby' | 'aria-invalid'\n >\n>;\n\n/**\n * Slots added by Field\n */\nexport type FieldSlots<T extends FieldControl> = {\n root: NonNullable<Slot<'div'>>;\n\n /**\n * The underlying component wrapped by this field.\n */\n control: SlotComponent<T>;\n\n /**\n * The label associated with the field.\n */\n label?: Slot<typeof Label>;\n\n /**\n * A message about the validation state. The appearance of the `validationMessage` depends on `validationState`.\n */\n validationMessage?: Slot<'div'>;\n\n /**\n * The icon associated with the `validationMessage`. If the `validationState` prop is set, this will default to an\n * icon corresponding to that state.\n *\n * This will only be displayed if `validationMessage` is set.\n */\n validationMessageIcon?: Slot<'span'>;\n\n /**\n * Additional hint text below the field.\n */\n hint?: Slot<'div'>;\n};\n\n/**\n * Field Props\n */\nexport type FieldProps<T extends FieldControl> = ComponentProps<Partial<FieldSlots<T>>, 'control'> & {\n /**\n * The orientation of the label relative to the field component.\n * This only affects the label, and not the validationMessage or hint (which always appear below the field component).\n *\n * @default vertical\n */\n orientation?: 'vertical' | 'horizontal';\n\n /**\n * The `validationState` affects the color of the `validationMessage`, the `validationMessageIcon`, and for some\n * field components, an `validationState=\"error\"` causes the border to become red.\n *\n * @default undefined\n */\n validationState?: 'error' | 'warning' | 'success';\n};\n\n/**\n * FieldProps plus extra optional props that are supported by useField_unstable, but not required to be part of the\n * API of every Field component.\n *\n * This allows Field to forward the required and size props to the label if the underlying component supports them,\n * but doesn't add them to the public API of fields that don't support them.\n */\nexport type FieldPropsWithOptionalComponentProps<T extends FieldControl> = FieldProps<T> & {\n /**\n * A ref to the underlying control.\n */\n ref?: React.Ref<HTMLElement>;\n\n /**\n * Whether the field label should be marked as required.\n */\n required?: boolean;\n\n /**\n * Size of the field label.\n *\n * Number sizes will be ignored, but are allowed because the HTML `<input>` element has a prop `size?: number`.\n */\n size?: 'small' | 'medium' | 'large' | number;\n};\n\n/**\n * Configuration parameters for a Field class, passed to useField_unstable\n */\nexport type FieldConfig<T extends FieldControl> = {\n /**\n * The underlying input component that this field is wrapping.\n */\n component: T;\n\n /**\n * Class names for this component, created by `getFieldClassNames`.\n */\n classNames: SlotClassNames<FieldSlots<T>>;\n\n /**\n * How the label be connected to the control.\n * * htmlFor - Set the Label's htmlFor prop to the component's ID (and generate an ID if not provided).\n * This is the preferred method for components that use the underlying <input> tag.\n * * aria-labelledby - Set the component's aria-labelledby prop to the Label's ID. Use this for components\n * that are not directly <input> elements (such as RadioGroup).\n *\n * @default htmlFor\n */\n labelConnection?: 'htmlFor' | 'aria-labelledby';\n\n /**\n * Should the aria-invalid attribute be set when validationState=\"error\".\n *\n * @default true\n */\n ariaInvalidOnError?: boolean;\n};\n\n/**\n * State used in rendering Field\n */\nexport type FieldState<T extends FieldControl> = ComponentState<Required<FieldSlots<T>>> &\n Pick<FieldProps<T>, 'orientation' | 'validationState'> & {\n classNames: SlotClassNames<FieldSlots<T>>;\n };\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SlotComponent.types.js","sourceRoot":"../src/","sources":["components/Field/SlotComponent.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { SlotShorthandValue, SlotRenderFunction } from '@fluentui/react-utilities';\n\n//\n// TEMPORARY definition of the SlotComponent type, until it is available from react-utilities\n//\n\nexport type SlotComponent<Type extends React.ComponentType | React.VoidFunctionComponent> = WithSlotShorthandValue<\n Type extends React.ComponentType<infer Props>\n ? // If this is a VoidFunctionComponent that doesn't allow children, add { children?: never }\n WithSlotRenderFunction<Props extends { children?: unknown } ? Props : Props & { children?: never }>\n : never\n>;\n\n//\n// TEMPORARY copied versions of the non-exported helper types from react-utilities\n//\n\ntype WithSlotShorthandValue<Props extends { children?: unknown }> =\n | Props\n | Extract<SlotShorthandValue, Props['children']>;\n\ntype WithSlotRenderFunction<Props extends { children?: unknown }> = Props & {\n children?: Props['children'] | SlotRenderFunction<Props>;\n};\n"]}
|
1
|
+
{"version":3,"file":"SlotComponent.types.js","sourceRoot":"../src/","sources":["packages/react-components/react-field/src/components/Field/SlotComponent.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { SlotShorthandValue, SlotRenderFunction } from '@fluentui/react-utilities';\n\n//\n// TEMPORARY definition of the SlotComponent type, until it is available from react-utilities\n//\n\nexport type SlotComponent<Type extends React.ComponentType | React.VoidFunctionComponent> = WithSlotShorthandValue<\n Type extends React.ComponentType<infer Props>\n ? // If this is a VoidFunctionComponent that doesn't allow children, add { children?: never }\n WithSlotRenderFunction<Props extends { children?: unknown } ? Props : Props & { children?: never }>\n : never\n>;\n\n//\n// TEMPORARY copied versions of the non-exported helper types from react-utilities\n//\n\ntype WithSlotShorthandValue<Props extends { children?: unknown }> =\n | Props\n | Extract<SlotShorthandValue, Props['children']>;\n\ntype WithSlotRenderFunction<Props extends { children?: unknown }> = Props & {\n children?: Props['children'] | SlotRenderFunction<Props>;\n};\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/Field/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './Field.types';\nexport * from './renderField';\nexport * from './useField';\nexport * from './useFieldStyles';\n"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-field/src/components/Field/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './Field.types';\nexport * from './renderField';\nexport * from './useField';\nexport * from './useFieldStyles';\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["components/Field/renderField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,oBAAoB,
|
1
|
+
{"version":3,"sources":["packages/react-components/react-field/src/components/Field/renderField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,oBAAoB,GAA4B,KAAzB,IAAiD;EACnF,MAAM;IAAE,KAAF;IAAS;EAAT,IAAuB,QAAQ,CAA2B,KAA3B,CAArC;EAEA,oBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;EAAf,CAAX,EACG,KAAK,CAAC,KAAN,iBAAe,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,KAAP,EAAY,EAAA,GAAK,SAAS,CAAC;EAAf,CAAZ,CADlB,EAGG,KAAK,CAAC,OAAN,iBAAiB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,OAAP,EAAc,EAAA,GAAM,SAAS,CAAC;EAAhB,CAAd,CAHpB,EAIG,KAAK,CAAC,iBAAN,iBACC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,iBAAP,EAAwB,EAAA,GAAK,SAAS,CAAC;EAAf,CAAxB,EACG,KAAK,CAAC,qBAAN,iBAA+B,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,qBAAP,EAA4B,EAAA,GAAK,SAAS,CAAC;EAAf,CAA5B,CADlC,EAEG,SAAS,CAAC,iBAAV,CAA4B,QAF/B,CALJ,EAUG,KAAK,CAAC,IAAN,iBAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;EAAf,CAAX,CAVjB,CADF;AAcD,CAjBM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { FieldControl, FieldSlots, FieldState } from './Field.types';\n\n/**\n * Render the final JSX of Field\n */\nexport const renderField_unstable = <T extends FieldControl>(state: FieldState<T>) => {\n const { slots, slotProps } = getSlots<FieldSlots<FieldControl>>(state as FieldState<FieldControl>);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.label && <slots.label {...slotProps.label} />}\n {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\n {slots.control && <slots.control {...(slotProps.control as any)} />}\n {slots.validationMessage && (\n <slots.validationMessage {...slotProps.validationMessage}>\n {slots.validationMessageIcon && <slots.validationMessageIcon {...slotProps.validationMessageIcon} />}\n {slotProps.validationMessage.children}\n </slots.validationMessage>\n )}\n {slots.hint && <slots.hint {...slotProps.hint} />}\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}
|
@@ -7,17 +7,10 @@ const validationMessageIcons = {
|
|
7
7
|
warning: /*#__PURE__*/React.createElement(Warning12Filled, null),
|
8
8
|
success: /*#__PURE__*/React.createElement(CheckmarkCircle12Filled, null)
|
9
9
|
};
|
10
|
-
/**
|
11
|
-
* Merge two possibly-undefined IDs for aria-describedby. If both IDs are defined, combines
|
12
|
-
* them into a string separated by a space. Otherwise, returns just the defined ID (if any).
|
13
|
-
*/
|
14
|
-
|
15
|
-
const mergeAriaDescribedBy = (a, b) => a && b ? `${a} ${b}` : a || b;
|
16
10
|
/**
|
17
11
|
* Partition the props used by the Field itself, from the props that are passed to the underlying field component.
|
18
12
|
*/
|
19
13
|
|
20
|
-
|
21
14
|
export const getPartitionedFieldProps = props => {
|
22
15
|
const {
|
23
16
|
className,
|
@@ -58,12 +51,18 @@ export const getPartitionedFieldProps = props => {
|
|
58
51
|
*/
|
59
52
|
|
60
53
|
export const useField_unstable = (props, ref, params) => {
|
54
|
+
var _a, _b, _c;
|
55
|
+
|
61
56
|
const [fieldProps, controlProps] = getPartitionedFieldProps(props);
|
62
|
-
const baseId = useId('field-');
|
63
57
|
const {
|
64
58
|
orientation = 'vertical',
|
65
59
|
validationState
|
66
60
|
} = fieldProps;
|
61
|
+
const {
|
62
|
+
labelConnection = 'htmlFor',
|
63
|
+
ariaInvalidOnError = true
|
64
|
+
} = params;
|
65
|
+
const baseId = useId('field-');
|
67
66
|
const root = resolveShorthand(fieldProps.root, {
|
68
67
|
required: true,
|
69
68
|
defaultProps: getNativeElementProps('div', fieldProps)
|
@@ -72,7 +71,7 @@ export const useField_unstable = (props, ref, params) => {
|
|
72
71
|
defaultProps: {
|
73
72
|
id: baseId + '__label',
|
74
73
|
required: controlProps.required,
|
75
|
-
size: typeof controlProps.size === 'string' ? controlProps.size : undefined // htmlFor is
|
74
|
+
size: typeof controlProps.size === 'string' ? controlProps.size : undefined // htmlFor is handled below
|
76
75
|
|
77
76
|
}
|
78
77
|
});
|
@@ -91,28 +90,34 @@ export const useField_unstable = (props, ref, params) => {
|
|
91
90
|
defaultProps: {
|
92
91
|
children: validationState ? validationMessageIcons[validationState] : undefined
|
93
92
|
}
|
94
|
-
});
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
93
|
+
}); // Hook up aria props on the control
|
94
|
+
|
95
|
+
if (label && labelConnection === 'aria-labelledby') {
|
96
|
+
(_a = controlProps['aria-labelledby']) !== null && _a !== void 0 ? _a : controlProps['aria-labelledby'] = label.id;
|
97
|
+
}
|
98
|
+
|
99
|
+
if (validationMessage || hint) {
|
100
|
+
// The control is described by the validation message, or hint, or both
|
101
|
+
// We also preserve and append any aria-describedby supplied by the user
|
102
|
+
// For reference: https://github.com/microsoft/fluentui/pull/25580#discussion_r1017259933
|
103
|
+
controlProps['aria-describedby'] = [validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.id, hint === null || hint === void 0 ? void 0 : hint.id, controlProps['aria-describedby']].filter(Boolean).join(' ');
|
104
|
+
}
|
105
|
+
|
106
|
+
if (validationState === 'error' && ariaInvalidOnError) {
|
107
|
+
(_b = controlProps['aria-invalid']) !== null && _b !== void 0 ? _b : controlProps['aria-invalid'] = true;
|
108
|
+
}
|
109
|
+
|
99
110
|
const control = resolveShorthand(fieldProps.control, {
|
100
111
|
required: true,
|
101
112
|
defaultProps: {
|
102
113
|
ref,
|
103
|
-
|
104
|
-
id: label && labelConnection === 'htmlFor' ? baseId + '__control' : undefined,
|
105
|
-
// Add aria-labelledby only if not using the label's htmlFor
|
106
|
-
'aria-labelledby': labelConnection !== 'htmlFor' ? label === null || label === void 0 ? void 0 : label.id : undefined,
|
107
|
-
'aria-describedby': hasError ? hint === null || hint === void 0 ? void 0 : hint.id : mergeAriaDescribedBy(validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.id, hint === null || hint === void 0 ? void 0 : hint.id),
|
108
|
-
'aria-errormessage': hasError ? validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.id : undefined,
|
109
|
-
'aria-invalid': hasError ? true : undefined,
|
114
|
+
id: baseId + '__control',
|
110
115
|
...controlProps
|
111
116
|
}
|
112
117
|
});
|
113
118
|
|
114
|
-
if (labelConnection === 'htmlFor'
|
115
|
-
label.htmlFor = control.id;
|
119
|
+
if (label && labelConnection === 'htmlFor') {
|
120
|
+
(_c = label.htmlFor) !== null && _c !== void 0 ? _c : label.htmlFor = control.id;
|
116
121
|
}
|
117
122
|
|
118
123
|
const state = {
|
@@ -123,9 +128,9 @@ export const useField_unstable = (props, ref, params) => {
|
|
123
128
|
root: 'div',
|
124
129
|
control: params.component,
|
125
130
|
label: Label,
|
126
|
-
validationMessage: '
|
131
|
+
validationMessage: 'div',
|
127
132
|
validationMessageIcon: 'span',
|
128
|
-
hint: '
|
133
|
+
hint: 'div'
|
129
134
|
},
|
130
135
|
root,
|
131
136
|
control,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["components/Field/useField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,uBAAT,EAAkC,mBAAlC,EAAuD,eAAvD,QAA8E,uBAA9E;AACA,SAAS,KAAT,QAAsB,uBAAtB;AACA,SAAS,qBAAT,EAAgC,gBAAhC,EAAkD,KAAlD,QAA+D,2BAA/D;
|
1
|
+
{"version":3,"sources":["packages/react-components/react-field/src/components/Field/useField.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { CheckmarkCircle12Filled, ErrorCircle12Filled, Warning12Filled } from '@fluentui/react-icons';\nimport { Label } from '@fluentui/react-label';\nimport { getNativeElementProps, resolveShorthand, useId } from '@fluentui/react-utilities';\nimport type { FieldConfig, FieldControl, FieldPropsWithOptionalComponentProps, FieldState } from './Field.types';\n\nconst validationMessageIcons = {\n error: <ErrorCircle12Filled />,\n warning: <Warning12Filled />,\n success: <CheckmarkCircle12Filled />,\n} as const;\n\n/**\n * Partition the props used by the Field itself, from the props that are passed to the underlying field component.\n */\nexport const getPartitionedFieldProps = (props: FieldPropsWithOptionalComponentProps<FieldControl>) => {\n const {\n className,\n control,\n hint,\n label,\n orientation,\n root,\n style,\n validationMessage,\n validationMessageIcon,\n validationState,\n ...restOfProps\n } = props;\n\n const fieldProps = {\n className,\n control,\n hint,\n label,\n orientation,\n root,\n style,\n validationMessage,\n validationMessageIcon,\n validationState,\n };\n\n return [fieldProps, restOfProps] as const;\n};\n\n/**\n * Create the state required to render Field.\n *\n * The returned state can be modified with hooks such as useFieldStyles_unstable,\n * before being passed to renderField_unstable.\n *\n * @param props - Props passed to this field\n * @param ref - Ref to the control slot (primary slot)\n * @param params - Configuration parameters for this Field\n */\nexport const useField_unstable = <T extends FieldControl>(\n props: FieldPropsWithOptionalComponentProps<T>,\n ref: React.Ref<HTMLElement>,\n params: FieldConfig<T>,\n): FieldState<T> => {\n const [fieldProps, controlProps] = getPartitionedFieldProps(props);\n const { orientation = 'vertical', validationState } = fieldProps;\n const { labelConnection = 'htmlFor', ariaInvalidOnError = true } = params;\n\n const baseId = useId('field-');\n\n const root = resolveShorthand(fieldProps.root, {\n required: true,\n defaultProps: getNativeElementProps('div', fieldProps),\n });\n\n const label = resolveShorthand(fieldProps.label, {\n defaultProps: {\n id: baseId + '__label',\n required: controlProps.required,\n size: typeof controlProps.size === 'string' ? controlProps.size : undefined,\n // htmlFor is handled below\n },\n });\n\n const validationMessage = resolveShorthand(fieldProps.validationMessage, {\n defaultProps: {\n id: baseId + '__validationMessage',\n },\n });\n\n const hint = resolveShorthand(fieldProps.hint, {\n defaultProps: {\n id: baseId + '__hint',\n },\n });\n\n const validationMessageIcon = resolveShorthand(fieldProps.validationMessageIcon, {\n required: !!validationState,\n defaultProps: {\n children: validationState ? validationMessageIcons[validationState] : undefined,\n },\n });\n\n // Hook up aria props on the control\n if (label && labelConnection === 'aria-labelledby') {\n controlProps['aria-labelledby'] ??= label.id;\n }\n\n if (validationMessage || hint) {\n // The control is described by the validation message, or hint, or both\n // We also preserve and append any aria-describedby supplied by the user\n // For reference: https://github.com/microsoft/fluentui/pull/25580#discussion_r1017259933\n controlProps['aria-describedby'] = [validationMessage?.id, hint?.id, controlProps['aria-describedby']]\n .filter(Boolean)\n .join(' ');\n }\n\n if (validationState === 'error' && ariaInvalidOnError) {\n controlProps['aria-invalid'] ??= true;\n }\n\n const control = resolveShorthand(fieldProps.control, {\n required: true,\n defaultProps: {\n ref,\n id: baseId + '__control',\n ...controlProps,\n },\n });\n\n if (label && labelConnection === 'htmlFor') {\n label.htmlFor ??= control.id;\n }\n\n const state: FieldState<FieldControl> = {\n orientation,\n validationState,\n classNames: params.classNames,\n components: {\n root: 'div',\n control: params.component,\n label: Label,\n validationMessage: 'div',\n validationMessageIcon: 'span',\n hint: 'div',\n },\n root,\n control,\n label,\n validationMessageIcon,\n validationMessage,\n hint,\n };\n\n return state as FieldState<T>;\n};\n"],"sourceRoot":"../src/"}
|