Files
HMDesign/packages/ui/src/theme/accordion.css
T

68 lines
2.5 KiB
CSS

/* Accordion mapping. ui-viz lists Accordion only as a component name (no spec), so these are current HM values built from the HM
Semantic tokens. Items are separated by a 1px divider; no outer box. Radix attributes drive the states (data-state, data-disabled);
the open / close animation and the chevron rotation stay the shadcn ones. */
:root, [data-hm-theme] {
--hm-accordion-text: var(--hm-sem-fg-primary);
--hm-accordion-content-text: var(--hm-sem-fg-primary);
--hm-accordion-divider-width: 1px;
--hm-accordion-divider-color: var(--hm-sem-stroke-input-default);
--hm-accordion-trigger-min-height: 48px;
--hm-accordion-trigger-padding-y: 12px;
--hm-accordion-trigger-gap: 16px;
--hm-accordion-trigger-font-size: 16px;
--hm-accordion-trigger-line-height: 24px;
--hm-accordion-trigger-font-weight: 500;
--hm-accordion-icon-size: 20px;
--hm-accordion-icon-color: var(--hm-sem-fg-secondary);
--hm-accordion-content-font-size: 14px;
--hm-accordion-content-line-height: 20px;
--hm-accordion-content-padding-bottom: 16px;
/* Current HM value for this component only; not a global Disabled rule. */
--hm-accordion-disabled-opacity: 0.6;
}
[data-slot="accordion-item"] {
border-bottom: var(--hm-accordion-divider-width) solid var(--hm-accordion-divider-color);
}
[data-slot="accordion-item"]:last-child {
border-bottom: 0;
}
[data-slot="accordion-trigger"] {
box-sizing: border-box;
min-height: var(--hm-accordion-trigger-min-height);
padding: var(--hm-accordion-trigger-padding-y) 0;
gap: var(--hm-accordion-trigger-gap);
align-items: center;
color: var(--hm-accordion-text);
font-size: var(--hm-accordion-trigger-font-size);
line-height: var(--hm-accordion-trigger-line-height);
font-weight: var(--hm-accordion-trigger-font-weight);
overflow-wrap: anywhere;
cursor: pointer;
}
[data-slot="accordion-trigger"]:hover:not(:disabled) {
background: color-mix(in srgb, var(--hm-sem-palette-black) 5%, transparent);
}
[data-slot="accordion-trigger"]:disabled {
opacity: var(--hm-accordion-disabled-opacity);
cursor: not-allowed;
}
[data-slot="accordion-trigger-icon"] {
width: var(--hm-accordion-icon-size);
height: var(--hm-accordion-icon-size);
color: var(--hm-accordion-icon-color);
}
[data-slot="accordion-content-inner"] {
padding-bottom: var(--hm-accordion-content-padding-bottom);
color: var(--hm-accordion-content-text);
font-size: var(--hm-accordion-content-font-size);
line-height: var(--hm-accordion-content-line-height);
font-weight: 400;
overflow-wrap: anywhere;
}