@fluentui/react-accordion 9.2.0 → 9.3.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.
Files changed (90) hide show
  1. package/CHANGELOG.json +115 -1
  2. package/CHANGELOG.md +34 -2
  3. package/dist/index.d.ts +44 -34
  4. package/lib/components/Accordion/Accordion.js.map +1 -1
  5. package/lib/components/Accordion/Accordion.types.js.map +1 -1
  6. package/lib/components/Accordion/index.js +0 -1
  7. package/lib/components/Accordion/index.js.map +1 -1
  8. package/lib/components/Accordion/renderAccordion.js +5 -5
  9. package/lib/components/Accordion/renderAccordion.js.map +1 -1
  10. package/lib/components/Accordion/useAccordion.js +13 -6
  11. package/lib/components/Accordion/useAccordion.js.map +1 -1
  12. package/lib/components/Accordion/useAccordionContextValues.js +3 -2
  13. package/lib/components/Accordion/useAccordionContextValues.js.map +1 -1
  14. package/lib/components/AccordionHeader/AccordionHeader.types.js.map +1 -1
  15. package/lib/components/AccordionHeader/index.js +0 -1
  16. package/lib/components/AccordionHeader/index.js.map +1 -1
  17. package/lib/components/AccordionHeader/renderAccordionHeader.js +5 -5
  18. package/lib/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
  19. package/lib/components/AccordionHeader/useAccordionHeader.js +24 -15
  20. package/lib/components/AccordionHeader/useAccordionHeader.js.map +1 -1
  21. package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -1
  22. package/lib/components/AccordionHeader/useAccordionHeaderStyles.styles.js +1 -1
  23. package/lib/components/AccordionItem/AccordionItem.types.js +1 -1
  24. package/lib/components/AccordionItem/AccordionItem.types.js.map +1 -1
  25. package/lib/components/AccordionItem/index.js +0 -1
  26. package/lib/components/AccordionItem/index.js.map +1 -1
  27. package/lib/components/AccordionItem/renderAccordionItem.js +5 -5
  28. package/lib/components/AccordionItem/renderAccordionItem.js.map +1 -1
  29. package/lib/components/AccordionItem/useAccordionItem.js +10 -9
  30. package/lib/components/AccordionItem/useAccordionItem.js.map +1 -1
  31. package/lib/components/AccordionItem/useAccordionItemContextValues.js +8 -5
  32. package/lib/components/AccordionItem/useAccordionItemContextValues.js.map +1 -1
  33. package/lib/components/AccordionPanel/renderAccordionPanel.js +3 -3
  34. package/lib/components/AccordionPanel/renderAccordionPanel.js.map +1 -1
  35. package/lib/components/AccordionPanel/useAccordionPanel.js +6 -4
  36. package/lib/components/AccordionPanel/useAccordionPanel.js.map +1 -1
  37. package/lib/{components/Accordion/AccordionContext.js → contexts/accordion.js} +4 -2
  38. package/lib/contexts/accordion.js.map +1 -0
  39. package/lib/contexts/accordionHeader.js +11 -0
  40. package/lib/contexts/accordionHeader.js.map +1 -0
  41. package/lib/{components/AccordionItem/AccordionItemContext.js → contexts/accordionItem.js} +6 -5
  42. package/lib/contexts/accordionItem.js.map +1 -0
  43. package/lib/index.js +6 -3
  44. package/lib/index.js.map +1 -1
  45. package/lib-commonjs/components/Accordion/index.js +0 -1
  46. package/lib-commonjs/components/Accordion/index.js.map +1 -1
  47. package/lib-commonjs/components/Accordion/renderAccordion.js +4 -4
  48. package/lib-commonjs/components/Accordion/renderAccordion.js.map +1 -1
  49. package/lib-commonjs/components/Accordion/useAccordion.js +12 -5
  50. package/lib-commonjs/components/Accordion/useAccordion.js.map +1 -1
  51. package/lib-commonjs/components/Accordion/useAccordionContextValues.js +3 -2
  52. package/lib-commonjs/components/Accordion/useAccordionContextValues.js.map +1 -1
  53. package/lib-commonjs/components/AccordionHeader/index.js +0 -1
  54. package/lib-commonjs/components/AccordionHeader/index.js.map +1 -1
  55. package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js +4 -4
  56. package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
  57. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js +24 -15
  58. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js.map +1 -1
  59. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.styles.js +7 -7
  60. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.styles.js.map +1 -1
  61. package/lib-commonjs/components/AccordionItem/AccordionItem.types.js +0 -2
  62. package/lib-commonjs/components/AccordionItem/AccordionItem.types.js.map +1 -1
  63. package/lib-commonjs/components/AccordionItem/index.js +0 -1
  64. package/lib-commonjs/components/AccordionItem/index.js.map +1 -1
  65. package/lib-commonjs/components/AccordionItem/renderAccordionItem.js +4 -4
  66. package/lib-commonjs/components/AccordionItem/renderAccordionItem.js.map +1 -1
  67. package/lib-commonjs/components/AccordionItem/useAccordionItem.js +11 -10
  68. package/lib-commonjs/components/AccordionItem/useAccordionItem.js.map +1 -1
  69. package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js +8 -5
  70. package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js.map +1 -1
  71. package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js +2 -2
  72. package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js.map +1 -1
  73. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js +7 -5
  74. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js.map +1 -1
  75. package/lib-commonjs/{components/Accordion/AccordionContext.js → contexts/accordion.js} +3 -2
  76. package/lib-commonjs/contexts/accordion.js.map +1 -0
  77. package/lib-commonjs/{components/AccordionHeader/AccordionHeaderContext.js → contexts/accordionHeader.js} +4 -5
  78. package/lib-commonjs/contexts/accordionHeader.js.map +1 -0
  79. package/lib-commonjs/{components/AccordionItem/AccordionItemContext.js → contexts/accordionItem.js} +5 -5
  80. package/lib-commonjs/contexts/accordionItem.js.map +1 -0
  81. package/lib-commonjs/index.js +10 -7
  82. package/lib-commonjs/index.js.map +1 -1
  83. package/package.json +9 -9
  84. package/lib/components/Accordion/AccordionContext.js.map +0 -1
  85. package/lib/components/AccordionHeader/AccordionHeaderContext.js +0 -11
  86. package/lib/components/AccordionHeader/AccordionHeaderContext.js.map +0 -1
  87. package/lib/components/AccordionItem/AccordionItemContext.js.map +0 -1
  88. package/lib-commonjs/components/Accordion/AccordionContext.js.map +0 -1
  89. package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.js.map +0 -1
  90. package/lib-commonjs/components/AccordionItem/AccordionItemContext.js.map +0 -1
package/CHANGELOG.json CHANGED
@@ -2,7 +2,121 @@
2
2
  "name": "@fluentui/react-accordion",
