@svadmin/ui 0.85.0 → 0.88.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/README.md +31 -0
- package/dist/app-shell.css +216 -0
- package/dist/app.css +659 -165
- package/dist/app.theme.css +659 -165
- package/dist/component-registry.d.ts +7292 -529
- package/dist/component-registry.js +32 -3
- package/dist/components/AppShellPage.svelte +172 -0
- package/dist/components/AppShellPage.svelte.d.ts +30 -0
- package/dist/components/ApprovalActionCard.svelte +54 -31
- package/dist/components/ApprovalCenter.svelte +73 -31
- package/dist/components/AuthPageShell.svelte +13 -2
- package/dist/components/AutoForm.svelte +7 -12
- package/dist/components/AutoForm.svelte.d.ts +0 -1
- package/dist/components/AutoTable.svelte +15 -3
- package/dist/components/AutoTable.svelte.d.ts +2 -0
- package/dist/components/ConfigurationPage.svelte +0 -3
- package/dist/components/ConfigurationPage.svelte.d.ts +0 -1
- package/dist/components/CreatePage.svelte +22 -19
- package/dist/components/CreatePage.svelte.d.ts +4 -1
- package/dist/components/EditPage.svelte +23 -20
- package/dist/components/EditPage.svelte.d.ts +4 -1
- package/dist/components/FieldRenderer.svelte +2 -10
- package/dist/components/FieldRenderer.svelte.d.ts +0 -1
- package/dist/components/ListPage.svelte +21 -18
- package/dist/components/ListPage.svelte.d.ts +2 -1
- package/dist/components/LoginPage.svelte +27 -11
- package/dist/components/LoginPage.svelte.d.ts +4 -0
- package/dist/components/NotificationsSettings.svelte +16 -8
- package/dist/components/PageHeader.svelte +1 -3
- package/dist/components/PageHeader.svelte.d.ts +0 -1
- package/dist/components/PagePattern.svelte +36 -13
- package/dist/components/PagePattern.svelte.d.ts +7 -0
- package/dist/components/PasswordInput.svelte +36 -17
- package/dist/components/PasswordInput.svelte.d.ts +3 -0
- package/dist/components/QuickEditDrawer.svelte +0 -1
- package/dist/components/ShowPage.svelte +24 -29
- package/dist/components/ShowPage.svelte.d.ts +0 -1
- package/dist/components/SvarAutoTable.svelte +2 -1
- package/dist/components/SvarDataGrid.svelte +8 -4
- package/dist/components/SvarDataGrid.svelte.d.ts +3 -0
- package/dist/components/SvarResourceTable.svelte +0 -1
- package/dist/components/SvarResourceTable.svelte.d.ts +0 -1
- package/dist/components/SvarResourceTableView.svelte +2 -2
- package/dist/components/account/MemberDirectory.svelte +17 -4
- package/dist/components/account/SecurityLogPage.svelte +8 -1
- package/dist/components/auto-table-grid.d.ts +1 -0
- package/dist/components/content/AuditTimeline.svelte +32 -4
- package/dist/components/content/AuditTimeline.svelte.d.ts +9 -0
- package/dist/components/content/ContentPageHeader.svelte +2 -1
- package/dist/components/content/ContentPageHeader.svelte.d.ts +1 -0
- package/dist/components/content/ContentPageShell.svelte +1 -1
- package/dist/components/content/ContentPageShell.svelte.d.ts +1 -0
- package/dist/components/content/DataPanel.svelte +58 -0
- package/dist/components/content/DataPanel.svelte.d.ts +16 -0
- package/dist/components/content/DataState.svelte +5 -4
- package/dist/components/content/DataState.svelte.d.ts +1 -1
- package/dist/components/content/DescriptionList.svelte +5 -8
- package/dist/components/content/DescriptionList.svelte.d.ts +0 -1
- package/dist/components/content/FilterToolbar.svelte +9 -6
- package/dist/components/content/FilterToolbar.svelte.d.ts +0 -1
- package/dist/components/content/NetworkTable.svelte +3 -3
- package/dist/components/content/NetworkTable.svelte.d.ts +0 -1
- package/dist/components/content/PageSection.svelte +1 -1
- package/dist/components/content/StatusTabs.svelte +2 -7
- package/dist/components/content/StatusTabs.svelte.d.ts +0 -1
- package/dist/components/content/WorkspaceLayout.svelte +3 -1
- package/dist/components/content/WorkspaceLayout.svelte.d.ts +1 -0
- package/dist/components/content/index.d.ts +1 -0
- package/dist/components/content/index.js +1 -0
- package/dist/components/network/TeamCrewTablePage.svelte +8 -1
- package/dist/components/network/UserCardsNFTPage.svelte +3 -1
- package/dist/components/profile/ProjectsGrid.svelte +1 -1
- package/dist/components/profile/TeamsShowcase.svelte +1 -1
- package/dist/components/ui/table/index.d.ts +0 -1
- package/dist/components/ui/table/table.svelte +1 -0
- package/dist/components/ui/table/table.svelte.d.ts +1 -0
- package/dist/components.css +1 -11
- package/dist/data-panel.css +88 -0
- package/dist/design-contract.d.ts +11 -0
- package/dist/design-contract.js +8 -0
- package/dist/design-system.d.ts +3 -2
- package/dist/design-system.js +3 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -0
- package/dist/page-chrome.css +42 -64
- package/dist/recipes.d.ts +12 -66
- package/dist/recipes.js +52 -50
- package/dist/styles/recipes.css +15 -48
- package/package.json +4 -4
package/dist/app.css
CHANGED
|
@@ -5522,24 +5522,16 @@
|
|
|
5522
5522
|
--container-xs: 20rem;
|
|
5523
5523
|
--container-sm: 24rem;
|
|
5524
5524
|
--container-xl: 36rem;
|
|
5525
|
-
--container-2xl: 42rem;
|
|
5526
5525
|
--container-3xl: 48rem;
|
|
5527
5526
|
--text-xs: 0.75rem;
|
|
5528
5527
|
--text-xs--line-height: calc(1 / 0.75);
|
|
5529
5528
|
--text-sm: 0.875rem;
|
|
5530
5529
|
--text-sm--line-height: calc(1.25 / 0.875);
|
|
5531
|
-
--text-base: 1rem;
|
|
5532
|
-
--text-base--line-height: calc(1.5 / 1);
|
|
5533
|
-
--text-lg: 1.125rem;
|
|
5534
|
-
--text-lg--line-height: calc(1.75 / 1.125);
|
|
5535
|
-
--text-xl: 1.25rem;
|
|
5536
|
-
--text-xl--line-height: calc(1.75 / 1.25);
|
|
5537
5530
|
--text-2xl: 1.5rem;
|
|
5538
5531
|
--text-2xl--line-height: calc(2 / 1.5);
|
|
5539
5532
|
--font-weight-medium: 500;
|
|
5540
5533
|
--font-weight-semibold: 600;
|
|
5541
|
-
--
|
|
5542
|
-
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
5534
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
5543
5535
|
--drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
|
|
5544
5536
|
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
5545
5537
|
--default-transition-duration: 150ms;
|
|
@@ -5605,6 +5597,9 @@
|
|
|
5605
5597
|
.mt-3 {
|
|
5606
5598
|
margin-top: calc(var(--spacing) * 3);
|
|
5607
5599
|
}
|
|
5600
|
+
.mt-\[var\(--svadmin-space-1\)\] {
|
|
5601
|
+
margin-top: var(--svadmin-space-1);
|
|
5602
|
+
}
|
|
5608
5603
|
.block {
|
|
5609
5604
|
display: block;
|
|
5610
5605
|
}
|
|
@@ -5653,9 +5648,6 @@
|
|
|
5653
5648
|
.w-full {
|
|
5654
5649
|
width: 100%;
|
|
5655
5650
|
}
|
|
5656
|
-
.max-w-2xl {
|
|
5657
|
-
max-width: var(--container-2xl);
|
|
5658
|
-
}
|
|
5659
5651
|
.max-w-3xl {
|
|
5660
5652
|
max-width: var(--container-3xl);
|
|
5661
5653
|
}
|
|
@@ -5665,9 +5657,6 @@
|
|
|
5665
5657
|
.max-w-\[64rem\] {
|
|
5666
5658
|
max-width: 64rem;
|
|
5667
5659
|
}
|
|
5668
|
-
.max-w-\[65ch\] {
|
|
5669
|
-
max-width: 65ch;
|
|
5670
|
-
}
|
|
5671
5660
|
.max-w-\[74rem\] {
|
|
5672
5661
|
max-width: 74rem;
|
|
5673
5662
|
}
|
|
@@ -5677,6 +5666,9 @@
|
|
|
5677
5666
|
.max-w-\[92rem\] {
|
|
5678
5667
|
max-width: 92rem;
|
|
5679
5668
|
}
|
|
5669
|
+
.max-w-\[var\(--svadmin-measure\)\] {
|
|
5670
|
+
max-width: var(--svadmin-measure);
|
|
5671
|
+
}
|
|
5680
5672
|
.max-w-full {
|
|
5681
5673
|
max-width: 100%;
|
|
5682
5674
|
}
|
|
@@ -5695,8 +5687,8 @@
|
|
|
5695
5687
|
.flex-1 {
|
|
5696
5688
|
flex: 1;
|
|
5697
5689
|
}
|
|
5698
|
-
.flex-\[
|
|
5699
|
-
flex: 1 1
|
|
5690
|
+
.flex-\[1_1_var\(--svadmin-chrome-basis\)\] {
|
|
5691
|
+
flex: 1 1 var(--svadmin-chrome-basis);
|
|
5700
5692
|
}
|
|
5701
5693
|
.flex-shrink {
|
|
5702
5694
|
flex-shrink: 1;
|
|
@@ -5770,15 +5762,17 @@
|
|
|
5770
5762
|
.gap-8 {
|
|
5771
5763
|
gap: calc(var(--spacing) * 8);
|
|
5772
5764
|
}
|
|
5773
|
-
|
|
5774
|
-
--
|
|
5775
|
-
margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
|
|
5776
|
-
margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
|
|
5765
|
+
.gap-\[var\(--svadmin-space-1\)\] {
|
|
5766
|
+
gap: var(--svadmin-space-1);
|
|
5777
5767
|
}
|
|
5778
|
-
|
|
5779
|
-
--
|
|
5780
|
-
|
|
5781
|
-
|
|
5768
|
+
.gap-\[var\(--svadmin-space-2\)\] {
|
|
5769
|
+
gap: var(--svadmin-space-2);
|
|
5770
|
+
}
|
|
5771
|
+
.gap-\[var\(--svadmin-space-3\)\] {
|
|
5772
|
+
gap: var(--svadmin-space-3);
|
|
5773
|
+
}
|
|
5774
|
+
.gap-\[var\(--svadmin-space-5\)\] {
|
|
5775
|
+
gap: var(--svadmin-space-5);
|
|
5782
5776
|
}
|
|
5783
5777
|
:where(.space-y-2 > :not(:last-child)) {
|
|
5784
5778
|
--tw-space-y-reverse: 0;
|
|
@@ -5805,6 +5799,31 @@
|
|
|
5805
5799
|
margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
|
|
5806
5800
|
margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
|
|
5807
5801
|
}
|
|
5802
|
+
:where(.space-y-\[var\(--svadmin-space-1\)\] > :not(:last-child)) {
|
|
5803
|
+
--tw-space-y-reverse: 0;
|
|
5804
|
+
margin-block-start: calc(var(--svadmin-space-1) * var(--tw-space-y-reverse));
|
|
5805
|
+
margin-block-end: calc(var(--svadmin-space-1) * calc(1 - var(--tw-space-y-reverse)));
|
|
5806
|
+
}
|
|
5807
|
+
:where(.space-y-\[var\(--svadmin-space-2\)\] > :not(:last-child)) {
|
|
5808
|
+
--tw-space-y-reverse: 0;
|
|
5809
|
+
margin-block-start: calc(var(--svadmin-space-2) * var(--tw-space-y-reverse));
|
|
5810
|
+
margin-block-end: calc(var(--svadmin-space-2) * calc(1 - var(--tw-space-y-reverse)));
|
|
5811
|
+
}
|
|
5812
|
+
:where(.space-y-\[var\(--svadmin-space-3\)\] > :not(:last-child)) {
|
|
5813
|
+
--tw-space-y-reverse: 0;
|
|
5814
|
+
margin-block-start: calc(var(--svadmin-space-3) * var(--tw-space-y-reverse));
|
|
5815
|
+
margin-block-end: calc(var(--svadmin-space-3) * calc(1 - var(--tw-space-y-reverse)));
|
|
5816
|
+
}
|
|
5817
|
+
:where(.space-y-\[var\(--svadmin-space-4\)\] > :not(:last-child)) {
|
|
5818
|
+
--tw-space-y-reverse: 0;
|
|
5819
|
+
margin-block-start: calc(var(--svadmin-space-4) * var(--tw-space-y-reverse));
|
|
5820
|
+
margin-block-end: calc(var(--svadmin-space-4) * calc(1 - var(--tw-space-y-reverse)));
|
|
5821
|
+
}
|
|
5822
|
+
:where(.space-y-\[var\(--svadmin-space-5\)\] > :not(:last-child)) {
|
|
5823
|
+
--tw-space-y-reverse: 0;
|
|
5824
|
+
margin-block-start: calc(var(--svadmin-space-5) * var(--tw-space-y-reverse));
|
|
5825
|
+
margin-block-end: calc(var(--svadmin-space-5) * calc(1 - var(--tw-space-y-reverse)));
|
|
5826
|
+
}
|
|
5808
5827
|
.overflow-hidden {
|
|
5809
5828
|
overflow: hidden;
|
|
5810
5829
|
}
|
|
@@ -5910,6 +5929,12 @@
|
|
|
5910
5929
|
.px-4 {
|
|
5911
5930
|
padding-inline: calc(var(--spacing) * 4);
|
|
5912
5931
|
}
|
|
5932
|
+
.px-\[var\(--svadmin-space-3\)\] {
|
|
5933
|
+
padding-inline: var(--svadmin-space-3);
|
|
5934
|
+
}
|
|
5935
|
+
.px-\[var\(--svadmin-space-4\)\] {
|
|
5936
|
+
padding-inline: var(--svadmin-space-4);
|
|
5937
|
+
}
|
|
5913
5938
|
.py-1 {
|
|
5914
5939
|
padding-block: var(--spacing);
|
|
5915
5940
|
}
|
|
@@ -5919,9 +5944,6 @@
|
|
|
5919
5944
|
.py-3 {
|
|
5920
5945
|
padding-block: calc(var(--spacing) * 3);
|
|
5921
5946
|
}
|
|
5922
|
-
.py-4 {
|
|
5923
|
-
padding-block: calc(var(--spacing) * 4);
|
|
5924
|
-
}
|
|
5925
5947
|
.py-5 {
|
|
5926
5948
|
padding-block: calc(var(--spacing) * 5);
|
|
5927
5949
|
}
|
|
@@ -5931,6 +5953,15 @@
|
|
|
5931
5953
|
.py-\[7px\] {
|
|
5932
5954
|
padding-block: 7px;
|
|
5933
5955
|
}
|
|
5956
|
+
.py-\[var\(--svadmin-space-1\)\] {
|
|
5957
|
+
padding-block: var(--svadmin-space-1);
|
|
5958
|
+
}
|
|
5959
|
+
.py-\[var\(--svadmin-space-3\)\] {
|
|
5960
|
+
padding-block: var(--svadmin-space-3);
|
|
5961
|
+
}
|
|
5962
|
+
.py-\[var\(--svadmin-space-4\)\] {
|
|
5963
|
+
padding-block: var(--svadmin-space-4);
|
|
5964
|
+
}
|
|
5934
5965
|
.text-left {
|
|
5935
5966
|
text-align: left;
|
|
5936
5967
|
}
|
|
@@ -5938,22 +5969,10 @@
|
|
|
5938
5969
|
font-size: var(--text-2xl);
|
|
5939
5970
|
line-height: var(--tw-leading, var(--text-2xl--line-height));
|
|
5940
5971
|
}
|
|
5941
|
-
.text-base {
|
|
5942
|
-
font-size: var(--text-base);
|
|
5943
|
-
line-height: var(--tw-leading, var(--text-base--line-height));
|
|
5944
|
-
}
|
|
5945
|
-
.text-lg {
|
|
5946
|
-
font-size: var(--text-lg);
|
|
5947
|
-
line-height: var(--tw-leading, var(--text-lg--line-height));
|
|
5948
|
-
}
|
|
5949
5972
|
.text-sm {
|
|
5950
5973
|
font-size: var(--text-sm);
|
|
5951
5974
|
line-height: var(--tw-leading, var(--text-sm--line-height));
|
|
5952
5975
|
}
|
|
5953
|
-
.text-xl {
|
|
5954
|
-
font-size: var(--text-xl);
|
|
5955
|
-
line-height: var(--tw-leading, var(--text-xl--line-height));
|
|
5956
|
-
}
|
|
5957
5976
|
.text-xs {
|
|
5958
5977
|
font-size: var(--text-xs);
|
|
5959
5978
|
line-height: var(--tw-leading, var(--text-xs--line-height));
|
|
@@ -5961,17 +5980,32 @@
|
|
|
5961
5980
|
.text-\[0\.8125rem\] {
|
|
5962
5981
|
font-size: 0.8125rem;
|
|
5963
5982
|
}
|
|
5964
|
-
.
|
|
5965
|
-
|
|
5966
|
-
|
|
5983
|
+
.text-\[length\:var\(--svadmin-text-body\)\] {
|
|
5984
|
+
font-size: var(--svadmin-text-body);
|
|
5985
|
+
}
|
|
5986
|
+
.text-\[length\:var\(--svadmin-text-caption\)\] {
|
|
5987
|
+
font-size: var(--svadmin-text-caption);
|
|
5988
|
+
}
|
|
5989
|
+
.text-\[length\:var\(--svadmin-text-label\)\] {
|
|
5990
|
+
font-size: var(--svadmin-text-label);
|
|
5991
|
+
}
|
|
5992
|
+
.text-\[length\:var\(--svadmin-text-section\)\] {
|
|
5993
|
+
font-size: var(--svadmin-text-section);
|
|
5994
|
+
}
|
|
5995
|
+
.text-\[length\:var\(--svadmin-text-title\)\] {
|
|
5996
|
+
font-size: var(--svadmin-text-title);
|
|
5967
5997
|
}
|
|
5968
5998
|
.leading-6 {
|
|
5969
5999
|
--tw-leading: calc(var(--spacing) * 6);
|
|
5970
6000
|
line-height: calc(var(--spacing) * 6);
|
|
5971
6001
|
}
|
|
5972
|
-
.leading-
|
|
5973
|
-
--tw-leading: var(--leading-
|
|
5974
|
-
line-height: var(--leading-
|
|
6002
|
+
.leading-\[var\(--svadmin-leading-body\)\] {
|
|
6003
|
+
--tw-leading: var(--svadmin-leading-body);
|
|
6004
|
+
line-height: var(--svadmin-leading-body);
|
|
6005
|
+
}
|
|
6006
|
+
.leading-\[var\(--svadmin-leading-tight\)\] {
|
|
6007
|
+
--tw-leading: var(--svadmin-leading-tight);
|
|
6008
|
+
line-height: var(--svadmin-leading-tight);
|
|
5975
6009
|
}
|
|
5976
6010
|
.font-medium {
|
|
5977
6011
|
--tw-font-weight: var(--font-weight-medium);
|
|
@@ -6101,12 +6135,12 @@
|
|
|
6101
6135
|
.\[--svadmin-metric-state-height\:6rem\] {
|
|
6102
6136
|
--svadmin-metric-state-height: 6rem;
|
|
6103
6137
|
}
|
|
6104
|
-
.\[--svadmin-metric-state-padding\:0\.75rem\] {
|
|
6105
|
-
--svadmin-metric-state-padding: 0.75rem;
|
|
6106
|
-
}
|
|
6107
6138
|
.\[--svadmin-metric-state-padding\:1\.25rem\] {
|
|
6108
6139
|
--svadmin-metric-state-padding: 1.25rem;
|
|
6109
6140
|
}
|
|
6141
|
+
.\[--svadmin-metric-state-padding\:var\(--svadmin-space-3\)\] {
|
|
6142
|
+
--svadmin-metric-state-padding: var(--svadmin-space-3);
|
|
6143
|
+
}
|
|
6110
6144
|
.\[--svadmin-status-color\:var\(--destructive\)\] {
|
|
6111
6145
|
--svadmin-status-color: var(--destructive);
|
|
6112
6146
|
}
|
|
@@ -6122,11 +6156,11 @@
|
|
|
6122
6156
|
.\[--svadmin-status-color\:var\(--warning\)\] {
|
|
6123
6157
|
--svadmin-status-color: var(--warning);
|
|
6124
6158
|
}
|
|
6125
|
-
.\[--svadmin-table-state-height\:
|
|
6126
|
-
--svadmin-table-state-height:
|
|
6159
|
+
.\[--svadmin-table-state-height\:var\(--svadmin-table-state-min-h\)\] {
|
|
6160
|
+
--svadmin-table-state-height: var(--svadmin-table-state-min-h);
|
|
6127
6161
|
}
|
|
6128
|
-
.\[--svadmin-table-state-height\:
|
|
6129
|
-
--svadmin-table-state-height:
|
|
6162
|
+
.\[--svadmin-table-state-height\:var\(--svadmin-table-state-min-h-compact\)\] {
|
|
6163
|
+
--svadmin-table-state-height: var(--svadmin-table-state-min-h-compact);
|
|
6130
6164
|
}
|
|
6131
6165
|
.\[writing-mode\:vertical-rl\] {
|
|
6132
6166
|
writing-mode: vertical-rl;
|
|
@@ -6207,33 +6241,29 @@
|
|
|
6207
6241
|
.\[\&_\[data-command-group-heading\]\]\:uppercase [data-command-group-heading] {
|
|
6208
6242
|
text-transform: uppercase;
|
|
6209
6243
|
}
|
|
6210
|
-
.\[\&\[data-slot\=table-cell\]\]\:py-1[data-slot=table-cell] {
|
|
6211
|
-
padding-block: var(--
|
|
6244
|
+
.\[\&\[data-slot\=table-cell\]\]\:py-\[var\(--svadmin-space-1\)\][data-slot=table-cell] {
|
|
6245
|
+
padding-block: var(--svadmin-space-1);
|
|
6212
6246
|
}
|
|
6213
|
-
.\[\&\[data-slot\=table-cell\]\]\:py-2[data-slot=table-cell] {
|
|
6214
|
-
padding-block:
|
|
6247
|
+
.\[\&\[data-slot\=table-cell\]\]\:py-\[var\(--svadmin-space-2\)\][data-slot=table-cell] {
|
|
6248
|
+
padding-block: var(--svadmin-space-2);
|
|
6215
6249
|
}
|
|
6216
|
-
.\[\&\[data-slot\=table-cell\]\]\:text-
|
|
6217
|
-
font-size: var(--text-
|
|
6218
|
-
line-height: var(--tw-leading, var(--text-sm--line-height));
|
|
6250
|
+
.\[\&\[data-slot\=table-cell\]\]\:text-\[length\:var\(--svadmin-text-body\)\][data-slot=table-cell] {
|
|
6251
|
+
font-size: var(--svadmin-text-body);
|
|
6219
6252
|
}
|
|
6220
|
-
.\[\&\[data-slot\=table-cell\]\]\:text-
|
|
6221
|
-
font-size: var(--text-
|
|
6222
|
-
line-height: var(--tw-leading, var(--text-xs--line-height));
|
|
6253
|
+
.\[\&\[data-slot\=table-cell\]\]\:text-\[length\:var\(--svadmin-text-caption\)\][data-slot=table-cell] {
|
|
6254
|
+
font-size: var(--svadmin-text-caption);
|
|
6223
6255
|
}
|
|
6224
|
-
.\[\&\[data-slot\=table-head\]\]\:py-1[data-slot=table-head] {
|
|
6225
|
-
padding-block: var(--
|
|
6256
|
+
.\[\&\[data-slot\=table-head\]\]\:py-\[var\(--svadmin-space-1\)\][data-slot=table-head] {
|
|
6257
|
+
padding-block: var(--svadmin-space-1);
|
|
6226
6258
|
}
|
|
6227
|
-
.\[\&\[data-slot\=table-head\]\]\:py-2[data-slot=table-head] {
|
|
6228
|
-
padding-block:
|
|
6259
|
+
.\[\&\[data-slot\=table-head\]\]\:py-\[var\(--svadmin-space-2\)\][data-slot=table-head] {
|
|
6260
|
+
padding-block: var(--svadmin-space-2);
|
|
6229
6261
|
}
|
|
6230
|
-
.\[\&\[data-slot\=table-head\]\]\:text-
|
|
6231
|
-
font-size: var(--text-
|
|
6232
|
-
line-height: var(--tw-leading, var(--text-sm--line-height));
|
|
6262
|
+
.\[\&\[data-slot\=table-head\]\]\:text-\[length\:var\(--svadmin-text-body\)\][data-slot=table-head] {
|
|
6263
|
+
font-size: var(--svadmin-text-body);
|
|
6233
6264
|
}
|
|
6234
|
-
.\[\&\[data-slot\=table-head\]\]\:text-
|
|
6235
|
-
font-size: var(--text-
|
|
6236
|
-
line-height: var(--tw-leading, var(--text-xs--line-height));
|
|
6265
|
+
.\[\&\[data-slot\=table-head\]\]\:text-\[length\:var\(--svadmin-text-caption\)\][data-slot=table-head] {
|
|
6266
|
+
font-size: var(--svadmin-text-caption);
|
|
6237
6267
|
}
|
|
6238
6268
|
}
|
|
6239
6269
|
@property --tw-rotate-x {
|
|
@@ -6478,7 +6508,7 @@
|
|
|
6478
6508
|
* the host application's utility CSS implementation.
|
|
6479
6509
|
*/
|
|
6480
6510
|
[data-svadmin-skip-link] {
|
|
6481
|
-
transform: translateY(calc(-100% -
|
|
6511
|
+
transform: translateY(calc(-100% - var(--svadmin-space-4)));
|
|
6482
6512
|
}
|
|
6483
6513
|
[data-svadmin-skip-link]:focus,
|
|
6484
6514
|
[data-svadmin-skip-link]:focus-visible {
|
|
@@ -6486,24 +6516,17 @@
|
|
|
6486
6516
|
}
|
|
6487
6517
|
|
|
6488
6518
|
.svadmin-page-header {
|
|
6489
|
-
--svadmin-page-header-gap:
|
|
6519
|
+
--svadmin-page-header-gap: var(--svadmin-space-2);
|
|
6490
6520
|
min-width: 0;
|
|
6491
6521
|
}
|
|
6492
|
-
.svadmin-page-header[data-density="compact"] {
|
|
6493
|
-
--svadmin-page-header-gap: 0.375rem;
|
|
6494
|
-
}
|
|
6495
6522
|
.svadmin-page-header__breadcrumbs {
|
|
6496
|
-
margin-bottom:
|
|
6497
|
-
}
|
|
6498
|
-
.svadmin-page-header[data-density="compact"] .svadmin-page-header__breadcrumbs {
|
|
6499
|
-
margin-bottom: 0.375rem;
|
|
6500
|
-
font-size: 0.75rem;
|
|
6523
|
+
margin-bottom: var(--svadmin-space-4);
|
|
6501
6524
|
}
|
|
6502
6525
|
.svadmin-page-header__row, .svadmin-filter-toolbar__row {
|
|
6503
6526
|
display: flex;
|
|
6504
6527
|
flex-direction: column;
|
|
6505
6528
|
min-width: 0;
|
|
6506
|
-
gap:
|
|
6529
|
+
gap: var(--svadmin-space-2);
|
|
6507
6530
|
}
|
|
6508
6531
|
.svadmin-page-header__row {
|
|
6509
6532
|
gap: var(--svadmin-page-header-gap);
|
|
@@ -6512,7 +6535,7 @@
|
|
|
6512
6535
|
display: flex;
|
|
6513
6536
|
align-items: center;
|
|
6514
6537
|
min-width: 0;
|
|
6515
|
-
gap:
|
|
6538
|
+
gap: var(--svadmin-space-3);
|
|
6516
6539
|
}
|
|
6517
6540
|
.svadmin-page-header__text {
|
|
6518
6541
|
min-width: 0;
|
|
@@ -6522,7 +6545,7 @@
|
|
|
6522
6545
|
flex-wrap: wrap;
|
|
6523
6546
|
align-items: center;
|
|
6524
6547
|
min-width: 0;
|
|
6525
|
-
gap:
|
|
6548
|
+
gap: var(--svadmin-space-2);
|
|
6526
6549
|
}
|
|
6527
6550
|
.svadmin-page-header__tags, .svadmin-page-header__actions {
|
|
6528
6551
|
max-width: 100%;
|
|
@@ -6531,24 +6554,17 @@
|
|
|
6531
6554
|
.svadmin-page-header__title {
|
|
6532
6555
|
min-width: 0;
|
|
6533
6556
|
color: var(--foreground);
|
|
6534
|
-
font-size:
|
|
6557
|
+
font-size: var(--svadmin-text-title);
|
|
6535
6558
|
font-weight: 600;
|
|
6536
|
-
line-height:
|
|
6559
|
+
line-height: var(--svadmin-leading-tight);
|
|
6537
6560
|
overflow-wrap: anywhere;
|
|
6538
6561
|
}
|
|
6539
6562
|
.svadmin-page-header__description {
|
|
6540
6563
|
color: var(--muted-foreground);
|
|
6541
|
-
font-size:
|
|
6542
|
-
line-height:
|
|
6564
|
+
font-size: var(--svadmin-text-body);
|
|
6565
|
+
line-height: var(--svadmin-leading-body);
|
|
6543
6566
|
overflow-wrap: anywhere;
|
|
6544
6567
|
}
|
|
6545
|
-
.svadmin-page-header[data-density="compact"] .svadmin-page-header__title {
|
|
6546
|
-
font-size: 1.125rem;
|
|
6547
|
-
}
|
|
6548
|
-
.svadmin-page-header[data-density="compact"] .svadmin-page-header__description {
|
|
6549
|
-
font-size: 0.75rem;
|
|
6550
|
-
line-height: 1rem;
|
|
6551
|
-
}
|
|
6552
6568
|
.svadmin-page-header .svadmin-page-header__back {
|
|
6553
6569
|
flex-shrink: 0;
|
|
6554
6570
|
color: var(--muted-foreground);
|
|
@@ -6557,14 +6573,14 @@
|
|
|
6557
6573
|
color: var(--foreground);
|
|
6558
6574
|
}
|
|
6559
6575
|
.svadmin-page-header .svadmin-page-header__back-icon {
|
|
6560
|
-
width:
|
|
6561
|
-
height:
|
|
6576
|
+
width: var(--svadmin-space-4);
|
|
6577
|
+
height: var(--svadmin-space-4);
|
|
6562
6578
|
}
|
|
6563
6579
|
.svadmin-breadcrumbs {
|
|
6564
6580
|
min-width: 0;
|
|
6565
6581
|
}
|
|
6566
6582
|
.svadmin-breadcrumbs--spaced {
|
|
6567
|
-
margin-bottom:
|
|
6583
|
+
margin-bottom: var(--svadmin-space-4);
|
|
6568
6584
|
}
|
|
6569
6585
|
.svadmin-breadcrumbs__item {
|
|
6570
6586
|
display: inline-flex;
|
|
@@ -6575,16 +6591,11 @@
|
|
|
6575
6591
|
color: var(--muted-foreground);
|
|
6576
6592
|
}
|
|
6577
6593
|
.svadmin-filter-toolbar {
|
|
6578
|
-
--svadmin-filter-control-height:
|
|
6579
|
-
--svadmin-filter-control-font:
|
|
6580
|
-
--svadmin-filter-search-icon-size:
|
|
6594
|
+
--svadmin-filter-control-height: var(--svadmin-control-h);
|
|
6595
|
+
--svadmin-filter-control-font: var(--svadmin-text-body);
|
|
6596
|
+
--svadmin-filter-search-icon-size: var(--svadmin-space-4);
|
|
6581
6597
|
min-width: 0;
|
|
6582
6598
|
}
|
|
6583
|
-
.svadmin-filter-toolbar[data-density="compact"] {
|
|
6584
|
-
--svadmin-filter-control-height: 2rem;
|
|
6585
|
-
--svadmin-filter-control-font: 0.75rem;
|
|
6586
|
-
--svadmin-filter-search-icon-size: 0.875rem;
|
|
6587
|
-
}
|
|
6588
6599
|
.svadmin-filter-toolbar__search {
|
|
6589
6600
|
position: relative;
|
|
6590
6601
|
min-width: 0;
|
|
@@ -6592,60 +6603,57 @@
|
|
|
6592
6603
|
.svadmin-filter-toolbar__search-icon {
|
|
6593
6604
|
position: absolute;
|
|
6594
6605
|
top: 50%;
|
|
6595
|
-
inset-inline-start:
|
|
6606
|
+
inset-inline-start: var(--svadmin-space-3);
|
|
6596
6607
|
width: var(--svadmin-filter-search-icon-size);
|
|
6597
6608
|
height: var(--svadmin-filter-search-icon-size);
|
|
6598
6609
|
color: var(--muted-foreground);
|
|
6599
6610
|
transform: translateY(-50%);
|
|
6600
6611
|
pointer-events: none;
|
|
6601
6612
|
}
|
|
6602
|
-
.svadmin-filter-toolbar
|
|
6613
|
+
.svadmin-filter-toolbar .svadmin-filter-toolbar__input[data-slot="input"] {
|
|
6603
6614
|
height: var(--svadmin-filter-control-height);
|
|
6604
|
-
padding-inline:
|
|
6615
|
+
padding-inline: calc(var(--svadmin-space-5) + var(--svadmin-space-3));
|
|
6605
6616
|
font-size: var(--svadmin-filter-control-font);
|
|
6606
|
-
line-height:
|
|
6617
|
+
line-height: var(--svadmin-leading-tight);
|
|
6607
6618
|
}
|
|
6608
|
-
.svadmin-filter-toolbar
|
|
6619
|
+
.svadmin-filter-toolbar .svadmin-filter-toolbar__clear {
|
|
6609
6620
|
position: absolute;
|
|
6610
|
-
|
|
6611
|
-
inset-inline-end:
|
|
6612
|
-
|
|
6621
|
+
inset-block: 0;
|
|
6622
|
+
inset-inline-end: var(--svadmin-space-1);
|
|
6623
|
+
margin-block: auto;
|
|
6613
6624
|
}
|
|
6614
|
-
.svadmin-filter-toolbar
|
|
6625
|
+
.svadmin-filter-toolbar .svadmin-filter-toolbar__toggle {
|
|
6615
6626
|
flex-shrink: 0;
|
|
6616
|
-
gap:
|
|
6627
|
+
gap: var(--svadmin-space-2);
|
|
6617
6628
|
height: var(--svadmin-filter-control-height);
|
|
6618
6629
|
font-size: var(--svadmin-filter-control-font);
|
|
6619
6630
|
max-width: 100%;
|
|
6620
6631
|
white-space: normal;
|
|
6621
6632
|
overflow-wrap: anywhere;
|
|
6622
6633
|
}
|
|
6623
|
-
.svadmin-filter-toolbar[data-density="compact"] .svadmin-filter-toolbar__toggle {
|
|
6624
|
-
padding-inline: 0.625rem;
|
|
6625
|
-
}
|
|
6626
6634
|
.svadmin-filter-toolbar .svadmin-filter-toolbar__control-icon {
|
|
6627
|
-
width:
|
|
6628
|
-
height:
|
|
6635
|
+
width: var(--svadmin-space-3);
|
|
6636
|
+
height: var(--svadmin-space-3);
|
|
6629
6637
|
}
|
|
6630
6638
|
.svadmin-filter-toolbar .svadmin-filter-toolbar__chevron {
|
|
6631
|
-
width:
|
|
6632
|
-
height:
|
|
6633
|
-
margin-inline-start:
|
|
6639
|
+
width: var(--svadmin-space-3);
|
|
6640
|
+
height: var(--svadmin-space-3);
|
|
6641
|
+
margin-inline-start: var(--svadmin-space-1);
|
|
6634
6642
|
color: var(--muted-foreground);
|
|
6635
6643
|
}
|
|
6636
|
-
.svadmin-filter-toolbar
|
|
6637
|
-
height:
|
|
6638
|
-
min-height:
|
|
6639
|
-
min-width:
|
|
6640
|
-
margin-inline-start:
|
|
6641
|
-
padding: 0
|
|
6642
|
-
font-size:
|
|
6644
|
+
.svadmin-filter-toolbar .svadmin-filter-toolbar__count {
|
|
6645
|
+
height: var(--svadmin-space-4);
|
|
6646
|
+
min-height: var(--svadmin-space-4);
|
|
6647
|
+
min-width: var(--svadmin-space-4);
|
|
6648
|
+
margin-inline-start: var(--svadmin-space-1);
|
|
6649
|
+
padding: 0 var(--svadmin-space-1);
|
|
6650
|
+
font-size: var(--svadmin-text-caption);
|
|
6643
6651
|
font-weight: 600;
|
|
6644
6652
|
line-height: 1;
|
|
6645
6653
|
font-variant-numeric: tabular-nums;
|
|
6646
6654
|
}
|
|
6647
6655
|
.svadmin-filter-toolbar .svadmin-filter-toolbar-advanced {
|
|
6648
|
-
margin-top:
|
|
6656
|
+
margin-top: var(--svadmin-space-2);
|
|
6649
6657
|
border: 1px solid var(--border);
|
|
6650
6658
|
@supports (color: color-mix(in lab, red, red)) {
|
|
6651
6659
|
border: 1px solid color-mix(in oklch, var(--border) 60%, transparent);
|
|
@@ -6655,7 +6663,7 @@
|
|
|
6655
6663
|
@supports (color: color-mix(in lab, red, red)) {
|
|
6656
6664
|
background: color-mix(in oklch, var(--muted) 20%, transparent);
|
|
6657
6665
|
}
|
|
6658
|
-
padding:
|
|
6666
|
+
padding: var(--svadmin-space-3);
|
|
6659
6667
|
overflow-wrap: anywhere;
|
|
6660
6668
|
}
|
|
6661
6669
|
@media (min-width: 640px) {
|
|
@@ -6668,13 +6676,317 @@
|
|
|
6668
6676
|
justify-content: space-between;
|
|
6669
6677
|
}
|
|
6670
6678
|
.svadmin-page-header__heading {
|
|
6671
|
-
flex: 1 1
|
|
6679
|
+
flex: 1 1 var(--svadmin-chrome-basis);
|
|
6672
6680
|
}
|
|
6673
6681
|
.svadmin-filter-toolbar__search {
|
|
6674
|
-
flex: 1 1
|
|
6682
|
+
flex: 1 1 var(--svadmin-chrome-basis);
|
|
6683
|
+
}
|
|
6684
|
+
}
|
|
6685
|
+
}
|
|
6686
|
+
/* Router-agnostic application shell.
|
|
6687
|
+
*
|
|
6688
|
+
* Every length, size and color here comes from a token. That is the contract
|
|
6689
|
+
* hosts rely on: a host with its own router composes the shell with snippets and
|
|
6690
|
+
* overrides tokens, instead of re-implementing sidebar, topbar and page
|
|
6691
|
+
* composition in bespoke CSS. See docs/components/app-shell.md. */
|
|
6692
|
+
@layer components {
|
|
6693
|
+
.svadmin-app-shell {
|
|
6694
|
+
display: grid;
|
|
6695
|
+
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
6696
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6697
|
+
min-height: 100dvh;
|
|
6698
|
+
background: var(--background);
|
|
6699
|
+
color: var(--foreground);
|
|
6700
|
+
font-size: var(--svadmin-text-body);
|
|
6701
|
+
line-height: var(--svadmin-leading-body);
|
|
6702
|
+
}
|
|
6703
|
+
.svadmin-app-shell[data-width="narrow"] {
|
|
6704
|
+
--svadmin-shell-max: 48rem;
|
|
6705
|
+
}
|
|
6706
|
+
.svadmin-app-shell[data-width="wide"] {
|
|
6707
|
+
--svadmin-shell-max: 92rem;
|
|
6708
|
+
}
|
|
6709
|
+
.svadmin-app-shell[data-width="full"] {
|
|
6710
|
+
--svadmin-shell-max: none;
|
|
6711
|
+
}
|
|
6712
|
+
.svadmin-app-shell[data-sidebar="true"] {
|
|
6713
|
+
grid-template-columns: var(--svadmin-shell-sidebar-w) minmax(0, 1fr);
|
|
6714
|
+
grid-template-areas:
|
|
6715
|
+
"topbar topbar"
|
|
6716
|
+
"sidebar main"
|
|
6717
|
+
"sidebar footer";
|
|
6718
|
+
}
|
|
6719
|
+
.svadmin-app-shell[data-collapsed="true"] {
|
|
6720
|
+
--svadmin-shell-sidebar-w: var(--svadmin-shell-sidebar-w-collapsed);
|
|
6721
|
+
}
|
|
6722
|
+
.svadmin-app-shell[data-aside="true"] .svadmin-app-shell__body {
|
|
6723
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, var(--svadmin-shell-aside-w));
|
|
6724
|
+
}
|
|
6725
|
+
|
|
6726
|
+
.svadmin-app-shell__skip {
|
|
6727
|
+
position: fixed;
|
|
6728
|
+
z-index: 60;
|
|
6729
|
+
inset-block-start: var(--svadmin-space-2);
|
|
6730
|
+
inset-inline-start: var(--svadmin-space-2);
|
|
6731
|
+
border: 1px solid var(--border);
|
|
6732
|
+
border-radius: var(--radius-md);
|
|
6733
|
+
background: var(--card);
|
|
6734
|
+
padding: var(--svadmin-space-2) var(--svadmin-space-3);
|
|
6735
|
+
color: var(--foreground);
|
|
6736
|
+
font-size: var(--svadmin-text-caption);
|
|
6737
|
+
font-weight: 600;
|
|
6738
|
+
transform: translateY(calc(-1 * (var(--svadmin-space-6) + var(--svadmin-space-5))));
|
|
6739
|
+
}
|
|
6740
|
+
.svadmin-app-shell__skip:focus-visible {
|
|
6741
|
+
transform: none;
|
|
6742
|
+
outline: var(--svadmin-focus-width) solid var(--ring);
|
|
6743
|
+
outline-offset: var(--svadmin-focus-offset);
|
|
6744
|
+
}
|
|
6745
|
+
|
|
6746
|
+
.svadmin-app-shell__topbar {
|
|
6747
|
+
grid-area: topbar;
|
|
6748
|
+
display: flex;
|
|
6749
|
+
align-items: center;
|
|
6750
|
+
gap: var(--svadmin-space-3);
|
|
6751
|
+
min-width: 0;
|
|
6752
|
+
min-height: var(--svadmin-shell-topbar-h);
|
|
6753
|
+
border-bottom: 1px solid var(--border);
|
|
6754
|
+
background: var(--card);
|
|
6755
|
+
padding-inline: var(--svadmin-shell-gutter);
|
|
6756
|
+
}
|
|
6757
|
+
.svadmin-app-shell__topbar-start,
|
|
6758
|
+
.svadmin-app-shell__topbar-end {
|
|
6759
|
+
display: flex;
|
|
6760
|
+
align-items: center;
|
|
6761
|
+
min-width: 0;
|
|
6762
|
+
gap: var(--svadmin-space-2);
|
|
6763
|
+
}
|
|
6764
|
+
.svadmin-app-shell__topbar-main {
|
|
6765
|
+
display: flex;
|
|
6766
|
+
flex: 1 1 auto;
|
|
6767
|
+
align-items: center;
|
|
6768
|
+
min-width: 0;
|
|
6769
|
+
gap: var(--svadmin-space-3);
|
|
6770
|
+
}
|
|
6771
|
+
.svadmin-app-shell__topbar-end {
|
|
6772
|
+
flex: 0 0 auto;
|
|
6773
|
+
justify-content: flex-end;
|
|
6774
|
+
}
|
|
6775
|
+
|
|
6776
|
+
.svadmin-app-shell__sidebar {
|
|
6777
|
+
grid-area: sidebar;
|
|
6778
|
+
display: flex;
|
|
6779
|
+
flex-direction: column;
|
|
6780
|
+
min-width: 0;
|
|
6781
|
+
min-height: 0;
|
|
6782
|
+
border-inline-end: 1px solid var(--sidebar-border, var(--border));
|
|
6783
|
+
background: var(--sidebar, var(--card));
|
|
6784
|
+
color: var(--sidebar-foreground, var(--foreground));
|
|
6785
|
+
overflow-y: auto;
|
|
6786
|
+
overscroll-behavior: contain;
|
|
6787
|
+
}
|
|
6788
|
+
.svadmin-app-shell__sidebar-inner {
|
|
6789
|
+
display: flex;
|
|
6790
|
+
flex: 1 1 auto;
|
|
6791
|
+
flex-direction: column;
|
|
6792
|
+
gap: var(--svadmin-space-2);
|
|
6793
|
+
min-width: 0;
|
|
6794
|
+
padding: var(--svadmin-space-3) var(--svadmin-space-2);
|
|
6795
|
+
}
|
|
6796
|
+
|
|
6797
|
+
.svadmin-app-shell__main {
|
|
6798
|
+
grid-area: main;
|
|
6799
|
+
display: flex;
|
|
6800
|
+
flex-direction: column;
|
|
6801
|
+
min-width: 0;
|
|
6802
|
+
min-height: 0;
|
|
6803
|
+
}
|
|
6804
|
+
.svadmin-app-shell__body {
|
|
6805
|
+
display: grid;
|
|
6806
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6807
|
+
align-items: start;
|
|
6808
|
+
gap: var(--svadmin-section-gap);
|
|
6809
|
+
width: 100%;
|
|
6810
|
+
max-width: var(--svadmin-shell-max);
|
|
6811
|
+
margin-inline: auto;
|
|
6812
|
+
padding: var(--svadmin-shell-gutter);
|
|
6813
|
+
min-width: 0;
|
|
6814
|
+
}
|
|
6815
|
+
.svadmin-app-shell__content {
|
|
6816
|
+
display: grid;
|
|
6817
|
+
gap: var(--svadmin-section-gap);
|
|
6818
|
+
min-width: 0;
|
|
6819
|
+
}
|
|
6820
|
+
.svadmin-app-shell__aside {
|
|
6821
|
+
display: grid;
|
|
6822
|
+
gap: var(--svadmin-section-gap);
|
|
6823
|
+
min-width: 0;
|
|
6824
|
+
}
|
|
6825
|
+
|
|
6826
|
+
.svadmin-app-shell__footer {
|
|
6827
|
+
grid-area: footer;
|
|
6828
|
+
display: flex;
|
|
6829
|
+
flex-wrap: wrap;
|
|
6830
|
+
align-items: center;
|
|
6831
|
+
justify-content: space-between;
|
|
6832
|
+
gap: var(--svadmin-space-2);
|
|
6833
|
+
width: 100%;
|
|
6834
|
+
max-width: var(--svadmin-shell-max);
|
|
6835
|
+
margin-inline: auto;
|
|
6836
|
+
border-top: 1px solid var(--border);
|
|
6837
|
+
padding: var(--svadmin-space-3) var(--svadmin-shell-gutter);
|
|
6838
|
+
color: var(--muted-foreground);
|
|
6839
|
+
font-size: var(--svadmin-text-caption);
|
|
6840
|
+
}
|
|
6841
|
+
|
|
6842
|
+
/* The mobile navigation trigger only exists below the sidebar breakpoint. */
|
|
6843
|
+
.svadmin-app-shell__mobile-toggle {
|
|
6844
|
+
display: none;
|
|
6845
|
+
}
|
|
6846
|
+
.svadmin-app-shell__scrim {
|
|
6847
|
+
display: none;
|
|
6848
|
+
}
|
|
6849
|
+
|
|
6850
|
+
@media (max-width: 63.999rem) {
|
|
6851
|
+
.svadmin-app-shell[data-sidebar="true"] {
|
|
6852
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6853
|
+
grid-template-areas:
|
|
6854
|
+
"topbar"
|
|
6855
|
+
"main"
|
|
6856
|
+
"footer";
|
|
6857
|
+
}
|
|
6858
|
+
.svadmin-app-shell[data-aside="true"] .svadmin-app-shell__body {
|
|
6859
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6860
|
+
}
|
|
6861
|
+
.svadmin-app-shell__mobile-toggle {
|
|
6862
|
+
display: inline-flex;
|
|
6863
|
+
}
|
|
6864
|
+
.svadmin-app-shell__sidebar {
|
|
6865
|
+
position: fixed;
|
|
6866
|
+
z-index: 45;
|
|
6867
|
+
inset-block: var(--svadmin-shell-topbar-h) 0;
|
|
6868
|
+
inset-inline-start: 0;
|
|
6869
|
+
width: var(--svadmin-shell-sidebar-w);
|
|
6870
|
+
max-width: 85vw;
|
|
6871
|
+
box-shadow: var(--shadow-overlay);
|
|
6872
|
+
transform: translateX(-100%);
|
|
6873
|
+
visibility: hidden;
|
|
6874
|
+
transition: transform var(--svadmin-motion-standard) var(--svadmin-motion-easing), visibility var(--svadmin-motion-standard);
|
|
6875
|
+
}
|
|
6876
|
+
[dir="rtl"] .svadmin-app-shell__sidebar {
|
|
6877
|
+
transform: translateX(100%);
|
|
6878
|
+
}
|
|
6879
|
+
.svadmin-app-shell[data-mobile-open="true"] .svadmin-app-shell__sidebar {
|
|
6880
|
+
transform: none;
|
|
6881
|
+
visibility: visible;
|
|
6882
|
+
}
|
|
6883
|
+
.svadmin-app-shell[data-mobile-open="true"] .svadmin-app-shell__scrim {
|
|
6884
|
+
display: block;
|
|
6885
|
+
position: fixed;
|
|
6886
|
+
z-index: 40;
|
|
6887
|
+
inset: var(--svadmin-shell-topbar-h) 0 0;
|
|
6888
|
+
border: 0;
|
|
6889
|
+
background: var(--foreground);
|
|
6890
|
+
opacity: 0.28;
|
|
6891
|
+
cursor: pointer;
|
|
6892
|
+
}
|
|
6893
|
+
}
|
|
6894
|
+
|
|
6895
|
+
/* 窄视口下页面容器自己承担横向留白,外壳不再重复叠加。 */
|
|
6896
|
+
@media (max-width: 40rem) {
|
|
6897
|
+
.svadmin-app-shell {
|
|
6898
|
+
--svadmin-shell-gutter: var(--svadmin-space-4);
|
|
6675
6899
|
}
|
|
6676
6900
|
}
|
|
6677
6901
|
}
|
|
6902
|
+
/* Data panel: the recurring "titled surface with a body" container.
|
|
6903
|
+
*
|
|
6904
|
+
* Hosts previously hand-rolled this block per page, which is how a project ends
|
|
6905
|
+
* up with three panel paddings and two radii. Every length here is a token. */
|
|
6906
|
+
@layer components {
|
|
6907
|
+
.svadmin-data-panel {
|
|
6908
|
+
--svadmin-panel-padding: var(--svadmin-space-5);
|
|
6909
|
+
display: grid;
|
|
6910
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6911
|
+
align-content: start;
|
|
6912
|
+
min-width: 0;
|
|
6913
|
+
border: 1px solid var(--border);
|
|
6914
|
+
border-radius: var(--radius-lg);
|
|
6915
|
+
background: var(--card);
|
|
6916
|
+
color: var(--card-foreground);
|
|
6917
|
+
overflow: hidden;
|
|
6918
|
+
}
|
|
6919
|
+
.svadmin-data-panel[data-padding="compact"] {
|
|
6920
|
+
--svadmin-panel-padding: var(--svadmin-space-4);
|
|
6921
|
+
}
|
|
6922
|
+
.svadmin-data-panel[data-padding="none"] {
|
|
6923
|
+
--svadmin-panel-padding: 0;
|
|
6924
|
+
}
|
|
6925
|
+
|
|
6926
|
+
.svadmin-data-panel__header {
|
|
6927
|
+
display: flex;
|
|
6928
|
+
flex-wrap: wrap;
|
|
6929
|
+
align-items: flex-start;
|
|
6930
|
+
justify-content: space-between;
|
|
6931
|
+
gap: var(--svadmin-space-3);
|
|
6932
|
+
min-width: 0;
|
|
6933
|
+
padding: var(--svadmin-panel-padding);
|
|
6934
|
+
padding-block-end: 0;
|
|
6935
|
+
}
|
|
6936
|
+
.svadmin-data-panel[data-padding="none"] .svadmin-data-panel__header {
|
|
6937
|
+
padding: var(--svadmin-space-4) var(--svadmin-space-5);
|
|
6938
|
+
border-bottom: 1px solid var(--border);
|
|
6939
|
+
}
|
|
6940
|
+
.svadmin-data-panel__heading {
|
|
6941
|
+
display: grid;
|
|
6942
|
+
gap: var(--svadmin-space-1);
|
|
6943
|
+
min-width: 0;
|
|
6944
|
+
flex: 1 1 0;
|
|
6945
|
+
}
|
|
6946
|
+
.svadmin-data-panel__title {
|
|
6947
|
+
margin: 0;
|
|
6948
|
+
color: var(--foreground);
|
|
6949
|
+
font-size: var(--svadmin-text-section);
|
|
6950
|
+
font-weight: 600;
|
|
6951
|
+
line-height: var(--svadmin-leading-tight);
|
|
6952
|
+
overflow-wrap: anywhere;
|
|
6953
|
+
}
|
|
6954
|
+
.svadmin-data-panel__description {
|
|
6955
|
+
max-width: var(--svadmin-measure);
|
|
6956
|
+
margin: 0;
|
|
6957
|
+
color: var(--muted-foreground);
|
|
6958
|
+
font-size: var(--svadmin-text-body);
|
|
6959
|
+
line-height: var(--svadmin-leading-body);
|
|
6960
|
+
overflow-wrap: anywhere;
|
|
6961
|
+
}
|
|
6962
|
+
.svadmin-data-panel__actions {
|
|
6963
|
+
display: flex;
|
|
6964
|
+
flex-wrap: wrap;
|
|
6965
|
+
align-items: center;
|
|
6966
|
+
gap: var(--svadmin-space-2);
|
|
6967
|
+
flex: 0 0 auto;
|
|
6968
|
+
}
|
|
6969
|
+
.svadmin-data-panel__body {
|
|
6970
|
+
display: grid;
|
|
6971
|
+
gap: var(--svadmin-space-4);
|
|
6972
|
+
min-width: 0;
|
|
6973
|
+
padding: var(--svadmin-panel-padding);
|
|
6974
|
+
}
|
|
6975
|
+
.svadmin-data-panel[data-padding="none"] .svadmin-data-panel__body {
|
|
6976
|
+
gap: 0;
|
|
6977
|
+
}
|
|
6978
|
+
.svadmin-data-panel__footer {
|
|
6979
|
+
display: flex;
|
|
6980
|
+
flex-wrap: wrap;
|
|
6981
|
+
align-items: center;
|
|
6982
|
+
justify-content: flex-end;
|
|
6983
|
+
gap: var(--svadmin-space-2);
|
|
6984
|
+
padding: var(--svadmin-space-3) var(--svadmin-space-5);
|
|
6985
|
+
border-top: 1px solid var(--border);
|
|
6986
|
+
color: var(--muted-foreground);
|
|
6987
|
+
font-size: var(--svadmin-text-caption);
|
|
6988
|
+
}
|
|
6989
|
+
}
|
|
6678
6990
|
|
|
6679
6991
|
/* 保留状态对比度和 clean-flat 卡片表现,颜色始终来自宿主 token。 */
|
|
6680
6992
|
.svadmin-product-status[data-slot="badge"] {
|
|
@@ -6753,6 +7065,42 @@
|
|
|
6753
7065
|
--svadmin-shadow-control: 0 1px 2px rgb(15 23 42 / 0.04);
|
|
6754
7066
|
--svadmin-shadow-surface: 0 1px 2px rgb(15 23 42 / 0.035);
|
|
6755
7067
|
--svadmin-shadow-surface-hover: 0 2px 5px rgb(15 23 42 / 0.06);
|
|
7068
|
+
|
|
7069
|
+
/* Size rhythm. Single source of truth for control, row, spacing and type
|
|
7070
|
+
* sizes; components read these tokens and hosts override the token instead
|
|
7071
|
+
* of re-writing component CSS. Values stay on the 4px grid from DESIGN.md
|
|
7072
|
+
* (xs 4, sm 8, md 16, lg 24, xl 32). */
|
|
7073
|
+
--svadmin-control-h-sm: 1.75rem; /* 28px */
|
|
7074
|
+
--svadmin-control-h: 2.25rem; /* 36px */
|
|
7075
|
+
--svadmin-control-h-lg: 2.5rem; /* 40px */
|
|
7076
|
+
--svadmin-row-h: 3rem; /* 48px */
|
|
7077
|
+
--svadmin-table-head-h: 2.75rem; /* 44px */
|
|
7078
|
+
--svadmin-table-state-min-h: 8rem; /* 128px */
|
|
7079
|
+
--svadmin-table-state-min-h-compact: 6rem; /* 96px */
|
|
7080
|
+
--svadmin-space-1: 0.25rem; /* 4px */
|
|
7081
|
+
--svadmin-space-2: 0.5rem; /* 8px */
|
|
7082
|
+
--svadmin-space-3: 0.75rem; /* 12px */
|
|
7083
|
+
--svadmin-space-4: 1rem; /* 16px */
|
|
7084
|
+
--svadmin-space-5: 1.5rem; /* 24px */
|
|
7085
|
+
--svadmin-space-6: 2rem; /* 32px */
|
|
7086
|
+
--svadmin-section-gap: var(--svadmin-space-5);
|
|
7087
|
+
--svadmin-text-caption: 0.75rem; /* 12px */
|
|
7088
|
+
--svadmin-text-label: 0.8125rem; /* 13px */
|
|
7089
|
+
--svadmin-text-body: 0.875rem; /* 14px */
|
|
7090
|
+
--svadmin-text-section: 1rem; /* 16px */
|
|
7091
|
+
--svadmin-text-title: 1.25rem; /* 20px */
|
|
7092
|
+
--svadmin-leading-tight: 1.25;
|
|
7093
|
+
--svadmin-leading-snug: 1.35;
|
|
7094
|
+
--svadmin-leading-body: 1.5;
|
|
7095
|
+
--svadmin-focus-width: 2px;
|
|
7096
|
+
--svadmin-measure: 65ch;
|
|
7097
|
+
--svadmin-shell-sidebar-w: 15rem;
|
|
7098
|
+
--svadmin-shell-sidebar-w-collapsed: 3.5rem;
|
|
7099
|
+
--svadmin-shell-topbar-h: 3.5rem;
|
|
7100
|
+
--svadmin-shell-gutter: var(--svadmin-space-5);
|
|
7101
|
+
--svadmin-shell-max: 74rem;
|
|
7102
|
+
--svadmin-chrome-basis: 16rem;
|
|
7103
|
+
--svadmin-shell-aside-w: 22rem;
|
|
6756
7104
|
--svadmin-shadow-overlay: 0 20px 52px rgb(15 23 42 / 0.18), 0 6px 16px rgb(15 23 42 / 0.1);
|
|
6757
7105
|
}
|
|
6758
7106
|
|
|
@@ -7178,15 +7526,15 @@ h6,
|
|
|
7178
7526
|
}
|
|
7179
7527
|
|
|
7180
7528
|
:is([data-slot="button"], .svadmin-button):is([data-size="default"], .svadmin-button-size--default),
|
|
7181
|
-
:is([data-svadmin-button], .svadmin-button):is([data-size="default"], .svadmin-button-size--default) { min-height:
|
|
7529
|
+
:is([data-svadmin-button], .svadmin-button):is([data-size="default"], .svadmin-button-size--default) { min-height: var(--svadmin-control-h); padding: 0 0.75rem; }
|
|
7182
7530
|
:is([data-slot="button"], .svadmin-button):is([data-size="xs"], .svadmin-button-size--xs),
|
|
7183
7531
|
:is([data-svadmin-button], .svadmin-button):is([data-size="xs"], .svadmin-button-size--xs) { min-height: 1.5rem; padding: 0 0.5rem; font-size: 0.75rem; }
|
|
7184
7532
|
:is([data-slot="button"], .svadmin-button):is([data-size="sm"], .svadmin-button-size--sm),
|
|
7185
7533
|
:is([data-svadmin-button], .svadmin-button):is([data-size="sm"], .svadmin-button-size--sm) { min-height: 2rem; padding: 0 0.75rem; font-size: 0.8rem; }
|
|
7186
7534
|
:is([data-slot="button"], .svadmin-button):is([data-size="lg"], .svadmin-button-size--lg),
|
|
7187
|
-
:is([data-svadmin-button], .svadmin-button):is([data-size="lg"], .svadmin-button-size--lg) { min-height:
|
|
7535
|
+
:is([data-svadmin-button], .svadmin-button):is([data-size="lg"], .svadmin-button-size--lg) { min-height: var(--svadmin-control-h-lg); padding: 0 1rem; }
|
|
7188
7536
|
:is([data-slot="button"], .svadmin-button):is([data-size="icon"], .svadmin-button-size--icon),
|
|
7189
|
-
:is([data-svadmin-button], .svadmin-button):is([data-size="icon"], .svadmin-button-size--icon) { width:
|
|
7537
|
+
:is([data-svadmin-button], .svadmin-button):is([data-size="icon"], .svadmin-button-size--icon) { width: var(--svadmin-control-h); height: var(--svadmin-control-h); }
|
|
7190
7538
|
:is([data-slot="button"], .svadmin-button):is([data-size="icon-xs"], .svadmin-button-size--icon-xs),
|
|
7191
7539
|
:is([data-svadmin-button], .svadmin-button):is([data-size="icon-xs"], .svadmin-button-size--icon-xs) { width: 1.5rem; height: 1.5rem; }
|
|
7192
7540
|
:is([data-slot="button"], .svadmin-button):is([data-size="icon-sm"], .svadmin-button-size--icon-sm),
|
|
@@ -7638,7 +7986,7 @@ main {
|
|
|
7638
7986
|
.svadmin-input {
|
|
7639
7987
|
width: 100%;
|
|
7640
7988
|
min-width: 0;
|
|
7641
|
-
height:
|
|
7989
|
+
height: var(--svadmin-control-h);
|
|
7642
7990
|
border: 1px solid var(--border);
|
|
7643
7991
|
border-radius: 0.5rem;
|
|
7644
7992
|
background: transparent;
|
|
@@ -7728,15 +8076,17 @@ main {
|
|
|
7728
8076
|
}
|
|
7729
8077
|
|
|
7730
8078
|
.svadmin-table-cell {
|
|
7731
|
-
|
|
8079
|
+
height: var(--svadmin-row-h);
|
|
8080
|
+
padding: var(--svadmin-space-2);
|
|
8081
|
+
font-size: var(--svadmin-text-label);
|
|
7732
8082
|
vertical-align: middle;
|
|
7733
8083
|
white-space: nowrap;
|
|
7734
8084
|
}
|
|
7735
8085
|
|
|
7736
8086
|
.svadmin-table-cell[data-density="compact"] {
|
|
7737
|
-
height:
|
|
7738
|
-
padding:
|
|
7739
|
-
font-size:
|
|
8087
|
+
height: calc(var(--svadmin-row-h) - var(--svadmin-space-4));
|
|
8088
|
+
padding: var(--svadmin-space-1) var(--svadmin-space-2);
|
|
8089
|
+
font-size: var(--svadmin-text-caption);
|
|
7740
8090
|
}
|
|
7741
8091
|
|
|
7742
8092
|
.svadmin-table-cell[data-sticky="right"],
|
|
@@ -8062,9 +8412,9 @@ main {
|
|
|
8062
8412
|
}
|
|
8063
8413
|
|
|
8064
8414
|
.svadmin-table-caption {
|
|
8065
|
-
margin-top:
|
|
8415
|
+
margin-top: var(--svadmin-space-4);
|
|
8066
8416
|
color: var(--muted-foreground);
|
|
8067
|
-
font-size:
|
|
8417
|
+
font-size: var(--svadmin-text-body);
|
|
8068
8418
|
}
|
|
8069
8419
|
|
|
8070
8420
|
.svadmin-table-footer {
|
|
@@ -8221,7 +8571,7 @@ main {
|
|
|
8221
8571
|
|
|
8222
8572
|
.svadmin-select {
|
|
8223
8573
|
width: 100%;
|
|
8224
|
-
height:
|
|
8574
|
+
height: var(--svadmin-control-h);
|
|
8225
8575
|
border: 1px solid var(--border);
|
|
8226
8576
|
border-radius: 0.5rem;
|
|
8227
8577
|
padding: 0.375rem 0.75rem;
|
|
@@ -8258,7 +8608,7 @@ main {
|
|
|
8258
8608
|
.svadmin-tabs-list {
|
|
8259
8609
|
display: inline-flex;
|
|
8260
8610
|
width: fit-content;
|
|
8261
|
-
height:
|
|
8611
|
+
height: var(--svadmin-control-h);
|
|
8262
8612
|
align-items: center;
|
|
8263
8613
|
justify-content: center;
|
|
8264
8614
|
gap: 0.25rem;
|
|
@@ -8605,7 +8955,7 @@ main {
|
|
|
8605
8955
|
.svadmin-navigation-trigger {
|
|
8606
8956
|
display: inline-flex;
|
|
8607
8957
|
width: max-content;
|
|
8608
|
-
height:
|
|
8958
|
+
height: var(--svadmin-control-h);
|
|
8609
8959
|
align-items: center;
|
|
8610
8960
|
justify-content: center;
|
|
8611
8961
|
gap: 0.25rem;
|
|
@@ -9005,19 +9355,20 @@ main {
|
|
|
9005
9355
|
}
|
|
9006
9356
|
|
|
9007
9357
|
.svadmin-table-head {
|
|
9008
|
-
height:
|
|
9009
|
-
padding:
|
|
9358
|
+
height: var(--svadmin-table-head-h);
|
|
9359
|
+
padding: var(--svadmin-space-2);
|
|
9010
9360
|
color: var(--foreground);
|
|
9011
9361
|
text-align: left;
|
|
9012
9362
|
vertical-align: middle;
|
|
9363
|
+
font-size: var(--svadmin-text-caption);
|
|
9013
9364
|
font-weight: 500;
|
|
9014
9365
|
white-space: nowrap;
|
|
9015
9366
|
}
|
|
9016
9367
|
|
|
9017
9368
|
.svadmin-table-head[data-density="compact"] {
|
|
9018
|
-
height:
|
|
9019
|
-
padding:
|
|
9020
|
-
font-size:
|
|
9369
|
+
height: calc(var(--svadmin-table-head-h) - var(--svadmin-space-3));
|
|
9370
|
+
padding: var(--svadmin-space-1) var(--svadmin-space-2);
|
|
9371
|
+
font-size: var(--svadmin-text-caption);
|
|
9021
9372
|
}
|
|
9022
9373
|
|
|
9023
9374
|
.svadmin-table-head[data-sticky="right"],
|
|
@@ -9067,8 +9418,8 @@ main {
|
|
|
9067
9418
|
}
|
|
9068
9419
|
|
|
9069
9420
|
.svadmin-pagination-icon {
|
|
9070
|
-
width:
|
|
9071
|
-
height:
|
|
9421
|
+
width: var(--svadmin-space-4);
|
|
9422
|
+
height: var(--svadmin-space-4);
|
|
9072
9423
|
}
|
|
9073
9424
|
|
|
9074
9425
|
@keyframes svadmin-menu-enter {
|
|
@@ -9370,11 +9721,11 @@ details[data-svadmin-filter][open] > :not(summary),
|
|
|
9370
9721
|
}
|
|
9371
9722
|
|
|
9372
9723
|
.layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"] {
|
|
9373
|
-
height:
|
|
9724
|
+
height: var(--svadmin-table-head-h);
|
|
9374
9725
|
border-bottom-color: var(--svadmin-border);
|
|
9375
9726
|
background: var(--svadmin-surface-muted);
|
|
9376
9727
|
color: var(--svadmin-text-muted);
|
|
9377
|
-
font-size:
|
|
9728
|
+
font-size: var(--svadmin-text-caption);
|
|
9378
9729
|
font-weight: 600;
|
|
9379
9730
|
letter-spacing: 0;
|
|
9380
9731
|
text-transform: none;
|
|
@@ -9385,10 +9736,10 @@ details[data-svadmin-filter][open] > :not(summary),
|
|
|
9385
9736
|
}
|
|
9386
9737
|
|
|
9387
9738
|
.layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
|
|
9388
|
-
height:
|
|
9739
|
+
height: var(--svadmin-row-h);
|
|
9389
9740
|
border-bottom-color: var(--svadmin-border);
|
|
9390
9741
|
color: var(--svadmin-text);
|
|
9391
|
-
font-size:
|
|
9742
|
+
font-size: var(--svadmin-text-label);
|
|
9392
9743
|
}
|
|
9393
9744
|
|
|
9394
9745
|
.layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"][data-density="compact"],
|
|
@@ -9440,19 +9791,19 @@ details[data-svadmin-filter][open] > :not(summary),
|
|
|
9440
9791
|
border-bottom: 1px solid var(--svadmin-border);
|
|
9441
9792
|
border-radius: 0;
|
|
9442
9793
|
background: transparent;
|
|
9443
|
-
padding:
|
|
9794
|
+
padding: var(--svadmin-space-3) 0;
|
|
9444
9795
|
box-shadow: none;
|
|
9445
9796
|
}
|
|
9446
9797
|
|
|
9447
9798
|
.layout-clean-flat [data-svadmin-table-toolbar] [data-slot="input"] {
|
|
9448
|
-
height:
|
|
9799
|
+
height: var(--svadmin-control-h-lg);
|
|
9449
9800
|
background: var(--svadmin-surface-muted);
|
|
9450
9801
|
}
|
|
9451
9802
|
|
|
9452
9803
|
.layout-clean-flat [data-svadmin-list-actions] :is([data-slot="button"], .svadmin-button),
|
|
9453
9804
|
.layout-clean-flat [data-svadmin-table-toolbar] :is([data-slot="button"], .svadmin-button),
|
|
9454
9805
|
.layout-clean-flat [data-svadmin-form-actions] :is([data-slot="button"], .svadmin-button) {
|
|
9455
|
-
height:
|
|
9806
|
+
height: var(--svadmin-control-h-lg);
|
|
9456
9807
|
flex-shrink: 0;
|
|
9457
9808
|
}
|
|
9458
9809
|
|
|
@@ -10138,6 +10489,28 @@ details[data-svadmin-filter][open] > :not(summary),
|
|
|
10138
10489
|
.svadmin-stats-card__footer { margin-top: 0.5rem; }
|
|
10139
10490
|
|
|
10140
10491
|
/* Auth form compatibility for existing consumers. */
|
|
10492
|
+
[data-svadmin-auth-page] {
|
|
10493
|
+
overflow-wrap: anywhere;
|
|
10494
|
+
}
|
|
10495
|
+
|
|
10496
|
+
[data-svadmin-login-form] :is(input, button) {
|
|
10497
|
+
scroll-margin-block: 0.5rem;
|
|
10498
|
+
}
|
|
10499
|
+
|
|
10500
|
+
[data-svadmin-auth-aside],
|
|
10501
|
+
[data-svadmin-auth-main],
|
|
10502
|
+
[data-svadmin-auth-main] > div,
|
|
10503
|
+
[data-svadmin-auth-card],
|
|
10504
|
+
[data-svadmin-auth-card] form,
|
|
10505
|
+
[data-svadmin-auth-brand],
|
|
10506
|
+
[data-svadmin-auth-brand] > :last-child {
|
|
10507
|
+
min-width: 0;
|
|
10508
|
+
}
|
|
10509
|
+
|
|
10510
|
+
[data-svadmin-auth-brand] > :not(:last-child) {
|
|
10511
|
+
flex-shrink: 0;
|
|
10512
|
+
}
|
|
10513
|
+
|
|
10141
10514
|
.layout-clean-flat [data-svadmin-auth-page] > main > div {
|
|
10142
10515
|
display: flex;
|
|
10143
10516
|
width: min(100%, 28.75rem);
|
|
@@ -10227,7 +10600,8 @@ details[data-svadmin-filter][open] > :not(summary),
|
|
|
10227
10600
|
gap: 0.5rem;
|
|
10228
10601
|
}
|
|
10229
10602
|
|
|
10230
|
-
|
|
10603
|
+
/* 标签操作行保持横排,嵌套密码控件仍使用自己的纵向布局。 */
|
|
10604
|
+
.layout-clean-flat [data-svadmin-auth-page] form > div > div:first-child:not(.svadmin-password-input):not([data-svadmin-password-input]) {
|
|
10231
10605
|
display: flex;
|
|
10232
10606
|
align-items: center;
|
|
10233
10607
|
justify-content: space-between;
|
|
@@ -10240,6 +10614,28 @@ details[data-svadmin-filter][open] > :not(summary),
|
|
|
10240
10614
|
font-weight: 600;
|
|
10241
10615
|
}
|
|
10242
10616
|
|
|
10617
|
+
.svadmin-auth-input-field {
|
|
10618
|
+
position: relative;
|
|
10619
|
+
display: block;
|
|
10620
|
+
min-width: 0;
|
|
10621
|
+
}
|
|
10622
|
+
|
|
10623
|
+
.svadmin-auth-input-field .svadmin-auth-input-control.svadmin-input {
|
|
10624
|
+
padding-inline-start: 2.25rem;
|
|
10625
|
+
}
|
|
10626
|
+
|
|
10627
|
+
.svadmin-auth-input-icon {
|
|
10628
|
+
position: absolute;
|
|
10629
|
+
top: 50%;
|
|
10630
|
+
inset-inline-start: 0.75rem;
|
|
10631
|
+
z-index: 1;
|
|
10632
|
+
width: 1rem;
|
|
10633
|
+
height: 1rem;
|
|
10634
|
+
transform: translateY(-50%);
|
|
10635
|
+
color: var(--muted-foreground);
|
|
10636
|
+
pointer-events: none;
|
|
10637
|
+
}
|
|
10638
|
+
|
|
10243
10639
|
.layout-clean-flat [data-svadmin-auth-page] form input {
|
|
10244
10640
|
width: 100%;
|
|
10245
10641
|
min-height: 2.75rem;
|
|
@@ -10280,6 +10676,104 @@ details[data-svadmin-filter][open] > :not(summary),
|
|
|
10280
10676
|
}
|
|
10281
10677
|
}
|
|
10282
10678
|
|
|
10679
|
+
/* Password field anatomy. These stable classes do not depend on host Tailwind,
|
|
10680
|
+
* and the logical padding keeps both the lock and reveal control clear of text
|
|
10681
|
+
* in empty, filled, and plain-text states. */
|
|
10682
|
+
.svadmin-password-input {
|
|
10683
|
+
display: grid;
|
|
10684
|
+
min-width: 0;
|
|
10685
|
+
gap: 0.5rem;
|
|
10686
|
+
}
|
|
10687
|
+
|
|
10688
|
+
.svadmin-password-input__label {
|
|
10689
|
+
color: var(--foreground);
|
|
10690
|
+
font-size: 0.875rem;
|
|
10691
|
+
font-weight: 600;
|
|
10692
|
+
}
|
|
10693
|
+
|
|
10694
|
+
.svadmin-password-input__field {
|
|
10695
|
+
position: relative;
|
|
10696
|
+
display: block;
|
|
10697
|
+
min-width: 0;
|
|
10698
|
+
}
|
|
10699
|
+
|
|
10700
|
+
.svadmin-password-input__field .svadmin-password-input__control.svadmin-input {
|
|
10701
|
+
padding-inline-start: 2.25rem;
|
|
10702
|
+
padding-inline-end: 2.5rem;
|
|
10703
|
+
}
|
|
10704
|
+
|
|
10705
|
+
.svadmin-password-input__icon,
|
|
10706
|
+
.svadmin-password-input__toggle {
|
|
10707
|
+
position: absolute;
|
|
10708
|
+
top: 50%;
|
|
10709
|
+
z-index: 1;
|
|
10710
|
+
translate: 0 -50%;
|
|
10711
|
+
}
|
|
10712
|
+
|
|
10713
|
+
.svadmin-password-input__icon {
|
|
10714
|
+
inset-inline-start: 0.75rem;
|
|
10715
|
+
width: 1rem;
|
|
10716
|
+
height: 1rem;
|
|
10717
|
+
color: var(--muted-foreground);
|
|
10718
|
+
pointer-events: none;
|
|
10719
|
+
}
|
|
10720
|
+
|
|
10721
|
+
.svadmin-password-input .svadmin-password-input__toggle {
|
|
10722
|
+
inset-inline-end: 0.25rem;
|
|
10723
|
+
width: 1.75rem;
|
|
10724
|
+
height: 1.75rem;
|
|
10725
|
+
min-height: 0;
|
|
10726
|
+
padding: 0;
|
|
10727
|
+
}
|
|
10728
|
+
|
|
10729
|
+
.svadmin-password-input__glyph {
|
|
10730
|
+
width: 1rem;
|
|
10731
|
+
height: 1rem;
|
|
10732
|
+
}
|
|
10733
|
+
|
|
10734
|
+
.svadmin-password-input__strength {
|
|
10735
|
+
display: flex;
|
|
10736
|
+
min-width: 0;
|
|
10737
|
+
align-items: center;
|
|
10738
|
+
gap: 0.5rem;
|
|
10739
|
+
}
|
|
10740
|
+
|
|
10741
|
+
.svadmin-password-input__strength-track {
|
|
10742
|
+
flex: 1 1 auto;
|
|
10743
|
+
min-width: 0;
|
|
10744
|
+
height: 0.375rem;
|
|
10745
|
+
overflow: hidden;
|
|
10746
|
+
border-radius: 999px;
|
|
10747
|
+
background: var(--muted);
|
|
10748
|
+
}
|
|
10749
|
+
|
|
10750
|
+
.svadmin-password-input__strength-fill {
|
|
10751
|
+
height: 100%;
|
|
10752
|
+
border-radius: inherit;
|
|
10753
|
+
background: var(--destructive);
|
|
10754
|
+
transition: width var(--svadmin-motion-standard) var(--svadmin-motion-easing);
|
|
10755
|
+
}
|
|
10756
|
+
|
|
10757
|
+
.svadmin-password-input__strength-fill[data-tone="warning"] {
|
|
10758
|
+
background: var(--warning);
|
|
10759
|
+
}
|
|
10760
|
+
|
|
10761
|
+
.svadmin-password-input__strength-fill[data-tone="info"] {
|
|
10762
|
+
background: var(--info);
|
|
10763
|
+
}
|
|
10764
|
+
|
|
10765
|
+
.svadmin-password-input__strength-fill[data-tone="success"] {
|
|
10766
|
+
background: var(--success);
|
|
10767
|
+
}
|
|
10768
|
+
|
|
10769
|
+
.svadmin-password-input__strength-label {
|
|
10770
|
+
flex: 0 0 auto;
|
|
10771
|
+
color: var(--muted-foreground);
|
|
10772
|
+
font-size: 0.75rem;
|
|
10773
|
+
line-height: 1.25;
|
|
10774
|
+
white-space: nowrap;
|
|
10775
|
+
}
|
|
10776
|
+
|
|
10283
10777
|
/* --- Stripe-inspired visual refinement ---------------------
|
|
10284
10778
|
* The existing clean-flat preset owns the shell geometry. This layer keeps
|
|
10285
10779
|
* that contract intact while giving the example a single neutral canvas,
|