@fluentui/react-select 9.0.0-beta.2 → 9.0.0-beta.20

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 (47) hide show
  1. package/CHANGELOG.json +618 -1
  2. package/CHANGELOG.md +210 -2
  3. package/README.md +1 -1
  4. package/dist/index.d.ts +25 -7
  5. package/lib/Select.js.map +1 -1
  6. package/lib/SelectField.js +2 -0
  7. package/lib/SelectField.js.map +1 -0
  8. package/lib/components/Select/Select.js +0 -1
  9. package/lib/components/Select/Select.js.map +1 -1
  10. package/lib/components/Select/Select.types.js.map +1 -1
  11. package/lib/components/Select/index.js.map +1 -1
  12. package/lib/components/Select/renderSelect.js +6 -4
  13. package/lib/components/Select/renderSelect.js.map +1 -1
  14. package/lib/components/Select/useSelect.js +15 -7
  15. package/lib/components/Select/useSelect.js.map +1 -1
  16. package/lib/components/Select/useSelectStyles.js +229 -179
  17. package/lib/components/Select/useSelectStyles.js.map +1 -1
  18. package/lib/components/SelectField/SelectField.js +14 -0
  19. package/lib/components/SelectField/SelectField.js.map +1 -0
  20. package/lib/components/SelectField/index.js +2 -0
  21. package/lib/components/SelectField/index.js.map +1 -0
  22. package/lib/index.js +1 -0
  23. package/lib/index.js.map +1 -1
  24. package/lib-commonjs/Select.js +0 -2
  25. package/lib-commonjs/Select.js.map +1 -1
  26. package/lib-commonjs/SelectField.js +8 -0
  27. package/lib-commonjs/SelectField.js.map +1 -0
  28. package/lib-commonjs/components/Select/Select.js +0 -6
  29. package/lib-commonjs/components/Select/Select.js.map +1 -1
  30. package/lib-commonjs/components/Select/Select.types.js.map +1 -1
  31. package/lib-commonjs/components/Select/index.js +0 -6
  32. package/lib-commonjs/components/Select/index.js.map +1 -1
  33. package/lib-commonjs/components/Select/renderSelect.js +6 -8
  34. package/lib-commonjs/components/Select/renderSelect.js.map +1 -1
  35. package/lib-commonjs/components/Select/useSelect.js +14 -11
  36. package/lib-commonjs/components/Select/useSelect.js.map +1 -1
  37. package/lib-commonjs/components/Select/useSelectStyles.js +229 -183
  38. package/lib-commonjs/components/Select/useSelectStyles.js.map +1 -1
  39. package/lib-commonjs/components/SelectField/SelectField.js +20 -0
  40. package/lib-commonjs/components/SelectField/SelectField.js.map +1 -0
  41. package/lib-commonjs/components/SelectField/index.js +8 -0
  42. package/lib-commonjs/components/SelectField/index.js.map +1 -0
  43. package/lib-commonjs/index.js +14 -3
  44. package/lib-commonjs/index.js.map +1 -1
  45. package/package.json +18 -17
  46. package/Spec.md +0 -243
  47. package/dist/tsdoc-metadata.json +0 -11
package/CHANGELOG.md CHANGED
@@ -1,12 +1,220 @@
1
1
  # Change Log - @fluentui/react-select
2
2
 
