UNPKG

@penaprieto/design-system

Version:

Multi-brand React design system with design tokens from Figma

97 lines (83 loc) 2.39 kB
/* Base Accordion */ .ds-accordion { display: flex; flex-direction: column; border: 1px solid var(--semantic-border-default-default); border-radius: var(--br-sm, 8px); overflow: hidden; -webkit-font-smoothing: antialiased; } /* Item */ .ds-accordion__item { border-bottom: 1px solid var(--semantic-border-default-subtle); } .ds-accordion__item:last-child { border-bottom: none; } /* Header */ .ds-accordion__header { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: var(--size4, 16px) var(--size5, 24px); background-color: var(--semantic-bg-surface-default); border: none; cursor: pointer; transition: background-color 0.2s ease-in-out; text-align: left; } .ds-accordion__header:hover:not(:disabled) { background-color: var(--dropdown-bg-hover); } .ds-accordion__header:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--semantic-focus-corp); } .ds-accordion__header:disabled { cursor: not-allowed; opacity: 0.5; } /* Title */ .ds-accordion__title { font-family: var(--body-regular-fontFamily, var(--font-family, 'Satoshi', sans-serif)); font-size: var(--body-regular-fontSize, 16px); font-weight: var(--body-regular-strong-fontWeight, 700); line-height: var(--body-regular-lineHeight, 150%); color: var(--semantic-text-corp-primary); } /* Icon */ .ds-accordion__icon { display: flex; align-items: center; justify-content: center; color: var(--semantic-icon-default-default); transition: transform 0.2s ease-in-out; flex-shrink: 0; } .ds-accordion__item--expanded .ds-accordion__icon { transform: rotate(180deg); } /* Content */ .ds-accordion__content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-in-out; } .ds-accordion__item--expanded .ds-accordion__content { max-height: 1000px; } /* Body */ .ds-accordion__body { padding: var(--size4, 16px) var(--size5, 24px); font-family: var(--body-regular-fontFamily, var(--font-family, 'Satoshi', sans-serif)); font-size: var(--body-regular-fontSize, 16px); font-weight: var(--body-regular-fontWeight, 400); line-height: var(--body-regular-lineHeight, 150%); color: var(--semantic-text-corp-secondary); } /* Disabled */ .ds-accordion__item--disabled .ds-accordion__title, .ds-accordion__item--disabled .ds-accordion__icon { color: var(--semantic-text-corp-disabled); }