3
3
  "entries": [
4
4
  {
5
- "date": "Tue, 01 Aug 2023 10:14:27 GMT",
5
+ "date": "Wed, 09 Aug 2023 13:11:30 GMT",
6
+ "tag": "@fluentui/react-accordion_v9.3.1",
7
+ "version": "9.3.1",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "bernardo.sunderhus@gmail.com",
12
+ "package": "@fluentui/react-accordion",
13
+ "commit": "405adc0f15862c74784dd7576ca6d22b47adf012",
14
+ "comment": "bugfix: Breaking Change, onHeaderClick erroneously removed"
15
+ },
16
+ {
17
+ "author": "olfedias@microsoft.com",
18
+ "package": "@fluentui/react-accordion",
19
+ "commit": "b090c0339983847a62b9dc6187d08dc8c4b1d55f",
20
+ "comment": "chore: Update Griffel to latest version"
21
+ },
22
+ {
23
+ "author": "bernardo.sunderhus@gmail.com",
24
+ "package": "@fluentui/react-accordion",
25
+ "commit": "d740ac698cb7e8c3332e21f6466896f3f2763ae3",
26
+ "comment": "chore(cxe-coastal): migrate to new slot API"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@fluentui/react-accordion",
31
+ "comment": "Bump @fluentui/react-aria to v9.3.29",
32
+ "commit": "d0e28b405dc91c4682aec72dd784767a3ce95c78"
33
+ },
34
+ {
35
+ "author": "beachball",
36
+ "package": "@fluentui/react-accordion",
37
+ "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.14",
38
+ "commit": "d0e28b405dc91c4682aec72dd784767a3ce95c78"
39
+ },
40
+ {
41
+ "author": "beachball",
42
+ "package": "@fluentui/react-accordion",
43
+ "comment": "Bump @fluentui/react-shared-contexts to v9.7.2",
44
+ "commit": "d0e28b405dc91c4682aec72dd784767a3ce95c78"
45
+ },
46
+ {
47
+ "author": "beachball",
48
+ "package": "@fluentui/react-accordion",
49
+ "comment": "Bump @fluentui/react-tabster to v9.12.1",
50
+ "commit": "d0e28b405dc91c4682aec72dd784767a3ce95c78"
51
+ },
52
+ {
53
+ "author": "beachball",
54
+ "package": "@fluentui/react-accordion",
55
+ "comment": "Bump @fluentui/react-theme to v9.1.11",
56
+ "commit": "d0e28b405dc91c4682aec72dd784767a3ce95c78"
57
+ }
58
+ ]
59
+ }
60
+ },
61
+ {
62
+ "date": "Fri, 04 Aug 2023 08:52:55 GMT",
63
+ "tag": "@fluentui/react-accordion_v9.3.0",
64
+ "version": "9.3.0",
65
+ "comments": {
66
+ "minor": [
67
+ {
68
+ "author": "bernardo.sunderhus@gmail.com",
69
+ "package": "@fluentui/react-accordion",
70
+ "commit": "192666b54cb365f4c958f46c3e097b597ebd94fc",
71
+ "comment": "feat: make AccordionItemValue generic"
72
+ },
73
+ {
74
+ "author": "beachball",
75
+ "package": "@fluentui/react-accordion",
76
+ "comment": "Bump @fluentui/react-aria to v9.3.28",
77
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
78
+ },
79
+ {
80
+ "author": "beachball",
81
+ "package": "@fluentui/react-accordion",
82
+ "comment": "Bump @fluentui/react-context-selector to v9.1.27",
83
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
84
+ },
85
+ {
86
+ "author": "beachball",
87
+ "package": "@fluentui/react-accordion",
88
+ "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.13",
89
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
90
+ },
91
+ {
92
+ "author": "beachball",
93
+ "package": "@fluentui/react-accordion",
94
+ "comment": "Bump @fluentui/react-shared-contexts to v9.7.1",
95
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
96
+ },
97
+ {
98
+ "author": "beachball",
99
+ "package": "@fluentui/react-accordion",
100
+ "comment": "Bump @fluentui/react-tabster to v9.12.0",
101
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
102
+ },
103
+ {
104
+ "author": "beachball",
105
+ "package": "@fluentui/react-accordion",
106
+ "comment": "Bump @fluentui/react-theme to v9.1.10",
107
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
108
+ },
109
+ {
110
+ "author": "beachball",
111
+ "package": "@fluentui/react-accordion",
112
+ "comment": "Bump @fluentui/react-utilities to v9.11.0",
113
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
114
+ }
115
+ ]
116
+ }
117
+ },
118
+ {
119
+ "date": "Tue, 01 Aug 2023 10:17:19 GMT",
6
120
  "tag": "@fluentui/react-accordion_v9.2.0",
7
121
  "version": "9.2.0",
8
122
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,44 @@
1
1
  # Change Log - @fluentui/react-accordion
2
2
 
3
- This log was last generated on Tue, 01 Aug 2023 10:14:27 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 09 Aug 2023 13:11:30 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.3.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.3.1)
8
+
9
+ Wed, 09 Aug 2023 13:11:30 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-accordion_v9.3.0..@fluentui/react-accordion_v9.3.1)
11
+
12
+ ### Patches
13
+
14
+ - bugfix: Breaking Change, onHeaderClick erroneously removed ([PR #28764](https://github.com/microsoft/fluentui/pull/28764) by bernardo.sunderhus@gmail.com)
15
+ - chore: Update Griffel to latest version ([PR #28684](https://github.com/microsoft/fluentui/pull/28684) by olfedias@microsoft.com)
16
+ - chore(cxe-coastal): migrate to new slot API ([PR #28754](https://github.com/microsoft/fluentui/pull/28754) by bernardo.sunderhus@gmail.com)
17
+ - Bump @fluentui/react-aria to v9.3.29 ([commit](https://github.com/microsoft/fluentui/commit/d0e28b405dc91c4682aec72dd784767a3ce95c78) by beachball)
18
+ - Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.14 ([commit](https://github.com/microsoft/fluentui/commit/d0e28b405dc91c4682aec72dd784767a3ce95c78) by beachball)
19
+ - Bump @fluentui/react-shared-contexts to v9.7.2 ([commit](https://github.com/microsoft/fluentui/commit/d0e28b405dc91c4682aec72dd784767a3ce95c78) by beachball)
20
+ - Bump @fluentui/react-tabster to v9.12.1 ([commit](https://github.com/microsoft/fluentui/commit/d0e28b405dc91c4682aec72dd784767a3ce95c78) by beachball)
21
+ - Bump @fluentui/react-theme to v9.1.11 ([commit](https://github.com/microsoft/fluentui/commit/d0e28b405dc91c4682aec72dd784767a3ce95c78) by beachball)
22
+
23
+ ## [9.3.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.3.0)
24
+
25
+ Fri, 04 Aug 2023 08:52:55 GMT
26
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-accordion_v9.2.0..@fluentui/react-accordion_v9.3.0)
27
+
28
+ ### Minor changes
29
+
30
+ - feat: make AccordionItemValue generic ([PR #28665](https://github.com/microsoft/fluentui/pull/28665) by bernardo.sunderhus@gmail.com)
31
+ - Bump @fluentui/react-aria to v9.3.28 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
32
+ - Bump @fluentui/react-context-selector to v9.1.27 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
33
+ - Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.13 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
34
+ - Bump @fluentui/react-shared-contexts to v9.7.1 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
35
+ - Bump @fluentui/react-tabster to v9.12.0 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
36
+ - Bump @fluentui/react-theme to v9.1.10 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
37
+ - Bump @fluentui/react-utilities to v9.11.0 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
38
+
7
39
  ## [9.2.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.2.0)
8
40
 
9
- Tue, 01 Aug 2023 10:14:27 GMT
41
+ Tue, 01 Aug 2023 10:17:19 GMT
10
42
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-accordion_v9.1.25..@fluentui/react-accordion_v9.2.0)
11
43
 
12
44
  ### Minor changes
package/dist/index.d.ts CHANGED
@@ -15,11 +15,11 @@ import type { SlotClassNames } from '@fluentui/react-utilities';
15
15
  /**
16
16
  * Define a styled Accordion, using the `useAccordion_unstable` and `useAccordionStyles_unstable` hooks.
17
17
  */
18
- export declare const Accordion: ForwardRefComponent<AccordionProps>;
18
+ export declare const Accordion: ForwardRefComponent<AccordionProps> & (<TItem>(props: AccordionProps<TItem>) => JSX.Element);
19
19
 
20
20
  export declare const accordionClassNames: SlotClassNames<AccordionSlots>;
21
21
 
22
- export declare type AccordionContextValue = Required<Pick<AccordionProps, 'collapsible'>> & Pick<AccordionProps, 'navigation'> & {
22
+ export declare type AccordionContextValue<Value = AccordionItemValue> = {
23
23
  /**
24
24
  * The list of opened panels by index
25
25
  */
@@ -28,7 +28,10 @@ export declare type AccordionContextValue = Required<Pick<AccordionProps, 'colla
28
28
  * Callback used by AccordionItem to request a change on it's own opened state
29
29
  * Should be used to toggle AccordionItem
30
30
  */
31
- requestToggle: (event: AccordionToggleEvent, data: AccordionToggleData) => void;
31
+ requestToggle: (data: AccordionRequestToggleData<Value>) => void;
32
+ collapsible: boolean;
33
+ multiple: boolean;
34
+ navigation: 'linear' | 'circular' | undefined;
32
35
  };
33
36
 
34
37
  export declare type AccordionContextValues = {
@@ -43,11 +46,11 @@ export declare const AccordionHeader: ForwardRefComponent<AccordionHeaderProps>;
43
46
 
44
47
  export declare const accordionHeaderClassNames: SlotClassNames<AccordionHeaderSlots>;
45
48
 
46
- export declare const AccordionHeaderContextProvider: React_2.Provider<AccordionHeaderContextValue | undefined>;
47
-
48
- export declare type AccordionHeaderContextValue = Required<Pick<AccordionHeaderProps, 'expandIconPosition' | 'size'>> & {
49
+ export declare type AccordionHeaderContextValue = {
49
50
  disabled: boolean;
50
51
  open: boolean;
52
+ expandIconPosition: AccordionHeaderExpandIconPosition;
53
+ size: AccordionHeaderSize;
51
54
  };
52
55
 
53
56
  export declare type AccordionHeaderContextValues = {
@@ -71,6 +74,8 @@ export declare type AccordionHeaderProps = ComponentProps<Partial<AccordionHeade
71
74
  size?: AccordionHeaderSize;
72
75
  };
73
76
 
77
+ export declare const AccordionHeaderProvider: React_2.Provider<AccordionHeaderContextValue>;
78
+
74
79
  export declare type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';
75
80
 
76
81
  export declare type AccordionHeaderSlots = {
@@ -103,16 +108,21 @@ export declare const AccordionItem: ForwardRefComponent<AccordionItemProps>;
103
108
 
104
109
  export declare const accordionItemClassNames: SlotClassNames<AccordionItemSlots>;
105
110
 
106
- export declare type AccordionItemContextValue = Required<Pick<AccordionItemProps, 'disabled'>> & {
107
- onHeaderClick(ev: React_2.MouseEvent | React_2.KeyboardEvent): void;
111
+ export declare type AccordionItemContextValue<Value = AccordionItemValue> = {
108
112
  open: boolean;
113
+ disabled: boolean;
114
+ value: Value;
115
+ /**
116
+ * @deprecated - use `requestToggle` from AccordionContent instead
117
+ */
118
+ onHeaderClick(event: AccordionToggleEvent): void;
109
119
  };
110
120
 
111
- export declare type AccordionItemContextValues = {
112
- accordionItem: AccordionItemContextValue;
121
+ export declare type AccordionItemContextValues<Value = AccordionItemValue> = {
122
+ accordionItem: AccordionItemContextValue<Value>;
113
123
  };
114
124
 
115
- export declare type AccordionItemProps = ComponentProps<AccordionItemSlots> & {
125
+ export declare type AccordionItemProps<Value = AccordionItemValue> = ComponentProps<AccordionItemSlots> & {
116
126
  /**
117
127
  * Disables opening/closing of panel.
118
128
  */
@@ -120,16 +130,16 @@ export declare type AccordionItemProps = ComponentProps<AccordionItemSlots> & {
120
130
  /**
121
131
  * Required value that identifies this item inside an Accordion component.
122
132
  */
123
- value: AccordionItemValue;
133
+ value: Value;
124
134
  };
125
135
 
126
- export declare const AccordionItemProvider: React_2.Provider<AccordionItemContextValue>;
136
+ export declare const AccordionItemProvider: React_2.Provider<AccordionItemContextValue<unknown>>;
127
137
 
128
138
  export declare type AccordionItemSlots = {
129
139
  root: NonNullable<Slot<'div'>>;
130
140
  };
131
141
 
132
- export declare type AccordionItemState = ComponentState<AccordionItemSlots> & AccordionItemContextValue;
142
+ export declare type AccordionItemState<Value = AccordionItemValue> = ComponentState<AccordionItemSlots> & AccordionItemContextValue<Value>;
133
143
 
134
144
  export declare type AccordionItemValue = unknown;
135
145
 
@@ -153,11 +163,11 @@ export declare type AccordionPanelState = ComponentState<AccordionPanelSlots> &
153
163
  open: boolean;
154
164
  };
155
165
 
156
- export declare type AccordionProps = ComponentProps<AccordionSlots> & {
166
+ export declare type AccordionProps<Value = AccordionItemValue> = ComponentProps<AccordionSlots> & {
157
167
  /**
158
168
  * Default value for the uncontrolled state of the panel.
159
169
  */
160
- defaultOpenItems?: AccordionItemValue | AccordionItemValue[];
170
+ defaultOpenItems?: Value | Value[];
161
171
  /**
162
172
  * Indicates if Accordion support multiple Panels closed at the same time.
163
173
  */
@@ -173,28 +183,33 @@ export declare type AccordionProps = ComponentProps<AccordionSlots> & {
173
183
  /**
174
184
  * Callback to be called when the opened items change.
175
185
  */
176
- onToggle?: AccordionToggleEventHandler;
186
+ onToggle?: AccordionToggleEventHandler<Value>;
177
187
  /**
178
188
  * Controls the state of the panel.
179
189
  */
180
- openItems?: AccordionItemValue | AccordionItemValue[];
190
+ openItems?: Value | Value[];
181
191
  };
182
192
 
183
- export declare const AccordionProvider: Provider<AccordionContextValue> & FC<ProviderProps<AccordionContextValue>>;
193
+ export declare const AccordionProvider: Provider<AccordionContextValue<unknown>> & FC<ProviderProps<AccordionContextValue<unknown>>>;
194
+
195
+ declare type AccordionRequestToggleData<Value = AccordionItemValue> = {
196
+ event: AccordionToggleEvent;
197
+ } & Pick<AccordionToggleData<Value>, 'value'>;
184
198
 
185
199
  export declare type AccordionSlots = {
186
200
  root: NonNullable<Slot<'div'>>;
187
201
  };
188
202
 
189
- export declare type AccordionState = ComponentState<AccordionSlots> & AccordionContextValue;
203
+ export declare type AccordionState<Value = AccordionItemValue> = ComponentState<AccordionSlots> & AccordionContextValue<Value>;
190
204
 
191
- export declare type AccordionToggleData = {
192
- value: AccordionItemValue;
205
+ export declare type AccordionToggleData<Value = AccordionItemValue> = {
206
+ value: Value;
207
+ openItems: Value[];
193
208
  };
194
209
 
195
210
  export declare type AccordionToggleEvent<E = HTMLElement> = React_2.MouseEvent<E> | React_2.KeyboardEvent<E>;
196
211
 
197
- export declare type AccordionToggleEventHandler = (event: AccordionToggleEvent, data: AccordionToggleData) => void;
212
+ export declare type AccordionToggleEventHandler<Value = AccordionItemValue> = (event: AccordionToggleEvent, data: AccordionToggleData<Value>) => void;
198
213
 
199
214
  /**
200
215
  * Function that renders the final JSX of the component
@@ -221,9 +236,9 @@ export declare const renderAccordionPanel_unstable: (state: AccordionPanelState)
221
236
  * @param props - Accordion properties
222
237
  * @param ref - reference to root HTMLElement of Accordion
223
238
  */
224
- export declare const useAccordion_unstable: (props: AccordionProps, ref: React_2.Ref<HTMLElement>) => AccordionState;
239
+ export declare const useAccordion_unstable: <Value = unknown>(props: AccordionProps<Value>, ref: React_2.Ref<HTMLElement>) => AccordionState<Value>;
225
240
 
226
- export declare const useAccordionContext_unstable: <T>(selector: ContextSelector<AccordionContextValue, T>) => T;
241
+ export declare const useAccordionContext_unstable: <T>(selector: ContextSelector<AccordionContextValue<unknown>, T>) => T;
227
242
 
228
243
  export declare function useAccordionContextValues_unstable(state: AccordionState): AccordionContextValues;
229
244
 
@@ -234,12 +249,7 @@ export declare function useAccordionContextValues_unstable(state: AccordionState
234
249
  */
235
250
  export declare const useAccordionHeader_unstable: (props: AccordionHeaderProps, ref: React_2.Ref<HTMLElement>) => AccordionHeaderState;
236
251
 
237
- export declare const useAccordionHeaderContext_unstable: () => {
238
- open: boolean;
239
- disabled: boolean;
240
- size: string;
241
- expandIconPosition: string;
242
- };
252
+ export declare const useAccordionHeaderContext_unstable: () => AccordionHeaderContextValue;
243
253
 
244
254
  export declare function useAccordionHeaderContextValues_unstable(state: AccordionHeaderState): AccordionHeaderContextValues;
245
255
 
@@ -253,11 +263,11 @@ export declare const useAccordionHeaderStyles_unstable: (state: AccordionHeaderS
253
263
  */
254
264
  export declare const useAccordionItem_unstable: (props: AccordionItemProps, ref: React_2.Ref<HTMLElement>) => AccordionItemState;
255
265
 
256
- export declare const useAccordionItemContext_unstable: () => AccordionItemContextValue;
266
+ export declare const useAccordionItemContext_unstable: () => AccordionItemContextValue<unknown>;
257
267
 
258
268
  export declare function useAccordionItemContextValues_unstable(state: AccordionItemState): AccordionItemContextValues;
259
269
 
260
- export declare const useAccordionItemStyles_unstable: (state: AccordionItemState) => AccordionItemState;
270
+ export declare const useAccordionItemStyles_unstable: (state: AccordionItemState) => AccordionItemState<unknown>;
261
271
 
262
272
  /**
263
273
  * Returns the props and state required to render the component
@@ -269,6 +279,6 @@ export declare const useAccordionPanel_unstable: (props: AccordionPanelProps, re
269
279
  /** Applies style classnames to slots */
270
280
  export declare const useAccordionPanelStyles_unstable: (state: AccordionPanelState) => AccordionPanelState;
271
281
 
272
- export declare const useAccordionStyles_unstable: (state: AccordionState) => AccordionState;
282
+ export declare const useAccordionStyles_unstable: (state: AccordionState) => AccordionState<unknown>;
273
283
 
274
284
  export { }
@@ -1 +1 @@
1
- {"version":3,"sources":["Accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport { renderAccordion_unstable } from './renderAccordion';\nimport { useAccordion_unstable } from './useAccordion';\nimport { useAccordionContextValues_unstable } from './useAccordionContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useAccordionStyles_unstable } from './useAccordionStyles.styles';\nimport type { AccordionProps } from './Accordion.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled Accordion, using the `useAccordion_unstable` and `useAccordionStyles_unstable` hooks.\n */\nexport const Accordion: ForwardRefComponent<AccordionProps> = React.forwardRef<HTMLDivElement, AccordionProps>(\n (props, ref) => {\n const state = useAccordion_unstable(props, ref);\n const contextValues = useAccordionContextValues_unstable(state);\n\n useAccordionStyles_unstable(state);\n\n useCustomStyleHook_unstable('useAccordionStyles_unstable')(state);\n\n return renderAccordion_unstable(state, contextValues);\n },\n);\n\nAccordion.displayName = 'Accordion';\n"],"names":["React","renderAccordion_unstable","useAccordion_unstable","useAccordionContextValues_unstable","useCustomStyleHook_unstable","useAccordionStyles_unstable","Accordion","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SAASC,kCAAkC,QAAQ,8BAA8B;AACjF,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,2BAA2B,QAAQ,8BAA8B;AAI1E;;CAEC,GACD,OAAO,MAAMC,0BAAiDN,MAAMO,UAAU,CAC5E,CAACC,OAAOC,MAAQ;IACd,MAAMC,QAAQR,sBAAsBM,OAAOC;IAC3C,MAAME,gBAAgBR,mCAAmCO;IAEzDL,4BAA4BK;IAE5BN,4BAA4B,+BAA+BM;IAE3D,OAAOT,yBAAyBS,OAAOC;AACzC,GACA;AAEFL,UAAUM,WAAW,GAAG"}
1
+ {"version":3,"sources":["Accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport { renderAccordion_unstable } from './renderAccordion';\nimport { useAccordion_unstable } from './useAccordion';\nimport { useAccordionContextValues_unstable } from './useAccordionContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useAccordionStyles_unstable } from './useAccordionStyles.styles';\nimport type { AccordionProps } from './Accordion.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled Accordion, using the `useAccordion_unstable` and `useAccordionStyles_unstable` hooks.\n */\nexport const Accordion: ForwardRefComponent<AccordionProps> & (<TItem>(props: AccordionProps<TItem>) => JSX.Element) =\n React.forwardRef<HTMLDivElement, AccordionProps>((props, ref) => {\n const state = useAccordion_unstable(props, ref);\n const contextValues = useAccordionContextValues_unstable(state);\n\n useAccordionStyles_unstable(state);\n\n useCustomStyleHook_unstable('useAccordionStyles_unstable')(state);\n\n return renderAccordion_unstable(state, contextValues);\n }) as ForwardRefComponent<AccordionProps> & (<TItem>(props: AccordionProps<TItem>) => JSX.Element);\n\nAccordion.displayName = 'Accordion';\n"],"names":["React","renderAccordion_unstable","useAccordion_unstable","useAccordionContextValues_unstable","useCustomStyleHook_unstable","useAccordionStyles_unstable","Accordion","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SAASC,kCAAkC,QAAQ,8BAA8B;AACjF,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,2BAA2B,QAAQ,8BAA8B;AAI1E;;CAEC,GACD,OAAO,MAAMC,0BACXN,MAAMO,UAAU,CAAiC,CAACC,OAAOC,MAAQ;IAC/D,MAAMC,QAAQR,sBAAsBM,OAAOC;IAC3C,MAAME,gBAAgBR,mCAAmCO;IAEzDL,4BAA4BK;IAE5BN,4BAA4B,+BAA+BM;IAE3D,OAAOT,yBAAyBS,OAAOC;AACzC,GAAmG;AAErGL,UAAUM,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["Accordion.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\n\nexport type AccordionIndex = number | number[];\n\nexport type AccordionToggleEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;\n\nexport type AccordionToggleEventHandler = (event: AccordionToggleEvent, data: AccordionToggleData) => void;\n\nexport type AccordionContextValue = Required<Pick<AccordionProps, 'collapsible'>> &\n Pick<AccordionProps, 'navigation'> & {\n /**\n * The list of opened panels by index\n */\n openItems: AccordionItemValue[];\n /**\n * Callback used by AccordionItem to request a change on it's own opened state\n * Should be used to toggle AccordionItem\n */\n requestToggle: (event: AccordionToggleEvent, data: AccordionToggleData) => void;\n };\n\nexport type AccordionContextValues = {\n accordion: AccordionContextValue;\n};\n\nexport type AccordionSlots = {\n root: NonNullable<Slot<'div'>>;\n};\n\nexport type AccordionToggleData = {\n value: AccordionItemValue;\n};\n\nexport type AccordionProps = ComponentProps<AccordionSlots> & {\n /**\n * Default value for the uncontrolled state of the panel.\n */\n defaultOpenItems?: AccordionItemValue | AccordionItemValue[];\n\n /**\n * Indicates if Accordion support multiple Panels closed at the same time.\n */\n collapsible?: boolean;\n\n /**\n * Indicates if Accordion support multiple Panels opened at the same time.\n */\n multiple?: boolean;\n\n /**\n * Indicates if keyboard navigation is available and gives two options, linear or circular navigation.\n */\n navigation?: 'linear' | 'circular';\n\n /**\n * Callback to be called when the opened items change.\n */\n onToggle?: AccordionToggleEventHandler;\n\n /**\n * Controls the state of the panel.\n */\n openItems?: AccordionItemValue | AccordionItemValue[];\n};\n\nexport type AccordionState = ComponentState<AccordionSlots> & AccordionContextValue;\n"],"names":["React"],"mappings":"AAAA,YAAYA,WAAW,QAAQ"}
1
+ {"version":3,"sources":["Accordion.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { AccordionContextValue } from '../../contexts/accordion';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\n\nexport type AccordionIndex = number | number[];\n\nexport type AccordionToggleEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;\n\nexport type AccordionToggleEventHandler<Value = AccordionItemValue> = (\n event: AccordionToggleEvent,\n data: AccordionToggleData<Value>,\n) => void;\n\nexport type AccordionContextValues = {\n accordion: AccordionContextValue;\n};\n\nexport type AccordionSlots = {\n root: NonNullable<Slot<'div'>>;\n};\n\nexport type AccordionToggleData<Value = AccordionItemValue> = {\n value: Value;\n openItems: Value[];\n};\n\nexport type AccordionProps<Value = AccordionItemValue> = ComponentProps<AccordionSlots> & {\n /**\n * Default value for the uncontrolled state of the panel.\n */\n defaultOpenItems?: Value | Value[];\n\n /**\n * Indicates if Accordion support multiple Panels closed at the same time.\n */\n collapsible?: boolean;\n\n /**\n * Indicates if Accordion support multiple Panels opened at the same time.\n */\n multiple?: boolean;\n\n /**\n * Indicates if keyboard navigation is available and gives two options, linear or circular navigation.\n */\n navigation?: 'linear' | 'circular';\n\n /**\n * Callback to be called when the opened items change.\n */\n onToggle?: AccordionToggleEventHandler<Value>;\n\n /**\n * Controls the state of the panel.\n */\n openItems?: Value | Value[];\n};\n\nexport type AccordionState<Value = AccordionItemValue> = ComponentState<AccordionSlots> & AccordionContextValue<Value>;\n"],"names":["React"],"mappings":"AAAA,YAAYA,WAAW,QAAQ"}
@@ -4,4 +4,3 @@ export * from './renderAccordion';
4
4
  export * from './useAccordion';
5
5
  export * from './useAccordionStyles.styles';
6
6
  export * from './useAccordionContextValues';
7
- export * from './AccordionContext';
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './Accordion';\nexport * from './Accordion.types';\nexport * from './renderAccordion';\nexport * from './useAccordion';\nexport * from './useAccordionStyles.styles';\nexport * from './useAccordionContextValues';\nexport * from './AccordionContext';\n"],"names":[],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,iBAAiB;AAC/B,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './Accordion';\nexport * from './Accordion.types';\nexport * from './renderAccordion';\nexport * from './useAccordion';\nexport * from './useAccordionStyles.styles';\nexport * from './useAccordionContextValues';\n"],"names":[],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,iBAAiB;AAC/B,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B"}
@@ -1,11 +1,11 @@
1
1
  /** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';
2
- import { getSlotsNext } from '@fluentui/react-utilities';
3
- import { AccordionContext } from './AccordionContext';
2
+ import { assertSlots } from '@fluentui/react-utilities';
3
+ import { AccordionProvider } from '../../contexts/accordion';
4
4
  /**
5
5
  * Function that renders the final JSX of the component
6
6
  */ export const renderAccordion_unstable = (state, contextValues)=>{
7
- const { slots , slotProps } = getSlotsNext(state);
8
- return /*#__PURE__*/ createElement(slots.root, slotProps.root, /*#__PURE__*/ createElement(AccordionContext.Provider, {
7
+ assertSlots(state);
8
+ return /*#__PURE__*/ createElement(state.root, null, /*#__PURE__*/ createElement(AccordionProvider, {
9
9
  value: contextValues.accordion
10
- }, slotProps.root.children));
10
+ }, state.root.children));
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderAccordion.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\n\nimport { getSlotsNext } from '@fluentui/react-utilities';\n\nimport { AccordionContext } from './AccordionContext';\nimport type { AccordionState, AccordionSlots, AccordionContextValues } from './Accordion.types';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderAccordion_unstable = (state: AccordionState, contextValues: AccordionContextValues) => {\n const { slots, slotProps } = getSlotsNext<AccordionSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n <AccordionContext.Provider value={contextValues.accordion}>{slotProps.root.children}</AccordionContext.Provider>\n </slots.root>\n );\n};\n"],"names":["createElement","getSlotsNext","AccordionContext","renderAccordion_unstable","state","contextValues","slots","slotProps","root","Provider","value","accordion","children"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAE5D,SAASC,YAAY,QAAQ,4BAA4B;AAEzD,SAASC,gBAAgB,QAAQ,qBAAqB;AAGtD;;CAEC,GACD,OAAO,MAAMC,2BAA2B,CAACC,OAAuBC,gBAA0C;IACxG,MAAM,EAAEC,MAAK,EAAEC,UAAS,EAAE,GAAGN,aAA6BG;IAE1D,qBACE,AAhBJ,cAgBKE,MAAME,IAAI,EAAKD,UAAUC,IAAI,gBAC5B,AAjBN,cAiBON,iBAAiBO,QAAQ;QAACC,OAAOL,cAAcM,SAAS;OAAGJ,UAAUC,IAAI,CAACI,QAAQ;AAGzF,EAAE"}
1
+ {"version":3,"sources":["renderAccordion.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\n\nimport { assertSlots } from '@fluentui/react-utilities';\n\nimport type { AccordionState, AccordionSlots, AccordionContextValues } from './Accordion.types';\nimport { AccordionProvider } from '../../contexts/accordion';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderAccordion_unstable = (state: AccordionState, contextValues: AccordionContextValues) => {\n assertSlots<AccordionSlots>(state);\n\n return (\n <state.root>\n <AccordionProvider value={contextValues.accordion}>{state.root.children}</AccordionProvider>\n </state.root>\n );\n};\n"],"names":["createElement","assertSlots","AccordionProvider","renderAccordion_unstable","state","contextValues","root","value","accordion","children"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAE5D,SAASC,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,iBAAiB,QAAQ,2BAA2B;AAE7D;;CAEC,GACD,OAAO,MAAMC,2BAA2B,CAACC,OAAuBC,gBAA0C;IACxGJ,YAA4BG;IAE5B,qBACE,AAhBJ,cAgBKA,MAAME,IAAI,sBACT,AAjBN,cAiBOJ;QAAkBK,OAAOF,cAAcG,SAAS;OAAGJ,MAAME,IAAI,CAACG,QAAQ;AAG7E,EAAE"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { getNativeElementProps, useControllableState, useEventCallback } from '@fluentui/react-utilities';
2
+ import { getNativeElementProps, useControllableState, useEventCallback, slot } from '@fluentui/react-utilities';
3
3
  import { useArrowNavigationGroup } from '@fluentui/react-tabster';
4
4
  /**
5
5
  * Returns the props and state required to render the component
@@ -21,22 +21,29 @@ import { useArrowNavigationGroup } from '@fluentui/react-tabster';
21
21
  circular: navigation === 'circular',
22
22
  tabbable: true
23
23
  });
24
- const requestToggle = useEventCallback((event, data)=>{
25
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, data);
26
- setOpenItems((previousOpenItems)=>updateOpenItems(data.value, previousOpenItems, multiple, collapsible));
24
+ const requestToggle = useEventCallback((data)=>{
25
+ const nextOpenItems = updateOpenItems(data.value, openItems, multiple, collapsible);
26
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(data.event, {
27
+ value: data.value,
28
+ openItems: nextOpenItems
29
+ });
30
+ setOpenItems(nextOpenItems);
27
31
  });
28
32
  return {
29
33
  collapsible,
34
+ multiple,
30
35
  navigation,
31
36
  openItems,
32
37
  requestToggle,
33
38
  components: {
34
39
  root: 'div'
35
40
  },
36
- root: getNativeElementProps('div', {
41
+ root: slot.always(getNativeElementProps('div', {
37
42
  ...props,
38
- ...navigation ? arrowNavigationProps : {},
43
+ ...navigation ? arrowNavigationProps : undefined,
39
44
  ref
45
+ }), {
46
+ elementType: 'div'
40
47
  })
41
48
  };
42
49
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useAccordion.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport type { AccordionProps, AccordionState, AccordionToggleData, AccordionToggleEvent } from './Accordion.types';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Returns the props and state required to render the component\n * @param props - Accordion properties\n * @param ref - reference to root HTMLElement of Accordion\n */\nexport const useAccordion_unstable = (props: AccordionProps, ref: React.Ref<HTMLElement>): AccordionState => {\n const {\n openItems: controlledOpenItems,\n defaultOpenItems,\n multiple = false,\n collapsible = false,\n onToggle,\n navigation,\n } = props;\n const [openItems, setOpenItems] = useControllableState({\n state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),\n defaultState: () => initializeUncontrolledOpenItems({ defaultOpenItems, multiple }),\n initialState: [],\n });\n\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: navigation === 'circular',\n tabbable: true,\n });\n\n const requestToggle = useEventCallback((event: AccordionToggleEvent, data: AccordionToggleData) => {\n onToggle?.(event, data);\n setOpenItems(previousOpenItems => updateOpenItems(data.value, previousOpenItems, multiple, collapsible));\n });\n\n return {\n collapsible,\n navigation,\n openItems,\n requestToggle,\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ...props,\n ...(navigation ? arrowNavigationProps : {}),\n ref,\n }),\n };\n};\n\n/**\n * Initial value for the uncontrolled case of the list of open indexes\n */\nfunction initializeUncontrolledOpenItems({\n defaultOpenItems,\n multiple,\n}: Pick<AccordionProps, 'defaultOpenItems' | 'multiple'>): AccordionItemValue[] {\n if (defaultOpenItems !== undefined) {\n if (Array.isArray(defaultOpenItems)) {\n return multiple ? defaultOpenItems : [defaultOpenItems[0]];\n }\n return [defaultOpenItems];\n }\n return [];\n}\n\n/**\n * Updates the list of open indexes based on an index that changes\n * @param value - the index that will change\n * @param previousOpenItems - list of current open indexes\n * @param multiple - if Accordion support multiple Panels opened at the same time\n * @param collapsible - if Accordion support multiple Panels closed at the same time\n */\nfunction updateOpenItems(\n value: AccordionItemValue,\n previousOpenItems: AccordionItemValue[],\n multiple: boolean,\n collapsible: boolean,\n) {\n if (multiple) {\n if (previousOpenItems.includes(value)) {\n if (previousOpenItems.length > 1 || collapsible) {\n return previousOpenItems.filter(i => i !== value);\n }\n } else {\n return [...previousOpenItems, value].sort();\n }\n } else {\n return previousOpenItems[0] === value && collapsible ? [] : [value];\n }\n return previousOpenItems;\n}\n\n/**\n * Normalizes Accordion index into an array of indexes\n */\nfunction normalizeValues(index?: AccordionItemValue | AccordionItemValue[]): AccordionItemValue[] | undefined {\n if (index === undefined) {\n return undefined;\n }\n return Array.isArray(index) ? index : [index];\n}\n"],"names":["React","getNativeElementProps","useControllableState","useEventCallback","useArrowNavigationGroup","useAccordion_unstable","props","ref","openItems","controlledOpenItems","defaultOpenItems","multiple","collapsible","onToggle","navigation","setOpenItems","state","useMemo","normalizeValues","defaultState","initializeUncontrolledOpenItems","initialState","arrowNavigationProps","circular","tabbable","requestToggle","event","data","previousOpenItems","updateOpenItems","value","components","root","undefined","Array","isArray","includes","length","filter","i","sort","index"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,qBAAqB,EAAEC,oBAAoB,EAAEC,gBAAgB,QAAQ,4BAA4B;AAG1G,SAASC,uBAAuB,QAAQ,0BAA0B;AAElE;;;;CAIC,GACD,OAAO,MAAMC,wBAAwB,CAACC,OAAuBC,MAAgD;IAC3G,MAAM,EACJC,WAAWC,oBAAmB,EAC9BC,iBAAgB,EAChBC,UAAW,KAAK,CAAA,EAChBC,aAAc,KAAK,CAAA,EACnBC,SAAQ,EACRC,WAAU,EACX,GAAGR;IACJ,MAAM,CAACE,WAAWO,aAAa,GAAGb,qBAAqB;QACrDc,OAAOhB,MAAMiB,OAAO,CAAC,IAAMC,gBAAgBT,sBAAsB;YAACA;SAAoB;QACtFU,cAAc,IAAMC,gCAAgC;gBAAEV;gBAAkBC;YAAS;QACjFU,cAAc,EAAE;IAClB;IAEA,MAAMC,uBAAuBlB,wBAAwB;QACnDmB,UAAUT,eAAe;QACzBU,UAAU,IAAI;IAChB;IAEA,MAAMC,gBAAgBtB,iBAAiB,CAACuB,OAA6BC,OAA8B;QACjGd,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAWa,OAAOC;QAClBZ,aAAaa,CAAAA,oBAAqBC,gBAAgBF,KAAKG,KAAK,EAAEF,mBAAmBjB,UAAUC;IAC7F;IAEA,OAAO;QACLA;QACAE;QACAN;QACAiB;QACAM,YAAY;YACVC,MAAM;QACR;QACAA,MAAM/B,sBAAsB,OAAO;YACjC,GAAGK,KAAK;YACR,GAAIQ,aAAaQ,uBAAuB,CAAC,CAAC;YAC1Cf;QACF;IACF;AACF,EAAE;AAEF;;CAEC,GACD,SAASa,gCAAgC,EACvCV,iBAAgB,EAChBC,SAAQ,EAC8C,EAAwB;IAC9E,IAAID,qBAAqBuB,WAAW;QAClC,IAAIC,MAAMC,OAAO,CAACzB,mBAAmB;YACnC,OAAOC,WAAWD,mBAAmB;gBAACA,gBAAgB,CAAC,EAAE;aAAC;QAC5D,CAAC;QACD,OAAO;YAACA;SAAiB;IAC3B,CAAC;IACD,OAAO,EAAE;AACX;AAEA;;;;;;CAMC,GACD,SAASmB,gBACPC,KAAyB,EACzBF,iBAAuC,EACvCjB,QAAiB,EACjBC,WAAoB,EACpB;IACA,IAAID,UAAU;QACZ,IAAIiB,kBAAkBQ,QAAQ,CAACN,QAAQ;YACrC,IAAIF,kBAAkBS,MAAM,GAAG,KAAKzB,aAAa;gBAC/C,OAAOgB,kBAAkBU,MAAM,CAACC,CAAAA,IAAKA,MAAMT;YAC7C,CAAC;QACH,OAAO;YACL,OAAO;mBAAIF;gBAAmBE;aAAM,CAACU,IAAI;QAC3C,CAAC;IACH,OAAO;QACL,OAAOZ,iBAAiB,CAAC,EAAE,KAAKE,SAASlB,cAAc,EAAE,GAAG;YAACkB;SAAM;IACrE,CAAC;IACD,OAAOF;AACT;AAEA;;CAEC,GACD,SAASV,gBAAgBuB,KAAiD,EAAoC;IAC5G,IAAIA,UAAUR,WAAW;QACvB,OAAOA;IACT,CAAC;IACD,OAAOC,MAAMC,OAAO,CAACM,SAASA,QAAQ;QAACA;KAAM;AAC/C"}
1
+ {"version":3,"sources":["useAccordion.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useControllableState, useEventCallback, slot } from '@fluentui/react-utilities';\nimport type { AccordionProps, AccordionState } from './Accordion.types';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { AccordionRequestToggleData } from '../../contexts/accordion';\n\n/**\n * Returns the props and state required to render the component\n * @param props - Accordion properties\n * @param ref - reference to root HTMLElement of Accordion\n */\nexport const useAccordion_unstable = <Value = AccordionItemValue>(\n props: AccordionProps<Value>,\n ref: React.Ref<HTMLElement>,\n): AccordionState<Value> => {\n const {\n openItems: controlledOpenItems,\n defaultOpenItems,\n multiple = false,\n collapsible = false,\n onToggle,\n navigation,\n } = props;\n const [openItems, setOpenItems] = useControllableState({\n state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),\n defaultState: () => initializeUncontrolledOpenItems({ defaultOpenItems, multiple }),\n initialState: [],\n });\n\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: navigation === 'circular',\n tabbable: true,\n });\n\n const requestToggle = useEventCallback((data: AccordionRequestToggleData<Value>) => {\n const nextOpenItems = updateOpenItems(data.value, openItems, multiple, collapsible);\n onToggle?.(data.event, { value: data.value, openItems: nextOpenItems });\n setOpenItems(nextOpenItems);\n });\n\n return {\n collapsible,\n multiple,\n navigation,\n openItems,\n requestToggle,\n components: {\n root: 'div',\n },\n root: slot.always(\n getNativeElementProps('div', {\n ...props,\n ...(navigation ? arrowNavigationProps : undefined),\n ref,\n }),\n { elementType: 'div' },\n ),\n };\n};\n\n/**\n * Initial value for the uncontrolled case of the list of open indexes\n */\nfunction initializeUncontrolledOpenItems<Value = AccordionItemValue>({\n defaultOpenItems,\n multiple,\n}: Pick<AccordionProps<Value>, 'defaultOpenItems' | 'multiple'>): Value[] {\n if (defaultOpenItems !== undefined) {\n if (Array.isArray(defaultOpenItems)) {\n return multiple ? defaultOpenItems : [defaultOpenItems[0]];\n }\n return [defaultOpenItems];\n }\n return [];\n}\n\n/**\n * Updates the list of open indexes based on an index that changes\n * @param value - the index that will change\n * @param previousOpenItems - list of current open indexes\n * @param multiple - if Accordion support multiple Panels opened at the same time\n * @param collapsible - if Accordion support multiple Panels closed at the same time\n */\nfunction updateOpenItems<Value = AccordionItemValue>(\n value: Value,\n previousOpenItems: Value[],\n multiple: boolean,\n collapsible: boolean,\n) {\n if (multiple) {\n if (previousOpenItems.includes(value)) {\n if (previousOpenItems.length > 1 || collapsible) {\n return previousOpenItems.filter(i => i !== value);\n }\n } else {\n return [...previousOpenItems, value].sort();\n }\n } else {\n return previousOpenItems[0] === value && collapsible ? [] : [value];\n }\n return previousOpenItems;\n}\n\n/**\n * Normalizes Accordion index into an array of indexes\n */\nfunction normalizeValues<Value = AccordionItemValue>(index?: Value | Value[]): Value[] | undefined {\n if (index === undefined) {\n return undefined;\n }\n return Array.isArray(index) ? index : [index];\n}\n"],"names":["React","getNativeElementProps","useControllableState","useEventCallback","slot","useArrowNavigationGroup","useAccordion_unstable","props","ref","openItems","controlledOpenItems","defaultOpenItems","multiple","collapsible","onToggle","navigation","setOpenItems","state","useMemo","normalizeValues","defaultState","initializeUncontrolledOpenItems","initialState","arrowNavigationProps","circular","tabbable","requestToggle","data","nextOpenItems","updateOpenItems","value","event","components","root","always","undefined","elementType","Array","isArray","previousOpenItems","includes","length","filter","i","sort","index"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,qBAAqB,EAAEC,oBAAoB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,4BAA4B;AAGhH,SAASC,uBAAuB,QAAQ,0BAA0B;AAGlE;;;;CAIC,GACD,OAAO,MAAMC,wBAAwB,CACnCC,OACAC,MAC0B;IAC1B,MAAM,EACJC,WAAWC,oBAAmB,EAC9BC,iBAAgB,EAChBC,UAAW,KAAK,CAAA,EAChBC,aAAc,KAAK,CAAA,EACnBC,SAAQ,EACRC,WAAU,EACX,GAAGR;IACJ,MAAM,CAACE,WAAWO,aAAa,GAAGd,qBAAqB;QACrDe,OAAOjB,MAAMkB,OAAO,CAAC,IAAMC,gBAAgBT,sBAAsB;YAACA;SAAoB;QACtFU,cAAc,IAAMC,gCAAgC;gBAAEV;gBAAkBC;YAAS;QACjFU,cAAc,EAAE;IAClB;IAEA,MAAMC,uBAAuBlB,wBAAwB;QACnDmB,UAAUT,eAAe;QACzBU,UAAU,IAAI;IAChB;IAEA,MAAMC,gBAAgBvB,iBAAiB,CAACwB,OAA4C;QAClF,MAAMC,gBAAgBC,gBAAgBF,KAAKG,KAAK,EAAErB,WAAWG,UAAUC;QACvEC,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAWa,KAAKI,KAAK,EAAE;YAAED,OAAOH,KAAKG,KAAK;YAAErB,WAAWmB;QAAc;QACrEZ,aAAaY;IACf;IAEA,OAAO;QACLf;QACAD;QACAG;QACAN;QACAiB;QACAM,YAAY;YACVC,MAAM;QACR;QACAA,MAAM7B,KAAK8B,MAAM,CACfjC,sBAAsB,OAAO;YAC3B,GAAGM,KAAK;YACR,GAAIQ,aAAaQ,uBAAuBY,SAAS;YACjD3B;QACF,IACA;YAAE4B,aAAa;QAAM;IAEzB;AACF,EAAE;AAEF;;CAEC,GACD,SAASf,gCAA4D,EACnEV,iBAAgB,EAChBC,SAAQ,EACqD,EAAW;IACxE,IAAID,qBAAqBwB,WAAW;QAClC,IAAIE,MAAMC,OAAO,CAAC3B,mBAAmB;YACnC,OAAOC,WAAWD,mBAAmB;gBAACA,gBAAgB,CAAC,EAAE;aAAC;QAC5D,CAAC;QACD,OAAO;YAACA;SAAiB;IAC3B,CAAC;IACD,OAAO,EAAE;AACX;AAEA;;;;;;CAMC,GACD,SAASkB,gBACPC,KAAY,EACZS,iBAA0B,EAC1B3B,QAAiB,EACjBC,WAAoB,EACpB;IACA,IAAID,UAAU;QACZ,IAAI2B,kBAAkBC,QAAQ,CAACV,QAAQ;YACrC,IAAIS,kBAAkBE,MAAM,GAAG,KAAK5B,aAAa;gBAC/C,OAAO0B,kBAAkBG,MAAM,CAACC,CAAAA,IAAKA,MAAMb;YAC7C,CAAC;QACH,OAAO;YACL,OAAO;mBAAIS;gBAAmBT;aAAM,CAACc,IAAI;QAC3C,CAAC;IACH,OAAO;QACL,OAAOL,iBAAiB,CAAC,EAAE,KAAKT,SAASjB,cAAc,EAAE,GAAG;YAACiB;SAAM;IACrE,CAAC;IACD,OAAOS;AACT;AAEA;;CAEC,GACD,SAASpB,gBAA4C0B,KAAuB,EAAuB;IACjG,IAAIA,UAAUV,WAAW;QACvB,OAAOA;IACT,CAAC;IACD,OAAOE,MAAMC,OAAO,CAACO,SAASA,QAAQ;QAACA;KAAM;AAC/C"}
@@ -1,11 +1,12 @@
1
1
  export function useAccordionContextValues_unstable(state) {
2
- const { navigation , openItems , requestToggle , collapsible } = state;
2
+ const { navigation , openItems , requestToggle , multiple , collapsible } = state;
3
3
  // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
4
4
  const accordion = {
5
5
  navigation,
6
6
  openItems,
7
7
  requestToggle,
8
- collapsible
8
+ collapsible,
9
+ multiple
9
10
  };
10
11
  return {
11
12
  accordion
@@ -1 +1 @@
1
- {"version":3,"sources":["useAccordionContextValues.ts"],"sourcesContent":["import type { AccordionContextValue, AccordionContextValues, AccordionState } from './Accordion.types';\n\nexport function useAccordionContextValues_unstable(state: AccordionState): AccordionContextValues {\n const { navigation, openItems, requestToggle, collapsible } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const accordion: AccordionContextValue = {\n navigation,\n openItems,\n requestToggle,\n collapsible,\n };\n\n return { accordion };\n}\n"],"names":["useAccordionContextValues_unstable","state","navigation","openItems","requestToggle","collapsible","accordion"],"mappings":"AAEA,OAAO,SAASA,mCAAmCC,KAAqB,EAA0B;IAChG,MAAM,EAAEC,WAAU,EAAEC,UAAS,EAAEC,cAAa,EAAEC,YAAW,EAAE,GAAGJ;IAE9D,mGAAmG;IACnG,MAAMK,YAAmC;QACvCJ;QACAC;QACAC;QACAC;IACF;IAEA,OAAO;QAAEC;IAAU;AACrB,CAAC"}
1
+ {"version":3,"sources":["useAccordionContextValues.ts"],"sourcesContent":["import type { AccordionContextValue } from '../../contexts/accordion';\nimport type { AccordionContextValues, AccordionState } from './Accordion.types';\n\nexport function useAccordionContextValues_unstable(state: AccordionState): AccordionContextValues {\n const { navigation, openItems, requestToggle, multiple, collapsible } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const accordion: AccordionContextValue = {\n navigation,\n openItems,\n requestToggle,\n collapsible,\n multiple,\n };\n\n return { accordion };\n}\n"],"names":["useAccordionContextValues_unstable","state","navigation","openItems","requestToggle","multiple","collapsible","accordion"],"mappings":"AAGA,OAAO,SAASA,mCAAmCC,KAAqB,EAA0B;IAChG,MAAM,EAAEC,WAAU,EAAEC,UAAS,EAAEC,cAAa,EAAEC,SAAQ,EAAEC,YAAW,EAAE,GAAGL;IAExE,mGAAmG;IACnG,MAAMM,YAAmC;QACvCL;QACAC;QACAC;QACAE;QACAD;IACF;IAEA,OAAO;QAAEE;IAAU;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["AccordionHeader.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ARIAButtonSlotProps } from '@fluentui/react-aria';\n\nexport type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';\nexport type AccordionHeaderExpandIconPosition = 'start' | 'end';\n\nexport type AccordionHeaderContextValue = Required<Pick<AccordionHeaderProps, 'expandIconPosition' | 'size'>> & {\n disabled: boolean;\n open: boolean;\n};\n\nexport type AccordionHeaderContextValues = {\n accordionHeader: AccordionHeaderContextValue;\n};\n\nexport type AccordionHeaderSlots = {\n /**\n * The element wrapping the button. By default this is a div, but can be a heading.\n */\n root: NonNullable<Slot<'div', 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>>;\n /**\n * The component to be used as button in heading\n */\n button: NonNullable<Slot<ARIAButtonSlotProps<'a'>>>;\n /**\n * Expand icon slot rendered before (or after) children content in heading.\n */\n expandIcon?: Slot<'span'>;\n /**\n * Expand icon slot rendered before (or after) children content in heading.\n */\n icon?: Slot<'div'>;\n};\n\nexport type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & {\n /**\n * The position of the expand icon slot in heading.\n */\n expandIconPosition?: AccordionHeaderExpandIconPosition;\n\n /**\n * Indicates if the AccordionHeader should be rendered inline.\n */\n inline?: boolean;\n\n /**\n * Size of spacing in the heading.\n */\n size?: AccordionHeaderSize;\n};\n\nexport type AccordionHeaderState = ComponentState<AccordionHeaderSlots> &\n Required<Pick<AccordionHeaderProps, 'inline'>> &\n AccordionHeaderContextValue;\n"],"names":[],"mappings":"AAAA,WAqD8B"}
1
+ {"version":3,"sources":["AccordionHeader.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ARIAButtonSlotProps } from '@fluentui/react-aria';\nimport type { AccordionHeaderContextValue } from '../../contexts/accordionHeader';\n\nexport type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';\nexport type AccordionHeaderExpandIconPosition = 'start' | 'end';\n\nexport type AccordionHeaderContextValues = {\n accordionHeader: AccordionHeaderContextValue;\n};\n\nexport type AccordionHeaderSlots = {\n /**\n * The element wrapping the button. By default this is a div, but can be a heading.\n */\n root: NonNullable<Slot<'div', 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>>;\n /**\n * The component to be used as button in heading\n */\n button: NonNullable<Slot<ARIAButtonSlotProps<'a'>>>;\n /**\n * Expand icon slot rendered before (or after) children content in heading.\n */\n expandIcon?: Slot<'span'>;\n /**\n * Expand icon slot rendered before (or after) children content in heading.\n */\n icon?: Slot<'div'>;\n};\n\nexport type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & {\n /**\n * The position of the expand icon slot in heading.\n */\n expandIconPosition?: AccordionHeaderExpandIconPosition;\n\n /**\n * Indicates if the AccordionHeader should be rendered inline.\n */\n inline?: boolean;\n\n /**\n * Size of spacing in the heading.\n */\n size?: AccordionHeaderSize;\n};\n\nexport type AccordionHeaderState = ComponentState<AccordionHeaderSlots> &\n Required<Pick<AccordionHeaderProps, 'inline'>> &\n AccordionHeaderContextValue;\n"],"names":[],"mappings":"AAAA,WAiD8B"}
@@ -4,4 +4,3 @@ export * from './renderAccordionHeader';
4
4
  export * from './useAccordionHeader';
5
5
  export * from './useAccordionHeaderContextValues';
6
6
  export * from './useAccordionHeaderStyles.styles';
7
- export * from './AccordionHeaderContext';
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './AccordionHeader';\nexport * from './AccordionHeader.types';\nexport * from './renderAccordionHeader';\nexport * from './useAccordionHeader';\nexport * from './useAccordionHeaderContextValues';\nexport * from './useAccordionHeaderStyles.styles';\nexport * from './AccordionHeaderContext';\n"],"names":[],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,oCAAoC;AAClD,cAAc,oCAAoC;AAClD,cAAc,2BAA2B"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './AccordionHeader';\nexport * from './AccordionHeader.types';\nexport * from './renderAccordionHeader';\nexport * from './useAccordionHeader';\nexport * from './useAccordionHeaderContextValues';\nexport * from './useAccordionHeaderStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,oCAAoC;AAClD,cAAc,oCAAoC"}
@@ -1,11 +1,11 @@
1
1
  /** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';
2
- import { getSlotsNext } from '@fluentui/react-utilities';
3
- import { AccordionHeaderContext } from './AccordionHeaderContext';
2
+ import { assertSlots } from '@fluentui/react-utilities';
3
+ import { AccordionHeaderProvider } from '../../contexts/accordionHeader';
4
4
  /**
5
5
  * Function that renders the final JSX of the component
6
6
  */ export const renderAccordionHeader_unstable = (state, contextValues)=>{
7
- const { slots , slotProps } = getSlotsNext(state);
8
- return /*#__PURE__*/ createElement(AccordionHeaderContext.Provider, {
7
+ assertSlots(state);
8
+ return /*#__PURE__*/ createElement(AccordionHeaderProvider, {
9
9
  value: contextValues.accordionHeader
10
- }, /*#__PURE__*/ createElement(slots.root, slotProps.root, /*#__PURE__*/ createElement(slots.button, slotProps.button, state.expandIconPosition === 'start' && slots.expandIcon && /*#__PURE__*/ createElement(slots.expandIcon, slotProps.expandIcon), slots.icon && /*#__PURE__*/ createElement(slots.icon, slotProps.icon), slotProps.root.children, state.expandIconPosition === 'end' && slots.expandIcon && /*#__PURE__*/ createElement(slots.expandIcon, slotProps.expandIcon))));
10
+ }, /*#__PURE__*/ createElement(state.root, null, /*#__PURE__*/ createElement(state.button, null, state.expandIconPosition === 'start' && state.expandIcon && /*#__PURE__*/ createElement(state.expandIcon, null), state.icon && /*#__PURE__*/ createElement(state.icon, null), state.root.children, state.expandIconPosition === 'end' && state.expandIcon && /*#__PURE__*/ createElement(state.expandIcon, null))));
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderAccordionHeader.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\n\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { AccordionHeaderContext } from './AccordionHeaderContext';\nimport type { AccordionHeaderState, AccordionHeaderSlots, AccordionHeaderContextValues } from './AccordionHeader.types';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderAccordionHeader_unstable = (\n state: AccordionHeaderState,\n contextValues: AccordionHeaderContextValues,\n) => {\n const { slots, slotProps } = getSlotsNext<AccordionHeaderSlots>(state);\n\n return (\n <AccordionHeaderContext.Provider value={contextValues.accordionHeader}>\n <slots.root {...slotProps.root}>\n <slots.button {...slotProps.button}>\n {state.expandIconPosition === 'start' && slots.expandIcon && <slots.expandIcon {...slotProps.expandIcon} />}\n {slots.icon && <slots.icon {...slotProps.icon} />}\n {slotProps.root.children}\n {state.expandIconPosition === 'end' && slots.expandIcon && <slots.expandIcon {...slotProps.expandIcon} />}\n </slots.button>\n </slots.root>\n </AccordionHeaderContext.Provider>\n );\n};\n"],"names":["createElement","getSlotsNext","AccordionHeaderContext","renderAccordionHeader_unstable","state","contextValues","slots","slotProps","Provider","value","accordionHeader","root","button","expandIconPosition","expandIcon","icon","children"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAE5D,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,sBAAsB,QAAQ,2BAA2B;AAGlE;;CAEC,GACD,OAAO,MAAMC,iCAAiC,CAC5CC,OACAC,gBACG;IACH,MAAM,EAAEC,MAAK,EAAEC,UAAS,EAAE,GAAGN,aAAmCG;IAEhE,qBACE,AAlBJ,cAkBKF,uBAAuBM,QAAQ;QAACC,OAAOJ,cAAcK,eAAe;qBACnE,AAnBN,cAmBOJ,MAAMK,IAAI,EAAKJ,UAAUI,IAAI,gBAC5B,AApBR,cAoBSL,MAAMM,MAAM,EAAKL,UAAUK,MAAM,EAC/BR,MAAMS,kBAAkB,KAAK,WAAWP,MAAMQ,UAAU,kBAAI,AArBvE,cAqBwER,MAAMQ,UAAU,EAAKP,UAAUO,UAAU,GACtGR,MAAMS,IAAI,kBAAI,AAtBzB,cAsB0BT,MAAMS,IAAI,EAAKR,UAAUQ,IAAI,GAC5CR,UAAUI,IAAI,CAACK,QAAQ,EACvBZ,MAAMS,kBAAkB,KAAK,SAASP,MAAMQ,UAAU,kBAAI,AAxBrE,cAwBsER,MAAMQ,UAAU,EAAKP,UAAUO,UAAU;AAK/G,EAAE"}
1
+ {"version":3,"sources":["renderAccordionHeader.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { AccordionHeaderState, AccordionHeaderSlots, AccordionHeaderContextValues } from './AccordionHeader.types';\nimport { AccordionHeaderProvider } from '../../contexts/accordionHeader';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderAccordionHeader_unstable = (\n state: AccordionHeaderState,\n contextValues: AccordionHeaderContextValues,\n) => {\n assertSlots<AccordionHeaderSlots>(state);\n\n return (\n <AccordionHeaderProvider value={contextValues.accordionHeader}>\n <state.root>\n <state.button>\n {state.expandIconPosition === 'start' && state.expandIcon && <state.expandIcon />}\n {state.icon && <state.icon />}\n {state.root.children}\n {state.expandIconPosition === 'end' && state.expandIcon && <state.expandIcon />}\n </state.button>\n </state.root>\n </AccordionHeaderProvider>\n );\n};\n"],"names":["createElement","assertSlots","AccordionHeaderProvider","renderAccordionHeader_unstable","state","contextValues","value","accordionHeader","root","button","expandIconPosition","expandIcon","icon","children"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAE5D,SAASC,WAAW,QAAQ,4BAA4B;AAExD,SAASC,uBAAuB,QAAQ,iCAAiC;AAEzE;;CAEC,GACD,OAAO,MAAMC,iCAAiC,CAC5CC,OACAC,gBACG;IACHJ,YAAkCG;IAElC,qBACE,AAlBJ,cAkBKF;QAAwBI,OAAOD,cAAcE,eAAe;qBAC3D,AAnBN,cAmBOH,MAAMI,IAAI,sBACT,AApBR,cAoBSJ,MAAMK,MAAM,QACVL,MAAMM,kBAAkB,KAAK,WAAWN,MAAMO,UAAU,kBAAI,AArBvE,cAqBwEP,MAAMO,UAAU,SAC7EP,MAAMQ,IAAI,kBAAI,AAtBzB,cAsB0BR,MAAMQ,IAAI,SACzBR,MAAMI,IAAI,CAACK,QAAQ,EACnBT,MAAMM,kBAAkB,KAAK,SAASN,MAAMO,UAAU,kBAAI,AAxBrE,cAwBsEP,MAAMO,UAAU;AAKtF,EAAE"}