/** @jsxImportSource @emotion/react */ import React, { FC, SVGProps } from 'react'; import { css, styled } from 'twin.macro'; export const collapseExpandIconModes = ['expand', 'collapse'] as const; type CollapseExpandIconMode = typeof collapseExpandIconModes[number]; type IconSvgProps = SVGProps & { mode: CollapseExpandIconMode; duration?: number; timingFunction?: string; }; type IconProps = IconSvgProps & { className?: string; }; const CollapseExpandIconSvg = styled.svg( ({ mode, duration = 300, timingFunction = 'ease-out' }) => [ css` transform-origin: center; transition: transform ${duration}ms ${timingFunction}; ${mode === 'expand' && 'transform: rotate(0deg);'} ${mode === 'collapse' && 'transform: rotate(180deg);'} `, ], ); const CollapseExpandIcon: FC = (props) => ( ); export default CollapseExpandIcon;