3
- This log was last generated on Tue, 31 May 2022 21:26:38 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 09 Jan 2023 14:31:49 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.0.0-beta.20](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.20)
8
+
9
+ Mon, 09 Jan 2023 14:31:49 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.19..@fluentui/react-select_v9.0.0-beta.20)
11
+
12
+ ### Changes
13
+
14
+ - Bump @fluentui/react-field to v9.0.0-alpha.14 ([PR #26257](https://github.com/microsoft/fluentui/pull/26257) by beachball)
15
+ - Bump @fluentui/react-utilities to v9.4.0 ([PR #26257](https://github.com/microsoft/fluentui/pull/26257) by beachball)
16
+
17
+ ## [9.0.0-beta.19](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.19)
18
+
19
+ Wed, 04 Jan 2023 01:40:26 GMT
20
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.18..@fluentui/react-select_v9.0.0-beta.19)
21
+
22
+ ### Changes
23
+
24
+ - chore: Update Griffel to latest version ([PR #26045](https://github.com/microsoft/fluentui/pull/26045) by olfedias@microsoft.com)
25
+ - Bump @fluentui/react-field to v9.0.0-alpha.13 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
26
+ - Bump @fluentui/react-utilities to v9.3.1 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
27
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.19 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
28
+
29
+ ## [9.0.0-beta.18](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.18)
30
+
31
+ Wed, 21 Dec 2022 10:20:30 GMT
32
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.17..@fluentui/react-select_v9.0.0-beta.18)
33
+
34
+ ### Changes
35
+
36
+ - Bump @fluentui/react-field to v9.0.0-alpha.12 ([commit](https://github.com/microsoft/fluentui/commit/66bf89f634cad4a275e957d7a2214c7e73ff8c2e) by beachball)
37
+ - Bump @fluentui/react-theme to v9.1.5 ([commit](https://github.com/microsoft/fluentui/commit/66bf89f634cad4a275e957d7a2214c7e73ff8c2e) by beachball)
38
+
39
+ ## [9.0.0-beta.17](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.17)
40
+
41
+ Tue, 20 Dec 2022 14:59:34 GMT
42
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.16..@fluentui/react-select_v9.0.0-beta.17)
43
+
44
+ ### Changes
45
+
46
+ - Bump @fluentui/react-field to v9.0.0-alpha.11 ([PR #26047](https://github.com/microsoft/fluentui/pull/26047) by beachball)
47
+ - Bump @fluentui/react-theme to v9.1.4 ([PR #26047](https://github.com/microsoft/fluentui/pull/26047) by beachball)
48
+ - Bump @fluentui/react-utilities to v9.3.0 ([PR #26047](https://github.com/microsoft/fluentui/pull/26047) by beachball)
49
+
50
+ ## [9.0.0-beta.16](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.16)
51
+
52
+ Mon, 05 Dec 2022 18:29:29 GMT
53
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.15..@fluentui/react-select_v9.0.0-beta.16)
54
+
55
+ ### Changes
56
+
57
+ - chore: Replace use of fontSize tokens with typographyStyles ([PR #25727](https://github.com/microsoft/fluentui/pull/25727) by behowell@microsoft.com)
58
+ - Bump @fluentui/react-field to v9.0.0-alpha.10 ([PR #25798](https://github.com/microsoft/fluentui/pull/25798) by beachball)
59
+ - Bump @fluentui/react-theme to v9.1.3 ([PR #25798](https://github.com/microsoft/fluentui/pull/25798) by beachball)
60
+
61
+ ## [9.0.0-beta.15](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.15)
62
+
63
+ Thu, 17 Nov 2022 23:05:45 GMT
64
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.14..@fluentui/react-select_v9.0.0-beta.15)
65
+
66
+ ### Changes
67
+
68
+ - Bump @fluentui/react-field to v9.0.0-alpha.9 ([PR #25683](https://github.com/microsoft/fluentui/pull/25683) by beachball)
69
+ - Bump @fluentui/react-utilities to v9.2.2 ([PR #25683](https://github.com/microsoft/fluentui/pull/25683) by beachball)
70
+
71
+ ## [9.0.0-beta.14](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.14)
72
+
73
+ Fri, 11 Nov 2022 14:57:35 GMT
74
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.13..@fluentui/react-select_v9.0.0-beta.14)
75
+
76
+ ### Changes
77
+
78
+ - fix: create valid export maps ([PR #25558](https://github.com/microsoft/fluentui/pull/25558) by martinhochel@microsoft.com)
79
+ - chore: Move SelectField into the @fluentui/react-select package and export as _unstable ([PR #25593](https://github.com/microsoft/fluentui/pull/25593) by behowell@microsoft.com)
80
+ - fix: update disabled + underline styles, have all text-like form control disabled states match ([PR #25543](https://github.com/microsoft/fluentui/pull/25543) by sarah.higley@microsoft.com)
81
+ - Bump @fluentui/react-field to v9.0.0-alpha.8 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
82
+ - Bump @fluentui/react-theme to v9.1.2 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
83
+ - Bump @fluentui/react-utilities to v9.2.1 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
84
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.18 ([PR #25615](https://github.com/microsoft/fluentui/pull/25615) by beachball)
85
+
86
+ ## [9.0.0-beta.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.13)
87
+
88
+ Wed, 02 Nov 2022 11:57:59 GMT
89
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.12..@fluentui/react-select_v9.0.0-beta.13)
90
+
91
+ ### Changes
92
+
93
+ - fix: update styles based on design review ([PR #24339](https://github.com/microsoft/fluentui/pull/24339) by sarah.higley@microsoft.com)
94
+ - chore: Update Griffel to latest version ([PR #25412](https://github.com/microsoft/fluentui/pull/25412) by olfedias@microsoft.com)
95
+ - chore: Migrate to new package structure. ([PR #25359](https://github.com/microsoft/fluentui/pull/25359) by tristan.watanabe@gmail.com)
96
+ - Bump @fluentui/react-utilities to v9.2.0 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
97
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.17 ([PR #25456](https://github.com/microsoft/fluentui/pull/25456) by beachball)
98
+
99
+ ## [9.0.0-beta.12](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.12)
100
+
101
+ Thu, 20 Oct 2022 08:39:44 GMT
102
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.11..@fluentui/react-select_v9.0.0-beta.12)
103
+
104
+ ### Changes
105
+
106
+ - feat: Add red border when aria-invalid is set ([PR #25252](https://github.com/microsoft/fluentui/pull/25252) by behowell@microsoft.com)
107
+ - chore: Bump peer deps to support React 18 ([PR #24972](https://github.com/microsoft/fluentui/pull/24972) by mgodbolt@microsoft.com)
108
+ - chore: Update Griffel to latest version ([PR #25212](https://github.com/microsoft/fluentui/pull/25212) by olfedias@microsoft.com)
109
+ - Bump @fluentui/react-theme to v9.1.1 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
110
+ - Bump @fluentui/react-utilities to v9.1.2 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
111
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.16 ([PR #25265](https://github.com/microsoft/fluentui/pull/25265) by beachball)
112
+
113
+ ## [9.0.0-beta.11](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.11)
114
+
115
+ Thu, 13 Oct 2022 11:03:00 GMT
116
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.10..@fluentui/react-select_v9.0.0-beta.11)
117
+
118
+ ### Changes
119
+
120
+ - chore: Update Griffel to latest version ([PR #25075](https://github.com/microsoft/fluentui/pull/25075) by olfedias@microsoft.com)
121
+ - Bump @fluentui/react-utilities to v9.1.1 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
122
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.15 ([PR #25181](https://github.com/microsoft/fluentui/pull/25181) by beachball)
123
+
124
+ ## [9.0.0-beta.10](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.10)
125
+
126
+ Tue, 20 Sep 2022 20:55:45 GMT
127
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.9..@fluentui/react-select_v9.0.0-beta.10)
128
+
129
+ ### Changes
130
+
131
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.14 ([PR #24869](https://github.com/microsoft/fluentui/pull/24869) by beachball)
132
+
133
+ ## [9.0.0-beta.9](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.9)
134
+
135
+ Thu, 15 Sep 2022 09:49:20 GMT
136
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.8..@fluentui/react-select_v9.0.0-beta.9)
137
+
138
+ ### Changes
139
+
140
+ - chore: Update Griffel to latest version ([PR #24221](https://github.com/microsoft/fluentui/pull/24221) by olfedias@microsoft.com)
141
+ - Bump @fluentui/react-theme to v9.1.0 ([PR #24808](https://github.com/microsoft/fluentui/pull/24808) by beachball)
142
+ - Bump @fluentui/react-utilities to v9.1.0 ([PR #24808](https://github.com/microsoft/fluentui/pull/24808) by beachball)
143
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.13 ([PR #24808](https://github.com/microsoft/fluentui/pull/24808) by beachball)
144
+
145
+ ## [9.0.0-beta.8](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.8)
146
+
147
+ Wed, 03 Aug 2022 16:03:58 GMT
148
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.7..@fluentui/react-select_v9.0.0-beta.8)
149
+
150
+ ### Changes
151
+
152
+ - bugfix: add reduced motion styles for avatar, spinner, switch, and input focus styles ([PR #23788](https://github.com/microsoft/fluentui/pull/23788) by sarah.higley@microsoft.com)
153
+ - chore: Bump Griffel dependencies ([PR #24114](https://github.com/microsoft/fluentui/pull/24114) by miroslav.stastny@microsoft.com)
154
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.12 ([PR #24131](https://github.com/microsoft/fluentui/pull/24131) by beachball)
155
+
156
+ ## [9.0.0-beta.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.7)
157
+
158
+ Thu, 14 Jul 2022 21:21:03 GMT
159
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.6..@fluentui/react-select_v9.0.0-beta.7)
160
+
161
+ ### Changes
162
+
163
+ - fix: Fixing bad version bump of @fluentui/react-utilities. ([PR #23920](https://github.com/microsoft/fluentui/pull/23920) by Humberto.Morimoto@microsoft.com)
164
+ - Bump @fluentui/react-utilities to v9.0.2 ([PR #23918](https://github.com/microsoft/fluentui/pull/23918) by beachball)
165
+
166
+ ## [9.0.0-beta.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.6)
167
+
168
+ Thu, 14 Jul 2022 17:06:21 GMT
169
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.5..@fluentui/react-select_v9.0.0-beta.6)
170
+
171
+ ### Changes
172
+
173
+ - chore: Update @fluentui/react-icons dependency to v2.0.175 ([PR #23812](https://github.com/microsoft/fluentui/pull/23812) by ololubek@microsoft.com)
174
+ - Bump @fluentui/react-utilities to v9.0.1-0 ([PR #23897](https://github.com/microsoft/fluentui/pull/23897) by beachball)
175
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.11 ([PR #23897](https://github.com/microsoft/fluentui/pull/23897) by beachball)
176
+
177
+ ## [9.0.0-beta.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.5)
178
+
179
+ Tue, 28 Jun 2022 17:39:51 GMT
180
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.4..@fluentui/react-select_v9.0.0-beta.5)
181
+
182
+ ### Changes
183
+
184
+ - fix: Use caret dependency range for Griffel ([PR #23754](https://github.com/microsoft/fluentui/pull/23754) by lingfangao@hotmail.com)
185
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.10 ([PR #23754](https://github.com/microsoft/fluentui/pull/23754) by beachball)
186
+
187
+ ## [9.0.0-beta.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.4)
188
+
189
+ Tue, 28 Jun 2022 15:13:55 GMT
190
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.3..@fluentui/react-select_v9.0.0-beta.4)
191
+
192
+ ### Changes
193
+
194
+ - Update 9.0.0-rc dependencies to use caret range ([PR #23732](https://github.com/microsoft/fluentui/pull/23732) by lingfangao@hotmail.com)
195
+ - export change data type from select ([PR #23701](https://github.com/microsoft/fluentui/pull/23701) by sarah.higley@microsoft.com)
196
+ - fix: handle "defaultValue" ([PR #23463](https://github.com/microsoft/fluentui/pull/23463) by olfedias@microsoft.com)
197
+ - Bump Griffel dependencies ([PR #23688](https://github.com/microsoft/fluentui/pull/23688) by lingfangao@hotmail.com)
198
+ - chore: Update @fluentui/react-icons to latest version ([PR #23459](https://github.com/microsoft/fluentui/pull/23459) by olfedias@microsoft.com)
199
+ - chore: Using ::before and ::after instead of :before and :after. ([PR #23469](https://github.com/microsoft/fluentui/pull/23469) by Humberto.Morimoto@microsoft.com)
200
+ - add custom onChange with value data to react-select ([PR #23399](https://github.com/microsoft/fluentui/pull/23399) by sarah.higley@microsoft.com)
201
+ - Remove inline prop from Select ([PR #23416](https://github.com/microsoft/fluentui/pull/23416) by sarah.higley@microsoft.com)
202
+ - Bump @fluentui/react-theme to v9.0.0 ([commit](https://github.com/microsoft/fluentui/commit/ba6c5d651559b91c815429c9a9357c4d5a390f3e) by beachball)
203
+ - Bump @fluentui/react-utilities to v9.0.0 ([commit](https://github.com/microsoft/fluentui/commit/ba6c5d651559b91c815429c9a9357c4d5a390f3e) by beachball)
204
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.9 ([commit](https://github.com/microsoft/fluentui/commit/ba6c5d651559b91c815429c9a9357c4d5a390f3e) by beachball)
205
+
206
+ ## [9.0.0-beta.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.3)
207
+
208
+ Thu, 23 Jun 2022 14:25:31 GMT
209
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.2..@fluentui/react-select_v9.0.0-beta.3)
210
+
211
+ ### Changes
212
+
213
+ - Bump @fluentui/react-theme to v9.0.0-rc.10 ([PR #23608](https://github.com/microsoft/fluentui/pull/23608) by beachball)
214
+
7
215
  ## [9.0.0-beta.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.0.0-beta.2)
8
216
 
9
- Tue, 31 May 2022 21:26:38 GMT
217
+ Tue, 31 May 2022 21:28:44 GMT
10
218
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.0.0-beta.1..@fluentui/react-select_v9.0.0-beta.2)
11
219
 
12
220
  ### Changes
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @fluentui/react-select
2
2
 
3
- **React Select components for [Fluent UI React](https://developer.microsoft.com/en-us/fluentui)**
3
+ **React Select components for [Fluent UI React](https://react.fluentui.dev)**
4
4
 
5
5
  The Select component provides a styled wrapper around the native `<select>` element. It is recommended over Combobox when features like filtering and virtualization are not required. It provides better cross-platform functionality particularly on mobile, and better accessibility.
6
6
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,10 @@
1
+ /// <reference types="react" />
2
+
1
3
  import type { ComponentProps } from '@fluentui/react-utilities';
2
4
  import type { ComponentState } from '@fluentui/react-utilities';
5
+ import { FieldControl } from '@fluentui/react-field';
6
+ import type { FieldProps } from '@fluentui/react-field';
7
+ import { FieldSlots } from '@fluentui/react-field';
3
8
  import type { ForwardRefComponent } from '@fluentui/react-utilities';
4
9
  import * as React_2 from 'react';
5
10
  import type { Slot } from '@fluentui/react-utilities';
@@ -17,7 +22,23 @@ export declare const Select: ForwardRefComponent<SelectProps>;
17
22
 
18
23
  export declare const selectClassNames: SlotClassNames<SelectSlots>;
19
24
 
20
- export declare type SelectProps = Omit<ComponentProps<Partial<SelectSlots>, 'select'>, 'size'> & {
25
+ export declare const SelectField_unstable: ForwardRefComponent<SelectFieldProps_unstable>;
26
+
27
+ export declare const selectFieldClassNames: SlotClassNames<FieldSlots<FieldControl>>;
28
+
29
+ export declare type SelectFieldProps_unstable = FieldProps<typeof Select>;
30
+
31
+ /**
32
+ * Data passed to the `onChange` callback when a new option is selected.
33
+ */
34
+ export declare type SelectOnChangeData = {
35
+ /**
36
+ * Updated `<select>` value, taken from either the selected option's value prop or inner text.
37
+ */
38
+ value: string;
39
+ };
40
+
41
+ export declare type SelectProps = Omit<ComponentProps<Partial<SelectSlots>, 'select'>, 'size' | 'onChange'> & {
21
42
  /**
22
43
  * Controls the colors and borders of the Select.
23
44
  *
@@ -25,12 +46,9 @@ export declare type SelectProps = Omit<ComponentProps<Partial<SelectSlots>, 'sel
25
46
  */
26
47
  appearance?: 'outline' | 'underline' | 'filled-darker' | 'filled-lighter';
27
48
  /**
28
- * If true, the Select will have an inline `display`, allowing it to be inline with other content.
29
- * By default, Select has block layout.
30
- *
31
- * @default false
49
+ * Called when the user changes the select element's value by selecting an option.
32
50
  */
33
- inline?: boolean;
51
+ onChange?: (ev: React_2.ChangeEvent<HTMLSelectElement>, data: SelectOnChangeData) => void;
34
52
  /**
35
53
  * Matches the Input sizes
36
54
  *
@@ -47,7 +65,7 @@ export declare type SelectSlots = {
47
65
  icon: Slot<'span'>;
48
66
  };
49
67
 
50
- export declare type SelectState = ComponentState<SelectSlots> & Required<Pick<SelectProps, 'appearance' | 'inline' | 'size'>>;
68
+ export declare type SelectState = ComponentState<SelectSlots> & Required<Pick<SelectProps, 'appearance' | 'size'>>;
51
69
 
52
70
  /**
53
71
  * Create the state required to render Select.
package/lib/Select.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"../src/","sources":["Select.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC","sourcesContent":["export * from './components/Select/index';\n"]}
1
+ {"version":3,"file":"Select.js","sourceRoot":"../src/","sources":["packages/react-components/react-select/src/Select.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC","sourcesContent":["export * from './components/Select/index';\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './components/SelectField/index';
2
+ //# sourceMappingURL=SelectField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectField.js","sourceRoot":"../src/","sources":["packages/react-components/react-select/src/SelectField.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC","sourcesContent":["export * from './components/SelectField/index';\n"]}
@@ -5,7 +5,6 @@ import { useSelectStyles_unstable } from './useSelectStyles';
5
5
  /**
6
6
  * Select component
7
7
  */
8
-
9
8
  export const Select = /*#__PURE__*/React.forwardRef((props, ref) => {
10
9
  const state = useSelect_unstable(props, ref);
11
10
  useSelectStyles_unstable(state);
@@ -1 +1 @@
1
- {"version":3,"sources":["components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,kBAAT,QAAmC,aAAnC;AACA,SAAS,qBAAT,QAAsC,gBAAtC;AACA,SAAS,wBAAT,QAAyC,mBAAzC;AAIA;;AAEG;;AACH,OAAO,MAAM,MAAM,gBAAqC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACtF,QAAM,KAAK,GAAG,kBAAkB,CAAC,KAAD,EAAQ,GAAR,CAAhC;AAEA,EAAA,wBAAwB,CAAC,KAAD,CAAxB;AACA,SAAO,qBAAqB,CAAC,KAAD,CAA5B;AACD,CALuD,CAAjD;AAOP,MAAM,CAAC,WAAP,GAAqB,QAArB","sourcesContent":["import * as React from 'react';\nimport { useSelect_unstable } from './useSelect';\nimport { renderSelect_unstable } from './renderSelect';\nimport { useSelectStyles_unstable } from './useSelectStyles';\nimport type { SelectProps } from './Select.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Select component\n */\nexport const Select: ForwardRefComponent<SelectProps> = React.forwardRef((props, ref) => {\n const state = useSelect_unstable(props, ref);\n\n useSelectStyles_unstable(state);\n return renderSelect_unstable(state);\n});\n\nSelect.displayName = 'Select';\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,QAAQ,aAAa;AAChD,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,SAASC,wBAAwB,QAAQ,mBAAmB;AAI5D;;;AAGA,OAAO,MAAMC,MAAM,gBAAqCJ,KAAK,CAACK,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EACtF,MAAMC,KAAK,GAAGP,kBAAkB,CAACK,KAAK,EAAEC,GAAG,CAAC;EAE5CJ,wBAAwB,CAACK,KAAK,CAAC;EAC/B,OAAON,qBAAqB,CAACM,KAAK,CAAC;AACrC,CAAC,CAAC;AAEFJ,MAAM,CAACK,WAAW,GAAG,QAAQ","names":["React","useSelect_unstable","renderSelect_unstable","useSelectStyles_unstable","Select","forwardRef","props","ref","state","displayName"],"sourceRoot":"../src/","sources":["packages/react-components/react-select/src/components/Select/Select.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useSelect_unstable } from './useSelect';\nimport { renderSelect_unstable } from './renderSelect';\nimport { useSelectStyles_unstable } from './useSelectStyles';\nimport type { SelectProps } from './Select.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Select component\n */\nexport const Select: ForwardRefComponent<SelectProps> = React.forwardRef((props, ref) => {\n const state = useSelect_unstable(props, ref);\n\n useSelectStyles_unstable(state);\n return renderSelect_unstable(state);\n});\n\nSelect.displayName = 'Select';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.types.js","sourceRoot":"../src/","sources":["components/Select/Select.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type SelectSlots = {\n /*\n * Wrapper for both the select and icon, renders as a `<span>`.\n * The `className` and `style` props on `<Select>` are applied to this slot;\n * All other top-level props are applied to the primary slot, `select`.\n */\n root: NonNullable<Slot<'span'>>;\n\n /** Primary slot: the actual `<select>` element */\n select: NonNullable<Slot<'select'>>;\n\n /** the icon, typically a down arrow */\n icon: Slot<'span'>;\n};\n\nexport type SelectProps = Omit<ComponentProps<Partial<SelectSlots>, 'select'>, 'size'> & {\n /**\n * Controls the colors and borders of the Select.\n *\n * @default 'outline'\n */\n appearance?: 'outline' | 'underline' | 'filled-darker' | 'filled-lighter';\n\n /**\n * If true, the Select will have an inline `display`, allowing it to be inline with other content.\n * By default, Select has block layout.\n *\n * @default false\n */\n inline?: boolean;\n\n /**\n * Matches the Input sizes\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n};\n\nexport type SelectState = ComponentState<SelectSlots> & Required<Pick<SelectProps, 'appearance' | 'inline' | 'size'>>;\n"]}
1
+ {"version":3,"file":"Select.types.js","sourceRoot":"../src/","sources":["packages/react-components/react-select/src/components/Select/Select.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type SelectSlots = {\n /*\n * Wrapper for both the select and icon, renders as a `<span>`.\n * The `className` and `style` props on `<Select>` are applied to this slot;\n * All other top-level props are applied to the primary slot, `select`.\n */\n root: NonNullable<Slot<'span'>>;\n\n /** Primary slot: the actual `<select>` element */\n select: NonNullable<Slot<'select'>>;\n\n /** the icon, typically a down arrow */\n icon: Slot<'span'>;\n};\n\nexport type SelectProps = Omit<ComponentProps<Partial<SelectSlots>, 'select'>, 'size' | 'onChange'> & {\n /**\n * Controls the colors and borders of the Select.\n *\n * @default 'outline'\n */\n appearance?: 'outline' | 'underline' | 'filled-darker' | 'filled-lighter';\n\n /**\n * Called when the user changes the select element's value by selecting an option.\n */\n onChange?: (ev: React.ChangeEvent<HTMLSelectElement>, data: SelectOnChangeData) => void;\n\n /**\n * Matches the Input sizes\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n};\n\nexport type SelectState = ComponentState<SelectSlots> & Required<Pick<SelectProps, 'appearance' | 'size'>>;\n\n/**\n * Data passed to the `onChange` callback when a new option is selected.\n */\nexport type SelectOnChangeData = {\n /**\n * Updated `<select>` value, taken from either the selected option's value prop or inner text.\n */\n value: string;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/Select/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './Select';\nexport * from './Select.types';\nexport * from './renderSelect';\nexport * from './useSelect';\nexport * from './useSelectStyles';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-select/src/components/Select/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './Select';\nexport * from './Select.types';\nexport * from './renderSelect';\nexport * from './useSelect';\nexport * from './useSelectStyles';\n"]}
@@ -3,15 +3,17 @@ import { getSlots } from '@fluentui/react-utilities';
3
3
  /**
4
4
  * Render the final JSX of Select
5
5
  */
6
-
7
6
  export const renderSelect_unstable = state => {
8
7
  const {
9
8
  slots,
10
9
  slotProps
11
10
  } = getSlots(state);
12
- return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
13
- }, /*#__PURE__*/React.createElement(slots.select, { ...slotProps.select
14
- }, slotProps.select.children), /*#__PURE__*/React.createElement(slots.icon, { ...slotProps.icon
11
+ return /*#__PURE__*/React.createElement(slots.root, {
12
+ ...slotProps.root
13
+ }, /*#__PURE__*/React.createElement(slots.select, {
14
+ ...slotProps.select
15
+ }, slotProps.select.children), /*#__PURE__*/React.createElement(slots.icon, {
16
+ ...slotProps.icon
15
17
  }));
16
18
  };
17
19
  //# sourceMappingURL=renderSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["components/Select/renderSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,qBAAqB,GAAI,KAAD,IAAuB;AAC1D,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAc,KAAd,CAArC;AACA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,MAAP,EAAa,EAAA,GAAK,SAAS,CAAC;AAAf,GAAb,EAAqC,SAAS,CAAC,MAAV,CAAiB,QAAtD,CADF,eAEE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAFF,CADF;AAMD,CARM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { SelectSlots, SelectState } from './Select.types';\n\n/**\n * Render the final JSX of Select\n */\nexport const renderSelect_unstable = (state: SelectState) => {\n const { slots, slotProps } = getSlots<SelectSlots>(state);\n return (\n <slots.root {...slotProps.root}>\n <slots.select {...slotProps.select}>{slotProps.select.children}</slots.select>\n <slots.icon {...slotProps.icon} />\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,2BAA2B;AAGpD;;;AAGA,OAAO,MAAMC,qBAAqB,GAAIC,KAAkB,IAAI;EAC1D,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAE,GAAGJ,QAAQ,CAAcE,KAAK,CAAC;EACzD,oBACEH,oBAACI,KAAK,CAACE,IAAI;IAAA,GAAKD,SAAS,CAACC;EAAI,gBAC5BN,oBAACI,KAAK,CAACG,MAAM;IAAA,GAAKF,SAAS,CAACE;EAAM,GAAGF,SAAS,CAACE,MAAM,CAACC,QAAQ,CAAgB,eAC9ER,oBAACI,KAAK,CAACK,IAAI;IAAA,GAAKJ,SAAS,CAACI;EAAI,EAAI,CACvB;AAEjB,CAAC","names":["React","getSlots","renderSelect_unstable","state","slots","slotProps","root","select","children","icon"],"sourceRoot":"../src/","sources":["packages/react-components/react-select/src/components/Select/renderSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { SelectSlots, SelectState } from './Select.types';\n\n/**\n * Render the final JSX of Select\n */\nexport const renderSelect_unstable = (state: SelectState) => {\n const { slots, slotProps } = getSlots<SelectSlots>(state);\n return (\n <slots.root {...slotProps.root}>\n <slots.select {...slotProps.select}>{slotProps.select.children}</slots.select>\n <slots.icon {...slotProps.icon} />\n </slots.root>\n );\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { getPartitionedNativeProps, resolveShorthand } from '@fluentui/react-utilities';
2
+ import { getPartitionedNativeProps, resolveShorthand, useEventCallback } from '@fluentui/react-utilities';
3
3
  import { ChevronDownRegular } from '@fluentui/react-icons';
4
4
  /**
5
5
  * Create the state required to render Select.
@@ -10,25 +10,25 @@ import { ChevronDownRegular } from '@fluentui/react-icons';
10
10
  * @param props - props from this instance of Select
11
11
  * @param ref - reference to the `<select>` element in Select
12
12
  */
13
-
14
13
  export const useSelect_unstable = (props, ref) => {
15
14
  const {
15
+ defaultValue,
16
+ value,
16
17
  select,
17
18
  icon,
18
19
  root,
19
- size = 'medium',
20
20
  appearance = 'outline',
21
- inline = false
21
+ onChange,
22
+ size = 'medium'
22
23
  } = props;
23
24
  const nativeProps = getPartitionedNativeProps({
24
25
  props,
25
26
  primarySlotTagName: 'select',
26
- excludedPropNames: ['appearance', 'inline', 'size']
27
+ excludedPropNames: ['appearance', 'defaultValue', 'onChange', 'size', 'value']
27
28
  });
28
- return {
29
+ const state = {
29
30
  size,
30
31
  appearance,
31
- inline,
32
32
  components: {
33
33
  root: 'span',
34
34
  select: 'select',
@@ -37,6 +37,8 @@ export const useSelect_unstable = (props, ref) => {
37
37
  select: resolveShorthand(select, {
38
38
  required: true,
39
39
  defaultProps: {
40
+ defaultValue,
41
+ value,
40
42
  ref,
41
43
  ...nativeProps.primary
42
44
  }
@@ -52,5 +54,11 @@ export const useSelect_unstable = (props, ref) => {
52
54
  defaultProps: nativeProps.root
53
55
  })
54
56
  };
57
+ state.select.onChange = useEventCallback(event => {
58
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, {
59
+ value: event.target.value
60
+ });
61
+ });
62
+ return state;
55
63
  };
56
64
  //# sourceMappingURL=useSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["components/Select/useSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,yBAAT,EAAoC,gBAApC,QAA4D,2BAA5D;AACA,SAAS,kBAAT,QAAmC,uBAAnC;AAGA;;;;;;;;AAQG;;AACH,OAAO,MAAM,kBAAkB,GAAG,CAAC,KAAD,EAAqB,GAArB,KAAuE;AACvG,QAAM;AAAE,IAAA,MAAF;AAAU,IAAA,IAAV;AAAgB,IAAA,IAAhB;AAAsB,IAAA,IAAI,GAAG,QAA7B;AAAuC,IAAA,UAAU,GAAG,SAApD;AAA+D,IAAA,MAAM,GAAG;AAAxE,MAAkF,KAAxF;AAEA,QAAM,WAAW,GAAG,yBAAyB,CAAC;AAC5C,IAAA,KAD4C;AAE5C,IAAA,kBAAkB,EAAE,QAFwB;AAG5C,IAAA,iBAAiB,EAAE,CAAC,YAAD,EAAe,QAAf,EAAyB,MAAzB;AAHyB,GAAD,CAA7C;AAMA,SAAO;AACL,IAAA,IADK;AAEL,IAAA,UAFK;AAGL,IAAA,MAHK;AAIL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,MAAM,EAAE,QAFE;AAGV,MAAA,IAAI,EAAE;AAHI,KAJP;AASL,IAAA,MAAM,EAAE,gBAAgB,CAAC,MAAD,EAAS;AAC/B,MAAA,QAAQ,EAAE,IADqB;AAE/B,MAAA,YAAY,EAAE;AACZ,QAAA,GADY;AAEZ,WAAG,WAAW,CAAC;AAFH;AAFiB,KAAT,CATnB;AAgBL,IAAA,IAAI,EAAE,gBAAgB,CAAC,IAAD,EAAO;AAC3B,MAAA,QAAQ,EAAE,IADiB;AAE3B,MAAA,YAAY,EAAE;AAAE,QAAA,QAAQ,eAAE,KAAA,CAAA,aAAA,CAAC,kBAAD,EAAmB,IAAnB;AAAZ;AAFa,KAAP,CAhBjB;AAoBL,IAAA,IAAI,EAAE,gBAAgB,CAAC,IAAD,EAAO;AAC3B,MAAA,QAAQ,EAAE,IADiB;AAE3B,MAAA,YAAY,EAAE,WAAW,CAAC;AAFC,KAAP;AApBjB,GAAP;AAyBD,CAlCM","sourcesContent":["import * as React from 'react';\nimport { getPartitionedNativeProps, resolveShorthand } from '@fluentui/react-utilities';\nimport { ChevronDownRegular } from '@fluentui/react-icons';\nimport type { SelectProps, SelectState } from './Select.types';\n\n/**\n * Create the state required to render Select.\n *\n * The returned state can be modified with hooks such as useSelectStyles,\n * before being passed to renderSelect.\n *\n * @param props - props from this instance of Select\n * @param ref - reference to the `<select>` element in Select\n */\nexport const useSelect_unstable = (props: SelectProps, ref: React.Ref<HTMLSelectElement>): SelectState => {\n const { select, icon, root, size = 'medium', appearance = 'outline', inline = false } = props;\n\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'select',\n excludedPropNames: ['appearance', 'inline', 'size'],\n });\n\n return {\n size,\n appearance,\n inline,\n components: {\n root: 'span',\n select: 'select',\n icon: 'span',\n },\n select: resolveShorthand(select, {\n required: true,\n defaultProps: {\n ref,\n ...nativeProps.primary,\n },\n }),\n icon: resolveShorthand(icon, {\n required: true,\n defaultProps: { children: <ChevronDownRegular /> },\n }),\n root: resolveShorthand(root, {\n required: true,\n defaultProps: nativeProps.root,\n }),\n };\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,yBAAyB,EAAEC,gBAAgB,EAAEC,gBAAgB,QAAQ,2BAA2B;AACzG,SAASC,kBAAkB,QAAQ,uBAAuB;AAG1D;;;;;;;;;AASA,OAAO,MAAMC,kBAAkB,GAAG,CAACC,KAAkB,EAAEC,GAAiC,KAAiB;EACvG,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,MAAM;IACNC,IAAI;IACJC,IAAI;IACJC,UAAU,GAAG,SAAS;IAEtBC,QAAQ;IACRC,IAAI,GAAG;EAAQ,CAChB,GAAGT,KAAK;EAET,MAAMU,WAAW,GAAGf,yBAAyB,CAAC;IAC5CK,KAAK;IACLW,kBAAkB,EAAE,QAAQ;IAC5BC,iBAAiB,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO;GAC9E,CAAC;EAEF,MAAMC,KAAK,GAAgB;IACzBJ,IAAI;IACJF,UAAU;IACVO,UAAU,EAAE;MACVR,IAAI,EAAE,MAAM;MACZF,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE;KACP;IACDD,MAAM,EAAER,gBAAgB,CAACQ,MAAM,EAAE;MAC/BW,QAAQ,EAAE,IAAI;MACdC,YAAY,EAAE;QACZd,YAAY;QACZC,KAAK;QACLF,GAAG;QACH,GAAGS,WAAW,CAACO;;KAElB,CAAC;IACFZ,IAAI,EAAET,gBAAgB,CAACS,IAAI,EAAE;MAC3BU,QAAQ,EAAE,IAAI;MACdC,YAAY,EAAE;QAAEE,QAAQ,eAAExB,oBAACI,kBAAkB;MAAG;KACjD,CAAC;IACFQ,IAAI,EAAEV,gBAAgB,CAACU,IAAI,EAAE;MAC3BS,QAAQ,EAAE,IAAI;MACdC,YAAY,EAAEN,WAAW,CAACJ;KAC3B;GACF;EAEDO,KAAK,CAACT,MAAM,CAACI,QAAQ,GAAGX,gBAAgB,CAACsB,KAAK,IAAG;IAC/CX,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGW,KAAK,EAAE;MAAEhB,KAAK,EAAGgB,KAAK,CAACC,MAA4B,CAACjB;IAAK,CAAE,CAAC;EACzE,CAAC,CAAC;EAEF,OAAOU,KAAK;AACd,CAAC","names":["React","getPartitionedNativeProps","resolveShorthand","useEventCallback","ChevronDownRegular","useSelect_unstable","props","ref","defaultValue","value","select","icon","root","appearance","onChange","size","nativeProps","primarySlotTagName","excludedPropNames","state","components","required","defaultProps","primary","children","event","target"],"sourceRoot":"../src/","sources":["packages/react-components/react-select/src/components/Select/useSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getPartitionedNativeProps, resolveShorthand, useEventCallback } from '@fluentui/react-utilities';\nimport { ChevronDownRegular } from '@fluentui/react-icons';\nimport type { SelectProps, SelectState } from './Select.types';\n\n/**\n * Create the state required to render Select.\n *\n * The returned state can be modified with hooks such as useSelectStyles,\n * before being passed to renderSelect.\n *\n * @param props - props from this instance of Select\n * @param ref - reference to the `<select>` element in Select\n */\nexport const useSelect_unstable = (props: SelectProps, ref: React.Ref<HTMLSelectElement>): SelectState => {\n const {\n defaultValue,\n value,\n select,\n icon,\n root,\n appearance = 'outline',\n\n onChange,\n size = 'medium',\n } = props;\n\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'select',\n excludedPropNames: ['appearance', 'defaultValue', 'onChange', 'size', 'value'],\n });\n\n const state: SelectState = {\n size,\n appearance,\n components: {\n root: 'span',\n select: 'select',\n icon: 'span',\n },\n select: resolveShorthand(select, {\n required: true,\n defaultProps: {\n defaultValue,\n value,\n ref,\n ...nativeProps.primary,\n },\n }),\n icon: resolveShorthand(icon, {\n required: true,\n defaultProps: { children: <ChevronDownRegular /> },\n }),\n root: resolveShorthand(root, {\n required: true,\n defaultProps: nativeProps.root,\n }),\n };\n\n state.select.onChange = useEventCallback(event => {\n onChange?.(event, { value: (event.target as HTMLSelectElement).value });\n });\n\n return state;\n};\n"]}