/* Data Table pattern: wrappers around the Table primitive. Header / cell / row looks are src/theme/table.css; Checkbox, Pagination, Select, Dropdown Menu, Button and Skeleton keep their own tokens. Only the footer layout, summary text, sort button, empty and loading cells are here. */ :root, [data-hm-theme] { --hm-data-table-footer-gap: 12px; --hm-data-table-footer-padding-top: 12px; --hm-data-table-summary-color: var(--hm-sem-fg-secondary); --hm-data-table-summary-font-size: 13px; --hm-data-table-sort-gap: 4px; --hm-data-table-sort-icon-size: 14px; --hm-data-table-sort-active-color: var(--hm-sem-palette-green-light-3); --hm-data-table-empty-padding-y: 48px; --hm-data-table-empty-color: var(--hm-sem-fg-secondary); --hm-data-table-skeleton-height: 16px; } /* min-width 0 lets the Table container scroll sideways inside a grid / flex parent instead of widening the page. */ [data-slot="data-table"] { min-width: 0; } [data-slot="data-table-footer"] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--hm-data-table-footer-gap); padding-top: var(--hm-data-table-footer-padding-top); } [data-slot="data-table-summary"] { margin: 0; margin-right: auto; color: var(--hm-data-table-summary-color); font-size: var(--hm-data-table-summary-font-size); } [data-slot="data-table-page-size"] { display: inline-flex; align-items: center; gap: 8px; color: var(--hm-data-table-summary-color); font-size: var(--hm-data-table-summary-font-size); } [data-slot="data-table-footer"] [data-slot="data-table-pagination"] { width: auto; margin: 0; } [data-slot="data-table-sort"] { gap: var(--hm-data-table-sort-gap); font: inherit; color: inherit; cursor: pointer; } [data-slot="data-table-sort"] svg { width: var(--hm-data-table-sort-icon-size); height: var(--hm-data-table-sort-icon-size); opacity: 0.6; } [data-slot="data-table-sort"][data-sorted] svg { opacity: 1; color: var(--hm-data-table-sort-active-color); } [data-slot="data-table-sort"]:focus-visible { outline: 2px solid var(--hm-sem-stroke-input-focus); outline-offset: 2px; border-radius: 2px; } [data-slot="data-table-empty"] { padding-top: var(--hm-data-table-empty-padding-y); padding-bottom: var(--hm-data-table-empty-padding-y); text-align: center; color: var(--hm-data-table-empty-color); } [data-slot="data-table-skeleton"] { height: var(--hm-data-table-skeleton-height); width: 100%; }