@xplortech/apollo-react 2.7.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/apollo.css +220 -951
- package/dist/components.d.ts +0 -5
- package/dist/components.js +0 -5
- package/dist/components.js.map +1 -1
- package/package.json +10 -3
package/css/apollo.css
CHANGED
|
@@ -4515,10 +4515,16 @@ button.xpl-button--loading.xpl-button--tertiary,
|
|
|
4515
4515
|
/* @floating/ui now calculates the position for the dropdown */
|
|
4516
4516
|
|
|
4517
4517
|
.xpl-dropdown--anchor-to-trigger {
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4518
|
+
will-change: transform;
|
|
4519
|
+
|
|
4520
|
+
/* Cancel base `-translate-y-2` / `--open` `translate-y-2`; Floating UI owns `transform`. */
|
|
4521
|
+
|
|
4522
|
+
position: fixed;
|
|
4523
|
+
|
|
4524
|
+
margin: 0px;
|
|
4525
|
+
|
|
4526
|
+
transform: none;
|
|
4527
|
+
}
|
|
4522
4528
|
|
|
4523
4529
|
.xpl-dropdown--above {
|
|
4524
4530
|
margin-top: 0px;
|
|
@@ -4663,38 +4669,28 @@ button.xpl-button--loading.xpl-button--tertiary,
|
|
|
4663
4669
|
.xpl-dynamic-table-cell {
|
|
4664
4670
|
border-right-width: 1px;
|
|
4665
4671
|
border-bottom-width: 1px;
|
|
4672
|
+
border-color: var(--xpl-color-gray-400);
|
|
4666
4673
|
vertical-align: middle;
|
|
4667
4674
|
display: flex;
|
|
4675
|
+
height: 3.5rem;
|
|
4676
|
+
min-width: 3rem;
|
|
4668
4677
|
align-items: center;
|
|
4669
4678
|
justify-content: center;
|
|
4670
4679
|
overflow: hidden;
|
|
4671
4680
|
text-overflow: ellipsis;
|
|
4672
4681
|
white-space: nowrap;
|
|
4673
4682
|
overflow-wrap: break-word;
|
|
4683
|
+
padding: 1rem;
|
|
4674
4684
|
text-align: left;
|
|
4675
4685
|
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
background-color: var(--xpl-background-surface-default);
|
|
4680
|
-
color: var(--xpl-text-default);
|
|
4681
|
-
font-family: var(--xpl-font-family-default);
|
|
4682
|
-
font-size: var(--xpl-font-size-title-5);
|
|
4686
|
+
background-color: var(--xpl-color-foreground-lm);
|
|
4687
|
+
color: var(--xpl-color-text-primary-lm);
|
|
4688
|
+
font-size: var(--xpl-size-font-title-5);
|
|
4683
4689
|
font-weight: var(--xpl-font-weight-medium);
|
|
4684
4690
|
}
|
|
4685
4691
|
|
|
4686
|
-
.xpl-dynamic-table-cell:has(button[dropdown]) {
|
|
4687
|
-
padding: 0;
|
|
4688
|
-
}
|
|
4689
|
-
|
|
4690
|
-
/* Checkbox-only column: Figma py-20 / px-16 */
|
|
4691
|
-
|
|
4692
|
-
.xpl-dynamic-table-cell:has(> xpl-checkbox:first-child:last-child) {
|
|
4693
|
-
padding: calc(var(--xpl-space-16) + var(--xpl-space-4)) var(--xpl-space-16);
|
|
4694
|
-
}
|
|
4695
|
-
|
|
4696
4692
|
.xpl-dynamic-table-cell .xpl-checkbox-radio-container {
|
|
4697
|
-
margin-bottom:
|
|
4693
|
+
margin-bottom: 0.25rem;
|
|
4698
4694
|
}
|
|
4699
4695
|
|
|
4700
4696
|
.xpl-dynamic-table-cell .xpl-checkbox-radio-container .xpl-label {
|
|
@@ -4702,8 +4698,8 @@ button.xpl-button--loading.xpl-button--tertiary,
|
|
|
4702
4698
|
}
|
|
4703
4699
|
|
|
4704
4700
|
.xpl-dynamic-table-cell xpl-avatar {
|
|
4705
|
-
|
|
4706
|
-
|
|
4701
|
+
padding-right: 0.5rem;
|
|
4702
|
+
}
|
|
4707
4703
|
|
|
4708
4704
|
.xpl-dynamic-table-cell button[dropdown] {
|
|
4709
4705
|
display: flex;
|
|
@@ -4712,25 +4708,22 @@ button.xpl-button--loading.xpl-button--tertiary,
|
|
|
4712
4708
|
flex-direction: row;
|
|
4713
4709
|
align-items: center;
|
|
4714
4710
|
justify-content: center;
|
|
4711
|
+
padding: 1rem;
|
|
4715
4712
|
outline: 2px solid transparent;
|
|
4716
4713
|
outline-offset: 2px;
|
|
4717
|
-
|
|
4718
|
-
padding: calc(var(--xpl-space-10) + 1px) var(--xpl-space-16);
|
|
4719
4714
|
}
|
|
4720
4715
|
|
|
4721
4716
|
.xpl-dynamic-table-cell button[dropdown] xpl-icon {
|
|
4722
|
-
|
|
4723
|
-
|
|
4717
|
+
margin-left: 0.5rem;
|
|
4718
|
+
}
|
|
4724
4719
|
|
|
4725
|
-
.xpl-dynamic-table-cell button[dropdown]:focus
|
|
4726
|
-
|
|
4727
|
-
outline-width: 2px;
|
|
4728
|
-
outline-offset: 2px;
|
|
4720
|
+
.xpl-dynamic-table-cell button[dropdown]:focus {
|
|
4721
|
+
box-shadow: inset 0 0 0 1px var(--xpl-color-purple-700);
|
|
4729
4722
|
}
|
|
4730
4723
|
|
|
4731
4724
|
.xpl-dynamic-table-cell button[dropdown]:disabled {
|
|
4732
|
-
|
|
4733
|
-
}
|
|
4725
|
+
cursor: not-allowed;
|
|
4726
|
+
}
|
|
4734
4727
|
|
|
4735
4728
|
.xpl-dynamic-table-cell span:not(button[dropdown] span) {
|
|
4736
4729
|
margin-right: auto;
|
|
@@ -4744,23 +4737,62 @@ button.xpl-button--loading.xpl-button--tertiary,
|
|
|
4744
4737
|
overflow-wrap: break-word;
|
|
4745
4738
|
}
|
|
4746
4739
|
|
|
4740
|
+
.dark .xpl-dynamic-table-cell {
|
|
4741
|
+
border-color: var(--xpl-color-gray-600);
|
|
4742
|
+
|
|
4743
|
+
background-color: var(--xpl-color-foreground-dm);
|
|
4744
|
+
color: var(--xpl-color-gray-50);
|
|
4745
|
+
}
|
|
4746
|
+
|
|
4747
|
+
.dark .xpl-dynamic-table-cell button[dropdown] {
|
|
4748
|
+
display: flex;
|
|
4749
|
+
align-items: center;
|
|
4750
|
+
justify-content: center;
|
|
4751
|
+
}
|
|
4752
|
+
|
|
4753
|
+
.dark .xpl-dynamic-table-cell button[dropdown]:focus {
|
|
4754
|
+
box-shadow: inset 0 0 0 1px var(--xpl-color-purple-500);
|
|
4755
|
+
}
|
|
4756
|
+
|
|
4757
|
+
.xpl-dynamic-table-cell:has(button[dropdown]) {
|
|
4758
|
+
padding: 0;
|
|
4759
|
+
}
|
|
4760
|
+
|
|
4747
4761
|
.xpl-dynamic-table-row {
|
|
4748
4762
|
display: contents;
|
|
4749
4763
|
}
|
|
4750
4764
|
|
|
4751
4765
|
.xpl-dynamic-table-row > *:first-child {
|
|
4752
|
-
|
|
4753
|
-
|
|
4766
|
+
border-left-width: 1px;
|
|
4767
|
+
border-color: var(--xpl-color-gray-400);
|
|
4768
|
+
}
|
|
4754
4769
|
|
|
4755
4770
|
.xpl-dynamic-table-row.selected .xpl-dynamic-table-cell {
|
|
4756
|
-
background-color: var(--xpl-
|
|
4771
|
+
background-color: var(--xpl-color-purple-50);
|
|
4757
4772
|
}
|
|
4758
4773
|
|
|
4759
4774
|
.xpl-dynamic-table-row.disabled .xpl-dynamic-table-cell {
|
|
4760
|
-
background-color: var(--xpl-
|
|
4761
|
-
color: var(--xpl-
|
|
4775
|
+
background-color: var(--xpl-color-gray-50);
|
|
4776
|
+
color: var(--xpl-color-gray-500);
|
|
4777
|
+
}
|
|
4778
|
+
|
|
4779
|
+
.dark .xpl-dynamic-table-row > *:first-child {
|
|
4780
|
+
border-color: var(--xpl-color-gray-600);
|
|
4781
|
+
}
|
|
4782
|
+
|
|
4783
|
+
.dark .xpl-dynamic-table-row.selected .xpl-dynamic-table-cell {
|
|
4784
|
+
background-color: var(--xpl-color-gray-700);
|
|
4785
|
+
}
|
|
4786
|
+
|
|
4787
|
+
.dark .xpl-dynamic-table-row.disabled .xpl-dynamic-table-cell {
|
|
4788
|
+
background-color: var(--xpl-color-gray-900);
|
|
4789
|
+
color: var(--xpl-color-gray-500);
|
|
4762
4790
|
}
|
|
4763
4791
|
|
|
4792
|
+
.dark .xpl-dynamic-table-row.disabled .xpl-dynamic-table-cell .xpl-badge {
|
|
4793
|
+
color: var(--xpl-color-gray-500);
|
|
4794
|
+
}
|
|
4795
|
+
|
|
4764
4796
|
/* stylelint-disable color-no-hex -- third-party flatpickr overrides; hex values are intentional. Flatpickr overrides */
|
|
4765
4797
|
|
|
4766
4798
|
[class^="flatpickr-"] {
|
|
@@ -5364,37 +5396,6 @@ span.flatpickr-weekday {
|
|
|
5364
5396
|
grid-template-columns: var(--column-widths);
|
|
5365
5397
|
}
|
|
5366
5398
|
|
|
5367
|
-
/*
|
|
5368
|
-
* Slotted table rows live in the light DOM (not under .content--shown), so corner radius
|
|
5369
|
-
* is keyed off the host expanded class.
|
|
5370
|
-
*/
|
|
5371
|
-
|
|
5372
|
-
.xpl-header-accordion--expanded
|
|
5373
|
-
xpl-table-body
|
|
5374
|
-
> xpl-table-row:last-child
|
|
5375
|
-
> xpl-table-cell:first-child {
|
|
5376
|
-
border-bottom-left-radius: var(--xpl-border-radius-default);
|
|
5377
|
-
}
|
|
5378
|
-
|
|
5379
|
-
.xpl-header-accordion--expanded
|
|
5380
|
-
xpl-table-body
|
|
5381
|
-
> xpl-table-row:last-child
|
|
5382
|
-
> xpl-table-cell:last-child {
|
|
5383
|
-
border-bottom-right-radius: var(--xpl-border-radius-default);
|
|
5384
|
-
}
|
|
5385
|
-
|
|
5386
|
-
.xpl-header-accordion--expanded
|
|
5387
|
-
xpl-dynamic-table-row:last-child
|
|
5388
|
-
> xpl-dynamic-table-cell:first-child {
|
|
5389
|
-
border-bottom-left-radius: var(--xpl-border-radius-default);
|
|
5390
|
-
}
|
|
5391
|
-
|
|
5392
|
-
.xpl-header-accordion--expanded
|
|
5393
|
-
xpl-dynamic-table-row:last-child
|
|
5394
|
-
> xpl-dynamic-table-cell:last-child {
|
|
5395
|
-
border-bottom-right-radius: var(--xpl-border-radius-default);
|
|
5396
|
-
}
|
|
5397
|
-
|
|
5398
5399
|
.dark .xpl-header-accordion .header-accordion {
|
|
5399
5400
|
background-color: var(--xpl-color-background-dm);
|
|
5400
5401
|
border-color: var(--xpl-color-gray-600);
|
|
@@ -8936,274 +8937,13 @@ span.xpl-placeholder--hidden,
|
|
|
8936
8937
|
}
|
|
8937
8938
|
}
|
|
8938
8939
|
|
|
8939
|
-
/*
|
|
8940
|
-
* xpl-table styles
|
|
8941
|
-
*
|
|
8942
|
-
* Supports two rendering modes:
|
|
8943
|
-
* 1. Compositional (CSS grid): .xpl-table without .xpl-table--legacy
|
|
8944
|
-
* 2. Legacy data-driven: .xpl-table--legacy (native <table> markup)
|
|
8945
|
-
*
|
|
8946
|
-
* The legacy path preserves backward compatibility and will be removed in a
|
|
8947
|
-
* future major release.
|
|
8948
|
-
*/
|
|
8949
|
-
|
|
8950
|
-
/* --------------------------------------------------------------------------
|
|
8951
|
-
* Compositional grid mode
|
|
8952
|
-
* -------------------------------------------------------------------------- */
|
|
8953
|
-
|
|
8954
|
-
.xpl-table:not(.xpl-table--legacy) {
|
|
8955
|
-
display: grid;
|
|
8956
|
-
|
|
8957
|
-
grid-template-columns: var(--column-widths);
|
|
8958
|
-
border: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
8959
|
-
border-radius: var(--xpl-border-radius-default);
|
|
8960
|
-
overflow: auto;
|
|
8961
|
-
--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
8962
|
-
--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
|
|
8963
|
-
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
8964
|
-
}
|
|
8965
|
-
|
|
8966
|
-
/* Nested inside xpl-header-accordion: outer card draws border + radius; table is flush grid */
|
|
8967
|
-
|
|
8968
|
-
.xpl-header-accordion .xpl-table:not(.xpl-table--legacy) {
|
|
8969
|
-
/* Keep side + bottom frame inside accordion; suppress top to avoid double rule under accordion header. */
|
|
8970
|
-
border-top: none;
|
|
8971
|
-
border-right: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
8972
|
-
border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
8973
|
-
border-left: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
8974
|
-
border-radius: 0;
|
|
8975
|
-
box-shadow: none;
|
|
8976
|
-
}
|
|
8977
|
-
|
|
8978
|
-
/* Visually hidden assertive live region for row reorder announcements (compositional `row-reorderable`). */
|
|
8979
|
-
|
|
8980
|
-
.xpl-table:not(.xpl-table--legacy) > .xpl-table__reorder-live {
|
|
8981
|
-
grid-column: 1 / -1;
|
|
8982
|
-
position: absolute;
|
|
8983
|
-
width: 1px;
|
|
8984
|
-
height: 1px;
|
|
8985
|
-
padding: 0;
|
|
8986
|
-
margin: -1px;
|
|
8987
|
-
overflow: hidden;
|
|
8988
|
-
clip: rect(0, 0, 0, 0);
|
|
8989
|
-
white-space: nowrap;
|
|
8990
|
-
border-width: 0;
|
|
8991
|
-
}
|
|
8992
|
-
|
|
8993
|
-
/* Selection bulk-action toolbar (same structure/classes as `xpl-toolbar`); full width, sticky while scrolling. */
|
|
8994
|
-
|
|
8995
|
-
.xpl-table:not(.xpl-table--legacy) > .xpl-table__toolbar {
|
|
8996
|
-
grid-column: 1 / -1;
|
|
8997
|
-
position: sticky;
|
|
8998
|
-
top: 0px;
|
|
8999
|
-
|
|
9000
|
-
z-index: var(--xpl-z-index-200);
|
|
9001
|
-
}
|
|
9002
|
-
|
|
9003
|
-
/* Outer host already draws the top border; avoid a double line under the rounded top edge. */
|
|
9004
|
-
|
|
9005
|
-
.xpl-table:not(.xpl-table--legacy) > .xpl-table__toolbar .toolbar {
|
|
9006
|
-
border-top: none;
|
|
9007
|
-
max-height: var(--xpl-size-350);
|
|
9008
|
-
|
|
9009
|
-
/* Figma: 56px bar height with 12px vertical / 24px horizontal padding; 16px gaps come from toolbar.css */
|
|
9010
|
-
min-height: var(--xpl-size-350);
|
|
9011
|
-
box-sizing: border-box;
|
|
9012
|
-
}
|
|
9013
|
-
|
|
9014
|
-
/* Match `xpl-toolbar`: push right-slot actions to the end (slot name differs on the table host). */
|
|
9015
|
-
|
|
9016
|
-
.xpl-table__toolbar .actions [slot="toolbar-actions-right"]:first-child {
|
|
9017
|
-
margin-left: auto;
|
|
9018
|
-
}
|
|
9019
|
-
|
|
9020
|
-
.xpl-table-container {
|
|
9021
|
-
overflow: auto;
|
|
9022
|
-
|
|
9023
|
-
border: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9024
|
-
border-radius: var(--xpl-border-radius-default);
|
|
9025
|
-
--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
9026
|
-
--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
|
|
9027
|
-
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
9028
|
-
}
|
|
9029
|
-
|
|
9030
|
-
/*
|
|
9031
|
-
* Freeze: sticky first *data* column (compositional grid).
|
|
9032
|
-
* Leading selection and/or row-reorder columns are not frozen — they scroll horizontally;
|
|
9033
|
-
* `nth-child` skips 0–2 leading cells when `xpl-table--selectable` / `xpl-table--row-reorderable` are set.
|
|
9034
|
-
*/
|
|
9035
|
-
|
|
9036
|
-
.xpl-table--freeze:not(.xpl-table--legacy):not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-header-cell:first-child,
|
|
9037
|
-
.xpl-table--freeze:not(.xpl-table--legacy):not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-cell:first-child,
|
|
9038
|
-
.xpl-table--freeze:not(.xpl-table--legacy):not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-footer-cell:first-child {
|
|
9039
|
-
position: sticky;
|
|
9040
|
-
left: 0px;
|
|
9041
|
-
|
|
9042
|
-
z-index: var(--xpl-z-index-100);
|
|
9043
|
-
}
|
|
9044
|
-
|
|
9045
|
-
.xpl-table--freeze:not(.xpl-table--legacy):not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-header-cell:first-child::after, .xpl-table--freeze:not(.xpl-table--legacy):not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-cell:first-child::after, .xpl-table--freeze:not(.xpl-table--legacy):not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-footer-cell:first-child::after {
|
|
9046
|
-
content: "";
|
|
9047
|
-
width: var(--xpl-space-24);
|
|
9048
|
-
position: absolute;
|
|
9049
|
-
left: 100%;
|
|
9050
|
-
top: 0px;
|
|
9051
|
-
display: block;
|
|
9052
|
-
height: 100%;
|
|
9053
|
-
opacity: 0;
|
|
9054
|
-
transition-property: opacity;
|
|
9055
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
9056
|
-
transition-duration: 150ms;
|
|
9057
|
-
|
|
9058
|
-
background: linear-gradient(
|
|
9059
|
-
90deg,
|
|
9060
|
-
var(--xpl-background-surface-transparent-10) 0%,
|
|
9061
|
-
var(--xpl-background-surface-transparent-0) 100%
|
|
9062
|
-
);
|
|
9063
|
-
}
|
|
9064
|
-
|
|
9065
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--selectable.xpl-table--row-reorderable .xpl-table-header-cell:nth-child(3),
|
|
9066
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--selectable.xpl-table--row-reorderable .xpl-table-cell:nth-child(3),
|
|
9067
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--selectable.xpl-table--row-reorderable .xpl-table-footer-cell:nth-child(3) {
|
|
9068
|
-
position: sticky;
|
|
9069
|
-
left: 0px;
|
|
9070
|
-
|
|
9071
|
-
z-index: var(--xpl-z-index-100);
|
|
9072
|
-
}
|
|
9073
|
-
|
|
9074
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--selectable.xpl-table--row-reorderable .xpl-table-header-cell:nth-child(3)::after, .xpl-table--freeze:not(.xpl-table--legacy).xpl-table--selectable.xpl-table--row-reorderable .xpl-table-cell:nth-child(3)::after, .xpl-table--freeze:not(.xpl-table--legacy).xpl-table--selectable.xpl-table--row-reorderable .xpl-table-footer-cell:nth-child(3)::after {
|
|
9075
|
-
content: "";
|
|
9076
|
-
width: var(--xpl-space-24);
|
|
9077
|
-
position: absolute;
|
|
9078
|
-
left: 100%;
|
|
9079
|
-
top: 0px;
|
|
9080
|
-
display: block;
|
|
9081
|
-
height: 100%;
|
|
9082
|
-
opacity: 0;
|
|
9083
|
-
transition-property: opacity;
|
|
9084
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
9085
|
-
transition-duration: 150ms;
|
|
9086
|
-
|
|
9087
|
-
background: linear-gradient(
|
|
9088
|
-
90deg,
|
|
9089
|
-
var(--xpl-background-surface-transparent-10) 0%,
|
|
9090
|
-
var(--xpl-background-surface-transparent-0) 100%
|
|
9091
|
-
);
|
|
9092
|
-
}
|
|
9093
|
-
|
|
9094
|
-
.xpl-table--freeze:not(.xpl-table--legacy):is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9095
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9096
|
-
) .xpl-table-header-cell:nth-child(2),
|
|
9097
|
-
.xpl-table--freeze:not(.xpl-table--legacy):is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9098
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9099
|
-
) .xpl-table-cell:nth-child(2),
|
|
9100
|
-
.xpl-table--freeze:not(.xpl-table--legacy):is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9101
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9102
|
-
) .xpl-table-footer-cell:nth-child(2) {
|
|
9103
|
-
position: sticky;
|
|
9104
|
-
left: 0px;
|
|
9105
|
-
|
|
9106
|
-
z-index: var(--xpl-z-index-100);
|
|
9107
|
-
}
|
|
9108
|
-
|
|
9109
|
-
.xpl-table--freeze:not(.xpl-table--legacy):is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9110
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9111
|
-
) .xpl-table-header-cell:nth-child(2)::after, .xpl-table--freeze:not(.xpl-table--legacy):is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9112
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9113
|
-
) .xpl-table-cell:nth-child(2)::after, .xpl-table--freeze:not(.xpl-table--legacy):is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9114
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9115
|
-
) .xpl-table-footer-cell:nth-child(2)::after {
|
|
9116
|
-
content: "";
|
|
9117
|
-
width: var(--xpl-space-24);
|
|
9118
|
-
position: absolute;
|
|
9119
|
-
left: 100%;
|
|
9120
|
-
top: 0px;
|
|
9121
|
-
display: block;
|
|
9122
|
-
height: 100%;
|
|
9123
|
-
opacity: 0;
|
|
9124
|
-
transition-property: opacity;
|
|
9125
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
9126
|
-
transition-duration: 150ms;
|
|
9127
|
-
|
|
9128
|
-
background: linear-gradient(
|
|
9129
|
-
90deg,
|
|
9130
|
-
var(--xpl-background-surface-transparent-10) 0%,
|
|
9131
|
-
var(--xpl-background-surface-transparent-0) 100%
|
|
9132
|
-
);
|
|
9133
|
-
}
|
|
9134
|
-
|
|
9135
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled:not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-header-cell:first-child::after,
|
|
9136
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled:not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-cell:first-child::after,
|
|
9137
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled:not(.xpl-table--selectable, .xpl-table--row-reorderable) .xpl-table-footer-cell:first-child::after {
|
|
9138
|
-
opacity: 1;
|
|
9139
|
-
}
|
|
9140
|
-
|
|
9141
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled.xpl-table--selectable.xpl-table--row-reorderable .xpl-table-header-cell:nth-child(3)::after,
|
|
9142
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled.xpl-table--selectable.xpl-table--row-reorderable .xpl-table-cell:nth-child(3)::after,
|
|
9143
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled.xpl-table--selectable.xpl-table--row-reorderable .xpl-table-footer-cell:nth-child(3)::after {
|
|
9144
|
-
opacity: 1;
|
|
9145
|
-
}
|
|
9146
|
-
|
|
9147
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled:is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9148
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9149
|
-
) .xpl-table-header-cell:nth-child(2)::after,
|
|
9150
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled:is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9151
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9152
|
-
) .xpl-table-cell:nth-child(2)::after,
|
|
9153
|
-
.xpl-table--freeze:not(.xpl-table--legacy).xpl-table--has-scrolled:is(.xpl-table--selectable, .xpl-table--row-reorderable):not(
|
|
9154
|
-
.xpl-table--selectable.xpl-table--row-reorderable
|
|
9155
|
-
) .xpl-table-footer-cell:nth-child(2)::after {
|
|
9156
|
-
opacity: 1;
|
|
9157
|
-
}
|
|
9158
|
-
|
|
9159
|
-
/*
|
|
9160
|
-
* Perimeter cell borders: outer host draws the frame; suppress duplicate edges on `:last-child` / last row.
|
|
9161
|
-
* Follows `.xpl-table--freeze` so `:first-child` sticky rules precede these `:last-child` resets.
|
|
9162
|
-
*/
|
|
9163
|
-
|
|
9164
|
-
/* stylelint-disable no-duplicate-selectors, no-descending-specificity -- second block merges perimeter into the same host selector as the grid rule above */
|
|
9165
|
-
|
|
9166
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-footer > xpl-table-row:last-of-type .xpl-table-footer-cell,
|
|
9167
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-footer > .xpl-table-row:last-of-type > .xpl-table-footer-cell {
|
|
9168
|
-
border-bottom: none;
|
|
9169
|
-
}
|
|
9170
|
-
|
|
9171
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-header > xpl-table-row .xpl-table-header-cell:last-child,
|
|
9172
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-header > .xpl-table-row > .xpl-table-header-cell:last-child,
|
|
9173
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-body > xpl-table-row .xpl-table-cell:last-child,
|
|
9174
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-body > .xpl-table-row > .xpl-table-cell:last-child,
|
|
9175
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-footer > xpl-table-row .xpl-table-footer-cell:last-child,
|
|
9176
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-footer > .xpl-table-row > .xpl-table-footer-cell:last-child {
|
|
9177
|
-
border-right: none;
|
|
9178
|
-
}
|
|
9179
|
-
|
|
9180
|
-
.xpl-table:not(.xpl-table--legacy, :has(.xpl-table-footer))
|
|
9181
|
-
.xpl-table-body
|
|
9182
|
-
> xpl-table-row:last-of-type
|
|
9183
|
-
.xpl-table-cell,
|
|
9184
|
-
.xpl-table:not(.xpl-table--legacy, :has(.xpl-table-footer))
|
|
9185
|
-
.xpl-table-body
|
|
9186
|
-
> .xpl-table-row:last-of-type
|
|
9187
|
-
> .xpl-table-cell {
|
|
9188
|
-
border-bottom: none;
|
|
9189
|
-
}
|
|
9190
|
-
|
|
9191
|
-
/* stylelint-enable no-duplicate-selectors, no-descending-specificity */
|
|
9192
|
-
|
|
9193
|
-
/* --------------------------------------------------------------------------
|
|
9194
|
-
* Legacy data-driven mode (native <table> markup)
|
|
9195
|
-
*
|
|
9196
|
-
* TODO: Remove in Phase 3 major release. These styles use deprecated tokens
|
|
9197
|
-
* and .dark overrides intentionally to preserve backward compatibility.
|
|
9198
|
-
* -------------------------------------------------------------------------- */
|
|
9199
|
-
|
|
9200
|
-
/* stylelint-disable color-no-hex, function-disallowed-list -- legacy path; will be removed */
|
|
8940
|
+
/* stylelint-disable color-no-hex, function-disallowed-list -- TODO: migrate to var(--xpl-*) tokens (see TECH_DEBT.md) */
|
|
9201
8941
|
|
|
9202
|
-
.xpl-table
|
|
8942
|
+
.xpl-table {
|
|
9203
8943
|
min-width: 100%;
|
|
9204
8944
|
}
|
|
9205
8945
|
|
|
9206
|
-
.xpl-table
|
|
8946
|
+
.xpl-table > :not(tfoot, [hidden]) ~ :not(tfoot, [hidden]) {
|
|
9207
8947
|
--tw-divide-y-reverse: 0;
|
|
9208
8948
|
--tw-divide-opacity: 1;
|
|
9209
8949
|
|
|
@@ -9212,15 +8952,33 @@ span.xpl-placeholder--hidden,
|
|
|
9212
8952
|
border-color: var(--xpl-color-gray-200);
|
|
9213
8953
|
}
|
|
9214
8954
|
|
|
9215
|
-
.dark .xpl-table
|
|
8955
|
+
.dark .xpl-table > :not(tfoot, [hidden]) ~ :not(tfoot, [hidden]) {
|
|
9216
8956
|
border-color: var(--xpl-color-gray-800);
|
|
9217
8957
|
}
|
|
9218
8958
|
|
|
9219
|
-
.xpl-table--
|
|
8959
|
+
.xpl-table--abs {
|
|
9220
8960
|
position: absolute;
|
|
9221
8961
|
}
|
|
9222
8962
|
|
|
9223
|
-
.xpl-table
|
|
8963
|
+
.xpl-table-container {
|
|
8964
|
+
overflow: auto;
|
|
8965
|
+
border-radius: 0.375rem;
|
|
8966
|
+
border-width: 1px;
|
|
8967
|
+
--tw-border-opacity: 1;
|
|
8968
|
+
border-color: rgb(238 239 243 / var(--tw-border-opacity, 1));
|
|
8969
|
+
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
8970
|
+
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
|
|
8971
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
8972
|
+
}
|
|
8973
|
+
|
|
8974
|
+
.dark .xpl-table-container {
|
|
8975
|
+
--tw-border-opacity: 1;
|
|
8976
|
+
border-color: rgb(54 50 64 / var(--tw-border-opacity, 1));
|
|
8977
|
+
--tw-bg-opacity: 1;
|
|
8978
|
+
background-color: rgb(48 45 59 / var(--tw-bg-opacity, 1));
|
|
8979
|
+
}
|
|
8980
|
+
|
|
8981
|
+
.xpl-table th {
|
|
9224
8982
|
white-space: nowrap;
|
|
9225
8983
|
padding-left: 1.5rem;
|
|
9226
8984
|
padding-right: 1.5rem;
|
|
@@ -9234,12 +8992,12 @@ span.xpl-placeholder--hidden,
|
|
|
9234
8992
|
color: rgb(153 155 168 / var(--tw-text-opacity, 1));
|
|
9235
8993
|
}
|
|
9236
8994
|
|
|
9237
|
-
.dark .xpl-table
|
|
8995
|
+
.dark .xpl-table th {
|
|
9238
8996
|
--tw-text-opacity: 1;
|
|
9239
8997
|
color: rgb(234 235 239 / var(--tw-text-opacity, 1));
|
|
9240
8998
|
}
|
|
9241
8999
|
|
|
9242
|
-
.xpl-table
|
|
9000
|
+
.xpl-table tr td {
|
|
9243
9001
|
white-space: nowrap;
|
|
9244
9002
|
padding-left: 1.5rem;
|
|
9245
9003
|
padding-right: 1.5rem;
|
|
@@ -9251,21 +9009,21 @@ span.xpl-placeholder--hidden,
|
|
|
9251
9009
|
color: rgb(153 155 168 / var(--tw-text-opacity, 1));
|
|
9252
9010
|
}
|
|
9253
9011
|
|
|
9254
|
-
.dark .xpl-table
|
|
9012
|
+
.dark .xpl-table tr td {
|
|
9255
9013
|
--tw-text-opacity: 1;
|
|
9256
9014
|
color: rgb(234 235 239 / var(--tw-text-opacity, 1));
|
|
9257
9015
|
}
|
|
9258
9016
|
|
|
9259
|
-
.xpl-table
|
|
9017
|
+
.xpl-table thead {
|
|
9260
9018
|
--tw-bg-opacity: 1;
|
|
9261
9019
|
background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1));
|
|
9262
9020
|
}
|
|
9263
9021
|
|
|
9264
|
-
.dark .xpl-table
|
|
9022
|
+
.dark .xpl-table thead {
|
|
9265
9023
|
background-color: var(--xpl-color-background-dm);
|
|
9266
9024
|
}
|
|
9267
9025
|
|
|
9268
|
-
.xpl-table
|
|
9026
|
+
.xpl-table tbody > :not([hidden]) ~ :not([hidden]) {
|
|
9269
9027
|
--tw-divide-y-reverse: 0;
|
|
9270
9028
|
border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
|
|
9271
9029
|
border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
|
|
@@ -9273,72 +9031,72 @@ span.xpl-placeholder--hidden,
|
|
|
9273
9031
|
border-color: rgb(238 239 243 / var(--tw-divide-opacity, 1));
|
|
9274
9032
|
}
|
|
9275
9033
|
|
|
9276
|
-
.xpl-table
|
|
9034
|
+
.xpl-table tbody {
|
|
9277
9035
|
--tw-bg-opacity: 1;
|
|
9278
9036
|
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
|
|
9279
9037
|
}
|
|
9280
9038
|
|
|
9281
|
-
.dark .xpl-table
|
|
9039
|
+
.dark .xpl-table tbody {
|
|
9282
9040
|
background-color: var(--xpl-color-foreground-dm);
|
|
9283
9041
|
}
|
|
9284
9042
|
|
|
9285
|
-
.dark .xpl-table
|
|
9043
|
+
.dark .xpl-table tbody > :not([hidden]) ~ :not([hidden]) {
|
|
9286
9044
|
--tw-divide-opacity: 1;
|
|
9287
9045
|
border-color: rgb(60 56 71 / var(--tw-divide-opacity, 1));
|
|
9288
9046
|
}
|
|
9289
9047
|
|
|
9290
|
-
.xpl-table
|
|
9048
|
+
.xpl-table tfoot {
|
|
9291
9049
|
border-top-color: var(--xpl-color-stroke-dm);
|
|
9292
9050
|
border-right: none;
|
|
9293
9051
|
border-bottom: none;
|
|
9294
9052
|
border-width: 1px;
|
|
9295
9053
|
}
|
|
9296
9054
|
|
|
9297
|
-
.dark .xpl-table
|
|
9055
|
+
.dark .xpl-table tfoot {
|
|
9298
9056
|
border-top-color: var(--xpl-color-stroke-lm);
|
|
9299
9057
|
}
|
|
9300
9058
|
|
|
9301
|
-
.xpl-table
|
|
9059
|
+
.xpl-table a {
|
|
9302
9060
|
--tw-text-opacity: 1;
|
|
9303
9061
|
color: rgb(79 70 229 / var(--tw-text-opacity, 1));
|
|
9304
9062
|
}
|
|
9305
9063
|
|
|
9306
|
-
.xpl-table
|
|
9064
|
+
.xpl-table a:hover {
|
|
9307
9065
|
--tw-text-opacity: 1;
|
|
9308
9066
|
color: rgb(49 46 129 / var(--tw-text-opacity, 1));
|
|
9309
9067
|
}
|
|
9310
9068
|
|
|
9311
|
-
.xpl-table
|
|
9069
|
+
.xpl-table label {
|
|
9312
9070
|
display: flex;
|
|
9313
9071
|
align-items: center;
|
|
9314
9072
|
}
|
|
9315
9073
|
|
|
9316
|
-
.xpl-table
|
|
9074
|
+
.xpl-table input[type="checkbox"] {
|
|
9317
9075
|
margin-right: 1.5rem;
|
|
9318
9076
|
cursor: pointer;
|
|
9319
9077
|
}
|
|
9320
9078
|
|
|
9321
|
-
.xpl-table
|
|
9079
|
+
.xpl-table xpl-icon {
|
|
9322
9080
|
margin-left: 0.5rem;
|
|
9323
9081
|
cursor: pointer;
|
|
9324
9082
|
}
|
|
9325
9083
|
|
|
9326
|
-
.xpl-table
|
|
9084
|
+
.xpl-table .wrap {
|
|
9327
9085
|
white-space: normal;
|
|
9328
9086
|
}
|
|
9329
9087
|
|
|
9330
|
-
.xpl-table
|
|
9088
|
+
.xpl-table-row-selected td {
|
|
9331
9089
|
--tw-bg-opacity: 1 !important;
|
|
9332
9090
|
background-color: rgb(244 242 255 / var(--tw-bg-opacity, 1)) !important;
|
|
9333
9091
|
}
|
|
9334
9092
|
|
|
9335
|
-
.dark .xpl-table
|
|
9093
|
+
.dark .xpl-table-row-selected td {
|
|
9336
9094
|
--tw-bg-opacity: 1 !important;
|
|
9337
9095
|
background-color: rgb(54 50 64 / var(--tw-bg-opacity, 1)) !important;
|
|
9338
9096
|
}
|
|
9339
9097
|
|
|
9340
|
-
.xpl-table--
|
|
9341
|
-
.xpl-table--
|
|
9098
|
+
.xpl-table--freeze th:first-child,
|
|
9099
|
+
.xpl-table--freeze td:first-child {
|
|
9342
9100
|
position: sticky;
|
|
9343
9101
|
left: 0px;
|
|
9344
9102
|
z-index: 10;
|
|
@@ -9346,13 +9104,8 @@ span.xpl-placeholder--hidden,
|
|
|
9346
9104
|
border-color: rgb(238 239 243 / var(--tw-border-opacity, 1));
|
|
9347
9105
|
}
|
|
9348
9106
|
|
|
9349
|
-
.xpl-table--
|
|
9350
|
-
background: linear-gradient(
|
|
9351
|
-
90deg,
|
|
9352
|
-
var(--xpl-color-neutral-300) 0%,
|
|
9353
|
-
var(--xpl-color-neutral-300) 0.01%,
|
|
9354
|
-
transparent 100%
|
|
9355
|
-
);
|
|
9107
|
+
.xpl-table--freeze th:first-child::after, .xpl-table--freeze td:first-child::after {
|
|
9108
|
+
background: linear-gradient(90deg, #e4e6eb 0%, #e4e6eb 0.01%, rgba(228 230 235 / 0%) 100%);
|
|
9356
9109
|
content: "";
|
|
9357
9110
|
width: 24px;
|
|
9358
9111
|
position: absolute;
|
|
@@ -9366,19 +9119,19 @@ span.xpl-placeholder--hidden,
|
|
|
9366
9119
|
transition-duration: 150ms;
|
|
9367
9120
|
}
|
|
9368
9121
|
|
|
9369
|
-
.xpl-table--
|
|
9122
|
+
.xpl-table--freeze th:first-child {
|
|
9370
9123
|
--tw-bg-opacity: 1;
|
|
9371
9124
|
background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1));
|
|
9372
9125
|
}
|
|
9373
9126
|
|
|
9374
|
-
.dark .xpl-table--
|
|
9127
|
+
.dark .xpl-table--freeze th:first-child {
|
|
9375
9128
|
background-color: var(--xpl-color-background-dm);
|
|
9376
9129
|
--tw-border-opacity: 1;
|
|
9377
9130
|
border-color: rgb(54 50 64 / var(--tw-border-opacity, 1));
|
|
9378
9131
|
}
|
|
9379
9132
|
|
|
9380
|
-
.xpl-table--
|
|
9381
|
-
.xpl-table--
|
|
9133
|
+
.xpl-table--freeze tr td:first-child,
|
|
9134
|
+
.xpl-table--freeze p {
|
|
9382
9135
|
font-size: 0.875rem;
|
|
9383
9136
|
line-height: 1.25rem;
|
|
9384
9137
|
font-weight: 500;
|
|
@@ -9386,612 +9139,141 @@ span.xpl-placeholder--hidden,
|
|
|
9386
9139
|
color: rgb(48 45 59 / var(--tw-text-opacity, 1));
|
|
9387
9140
|
}
|
|
9388
9141
|
|
|
9389
|
-
.dark .xpl-table--
|
|
9142
|
+
.dark .xpl-table--freeze td:first-child {
|
|
9390
9143
|
--tw-border-opacity: 1;
|
|
9391
9144
|
border-color: rgb(54 50 64 / var(--tw-border-opacity, 1));
|
|
9392
9145
|
}
|
|
9393
9146
|
|
|
9394
|
-
.dark .xpl-table--
|
|
9395
|
-
background: linear-gradient(
|
|
9396
|
-
90deg,
|
|
9397
|
-
color-mix(in srgb, var(--xpl-color-neutral-1100) 40%, transparent) 0%,
|
|
9398
|
-
transparent 100%
|
|
9399
|
-
);
|
|
9147
|
+
.dark .xpl-table--freeze td:first-child::after {
|
|
9148
|
+
background: linear-gradient(90deg, rgba(0 0 0 / 40%) 0%, rgba(0 0 0 / 0%) 100%);
|
|
9400
9149
|
}
|
|
9401
9150
|
|
|
9402
|
-
.xpl-table--
|
|
9403
|
-
.xpl-table--
|
|
9151
|
+
.xpl-table--has-scrolled th:first-child::after,
|
|
9152
|
+
.xpl-table--has-scrolled td:first-child::after {
|
|
9404
9153
|
opacity: 1;
|
|
9405
9154
|
}
|
|
9406
9155
|
|
|
9407
|
-
.xpl-table--
|
|
9156
|
+
.xpl-table--striped tr:nth-of-type(even) {
|
|
9408
9157
|
--tw-bg-opacity: 1;
|
|
9409
9158
|
background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1));
|
|
9410
9159
|
}
|
|
9411
9160
|
|
|
9412
|
-
.dark .xpl-table--
|
|
9161
|
+
.dark .xpl-table--striped tr:nth-of-type(even) {
|
|
9413
9162
|
--tw-bg-opacity: 1;
|
|
9414
9163
|
background-color: rgb(48 45 59 / var(--tw-bg-opacity, 1));
|
|
9415
9164
|
}
|
|
9416
9165
|
|
|
9417
|
-
.dark .xpl-table
|
|
9418
|
-
.dark .xpl-table
|
|
9166
|
+
.dark .xpl-table tr td:first-child,
|
|
9167
|
+
.dark .xpl-table p {
|
|
9419
9168
|
--tw-text-opacity: 1;
|
|
9420
9169
|
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
|
|
9421
9170
|
}
|
|
9422
9171
|
|
|
9423
|
-
|
|
9424
|
-
|
|
9425
|
-
.xpl-table-body {
|
|
9172
|
+
.xpl-table-header {
|
|
9426
9173
|
display: contents;
|
|
9427
9174
|
}
|
|
9428
9175
|
|
|
9429
|
-
|
|
9176
|
+
.xpl-table-header > *:first-child {
|
|
9177
|
+
border-left-width: 1px;
|
|
9178
|
+
border-color: var(--xpl-color-gray-400);
|
|
9179
|
+
}
|
|
9430
9180
|
|
|
9431
|
-
.xpl-table-
|
|
9432
|
-
|
|
9433
|
-
align-items: center;
|
|
9434
|
-
overflow: hidden;
|
|
9435
|
-
text-overflow: ellipsis;
|
|
9436
|
-
}
|
|
9437
|
-
|
|
9438
|
-
.xpl-table-cell-base {
|
|
9439
|
-
font-size: var(--xpl-size-font-title-5);
|
|
9440
|
-
font-weight: var(--xpl-font-weight-medium);
|
|
9441
|
-
line-height: 1.4286;
|
|
9442
|
-
}
|
|
9443
|
-
|
|
9444
|
-
.xpl-table-cell-base {
|
|
9445
|
-
|
|
9446
|
-
/* Figma Dynamic Table text cells: space/10 vertical, space/16 horizontal */
|
|
9447
|
-
padding: var(--xpl-space-10) var(--xpl-space-16);
|
|
9448
|
-
min-height: var(--xpl-size-350);
|
|
9449
|
-
border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9450
|
-
border-right: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9451
|
-
background-color: var(--xpl-background-surface-default);
|
|
9452
|
-
color: var(--xpl-text-default);
|
|
9453
|
-
font-family: var(--xpl-font-family-default);
|
|
9454
|
-
}
|
|
9455
|
-
|
|
9456
|
-
.xpl-table-cell-base--align-left {
|
|
9457
|
-
justify-content: flex-start;
|
|
9458
|
-
text-align: left;
|
|
9459
|
-
}
|
|
9460
|
-
|
|
9461
|
-
.xpl-table-cell-base--align-right {
|
|
9462
|
-
justify-content: flex-end;
|
|
9463
|
-
text-align: right;
|
|
9464
|
-
}
|
|
9465
|
-
|
|
9466
|
-
.xpl-table-cell-base--align-center {
|
|
9467
|
-
justify-content: center;
|
|
9468
|
-
text-align: center;
|
|
9469
|
-
}
|
|
9470
|
-
|
|
9471
|
-
.xpl-table-cell {
|
|
9472
|
-
display: flex;
|
|
9473
|
-
align-items: center;
|
|
9474
|
-
overflow: hidden;
|
|
9475
|
-
text-overflow: ellipsis;
|
|
9476
|
-
}
|
|
9477
|
-
|
|
9478
|
-
.xpl-table-cell {
|
|
9479
|
-
font-size: var(--xpl-size-font-title-5);
|
|
9480
|
-
font-weight: var(--xpl-font-weight-medium);
|
|
9481
|
-
line-height: 1.4286;
|
|
9482
|
-
}
|
|
9483
|
-
|
|
9484
|
-
.xpl-table-cell {
|
|
9485
|
-
|
|
9486
|
-
/* Figma Dynamic Table text cells: space/10 vertical, space/16 horizontal */
|
|
9487
|
-
padding: var(--xpl-space-10) var(--xpl-space-16);
|
|
9488
|
-
min-height: var(--xpl-size-350);
|
|
9489
|
-
border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9490
|
-
border-right: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9491
|
-
background-color: var(--xpl-background-surface-default);
|
|
9492
|
-
color: var(--xpl-text-default);
|
|
9493
|
-
font-family: var(--xpl-font-family-default);
|
|
9494
|
-
}
|
|
9495
|
-
|
|
9496
|
-
/* Checkbox-only column: Figma py-20 / px-16 */
|
|
9497
|
-
|
|
9498
|
-
.xpl-table-cell:has(> xpl-checkbox:first-child:last-child) {
|
|
9499
|
-
padding: calc(var(--xpl-space-16) + var(--xpl-space-4)) var(--xpl-space-16);
|
|
9500
|
-
}
|
|
9501
|
-
|
|
9502
|
-
.xpl-table-cell--align-left {
|
|
9503
|
-
justify-content: flex-start;
|
|
9504
|
-
text-align: left;
|
|
9505
|
-
}
|
|
9506
|
-
|
|
9507
|
-
.xpl-table-cell--align-right {
|
|
9508
|
-
justify-content: flex-end;
|
|
9509
|
-
text-align: right;
|
|
9510
|
-
}
|
|
9511
|
-
|
|
9512
|
-
.xpl-table-cell--align-center {
|
|
9513
|
-
justify-content: center;
|
|
9514
|
-
text-align: center;
|
|
9515
|
-
}
|
|
9516
|
-
|
|
9517
|
-
.xpl-table-cell--bold {
|
|
9518
|
-
font-weight: var(--xpl-font-weight-semibold);
|
|
9519
|
-
}
|
|
9520
|
-
|
|
9521
|
-
.xpl-table-cell--underline {
|
|
9522
|
-
text-decoration-line: underline;
|
|
9523
|
-
}
|
|
9524
|
-
|
|
9525
|
-
.xpl-table-cell--disabled {
|
|
9526
|
-
color: var(--xpl-text-disabled);
|
|
9527
|
-
cursor: not-allowed;
|
|
9528
|
-
}
|
|
9529
|
-
|
|
9530
|
-
.xpl-table-cell--disabled xpl-icon {
|
|
9531
|
-
color: var(--xpl-icon-disabled);
|
|
9532
|
-
}
|
|
9533
|
-
|
|
9534
|
-
/*
|
|
9535
|
-
* Rich slots (Figma Light / Dark): secondary line uses text/subdued; icons use icon tokens
|
|
9536
|
-
* (not inherited text color) so they match the table spec in both themes.
|
|
9537
|
-
*/
|
|
9538
|
-
|
|
9539
|
-
.xpl-table-cell .xpl-text-caption {
|
|
9540
|
-
color: var(--xpl-text-subdued);
|
|
9541
|
-
}
|
|
9542
|
-
|
|
9543
|
-
.xpl-table-cell--disabled .xpl-text-caption {
|
|
9544
|
-
color: var(--xpl-text-disabled);
|
|
9545
|
-
}
|
|
9546
|
-
|
|
9547
|
-
.xpl-table-cell xpl-icon {
|
|
9548
|
-
color: var(--xpl-icon-default);
|
|
9549
|
-
}
|
|
9550
|
-
|
|
9551
|
-
.xpl-table-cell xpl-avatar {
|
|
9552
|
-
margin-right: var(--xpl-space-8);
|
|
9553
|
-
}
|
|
9554
|
-
|
|
9555
|
-
.xpl-table-cell .xpl-checkbox-radio-container {
|
|
9556
|
-
margin-bottom: 0px;
|
|
9557
|
-
}
|
|
9558
|
-
|
|
9559
|
-
.xpl-table-cell .xpl-checkbox-radio-container .xpl-label {
|
|
9560
|
-
padding: 0px;
|
|
9561
|
-
}
|
|
9562
|
-
|
|
9563
|
-
/*
|
|
9564
|
-
* Managed reorder column cells use `align="center"`; this reinforces flex centering for the grip.
|
|
9565
|
-
*/
|
|
9566
|
-
|
|
9567
|
-
.xpl-table-cell[data-xpl-row-reorder-managed] {
|
|
9568
|
-
justify-content: center;
|
|
9569
|
-
}
|
|
9570
|
-
|
|
9571
|
-
/* Row reorder grip (managed column; compositional `row-reorderable`) */
|
|
9572
|
-
|
|
9573
|
-
.xpl-table-cell .xpl-table__row-drag-handle {
|
|
9574
|
-
display: inline-flex;
|
|
9575
|
-
cursor: move;
|
|
9576
|
-
align-items: center;
|
|
9577
|
-
justify-content: center;
|
|
9578
|
-
border-width: 0px;
|
|
9579
|
-
background-color: transparent;
|
|
9580
|
-
padding: 0px;
|
|
9581
|
-
|
|
9582
|
-
border-radius: var(--xpl-border-radius-default);
|
|
9583
|
-
min-width: var(--xpl-space-32);
|
|
9584
|
-
min-height: var(--xpl-space-32);
|
|
9585
|
-
color: var(--xpl-icon-subdued);
|
|
9586
|
-
}
|
|
9587
|
-
|
|
9588
|
-
.xpl-table-cell .xpl-table__row-drag-handle:active {
|
|
9589
|
-
cursor: grabbing;
|
|
9590
|
-
}
|
|
9591
|
-
|
|
9592
|
-
/* Ensure the native `<button>` stays the hit target (helps DnD + shadow children like `xpl-icon`). */
|
|
9593
|
-
|
|
9594
|
-
.xpl-table-cell .xpl-table__row-drag-handle xpl-icon {
|
|
9595
|
-
/* Beat `.xpl-table-cell xpl-icon { color: icon-default }` so resting/subdued + row states control the grip. */
|
|
9596
|
-
color: inherit;
|
|
9597
|
-
pointer-events: none;
|
|
9598
|
-
}
|
|
9599
|
-
|
|
9600
|
-
.xpl-table-cell .xpl-table__row-drag-handle:disabled {
|
|
9601
|
-
cursor: not-allowed;
|
|
9602
|
-
|
|
9603
|
-
color: var(--xpl-icon-disabled);
|
|
9604
|
-
}
|
|
9605
|
-
|
|
9606
|
-
.xpl-table-cell .xpl-table__row-drag-handle:focus-visible {
|
|
9607
|
-
border-radius: var(--xpl-border-radius-default);
|
|
9608
|
-
outline-color: var(--xpl-border-focus);
|
|
9609
|
-
outline-width: 2px;
|
|
9610
|
-
outline-offset: 2px;
|
|
9611
|
-
}
|
|
9612
|
-
|
|
9613
|
-
.xpl-table-footer {
|
|
9614
|
-
display: contents;
|
|
9615
|
-
}
|
|
9616
|
-
|
|
9617
|
-
.xpl-table-footer > xpl-table-row:first-child .xpl-table-footer-cell,
|
|
9618
|
-
.xpl-table-footer > .xpl-table-row:first-child > .xpl-table-footer-cell {
|
|
9619
|
-
border-top: var(--xpl-border-large) solid var(--xpl-border-strong);
|
|
9620
|
-
}
|
|
9621
|
-
|
|
9622
|
-
.xpl-table-footer-cell {
|
|
9623
|
-
display: flex;
|
|
9624
|
-
align-items: center;
|
|
9625
|
-
overflow: hidden;
|
|
9626
|
-
text-overflow: ellipsis;
|
|
9627
|
-
}
|
|
9628
|
-
|
|
9629
|
-
.xpl-table-footer-cell {
|
|
9630
|
-
font-size: var(--xpl-size-font-title-5);
|
|
9631
|
-
font-weight: var(--xpl-font-weight-medium);
|
|
9632
|
-
line-height: 1.4286;
|
|
9633
|
-
}
|
|
9634
|
-
|
|
9635
|
-
.xpl-table-footer-cell {
|
|
9636
|
-
|
|
9637
|
-
/* Figma Dynamic Table text cells: space/10 vertical, space/16 horizontal */
|
|
9638
|
-
padding: var(--xpl-space-10) var(--xpl-space-16);
|
|
9639
|
-
min-height: var(--xpl-size-350);
|
|
9640
|
-
border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9641
|
-
border-right: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9642
|
-
background-color: var(--xpl-background-surface-default);
|
|
9643
|
-
color: var(--xpl-text-default);
|
|
9644
|
-
font-family: var(--xpl-font-family-default);
|
|
9645
|
-
}
|
|
9646
|
-
|
|
9647
|
-
.xpl-table-footer-cell:has(> xpl-checkbox:first-child:last-child) {
|
|
9648
|
-
padding: calc(var(--xpl-space-16) + var(--xpl-space-4)) var(--xpl-space-16);
|
|
9649
|
-
}
|
|
9650
|
-
|
|
9651
|
-
.xpl-table-footer-cell--align-left {
|
|
9652
|
-
justify-content: flex-start;
|
|
9653
|
-
text-align: left;
|
|
9654
|
-
}
|
|
9655
|
-
|
|
9656
|
-
.xpl-table-footer-cell--align-right {
|
|
9657
|
-
justify-content: flex-end;
|
|
9658
|
-
text-align: right;
|
|
9659
|
-
}
|
|
9660
|
-
|
|
9661
|
-
.xpl-table-footer-cell--align-center {
|
|
9662
|
-
justify-content: center;
|
|
9663
|
-
text-align: center;
|
|
9664
|
-
}
|
|
9665
|
-
|
|
9666
|
-
.xpl-table-footer-cell[data-xpl-row-reorder-managed] {
|
|
9667
|
-
justify-content: center;
|
|
9668
|
-
}
|
|
9669
|
-
|
|
9670
|
-
.xpl-table-header {
|
|
9671
|
-
display: contents;
|
|
9181
|
+
.dark .xpl-table-header > *:first-child {
|
|
9182
|
+
border-color: var(--xpl-color-gray-600);
|
|
9672
9183
|
}
|
|
9673
9184
|
|
|
9674
9185
|
.xpl-table-header-cell {
|
|
9675
9186
|
display: inline-flex;
|
|
9676
9187
|
align-items: center;
|
|
9188
|
+
justify-content: center;
|
|
9677
9189
|
overflow: hidden;
|
|
9678
9190
|
text-overflow: ellipsis;
|
|
9679
9191
|
white-space: nowrap;
|
|
9680
|
-
|
|
9681
|
-
|
|
9682
|
-
|
|
9683
|
-
|
|
9684
|
-
|
|
9685
|
-
|
|
9686
|
-
|
|
9687
|
-
|
|
9688
|
-
.xpl-table-header-cell {
|
|
9689
|
-
|
|
9690
|
-
/* Top edge comes from the outer `.xpl-table` host border; cells only draw inner grid lines. */
|
|
9691
|
-
border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9692
|
-
border-right: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
9693
|
-
min-width: var(--xpl-size-300);
|
|
9694
|
-
min-height: var(--xpl-size-350);
|
|
9695
|
-
background-color: var(--xpl-background-surface-subtlest);
|
|
9696
|
-
color: var(--xpl-text-subdued);
|
|
9192
|
+
padding: 0px;
|
|
9193
|
+
height: 3.5rem;
|
|
9194
|
+
min-width: 3rem;
|
|
9195
|
+
border-bottom-width: 1px;
|
|
9196
|
+
border-right-width: 1px;
|
|
9197
|
+
border-top-width: 1px;
|
|
9198
|
+
border-color: var(--xpl-color-gray-400);
|
|
9697
9199
|
|
|
9698
|
-
|
|
9699
|
-
|
|
9200
|
+
background-color: var(--xpl-color-background-lm);
|
|
9201
|
+
font-size: var(--xpl-size-font-title-5);
|
|
9202
|
+
font-weight: var(--xpl-font-weight-normal);
|
|
9203
|
+
color: var(--xpl-color-text-secondary-lm);
|
|
9700
9204
|
}
|
|
9701
9205
|
|
|
9702
|
-
.xpl-table-header-cell.xpl-table-header-cell--checkbox {
|
|
9703
|
-
padding: calc(var(--xpl-space-16) + var(--xpl-space-4)) var(--xpl-space-16);
|
|
9704
|
-
}
|
|
9705
|
-
|
|
9706
|
-
.xpl-table-header-cell.xpl-table-header-cell--icon {
|
|
9707
|
-
padding: calc(var(--xpl-space-16) + var(--xpl-space-2))
|
|
9708
|
-
calc(var(--xpl-space-12) + var(--xpl-space-2));
|
|
9709
|
-
}
|
|
9710
|
-
|
|
9711
|
-
.xpl-table-header-cell.xpl-table-header-cell--empty {
|
|
9712
|
-
padding: 0;
|
|
9713
|
-
}
|
|
9714
|
-
|
|
9715
9206
|
.xpl-table-header-cell .xpl-checkbox-radio-container {
|
|
9716
|
-
margin-bottom:
|
|
9207
|
+
margin-bottom: 0.25rem;
|
|
9717
9208
|
}
|
|
9718
9209
|
|
|
9719
9210
|
.xpl-table-header-cell .xpl-checkbox-radio-container .xpl-label {
|
|
9720
9211
|
padding: 0px;
|
|
9721
9212
|
}
|
|
9722
9213
|
|
|
9723
|
-
.xpl-table-header-cell.
|
|
9724
|
-
|
|
9725
|
-
|
|
9726
|
-
}
|
|
9727
|
-
|
|
9728
|
-
.xpl-table-header-cell.xpl-table-header-cell--align-right {
|
|
9729
|
-
justify-content: flex-end;
|
|
9730
|
-
text-align: right;
|
|
9731
|
-
}
|
|
9214
|
+
.xpl-table-header-cell .header-icon {
|
|
9215
|
+
color: var(--xpl-color-text-reverse-dm);
|
|
9216
|
+
}
|
|
9732
9217
|
|
|
9733
|
-
.xpl-table-header-cell.
|
|
9734
|
-
|
|
9735
|
-
text-align: center;
|
|
9218
|
+
.xpl-table-header-cell.non-sortable {
|
|
9219
|
+
padding: 1rem;
|
|
9736
9220
|
}
|
|
9737
9221
|
|
|
9738
|
-
|
|
9739
|
-
|
|
9740
|
-
|
|
9222
|
+
.xpl-table-header-cell.sortable {
|
|
9223
|
+
margin: 0px;
|
|
9224
|
+
display: flex;
|
|
9225
|
+
height: 3.5rem;
|
|
9226
|
+
width: 100%;
|
|
9227
|
+
align-items: center;
|
|
9741
9228
|
justify-content: center;
|
|
9229
|
+
background-image: none;
|
|
9230
|
+
padding: 0px;
|
|
9742
9231
|
}
|
|
9743
9232
|
|
|
9744
|
-
.xpl-table-header-cell.
|
|
9745
|
-
|
|
9746
|
-
}
|
|
9747
|
-
|
|
9748
|
-
.xpl-table-header-cell .xpl-table-header-cell__sort {
|
|
9749
|
-
display: inline-flex;
|
|
9233
|
+
.xpl-table-header-cell.sortable button {
|
|
9234
|
+
display: flex;
|
|
9750
9235
|
width: 100%;
|
|
9751
|
-
min-width: 0px;
|
|
9752
9236
|
cursor: pointer;
|
|
9753
9237
|
align-items: center;
|
|
9754
|
-
gap: 0.5rem;
|
|
9755
|
-
border-width: 0px;
|
|
9756
|
-
background-color: transparent;
|
|
9757
|
-
|
|
9758
|
-
padding: var(--xpl-space-12) var(--xpl-space-16);
|
|
9759
|
-
color: inherit;
|
|
9760
|
-
font: inherit;
|
|
9761
|
-
font-family: inherit;
|
|
9762
|
-
text-align: inherit;
|
|
9763
|
-
}
|
|
9764
|
-
|
|
9765
|
-
.xpl-table-header-cell .xpl-table-header-cell__sort:focus-visible {
|
|
9766
|
-
border-radius: var(--xpl-border-radius-small);
|
|
9767
|
-
outline: 2px solid var(--xpl-border-focus);
|
|
9768
|
-
outline-offset: 2px;
|
|
9769
|
-
}
|
|
9770
|
-
|
|
9771
|
-
.xpl-table-header-cell .xpl-table-header-cell__text {
|
|
9772
|
-
min-width: 0px;
|
|
9773
|
-
flex: 1 1 0%;
|
|
9774
|
-
overflow: hidden;
|
|
9775
|
-
text-overflow: ellipsis;
|
|
9776
|
-
white-space: nowrap;
|
|
9777
|
-
}
|
|
9778
|
-
|
|
9779
|
-
.xpl-table-header-cell .xpl-table-header-cell__sort-icon {
|
|
9780
|
-
flex-shrink: 0;
|
|
9781
|
-
}
|
|
9782
|
-
|
|
9783
|
-
.xpl-table-header-cell.xpl-table-header-cell--align-left .xpl-table-header-cell__sort {
|
|
9784
|
-
justify-content: flex-start;
|
|
9785
|
-
text-align: left;
|
|
9786
|
-
}
|
|
9787
|
-
|
|
9788
|
-
.xpl-table-header-cell.xpl-table-header-cell--align-right .xpl-table-header-cell__sort {
|
|
9789
|
-
justify-content: flex-end;
|
|
9790
|
-
text-align: right;
|
|
9791
|
-
}
|
|
9792
|
-
|
|
9793
|
-
.xpl-table-header-cell.xpl-table-header-cell--align-center .xpl-table-header-cell__sort {
|
|
9794
9238
|
justify-content: center;
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
/* Legacy `<table>` thead may use the same icon class names outside `xpl-table-header-cell`. */
|
|
9799
|
-
|
|
9800
|
-
.xpl-table-header-cell__sort-icon {
|
|
9801
|
-
flex-shrink: 0;
|
|
9802
|
-
}
|
|
9803
|
-
|
|
9804
|
-
.xpl-table-header-cell__sort-icon--default {
|
|
9805
|
-
color: var(--xpl-text-subdued);
|
|
9806
|
-
}
|
|
9807
|
-
|
|
9808
|
-
.xpl-table-header-cell__sort-icon--active {
|
|
9809
|
-
color: var(--xpl-icon-information);
|
|
9810
|
-
}
|
|
9811
|
-
|
|
9812
|
-
.xpl-table-row {
|
|
9813
|
-
display: contents;
|
|
9814
|
-
}
|
|
9815
|
-
|
|
9816
|
-
/*
|
|
9817
|
-
* Compositional **body** rows only: `display: contents` is overridden so each row is one grid item on
|
|
9818
|
-
* `.xpl-table` spanning all columns, with `subgrid` aligning cells to the same tracks as header/footer.
|
|
9819
|
-
* This gives the row host a real layout box so `draggable` works like `xpl-list-item` (native drag image).
|
|
9820
|
-
* Header/footer rows stay `contents` (unchanged). Requires `grid-template-columns: subgrid` support
|
|
9821
|
-
* (Chrome ≥117, Firefox ≥71, Safari ≥16); older engines keep the base `contents` rule only.
|
|
9822
|
-
*/
|
|
9823
|
-
|
|
9824
|
-
@supports (grid-template-columns: subgrid) {
|
|
9825
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-body > xpl-table-row.xpl-table-row,
|
|
9826
|
-
.xpl-table:not(.xpl-table--legacy) .xpl-table-body > .xpl-table-row.xpl-table-row {
|
|
9827
|
-
display: grid;
|
|
9828
|
-
grid-column: 1 / -1;
|
|
9829
|
-
grid-template-columns: subgrid;
|
|
9830
|
-
align-items: stretch;
|
|
9831
|
-
min-width: 0;
|
|
9832
|
-
}
|
|
9833
|
-
}
|
|
9834
|
-
|
|
9835
|
-
/* Compositional row reorder (`row-reorderable`): overlapping drag/drop/disabled selectors. */
|
|
9836
|
-
|
|
9837
|
-
/* stylelint-disable no-descending-specificity -- intentional visual stacking for DnD feedback */
|
|
9838
|
-
|
|
9839
|
-
/* Figma row “Disabled”: background/surface/subtlest */
|
|
9840
|
-
|
|
9841
|
-
.xpl-table .xpl-table-body > xpl-table-row.xpl-table-row--disabled .xpl-table-cell,
|
|
9842
|
-
.xpl-table .xpl-table-body > .xpl-table-row.xpl-table-row--disabled > .xpl-table-cell {
|
|
9843
|
-
background-color: var(--xpl-background-surface-subtlest);
|
|
9844
|
-
color: var(--xpl-text-disabled);
|
|
9845
|
-
cursor: not-allowed;
|
|
9846
|
-
}
|
|
9847
|
-
|
|
9848
|
-
/* Pointer drag: mirrors xpl-list `.xpl-list-item__wrapper.dragging` (list-item.css). */
|
|
9849
|
-
|
|
9850
|
-
.xpl-table .xpl-table-body > xpl-table-row.xpl-table-row--dragging .xpl-table-cell,
|
|
9851
|
-
.xpl-table .xpl-table-body > .xpl-table-row.xpl-table-row--dragging > .xpl-table-cell {
|
|
9852
|
-
opacity: var(--xpl-opacity-75);
|
|
9853
|
-
background-color: var(--xpl-background-surface-subtle);
|
|
9239
|
+
border-style: none;
|
|
9240
|
+
background-image: none;
|
|
9241
|
+
padding: 1rem;
|
|
9854
9242
|
}
|
|
9855
9243
|
|
|
9856
|
-
|
|
9857
|
-
|
|
9858
|
-
.xpl-table--row-reorderable .xpl-table-body > xpl-table-row .xpl-table-cell,
|
|
9859
|
-
.xpl-table--row-reorderable .xpl-table-body > .xpl-table-row > .xpl-table-cell {
|
|
9860
|
-
transition-property: opacity,background-color,border-color,box-shadow;
|
|
9861
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
9862
|
-
transition-duration: 150ms;
|
|
9863
|
-
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
9244
|
+
.xpl-table-header-cell.sortable button .sort-icon {
|
|
9245
|
+
padding-left: 0.5rem;
|
|
9864
9246
|
}
|
|
9865
9247
|
|
|
9866
|
-
|
|
9867
|
-
|
|
9868
|
-
|
|
9869
|
-
* Keyboard reorder: `--keyboard-mode` ring (same token as list reorder).
|
|
9870
|
-
*/
|
|
9248
|
+
.xpl-table-header-cell.sortable button .sort-icon--sorted {
|
|
9249
|
+
color: var(--xpl-color-action-primary-lm);
|
|
9250
|
+
}
|
|
9871
9251
|
|
|
9872
|
-
.xpl-
|
|
9873
|
-
outline
|
|
9874
|
-
outline-width: 2px;
|
|
9252
|
+
.xpl-table-header-cell.sortable button:focus {
|
|
9253
|
+
outline: 2px solid transparent;
|
|
9875
9254
|
outline-offset: 2px;
|
|
9876
|
-
}
|
|
9877
|
-
|
|
9878
|
-
/* Selected row: information-surface grip tint (Figma / Foundation `--xpl-icon-information`). */
|
|
9879
|
-
|
|
9880
|
-
.xpl-table
|
|
9881
|
-
.xpl-table-body
|
|
9882
|
-
> xpl-table-row.xpl-table-row--selected:not(.xpl-table-row--disabled)
|
|
9883
|
-
.xpl-table__row-drag-handle:not(:disabled),
|
|
9884
|
-
.xpl-table
|
|
9885
|
-
.xpl-table-body
|
|
9886
|
-
> .xpl-table-row.xpl-table-row--selected:not(.xpl-table-row--disabled)
|
|
9887
|
-
.xpl-table__row-drag-handle:not(:disabled) {
|
|
9888
|
-
color: var(--xpl-icon-information);
|
|
9889
|
-
}
|
|
9890
|
-
|
|
9891
|
-
/* Figma row “Selected”: background/surface/information (descendant cell; lower specificity first) */
|
|
9892
9255
|
|
|
9893
|
-
|
|
9894
|
-
.xpl-table-body
|
|
9895
|
-
> xpl-table-row.xpl-table-row--selected:not(.xpl-table-row--disabled)
|
|
9896
|
-
.xpl-table-cell {
|
|
9897
|
-
background-color: var(--xpl-background-surface-information);
|
|
9256
|
+
box-shadow: inset 0 0 0 1px var(--xpl-color-purple-700);
|
|
9898
9257
|
}
|
|
9899
9258
|
|
|
9900
|
-
|
|
9901
|
-
|
|
9902
|
-
.xpl-table
|
|
9903
|
-
.xpl-table-body
|
|
9904
|
-
> .xpl-table-row.xpl-table-row--selected:not(.xpl-table-row--disabled)
|
|
9905
|
-
> .xpl-table-cell {
|
|
9906
|
-
background-color: var(--xpl-background-surface-information);
|
|
9907
|
-
}
|
|
9908
|
-
|
|
9909
|
-
/*
|
|
9910
|
-
* Drop target: one continuous outline for the row (not per-cell inset rings, which drew vertical seams).
|
|
9911
|
-
* Edge segments: first cell = L (left + top + bottom), middle = horizontal rails only, last = Γ (right + top + bottom).
|
|
9912
|
-
*/
|
|
9259
|
+
.dark .xpl-table-header-cell {
|
|
9260
|
+
border-color: var(--xpl-color-gray-600);
|
|
9913
9261
|
|
|
9914
|
-
|
|
9915
|
-
|
|
9916
|
-
box-shadow:
|
|
9917
|
-
inset var(--xpl-border-small) 0 0 0 var(--xpl-border-focus),
|
|
9918
|
-
inset calc(-1 * var(--xpl-border-small)) 0 0 0 var(--xpl-border-focus),
|
|
9919
|
-
inset 0 var(--xpl-border-small) 0 0 var(--xpl-border-focus),
|
|
9920
|
-
inset 0 calc(-1 * var(--xpl-border-small)) 0 0 var(--xpl-border-focus);
|
|
9921
|
-
}
|
|
9922
|
-
|
|
9923
|
-
.xpl-table
|
|
9924
|
-
.xpl-table-body
|
|
9925
|
-
> xpl-table-row.xpl-table-row--drag-over
|
|
9926
|
-
.xpl-table-cell:first-child:not(:only-child),
|
|
9927
|
-
.xpl-table
|
|
9928
|
-
.xpl-table-body
|
|
9929
|
-
> .xpl-table-row.xpl-table-row--drag-over
|
|
9930
|
-
> .xpl-table-cell:first-child:not(:only-child) {
|
|
9931
|
-
box-shadow:
|
|
9932
|
-
inset var(--xpl-border-small) 0 0 0 var(--xpl-border-focus),
|
|
9933
|
-
inset 0 var(--xpl-border-small) 0 0 var(--xpl-border-focus),
|
|
9934
|
-
inset 0 calc(-1 * var(--xpl-border-small)) 0 0 var(--xpl-border-focus);
|
|
9935
|
-
}
|
|
9936
|
-
|
|
9937
|
-
.xpl-table
|
|
9938
|
-
.xpl-table-body
|
|
9939
|
-
> xpl-table-row.xpl-table-row--drag-over
|
|
9940
|
-
.xpl-table-cell:last-child:not(:only-child),
|
|
9941
|
-
.xpl-table
|
|
9942
|
-
.xpl-table-body
|
|
9943
|
-
> .xpl-table-row.xpl-table-row--drag-over
|
|
9944
|
-
> .xpl-table-cell:last-child:not(:only-child) {
|
|
9945
|
-
box-shadow:
|
|
9946
|
-
inset calc(-1 * var(--xpl-border-small)) 0 0 0 var(--xpl-border-focus),
|
|
9947
|
-
inset 0 var(--xpl-border-small) 0 0 var(--xpl-border-focus),
|
|
9948
|
-
inset 0 calc(-1 * var(--xpl-border-small)) 0 0 var(--xpl-border-focus);
|
|
9949
|
-
}
|
|
9950
|
-
|
|
9951
|
-
.xpl-table
|
|
9952
|
-
.xpl-table-body
|
|
9953
|
-
> xpl-table-row.xpl-table-row--drag-over
|
|
9954
|
-
.xpl-table-cell:not(:first-child, :last-child),
|
|
9955
|
-
.xpl-table
|
|
9956
|
-
.xpl-table-body
|
|
9957
|
-
> .xpl-table-row.xpl-table-row--drag-over
|
|
9958
|
-
> .xpl-table-cell:not(:first-child, :last-child) {
|
|
9959
|
-
box-shadow:
|
|
9960
|
-
inset 0 var(--xpl-border-small) 0 0 var(--xpl-border-focus),
|
|
9961
|
-
inset 0 calc(-1 * var(--xpl-border-small)) 0 0 var(--xpl-border-focus);
|
|
9262
|
+
background-color: var(--xpl-color-background-2-dm);
|
|
9263
|
+
color: var(--xpl-color-text-secondary-dm);
|
|
9962
9264
|
}
|
|
9963
9265
|
|
|
9964
|
-
|
|
9965
|
-
|
|
9966
|
-
|
|
9967
|
-
* Striped zebra + selected emphasis: rules intentionally overlap; order is visual priority.
|
|
9968
|
-
*/
|
|
9969
|
-
|
|
9970
|
-
/* stylelint-disable no-descending-specificity */
|
|
9971
|
-
|
|
9972
|
-
.xpl-table--striped
|
|
9973
|
-
.xpl-table-body
|
|
9974
|
-
> xpl-table-row:nth-child(even):not(.xpl-table-row--selected, .xpl-table-row--disabled)
|
|
9975
|
-
.xpl-table-cell,
|
|
9976
|
-
.xpl-table--striped
|
|
9977
|
-
.xpl-table-body
|
|
9978
|
-
> .xpl-table-row:nth-child(even):not(.xpl-table-row--selected, .xpl-table-row--disabled)
|
|
9979
|
-
> .xpl-table-cell {
|
|
9980
|
-
background-color: var(--xpl-background-surface-subtlest);
|
|
9981
|
-
}
|
|
9266
|
+
.dark .xpl-table-header-cell .header-icon {
|
|
9267
|
+
color: var(--xpl-color-text-reverse-lm);
|
|
9268
|
+
}
|
|
9982
9269
|
|
|
9983
|
-
.xpl-table--
|
|
9984
|
-
|
|
9985
|
-
|
|
9986
|
-
.xpl-table-cell,
|
|
9987
|
-
.xpl-table--striped
|
|
9988
|
-
.xpl-table-body
|
|
9989
|
-
> .xpl-table-row.xpl-table-row--selected:not(.xpl-table-row--disabled)
|
|
9990
|
-
> .xpl-table-cell {
|
|
9991
|
-
background-color: var(--xpl-background-surface-information-bold);
|
|
9992
|
-
}
|
|
9270
|
+
.dark .xpl-table-header-cell .sortable .sort-icon--sorted {
|
|
9271
|
+
color: var(--xpl-color-action-primary-dm);
|
|
9272
|
+
}
|
|
9993
9273
|
|
|
9994
|
-
|
|
9274
|
+
.dark .xpl-table-header-cell .sortable:focus {
|
|
9275
|
+
box-shadow: inset 0 0 0 1px var(--xpl-color-purple-500);
|
|
9276
|
+
}
|
|
9995
9277
|
|
|
9996
9278
|
.xpl-tab {
|
|
9997
9279
|
display: block;
|
|
@@ -10849,71 +10131,58 @@ span.xpl-placeholder--hidden,
|
|
|
10849
10131
|
transform: translateX(12px);
|
|
10850
10132
|
}
|
|
10851
10133
|
|
|
10134
|
+
/* stylelint-disable color-no-hex, function-disallowed-list -- TODO: migrate to var(--xpl-*) tokens (see TECH_DEBT.md) */
|
|
10135
|
+
|
|
10852
10136
|
.xpl-toolbar .toolbar {
|
|
10137
|
+
margin-bottom: 0.5rem;
|
|
10853
10138
|
display: flex;
|
|
10854
|
-
|
|
10139
|
+
height: 3.5rem;
|
|
10855
10140
|
align-items: center;
|
|
10141
|
+
border-top-width: 1px;
|
|
10142
|
+
border-bottom-width: 1px;
|
|
10143
|
+
--tw-border-opacity: 1;
|
|
10144
|
+
border-color: rgb(106 109 125 / var(--tw-border-opacity, 1));
|
|
10145
|
+
padding-left: 1.5rem;
|
|
10146
|
+
padding-right: 1.5rem;
|
|
10147
|
+
padding-top: 0.75rem;
|
|
10148
|
+
padding-bottom: 0.75rem;
|
|
10856
10149
|
|
|
10857
|
-
background-color: var(--xpl-
|
|
10858
|
-
border-top: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
10859
|
-
border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
10860
|
-
padding: var(--xpl-space-12) var(--xpl-space-24);
|
|
10861
|
-
gap: var(--xpl-space-16);
|
|
10150
|
+
background-color: var(--xpl-color-foreground-dm);
|
|
10862
10151
|
box-shadow:
|
|
10863
|
-
0
|
|
10864
|
-
0 2px
|
|
10152
|
+
0 1px 3px 0 rgb(0 0 0 / 0.1),
|
|
10153
|
+
0 1px 2px 0 rgb(0 0 0 / 0.06);
|
|
10865
10154
|
}
|
|
10866
10155
|
|
|
10867
10156
|
.xpl-toolbar .toolbar .selected-item-count {
|
|
10157
|
+
margin-right: 1.5rem;
|
|
10868
10158
|
display: flex;
|
|
10869
10159
|
align-items: center;
|
|
10160
|
+
justify-content: center;
|
|
10870
10161
|
white-space: nowrap;
|
|
10162
|
+
border-right-width: 1px;
|
|
10163
|
+
--tw-border-opacity: 1;
|
|
10164
|
+
border-color: rgb(225 226 232 / var(--tw-border-opacity, 1));
|
|
10165
|
+
padding-top: 0.25rem;
|
|
10166
|
+
padding-bottom: 0.25rem;
|
|
10167
|
+
padding-right: 1.5rem;
|
|
10871
10168
|
|
|
10872
|
-
color: var(--xpl-text-
|
|
10873
|
-
font-size: var(--xpl-font-
|
|
10874
|
-
font-weight: var(--xpl-font-weight-medium);
|
|
10875
|
-
padding-right: var(--xpl-space-16);
|
|
10876
|
-
border-right: var(--xpl-border-small) solid var(--xpl-border-default);
|
|
10169
|
+
color: var(--xpl-color-text-reverse-lm);
|
|
10170
|
+
font-size: var(--xpl-size-font-title-5);
|
|
10877
10171
|
}
|
|
10878
10172
|
|
|
10879
10173
|
.xpl-toolbar .toolbar .actions {
|
|
10880
10174
|
display: flex;
|
|
10881
|
-
|
|
10882
|
-
|
|
10883
|
-
gap: var(--xpl-space-16);
|
|
10884
|
-
}
|
|
10885
|
-
|
|
10886
|
-
.xpl-toolbar .toolbar .actions [slot="actions-right"]:first-child {
|
|
10887
|
-
margin-left: auto;
|
|
10175
|
+
width: 100%;
|
|
10888
10176
|
}
|
|
10889
10177
|
|
|
10890
|
-
|
|
10891
|
-
|
|
10892
|
-
* Standalone `xpl-toolbar` keeps the default subtlest bar above.
|
|
10893
|
-
*/
|
|
10894
|
-
|
|
10895
|
-
.xpl-table__toolbar.xpl-toolbar .toolbar {
|
|
10896
|
-
background-color: var(--xpl-background-surface-inverse-on-light);
|
|
10897
|
-
border-top-color: var(--xpl-border-strong);
|
|
10898
|
-
border-bottom-color: var(--xpl-border-strong);
|
|
10178
|
+
.xpl-toolbar .toolbar .actions [slot="actions-left"] {
|
|
10179
|
+
margin-right: 1rem;
|
|
10899
10180
|
}
|
|
10900
10181
|
|
|
10901
|
-
.xpl-
|
|
10902
|
-
|
|
10903
|
-
border-right-color: var(--xpl-border-inverse);
|
|
10904
|
-
}
|
|
10905
|
-
|
|
10906
|
-
.dark .xpl-table__toolbar.xpl-toolbar .toolbar {
|
|
10907
|
-
background-color: var(--xpl-background-surface-subtlest);
|
|
10908
|
-
border-top-color: var(--xpl-border-default);
|
|
10909
|
-
border-bottom-color: var(--xpl-border-default);
|
|
10182
|
+
.xpl-toolbar .toolbar .actions [slot="actions-right"] {
|
|
10183
|
+
margin-left: 1rem;
|
|
10910
10184
|
}
|
|
10911
10185
|
|
|
10912
|
-
.dark .xpl-table__toolbar.xpl-toolbar .toolbar .selected-item-count {
|
|
10913
|
-
color: var(--xpl-text-default);
|
|
10914
|
-
border-right-color: var(--xpl-border-default);
|
|
10915
|
-
}
|
|
10916
|
-
|
|
10917
10186
|
.xpl-toolbar.hidden {
|
|
10918
10187
|
display: none;
|
|
10919
10188
|
}
|