@fluentui/react-accordion 0.0.0-nightlyb8663b78ad20220207.1 → 0.0.0-nightlyc0e3a0a1f320220217.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +105 -16
- package/CHANGELOG.md +30 -11
- package/Spec.md +36 -4
- package/dist/react-accordion.d.ts +15 -14
- package/lib/components/Accordion/Accordion.types.d.ts +7 -5
- package/lib/components/Accordion/AccordionContext.js +0 -1
- package/lib/components/Accordion/AccordionContext.js.map +1 -1
- package/lib/components/Accordion/useAccordion.js +13 -18
- package/lib/components/Accordion/useAccordion.js.map +1 -1
- package/lib/components/Accordion/useAccordionContextValues.js +2 -2
- package/lib/components/Accordion/useAccordionContextValues.js.map +1 -1
- package/lib/components/AccordionHeader/AccordionHeader.types.d.ts +8 -7
- package/lib/components/AccordionHeader/renderAccordionHeader.js +1 -1
- package/lib/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
- package/lib/components/AccordionItem/AccordionItem.types.d.ts +4 -3
- package/lib/components/AccordionItem/useAccordionItem.js +5 -7
- package/lib/components/AccordionItem/useAccordionItem.js.map +1 -1
- package/lib/components/AccordionPanel/AccordionPanel.types.d.ts +2 -2
- package/lib-commonjs/components/Accordion/Accordion.types.d.ts +7 -5
- package/lib-commonjs/components/Accordion/AccordionContext.js +0 -1
- package/lib-commonjs/components/Accordion/AccordionContext.js.map +1 -1
- package/lib-commonjs/components/Accordion/useAccordion.js +14 -18
- package/lib-commonjs/components/Accordion/useAccordion.js.map +1 -1
- package/lib-commonjs/components/Accordion/useAccordionContextValues.js +2 -2
- package/lib-commonjs/components/Accordion/useAccordionContextValues.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.d.ts +8 -7
- package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js +1 -1
- package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/AccordionItem.types.d.ts +4 -3
- package/lib-commonjs/components/AccordionItem/useAccordionItem.js +4 -6
- package/lib-commonjs/components/AccordionItem/useAccordionItem.js.map +1 -1
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.d.ts +2 -2
- package/package.json +7 -7
package/CHANGELOG.json
CHANGED
|
@@ -2,17 +2,82 @@
|
|
|
2
2
|
"name": "@fluentui/react-accordion",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
6
|
-
"tag": "@fluentui/react-accordion_v0.0.0-
|
|
7
|
-
"version": "0.0.0-
|
|
5
|
+
"date": "Thu, 17 Feb 2022 04:12:35 GMT",
|
|
6
|
+
"tag": "@fluentui/react-accordion_v0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
7
|
+
"version": "0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
8
8
|
"comments": {
|
|
9
9
|
"prerelease": [
|
|
10
10
|
{
|
|
11
11
|
"author": "email not defined",
|
|
12
12
|
"package": "@fluentui/react-accordion",
|
|
13
|
-
"commit": "
|
|
13
|
+
"commit": "4df2a77ff1d0255eee60fa6109174a7cb44dcbe6",
|
|
14
14
|
"comment": "Release nightly v9"
|
|
15
15
|
},
|
|
16
|
+
{
|
|
17
|
+
"author": "bsunderhus@microsoft.com",
|
|
18
|
+
"package": "@fluentui/react-accordion",
|
|
19
|
+
"commit": "5a45a787f2669a9f694a274b220823dbc10b04e2",
|
|
20
|
+
"comment": "Updates initial open items value to be empty on every case"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "bsunderhus@microsoft.com",
|
|
24
|
+
"package": "@fluentui/react-accordion",
|
|
25
|
+
"commit": "ea090f75ef4a477f6ea9ffa2b4d7bec826a99b5f",
|
|
26
|
+
"comment": "Breaking change: navigable becomes navigation"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"author": "beachball",
|
|
30
|
+
"package": "@fluentui/react-accordion",
|
|
31
|
+
"comment": "Bump @fluentui/react-aria to v0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
32
|
+
"commit": "4df2a77ff1d0255eee60fa6109174a7cb44dcbe6"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"author": "beachball",
|
|
36
|
+
"package": "@fluentui/react-accordion",
|
|
37
|
+
"comment": "Bump @fluentui/react-context-selector to v0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
38
|
+
"commit": "4df2a77ff1d0255eee60fa6109174a7cb44dcbe6"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"author": "beachball",
|
|
42
|
+
"package": "@fluentui/react-accordion",
|
|
43
|
+
"comment": "Bump @fluentui/react-tabster to v0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
44
|
+
"commit": "4df2a77ff1d0255eee60fa6109174a7cb44dcbe6"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"author": "beachball",
|
|
48
|
+
"package": "@fluentui/react-accordion",
|
|
49
|
+
"comment": "Bump @fluentui/react-theme to v0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
50
|
+
"commit": "4df2a77ff1d0255eee60fa6109174a7cb44dcbe6"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"author": "beachball",
|
|
54
|
+
"package": "@fluentui/react-accordion",
|
|
55
|
+
"comment": "Bump @fluentui/react-utilities to v0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
56
|
+
"commit": "4df2a77ff1d0255eee60fa6109174a7cb44dcbe6"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"author": "beachball",
|
|
60
|
+
"package": "@fluentui/react-accordion",
|
|
61
|
+
"comment": "Bump @fluentui/react-conformance-griffel to v0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
62
|
+
"commit": "4df2a77ff1d0255eee60fa6109174a7cb44dcbe6"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"none": [
|
|
66
|
+
{
|
|
67
|
+
"author": "bsunderhus@microsoft.com",
|
|
68
|
+
"package": "@fluentui/react-accordion",
|
|
69
|
+
"commit": "3068d4518c5e599c60a216455eac40531d896162",
|
|
70
|
+
"comment": "Updates spec and story to add warning about heading level"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"date": "Thu, 10 Feb 2022 08:52:11 GMT",
|
|
77
|
+
"tag": "@fluentui/react-accordion_v9.0.0-rc.1",
|
|
78
|
+
"version": "9.0.0-rc.1",
|
|
79
|
+
"comments": {
|
|
80
|
+
"prerelease": [
|
|
16
81
|
{
|
|
17
82
|
"author": "olfedias@microsoft.com",
|
|
18
83
|
"package": "@fluentui/react-accordion",
|
|
@@ -25,6 +90,18 @@
|
|
|
25
90
|
"commit": "b8537fb52cc3cc2787be5675c65300e01d882add",
|
|
26
91
|
"comment": "update styles to not use CSS shorthands"
|
|
27
92
|
},
|
|
93
|
+
{
|
|
94
|
+
"author": "mgodbolt@microsoft.com",
|
|
95
|
+
"package": "@fluentui/react-accordion",
|
|
96
|
+
"commit": "839ec14849e112b85aa321d034739ec421199141",
|
|
97
|
+
"comment": "remove export of commons types"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"author": "behowell@microsoft.com",
|
|
101
|
+
"package": "@fluentui/react-accordion",
|
|
102
|
+
"commit": "53b01d71e335715fda91b33e3d7bbd9d471d5ed3",
|
|
103
|
+
"comment": "Refactor component Slot typings"
|
|
104
|
+
},
|
|
28
105
|
{
|
|
29
106
|
"author": "tristan.watanabe@gmail.com",
|
|
30
107
|
"package": "@fluentui/react-accordion",
|
|
@@ -55,6 +132,12 @@
|
|
|
55
132
|
"commit": "940a86cbd6a9f711d275df3a823292b527017852",
|
|
56
133
|
"comment": "Removes children as a slot from AccordionHeader"
|
|
57
134
|
},
|
|
135
|
+
{
|
|
136
|
+
"author": "lingfangao@hotmail.com",
|
|
137
|
+
"package": "@fluentui/react-accordion",
|
|
138
|
+
"commit": "c00913d50e2dd15bbfbb0757cefe43b192ff1d7f",
|
|
139
|
+
"comment": "Bump Fluent UI packages to 9.0.0-rc"
|
|
140
|
+
},
|
|
58
141
|
{
|
|
59
142
|
"author": "sarah.higley@microsoft.com",
|
|
60
143
|
"package": "@fluentui/react-accordion",
|
|
@@ -100,38 +183,38 @@
|
|
|
100
183
|
{
|
|
101
184
|
"author": "beachball",
|
|
102
185
|
"package": "@fluentui/react-accordion",
|
|
103
|
-
"comment": "Bump @fluentui/react-aria to
|
|
104
|
-
"commit": "
|
|
186
|
+
"comment": "Bump @fluentui/react-aria to v9.0.0-rc.1",
|
|
187
|
+
"commit": "e6c855f6d9019d6c73668d15fc9bc3a13291a6c8"
|
|
105
188
|
},
|
|
106
189
|
{
|
|
107
190
|
"author": "beachball",
|
|
108
191
|
"package": "@fluentui/react-accordion",
|
|
109
|
-
"comment": "Bump @fluentui/react-context-selector to
|
|
110
|
-
"commit": "
|
|
192
|
+
"comment": "Bump @fluentui/react-context-selector to v9.0.0-rc.1",
|
|
193
|
+
"commit": "e6c855f6d9019d6c73668d15fc9bc3a13291a6c8"
|
|
111
194
|
},
|
|
112
195
|
{
|
|
113
196
|
"author": "beachball",
|
|
114
197
|
"package": "@fluentui/react-accordion",
|
|
115
|
-
"comment": "Bump @fluentui/react-tabster to
|
|
116
|
-
"commit": "
|
|
198
|
+
"comment": "Bump @fluentui/react-tabster to v9.0.0-rc.1",
|
|
199
|
+
"commit": "e6c855f6d9019d6c73668d15fc9bc3a13291a6c8"
|
|
117
200
|
},
|
|
118
201
|
{
|
|
119
202
|
"author": "beachball",
|
|
120
203
|
"package": "@fluentui/react-accordion",
|
|
121
|
-
"comment": "Bump @fluentui/react-theme to
|
|
122
|
-
"commit": "
|
|
204
|
+
"comment": "Bump @fluentui/react-theme to v9.0.0-rc.1",
|
|
205
|
+
"commit": "e6c855f6d9019d6c73668d15fc9bc3a13291a6c8"
|
|
123
206
|
},
|
|
124
207
|
{
|
|
125
208
|
"author": "beachball",
|
|
126
209
|
"package": "@fluentui/react-accordion",
|
|
127
|
-
"comment": "Bump @fluentui/react-utilities to
|
|
128
|
-
"commit": "
|
|
210
|
+
"comment": "Bump @fluentui/react-utilities to v9.0.0-rc.1",
|
|
211
|
+
"commit": "e6c855f6d9019d6c73668d15fc9bc3a13291a6c8"
|
|
129
212
|
},
|
|
130
213
|
{
|
|
131
214
|
"author": "beachball",
|
|
132
215
|
"package": "@fluentui/react-accordion",
|
|
133
|
-
"comment": "Bump @fluentui/react-conformance-griffel to
|
|
134
|
-
"commit": "
|
|
216
|
+
"comment": "Bump @fluentui/react-conformance-griffel to v9.0.0-beta.1",
|
|
217
|
+
"commit": "e6c855f6d9019d6c73668d15fc9bc3a13291a6c8"
|
|
135
218
|
}
|
|
136
219
|
],
|
|
137
220
|
"none": [
|
|
@@ -141,6 +224,12 @@
|
|
|
141
224
|
"commit": "28ceaaa83cd92a0389c466f0b15b283e3d9b08e4",
|
|
142
225
|
"comment": "chore: update all jest deps to v25 + apply single version policy"
|
|
143
226
|
},
|
|
227
|
+
{
|
|
228
|
+
"author": "bsunderhus@microsoft.com",
|
|
229
|
+
"package": "@fluentui/react-accordion",
|
|
230
|
+
"commit": "c0d4e63ee58e60e2c6674efbacc0783cd520984e",
|
|
231
|
+
"comment": "Updates components with nullRender changes"
|
|
232
|
+
},
|
|
144
233
|
{
|
|
145
234
|
"author": "martinhochel@microsoft.com",
|
|
146
235
|
"package": "@fluentui/react-accordion",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,24 +1,43 @@
|
|
|
1
1
|
# Change Log - @fluentui/react-accordion
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 17 Feb 2022 04:12:35 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
-
## [0.0.0-
|
|
7
|
+
## [0.0.0-nightlyc0e3a0a1f320220217.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v0.0.0-nightlyc0e3a0a1f320220217.1)
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-accordion_v9.0.0-
|
|
9
|
+
Thu, 17 Feb 2022 04:12:35 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-accordion_v9.0.0-rc.1..@fluentui/react-accordion_v0.0.0-nightlyc0e3a0a1f320220217.1)
|
|
11
|
+
|
|
12
|
+
### Changes
|
|
13
|
+
|
|
14
|
+
- Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/4df2a77ff1d0255eee60fa6109174a7cb44dcbe6) by email not defined)
|
|
15
|
+
- Updates initial open items value to be empty on every case ([PR #21728](https://github.com/microsoft/fluentui/pull/21728) by bsunderhus@microsoft.com)
|
|
16
|
+
- Breaking change: navigable becomes navigation ([PR #21729](https://github.com/microsoft/fluentui/pull/21729) by bsunderhus@microsoft.com)
|
|
17
|
+
- Bump @fluentui/react-aria to v0.0.0-nightlyc0e3a0a1f320220217.1 ([commit](https://github.com/microsoft/fluentui/commit/4df2a77ff1d0255eee60fa6109174a7cb44dcbe6) by beachball)
|
|
18
|
+
- Bump @fluentui/react-context-selector to v0.0.0-nightlyc0e3a0a1f320220217.1 ([commit](https://github.com/microsoft/fluentui/commit/4df2a77ff1d0255eee60fa6109174a7cb44dcbe6) by beachball)
|
|
19
|
+
- Bump @fluentui/react-tabster to v0.0.0-nightlyc0e3a0a1f320220217.1 ([commit](https://github.com/microsoft/fluentui/commit/4df2a77ff1d0255eee60fa6109174a7cb44dcbe6) by beachball)
|
|
20
|
+
- Bump @fluentui/react-theme to v0.0.0-nightlyc0e3a0a1f320220217.1 ([commit](https://github.com/microsoft/fluentui/commit/4df2a77ff1d0255eee60fa6109174a7cb44dcbe6) by beachball)
|
|
21
|
+
- Bump @fluentui/react-utilities to v0.0.0-nightlyc0e3a0a1f320220217.1 ([commit](https://github.com/microsoft/fluentui/commit/4df2a77ff1d0255eee60fa6109174a7cb44dcbe6) by beachball)
|
|
22
|
+
- Bump @fluentui/react-conformance-griffel to v0.0.0-nightlyc0e3a0a1f320220217.1 ([commit](https://github.com/microsoft/fluentui/commit/4df2a77ff1d0255eee60fa6109174a7cb44dcbe6) by beachball)
|
|
23
|
+
|
|
24
|
+
## [9.0.0-rc.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.0.0-rc.1)
|
|
25
|
+
|
|
26
|
+
Thu, 10 Feb 2022 08:52:11 GMT
|
|
27
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-accordion_v9.0.0-beta.5..@fluentui/react-accordion_v9.0.0-rc.1)
|
|
11
28
|
|
|
12
29
|
### Changes
|
|
13
30
|
|
|
14
|
-
- Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/2e460da7ff58924597e3137a784dc897fd174d71) by email not defined)
|
|
15
31
|
- update @fluentui/react-icons package ([PR #21498](https://github.com/microsoft/fluentui/pull/21498) by olfedias@microsoft.com)
|
|
16
32
|
- update styles to not use CSS shorthands ([PR #20800](https://github.com/microsoft/fluentui/pull/20800) by olfedias@microsoft.com)
|
|
33
|
+
- remove export of commons types ([PR #21660](https://github.com/microsoft/fluentui/pull/21660) by mgodbolt@microsoft.com)
|
|
34
|
+
- Refactor component Slot typings ([PR #21518](https://github.com/microsoft/fluentui/pull/21518) by behowell@microsoft.com)
|
|
17
35
|
- Allow React 17 in peerDependencies. ([PR #21544](https://github.com/microsoft/fluentui/pull/21544) by tristan.watanabe@gmail.com)
|
|
18
36
|
- Remove component's shorthandProps array ([PR #21134](https://github.com/microsoft/fluentui/pull/21134) by behowell@microsoft.com)
|
|
19
37
|
- use Griffel packages ([PR #21394](https://github.com/microsoft/fluentui/pull/21394) by olfedias@microsoft.com)
|
|
20
38
|
- Using ComponentSlotProps instead of ObjectShorthandProps. ([PR #20890](https://github.com/microsoft/fluentui/pull/20890) by Humberto.Morimoto@microsoft.com)
|
|
21
39
|
- Removes children as a slot from AccordionHeader ([PR #21285](https://github.com/microsoft/fluentui/pull/21285) by bsunderhus@microsoft.com)
|
|
40
|
+
- Bump Fluent UI packages to 9.0.0-rc ([PR #21623](https://github.com/microsoft/fluentui/pull/21623) by lingfangao@hotmail.com)
|
|
22
41
|
- update semantic elements and ARIA roles in react-accordion, add heading level story ([PR #21401](https://github.com/microsoft/fluentui/pull/21401) by sarah.higley@microsoft.com)
|
|
23
42
|
- Update react-icons usage to resizable icons ([PR #21074](https://github.com/microsoft/fluentui/pull/21074) by ololubek@microsoft.com)
|
|
24
43
|
- BREAKING: Rename component hooks add the suffix _unstable, as their API has not been finalized yet ([PR #21365](https://github.com/microsoft/fluentui/pull/21365) by behowell@microsoft.com)
|
|
@@ -26,12 +45,12 @@ Mon, 07 Feb 2022 04:15:30 GMT
|
|
|
26
45
|
- Updating packages based on changes to focusIndicator functions to remove functions from makeStyles in @fluentui/react-tabster. ([PR #21035](https://github.com/microsoft/fluentui/pull/21035) by Humberto.Morimoto@microsoft.com)
|
|
27
46
|
- Replacing use of functions in makeStyles with direct use of tokens. ([PR #21036](https://github.com/microsoft/fluentui/pull/21036) by Humberto.Morimoto@microsoft.com)
|
|
28
47
|
- Remove AccordionHeaderExpandIcon, and use ChevronRightRegular from @fluentui/react-icons instead ([PR #21218](https://github.com/microsoft/fluentui/pull/21218) by behowell@microsoft.com)
|
|
29
|
-
- Bump @fluentui/react-aria to
|
|
30
|
-
- Bump @fluentui/react-context-selector to
|
|
31
|
-
- Bump @fluentui/react-tabster to
|
|
32
|
-
- Bump @fluentui/react-theme to
|
|
33
|
-
- Bump @fluentui/react-utilities to
|
|
34
|
-
- Bump @fluentui/react-conformance-griffel to
|
|
48
|
+
- Bump @fluentui/react-aria to v9.0.0-rc.1 ([commit](https://github.com/microsoft/fluentui/commit/e6c855f6d9019d6c73668d15fc9bc3a13291a6c8) by beachball)
|
|
49
|
+
- Bump @fluentui/react-context-selector to v9.0.0-rc.1 ([commit](https://github.com/microsoft/fluentui/commit/e6c855f6d9019d6c73668d15fc9bc3a13291a6c8) by beachball)
|
|
50
|
+
- Bump @fluentui/react-tabster to v9.0.0-rc.1 ([commit](https://github.com/microsoft/fluentui/commit/e6c855f6d9019d6c73668d15fc9bc3a13291a6c8) by beachball)
|
|
51
|
+
- Bump @fluentui/react-theme to v9.0.0-rc.1 ([commit](https://github.com/microsoft/fluentui/commit/e6c855f6d9019d6c73668d15fc9bc3a13291a6c8) by beachball)
|
|
52
|
+
- Bump @fluentui/react-utilities to v9.0.0-rc.1 ([commit](https://github.com/microsoft/fluentui/commit/e6c855f6d9019d6c73668d15fc9bc3a13291a6c8) by beachball)
|
|
53
|
+
- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.1 ([commit](https://github.com/microsoft/fluentui/commit/e6c855f6d9019d6c73668d15fc9bc3a13291a6c8) by beachball)
|
|
35
54
|
|
|
36
55
|
## [9.0.0-beta.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.0.0-beta.5)
|
|
37
56
|
|
package/Spec.md
CHANGED
|
@@ -37,9 +37,10 @@ The root level component serves context and common API between all children.
|
|
|
37
37
|
export type AccordionProps = ComponentProps &
|
|
38
38
|
React.HTMLAttributes<HTMLElement> & {
|
|
39
39
|
/**
|
|
40
|
-
* Indicates if keyboard navigation is available
|
|
40
|
+
* Indicates if keyboard navigation is available and gives two options,
|
|
41
|
+
* linear or circular navigation
|
|
41
42
|
*/
|
|
42
|
-
|
|
43
|
+
navigation?: 'linear' | 'circular';
|
|
43
44
|
/**
|
|
44
45
|
* Indicates if Accordion support multiple Panels opened at the same time
|
|
45
46
|
*/
|
|
@@ -410,6 +411,37 @@ As a general rule, once the accordion is closed the focus should return to the h
|
|
|
410
411
|
| Keyboard | Home | Moves Focus | Moves focus to the first panel heading |
|
|
411
412
|
| Keyboard | End | Moves Focus | Moves focus to the last panel heading |
|
|
412
413
|
|
|
413
|
-
##
|
|
414
|
+
## Accessibility
|
|
414
415
|
|
|
415
|
-
Accessibility
|
|
416
|
+
Accessibility behavior is built into the spec as much as possible. This section addresses specific issues that don't fit well with the standard definition of the component.
|
|
417
|
+
|
|
418
|
+
### No heading level on `AccordionHeader` by default
|
|
419
|
+
|
|
420
|
+
As described on [WAI-ARIA Roles, States, and Properties](https://www.w3.org/TR/wai-aria-practices/#wai-aria-roles-states-and-properties) documentation for accordion:
|
|
421
|
+
|
|
422
|
+
> Each accordion header button is wrapped in an element with role heading that has a value set for aria-level that is appropriate for the information architecture of the page.
|
|
423
|
+
|
|
424
|
+
Every `AccordionHeader` should have as its root a semantic heading element: `h1`, `h2`, `h3`, `h4`, `h5` or `h6`. Alternatively `role="heading"` and a proper `aria-level` attribute. This behavior is not implemented by default on `AccordionHeader` as it's impossible to predict which heading level will be required by the user. Requiring manual addition of such ARIA requirement.
|
|
425
|
+
|
|
426
|
+
```tsx
|
|
427
|
+
{/* No heading level by default */}
|
|
428
|
+
<AccordionHeader>This is a header</AccordionHeader>
|
|
429
|
+
{/* Generated html */}
|
|
430
|
+
<div>
|
|
431
|
+
<button>This is a header</button>
|
|
432
|
+
</div>
|
|
433
|
+
|
|
434
|
+
{/* as semantic heading */}
|
|
435
|
+
<AccordionHeader as="h4">This is a header</AccordionHeader>
|
|
436
|
+
{/* Generated html */}
|
|
437
|
+
<h4>
|
|
438
|
+
<button>This is a header</button>
|
|
439
|
+
</h4>
|
|
440
|
+
|
|
441
|
+
{/* if no semantic heading can be used */}
|
|
442
|
+
<AccordionHeader role="heading" aria-level="4">This is a header</AccordionHeader>
|
|
443
|
+
{/* Generated html */}
|
|
444
|
+
<div role="heading" aria-level="4">
|
|
445
|
+
<button>This is a header</button>
|
|
446
|
+
</h4>
|
|
447
|
+
```
|
|
@@ -3,8 +3,8 @@ import type { ComponentProps } from '@fluentui/react-utilities';
|
|
|
3
3
|
import type { ComponentState } from '@fluentui/react-utilities';
|
|
4
4
|
import type { Context } from '@fluentui/react-context-selector';
|
|
5
5
|
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
|
6
|
-
import type { IntrinsicSlotProps } from '@fluentui/react-utilities';
|
|
7
6
|
import * as React_2 from 'react';
|
|
7
|
+
import type { Slot } from '@fluentui/react-utilities';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Define a styled Accordion, using the `useAccordion_unstable` and `useAccordionStyles_unstable` hooks.
|
|
@@ -13,11 +13,12 @@ export declare const Accordion: ForwardRefComponent<AccordionProps>;
|
|
|
13
13
|
|
|
14
14
|
export declare const accordionClassName = "fui-Accordion";
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
declare type AccordionCommons = {
|
|
17
17
|
/**
|
|
18
|
-
* Indicates if keyboard navigation is available
|
|
18
|
+
* Indicates if keyboard navigation is available and gives two options,
|
|
19
|
+
* linear or circular navigation
|
|
19
20
|
*/
|
|
20
|
-
|
|
21
|
+
navigation?: 'linear' | 'circular';
|
|
21
22
|
/**
|
|
22
23
|
* Indicates if Accordion support multiple Panels opened at the same time
|
|
23
24
|
*/
|
|
@@ -54,7 +55,7 @@ export declare const AccordionHeader: ForwardRefComponent<AccordionHeaderProps>;
|
|
|
54
55
|
|
|
55
56
|
export declare const accordionHeaderClassName = "fui-AccordionHeader";
|
|
56
57
|
|
|
57
|
-
|
|
58
|
+
declare type AccordionHeaderCommons = {
|
|
58
59
|
/**
|
|
59
60
|
* Size of spacing in the heading
|
|
60
61
|
*/
|
|
@@ -82,7 +83,7 @@ export declare type AccordionHeaderContextValues = {
|
|
|
82
83
|
|
|
83
84
|
export declare type AccordionHeaderExpandIconPosition = 'start' | 'end';
|
|
84
85
|
|
|
85
|
-
export declare type AccordionHeaderProps = ComponentProps<AccordionHeaderSlots
|
|
86
|
+
export declare type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & Partial<AccordionHeaderCommons>;
|
|
86
87
|
|
|
87
88
|
export declare type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';
|
|
88
89
|
|
|
@@ -90,19 +91,19 @@ export declare type AccordionHeaderSlots = {
|
|
|
90
91
|
/**
|
|
91
92
|
* The element wrapping the button. By default this is a div, but can be a heading.
|
|
92
93
|
*/
|
|
93
|
-
root:
|
|
94
|
+
root: Slot<'div', 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;
|
|
94
95
|
/**
|
|
95
96
|
* The component to be used as button in heading
|
|
96
97
|
*/
|
|
97
|
-
button: ARIAButtonSlotProps
|
|
98
|
+
button: NonNullable<Slot<ARIAButtonSlotProps>>;
|
|
98
99
|
/**
|
|
99
100
|
* Expand icon slot rendered before (or after) children content in heading
|
|
100
101
|
*/
|
|
101
|
-
expandIcon:
|
|
102
|
+
expandIcon: Slot<'span'>;
|
|
102
103
|
/**
|
|
103
104
|
* Expand icon slot rendered before (or after) children content in heading
|
|
104
105
|
*/
|
|
105
|
-
icon?:
|
|
106
|
+
icon?: Slot<'div'>;
|
|
106
107
|
};
|
|
107
108
|
|
|
108
109
|
export declare type AccordionHeaderState = ComponentState<AccordionHeaderSlots> & AccordionHeaderCommons & AccordionHeaderContextValue;
|
|
@@ -116,7 +117,7 @@ export declare const AccordionItem: ForwardRefComponent<AccordionItemProps>;
|
|
|
116
117
|
|
|
117
118
|
export declare const accordionItemClassName = "fui-AccordionItem";
|
|
118
119
|
|
|
119
|
-
|
|
120
|
+
declare type AccordionItemCommons = {
|
|
120
121
|
/**
|
|
121
122
|
* Disables opening/closing of panel
|
|
122
123
|
*/
|
|
@@ -141,7 +142,7 @@ export declare type AccordionItemContextValues = {
|
|
|
141
142
|
export declare type AccordionItemProps = ComponentProps<AccordionItemSlots> & Partial<AccordionItemCommons> & Pick<AccordionItemCommons, 'value'>;
|
|
142
143
|
|
|
143
144
|
export declare type AccordionItemSlots = {
|
|
144
|
-
root:
|
|
145
|
+
root: Slot<'div'>;
|
|
145
146
|
};
|
|
146
147
|
|
|
147
148
|
export declare type AccordionItemState = ComponentState<AccordionItemSlots> & AccordionItemCommons & AccordionItemContextValue;
|
|
@@ -158,7 +159,7 @@ export declare const accordionPanelClassName = "fui-AccordionPanel";
|
|
|
158
159
|
export declare type AccordionPanelProps = ComponentProps<AccordionPanelSlots>;
|
|
159
160
|
|
|
160
161
|
export declare type AccordionPanelSlots = {
|
|
161
|
-
root:
|
|
162
|
+
root: Slot<'div'>;
|
|
162
163
|
};
|
|
163
164
|
|
|
164
165
|
export declare type AccordionPanelState = ComponentState<AccordionPanelSlots> & {
|
|
@@ -181,7 +182,7 @@ export declare type AccordionProps = ComponentProps<AccordionSlots> & Partial<Ac
|
|
|
181
182
|
};
|
|
182
183
|
|
|
183
184
|
export declare type AccordionSlots = {
|
|
184
|
-
root:
|
|
185
|
+
root: Slot<'div'>;
|
|
185
186
|
};
|
|
186
187
|
|
|
187
188
|
export declare type AccordionState = ComponentState<AccordionSlots> & AccordionCommons & AccordionContextValue;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { ComponentProps, ComponentState,
|
|
2
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
3
3
|
import type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';
|
|
4
4
|
export declare type AccordionIndex = number | number[];
|
|
5
5
|
export declare type AccordionToggleEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;
|
|
6
6
|
export declare type AccordionToggleEventHandler = (event: AccordionToggleEvent, data: AccordionToggleData) => void;
|
|
7
|
-
|
|
7
|
+
declare type AccordionCommons = {
|
|
8
8
|
/**
|
|
9
|
-
* Indicates if keyboard navigation is available
|
|
9
|
+
* Indicates if keyboard navigation is available and gives two options,
|
|
10
|
+
* linear or circular navigation
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
+
navigation?: 'linear' | 'circular';
|
|
12
13
|
/**
|
|
13
14
|
* Indicates if Accordion support multiple Panels opened at the same time
|
|
14
15
|
*/
|
|
@@ -33,7 +34,7 @@ export declare type AccordionContextValues = {
|
|
|
33
34
|
accordion: AccordionContextValue;
|
|
34
35
|
};
|
|
35
36
|
export declare type AccordionSlots = {
|
|
36
|
-
root:
|
|
37
|
+
root: Slot<'div'>;
|
|
37
38
|
};
|
|
38
39
|
export declare type AccordionToggleData = {
|
|
39
40
|
value: AccordionItemValue;
|
|
@@ -50,3 +51,4 @@ export declare type AccordionProps = ComponentProps<AccordionSlots> & Partial<Ac
|
|
|
50
51
|
onToggle?: AccordionToggleEventHandler;
|
|
51
52
|
};
|
|
52
53
|
export declare type AccordionState = ComponentState<AccordionSlots> & AccordionCommons & AccordionContextValue;
|
|
54
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/AccordionContext.ts"],"names":[],"mappings":"AAAA,SAAS,aAAT,QAA8B,kCAA9B;AAIA,OAAO,MAAM,gBAAgB,gBAAmC,aAAa,CAAwB;AACnG,EAAA,SAAS,EAAE,EADwF;AAEnG,EAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/AccordionContext.ts"],"names":[],"mappings":"AAAA,SAAS,aAAT,QAA8B,kCAA9B;AAIA,OAAO,MAAM,gBAAgB,gBAAmC,aAAa,CAAwB;AACnG,EAAA,SAAS,EAAE,EADwF;AAEnG,EAAA,WAAW,EAAE,KAFsF;;AAGnG,EAAA,aAAa,GAAA;AACX;AACD;;AALkG,CAAxB,CAAtE","sourceRoot":""}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { getNativeElementProps, useControllableState, useEventCallback } from '@fluentui/react-utilities';
|
|
3
|
+
import { useArrowNavigationGroup } from '@fluentui/react-tabster';
|
|
3
4
|
/**
|
|
4
5
|
* Returns the props and state required to render the component
|
|
5
6
|
* @param props - Accordion properties
|
|
@@ -13,36 +14,37 @@ export const useAccordion_unstable = (props, ref) => {
|
|
|
13
14
|
multiple = false,
|
|
14
15
|
collapsible = false,
|
|
15
16
|
onToggle,
|
|
16
|
-
|
|
17
|
+
navigation
|
|
17
18
|
} = props;
|
|
18
19
|
const [openItems, setOpenItems] = useControllableState({
|
|
19
20
|
state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),
|
|
20
21
|
defaultState: () => initializeUncontrolledOpenItems({
|
|
21
|
-
collapsible,
|
|
22
22
|
defaultOpenItems,
|
|
23
23
|
multiple
|
|
24
24
|
}),
|
|
25
25
|
initialState: []
|
|
26
26
|
});
|
|
27
|
+
const arrowNavigationProps = useArrowNavigationGroup({
|
|
28
|
+
circular: navigation === 'circular'
|
|
29
|
+
});
|
|
27
30
|
const requestToggle = useEventCallback((event, data) => {
|
|
28
31
|
onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, data);
|
|
29
|
-
setOpenItems(previousOpenItems => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
});
|
|
32
|
+
setOpenItems(previousOpenItems => updateOpenItems(data.value, previousOpenItems, {
|
|
33
|
+
collapsible,
|
|
34
|
+
multiple
|
|
35
|
+
}));
|
|
35
36
|
});
|
|
36
37
|
return {
|
|
37
38
|
multiple,
|
|
38
39
|
collapsible,
|
|
39
|
-
|
|
40
|
+
navigation,
|
|
40
41
|
openItems,
|
|
41
42
|
requestToggle,
|
|
42
43
|
components: {
|
|
43
44
|
root: 'div'
|
|
44
45
|
},
|
|
45
46
|
root: getNativeElementProps('div', { ...props,
|
|
47
|
+
...(navigation ? arrowNavigationProps : {}),
|
|
46
48
|
ref
|
|
47
49
|
})
|
|
48
50
|
};
|
|
@@ -53,8 +55,7 @@ export const useAccordion_unstable = (props, ref) => {
|
|
|
53
55
|
|
|
54
56
|
function initializeUncontrolledOpenItems({
|
|
55
57
|
defaultOpenItems,
|
|
56
|
-
multiple
|
|
57
|
-
collapsible
|
|
58
|
+
multiple
|
|
58
59
|
}) {
|
|
59
60
|
if (defaultOpenItems !== undefined) {
|
|
60
61
|
if (Array.isArray(defaultOpenItems)) {
|
|
@@ -63,14 +64,8 @@ function initializeUncontrolledOpenItems({
|
|
|
63
64
|
|
|
64
65
|
return [defaultOpenItems];
|
|
65
66
|
}
|
|
66
|
-
/**
|
|
67
|
-
* TODO: since the dropping of descendants API due to performance issues,
|
|
68
|
-
* the default behavior of Accordion has been compromised and [0] makes no sense
|
|
69
|
-
* indexes are not used anymore to ensure the position of the element which should be opened by default
|
|
70
|
-
*/
|
|
71
|
-
|
|
72
67
|
|
|
73
|
-
return
|
|
68
|
+
return [];
|
|
74
69
|
}
|
|
75
70
|
/**
|
|
76
71
|
* Updates the list of open indexes based on an index that changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/useAccordion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,EAAgC,oBAAhC,EAAsD,gBAAtD,QAA8E,2BAA9E;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/useAccordion.ts"],"names":[],"mappings":"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","sourceRoot":""}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export function useAccordionContextValues_unstable(state) {
|
|
2
2
|
const {
|
|
3
|
-
|
|
3
|
+
navigation,
|
|
4
4
|
openItems,
|
|
5
5
|
requestToggle,
|
|
6
6
|
collapsible
|
|
7
7
|
} = state; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
|
|
8
8
|
|
|
9
9
|
const accordion = {
|
|
10
|
-
|
|
10
|
+
navigation,
|
|
11
11
|
openItems,
|
|
12
12
|
requestToggle,
|
|
13
13
|
collapsible
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,kCAAV,CAA6C,KAA7C,EAAkE;AACtE,QAAM;AAAE,IAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,kCAAV,CAA6C,KAA7C,EAAkE;AACtE,QAAM;AAAE,IAAA,UAAF;AAAc,IAAA,SAAd;AAAyB,IAAA,aAAzB;AAAwC,IAAA;AAAxC,MAAwD,KAA9D,CADsE,CAGtE;;AACA,QAAM,SAAS,GAA0B;AACvC,IAAA,UADuC;AAEvC,IAAA,SAFuC;AAGvC,IAAA,aAHuC;AAIvC,IAAA;AAJuC,GAAzC;AAOA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD","sourceRoot":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentProps, ComponentState,
|
|
1
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
2
2
|
import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
|
|
3
3
|
export declare type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';
|
|
4
4
|
export declare type AccordionHeaderExpandIconPosition = 'start' | 'end';
|
|
@@ -15,21 +15,21 @@ export declare type AccordionHeaderSlots = {
|
|
|
15
15
|
/**
|
|
16
16
|
* The element wrapping the button. By default this is a div, but can be a heading.
|
|
17
17
|
*/
|
|
18
|
-
root:
|
|
18
|
+
root: Slot<'div', 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;
|
|
19
19
|
/**
|
|
20
20
|
* The component to be used as button in heading
|
|
21
21
|
*/
|
|
22
|
-
button: ARIAButtonSlotProps
|
|
22
|
+
button: NonNullable<Slot<ARIAButtonSlotProps>>;
|
|
23
23
|
/**
|
|
24
24
|
* Expand icon slot rendered before (or after) children content in heading
|
|
25
25
|
*/
|
|
26
|
-
expandIcon:
|
|
26
|
+
expandIcon: Slot<'span'>;
|
|
27
27
|
/**
|
|
28
28
|
* Expand icon slot rendered before (or after) children content in heading
|
|
29
29
|
*/
|
|
30
|
-
icon?:
|
|
30
|
+
icon?: Slot<'div'>;
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
declare type AccordionHeaderCommons = {
|
|
33
33
|
/**
|
|
34
34
|
* Size of spacing in the heading
|
|
35
35
|
*/
|
|
@@ -43,5 +43,6 @@ export declare type AccordionHeaderCommons = {
|
|
|
43
43
|
*/
|
|
44
44
|
inline: boolean;
|
|
45
45
|
};
|
|
46
|
-
export declare type AccordionHeaderProps = ComponentProps<AccordionHeaderSlots
|
|
46
|
+
export declare type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & Partial<AccordionHeaderCommons>;
|
|
47
47
|
export declare type AccordionHeaderState = ComponentState<AccordionHeaderSlots> & AccordionHeaderCommons & AccordionHeaderContextValue;
|
|
48
|
+
export {};
|
|
@@ -15,7 +15,7 @@ export const renderAccordionHeader_unstable = (state, contextValues) => {
|
|
|
15
15
|
}, /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
|
|
16
16
|
}, /*#__PURE__*/React.createElement(slots.button, { ...slotProps.button
|
|
17
17
|
}, state.expandIconPosition === 'start' && /*#__PURE__*/React.createElement(slots.expandIcon, { ...slotProps.expandIcon
|
|
18
|
-
}), /*#__PURE__*/React.createElement(slots.icon, { ...slotProps.icon
|
|
18
|
+
}), slots.icon && /*#__PURE__*/React.createElement(slots.icon, { ...slotProps.icon
|
|
19
19
|
}), slotProps.root.children, state.expandIconPosition === 'end' && /*#__PURE__*/React.createElement(slots.expandIcon, { ...slotProps.expandIcon
|
|
20
20
|
}))));
|
|
21
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/AccordionHeader/renderAccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AACA,SAAS,sBAAT,QAAuC,0BAAvC;AAGA;;AAEG;;AACH,OAAO,MAAM,8BAA8B,GAAG,CAC5C,KAD4C,EAE5C,aAF4C,KAG1C;AACF,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAuB,KAAvB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,sBAAsB,CAAC,QAAxB,EAAgC;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAhC,eACE,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,EACG,KAAK,CAAC,kBAAN,KAA6B,OAA7B,iBAAwC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAD3C,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/AccordionHeader/renderAccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AACA,SAAS,sBAAT,QAAuC,0BAAvC;AAGA;;AAEG;;AACH,OAAO,MAAM,8BAA8B,GAAG,CAC5C,KAD4C,EAE5C,aAF4C,KAG1C;AACF,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAuB,KAAvB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,sBAAsB,CAAC,QAAxB,EAAgC;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAhC,eACE,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,EACG,KAAK,CAAC,kBAAN,KAA6B,OAA7B,iBAAwC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAD3C,EAEG,KAAK,CAAC,IAAN,iBAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAFjB,EAGG,SAAS,CAAC,IAAV,CAAe,QAHlB,EAIG,KAAK,CAAC,kBAAN,KAA6B,KAA7B,iBAAsC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAJzC,CADF,CADF,CADF;AAYD,CAlBM","sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { ComponentProps, ComponentState,
|
|
2
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
3
3
|
export declare type AccordionItemContextValue = Omit<AccordionItemCommons, 'value'> & {
|
|
4
4
|
open: boolean;
|
|
5
5
|
onHeaderClick(ev: React.MouseEvent | React.KeyboardEvent): void;
|
|
@@ -8,9 +8,9 @@ export declare type AccordionItemContextValues = {
|
|
|
8
8
|
accordionItem: AccordionItemContextValue;
|
|
9
9
|
};
|
|
10
10
|
export declare type AccordionItemSlots = {
|
|
11
|
-
root:
|
|
11
|
+
root: Slot<'div'>;
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
declare type AccordionItemCommons = {
|
|
14
14
|
/**
|
|
15
15
|
* Disables opening/closing of panel
|
|
16
16
|
*/
|
|
@@ -23,3 +23,4 @@ export declare type AccordionItemCommons = {
|
|
|
23
23
|
export declare type AccordionItemProps = ComponentProps<AccordionItemSlots> & Partial<AccordionItemCommons> & Pick<AccordionItemCommons, 'value'>;
|
|
24
24
|
export declare type AccordionItemValue = unknown;
|
|
25
25
|
export declare type AccordionItemState = ComponentState<AccordionItemSlots> & AccordionItemCommons & AccordionItemContextValue;
|
|
26
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { getNativeElementProps } from '@fluentui/react-utilities';
|
|
3
|
-
import {
|
|
3
|
+
import { useFocusableGroup } from '@fluentui/react-tabster';
|
|
4
4
|
import { useContextSelector } from '@fluentui/react-context-selector';
|
|
5
5
|
import { AccordionContext } from '../Accordion/AccordionContext';
|
|
6
6
|
/**
|
|
@@ -14,10 +14,8 @@ export const useAccordionItem_unstable = (props, ref) => {
|
|
|
14
14
|
value,
|
|
15
15
|
disabled = false
|
|
16
16
|
} = props;
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
groupper: {}
|
|
20
|
-
});
|
|
17
|
+
const navigation = useContextSelector(AccordionContext, ctx => ctx.navigation);
|
|
18
|
+
const focusableProps = useFocusableGroup();
|
|
21
19
|
const requestToggle = useContextSelector(AccordionContext, ctx => ctx.requestToggle);
|
|
22
20
|
const open = useContextSelector(AccordionContext, ctx => ctx.openItems.includes(value));
|
|
23
21
|
const onAccordionHeaderClick = React.useCallback(ev => requestToggle(ev, {
|
|
@@ -33,8 +31,8 @@ export const useAccordionItem_unstable = (props, ref) => {
|
|
|
33
31
|
},
|
|
34
32
|
root: getNativeElementProps('div', {
|
|
35
33
|
ref: ref,
|
|
36
|
-
...
|
|
37
|
-
...
|
|
34
|
+
...props,
|
|
35
|
+
...(navigation && focusableProps)
|
|
38
36
|
})
|
|
39
37
|
};
|
|
40
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/AccordionItem/useAccordionItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,QAAsC,2BAAtC;AACA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/AccordionItem/useAccordionItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,QAAsC,2BAAtC;AACA,SAAS,iBAAT,QAAkC,yBAAlC;AACA,SAAS,kBAAT,QAAmC,kCAAnC;AACA,SAAS,gBAAT,QAAiC,+BAAjC;AAIA;;;;AAIG;;AACH,OAAO,MAAM,yBAAyB,GAAG,CACvC,KADuC,EAEvC,GAFuC,KAGjB;AACtB,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA,QAAQ,GAAG;AAApB,MAA8B,KAApC;AACA,QAAM,UAAU,GAAG,kBAAkB,CAAC,gBAAD,EAAmB,GAAG,IAAI,GAAG,CAAC,UAA9B,CAArC;AACA,QAAM,cAAc,GAAG,iBAAiB,EAAxC;AAEA,QAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAD,EAAmB,GAAG,IAAI,GAAG,CAAC,aAA9B,CAAxC;AACA,QAAM,IAAI,GAAG,kBAAkB,CAAC,gBAAD,EAAmB,GAAG,IAAI,GAAG,CAAC,SAAJ,CAAc,QAAd,CAAuB,KAAvB,CAA1B,CAA/B;AACA,QAAM,sBAAsB,GAAG,KAAK,CAAC,WAAN,CAAmB,EAAD,IAA8B,aAAa,CAAC,EAAD,EAAK;AAAE,IAAA;AAAF,GAAL,CAA7D,EAA8E,CAC3G,aAD2G,EAE3G,KAF2G,CAA9E,CAA/B;AAKA,SAAO;AACL,IAAA,IADK;AAEL,IAAA,KAFK;AAGL,IAAA,QAHK;AAIL,IAAA,aAAa,EAAE,sBAJV;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE;AADI,KALP;AAQL,IAAA,IAAI,EAAE,qBAAqB,CAAC,KAAD,EAAQ;AACjC,MAAA,GAAG,EAAE,GAD4B;AAEjC,SAAG,KAF8B;AAGjC,UAAI,UAAU,IAAI,cAAlB;AAHiC,KAAR;AARtB,GAAP;AAcD,CA7BM","sourceRoot":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ComponentProps, ComponentState,
|
|
1
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
2
2
|
export declare type AccordionPanelSlots = {
|
|
3
|
-
root:
|
|
3
|
+
root: Slot<'div'>;
|
|
4
4
|
};
|
|
5
5
|
export declare type AccordionPanelProps = ComponentProps<AccordionPanelSlots>;
|
|
6
6
|
export declare type AccordionPanelState = ComponentState<AccordionPanelSlots> & {
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { ComponentProps, ComponentState,
|
|
2
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
3
3
|
import type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';
|
|
4
4
|
export declare type AccordionIndex = number | number[];
|
|
5
5
|
export declare type AccordionToggleEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;
|
|
6
6
|
export declare type AccordionToggleEventHandler = (event: AccordionToggleEvent, data: AccordionToggleData) => void;
|
|
7
|
-
|
|
7
|
+
declare type AccordionCommons = {
|
|
8
8
|
/**
|
|
9
|
-
* Indicates if keyboard navigation is available
|
|
9
|
+
* Indicates if keyboard navigation is available and gives two options,
|
|
10
|
+
* linear or circular navigation
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
+
navigation?: 'linear' | 'circular';
|
|
12
13
|
/**
|
|
13
14
|
* Indicates if Accordion support multiple Panels opened at the same time
|
|
14
15
|
*/
|
|
@@ -33,7 +34,7 @@ export declare type AccordionContextValues = {
|
|
|
33
34
|
accordion: AccordionContextValue;
|
|
34
35
|
};
|
|
35
36
|
export declare type AccordionSlots = {
|
|
36
|
-
root:
|
|
37
|
+
root: Slot<'div'>;
|
|
37
38
|
};
|
|
38
39
|
export declare type AccordionToggleData = {
|
|
39
40
|
value: AccordionItemValue;
|
|
@@ -50,3 +51,4 @@ export declare type AccordionProps = ComponentProps<AccordionSlots> & Partial<Ac
|
|
|
50
51
|
onToggle?: AccordionToggleEventHandler;
|
|
51
52
|
};
|
|
52
53
|
export declare type AccordionState = ComponentState<AccordionSlots> & AccordionCommons & AccordionContextValue;
|
|
54
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/AccordionContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AAIa,OAAA,CAAA,gBAAA,gBAAmD,wBAAA,CAAA,aAAA,CAAqC;AACnG,EAAA,SAAS,EAAE,EADwF;AAEnG,EAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/AccordionContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AAIa,OAAA,CAAA,gBAAA,gBAAmD,wBAAA,CAAA,aAAA,CAAqC;AACnG,EAAA,SAAS,EAAE,EADwF;AAEnG,EAAA,WAAW,EAAE,KAFsF;;AAGnG,EAAA,aAAa,GAAA;AACX;AACD;;AALkG,CAArC,CAAnD","sourceRoot":""}
|
|
@@ -8,6 +8,8 @@ exports.useAccordion_unstable = void 0;
|
|
|
8
8
|
const React = /*#__PURE__*/require("react");
|
|
9
9
|
|
|
10
10
|
const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
|
|
11
|
+
|
|
12
|
+
const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
|
|
11
13
|
/**
|
|
12
14
|
* Returns the props and state required to render the component
|
|
13
15
|
* @param props - Accordion properties
|
|
@@ -22,36 +24,37 @@ const useAccordion_unstable = (props, ref) => {
|
|
|
22
24
|
multiple = false,
|
|
23
25
|
collapsible = false,
|
|
24
26
|
onToggle,
|
|
25
|
-
|
|
27
|
+
navigation
|
|
26
28
|
} = props;
|
|
27
29
|
const [openItems, setOpenItems] = react_utilities_1.useControllableState({
|
|
28
30
|
state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),
|
|
29
31
|
defaultState: () => initializeUncontrolledOpenItems({
|
|
30
|
-
collapsible,
|
|
31
32
|
defaultOpenItems,
|
|
32
33
|
multiple
|
|
33
34
|
}),
|
|
34
35
|
initialState: []
|
|
35
36
|
});
|
|
37
|
+
const arrowNavigationProps = react_tabster_1.useArrowNavigationGroup({
|
|
38
|
+
circular: navigation === 'circular'
|
|
39
|
+
});
|
|
36
40
|
const requestToggle = react_utilities_1.useEventCallback((event, data) => {
|
|
37
41
|
onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, data);
|
|
38
|
-
setOpenItems(previousOpenItems => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
43
|
-
});
|
|
42
|
+
setOpenItems(previousOpenItems => updateOpenItems(data.value, previousOpenItems, {
|
|
43
|
+
collapsible,
|
|
44
|
+
multiple
|
|
45
|
+
}));
|
|
44
46
|
});
|
|
45
47
|
return {
|
|
46
48
|
multiple,
|
|
47
49
|
collapsible,
|
|
48
|
-
|
|
50
|
+
navigation,
|
|
49
51
|
openItems,
|
|
50
52
|
requestToggle,
|
|
51
53
|
components: {
|
|
52
54
|
root: 'div'
|
|
53
55
|
},
|
|
54
56
|
root: react_utilities_1.getNativeElementProps('div', { ...props,
|
|
57
|
+
...(navigation ? arrowNavigationProps : {}),
|
|
55
58
|
ref
|
|
56
59
|
})
|
|
57
60
|
};
|
|
@@ -64,8 +67,7 @@ exports.useAccordion_unstable = useAccordion_unstable;
|
|
|
64
67
|
|
|
65
68
|
function initializeUncontrolledOpenItems({
|
|
66
69
|
defaultOpenItems,
|
|
67
|
-
multiple
|
|
68
|
-
collapsible
|
|
70
|
+
multiple
|
|
69
71
|
}) {
|
|
70
72
|
if (defaultOpenItems !== undefined) {
|
|
71
73
|
if (Array.isArray(defaultOpenItems)) {
|
|
@@ -74,14 +76,8 @@ function initializeUncontrolledOpenItems({
|
|
|
74
76
|
|
|
75
77
|
return [defaultOpenItems];
|
|
76
78
|
}
|
|
77
|
-
/**
|
|
78
|
-
* TODO: since the dropping of descendants API due to performance issues,
|
|
79
|
-
* the default behavior of Accordion has been compromised and [0] makes no sense
|
|
80
|
-
* indexes are not used anymore to ensure the position of the element which should be opened by default
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
79
|
|
|
84
|
-
return
|
|
80
|
+
return [];
|
|
85
81
|
}
|
|
86
82
|
/**
|
|
87
83
|
* Updates the list of open indexes based on an index that changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/useAccordion.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/useAccordion.ts"],"names":[],"mappings":"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","sourceRoot":""}
|
|
@@ -7,14 +7,14 @@ exports.useAccordionContextValues_unstable = void 0;
|
|
|
7
7
|
|
|
8
8
|
function useAccordionContextValues_unstable(state) {
|
|
9
9
|
const {
|
|
10
|
-
|
|
10
|
+
navigation,
|
|
11
11
|
openItems,
|
|
12
12
|
requestToggle,
|
|
13
13
|
collapsible
|
|
14
14
|
} = state; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
|
|
15
15
|
|
|
16
16
|
const accordion = {
|
|
17
|
-
|
|
17
|
+
navigation,
|
|
18
18
|
openItems,
|
|
19
19
|
requestToggle,
|
|
20
20
|
collapsible
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":";;;;;;;AAEA,SAAgB,kCAAhB,CAAmD,KAAnD,EAAwE;AACtE,QAAM;AAAE,IAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":";;;;;;;AAEA,SAAgB,kCAAhB,CAAmD,KAAnD,EAAwE;AACtE,QAAM;AAAE,IAAA,UAAF;AAAc,IAAA,SAAd;AAAyB,IAAA,aAAzB;AAAwC,IAAA;AAAxC,MAAwD,KAA9D,CADsE,CAGtE;;AACA,QAAM,SAAS,GAA0B;AACvC,IAAA,UADuC;AAEvC,IAAA,SAFuC;AAGvC,IAAA,aAHuC;AAIvC,IAAA;AAJuC,GAAzC;AAOA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD;;AAZD,OAAA,CAAA,kCAAA,GAAA,kCAAA","sourceRoot":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentProps, ComponentState,
|
|
1
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
2
2
|
import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
|
|
3
3
|
export declare type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';
|
|
4
4
|
export declare type AccordionHeaderExpandIconPosition = 'start' | 'end';
|
|
@@ -15,21 +15,21 @@ export declare type AccordionHeaderSlots = {
|
|
|
15
15
|
/**
|
|
16
16
|
* The element wrapping the button. By default this is a div, but can be a heading.
|
|
17
17
|
*/
|
|
18
|
-
root:
|
|
18
|
+
root: Slot<'div', 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;
|
|
19
19
|
/**
|
|
20
20
|
* The component to be used as button in heading
|
|
21
21
|
*/
|
|
22
|
-
button: ARIAButtonSlotProps
|
|
22
|
+
button: NonNullable<Slot<ARIAButtonSlotProps>>;
|
|
23
23
|
/**
|
|
24
24
|
* Expand icon slot rendered before (or after) children content in heading
|
|
25
25
|
*/
|
|
26
|
-
expandIcon:
|
|
26
|
+
expandIcon: Slot<'span'>;
|
|
27
27
|
/**
|
|
28
28
|
* Expand icon slot rendered before (or after) children content in heading
|
|
29
29
|
*/
|
|
30
|
-
icon?:
|
|
30
|
+
icon?: Slot<'div'>;
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
declare type AccordionHeaderCommons = {
|
|
33
33
|
/**
|
|
34
34
|
* Size of spacing in the heading
|
|
35
35
|
*/
|
|
@@ -43,5 +43,6 @@ export declare type AccordionHeaderCommons = {
|
|
|
43
43
|
*/
|
|
44
44
|
inline: boolean;
|
|
45
45
|
};
|
|
46
|
-
export declare type AccordionHeaderProps = ComponentProps<AccordionHeaderSlots
|
|
46
|
+
export declare type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & Partial<AccordionHeaderCommons>;
|
|
47
47
|
export declare type AccordionHeaderState = ComponentState<AccordionHeaderSlots> & AccordionHeaderCommons & AccordionHeaderContextValue;
|
|
48
|
+
export {};
|
|
@@ -25,7 +25,7 @@ const renderAccordionHeader_unstable = (state, contextValues) => {
|
|
|
25
25
|
}, React.createElement(slots.root, { ...slotProps.root
|
|
26
26
|
}, React.createElement(slots.button, { ...slotProps.button
|
|
27
27
|
}, state.expandIconPosition === 'start' && React.createElement(slots.expandIcon, { ...slotProps.expandIcon
|
|
28
|
-
}), React.createElement(slots.icon, { ...slotProps.icon
|
|
28
|
+
}), slots.icon && React.createElement(slots.icon, { ...slotProps.icon
|
|
29
29
|
}), slotProps.root.children, state.expandIconPosition === 'end' && React.createElement(slots.expandIcon, { ...slotProps.expandIcon
|
|
30
30
|
}))));
|
|
31
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/AccordionHeader/renderAccordionHeader.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,wBAAA,gBAAA,OAAA,CAAA,0BAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,8BAA8B,GAAG,CAC5C,KAD4C,EAE5C,aAF4C,KAG1C;AACF,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,iBAAA,CAAA,QAAA,CAA+B,KAA/B,CAA7B;AAEA,SACE,KAAA,CAAA,aAAA,CAAC,wBAAA,CAAA,sBAAA,CAAuB,QAAxB,EAAgC;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAhC,EACE,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,EACG,KAAK,CAAC,kBAAN,KAA6B,OAA7B,IAAwC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAD3C,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/AccordionHeader/renderAccordionHeader.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,wBAAA,gBAAA,OAAA,CAAA,0BAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,8BAA8B,GAAG,CAC5C,KAD4C,EAE5C,aAF4C,KAG1C;AACF,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,iBAAA,CAAA,QAAA,CAA+B,KAA/B,CAA7B;AAEA,SACE,KAAA,CAAA,aAAA,CAAC,wBAAA,CAAA,sBAAA,CAAuB,QAAxB,EAAgC;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAhC,EACE,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,EACG,KAAK,CAAC,kBAAN,KAA6B,OAA7B,IAAwC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAD3C,EAEG,KAAK,CAAC,IAAN,IAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAFjB,EAGG,SAAS,CAAC,IAAV,CAAe,QAHlB,EAIG,KAAK,CAAC,kBAAN,KAA6B,KAA7B,IAAsC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAJzC,CADF,CADF,CADF;AAYD,CAlBM;;AAAM,OAAA,CAAA,8BAAA,GAA8B,8BAA9B","sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { ComponentProps, ComponentState,
|
|
2
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
3
3
|
export declare type AccordionItemContextValue = Omit<AccordionItemCommons, 'value'> & {
|
|
4
4
|
open: boolean;
|
|
5
5
|
onHeaderClick(ev: React.MouseEvent | React.KeyboardEvent): void;
|
|
@@ -8,9 +8,9 @@ export declare type AccordionItemContextValues = {
|
|
|
8
8
|
accordionItem: AccordionItemContextValue;
|
|
9
9
|
};
|
|
10
10
|
export declare type AccordionItemSlots = {
|
|
11
|
-
root:
|
|
11
|
+
root: Slot<'div'>;
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
declare type AccordionItemCommons = {
|
|
14
14
|
/**
|
|
15
15
|
* Disables opening/closing of panel
|
|
16
16
|
*/
|
|
@@ -23,3 +23,4 @@ export declare type AccordionItemCommons = {
|
|
|
23
23
|
export declare type AccordionItemProps = ComponentProps<AccordionItemSlots> & Partial<AccordionItemCommons> & Pick<AccordionItemCommons, 'value'>;
|
|
24
24
|
export declare type AccordionItemValue = unknown;
|
|
25
25
|
export declare type AccordionItemState = ComponentState<AccordionItemSlots> & AccordionItemCommons & AccordionItemContextValue;
|
|
26
|
+
export {};
|
|
@@ -26,10 +26,8 @@ const useAccordionItem_unstable = (props, ref) => {
|
|
|
26
26
|
value,
|
|
27
27
|
disabled = false
|
|
28
28
|
} = props;
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
groupper: {}
|
|
32
|
-
});
|
|
29
|
+
const navigation = react_context_selector_1.useContextSelector(AccordionContext_1.AccordionContext, ctx => ctx.navigation);
|
|
30
|
+
const focusableProps = react_tabster_1.useFocusableGroup();
|
|
33
31
|
const requestToggle = react_context_selector_1.useContextSelector(AccordionContext_1.AccordionContext, ctx => ctx.requestToggle);
|
|
34
32
|
const open = react_context_selector_1.useContextSelector(AccordionContext_1.AccordionContext, ctx => ctx.openItems.includes(value));
|
|
35
33
|
const onAccordionHeaderClick = React.useCallback(ev => requestToggle(ev, {
|
|
@@ -45,8 +43,8 @@ const useAccordionItem_unstable = (props, ref) => {
|
|
|
45
43
|
},
|
|
46
44
|
root: react_utilities_1.getNativeElementProps('div', {
|
|
47
45
|
ref: ref,
|
|
48
|
-
...
|
|
49
|
-
...
|
|
46
|
+
...props,
|
|
47
|
+
...(navigation && focusableProps)
|
|
50
48
|
})
|
|
51
49
|
};
|
|
52
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/AccordionItem/useAccordionItem.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AACA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AACA,MAAA,kBAAA,gBAAA,OAAA,CAAA,+BAAA,CAAA;AAIA;;;;AAIG;;;AACI,MAAM,yBAAyB,GAAG,CACvC,KADuC,EAEvC,GAFuC,KAGjB;AACtB,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA,QAAQ,GAAG;AAApB,MAA8B,KAApC;AACA,QAAM,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/AccordionItem/useAccordionItem.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AACA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AACA,MAAA,kBAAA,gBAAA,OAAA,CAAA,+BAAA,CAAA;AAIA;;;;AAIG;;;AACI,MAAM,yBAAyB,GAAG,CACvC,KADuC,EAEvC,GAFuC,KAGjB;AACtB,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA,QAAQ,GAAG;AAApB,MAA8B,KAApC;AACA,QAAM,UAAU,GAAG,wBAAA,CAAA,kBAAA,CAAmB,kBAAA,CAAA,gBAAnB,EAAqC,GAAG,IAAI,GAAG,CAAC,UAAhD,CAAnB;AACA,QAAM,cAAc,GAAG,eAAA,CAAA,iBAAA,EAAvB;AAEA,QAAM,aAAa,GAAG,wBAAA,CAAA,kBAAA,CAAmB,kBAAA,CAAA,gBAAnB,EAAqC,GAAG,IAAI,GAAG,CAAC,aAAhD,CAAtB;AACA,QAAM,IAAI,GAAG,wBAAA,CAAA,kBAAA,CAAmB,kBAAA,CAAA,gBAAnB,EAAqC,GAAG,IAAI,GAAG,CAAC,SAAJ,CAAc,QAAd,CAAuB,KAAvB,CAA5C,CAAb;AACA,QAAM,sBAAsB,GAAG,KAAK,CAAC,WAAN,CAAmB,EAAD,IAA8B,aAAa,CAAC,EAAD,EAAK;AAAE,IAAA;AAAF,GAAL,CAA7D,EAA8E,CAC3G,aAD2G,EAE3G,KAF2G,CAA9E,CAA/B;AAKA,SAAO;AACL,IAAA,IADK;AAEL,IAAA,KAFK;AAGL,IAAA,QAHK;AAIL,IAAA,aAAa,EAAE,sBAJV;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE;AADI,KALP;AAQL,IAAA,IAAI,EAAE,iBAAA,CAAA,qBAAA,CAAsB,KAAtB,EAA6B;AACjC,MAAA,GAAG,EAAE,GAD4B;AAEjC,SAAG,KAF8B;AAGjC,UAAI,UAAU,IAAI,cAAlB;AAHiC,KAA7B;AARD,GAAP;AAcD,CA7BM;;AAAM,OAAA,CAAA,yBAAA,GAAyB,yBAAzB","sourceRoot":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ComponentProps, ComponentState,
|
|
1
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
2
2
|
export declare type AccordionPanelSlots = {
|
|
3
|
-
root:
|
|
3
|
+
root: Slot<'div'>;
|
|
4
4
|
};
|
|
5
5
|
export declare type AccordionPanelProps = ComponentProps<AccordionPanelSlots>;
|
|
6
6
|
export declare type AccordionPanelState = ComponentState<AccordionPanelSlots> & {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-accordion",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
4
4
|
"description": "Fluent UI accordion component",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@fluentui/eslint-plugin": "*",
|
|
30
30
|
"@fluentui/react-conformance": "*",
|
|
31
|
-
"@fluentui/react-conformance-griffel": "0.0.0-
|
|
31
|
+
"@fluentui/react-conformance-griffel": "0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
32
32
|
"@fluentui/scripts": "^1.0.0",
|
|
33
33
|
"@types/enzyme": "3.10.3",
|
|
34
34
|
"@types/enzyme-adapter-react-16": "1.0.3",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"react-test-renderer": "^16.3.0"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@fluentui/react-aria": "0.0.0-
|
|
46
|
-
"@fluentui/react-context-selector": "0.0.0-
|
|
45
|
+
"@fluentui/react-aria": "0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
46
|
+
"@fluentui/react-context-selector": "0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
47
47
|
"@fluentui/react-icons": "^2.0.159-beta.10",
|
|
48
48
|
"@griffel/react": "1.0.0",
|
|
49
|
-
"@fluentui/react-tabster": "0.0.0-
|
|
50
|
-
"@fluentui/react-theme": "0.0.0-
|
|
51
|
-
"@fluentui/react-utilities": "0.0.0-
|
|
49
|
+
"@fluentui/react-tabster": "0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
50
|
+
"@fluentui/react-theme": "0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
51
|
+
"@fluentui/react-utilities": "0.0.0-nightlyc0e3a0a1f320220217.1",
|
|
52
52
|
"tslib": "^2.1.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|