import { css } from 'styled-components'; import { VariantOfType } from '../../variants'; export const AccordionGroupCss = css` display: flex; flex-direction: column; gap: 0.5rem; `; export const AccordionCss = css` display: flex; flex-direction: column; border-radius: 0.4rem; box-shadow: var(--shadow-xs); `; export const AccordionTitleCss = css` width: 100%; display: flex; flex-direction: row; justify-content: space-between; align-items: center; user-select: none; padding: 1.2rem 1rem; border-radius: 0.4rem; border-bottom: 1px solid var(--color-neutral-200); cursor: pointer; &:hover { text-decoration: underline; } `; export const AccordionSubtitleCss = css` margin: 0; `; export const AccordionContentCss = css` display: grid; grid-template-rows: 0fr; transition-property: grid-template-rows; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 200ms; .accordion__clipped { overflow: hidden; } .accordion__inner { padding: 1rem 0.75rem; } &[data-enter] { grid-template-rows: 1fr; } `; export const accordionVariants = { default: { accordion: AccordionCss, group: AccordionGroupCss, content: AccordionContentCss, subtitle: AccordionSubtitleCss, title: AccordionTitleCss, }, }; export type IAccordionVariants = VariantOfType;