@okam/stack-ui 1.19.2 → 1.20.0
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/components/Accordion/components/AccordionItem.d.ts +3 -0
- package/components/Accordion/components/AriaAccordionItem.d.ts +3 -0
- package/components/Accordion/hooks/useAccordionState.d.ts +10 -0
- package/components/Accordion/interface.d.ts +20 -8
- package/index.d.ts +3 -0
- package/index.js +14 -9
- package/index.mjs +3760 -2660
- package/package.json +1 -1
- package/providers/Accordion/index.d.ts +4 -0
- package/providers/Accordion/interface.d.ts +12 -0
- package/theme/Accordion/index.d.ts +13 -32
- package/transitions/AccordionTransition.d.ts +4 -0
- package/transitions/RenderWithOpacity.d.ts +3 -6
- package/types/components.d.ts +4 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AccordionProps } from '../interface';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps react stately's `useTreeState` hook while automatically setting expanded keys props
|
|
4
|
+
* to selected keys props for convenience.
|
|
5
|
+
*
|
|
6
|
+
* Also sets `defaultSelectedKeys` and `defaultExpandedKeys` based on the children's props
|
|
7
|
+
*
|
|
8
|
+
* If the expanded keys props are set, they will act like the regular `useTreeState` hook
|
|
9
|
+
*/
|
|
10
|
+
export default function useAccordionState(params: AccordionProps): import("react-stately").TreeState<import("../interface").TAccordionItemProps>;
|
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { AccordionItemAriaProps } from '@react-aria/accordion';
|
|
2
|
+
import type { ComponentType, ReactElement } from 'react';
|
|
3
|
+
import type { ItemProps, TreeProps } from 'react-stately';
|
|
2
4
|
import type { TToken } from '../../providers/Theme/interface';
|
|
3
|
-
import type { TDefaultComponent } from '../../types/components';
|
|
4
|
-
|
|
5
|
+
import type { TDefaultComponent, TTransition } from '../../types/components';
|
|
6
|
+
type TAccordionDefaultComponent = Omit<TDefaultComponent<TAccordionTokens>, 'children'>;
|
|
7
|
+
export interface AccordionProps extends TreeProps<TAccordionItemProps> {
|
|
8
|
+
children: ReactElement<TAccordionItemProps> | ReactElement<TAccordionItemProps>[];
|
|
9
|
+
}
|
|
10
|
+
export interface TAccordionProps extends TAccordionDefaultComponent, AccordionProps {
|
|
5
11
|
id: string;
|
|
6
|
-
|
|
12
|
+
TransitionAnimation?: ComponentType<TTransition>;
|
|
13
|
+
}
|
|
14
|
+
export interface TAccordionItemProps extends ItemProps<TAccordionItemProps>, TAccordionDefaultComponent {
|
|
7
15
|
icon?: React.ReactNode;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
defaultIsOpen?: boolean;
|
|
16
|
+
onOpenChange: (isOpen: boolean) => void;
|
|
17
|
+
defaultOpen?: boolean;
|
|
18
|
+
isOpen?: boolean;
|
|
12
19
|
}
|
|
20
|
+
export type TAriaAccordionItemProps = TAccordionDefaultComponent & Omit<AccordionItemAriaProps<TAccordionItemProps>, 'item'> & {
|
|
21
|
+
item: Omit<AccordionItemAriaProps<TAccordionItemProps>['item'], 'props'> & {
|
|
22
|
+
props?: TAccordionItemProps;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
13
25
|
interface TAccordionTokens extends TToken {
|
|
14
26
|
titleBold: boolean;
|
|
15
27
|
textAlign: 'center' | 'left';
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { default as ThemeProvider } from './theme';
|
|
2
2
|
export { default as Typography } from './components/Typography';
|
|
3
3
|
export { default as Accordion } from './components/Accordion';
|
|
4
|
+
export { default as AccordionItem } from './components/Accordion/components/AccordionItem';
|
|
4
5
|
export { default as Button, ButtonWithForwardRef } from './components/Button';
|
|
5
6
|
export { default as ShareButton } from './components/ShareButton';
|
|
6
7
|
export { default as SidePanel } from './components/SidePanel';
|
|
@@ -35,6 +36,7 @@ export { useIsClient, IsClientContextProvider } from './providers/Client';
|
|
|
35
36
|
export { useSidePanel, SidePanelContextProvider } from './providers/SidePanel';
|
|
36
37
|
export { MenuContextProvider, useMenu } from './providers/Menu';
|
|
37
38
|
export { RadioGroupProvider, useRadioGroupCtx } from './providers/RadioGroup/RadioGroup';
|
|
39
|
+
export { AccordionContextProvider, useAccordionCtx } from './providers/Accordion';
|
|
38
40
|
export type { TButtonProps } from './components/Button/interface';
|
|
39
41
|
export type { TTypographyProps } from './components/Typography/interface';
|
|
40
42
|
export type { TTheme, TToken, TCustomTheme, TStyle, TDefaultTheme, TStyleCollection, TStyleValue, } from './providers/Theme/interface';
|
|
@@ -44,3 +46,4 @@ export { default as useWindow } from './components/ShareButton/utils/useWindow';
|
|
|
44
46
|
export { default as useFacebookShareUrl } from './components/ShareButton/utils/useFacebookShareUrl';
|
|
45
47
|
export { default as useMailToShareUrl } from './components/ShareButton/utils/useMailToShareUrl';
|
|
46
48
|
export { default as useTwitterShareUrl } from './components/ShareButton/utils/useTwitterShareUrl';
|
|
49
|
+
export { default as useAccordionState } from './components/Accordion/hooks/useAccordionState';
|