import React from 'react';
import { CollapseOptions } from '../../index';
import { CollapseButton } from '../../../CollapseButton';
const getDefault = (props: {
isVertical: boolean;
isLtr: boolean;
isReversed: boolean;
}): CollapseOptions => ({
beforeToggleButton: ,
afterToggleButton: ,
collapseDirection: props.isVertical ? 'left' : 'up',
overlayCss: { backgroundColor: 'rgba(0, 0, 0, 0.4)' },
buttonTransitionTimeout: 200,
buttonTransition: 'grow',
collapsedSize: 50,
collapseTransitionTimeout: 500,
buttonPositionOffset: 0,
});
/**
* function that returns a set of valid collapseOptions from uncertain input.
*/
export const useCollapseOptions = ({
originalValue,
...orientationDetails
}: {
originalValue: Partial | undefined | boolean;
isVertical: boolean;
isLtr: boolean;
isReversed: boolean;
}): Required | undefined => {
if (originalValue === undefined || originalValue === false) return undefined;
if (originalValue === true) return getDefault(orientationDetails);
return { ...getDefault(orientationDetails), ...originalValue };
};