@fluentui/react-accordion 0.0.0-nightlyf8be6a7c6520220106.1 → 0.0.0-nightlyff78d1e27a20220217.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 +186 -25
- package/CHANGELOG.md +43 -14
- package/Spec.md +36 -4
- package/dist/react-accordion.d.ts +40 -58
- package/lib/Accordion.js.map +1 -1
- package/lib/AccordionHeader.js.map +1 -1
- package/lib/AccordionItem.js.map +1 -1
- package/lib/AccordionPanel.js.map +1 -1
- package/lib/components/Accordion/Accordion.d.ts +1 -1
- package/lib/components/Accordion/Accordion.js +9 -9
- package/lib/components/Accordion/Accordion.js.map +1 -1
- package/lib/components/Accordion/Accordion.types.d.ts +7 -5
- package/lib/components/Accordion/Accordion.types.js.map +1 -1
- package/lib/components/Accordion/AccordionContext.js +0 -1
- package/lib/components/Accordion/AccordionContext.js.map +1 -1
- package/lib/components/Accordion/index.js.map +1 -1
- package/lib/components/Accordion/renderAccordion.d.ts +1 -1
- package/lib/components/Accordion/renderAccordion.js +1 -1
- package/lib/components/Accordion/renderAccordion.js.map +1 -1
- package/lib/components/Accordion/useAccordion.d.ts +2 -3
- package/lib/components/Accordion/useAccordion.js +17 -20
- package/lib/components/Accordion/useAccordion.js.map +1 -1
- package/lib/components/Accordion/useAccordionContextValues.d.ts +1 -1
- package/lib/components/Accordion/useAccordionContextValues.js +3 -3
- package/lib/components/Accordion/useAccordionContextValues.js.map +1 -1
- package/lib/components/Accordion/useAccordionStyles.d.ts +1 -1
- package/lib/components/Accordion/useAccordionStyles.js +2 -2
- package/lib/components/Accordion/useAccordionStyles.js.map +1 -1
- package/lib/components/AccordionHeader/AccordionHeader.d.ts +2 -1
- package/lib/components/AccordionHeader/AccordionHeader.js +10 -9
- package/lib/components/AccordionHeader/AccordionHeader.js.map +1 -1
- package/lib/components/AccordionHeader/AccordionHeader.types.d.ts +12 -11
- package/lib/components/AccordionHeader/AccordionHeader.types.js.map +1 -1
- package/lib/components/AccordionHeader/AccordionHeaderContext.js.map +1 -1
- package/lib/components/AccordionHeader/index.d.ts +0 -1
- package/lib/components/AccordionHeader/index.js +0 -1
- package/lib/components/AccordionHeader/index.js.map +1 -1
- package/lib/components/AccordionHeader/renderAccordionHeader.d.ts +1 -1
- package/lib/components/AccordionHeader/renderAccordionHeader.js +4 -6
- package/lib/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
- package/lib/components/AccordionHeader/useAccordionHeader.d.ts +2 -6
- package/lib/components/AccordionHeader/useAccordionHeader.js +28 -19
- package/lib/components/AccordionHeader/useAccordionHeader.js.map +1 -1
- package/lib/components/AccordionHeader/useAccordionHeaderContextValues.d.ts +1 -1
- package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js +1 -1
- package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -1
- package/lib/components/AccordionHeader/useAccordionHeaderStyles.d.ts +1 -1
- package/lib/components/AccordionHeader/useAccordionHeaderStyles.js +23 -29
- package/lib/components/AccordionHeader/useAccordionHeaderStyles.js.map +1 -1
- package/lib/components/AccordionItem/AccordionItem.d.ts +1 -1
- package/lib/components/AccordionItem/AccordionItem.js +9 -9
- package/lib/components/AccordionItem/AccordionItem.js.map +1 -1
- package/lib/components/AccordionItem/AccordionItem.types.d.ts +4 -3
- package/lib/components/AccordionItem/AccordionItem.types.js.map +1 -1
- package/lib/components/AccordionItem/AccordionItemContext.d.ts +1 -1
- package/lib/components/AccordionItem/AccordionItemContext.js +1 -1
- package/lib/components/AccordionItem/AccordionItemContext.js.map +1 -1
- package/lib/components/AccordionItem/index.js.map +1 -1
- package/lib/components/AccordionItem/renderAccordionItem.d.ts +1 -1
- package/lib/components/AccordionItem/renderAccordionItem.js +2 -3
- package/lib/components/AccordionItem/renderAccordionItem.js.map +1 -1
- package/lib/components/AccordionItem/useAccordionItem.d.ts +2 -6
- package/lib/components/AccordionItem/useAccordionItem.js +9 -13
- package/lib/components/AccordionItem/useAccordionItem.js.map +1 -1
- package/lib/components/AccordionItem/useAccordionItemContextValues.d.ts +1 -1
- package/lib/components/AccordionItem/useAccordionItemContextValues.js +1 -1
- package/lib/components/AccordionItem/useAccordionItemContextValues.js.map +1 -1
- package/lib/components/AccordionItem/useAccordionItemStyles.d.ts +1 -1
- package/lib/components/AccordionItem/useAccordionItemStyles.js +2 -2
- package/lib/components/AccordionItem/useAccordionItemStyles.js.map +1 -1
- package/lib/components/AccordionPanel/AccordionPanel.d.ts +1 -1
- package/lib/components/AccordionPanel/AccordionPanel.js +7 -7
- package/lib/components/AccordionPanel/AccordionPanel.js.map +1 -1
- package/lib/components/AccordionPanel/AccordionPanel.types.d.ts +2 -2
- package/lib/components/AccordionPanel/AccordionPanel.types.js.map +1 -1
- package/lib/components/AccordionPanel/index.js.map +1 -1
- package/lib/components/AccordionPanel/renderAccordionPanel.d.ts +1 -1
- package/lib/components/AccordionPanel/renderAccordionPanel.js +2 -3
- package/lib/components/AccordionPanel/renderAccordionPanel.js.map +1 -1
- package/lib/components/AccordionPanel/useAccordionPanel.d.ts +2 -6
- package/lib/components/AccordionPanel/useAccordionPanel.js +6 -9
- package/lib/components/AccordionPanel/useAccordionPanel.js.map +1 -1
- package/lib/components/AccordionPanel/useAccordionPanelStyles.d.ts +1 -1
- package/lib/components/AccordionPanel/useAccordionPanelStyles.js +2 -2
- package/lib/components/AccordionPanel/useAccordionPanelStyles.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib-commonjs/Accordion.js.map +1 -1
- package/lib-commonjs/AccordionHeader.js.map +1 -1
- package/lib-commonjs/AccordionItem.js.map +1 -1
- package/lib-commonjs/AccordionPanel.js.map +1 -1
- package/lib-commonjs/components/Accordion/Accordion.d.ts +1 -1
- package/lib-commonjs/components/Accordion/Accordion.js +5 -5
- package/lib-commonjs/components/Accordion/Accordion.js.map +1 -1
- package/lib-commonjs/components/Accordion/Accordion.types.d.ts +7 -5
- package/lib-commonjs/components/Accordion/Accordion.types.js.map +1 -1
- package/lib-commonjs/components/Accordion/AccordionContext.js +0 -1
- package/lib-commonjs/components/Accordion/AccordionContext.js.map +1 -1
- package/lib-commonjs/components/Accordion/index.js.map +1 -1
- package/lib-commonjs/components/Accordion/renderAccordion.d.ts +1 -1
- package/lib-commonjs/components/Accordion/renderAccordion.js +3 -3
- package/lib-commonjs/components/Accordion/renderAccordion.js.map +1 -1
- package/lib-commonjs/components/Accordion/useAccordion.d.ts +2 -3
- package/lib-commonjs/components/Accordion/useAccordion.js +20 -22
- package/lib-commonjs/components/Accordion/useAccordion.js.map +1 -1
- package/lib-commonjs/components/Accordion/useAccordionContextValues.d.ts +1 -1
- package/lib-commonjs/components/Accordion/useAccordionContextValues.js +5 -5
- package/lib-commonjs/components/Accordion/useAccordionContextValues.js.map +1 -1
- package/lib-commonjs/components/Accordion/useAccordionStyles.d.ts +1 -1
- package/lib-commonjs/components/Accordion/useAccordionStyles.js +5 -5
- package/lib-commonjs/components/Accordion/useAccordionStyles.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.d.ts +2 -1
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.js +6 -5
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.d.ts +12 -11
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/index.d.ts +0 -1
- package/lib-commonjs/components/AccordionHeader/index.js +0 -2
- package/lib-commonjs/components/AccordionHeader/index.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.d.ts +1 -1
- package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js +6 -9
- package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/useAccordionHeader.d.ts +2 -6
- package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js +31 -20
- package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.d.ts +1 -1
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.js +3 -3
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -1
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.d.ts +1 -1
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.js +30 -35
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/AccordionItem.d.ts +1 -1
- package/lib-commonjs/components/AccordionItem/AccordionItem.js +5 -5
- package/lib-commonjs/components/AccordionItem/AccordionItem.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/AccordionItem.types.d.ts +4 -3
- package/lib-commonjs/components/AccordionItem/AccordionItem.types.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/AccordionItemContext.d.ts +1 -1
- package/lib-commonjs/components/AccordionItem/AccordionItemContext.js +3 -3
- package/lib-commonjs/components/AccordionItem/AccordionItemContext.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/index.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/renderAccordionItem.d.ts +1 -1
- package/lib-commonjs/components/AccordionItem/renderAccordionItem.js +4 -6
- package/lib-commonjs/components/AccordionItem/renderAccordionItem.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/useAccordionItem.d.ts +2 -6
- package/lib-commonjs/components/AccordionItem/useAccordionItem.js +11 -15
- package/lib-commonjs/components/AccordionItem/useAccordionItem.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.d.ts +1 -1
- package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js +3 -3
- package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js.map +1 -1
- package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.d.ts +1 -1
- package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.js +5 -5
- package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.js.map +1 -1
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.d.ts +1 -1
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.js +4 -4
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.js.map +1 -1
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.d.ts +2 -2
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.js.map +1 -1
- package/lib-commonjs/components/AccordionPanel/index.js.map +1 -1
- package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.d.ts +1 -1
- package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js +4 -6
- package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js.map +1 -1
- package/lib-commonjs/components/AccordionPanel/useAccordionPanel.d.ts +2 -6
- package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js +8 -11
- package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js.map +1 -1
- package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.d.ts +1 -1
- package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.js +6 -6
- package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.js.map +1 -1
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +15 -16
- package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.d.ts +0 -3
- package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.js +0 -41
- package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.js.map +0 -1
- package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.d.ts +0 -3
- package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.js +0 -50
- package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.js.map +0 -1
|
@@ -1,25 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { getNativeElementProps, resolveShorthand, useEventCallback } from '@fluentui/react-utilities';
|
|
2
|
-
import {
|
|
3
|
-
import { AccordionHeaderExpandIcon } from './AccordionHeaderExpandIcon';
|
|
3
|
+
import { useAccordionItemContext_unstable } from '../AccordionItem/index';
|
|
4
4
|
import { useARIAButton } from '@fluentui/react-aria';
|
|
5
5
|
import { useContextSelector } from '@fluentui/react-context-selector';
|
|
6
6
|
import { AccordionContext } from '../Accordion/AccordionContext';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
export const accordionHeaderShorthandProps = ['root', 'icon', 'button', 'children', 'expandIcon'];
|
|
7
|
+
import { ChevronRightRegular } from '@fluentui/react-icons';
|
|
8
|
+
import { useFluent } from '@fluentui/react-shared-contexts';
|
|
12
9
|
/**
|
|
13
10
|
* Returns the props and state required to render the component
|
|
14
11
|
* @param props - AccordionHeader properties
|
|
15
12
|
* @param ref - reference to root HTMLElement of AccordionHeader
|
|
16
13
|
*/
|
|
17
14
|
|
|
18
|
-
export const
|
|
15
|
+
export const useAccordionHeader_unstable = (props, ref) => {
|
|
19
16
|
const {
|
|
17
|
+
as,
|
|
20
18
|
icon,
|
|
21
19
|
button,
|
|
22
|
-
children,
|
|
23
20
|
expandIcon,
|
|
24
21
|
inline = false,
|
|
25
22
|
size = 'medium',
|
|
@@ -29,13 +26,27 @@ export const useAccordionHeader = (props, ref) => {
|
|
|
29
26
|
onHeaderClick: onAccordionHeaderClick,
|
|
30
27
|
disabled,
|
|
31
28
|
open
|
|
32
|
-
} =
|
|
29
|
+
} = useAccordionItemContext_unstable();
|
|
33
30
|
/**
|
|
34
31
|
* force disabled state on button if accordion isn't collapsible
|
|
35
32
|
* and this is the only item opened
|
|
36
33
|
*/
|
|
37
34
|
|
|
38
35
|
const disabledFocusable = useContextSelector(AccordionContext, ctx => !ctx.collapsible && ctx.openItems.length === 1 && open);
|
|
36
|
+
const {
|
|
37
|
+
dir
|
|
38
|
+
} = useFluent(); // Calculate how to rotate the expand icon [>] (ChevronRightRegular)
|
|
39
|
+
|
|
40
|
+
let expandIconRotation;
|
|
41
|
+
|
|
42
|
+
if (expandIconPosition === 'end') {
|
|
43
|
+
// If expand icon is at the end, the chevron points up [^] when open, and down [v] when closed
|
|
44
|
+
expandIconRotation = open ? -90 : 90;
|
|
45
|
+
} else {
|
|
46
|
+
// Otherwise, the chevron points down [v] when open, and right [>] (or left [<] in RTL) when closed
|
|
47
|
+
expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;
|
|
48
|
+
}
|
|
49
|
+
|
|
39
50
|
const buttonShorthand = useARIAButton(button, {
|
|
40
51
|
required: true,
|
|
41
52
|
defaultProps: {
|
|
@@ -53,19 +64,20 @@ export const useAccordionHeader = (props, ref) => {
|
|
|
53
64
|
components: {
|
|
54
65
|
root: 'div',
|
|
55
66
|
button: 'button',
|
|
56
|
-
expandIcon:
|
|
57
|
-
icon: 'div'
|
|
58
|
-
children: 'div'
|
|
67
|
+
expandIcon: 'span',
|
|
68
|
+
icon: 'div'
|
|
59
69
|
},
|
|
60
|
-
root: getNativeElementProps('div', {
|
|
70
|
+
root: getNativeElementProps(as || 'div', {
|
|
61
71
|
ref,
|
|
62
|
-
role: 'heading',
|
|
63
72
|
...props
|
|
64
73
|
}),
|
|
65
74
|
icon: resolveShorthand(icon),
|
|
66
75
|
expandIcon: resolveShorthand(expandIcon, {
|
|
67
76
|
required: true,
|
|
68
77
|
defaultProps: {
|
|
78
|
+
children: /*#__PURE__*/React.createElement(ChevronRightRegular, {
|
|
79
|
+
transform: `rotate(${expandIconRotation})`
|
|
80
|
+
}),
|
|
69
81
|
'aria-hidden': true
|
|
70
82
|
}
|
|
71
83
|
}),
|
|
@@ -79,10 +91,7 @@ export const useAccordionHeader = (props, ref) => {
|
|
|
79
91
|
onAccordionHeaderClick(ev);
|
|
80
92
|
}
|
|
81
93
|
})
|
|
82
|
-
}
|
|
83
|
-
children: resolveShorthand(children, {
|
|
84
|
-
required: true
|
|
85
|
-
})
|
|
94
|
+
}
|
|
86
95
|
};
|
|
87
96
|
};
|
|
88
97
|
//# sourceMappingURL=useAccordionHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionHeader/useAccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,EAAgC,gBAAhC,EAAkD,gBAAlD,QAA0E,2BAA1E;AACA,SAAS,gCAAT,QAAiD,wBAAjD;AACA,SAAS,aAAT,QAA8B,sBAA9B;AAEA,SAAS,kBAAT,QAAmC,kCAAnC;AACA,SAAS,gBAAT,QAAiC,+BAAjC;AACA,SAAS,mBAAT,QAAoC,uBAApC;AACA,SAAS,SAAT,QAA0B,iCAA1B;AAEA;;;;AAIG;;AACH,OAAO,MAAM,2BAA2B,GAAG,CACzC,KADyC,EAEzC,GAFyC,KAGjB;AACxB,QAAM;AAAE,IAAA,EAAF;AAAM,IAAA,IAAN;AAAY,IAAA,MAAZ;AAAoB,IAAA,UAApB;AAAgC,IAAA,MAAM,GAAG,KAAzC;AAAgD,IAAA,IAAI,GAAG,QAAvD;AAAiE,IAAA,kBAAkB,GAAG;AAAtF,MAAkG,KAAxG;AACA,QAAM;AAAE,IAAA,aAAa,EAAE,sBAAjB;AAAyC,IAAA,QAAzC;AAAmD,IAAA;AAAnD,MAA4D,gCAAgC,EAAlG;AAEA;;;AAGG;;AACH,QAAM,iBAAiB,GAAG,kBAAkB,CAC1C,gBAD0C,EAE1C,GAAG,IAAI,CAAC,GAAG,CAAC,WAAL,IAAoB,GAAG,CAAC,SAAJ,CAAc,MAAd,KAAyB,CAA7C,IAAkD,IAFf,CAA5C;AAKA,QAAM;AAAE,IAAA;AAAF,MAAU,SAAS,EAAzB,CAbwB,CAexB;;AACA,MAAI,kBAAJ;;AACA,MAAI,kBAAkB,KAAK,KAA3B,EAAkC;AAChC;AACA,IAAA,kBAAkB,GAAG,IAAI,GAAG,CAAC,EAAJ,GAAS,EAAlC;AACD,GAHD,MAGO;AACL;AACA,IAAA,kBAAkB,GAAG,IAAI,GAAG,EAAH,GAAQ,GAAG,KAAK,KAAR,GAAgB,CAAhB,GAAoB,GAArD;AACD;;AAED,QAAM,eAAe,GAAG,aAAa,CAAC,MAAD,EAAS;AAC5C,IAAA,QAAQ,EAAE,IADkC;AAE5C,IAAA,YAAY,EAAE;AACZ,MAAA,QADY;AAEZ,MAAA,iBAFY;AAGZ,uBAAiB;AAHL;AAF8B,GAAT,CAArC;AASA,SAAO;AACL,IAAA,QADK;AAEL,IAAA,IAFK;AAGL,IAAA,IAHK;AAIL,IAAA,MAJK;AAKL,IAAA,kBALK;AAML,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,KADI;AAEV,MAAA,MAAM,EAAE,QAFE;AAGV,MAAA,UAAU,EAAE,MAHF;AAIV,MAAA,IAAI,EAAE;AAJI,KANP;AAYL,IAAA,IAAI,EAAE,qBAAqB,CAAC,EAAE,IAAI,KAAP,EAAc;AACvC,MAAA,GADuC;AAEvC,SAAG;AAFoC,KAAd,CAZtB;AAgBL,IAAA,IAAI,EAAE,gBAAgB,CAAC,IAAD,CAhBjB;AAiBL,IAAA,UAAU,EAAE,gBAAgB,CAAC,UAAD,EAAa;AACvC,MAAA,QAAQ,EAAE,IAD6B;AAEvC,MAAA,YAAY,EAAE;AACZ,QAAA,QAAQ,eAAE,KAAA,CAAA,aAAA,CAAC,mBAAD,EAAoB;AAAC,UAAA,SAAS,EAAE,UAAU,kBAAkB;AAAxC,SAApB,CADE;AAEZ,uBAAe;AAFH;AAFyB,KAAb,CAjBvB;AAwBL,IAAA,MAAM,EAAE,EACN,GAAG,eADG;AAEN,MAAA,OAAO,EAAE,gBAAgB,CACtB,EAAD,IAAmG;;;AACjG,SAAA,EAAA,GAAA,eAAe,CAAC,OAAhB,MAAuB,IAAvB,IAAuB,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuB,EAAA,CAAA,IAAA,CAAvB,eAAuB,EAAG,EAAH,CAAvB;;AACA,YAAI,CAAC,EAAE,CAAC,gBAAR,EAA0B;AACxB,UAAA,sBAAsB,CAAC,EAAD,CAAtB;AACD;AACF,OANsB;AAFnB;AAxBH,GAAP;AAoCD,CAzEM","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, resolveShorthand, useEventCallback } from '@fluentui/react-utilities';\nimport { useAccordionItemContext_unstable } from '../AccordionItem/index';\nimport { useARIAButton } from '@fluentui/react-aria';\nimport type { AccordionHeaderProps, AccordionHeaderState } from './AccordionHeader.types';\nimport { useContextSelector } from '@fluentui/react-context-selector';\nimport { AccordionContext } from '../Accordion/AccordionContext';\nimport { ChevronRightRegular } from '@fluentui/react-icons';\nimport { useFluent } from '@fluentui/react-shared-contexts';\n\n/**\n * Returns the props and state required to render the component\n * @param props - AccordionHeader properties\n * @param ref - reference to root HTMLElement of AccordionHeader\n */\nexport const useAccordionHeader_unstable = (\n props: AccordionHeaderProps,\n ref: React.Ref<HTMLElement>,\n): AccordionHeaderState => {\n const { as, icon, button, expandIcon, inline = false, size = 'medium', expandIconPosition = 'start' } = props;\n const { onHeaderClick: onAccordionHeaderClick, disabled, open } = useAccordionItemContext_unstable();\n\n /**\n * force disabled state on button if accordion isn't collapsible\n * and this is the only item opened\n */\n const disabledFocusable = useContextSelector(\n AccordionContext,\n ctx => !ctx.collapsible && ctx.openItems.length === 1 && open,\n );\n\n const { dir } = useFluent();\n\n // Calculate how to rotate the expand icon [>] (ChevronRightRegular)\n let expandIconRotation: 0 | 90 | -90 | 180;\n if (expandIconPosition === 'end') {\n // If expand icon is at the end, the chevron points up [^] when open, and down [v] when closed\n expandIconRotation = open ? -90 : 90;\n } else {\n // Otherwise, the chevron points down [v] when open, and right [>] (or left [<] in RTL) when closed\n expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;\n }\n\n const buttonShorthand = useARIAButton(button, {\n required: true,\n defaultProps: {\n disabled,\n disabledFocusable,\n 'aria-expanded': open,\n },\n });\n\n return {\n disabled,\n open,\n size,\n inline,\n expandIconPosition,\n components: {\n root: 'div',\n button: 'button',\n expandIcon: 'span',\n icon: 'div',\n },\n root: getNativeElementProps(as || 'div', {\n ref,\n ...props,\n }),\n icon: resolveShorthand(icon),\n expandIcon: resolveShorthand(expandIcon, {\n required: true,\n defaultProps: {\n children: <ChevronRightRegular transform={`rotate(${expandIconRotation})`} />,\n 'aria-hidden': true,\n },\n }),\n button: {\n ...buttonShorthand,\n onClick: useEventCallback(\n (ev: React.MouseEvent<HTMLButtonElement & HTMLDivElement & HTMLSpanElement & HTMLAnchorElement>) => {\n buttonShorthand.onClick?.(ev);\n if (!ev.defaultPrevented) {\n onAccordionHeaderClick(ev);\n }\n },\n ),\n },\n };\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { AccordionHeaderState, AccordionHeaderContextValues } from './AccordionHeader.types';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function useAccordionHeaderContextValues_unstable(state: AccordionHeaderState): AccordionHeaderContextValues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionHeader/useAccordionHeaderContextValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAOA,OAAM,SAAU,wCAAV,CAAmD,KAAnD,EAA8E;AAClF,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA,kBAAZ;AAAgC,IAAA,IAAhC;AAAsC,IAAA;AAAtC,MAA+C,KAArD;AAEA,QAAM,eAAe,GAAG,KAAK,CAAC,OAAN,CACtB,OAAO;AACL,IAAA,QADK;AAEL,IAAA,kBAFK;AAGL,IAAA,IAHK;AAIL,IAAA;AAJK,GAAP,CADsB,EAOtB,CAAC,QAAD,EAAW,kBAAX,EAA+B,IAA/B,EAAqC,IAArC,CAPsB,CAAxB;AAUA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD","sourcesContent":["import * as React from 'react';\nimport type {\n AccordionHeaderContextValue,\n AccordionHeaderState,\n AccordionHeaderContextValues,\n} from './AccordionHeader.types';\n\nexport function useAccordionHeaderContextValues_unstable(state: AccordionHeaderState): AccordionHeaderContextValues {\n const { disabled, expandIconPosition, open, size } = state;\n\n const accordionHeader = React.useMemo<AccordionHeaderContextValue>(\n () => ({\n disabled,\n expandIconPosition,\n open,\n size,\n }),\n [disabled, expandIconPosition, open, size],\n );\n\n return { accordionHeader };\n}\n"],"sourceRoot":"../src/"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { AccordionHeaderState } from './AccordionHeader.types';
|
|
2
2
|
export declare const accordionHeaderClassName = "fui-AccordionHeader";
|
|
3
3
|
/** Applies style classnames to slots */
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const useAccordionHeaderStyles_unstable: (state: AccordionHeaderState) => AccordionHeaderState;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { shorthands, __styles, mergeClasses } from '@
|
|
1
|
+
import { shorthands, __styles, mergeClasses } from '@griffel/react';
|
|
2
2
|
import { createFocusOutlineStyle } from '@fluentui/react-tabster';
|
|
3
|
+
import { tokens } from '@fluentui/react-theme';
|
|
3
4
|
export const accordionHeaderClassName = 'fui-AccordionHeader';
|
|
4
5
|
|
|
5
6
|
const useStyles = /*#__PURE__*/__styles({
|
|
@@ -40,6 +41,10 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
40
41
|
"root": {
|
|
41
42
|
"sj55zd": "f19n0e5",
|
|
42
43
|
"De3pzq": "fxugw4r",
|
|
44
|
+
"B6of3ja": "f1hu3pq6",
|
|
45
|
+
"t21cq0": ["f11qmguv", "f1tyq0we"],
|
|
46
|
+
"jrapky": "f19f4twv",
|
|
47
|
+
"Frg6f3": ["f1tyq0we", "f11qmguv"],
|
|
43
48
|
"Bbmb7ep": ["f2i1086", "f1rlsnju"],
|
|
44
49
|
"Beyfa6y": ["f1rlsnju", "f2i1086"],
|
|
45
50
|
"B7oj6ja": ["f1stktl2", "f1127022"],
|
|
@@ -72,16 +77,26 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
72
77
|
"Bqenvij": "f1ft4266",
|
|
73
78
|
"mc9l5x": "f22iagw",
|
|
74
79
|
"Bt984gj": "f122n59",
|
|
75
|
-
"Bceei9c": "f1k6fduh"
|
|
80
|
+
"Bceei9c": "f1k6fduh",
|
|
81
|
+
"Be2twd7": "fkhj508",
|
|
82
|
+
"Bahqtrf": "fk6fouc"
|
|
76
83
|
},
|
|
77
84
|
"buttonSmall": {
|
|
78
|
-
"Bqenvij": "f1d2rq10"
|
|
85
|
+
"Bqenvij": "f1d2rq10",
|
|
86
|
+
"Be2twd7": "fy9rknc"
|
|
87
|
+
},
|
|
88
|
+
"buttonLarge": {
|
|
89
|
+
"Be2twd7": "fod5ikn"
|
|
90
|
+
},
|
|
91
|
+
"buttonExtraLarge": {
|
|
92
|
+
"Be2twd7": "f1pp30po"
|
|
79
93
|
},
|
|
80
94
|
"buttonInline": {
|
|
81
95
|
"mc9l5x": "ftuwxu6"
|
|
82
96
|
},
|
|
83
97
|
"expandIcon": {
|
|
84
|
-
"Bg96gwp": "fez10in"
|
|
98
|
+
"Bg96gwp": "fez10in",
|
|
99
|
+
"Be2twd7": "fe5j1ua"
|
|
85
100
|
},
|
|
86
101
|
"expandIconStart": {
|
|
87
102
|
"z189sj": ["f19lj068", "f177v4lu"]
|
|
@@ -96,48 +111,27 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
96
111
|
},
|
|
97
112
|
"icon": {
|
|
98
113
|
"t21cq0": ["f1phki43", "ff9s3yw"],
|
|
99
|
-
"
|
|
114
|
+
"Be2twd7": "fe5j1ua"
|
|
100
115
|
},
|
|
101
116
|
"iconExpandIconEnd": {
|
|
102
117
|
"Frg6f3": ["f1oou7ox", "f1pxv85q"]
|
|
103
|
-
},
|
|
104
|
-
"children": {
|
|
105
|
-
"Be2twd7": "fkhj508",
|
|
106
|
-
"Bahqtrf": "fk6fouc",
|
|
107
|
-
"ygn44y": "f1cmbuwj",
|
|
108
|
-
"Huce71": "fz5stix",
|
|
109
|
-
"B68tc82": "f1p9o1ba",
|
|
110
|
-
"Bmxbyg5": "f1sil6mw"
|
|
111
|
-
},
|
|
112
|
-
"childrenSmall": {
|
|
113
|
-
"Be2twd7": "fy9rknc"
|
|
114
|
-
},
|
|
115
|
-
"childrenLarge": {
|
|
116
|
-
"Be2twd7": "fod5ikn"
|
|
117
|
-
},
|
|
118
|
-
"childrenExtraLarge": {
|
|
119
|
-
"Be2twd7": "f1pp30po"
|
|
120
118
|
}
|
|
121
119
|
}, {
|
|
122
|
-
"d": [".f1e4lqlz{box-sizing:content-box;}", ".f1u2r49w{background-color:inherit;}", ".f1ym3bx4{color:inherit;}", ".f1mo0ibp{font-family:inherit;}", ".fjoy568{font-size:inherit;}", ".fytdu2e{line-height:normal;}", ".f1mtd64y{overflow-x:visible;}", ".f1y7q3j9{overflow-y:visible;}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".f37px4s{-webkit-appearance:button;}", ".f1xqy1su{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}", ".fgusgyc{text-align:unset;}", "[data-keyboard-nav] .fc85khu:focus{border-color:transparent;}", "[data-keyboard-nav] .f1pxpxw8:focus:after{content:\"\";}", "[data-keyboard-nav] .f1149fnl:focus:after{position:absolute;}", "[data-keyboard-nav] .fd1orka:focus:after{pointer-events:none;}", "[data-keyboard-nav] .fgtqheg:focus:after{box-sizing:outline-box;}", "[data-keyboard-nav] .fq7mjg8:focus:after{z-index:1;}", "[data-keyboard-nav] .fq9bj62:focus:after{border-style:solid;}", "[data-keyboard-nav] .fy07e8r:focus:after{border-width:2px;}", "[data-keyboard-nav] .f1ha6shg:focus:after{border-radius:var(--borderRadiusMedium);}", "[data-keyboard-nav] .f4ltwxu:focus:after{border-color:var(--colorStrokeFocus2);}", "[data-keyboard-nav] .f1284xzw:focus:after{top:-2px;}", "[data-keyboard-nav] .f14dru39:focus:after{bottom:-2px;}", "[data-keyboard-nav] .fvabyfg:focus:after{left:-2px;}", "[data-keyboard-nav] .f12y1wz2:focus:after{right:-2px;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".f2i1086{border-bottom-right-radius:2px;}", ".f1rlsnju{border-bottom-left-radius:2px;}", ".f1stktl2{border-top-right-radius:2px;}", ".f1127022{border-top-left-radius:2px;}", ".fwrgwhw{background-image:none;}", ".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}", ".f14t3ns0{display:inline-block;}", ".f10pi13n{position:relative;}", ".f1wfwcyy{width:calc(100% - 22px);}", ".f5ogflp{border-top-width:1px;}", ".f1hqa2wf{border-right-width:1px;}", ".finvdd3{border-left-width:1px;}", ".f1f09k3d{border-bottom-width:1px;}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".f1p3nwhy{border-top-color:transparent;}", ".f11589ue{border-right-color:transparent;}", ".f1pdflbu{border-left-color:transparent;}", ".f1q5o8ev{border-bottom-color:transparent;}", ".f81rol6{padding-right:10px;}", ".frdkuqy{padding-left:10px;}", ".f1ft4266{height:44px;}", ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f1k6fduh{cursor:pointer;}", ".f1d2rq10{height:32px;}", ".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".fez10in{line-height:0;}", ".f19lj068{padding-right:8px;}", ".f177v4lu{padding-left:8px;}", ".fqerorx{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".f1neuvcm{-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;}", ".flqd7gy{-webkit-flex-basis:0%;-ms-flex-preferred-size:0%;flex-basis:0%;}", ".f9c4gz4{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;}", ".f1phki43{margin-right:8px;}", ".ff9s3yw{margin-left:8px;}", ".f1oou7ox{margin-left:10px;}", ".f1pxv85q{margin-right:10px;}"
|
|
120
|
+
"d": [".f1e4lqlz{box-sizing:content-box;}", ".f1u2r49w{background-color:inherit;}", ".f1ym3bx4{color:inherit;}", ".f1mo0ibp{font-family:inherit;}", ".fjoy568{font-size:inherit;}", ".fytdu2e{line-height:normal;}", ".f1mtd64y{overflow-x:visible;}", ".f1y7q3j9{overflow-y:visible;}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".f37px4s{-webkit-appearance:button;}", ".f1xqy1su{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}", ".fgusgyc{text-align:unset;}", "[data-keyboard-nav] .fc85khu:focus{border-color:transparent;}", "[data-keyboard-nav] .f1pxpxw8:focus:after{content:\"\";}", "[data-keyboard-nav] .f1149fnl:focus:after{position:absolute;}", "[data-keyboard-nav] .fd1orka:focus:after{pointer-events:none;}", "[data-keyboard-nav] .fgtqheg:focus:after{box-sizing:outline-box;}", "[data-keyboard-nav] .fq7mjg8:focus:after{z-index:1;}", "[data-keyboard-nav] .fq9bj62:focus:after{border-style:solid;}", "[data-keyboard-nav] .fy07e8r:focus:after{border-width:2px;}", "[data-keyboard-nav] .f1ha6shg:focus:after{border-radius:var(--borderRadiusMedium);}", "[data-keyboard-nav] .f4ltwxu:focus:after{border-color:var(--colorStrokeFocus2);}", "[data-keyboard-nav] .f1284xzw:focus:after{top:-2px;}", "[data-keyboard-nav] .f14dru39:focus:after{bottom:-2px;}", "[data-keyboard-nav] .fvabyfg:focus:after{left:-2px;}", "[data-keyboard-nav] .f12y1wz2:focus:after{right:-2px;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".f1hu3pq6{margin-top:0;}", ".f11qmguv{margin-right:0;}", ".f1tyq0we{margin-left:0;}", ".f19f4twv{margin-bottom:0;}", ".f2i1086{border-bottom-right-radius:2px;}", ".f1rlsnju{border-bottom-left-radius:2px;}", ".f1stktl2{border-top-right-radius:2px;}", ".f1127022{border-top-left-radius:2px;}", ".fwrgwhw{background-image:none;}", ".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}", ".f14t3ns0{display:inline-block;}", ".f10pi13n{position:relative;}", ".f1wfwcyy{width:calc(100% - 22px);}", ".f5ogflp{border-top-width:1px;}", ".f1hqa2wf{border-right-width:1px;}", ".finvdd3{border-left-width:1px;}", ".f1f09k3d{border-bottom-width:1px;}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".f1p3nwhy{border-top-color:transparent;}", ".f11589ue{border-right-color:transparent;}", ".f1pdflbu{border-left-color:transparent;}", ".f1q5o8ev{border-bottom-color:transparent;}", ".f81rol6{padding-right:10px;}", ".frdkuqy{padding-left:10px;}", ".f1ft4266{height:44px;}", ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f1k6fduh{cursor:pointer;}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".f1d2rq10{height:32px;}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fod5ikn{font-size:var(--fontSizeBase400);}", ".f1pp30po{font-size:var(--fontSizeBase500);}", ".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".fez10in{line-height:0;}", ".fe5j1ua{font-size:20px;}", ".f19lj068{padding-right:8px;}", ".f177v4lu{padding-left:8px;}", ".fqerorx{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".f1neuvcm{-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;}", ".flqd7gy{-webkit-flex-basis:0%;-ms-flex-preferred-size:0%;flex-basis:0%;}", ".f9c4gz4{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;}", ".f1phki43{margin-right:8px;}", ".ff9s3yw{margin-left:8px;}", ".f1oou7ox{margin-left:10px;}", ".f1pxv85q{margin-right:10px;}"],
|
|
123
121
|
"i": [".f2hkw1w:focus-visible{outline-style:none;}"]
|
|
124
122
|
});
|
|
125
123
|
/** Applies style classnames to slots */
|
|
126
124
|
|
|
127
125
|
|
|
128
|
-
export const
|
|
126
|
+
export const useAccordionHeaderStyles_unstable = state => {
|
|
129
127
|
const styles = useStyles();
|
|
130
128
|
state.root.className = mergeClasses(accordionHeaderClassName, styles.root, state.inline && styles.rootInline, state.disabled && styles.rootDisabled, state.root.className);
|
|
131
|
-
state.button.className = mergeClasses(styles.resetButton, styles.button, styles.focusIndicator, state.inline && styles.buttonInline, state.size === 'small' && styles.buttonSmall, state.button.className);
|
|
129
|
+
state.button.className = mergeClasses(styles.resetButton, styles.button, styles.focusIndicator, state.inline && styles.buttonInline, state.size === 'small' && styles.buttonSmall, state.size === 'large' && styles.buttonLarge, state.size === 'extra-large' && styles.buttonExtraLarge, state.button.className);
|
|
132
130
|
|
|
133
131
|
if (state.expandIcon) {
|
|
134
132
|
state.expandIcon.className = mergeClasses(styles.expandIcon, state.expandIconPosition === 'start' && styles.expandIconStart, state.expandIconPosition === 'end' && styles.expandIconEnd, state.expandIcon.className);
|
|
135
133
|
}
|
|
136
134
|
|
|
137
|
-
if (state.children) {
|
|
138
|
-
state.children.className = mergeClasses(styles.children, state.size === 'small' && styles.childrenSmall, state.size === 'large' && styles.childrenLarge, state.size === 'extra-large' && styles.childrenExtraLarge, state.children.className);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
135
|
if (state.icon) {
|
|
142
136
|
state.icon.className = mergeClasses(styles.icon, state.expandIconPosition === 'end' && styles.iconExpandIconEnd, state.icon.className);
|
|
143
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionHeader/useAccordionHeaderStyles.ts"],"names":[],"mappings":"AAAA,SAAS,UAAT,YAAiC,YAAjC,QAAqD,gBAArD;AACA,SAAS,uBAAT,QAAwC,yBAAxC;AACA,SAAS,MAAT,QAAuB,uBAAvB;AAGA,OAAO,MAAM,wBAAwB,GAAG,qBAAjC;;AAEP,MAAM,SAAS,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;AA+EA;;;AACA,OAAO,MAAM,iCAAiC,GAAI,KAAD,IAAgC;AAC/E,QAAM,MAAM,GAAG,SAAS,EAAxB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CACjC,wBADiC,EAEjC,MAAM,CAAC,IAF0B,EAGjC,KAAK,CAAC,MAAN,IAAgB,MAAM,CAAC,UAHU,EAIjC,KAAK,CAAC,QAAN,IAAkB,MAAM,CAAC,YAJQ,EAKjC,KAAK,CAAC,IAAN,CAAW,SALsB,CAAnC;AAQA,EAAA,KAAK,CAAC,MAAN,CAAa,SAAb,GAAyB,YAAY,CACnC,MAAM,CAAC,WAD4B,EAEnC,MAAM,CAAC,MAF4B,EAGnC,MAAM,CAAC,cAH4B,EAInC,KAAK,CAAC,MAAN,IAAgB,MAAM,CAAC,YAJY,EAKnC,KAAK,CAAC,IAAN,KAAe,OAAf,IAA0B,MAAM,CAAC,WALE,EAMnC,KAAK,CAAC,IAAN,KAAe,OAAf,IAA0B,MAAM,CAAC,WANE,EAOnC,KAAK,CAAC,IAAN,KAAe,aAAf,IAAgC,MAAM,CAAC,gBAPJ,EAQnC,KAAK,CAAC,MAAN,CAAa,SARsB,CAArC;;AAWA,MAAI,KAAK,CAAC,UAAV,EAAsB;AACpB,IAAA,KAAK,CAAC,UAAN,CAAiB,SAAjB,GAA6B,YAAY,CACvC,MAAM,CAAC,UADgC,EAEvC,KAAK,CAAC,kBAAN,KAA6B,OAA7B,IAAwC,MAAM,CAAC,eAFR,EAGvC,KAAK,CAAC,kBAAN,KAA6B,KAA7B,IAAsC,MAAM,CAAC,aAHN,EAIvC,KAAK,CAAC,UAAN,CAAiB,SAJsB,CAAzC;AAMD;;AACD,MAAI,KAAK,CAAC,IAAV,EAAgB;AACd,IAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CACjC,MAAM,CAAC,IAD0B,EAEjC,KAAK,CAAC,kBAAN,KAA6B,KAA7B,IAAsC,MAAM,CAAC,iBAFZ,EAGjC,KAAK,CAAC,IAAN,CAAW,SAHsB,CAAnC;AAKD;;AACD,SAAO,KAAP;AACD,CArCM","sourcesContent":["import { shorthands, makeStyles, mergeClasses } from '@griffel/react';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport type { AccordionHeaderState } from './AccordionHeader.types';\n\nexport const accordionHeaderClassName = 'fui-AccordionHeader';\n\nconst useStyles = makeStyles({\n // TODO: this should be extracted to another package\n resetButton: {\n boxSizing: 'content-box',\n backgroundColor: 'inherit',\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'normal',\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0),\n WebkitAppearance: 'button',\n userSelect: 'none',\n textAlign: 'unset',\n },\n focusIndicator: createFocusOutlineStyle(),\n root: {\n color: tokens.colorNeutralForeground1,\n backgroundColor: tokens.colorNeutralBackground1,\n ...shorthands.margin(0),\n ...shorthands.borderRadius('2px'),\n },\n rootDisabled: {\n backgroundImage: 'none',\n color: tokens.colorNeutralForegroundDisabled,\n },\n rootInline: {\n display: 'inline-block',\n },\n button: {\n position: 'relative',\n width: 'calc(100% - 22px)',\n ...shorthands.border('1px', 'solid', 'transparent'),\n paddingRight: '10px',\n paddingLeft: '10px',\n height: '44px',\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer',\n fontSize: tokens.fontSizeBase300,\n fontFamily: tokens.fontFamilyBase,\n },\n buttonSmall: {\n height: '32px',\n fontSize: tokens.fontSizeBase200,\n },\n buttonLarge: {\n fontSize: tokens.fontSizeBase400,\n },\n buttonExtraLarge: {\n fontSize: tokens.fontSizeBase500,\n },\n buttonInline: {\n display: 'inline-flex',\n },\n expandIcon: {\n lineHeight: '0',\n fontSize: '20px',\n },\n expandIconStart: {\n paddingRight: '8px',\n },\n expandIconEnd: {\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n display: 'flex',\n justifyContent: 'flex-end',\n paddingLeft: '8px',\n },\n icon: {\n marginRight: '8px',\n fontSize: '20px',\n },\n iconExpandIconEnd: {\n marginLeft: '10px',\n },\n});\n\n/** Applies style classnames to slots */\nexport const useAccordionHeaderStyles_unstable = (state: AccordionHeaderState) => {\n const styles = useStyles();\n state.root.className = mergeClasses(\n accordionHeaderClassName,\n styles.root,\n state.inline && styles.rootInline,\n state.disabled && styles.rootDisabled,\n state.root.className,\n );\n\n state.button.className = mergeClasses(\n styles.resetButton,\n styles.button,\n styles.focusIndicator,\n state.inline && styles.buttonInline,\n state.size === 'small' && styles.buttonSmall,\n state.size === 'large' && styles.buttonLarge,\n state.size === 'extra-large' && styles.buttonExtraLarge,\n state.button.className,\n );\n\n if (state.expandIcon) {\n state.expandIcon.className = mergeClasses(\n styles.expandIcon,\n state.expandIconPosition === 'start' && styles.expandIconStart,\n state.expandIconPosition === 'end' && styles.expandIconEnd,\n state.expandIcon.className,\n );\n }\n if (state.icon) {\n state.icon.className = mergeClasses(\n styles.icon,\n state.expandIconPosition === 'end' && styles.iconExpandIconEnd,\n state.icon.className,\n );\n }\n return state;\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AccordionItemProps } from './AccordionItem.types';
|
|
2
2
|
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
|
3
3
|
/**
|
|
4
|
-
* Define a styled AccordionItem, using the `
|
|
4
|
+
* Define a styled AccordionItem, using the `useAccordionItem_unstable` and `useAccordionItemStyles_unstable` hooks.
|
|
5
5
|
*/
|
|
6
6
|
export declare const AccordionItem: ForwardRefComponent<AccordionItemProps>;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { useAccordionItem_unstable } from './useAccordionItem';
|
|
3
|
+
import { useAccordionItemContextValues_unstable } from './useAccordionItemContextValues';
|
|
4
|
+
import { renderAccordionItem_unstable } from './renderAccordionItem';
|
|
5
|
+
import { useAccordionItemStyles_unstable } from './useAccordionItemStyles';
|
|
6
6
|
/**
|
|
7
|
-
* Define a styled AccordionItem, using the `
|
|
7
|
+
* Define a styled AccordionItem, using the `useAccordionItem_unstable` and `useAccordionItemStyles_unstable` hooks.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
export const AccordionItem = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
11
|
-
const state =
|
|
12
|
-
const contextValues =
|
|
13
|
-
|
|
14
|
-
return
|
|
11
|
+
const state = useAccordionItem_unstable(props, ref);
|
|
12
|
+
const contextValues = useAccordionItemContextValues_unstable(state);
|
|
13
|
+
useAccordionItemStyles_unstable(state);
|
|
14
|
+
return renderAccordionItem_unstable(state, contextValues);
|
|
15
15
|
});
|
|
16
16
|
AccordionItem.displayName = 'AccordionItem';
|
|
17
17
|
//# sourceMappingURL=AccordionItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionItem/AccordionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,yBAAT,QAA0C,oBAA1C;AACA,SAAS,sCAAT,QAAuD,iCAAvD;AACA,SAAS,4BAAT,QAA6C,uBAA7C;AAGA,SAAS,+BAAT,QAAgD,0BAAhD;AAEA;;AAEG;;AACH,OAAO,MAAM,aAAa,gBAA4C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACpG,QAAM,KAAK,GAAG,yBAAyB,CAAC,KAAD,EAAQ,GAAR,CAAvC;AACA,QAAM,aAAa,GAAG,sCAAsC,CAAC,KAAD,CAA5D;AAEA,EAAA,+BAA+B,CAAC,KAAD,CAA/B;AAEA,SAAO,4BAA4B,CAAC,KAAD,EAAQ,aAAR,CAAnC;AACD,CAPqE,CAA/D;AASP,aAAa,CAAC,WAAd,GAA4B,eAA5B","sourcesContent":["import * as React from 'react';\nimport { useAccordionItem_unstable } from './useAccordionItem';\nimport { useAccordionItemContextValues_unstable } from './useAccordionItemContextValues';\nimport { renderAccordionItem_unstable } from './renderAccordionItem';\nimport type { AccordionItemProps } from './AccordionItem.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useAccordionItemStyles_unstable } from './useAccordionItemStyles';\n\n/**\n * Define a styled AccordionItem, using the `useAccordionItem_unstable` and `useAccordionItemStyles_unstable` hooks.\n */\nexport const AccordionItem: ForwardRefComponent<AccordionItemProps> = React.forwardRef((props, ref) => {\n const state = useAccordionItem_unstable(props, ref);\n const contextValues = useAccordionItemContextValues_unstable(state);\n\n useAccordionItemStyles_unstable(state);\n\n return renderAccordionItem_unstable(state, contextValues);\n});\n\nAccordionItem.displayName = 'AccordionItem';\n"],"sourceRoot":"../src/"}
|
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItem.types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"AccordionItem.types.js","sourceRoot":"../src/","sources":["components/AccordionItem/AccordionItem.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type AccordionItemContextValue = Omit<AccordionItemCommons, 'value'> & {\n open: boolean;\n onHeaderClick(ev: React.MouseEvent | React.KeyboardEvent): void;\n};\n\nexport type AccordionItemContextValues = {\n accordionItem: AccordionItemContextValue;\n};\n\nexport type AccordionItemSlots = {\n root: Slot<'div'>;\n};\n\ntype AccordionItemCommons = {\n /**\n * Disables opening/closing of panel\n */\n disabled: boolean;\n /**\n * required value that identifies this item inside an Accordion component\n */\n value: AccordionItemValue;\n};\n\nexport type AccordionItemProps = ComponentProps<AccordionItemSlots> &\n Partial<AccordionItemCommons> &\n Pick<AccordionItemCommons, 'value'>;\n\nexport type AccordionItemValue = unknown;\n\nexport type AccordionItemState = ComponentState<AccordionItemSlots> & AccordionItemCommons & AccordionItemContextValue;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { AccordionItemContextValue } from './AccordionItem.types';
|
|
3
3
|
export declare const AccordionItemContext: React.Context<AccordionItemContextValue>;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const useAccordionItemContext_unstable: () => AccordionItemContextValue;
|
|
@@ -8,5 +8,5 @@ export const AccordionItemContext = /*#__PURE__*/React.createContext({
|
|
|
8
8
|
open: false,
|
|
9
9
|
disabled: false
|
|
10
10
|
});
|
|
11
|
-
export const
|
|
11
|
+
export const useAccordionItemContext_unstable = () => React.useContext(AccordionItemContext);
|
|
12
12
|
//# sourceMappingURL=AccordionItemContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionItem/AccordionItemContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB,C,CAGA;;AACA,OAAO,MAAM,oBAAoB,gBAAG,KAAK,CAAC,aAAN,CAA+C;AACjF,EAAA,aAAa,GAAA;AACX;AACD,GAHgF;;AAIjF,EAAA,IAAI,EAAE,KAJ2E;AAKjF,EAAA,QAAQ,EAAE;AALuE,CAA/C,CAA7B;AAQP,OAAO,MAAM,gCAAgC,GAAG,MAAM,KAAK,CAAC,UAAN,CAAiB,oBAAjB,CAA/C","sourcesContent":["import * as React from 'react';\nimport type { AccordionItemContextValue } from './AccordionItem.types';\n\n// No default value.\nexport const AccordionItemContext = React.createContext<AccordionItemContextValue>({\n onHeaderClick() {\n /** */\n },\n open: false,\n disabled: false,\n});\n\nexport const useAccordionItemContext_unstable = () => React.useContext(AccordionItemContext);\n"],"sourceRoot":"../src/"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/AccordionItem/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './AccordionItem';\nexport * from './AccordionItem.types';\nexport * from './renderAccordionItem';\nexport * from './useAccordionItem';\nexport * from './useAccordionItemContextValues';\nexport * from './AccordionItemContext';\nexport * from './useAccordionItemStyles';\n"]}
|
|
@@ -2,4 +2,4 @@ import type { AccordionItemState, AccordionItemContextValues } from './Accordion
|
|
|
2
2
|
/**
|
|
3
3
|
* Function that renders the final JSX of the component
|
|
4
4
|
*/
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const renderAccordionItem_unstable: (state: AccordionItemState, contextValues: AccordionItemContextValues) => JSX.Element;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { getSlots } from '@fluentui/react-utilities';
|
|
3
|
-
import { accordionItemShorthandProps } from './useAccordionItem';
|
|
4
3
|
import { AccordionItemContext } from './AccordionItemContext';
|
|
5
4
|
/**
|
|
6
5
|
* Function that renders the final JSX of the component
|
|
7
6
|
*/
|
|
8
7
|
|
|
9
|
-
export const
|
|
8
|
+
export const renderAccordionItem_unstable = (state, contextValues) => {
|
|
10
9
|
const {
|
|
11
10
|
slots,
|
|
12
11
|
slotProps
|
|
13
|
-
} = getSlots(state
|
|
12
|
+
} = getSlots(state);
|
|
14
13
|
return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
|
|
15
14
|
}, /*#__PURE__*/React.createElement(AccordionItemContext.Provider, {
|
|
16
15
|
value: contextValues.accordionItem
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionItem/renderAccordionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AACA,SAAS,oBAAT,QAAqC,wBAArC;AAGA;;AAEG;;AACH,OAAO,MAAM,4BAA4B,GAAG,CAAC,KAAD,EAA4B,aAA5B,KAAyE;AACnH,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAqB,KAArB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,eACE,KAAA,CAAA,aAAA,CAAC,oBAAoB,CAAC,QAAtB,EAA8B;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAA9B,EACG,SAAS,CAAC,IAAV,CAAe,QADlB,CADF,CADF;AAOD,CAVM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { AccordionItemContext } from './AccordionItemContext';\nimport type { AccordionItemState, AccordionItemSlots, AccordionItemContextValues } from './AccordionItem.types';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderAccordionItem_unstable = (state: AccordionItemState, contextValues: AccordionItemContextValues) => {\n const { slots, slotProps } = getSlots<AccordionItemSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n <AccordionItemContext.Provider value={contextValues.accordionItem}>\n {slotProps.root.children}\n </AccordionItemContext.Provider>\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { AccordionItemProps, AccordionItemState
|
|
3
|
-
/**
|
|
4
|
-
* Const listing which props are shorthand props.
|
|
5
|
-
*/
|
|
6
|
-
export declare const accordionItemShorthandProps: Array<keyof AccordionItemSlots>;
|
|
2
|
+
import type { AccordionItemProps, AccordionItemState } from './AccordionItem.types';
|
|
7
3
|
/**
|
|
8
4
|
* Returns the props and state required to render the component
|
|
9
5
|
* @param props - AccordionItem properties
|
|
10
6
|
* @param ref - reference to root HTMLElement of AccordionItem
|
|
11
7
|
*/
|
|
12
|
-
export declare const
|
|
8
|
+
export declare const useAccordionItem_unstable: (props: AccordionItemProps, ref: React.Ref<HTMLElement>) => AccordionItemState;
|
|
@@ -1,28 +1,21 @@
|
|
|
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
|
-
/**
|
|
7
|
-
* Const listing which props are shorthand props.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export const accordionItemShorthandProps = ['root'];
|
|
11
6
|
/**
|
|
12
7
|
* Returns the props and state required to render the component
|
|
13
8
|
* @param props - AccordionItem properties
|
|
14
9
|
* @param ref - reference to root HTMLElement of AccordionItem
|
|
15
10
|
*/
|
|
16
11
|
|
|
17
|
-
export const
|
|
12
|
+
export const useAccordionItem_unstable = (props, ref) => {
|
|
18
13
|
const {
|
|
19
14
|
value,
|
|
20
15
|
disabled = false
|
|
21
16
|
} = props;
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
groupper: {}
|
|
25
|
-
});
|
|
17
|
+
const navigation = useContextSelector(AccordionContext, ctx => ctx.navigation);
|
|
18
|
+
const focusableProps = useFocusableGroup();
|
|
26
19
|
const requestToggle = useContextSelector(AccordionContext, ctx => ctx.requestToggle);
|
|
27
20
|
const open = useContextSelector(AccordionContext, ctx => ctx.openItems.includes(value));
|
|
28
21
|
const onAccordionHeaderClick = React.useCallback(ev => requestToggle(ev, {
|
|
@@ -33,10 +26,13 @@ export const useAccordionItem = (props, ref) => {
|
|
|
33
26
|
value,
|
|
34
27
|
disabled,
|
|
35
28
|
onHeaderClick: onAccordionHeaderClick,
|
|
29
|
+
components: {
|
|
30
|
+
root: 'div'
|
|
31
|
+
},
|
|
36
32
|
root: getNativeElementProps('div', {
|
|
37
33
|
ref: ref,
|
|
38
|
-
...
|
|
39
|
-
...
|
|
34
|
+
...props,
|
|
35
|
+
...(navigation && focusableProps)
|
|
40
36
|
})
|
|
41
37
|
};
|
|
42
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["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","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps } from '@fluentui/react-utilities';\nimport { useFocusableGroup } from '@fluentui/react-tabster';\nimport { useContextSelector } from '@fluentui/react-context-selector';\nimport { AccordionContext } from '../Accordion/AccordionContext';\nimport type { AccordionItemProps, AccordionItemState } from './AccordionItem.types';\nimport type { AccordionToggleEvent } from '../Accordion/Accordion.types';\n\n/**\n * Returns the props and state required to render the component\n * @param props - AccordionItem properties\n * @param ref - reference to root HTMLElement of AccordionItem\n */\nexport const useAccordionItem_unstable = (\n props: AccordionItemProps,\n ref: React.Ref<HTMLElement>,\n): AccordionItemState => {\n const { value, disabled = false } = props;\n const navigation = useContextSelector(AccordionContext, ctx => ctx.navigation);\n const focusableProps = useFocusableGroup();\n\n const requestToggle = useContextSelector(AccordionContext, ctx => ctx.requestToggle);\n const open = useContextSelector(AccordionContext, ctx => ctx.openItems.includes(value));\n const onAccordionHeaderClick = React.useCallback((ev: AccordionToggleEvent) => requestToggle(ev, { value }), [\n requestToggle,\n value,\n ]);\n\n return {\n open,\n value,\n disabled,\n onHeaderClick: onAccordionHeaderClick,\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref: ref,\n ...props,\n ...(navigation && focusableProps),\n }),\n };\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { AccordionItemContextValues, AccordionItemState } from './AccordionItem.types';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function useAccordionItemContextValues_unstable(state: AccordionItemState): AccordionItemContextValues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionItem/useAccordionItemContextValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAGA,OAAM,SAAU,sCAAV,CAAiD,KAAjD,EAA0E;AAC9E,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA,aAAZ;AAA2B,IAAA;AAA3B,MAAoC,KAA1C;AACA,QAAM,aAAa,GAAG,KAAK,CAAC,OAAN,CAAyC,OAAO;AAAE,IAAA,QAAF;AAAY,IAAA,aAAZ;AAA2B,IAAA;AAA3B,GAAP,CAAzC,EAAoF,CACxG,QADwG,EAExG,aAFwG,EAGxG,IAHwG,CAApF,CAAtB;AAMA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD","sourcesContent":["import * as React from 'react';\nimport type { AccordionItemContextValue, AccordionItemContextValues, AccordionItemState } from './AccordionItem.types';\n\nexport function useAccordionItemContextValues_unstable(state: AccordionItemState): AccordionItemContextValues {\n const { disabled, onHeaderClick, open } = state;\n const accordionItem = React.useMemo<AccordionItemContextValue>(() => ({ disabled, onHeaderClick, open }), [\n disabled,\n onHeaderClick,\n open,\n ]);\n\n return { accordionItem };\n}\n"],"sourceRoot":"../src/"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { AccordionItemState } from './AccordionItem.types';
|
|
2
2
|
export declare const accordionItemClassName = "fui-AccordionItem";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const useAccordionItemStyles_unstable: (state: AccordionItemState) => AccordionItemState;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { mergeClasses } from '@
|
|
1
|
+
import { mergeClasses } from '@griffel/react';
|
|
2
2
|
export const accordionItemClassName = 'fui-AccordionItem';
|
|
3
|
-
export const
|
|
3
|
+
export const useAccordionItemStyles_unstable = state => {
|
|
4
4
|
state.root.className = mergeClasses(accordionItemClassName, state.root.className);
|
|
5
5
|
return state;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionItem/useAccordionItemStyles.ts"],"names":[],"mappings":"AAAA,SAAS,YAAT,QAA6B,gBAA7B;AAGA,OAAO,MAAM,sBAAsB,GAAG,mBAA/B;AAEP,OAAO,MAAM,+BAA+B,GAAI,KAAD,IAA8B;AAC3E,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,sBAAD,EAAyB,KAAK,CAAC,IAAN,CAAW,SAApC,CAAnC;AAEA,SAAO,KAAP;AACD,CAJM","sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { AccordionItemState } from './AccordionItem.types';\n\nexport const accordionItemClassName = 'fui-AccordionItem';\n\nexport const useAccordionItemStyles_unstable = (state: AccordionItemState) => {\n state.root.className = mergeClasses(accordionItemClassName, state.root.className);\n\n return state;\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AccordionPanelProps } from './AccordionPanel.types';
|
|
2
2
|
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
|
3
3
|
/**
|
|
4
|
-
* Define a styled AccordionPanel, using the `
|
|
4
|
+
* Define a styled AccordionPanel, using the `useAccordionPanel_unstable` and `useAccordionPanelStyles_unstable` hooks.
|
|
5
5
|
*/
|
|
6
6
|
export declare const AccordionPanel: ForwardRefComponent<AccordionPanelProps>;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { useAccordionPanel_unstable } from './useAccordionPanel';
|
|
3
|
+
import { renderAccordionPanel_unstable } from './renderAccordionPanel';
|
|
4
|
+
import { useAccordionPanelStyles_unstable } from './useAccordionPanelStyles';
|
|
5
5
|
/**
|
|
6
|
-
* Define a styled AccordionPanel, using the `
|
|
6
|
+
* Define a styled AccordionPanel, using the `useAccordionPanel_unstable` and `useAccordionPanelStyles_unstable` hooks.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
export const AccordionPanel = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
10
|
-
const state =
|
|
11
|
-
|
|
12
|
-
return
|
|
10
|
+
const state = useAccordionPanel_unstable(props, ref);
|
|
11
|
+
useAccordionPanelStyles_unstable(state);
|
|
12
|
+
return renderAccordionPanel_unstable(state);
|
|
13
13
|
});
|
|
14
14
|
AccordionPanel.displayName = 'AccordionPanel';
|
|
15
15
|
//# sourceMappingURL=AccordionPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/AccordionPanel/AccordionPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,0BAAT,QAA2C,qBAA3C;AACA,SAAS,6BAAT,QAA8C,wBAA9C;AACA,SAAS,gCAAT,QAAiD,2BAAjD;AAIA;;AAEG;;AACH,OAAO,MAAM,cAAc,gBAA6C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACtG,QAAM,KAAK,GAAG,0BAA0B,CAAC,KAAD,EAAQ,GAAR,CAAxC;AAEA,EAAA,gCAAgC,CAAC,KAAD,CAAhC;AACA,SAAO,6BAA6B,CAAC,KAAD,CAApC;AACD,CALuE,CAAjE;AAOP,cAAc,CAAC,WAAf,GAA6B,gBAA7B","sourcesContent":["import * as React from 'react';\nimport { useAccordionPanel_unstable } from './useAccordionPanel';\nimport { renderAccordionPanel_unstable } from './renderAccordionPanel';\nimport { useAccordionPanelStyles_unstable } from './useAccordionPanelStyles';\nimport type { AccordionPanelProps } from './AccordionPanel.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled AccordionPanel, using the `useAccordionPanel_unstable` and `useAccordionPanelStyles_unstable` hooks.\n */\nexport const AccordionPanel: ForwardRefComponent<AccordionPanelProps> = React.forwardRef((props, ref) => {\n const state = useAccordionPanel_unstable(props, ref);\n\n useAccordionPanelStyles_unstable(state);\n return renderAccordionPanel_unstable(state);\n});\n\nAccordionPanel.displayName = 'AccordionPanel';\n"],"sourceRoot":"../src/"}
|
|
@@ -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> & {
|