| /* |
| * Copyright (C) 2013-2020 Apple Inc. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions |
| * are met: |
| * 1. Redistributions of source code must retain the above copyright |
| * notice, this list of conditions and the following disclaimer. |
| * 2. Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. |
| * |
| * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' |
| * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
| * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS |
| * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
| * THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| |
| .table { |
| position: relative; |
| outline: none; |
| width: 100%; |
| height: 100%; |
| background: var(--background-color); |
| |
| --table-column-border-start: 1px solid transparent; |
| --table-column-border-end: 1px solid var(--border-color); |
| } |
| |
| .table > .header { |
| position: sticky; |
| top: 0; |
| height: var(--navigation-bar-height); |
| line-height: calc(var(--navigation-bar-height) - 1px); |
| border-bottom: 1px solid var(--border-color); |
| background: var(--background-color); |
| overflow-x: hidden; |
| vertical-align: middle; |
| white-space: nowrap; |
| } |
| |
| .table > .header > .sortable:active { |
| background-color: var(--background-color-pressed); |
| } |
| |
| .table > .header > :matches(.sort-ascending, .sort-descending) { |
| font-weight: var(--sorted-header-font-weight); |
| padding-inline-end: 18px; |
| } |
| |
| .table > .header > :matches(.sort-ascending, .sort-descending)::after { |
| position: absolute; |
| top: 1px; |
| bottom: 0; |
| inset-inline-end: 6px; |
| width: 9px; |
| height: 8px; |
| margin-bottom: auto; |
| margin-top: auto; |
| content: ""; |
| background-size: 9px 8px; |
| background-repeat: no-repeat; |
| } |
| |
| .table > .header > .sort-ascending::after { |
| background-image: url(../Images/SortIndicatorArrows.svg#up-arrow-normal); |
| } |
| |
| .table > .header > .sort-descending::after { |
| background-image: url(../Images/SortIndicatorArrows.svg#down-arrow-normal); |
| } |
| |
| .table > .data-container { |
| position: absolute; |
| top: var(--navigation-bar-height); |
| bottom: 0; |
| left: 0; |
| right: 0; |
| overflow-x: hidden; |
| overflow-y: scroll; |
| } |
| |
| .table > .resizers { |
| position: absolute; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| pointer-events: none; |
| } |
| |
| .table > .data-container.not-scrollable { |
| overflow-y: hidden; |
| } |
| |
| .table > .data-container > .data-list { |
| list-style-type: none; |
| padding: 0; |
| margin: 0; |
| min-height: 100%; |
| |
| background-image: linear-gradient(to bottom, var(--odd-zebra-stripe-row-background-color), var(--odd-zebra-stripe-row-background-color) 50%, var(--even-zebra-stripe-row-background-color) 50%, var(--even-zebra-stripe-row-background-color)); |
| background-size: 100% 40px; |
| } |
| |
| .table > .data-container > .data-list.even-first-zebra-stripe { |
| background-image: linear-gradient(to bottom, var(--even-zebra-stripe-row-background-color), var(--even-zebra-stripe-row-background-color) 50%, var(--odd-zebra-stripe-row-background-color) 50%, var(--odd-zebra-stripe-row-background-color)); |
| } |
| |
| .table > .data-container > .data-list > li { |
| height: 20px; |
| line-height: 20px; |
| vertical-align: middle; |
| white-space: nowrap; |
| border-bottom: solid 1px transparent; |
| } |
| |
| .table > .data-container > .data-list > li.selected { |
| background-color: var(--selected-background-color-unfocused) !important; |
| color: inherit !important; |
| background-clip: padding-box; |
| } |
| |
| .table:focus > .data-container > .data-list li.selected { |
| background-color: var(--selected-background-color) !important; |
| color: var(--selected-foreground-color) !important; |
| } |
| |
| .table .cell { |
| position: relative; |
| display: inline-block; |
| padding: 0 6px; |
| white-space: nowrap; |
| text-overflow: ellipsis; |
| overflow: hidden; |
| } |
| |
| .table > .header .cell { |
| padding-top: var(--table-header-cell-vertical-padding); |
| padding-bottom: var(--table-header-cell-vertical-padding); |
| line-height: calc(var(--navigation-bar-height) - 1px - 2 * var(--table-header-cell-vertical-padding)); |
| |
| --table-header-cell-vertical-padding: 4px; |
| } |
| |
| .table > .header .cell:not(:first-child)::before { |
| content: ""; |
| position: absolute; |
| top: var(--table-header-cell-vertical-padding); |
| bottom: var(--table-header-cell-vertical-padding); |
| inset-inline-start: 0; |
| width: 1px; |
| background-color: var(--separator-color); |
| } |
| |
| .table > .header .cell:not(:first-child):active::before, |
| .table > .header .cell:active + .cell::before { |
| top: 0; |
| bottom: 0; |
| } |
| |
| .table .cell.align-right { |
| text-align: right; |
| } |
| |
| .table .cell.align-left { |
| text-align: left; |
| } |
| |
| .table .cell.align-center { |
| text-align: center; |
| } |
| |
| @media (prefers-color-scheme: dark) { |
| .table > .header > :matches(.sort-ascending, .sort-descending)::after { |
| filter: invert(); |
| } |
| } |