@fluentui/react-accordion 0.0.0-nightly-20220302-0405.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 +3236 -0
- package/CHANGELOG.md +1098 -0
- package/LICENSE +15 -0
- package/README.md +5 -0
- package/Spec.md +447 -0
- package/dist/react-accordion.d.ts +264 -0
- package/lib/Accordion.d.ts +1 -0
- package/lib/Accordion.js +2 -0
- package/lib/Accordion.js.map +1 -0
- package/lib/AccordionHeader.d.ts +1 -0
- package/lib/AccordionHeader.js +2 -0
- package/lib/AccordionHeader.js.map +1 -0
- package/lib/AccordionItem.d.ts +1 -0
- package/lib/AccordionItem.js +2 -0
- package/lib/AccordionItem.js.map +1 -0
- package/lib/AccordionPanel.d.ts +1 -0
- package/lib/AccordionPanel.js +2 -0
- package/lib/AccordionPanel.js.map +1 -0
- package/lib/components/Accordion/Accordion.d.ts +6 -0
- package/lib/components/Accordion/Accordion.js +17 -0
- package/lib/components/Accordion/Accordion.js.map +1 -0
- package/lib/components/Accordion/Accordion.types.d.ts +54 -0
- package/lib/components/Accordion/Accordion.types.js +2 -0
- package/lib/components/Accordion/Accordion.types.js.map +1 -0
- package/lib/components/Accordion/AccordionContext.d.ts +3 -0
- package/lib/components/Accordion/AccordionContext.js +11 -0
- package/lib/components/Accordion/AccordionContext.js.map +1 -0
- package/lib/components/Accordion/index.d.ts +7 -0
- package/lib/components/Accordion/index.js +8 -0
- package/lib/components/Accordion/index.js.map +1 -0
- package/lib/components/Accordion/renderAccordion.d.ts +5 -0
- package/lib/components/Accordion/renderAccordion.js +18 -0
- package/lib/components/Accordion/renderAccordion.js.map +1 -0
- package/lib/components/Accordion/useAccordion.d.ts +8 -0
- package/lib/components/Accordion/useAccordion.js +108 -0
- package/lib/components/Accordion/useAccordion.js.map +1 -0
- package/lib/components/Accordion/useAccordionContextValues.d.ts +2 -0
- package/lib/components/Accordion/useAccordionContextValues.js +19 -0
- package/lib/components/Accordion/useAccordionContextValues.js.map +1 -0
- package/lib/components/Accordion/useAccordionStyles.d.ts +3 -0
- package/lib/components/Accordion/useAccordionStyles.js +7 -0
- package/lib/components/Accordion/useAccordionStyles.js.map +1 -0
- package/lib/components/AccordionHeader/AccordionHeader.d.ts +7 -0
- package/lib/components/AccordionHeader/AccordionHeader.js +18 -0
- package/lib/components/AccordionHeader/AccordionHeader.js.map +1 -0
- package/lib/components/AccordionHeader/AccordionHeader.types.d.ts +48 -0
- package/lib/components/AccordionHeader/AccordionHeader.types.js +2 -0
- package/lib/components/AccordionHeader/AccordionHeader.types.js.map +1 -0
- package/lib/components/AccordionHeader/AccordionHeaderContext.d.ts +4 -0
- package/lib/components/AccordionHeader/AccordionHeaderContext.js +9 -0
- package/lib/components/AccordionHeader/AccordionHeaderContext.js.map +1 -0
- package/lib/components/AccordionHeader/index.d.ts +6 -0
- package/lib/components/AccordionHeader/index.js +7 -0
- package/lib/components/AccordionHeader/index.js.map +1 -0
- package/lib/components/AccordionHeader/renderAccordionHeader.d.ts +5 -0
- package/lib/components/AccordionHeader/renderAccordionHeader.js +22 -0
- package/lib/components/AccordionHeader/renderAccordionHeader.js.map +1 -0
- package/lib/components/AccordionHeader/useAccordionHeader.d.ts +8 -0
- package/lib/components/AccordionHeader/useAccordionHeader.js +97 -0
- package/lib/components/AccordionHeader/useAccordionHeader.js.map +1 -0
- package/lib/components/AccordionHeader/useAccordionHeaderContextValues.d.ts +2 -0
- package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js +19 -0
- package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -0
- package/lib/components/AccordionHeader/useAccordionHeaderStyles.d.ts +4 -0
- package/lib/components/AccordionHeader/useAccordionHeaderStyles.js +141 -0
- package/lib/components/AccordionHeader/useAccordionHeaderStyles.js.map +1 -0
- package/lib/components/AccordionItem/AccordionItem.d.ts +6 -0
- package/lib/components/AccordionItem/AccordionItem.js +17 -0
- package/lib/components/AccordionItem/AccordionItem.js.map +1 -0
- package/lib/components/AccordionItem/AccordionItem.types.d.ts +26 -0
- package/lib/components/AccordionItem/AccordionItem.types.js +2 -0
- package/lib/components/AccordionItem/AccordionItem.types.js.map +1 -0
- package/lib/components/AccordionItem/AccordionItemContext.d.ts +4 -0
- package/lib/components/AccordionItem/AccordionItemContext.js +12 -0
- package/lib/components/AccordionItem/AccordionItemContext.js.map +1 -0
- package/lib/components/AccordionItem/index.d.ts +7 -0
- package/lib/components/AccordionItem/index.js +8 -0
- package/lib/components/AccordionItem/index.js.map +1 -0
- package/lib/components/AccordionItem/renderAccordionItem.d.ts +5 -0
- package/lib/components/AccordionItem/renderAccordionItem.js +18 -0
- package/lib/components/AccordionItem/renderAccordionItem.js.map +1 -0
- package/lib/components/AccordionItem/useAccordionItem.d.ts +8 -0
- package/lib/components/AccordionItem/useAccordionItem.js +39 -0
- package/lib/components/AccordionItem/useAccordionItem.js.map +1 -0
- package/lib/components/AccordionItem/useAccordionItemContextValues.d.ts +2 -0
- package/lib/components/AccordionItem/useAccordionItemContextValues.js +17 -0
- package/lib/components/AccordionItem/useAccordionItemContextValues.js.map +1 -0
- package/lib/components/AccordionItem/useAccordionItemStyles.d.ts +3 -0
- package/lib/components/AccordionItem/useAccordionItemStyles.js +7 -0
- package/lib/components/AccordionItem/useAccordionItemStyles.js.map +1 -0
- package/lib/components/AccordionPanel/AccordionPanel.d.ts +6 -0
- package/lib/components/AccordionPanel/AccordionPanel.js +15 -0
- package/lib/components/AccordionPanel/AccordionPanel.js.map +1 -0
- package/lib/components/AccordionPanel/AccordionPanel.types.d.ts +11 -0
- package/lib/components/AccordionPanel/AccordionPanel.types.js +2 -0
- package/lib/components/AccordionPanel/AccordionPanel.types.js.map +1 -0
- package/lib/components/AccordionPanel/index.d.ts +5 -0
- package/lib/components/AccordionPanel/index.js +6 -0
- package/lib/components/AccordionPanel/index.js.map +1 -0
- package/lib/components/AccordionPanel/renderAccordionPanel.d.ts +5 -0
- package/lib/components/AccordionPanel/renderAccordionPanel.js +15 -0
- package/lib/components/AccordionPanel/renderAccordionPanel.js.map +1 -0
- package/lib/components/AccordionPanel/useAccordionPanel.d.ts +8 -0
- package/lib/components/AccordionPanel/useAccordionPanel.js +24 -0
- package/lib/components/AccordionPanel/useAccordionPanel.js.map +1 -0
- package/lib/components/AccordionPanel/useAccordionPanelStyles.d.ts +4 -0
- package/lib/components/AccordionPanel/useAccordionPanelStyles.js +23 -0
- package/lib/components/AccordionPanel/useAccordionPanelStyles.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -0
- package/lib/tsdoc-metadata.json +11 -0
- package/lib-commonjs/Accordion.d.ts +1 -0
- package/lib-commonjs/Accordion.js +10 -0
- package/lib-commonjs/Accordion.js.map +1 -0
- package/lib-commonjs/AccordionHeader.d.ts +1 -0
- package/lib-commonjs/AccordionHeader.js +10 -0
- package/lib-commonjs/AccordionHeader.js.map +1 -0
- package/lib-commonjs/AccordionItem.d.ts +1 -0
- package/lib-commonjs/AccordionItem.js +10 -0
- package/lib-commonjs/AccordionItem.js.map +1 -0
- package/lib-commonjs/AccordionPanel.d.ts +1 -0
- package/lib-commonjs/AccordionPanel.js +10 -0
- package/lib-commonjs/AccordionPanel.js.map +1 -0
- package/lib-commonjs/components/Accordion/Accordion.d.ts +6 -0
- package/lib-commonjs/components/Accordion/Accordion.js +29 -0
- package/lib-commonjs/components/Accordion/Accordion.js.map +1 -0
- package/lib-commonjs/components/Accordion/Accordion.types.d.ts +54 -0
- package/lib-commonjs/components/Accordion/Accordion.types.js +6 -0
- package/lib-commonjs/components/Accordion/Accordion.types.js.map +1 -0
- package/lib-commonjs/components/Accordion/AccordionContext.d.ts +3 -0
- package/lib-commonjs/components/Accordion/AccordionContext.js +19 -0
- package/lib-commonjs/components/Accordion/AccordionContext.js.map +1 -0
- package/lib-commonjs/components/Accordion/index.d.ts +7 -0
- package/lib-commonjs/components/Accordion/index.js +22 -0
- package/lib-commonjs/components/Accordion/index.js.map +1 -0
- package/lib-commonjs/components/Accordion/renderAccordion.d.ts +5 -0
- package/lib-commonjs/components/Accordion/renderAccordion.js +30 -0
- package/lib-commonjs/components/Accordion/renderAccordion.js.map +1 -0
- package/lib-commonjs/components/Accordion/useAccordion.d.ts +8 -0
- package/lib-commonjs/components/Accordion/useAccordion.js +120 -0
- package/lib-commonjs/components/Accordion/useAccordion.js.map +1 -0
- package/lib-commonjs/components/Accordion/useAccordionContextValues.d.ts +2 -0
- package/lib-commonjs/components/Accordion/useAccordionContextValues.js +28 -0
- package/lib-commonjs/components/Accordion/useAccordionContextValues.js.map +1 -0
- package/lib-commonjs/components/Accordion/useAccordionStyles.d.ts +3 -0
- package/lib-commonjs/components/Accordion/useAccordionStyles.js +18 -0
- package/lib-commonjs/components/Accordion/useAccordionStyles.js.map +1 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.d.ts +7 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.js +30 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.js.map +1 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.d.ts +48 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.js +6 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.js.map +1 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.d.ts +4 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.js +20 -0
- package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.js.map +1 -0
- package/lib-commonjs/components/AccordionHeader/index.d.ts +6 -0
- package/lib-commonjs/components/AccordionHeader/index.js +20 -0
- package/lib-commonjs/components/AccordionHeader/index.js.map +1 -0
- package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.d.ts +5 -0
- package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js +34 -0
- package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js.map +1 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeader.d.ts +8 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js +114 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js.map +1 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.d.ts +2 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.js +29 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.d.ts +4 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.js +153 -0
- package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.js.map +1 -0
- package/lib-commonjs/components/AccordionItem/AccordionItem.d.ts +6 -0
- package/lib-commonjs/components/AccordionItem/AccordionItem.js +29 -0
- package/lib-commonjs/components/AccordionItem/AccordionItem.js.map +1 -0
- package/lib-commonjs/components/AccordionItem/AccordionItem.types.d.ts +26 -0
- package/lib-commonjs/components/AccordionItem/AccordionItem.types.js +6 -0
- package/lib-commonjs/components/AccordionItem/AccordionItem.types.js.map +1 -0
- package/lib-commonjs/components/AccordionItem/AccordionItemContext.d.ts +4 -0
- package/lib-commonjs/components/AccordionItem/AccordionItemContext.js +23 -0
- package/lib-commonjs/components/AccordionItem/AccordionItemContext.js.map +1 -0
- package/lib-commonjs/components/AccordionItem/index.d.ts +7 -0
- package/lib-commonjs/components/AccordionItem/index.js +22 -0
- package/lib-commonjs/components/AccordionItem/index.js.map +1 -0
- package/lib-commonjs/components/AccordionItem/renderAccordionItem.d.ts +5 -0
- package/lib-commonjs/components/AccordionItem/renderAccordionItem.js +30 -0
- package/lib-commonjs/components/AccordionItem/renderAccordionItem.js.map +1 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItem.d.ts +8 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItem.js +53 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItem.js.map +1 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.d.ts +2 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js +27 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js.map +1 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.d.ts +3 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.js +18 -0
- package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.js.map +1 -0
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.d.ts +6 -0
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.js +26 -0
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.js.map +1 -0
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.d.ts +11 -0
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.js +6 -0
- package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.js.map +1 -0
- package/lib-commonjs/components/AccordionPanel/index.d.ts +5 -0
- package/lib-commonjs/components/AccordionPanel/index.js +18 -0
- package/lib-commonjs/components/AccordionPanel/index.js.map +1 -0
- package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.d.ts +5 -0
- package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js +26 -0
- package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js.map +1 -0
- package/lib-commonjs/components/AccordionPanel/useAccordionPanel.d.ts +8 -0
- package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js +35 -0
- package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js.map +1 -0
- package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.d.ts +4 -0
- package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.js +33 -0
- package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.js.map +1 -0
- package/lib-commonjs/index.d.ts +4 -0
- package/lib-commonjs/index.js +16 -0
- package/lib-commonjs/index.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { mergeClasses } from '@griffel/react';
|
|
2
|
+
export const accordionClassName = 'fui-Accordion';
|
|
3
|
+
export const useAccordionStyles_unstable = state => {
|
|
4
|
+
state.root.className = mergeClasses(accordionClassName, state.root.className);
|
|
5
|
+
return state;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=useAccordionStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["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","sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { AccordionState } from './Accordion.types';\n\nexport const accordionClassName = 'fui-Accordion';\n\nexport const useAccordionStyles_unstable = (state: AccordionState) => {\n state.root.className = mergeClasses(accordionClassName, state.root.className);\n\n return state;\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AccordionHeaderProps } from './AccordionHeader.types';
|
|
2
|
+
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
|
3
|
+
/**
|
|
4
|
+
* Define a styled AccordionHeader, using the `useAccordionHeader_unstable` and `useAccordionHeaderStyles_unstable`
|
|
5
|
+
* hooks.
|
|
6
|
+
*/
|
|
7
|
+
export declare const AccordionHeader: ForwardRefComponent<AccordionHeaderProps>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
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
|
+
/**
|
|
7
|
+
* Define a styled AccordionHeader, using the `useAccordionHeader_unstable` and `useAccordionHeaderStyles_unstable`
|
|
8
|
+
* hooks.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export const AccordionHeader = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
12
|
+
const state = useAccordionHeader_unstable(props, ref);
|
|
13
|
+
const contextValues = useAccordionHeaderContextValues_unstable(state);
|
|
14
|
+
useAccordionHeaderStyles_unstable(state);
|
|
15
|
+
return renderAccordionHeader_unstable(state, contextValues);
|
|
16
|
+
});
|
|
17
|
+
AccordionHeader.displayName = 'AccordionHeader';
|
|
18
|
+
//# sourceMappingURL=AccordionHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["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","sourcesContent":["import * as React from 'react';\nimport { useAccordionHeader_unstable } from './useAccordionHeader';\nimport { renderAccordionHeader_unstable } from './renderAccordionHeader';\nimport { useAccordionHeaderStyles_unstable } from './useAccordionHeaderStyles';\nimport { useAccordionHeaderContextValues_unstable } from './useAccordionHeaderContextValues';\nimport type { AccordionHeaderProps } from './AccordionHeader.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled AccordionHeader, using the `useAccordionHeader_unstable` and `useAccordionHeaderStyles_unstable`\n * hooks.\n */\nexport const AccordionHeader: ForwardRefComponent<AccordionHeaderProps> = React.forwardRef((props, ref) => {\n const state = useAccordionHeader_unstable(props, ref);\n const contextValues = useAccordionHeaderContextValues_unstable(state);\n\n useAccordionHeaderStyles_unstable(state);\n\n return renderAccordionHeader_unstable(state, contextValues);\n});\n\nAccordionHeader.displayName = 'AccordionHeader';\n"],"sourceRoot":"../src/"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
2
|
+
import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
|
|
3
|
+
export declare type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';
|
|
4
|
+
export declare type AccordionHeaderExpandIconPosition = 'start' | 'end';
|
|
5
|
+
export declare type AccordionHeaderContextValue = {
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
open: boolean;
|
|
8
|
+
expandIconPosition: AccordionHeaderExpandIconPosition;
|
|
9
|
+
size: AccordionHeaderSize;
|
|
10
|
+
};
|
|
11
|
+
export declare type AccordionHeaderContextValues = {
|
|
12
|
+
accordionHeader: AccordionHeaderContextValue;
|
|
13
|
+
};
|
|
14
|
+
export declare type AccordionHeaderSlots = {
|
|
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'>;
|
|
19
|
+
/**
|
|
20
|
+
* The component to be used as button in heading
|
|
21
|
+
*/
|
|
22
|
+
button: NonNullable<Slot<ARIAButtonSlotProps>>;
|
|
23
|
+
/**
|
|
24
|
+
* Expand icon slot rendered before (or after) children content in heading
|
|
25
|
+
*/
|
|
26
|
+
expandIcon: Slot<'span'>;
|
|
27
|
+
/**
|
|
28
|
+
* Expand icon slot rendered before (or after) children content in heading
|
|
29
|
+
*/
|
|
30
|
+
icon?: Slot<'div'>;
|
|
31
|
+
};
|
|
32
|
+
declare type AccordionHeaderCommons = {
|
|
33
|
+
/**
|
|
34
|
+
* Size of spacing in the heading
|
|
35
|
+
*/
|
|
36
|
+
size: AccordionHeaderSize;
|
|
37
|
+
/**
|
|
38
|
+
* The position of the expand icon slot in heading
|
|
39
|
+
*/
|
|
40
|
+
expandIconPosition: AccordionHeaderExpandIconPosition;
|
|
41
|
+
/**
|
|
42
|
+
* Indicates if the AccordionHeader should be rendered inline
|
|
43
|
+
*/
|
|
44
|
+
inline: boolean;
|
|
45
|
+
};
|
|
46
|
+
export declare type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & Partial<AccordionHeaderCommons>;
|
|
47
|
+
export declare type AccordionHeaderState = ComponentState<AccordionHeaderSlots> & AccordionHeaderCommons & AccordionHeaderContextValue;
|
|
48
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionHeader.types.js","sourceRoot":"../src/","sources":["components/AccordionHeader/AccordionHeader.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ARIAButtonSlotProps } from '@fluentui/react-aria';\n\nexport type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';\nexport type AccordionHeaderExpandIconPosition = 'start' | 'end';\n\nexport type AccordionHeaderContextValue = {\n disabled: boolean;\n open: boolean;\n expandIconPosition: AccordionHeaderExpandIconPosition;\n size: AccordionHeaderSize;\n};\n\nexport type AccordionHeaderContextValues = {\n accordionHeader: AccordionHeaderContextValue;\n};\n\nexport type AccordionHeaderSlots = {\n /**\n * The element wrapping the button. By default this is a div, but can be a heading.\n */\n root: Slot<'div', 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;\n /**\n * The component to be used as button in heading\n */\n button: NonNullable<Slot<ARIAButtonSlotProps>>;\n /**\n * Expand icon slot rendered before (or after) children content in heading\n */\n expandIcon: Slot<'span'>;\n /**\n * Expand icon slot rendered before (or after) children content in heading\n */\n icon?: Slot<'div'>;\n};\n\ntype AccordionHeaderCommons = {\n /**\n * Size of spacing in the heading\n */\n size: AccordionHeaderSize;\n /**\n * The position of the expand icon slot in heading\n */\n expandIconPosition: AccordionHeaderExpandIconPosition;\n /**\n * Indicates if the AccordionHeader should be rendered inline\n */\n inline: boolean;\n};\n\nexport type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & Partial<AccordionHeaderCommons>;\n\nexport type AccordionHeaderState = ComponentState<AccordionHeaderSlots> &\n AccordionHeaderCommons &\n AccordionHeaderContextValue;\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { AccordionHeaderContextValue } from './AccordionHeader.types';
|
|
3
|
+
export declare const AccordionHeaderContext: React.Context<AccordionHeaderContextValue>;
|
|
4
|
+
export declare const useAccordionHeaderContext: () => AccordionHeaderContextValue;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export const AccordionHeaderContext = /*#__PURE__*/React.createContext({
|
|
3
|
+
open: false,
|
|
4
|
+
disabled: false,
|
|
5
|
+
size: 'medium',
|
|
6
|
+
expandIconPosition: 'start'
|
|
7
|
+
});
|
|
8
|
+
export const useAccordionHeaderContext = () => React.useContext(AccordionHeaderContext);
|
|
9
|
+
//# sourceMappingURL=AccordionHeaderContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/AccordionHeader/AccordionHeaderContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAGA,OAAO,MAAM,sBAAsB,gBAAG,KAAK,CAAC,aAAN,CAAiD;AACrF,EAAA,IAAI,EAAE,KAD+E;AAErF,EAAA,QAAQ,EAAE,KAF2E;AAGrF,EAAA,IAAI,EAAE,QAH+E;AAIrF,EAAA,kBAAkB,EAAE;AAJiE,CAAjD,CAA/B;AAOP,OAAO,MAAM,yBAAyB,GAAG,MAAM,KAAK,CAAC,UAAN,CAAiB,sBAAjB,CAAxC","sourcesContent":["import * as React from 'react';\nimport type { AccordionHeaderContextValue } from './AccordionHeader.types';\n\nexport const AccordionHeaderContext = React.createContext<AccordionHeaderContextValue>({\n open: false,\n disabled: false,\n size: 'medium',\n expandIconPosition: 'start',\n});\n\nexport const useAccordionHeaderContext = () => React.useContext(AccordionHeaderContext);\n"],"sourceRoot":"../src/"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './AccordionHeader';
|
|
2
|
+
export * from './AccordionHeader.types';
|
|
3
|
+
export * from './renderAccordionHeader';
|
|
4
|
+
export * from './useAccordionHeader';
|
|
5
|
+
export * from './useAccordionHeaderContextValues';
|
|
6
|
+
export * from './useAccordionHeaderStyles';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["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","sourcesContent":["export * from './AccordionHeader';\nexport * from './AccordionHeader.types';\nexport * from './renderAccordionHeader';\nexport * from './useAccordionHeader';\nexport * from './useAccordionHeaderContextValues';\nexport * from './useAccordionHeaderStyles';\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AccordionHeaderState, AccordionHeaderContextValues } from './AccordionHeader.types';
|
|
2
|
+
/**
|
|
3
|
+
* Function that renders the final JSX of the component
|
|
4
|
+
*/
|
|
5
|
+
export declare const renderAccordionHeader_unstable: (state: AccordionHeaderState, contextValues: AccordionHeaderContextValues) => JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { getSlots } from '@fluentui/react-utilities';
|
|
3
|
+
import { AccordionHeaderContext } from './AccordionHeaderContext';
|
|
4
|
+
/**
|
|
5
|
+
* Function that renders the final JSX of the component
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const renderAccordionHeader_unstable = (state, contextValues) => {
|
|
9
|
+
const {
|
|
10
|
+
slots,
|
|
11
|
+
slotProps
|
|
12
|
+
} = getSlots(state);
|
|
13
|
+
return /*#__PURE__*/React.createElement(AccordionHeaderContext.Provider, {
|
|
14
|
+
value: contextValues.accordionHeader
|
|
15
|
+
}, /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
|
|
16
|
+
}, /*#__PURE__*/React.createElement(slots.button, { ...slotProps.button
|
|
17
|
+
}, state.expandIconPosition === 'start' && /*#__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
|
|
20
|
+
}))));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=renderAccordionHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["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","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { AccordionHeaderContext } from './AccordionHeaderContext';\nimport type { AccordionHeaderState, AccordionHeaderSlots, AccordionHeaderContextValues } from './AccordionHeader.types';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderAccordionHeader_unstable = (\n state: AccordionHeaderState,\n contextValues: AccordionHeaderContextValues,\n) => {\n const { slots, slotProps } = getSlots<AccordionHeaderSlots>(state);\n\n return (\n <AccordionHeaderContext.Provider value={contextValues.accordionHeader}>\n <slots.root {...slotProps.root}>\n <slots.button {...slotProps.button}>\n {state.expandIconPosition === 'start' && <slots.expandIcon {...slotProps.expandIcon} />}\n {slots.icon && <slots.icon {...slotProps.icon} />}\n {slotProps.root.children}\n {state.expandIconPosition === 'end' && <slots.expandIcon {...slotProps.expandIcon} />}\n </slots.button>\n </slots.root>\n </AccordionHeaderContext.Provider>\n );\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { AccordionHeaderProps, AccordionHeaderState } from './AccordionHeader.types';
|
|
3
|
+
/**
|
|
4
|
+
* Returns the props and state required to render the component
|
|
5
|
+
* @param props - AccordionHeader properties
|
|
6
|
+
* @param ref - reference to root HTMLElement of AccordionHeader
|
|
7
|
+
*/
|
|
8
|
+
export declare const useAccordionHeader_unstable: (props: AccordionHeaderProps, ref: React.Ref<HTMLElement>) => AccordionHeaderState;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { getNativeElementProps, resolveShorthand, useEventCallback } from '@fluentui/react-utilities';
|
|
3
|
+
import { useAccordionItemContext_unstable } from '../AccordionItem/index';
|
|
4
|
+
import { useARIAButton } from '@fluentui/react-aria';
|
|
5
|
+
import { useContextSelector } from '@fluentui/react-context-selector';
|
|
6
|
+
import { AccordionContext } from '../Accordion/AccordionContext';
|
|
7
|
+
import { ChevronRightRegular } from '@fluentui/react-icons';
|
|
8
|
+
import { useFluent } from '@fluentui/react-shared-contexts';
|
|
9
|
+
/**
|
|
10
|
+
* Returns the props and state required to render the component
|
|
11
|
+
* @param props - AccordionHeader properties
|
|
12
|
+
* @param ref - reference to root HTMLElement of AccordionHeader
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export const useAccordionHeader_unstable = (props, ref) => {
|
|
16
|
+
const {
|
|
17
|
+
as,
|
|
18
|
+
icon,
|
|
19
|
+
button,
|
|
20
|
+
expandIcon,
|
|
21
|
+
inline = false,
|
|
22
|
+
size = 'medium',
|
|
23
|
+
expandIconPosition = 'start'
|
|
24
|
+
} = props;
|
|
25
|
+
const {
|
|
26
|
+
onHeaderClick: onAccordionHeaderClick,
|
|
27
|
+
disabled,
|
|
28
|
+
open
|
|
29
|
+
} = useAccordionItemContext_unstable();
|
|
30
|
+
/**
|
|
31
|
+
* force disabled state on button if accordion isn't collapsible
|
|
32
|
+
* and this is the only item opened
|
|
33
|
+
*/
|
|
34
|
+
|
|
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
|
+
|
|
50
|
+
const buttonShorthand = useARIAButton(button, {
|
|
51
|
+
required: true,
|
|
52
|
+
defaultProps: {
|
|
53
|
+
disabled,
|
|
54
|
+
disabledFocusable,
|
|
55
|
+
'aria-expanded': open
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
disabled,
|
|
60
|
+
open,
|
|
61
|
+
size,
|
|
62
|
+
inline,
|
|
63
|
+
expandIconPosition,
|
|
64
|
+
components: {
|
|
65
|
+
root: 'div',
|
|
66
|
+
button: 'button',
|
|
67
|
+
expandIcon: 'span',
|
|
68
|
+
icon: 'div'
|
|
69
|
+
},
|
|
70
|
+
root: getNativeElementProps(as || 'div', {
|
|
71
|
+
ref,
|
|
72
|
+
...props
|
|
73
|
+
}),
|
|
74
|
+
icon: resolveShorthand(icon),
|
|
75
|
+
expandIcon: resolveShorthand(expandIcon, {
|
|
76
|
+
required: true,
|
|
77
|
+
defaultProps: {
|
|
78
|
+
children: /*#__PURE__*/React.createElement(ChevronRightRegular, {
|
|
79
|
+
transform: `rotate(${expandIconRotation})`
|
|
80
|
+
}),
|
|
81
|
+
'aria-hidden': true
|
|
82
|
+
}
|
|
83
|
+
}),
|
|
84
|
+
button: { ...buttonShorthand,
|
|
85
|
+
onClick: useEventCallback(ev => {
|
|
86
|
+
var _a;
|
|
87
|
+
|
|
88
|
+
(_a = buttonShorthand.onClick) === null || _a === void 0 ? void 0 : _a.call(buttonShorthand, ev);
|
|
89
|
+
|
|
90
|
+
if (!ev.defaultPrevented) {
|
|
91
|
+
onAccordionHeaderClick(ev);
|
|
92
|
+
}
|
|
93
|
+
})
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=useAccordionHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export function useAccordionHeaderContextValues_unstable(state) {
|
|
3
|
+
const {
|
|
4
|
+
disabled,
|
|
5
|
+
expandIconPosition,
|
|
6
|
+
open,
|
|
7
|
+
size
|
|
8
|
+
} = state;
|
|
9
|
+
const accordionHeader = React.useMemo(() => ({
|
|
10
|
+
disabled,
|
|
11
|
+
expandIconPosition,
|
|
12
|
+
open,
|
|
13
|
+
size
|
|
14
|
+
}), [disabled, expandIconPosition, open, size]);
|
|
15
|
+
return {
|
|
16
|
+
accordionHeader
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=useAccordionHeaderContextValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AccordionHeaderState } from './AccordionHeader.types';
|
|
2
|
+
export declare const accordionHeaderClassName = "fui-AccordionHeader";
|
|
3
|
+
/** Applies style classnames to slots */
|
|
4
|
+
export declare const useAccordionHeaderStyles_unstable: (state: AccordionHeaderState) => AccordionHeaderState;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { shorthands, __styles, mergeClasses } from '@griffel/react';
|
|
2
|
+
import { createFocusOutlineStyle } from '@fluentui/react-tabster';
|
|
3
|
+
import { tokens } from '@fluentui/react-theme';
|
|
4
|
+
export const accordionHeaderClassName = 'fui-AccordionHeader';
|
|
5
|
+
|
|
6
|
+
const useStyles = /*#__PURE__*/__styles({
|
|
7
|
+
"resetButton": {
|
|
8
|
+
"B7ck84d": "f1e4lqlz",
|
|
9
|
+
"De3pzq": "f1u2r49w",
|
|
10
|
+
"sj55zd": "f1ym3bx4",
|
|
11
|
+
"Bahqtrf": "f1mo0ibp",
|
|
12
|
+
"Be2twd7": "fjoy568",
|
|
13
|
+
"Bg96gwp": "fytdu2e",
|
|
14
|
+
"B68tc82": "f1mtd64y",
|
|
15
|
+
"Bmxbyg5": "f1y7q3j9",
|
|
16
|
+
"z8tnut": "f1g0x7ka",
|
|
17
|
+
"z189sj": ["fhxju0i", "f1cnd47f"],
|
|
18
|
+
"Byoj8tv": "f1qch9an",
|
|
19
|
+
"uwmqm3": ["f1cnd47f", "fhxju0i"],
|
|
20
|
+
"Bv0vk6g": "f37px4s",
|
|
21
|
+
"famaaq": "f1xqy1su",
|
|
22
|
+
"fsow6f": "fgusgyc"
|
|
23
|
+
},
|
|
24
|
+
"focusIndicator": {
|
|
25
|
+
"B486eqv": "f2hkw1w",
|
|
26
|
+
"B1bra5l": "fc85khu",
|
|
27
|
+
"e8izhr": "f1pxpxw8",
|
|
28
|
+
"in3gf6": "f1149fnl",
|
|
29
|
+
"B1i23sz": "fd1orka",
|
|
30
|
+
"ln9as": "fgtqheg",
|
|
31
|
+
"Bfgg0yq": "fq7mjg8",
|
|
32
|
+
"i16j1i": "fq9bj62",
|
|
33
|
+
"yxydaw": "fy07e8r",
|
|
34
|
+
"B9sa02e": "f1ha6shg",
|
|
35
|
+
"yaquy9": "f4ltwxu",
|
|
36
|
+
"Bl8qd6i": "f1284xzw",
|
|
37
|
+
"Byzgy54": "f14dru39",
|
|
38
|
+
"mq8cyt": ["fvabyfg", "f12y1wz2"],
|
|
39
|
+
"B1a67j7": ["f12y1wz2", "fvabyfg"]
|
|
40
|
+
},
|
|
41
|
+
"root": {
|
|
42
|
+
"sj55zd": "f19n0e5",
|
|
43
|
+
"De3pzq": "fxugw4r",
|
|
44
|
+
"B6of3ja": "f1hu3pq6",
|
|
45
|
+
"t21cq0": ["f11qmguv", "f1tyq0we"],
|
|
46
|
+
"jrapky": "f19f4twv",
|
|
47
|
+
"Frg6f3": ["f1tyq0we", "f11qmguv"],
|
|
48
|
+
"Bbmb7ep": ["f2i1086", "f1rlsnju"],
|
|
49
|
+
"Beyfa6y": ["f1rlsnju", "f2i1086"],
|
|
50
|
+
"B7oj6ja": ["f1stktl2", "f1127022"],
|
|
51
|
+
"Btl43ni": ["f1127022", "f1stktl2"]
|
|
52
|
+
},
|
|
53
|
+
"rootDisabled": {
|
|
54
|
+
"Bcmaq0h": "fwrgwhw",
|
|
55
|
+
"sj55zd": "f1s2aq7o"
|
|
56
|
+
},
|
|
57
|
+
"rootInline": {
|
|
58
|
+
"mc9l5x": "f14t3ns0"
|
|
59
|
+
},
|
|
60
|
+
"button": {
|
|
61
|
+
"qhf8xq": "f10pi13n",
|
|
62
|
+
"a9b677": "f1wfwcyy",
|
|
63
|
+
"B4j52fo": "f5ogflp",
|
|
64
|
+
"Bekrc4i": ["f1hqa2wf", "finvdd3"],
|
|
65
|
+
"Bn0qgzm": "f1f09k3d",
|
|
66
|
+
"ibv6hh": ["finvdd3", "f1hqa2wf"],
|
|
67
|
+
"icvyot": "fzkkow9",
|
|
68
|
+
"vrafjx": ["fcdblym", "fjik90z"],
|
|
69
|
+
"oivjwe": "fg706s2",
|
|
70
|
+
"wvpqe5": ["fjik90z", "fcdblym"],
|
|
71
|
+
"g2u3we": "f1p3nwhy",
|
|
72
|
+
"h3c5rm": ["f11589ue", "f1pdflbu"],
|
|
73
|
+
"B9xav0g": "f1q5o8ev",
|
|
74
|
+
"zhjwy3": ["f1pdflbu", "f11589ue"],
|
|
75
|
+
"z189sj": ["f81rol6", "frdkuqy"],
|
|
76
|
+
"uwmqm3": ["frdkuqy", "f81rol6"],
|
|
77
|
+
"Bqenvij": "f1ft4266",
|
|
78
|
+
"mc9l5x": "f22iagw",
|
|
79
|
+
"Bt984gj": "f122n59",
|
|
80
|
+
"Bceei9c": "f1k6fduh",
|
|
81
|
+
"Be2twd7": "fkhj508",
|
|
82
|
+
"Bahqtrf": "fk6fouc"
|
|
83
|
+
},
|
|
84
|
+
"buttonSmall": {
|
|
85
|
+
"Bqenvij": "f1d2rq10",
|
|
86
|
+
"Be2twd7": "fy9rknc"
|
|
87
|
+
},
|
|
88
|
+
"buttonLarge": {
|
|
89
|
+
"Be2twd7": "fod5ikn"
|
|
90
|
+
},
|
|
91
|
+
"buttonExtraLarge": {
|
|
92
|
+
"Be2twd7": "f1pp30po"
|
|
93
|
+
},
|
|
94
|
+
"buttonInline": {
|
|
95
|
+
"mc9l5x": "ftuwxu6"
|
|
96
|
+
},
|
|
97
|
+
"expandIcon": {
|
|
98
|
+
"Bg96gwp": "fez10in",
|
|
99
|
+
"Be2twd7": "fe5j1ua"
|
|
100
|
+
},
|
|
101
|
+
"expandIconStart": {
|
|
102
|
+
"z189sj": ["f19lj068", "f177v4lu"]
|
|
103
|
+
},
|
|
104
|
+
"expandIconEnd": {
|
|
105
|
+
"Bh6795r": "fqerorx",
|
|
106
|
+
"Bnnss6s": "f1neuvcm",
|
|
107
|
+
"xawz": "flqd7gy",
|
|
108
|
+
"mc9l5x": "f22iagw",
|
|
109
|
+
"Brf1p80": "f9c4gz4",
|
|
110
|
+
"uwmqm3": ["f177v4lu", "f19lj068"]
|
|
111
|
+
},
|
|
112
|
+
"icon": {
|
|
113
|
+
"t21cq0": ["f1phki43", "ff9s3yw"],
|
|
114
|
+
"Be2twd7": "fe5j1ua"
|
|
115
|
+
},
|
|
116
|
+
"iconExpandIconEnd": {
|
|
117
|
+
"Frg6f3": ["f1oou7ox", "f1pxv85q"]
|
|
118
|
+
}
|
|
119
|
+
}, {
|
|
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;}"],
|
|
121
|
+
"i": [".f2hkw1w:focus-visible{outline-style:none;}"]
|
|
122
|
+
});
|
|
123
|
+
/** Applies style classnames to slots */
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
export const useAccordionHeaderStyles_unstable = state => {
|
|
127
|
+
const styles = useStyles();
|
|
128
|
+
state.root.className = mergeClasses(accordionHeaderClassName, styles.root, state.inline && styles.rootInline, state.disabled && styles.rootDisabled, state.root.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);
|
|
130
|
+
|
|
131
|
+
if (state.expandIcon) {
|
|
132
|
+
state.expandIcon.className = mergeClasses(styles.expandIcon, state.expandIconPosition === 'start' && styles.expandIconStart, state.expandIconPosition === 'end' && styles.expandIconEnd, state.expandIcon.className);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (state.icon) {
|
|
136
|
+
state.icon.className = mergeClasses(styles.icon, state.expandIconPosition === 'end' && styles.iconExpandIconEnd, state.icon.className);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return state;
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=useAccordionHeaderStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AccordionItemProps } from './AccordionItem.types';
|
|
2
|
+
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
|
3
|
+
/**
|
|
4
|
+
* Define a styled AccordionItem, using the `useAccordionItem_unstable` and `useAccordionItemStyles_unstable` hooks.
|
|
5
|
+
*/
|
|
6
|
+
export declare const AccordionItem: ForwardRefComponent<AccordionItemProps>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
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
|
+
/**
|
|
7
|
+
* Define a styled AccordionItem, using the `useAccordionItem_unstable` and `useAccordionItemStyles_unstable` hooks.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export const AccordionItem = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
11
|
+
const state = useAccordionItem_unstable(props, ref);
|
|
12
|
+
const contextValues = useAccordionItemContextValues_unstable(state);
|
|
13
|
+
useAccordionItemStyles_unstable(state);
|
|
14
|
+
return renderAccordionItem_unstable(state, contextValues);
|
|
15
|
+
});
|
|
16
|
+
AccordionItem.displayName = 'AccordionItem';
|
|
17
|
+
//# sourceMappingURL=AccordionItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
|
3
|
+
export declare type AccordionItemContextValue = Omit<AccordionItemCommons, 'value'> & {
|
|
4
|
+
open: boolean;
|
|
5
|
+
onHeaderClick(ev: React.MouseEvent | React.KeyboardEvent): void;
|
|
6
|
+
};
|
|
7
|
+
export declare type AccordionItemContextValues = {
|
|
8
|
+
accordionItem: AccordionItemContextValue;
|
|
9
|
+
};
|
|
10
|
+
export declare type AccordionItemSlots = {
|
|
11
|
+
root: Slot<'div'>;
|
|
12
|
+
};
|
|
13
|
+
declare type AccordionItemCommons = {
|
|
14
|
+
/**
|
|
15
|
+
* Disables opening/closing of panel
|
|
16
|
+
*/
|
|
17
|
+
disabled: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* required value that identifies this item inside an Accordion component
|
|
20
|
+
*/
|
|
21
|
+
value: AccordionItemValue;
|
|
22
|
+
};
|
|
23
|
+
export declare type AccordionItemProps = ComponentProps<AccordionItemSlots> & Partial<AccordionItemCommons> & Pick<AccordionItemCommons, 'value'>;
|
|
24
|
+
export declare type AccordionItemValue = unknown;
|
|
25
|
+
export declare type AccordionItemState = ComponentState<AccordionItemSlots> & AccordionItemCommons & AccordionItemContextValue;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { AccordionItemContextValue } from './AccordionItem.types';
|
|
3
|
+
export declare const AccordionItemContext: React.Context<AccordionItemContextValue>;
|
|
4
|
+
export declare const useAccordionItemContext_unstable: () => AccordionItemContextValue;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react'; // No default value.
|
|
2
|
+
|
|
3
|
+
export const AccordionItemContext = /*#__PURE__*/React.createContext({
|
|
4
|
+
onHeaderClick() {
|
|
5
|
+
/** */
|
|
6
|
+
},
|
|
7
|
+
|
|
8
|
+
open: false,
|
|
9
|
+
disabled: false
|
|
10
|
+
});
|
|
11
|
+
export const useAccordionItemContext_unstable = () => React.useContext(AccordionItemContext);
|
|
12
|
+
//# sourceMappingURL=AccordionItemContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './AccordionItem';
|
|
2
|
+
export * from './AccordionItem.types';
|
|
3
|
+
export * from './renderAccordionItem';
|
|
4
|
+
export * from './useAccordionItem';
|
|
5
|
+
export * from './useAccordionItemContextValues';
|
|
6
|
+
export * from './AccordionItemContext';
|
|
7
|
+
export * from './useAccordionItemStyles';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './AccordionItem';
|
|
2
|
+
export * from './AccordionItem.types';
|
|
3
|
+
export * from './renderAccordionItem';
|
|
4
|
+
export * from './useAccordionItem';
|
|
5
|
+
export * from './useAccordionItemContextValues';
|
|
6
|
+
export * from './AccordionItemContext';
|
|
7
|
+
export * from './useAccordionItemStyles';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|