@fluentui/react-accordion 0.0.0-nightlycc44f3625c20211220.1 → 0.0.0-nightlyd80c90385320220216.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/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/AccordionContext.js +0 -1
- package/lib/components/Accordion/AccordionContext.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/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 +27 -45
- 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/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/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/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-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/AccordionContext.js +0 -1
- package/lib-commonjs/components/Accordion/AccordionContext.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/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 +34 -51
- 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/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/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/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/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,6 +1,6 @@
|
|
|
1
1
|
import type { AccordionProps } from './Accordion.types';
|
|
2
2
|
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
|
3
3
|
/**
|
|
4
|
-
* Define a styled Accordion, using the `
|
|
4
|
+
* Define a styled Accordion, using the `useAccordion_unstable` and `useAccordionStyles_unstable` hooks.
|
|
5
5
|
*/
|
|
6
6
|
export declare const Accordion: ForwardRefComponent<AccordionProps>;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { renderAccordion_unstable } from './renderAccordion';
|
|
3
|
+
import { useAccordion_unstable } from './useAccordion';
|
|
4
|
+
import { useAccordionContextValues_unstable } from './useAccordionContextValues';
|
|
5
|
+
import { useAccordionStyles_unstable } from './useAccordionStyles';
|
|
6
6
|
/**
|
|
7
|
-
* Define a styled Accordion, using the `
|
|
7
|
+
* Define a styled Accordion, using the `useAccordion_unstable` and `useAccordionStyles_unstable` hooks.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
export const Accordion = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
11
|
-
const state =
|
|
12
|
-
const contextValues =
|
|
13
|
-
|
|
14
|
-
return
|
|
11
|
+
const state = useAccordion_unstable(props, ref);
|
|
12
|
+
const contextValues = useAccordionContextValues_unstable(state);
|
|
13
|
+
useAccordionStyles_unstable(state);
|
|
14
|
+
return renderAccordion_unstable(state, contextValues);
|
|
15
15
|
});
|
|
16
16
|
Accordion.displayName = 'Accordion';
|
|
17
17
|
//# sourceMappingURL=Accordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,wBAAT,QAAyC,mBAAzC;AACA,SAAS,qBAAT,QAAsC,gBAAtC;AACA,SAAS,kCAAT,QAAmD,6BAAnD;AAGA,SAAS,2BAAT,QAA4C,sBAA5C;AAEA;;AAEG;;AACH,OAAO,MAAM,SAAS,gBAAwC,KAAK,CAAC,UAAN,CAC5D,CAAC,KAAD,EAAQ,GAAR,KAAe;AACb,QAAM,KAAK,GAAG,qBAAqB,CAAC,KAAD,EAAQ,GAAR,CAAnC;AACA,QAAM,aAAa,GAAG,kCAAkC,CAAC,KAAD,CAAxD;AAEA,EAAA,2BAA2B,CAAC,KAAD,CAA3B;AAEA,SAAO,wBAAwB,CAAC,KAAD,EAAQ,aAAR,CAA/B;AACD,CAR2D,CAAvD;AAWP,SAAS,CAAC,WAAV,GAAwB,WAAxB","sourceRoot":""}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { ComponentProps, ComponentState,
|
|
2
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
3
3
|
import type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';
|
|
4
4
|
export declare type AccordionIndex = number | number[];
|
|
5
5
|
export declare type AccordionToggleEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;
|
|
6
6
|
export declare type AccordionToggleEventHandler = (event: AccordionToggleEvent, data: AccordionToggleData) => void;
|
|
7
|
-
|
|
7
|
+
declare type AccordionCommons = {
|
|
8
8
|
/**
|
|
9
|
-
* Indicates if keyboard navigation is available
|
|
9
|
+
* Indicates if keyboard navigation is available and gives two options,
|
|
10
|
+
* linear or circular navigation
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
+
navigation?: 'linear' | 'circular';
|
|
12
13
|
/**
|
|
13
14
|
* Indicates if Accordion support multiple Panels opened at the same time
|
|
14
15
|
*/
|
|
@@ -33,7 +34,7 @@ export declare type AccordionContextValues = {
|
|
|
33
34
|
accordion: AccordionContextValue;
|
|
34
35
|
};
|
|
35
36
|
export declare type AccordionSlots = {
|
|
36
|
-
root:
|
|
37
|
+
root: Slot<'div'>;
|
|
37
38
|
};
|
|
38
39
|
export declare type AccordionToggleData = {
|
|
39
40
|
value: AccordionItemValue;
|
|
@@ -50,3 +51,4 @@ export declare type AccordionProps = ComponentProps<AccordionSlots> & Partial<Ac
|
|
|
50
51
|
onToggle?: AccordionToggleEventHandler;
|
|
51
52
|
};
|
|
52
53
|
export declare type AccordionState = ComponentState<AccordionSlots> & AccordionCommons & AccordionContextValue;
|
|
54
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/AccordionContext.ts"],"names":[],"mappings":"AAAA,SAAS,aAAT,QAA8B,kCAA9B;AAIA,OAAO,MAAM,gBAAgB,gBAAmC,aAAa,CAAwB;AACnG,EAAA,SAAS,EAAE,EADwF;AAEnG,EAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/AccordionContext.ts"],"names":[],"mappings":"AAAA,SAAS,aAAT,QAA8B,kCAA9B;AAIA,OAAO,MAAM,gBAAgB,gBAAmC,aAAa,CAAwB;AACnG,EAAA,SAAS,EAAE,EADwF;AAEnG,EAAA,WAAW,EAAE,KAFsF;;AAGnG,EAAA,aAAa,GAAA;AACX;AACD;;AALkG,CAAxB,CAAtE","sourceRoot":""}
|
|
@@ -2,4 +2,4 @@ import type { AccordionState, AccordionContextValues } from './Accordion.types';
|
|
|
2
2
|
/**
|
|
3
3
|
* Function that renders the final JSX of the component
|
|
4
4
|
*/
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const renderAccordion_unstable: (state: AccordionState, contextValues: AccordionContextValues) => JSX.Element;
|
|
@@ -5,7 +5,7 @@ import { AccordionContext } from './AccordionContext';
|
|
|
5
5
|
* Function that renders the final JSX of the component
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
export const
|
|
8
|
+
export const renderAccordion_unstable = (state, contextValues) => {
|
|
9
9
|
const {
|
|
10
10
|
slots,
|
|
11
11
|
slotProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/renderAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAEA,SAAS,gBAAT,QAAiC,oBAAjC;AAGA;;AAEG;;AACH,OAAO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/renderAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAEA,SAAS,gBAAT,QAAiC,oBAAjC;AAGA;;AAEG;;AACH,OAAO,MAAM,wBAAwB,GAAG,CAAC,KAAD,EAAwB,aAAxB,KAAiE;AACvG,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAiB,KAAjB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,eACE,KAAA,CAAA,aAAA,CAAC,gBAAgB,CAAC,QAAlB,EAA0B;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAA1B,EAA4D,SAAS,CAAC,IAAV,CAAe,QAA3E,CADF,CADF;AAKD,CARM","sourceRoot":""}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { AccordionProps,
|
|
3
|
-
export declare const accordionShorthandProps: Array<keyof AccordionSlots>;
|
|
2
|
+
import type { AccordionProps, AccordionState } from './Accordion.types';
|
|
4
3
|
/**
|
|
5
4
|
* Returns the props and state required to render the component
|
|
6
5
|
* @param props - Accordion properties
|
|
7
6
|
* @param ref - reference to root HTMLElement of Accordion
|
|
8
7
|
*/
|
|
9
|
-
export declare const
|
|
8
|
+
export declare const useAccordion_unstable: (props: AccordionProps, ref: React.Ref<HTMLElement>) => AccordionState;
|
|
@@ -1,46 +1,50 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { getNativeElementProps, useControllableState, useEventCallback } 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
|
|
6
6
|
* @param props - Accordion properties
|
|
7
7
|
* @param ref - reference to root HTMLElement of Accordion
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
export const
|
|
10
|
+
export const useAccordion_unstable = (props, ref) => {
|
|
11
11
|
const {
|
|
12
12
|
openItems: controlledOpenItems,
|
|
13
13
|
defaultOpenItems,
|
|
14
14
|
multiple = false,
|
|
15
15
|
collapsible = false,
|
|
16
16
|
onToggle,
|
|
17
|
-
|
|
17
|
+
navigation
|
|
18
18
|
} = props;
|
|
19
19
|
const [openItems, setOpenItems] = useControllableState({
|
|
20
20
|
state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),
|
|
21
21
|
defaultState: () => initializeUncontrolledOpenItems({
|
|
22
|
-
collapsible,
|
|
23
22
|
defaultOpenItems,
|
|
24
23
|
multiple
|
|
25
24
|
}),
|
|
26
25
|
initialState: []
|
|
27
26
|
});
|
|
27
|
+
const arrowNavigationProps = useArrowNavigationGroup({
|
|
28
|
+
circular: navigation === 'circular'
|
|
29
|
+
});
|
|
28
30
|
const requestToggle = useEventCallback((event, data) => {
|
|
29
31
|
onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, data);
|
|
30
|
-
setOpenItems(previousOpenItems => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
});
|
|
32
|
+
setOpenItems(previousOpenItems => updateOpenItems(data.value, previousOpenItems, {
|
|
33
|
+
collapsible,
|
|
34
|
+
multiple
|
|
35
|
+
}));
|
|
36
36
|
});
|
|
37
37
|
return {
|
|
38
38
|
multiple,
|
|
39
39
|
collapsible,
|
|
40
|
-
|
|
40
|
+
navigation,
|
|
41
41
|
openItems,
|
|
42
42
|
requestToggle,
|
|
43
|
+
components: {
|
|
44
|
+
root: 'div'
|
|
45
|
+
},
|
|
43
46
|
root: getNativeElementProps('div', { ...props,
|
|
47
|
+
...(navigation ? arrowNavigationProps : {}),
|
|
44
48
|
ref
|
|
45
49
|
})
|
|
46
50
|
};
|
|
@@ -51,8 +55,7 @@ export const useAccordion = (props, ref) => {
|
|
|
51
55
|
|
|
52
56
|
function initializeUncontrolledOpenItems({
|
|
53
57
|
defaultOpenItems,
|
|
54
|
-
multiple
|
|
55
|
-
collapsible
|
|
58
|
+
multiple
|
|
56
59
|
}) {
|
|
57
60
|
if (defaultOpenItems !== undefined) {
|
|
58
61
|
if (Array.isArray(defaultOpenItems)) {
|
|
@@ -61,14 +64,8 @@ function initializeUncontrolledOpenItems({
|
|
|
61
64
|
|
|
62
65
|
return [defaultOpenItems];
|
|
63
66
|
}
|
|
64
|
-
/**
|
|
65
|
-
* TODO: since the dropping of descendants API due to performance issues,
|
|
66
|
-
* the default behavior of Accordion has been compromised and [0] makes no sense
|
|
67
|
-
* indexes are not used anymore to ensure the position of the element which should be opened by default
|
|
68
|
-
*/
|
|
69
|
-
|
|
70
67
|
|
|
71
|
-
return
|
|
68
|
+
return [];
|
|
72
69
|
}
|
|
73
70
|
/**
|
|
74
71
|
* Updates the list of open indexes based on an index that changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/useAccordion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,EAAgC,oBAAhC,EAAsD,gBAAtD,QAA8E,2BAA9E;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/useAccordion.ts"],"names":[],"mappings":"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","sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { AccordionContextValues, AccordionState } from './Accordion.types';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function useAccordionContextValues_unstable(state: AccordionState): AccordionContextValues;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function useAccordionContextValues_unstable(state) {
|
|
2
2
|
const {
|
|
3
|
-
|
|
3
|
+
navigation,
|
|
4
4
|
openItems,
|
|
5
5
|
requestToggle,
|
|
6
6
|
collapsible
|
|
7
7
|
} = state; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
|
|
8
8
|
|
|
9
9
|
const accordion = {
|
|
10
|
-
|
|
10
|
+
navigation,
|
|
11
11
|
openItems,
|
|
12
12
|
requestToggle,
|
|
13
13
|
collapsible
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,kCAAV,CAA6C,KAA7C,EAAkE;AACtE,QAAM;AAAE,IAAA,UAAF;AAAc,IAAA,SAAd;AAAyB,IAAA,aAAzB;AAAwC,IAAA;AAAxC,MAAwD,KAA9D,CADsE,CAGtE;;AACA,QAAM,SAAS,GAA0B;AACvC,IAAA,UADuC;AAEvC,IAAA,SAFuC;AAGvC,IAAA,aAHuC;AAIvC,IAAA;AAJuC,GAAzC;AAOA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD","sourceRoot":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { AccordionState } from './Accordion.types';
|
|
2
2
|
export declare const accordionClassName = "fui-Accordion";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const useAccordionStyles_unstable: (state: AccordionState) => AccordionState;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { mergeClasses } from '@
|
|
1
|
+
import { mergeClasses } from '@griffel/react';
|
|
2
2
|
export const accordionClassName = 'fui-Accordion';
|
|
3
|
-
export const
|
|
3
|
+
export const useAccordionStyles_unstable = state => {
|
|
4
4
|
state.root.className = mergeClasses(accordionClassName, state.root.className);
|
|
5
5
|
return state;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Accordion/useAccordionStyles.ts"],"names":[],"mappings":"AAAA,SAAS,YAAT,QAA6B,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Accordion/useAccordionStyles.ts"],"names":[],"mappings":"AAAA,SAAS,YAAT,QAA6B,gBAA7B;AAGA,OAAO,MAAM,kBAAkB,GAAG,eAA3B;AAEP,OAAO,MAAM,2BAA2B,GAAI,KAAD,IAA0B;AACnE,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,kBAAD,EAAqB,KAAK,CAAC,IAAN,CAAW,SAAhC,CAAnC;AAEA,SAAO,KAAP;AACD,CAJM","sourceRoot":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AccordionHeaderProps } from './AccordionHeader.types';
|
|
2
2
|
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
|
3
3
|
/**
|
|
4
|
-
* Define a styled AccordionHeader, using the `
|
|
4
|
+
* Define a styled AccordionHeader, using the `useAccordionHeader_unstable` and `useAccordionHeaderStyles_unstable`
|
|
5
|
+
* hooks.
|
|
5
6
|
*/
|
|
6
7
|
export declare const AccordionHeader: ForwardRefComponent<AccordionHeaderProps>;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { useAccordionHeader_unstable } from './useAccordionHeader';
|
|
3
|
+
import { renderAccordionHeader_unstable } from './renderAccordionHeader';
|
|
4
|
+
import { useAccordionHeaderStyles_unstable } from './useAccordionHeaderStyles';
|
|
5
|
+
import { useAccordionHeaderContextValues_unstable } from './useAccordionHeaderContextValues';
|
|
6
6
|
/**
|
|
7
|
-
* Define a styled AccordionHeader, using the `
|
|
7
|
+
* Define a styled AccordionHeader, using the `useAccordionHeader_unstable` and `useAccordionHeaderStyles_unstable`
|
|
8
|
+
* hooks.
|
|
8
9
|
*/
|
|
9
10
|
|
|
10
11
|
export const AccordionHeader = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
11
|
-
const state =
|
|
12
|
-
const contextValues =
|
|
13
|
-
|
|
14
|
-
return
|
|
12
|
+
const state = useAccordionHeader_unstable(props, ref);
|
|
13
|
+
const contextValues = useAccordionHeaderContextValues_unstable(state);
|
|
14
|
+
useAccordionHeaderStyles_unstable(state);
|
|
15
|
+
return renderAccordionHeader_unstable(state, contextValues);
|
|
15
16
|
});
|
|
16
17
|
AccordionHeader.displayName = 'AccordionHeader';
|
|
17
18
|
//# sourceMappingURL=AccordionHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/AccordionHeader/AccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/AccordionHeader/AccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,2BAAT,QAA4C,sBAA5C;AACA,SAAS,8BAAT,QAA+C,yBAA/C;AACA,SAAS,iCAAT,QAAkD,4BAAlD;AACA,SAAS,wCAAT,QAAyD,mCAAzD;AAIA;;;AAGG;;AACH,OAAO,MAAM,eAAe,gBAA8C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACxG,QAAM,KAAK,GAAG,2BAA2B,CAAC,KAAD,EAAQ,GAAR,CAAzC;AACA,QAAM,aAAa,GAAG,wCAAwC,CAAC,KAAD,CAA9D;AAEA,EAAA,iCAAiC,CAAC,KAAD,CAAjC;AAEA,SAAO,8BAA8B,CAAC,KAAD,EAAQ,aAAR,CAArC;AACD,CAPyE,CAAnE;AASP,eAAe,CAAC,WAAhB,GAA8B,iBAA9B","sourceRoot":""}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
import type { AccordionHeaderExpandIconProps } from './AccordionHeaderExpandIcon';
|
|
4
|
-
import type { ARIAButtonShorthandProps } from '@fluentui/react-aria';
|
|
1
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
2
|
+
import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
|
|
5
3
|
export declare type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';
|
|
6
4
|
export declare type AccordionHeaderExpandIconPosition = 'start' | 'end';
|
|
7
5
|
export declare type AccordionHeaderContextValue = {
|
|
@@ -14,22 +12,24 @@ export declare type AccordionHeaderContextValues = {
|
|
|
14
12
|
accordionHeader: AccordionHeaderContextValue;
|
|
15
13
|
};
|
|
16
14
|
export declare type AccordionHeaderSlots = {
|
|
17
|
-
|
|
15
|
+
/**
|
|
16
|
+
* The element wrapping the button. By default this is a div, but can be a heading.
|
|
17
|
+
*/
|
|
18
|
+
root: Slot<'div', 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;
|
|
18
19
|
/**
|
|
19
20
|
* The component to be used as button in heading
|
|
20
21
|
*/
|
|
21
|
-
button:
|
|
22
|
+
button: NonNullable<Slot<ARIAButtonSlotProps>>;
|
|
22
23
|
/**
|
|
23
24
|
* Expand icon slot rendered before (or after) children content in heading
|
|
24
25
|
*/
|
|
25
|
-
expandIcon:
|
|
26
|
+
expandIcon: Slot<'span'>;
|
|
26
27
|
/**
|
|
27
28
|
* Expand icon slot rendered before (or after) children content in heading
|
|
28
29
|
*/
|
|
29
|
-
icon?:
|
|
30
|
-
children: ObjectShorthandProps<React.HTMLAttributes<HTMLElement>>;
|
|
30
|
+
icon?: Slot<'div'>;
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
declare type AccordionHeaderCommons = {
|
|
33
33
|
/**
|
|
34
34
|
* Size of spacing in the heading
|
|
35
35
|
*/
|
|
@@ -43,5 +43,6 @@ export declare type AccordionHeaderCommons = {
|
|
|
43
43
|
*/
|
|
44
44
|
inline: boolean;
|
|
45
45
|
};
|
|
46
|
-
export declare type AccordionHeaderProps = ComponentProps<AccordionHeaderSlots
|
|
46
|
+
export declare type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & Partial<AccordionHeaderCommons>;
|
|
47
47
|
export declare type AccordionHeaderState = ComponentState<AccordionHeaderSlots> & AccordionHeaderCommons & AccordionHeaderContextValue;
|
|
48
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AccordionHeader/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AccordionHeader/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC"}
|
|
@@ -2,4 +2,4 @@ import type { AccordionHeaderState, AccordionHeaderContextValues } from './Accor
|
|
|
2
2
|
/**
|
|
3
3
|
* Function that renders the final JSX of the component
|
|
4
4
|
*/
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const renderAccordionHeader_unstable: (state: AccordionHeaderState, contextValues: AccordionHeaderContextValues) => JSX.Element;
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { getSlots } from '@fluentui/react-utilities';
|
|
3
|
-
import { accordionHeaderShorthandProps } from './useAccordionHeader';
|
|
4
3
|
import { AccordionHeaderContext } from './AccordionHeaderContext';
|
|
5
4
|
/**
|
|
6
5
|
* Function that renders the final JSX of the component
|
|
7
6
|
*/
|
|
8
7
|
|
|
9
|
-
export const
|
|
8
|
+
export const renderAccordionHeader_unstable = (state, contextValues) => {
|
|
10
9
|
const {
|
|
11
10
|
slots,
|
|
12
11
|
slotProps
|
|
13
|
-
} = getSlots(state
|
|
12
|
+
} = getSlots(state);
|
|
14
13
|
return /*#__PURE__*/React.createElement(AccordionHeaderContext.Provider, {
|
|
15
14
|
value: contextValues.accordionHeader
|
|
16
15
|
}, /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
|
|
17
16
|
}, /*#__PURE__*/React.createElement(slots.button, { ...slotProps.button
|
|
18
17
|
}, state.expandIconPosition === 'start' && /*#__PURE__*/React.createElement(slots.expandIcon, { ...slotProps.expandIcon
|
|
19
|
-
}), /*#__PURE__*/React.createElement(slots.icon, { ...slotProps.icon
|
|
20
|
-
}), /*#__PURE__*/React.createElement(slots.
|
|
21
|
-
}), state.expandIconPosition === 'end' && /*#__PURE__*/React.createElement(slots.expandIcon, { ...slotProps.expandIcon
|
|
18
|
+
}), slots.icon && /*#__PURE__*/React.createElement(slots.icon, { ...slotProps.icon
|
|
19
|
+
}), slotProps.root.children, state.expandIconPosition === 'end' && /*#__PURE__*/React.createElement(slots.expandIcon, { ...slotProps.expandIcon
|
|
22
20
|
}))));
|
|
23
21
|
};
|
|
24
22
|
//# sourceMappingURL=renderAccordionHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/AccordionHeader/renderAccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AACA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/AccordionHeader/renderAccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AACA,SAAS,sBAAT,QAAuC,0BAAvC;AAGA;;AAEG;;AACH,OAAO,MAAM,8BAA8B,GAAG,CAC5C,KAD4C,EAE5C,aAF4C,KAG1C;AACF,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAuB,KAAvB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,sBAAsB,CAAC,QAAxB,EAAgC;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAhC,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,MAAP,EAAa,EAAA,GAAK,SAAS,CAAC;AAAf,GAAb,EACG,KAAK,CAAC,kBAAN,KAA6B,OAA7B,iBAAwC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAD3C,EAEG,KAAK,CAAC,IAAN,iBAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAFjB,EAGG,SAAS,CAAC,IAAV,CAAe,QAHlB,EAIG,KAAK,CAAC,kBAAN,KAA6B,KAA7B,iBAAsC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAJzC,CADF,CADF,CADF;AAYD,CAlBM","sourceRoot":""}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { AccordionHeaderProps, AccordionHeaderState
|
|
3
|
-
/**
|
|
4
|
-
* Const listing which props are shorthand props.
|
|
5
|
-
*/
|
|
6
|
-
export declare const accordionHeaderShorthandProps: Array<keyof AccordionHeaderSlots>;
|
|
2
|
+
import type { AccordionHeaderProps, AccordionHeaderState } from './AccordionHeader.types';
|
|
7
3
|
/**
|
|
8
4
|
* Returns the props and state required to render the component
|
|
9
5
|
* @param props - AccordionHeader properties
|
|
10
6
|
* @param ref - reference to root HTMLElement of AccordionHeader
|
|
11
7
|
*/
|
|
12
|
-
export declare const
|
|
8
|
+
export declare const useAccordionHeader_unstable: (props: AccordionHeaderProps, ref: React.Ref<HTMLElement>) => AccordionHeaderState;
|
|
@@ -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":["../../../src/components/AccordionHeader/useAccordionHeader.
|
|
1
|
+
{"version":3,"sources":["../../../src/components/AccordionHeader/useAccordionHeader.tsx"],"names":[],"mappings":"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","sourceRoot":""}
|
|
@@ -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":["../../../src/components/AccordionHeader/useAccordionHeaderContextValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAOA,OAAM,SAAU
|
|
1
|
+
{"version":3,"sources":["../../../src/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","sourceRoot":""}
|
|
@@ -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;
|