@svadmin/ui 0.77.0 → 0.78.1

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.
Files changed (47) hide show
  1. package/dist/app.css +99 -79
  2. package/dist/app.theme.css +99 -79
  3. package/dist/components/AboutSettings.svelte +4 -3
  4. package/dist/components/AboutSettings.svelte.d.ts +1 -0
  5. package/dist/components/AdminApp.svelte +30 -15
  6. package/dist/components/ApiSettings.svelte +39 -2
  7. package/dist/components/AppearanceSettings.svelte +35 -9
  8. package/dist/components/AppearanceSettings.svelte.d.ts +4 -1
  9. package/dist/components/AutoTable.svelte +10 -6
  10. package/dist/components/AutoTable.svelte.d.ts +2 -0
  11. package/dist/components/IntegrationsSettings.svelte +5 -3
  12. package/dist/components/IntegrationsSettings.svelte.d.ts +1 -0
  13. package/dist/components/NotificationsSettings.svelte +18 -12
  14. package/dist/components/NotificationsSettings.svelte.d.ts +1 -0
  15. package/dist/components/ProfilePage.svelte +3 -3
  16. package/dist/components/ProfilePage.svelte.d.ts +4 -1
  17. package/dist/components/ResourceOverview.svelte +36 -0
  18. package/dist/components/ResourceOverview.svelte.d.ts +6 -0
  19. package/dist/components/ResourceOverviewCard.svelte +50 -0
  20. package/dist/components/ResourceOverviewCard.svelte.d.ts +7 -0
  21. package/dist/components/SecuritySettings.svelte +9 -6
  22. package/dist/components/SecuritySettings.svelte.d.ts +4 -1
  23. package/dist/components/account/SettingsEnterprisePage.svelte +19 -19
  24. package/dist/components/account/SettingsPlainPage.svelte +7 -3
  25. package/dist/components/account/SettingsSidebarPage.svelte +3 -3
  26. package/dist/components/content/ContentPageHeader.svelte +3 -1
  27. package/dist/components/content/ContentPageHeader.svelte.d.ts +1 -0
  28. package/dist/components/content/DashboardPage.svelte +35 -0
  29. package/dist/components/content/DashboardPage.svelte.d.ts +13 -0
  30. package/dist/components/content/FeedbackNotice.svelte +1 -1
  31. package/dist/components/content/PageSection.svelte +28 -0
  32. package/dist/components/content/PageSection.svelte.d.ts +10 -0
  33. package/dist/components/content/SettingsFieldRow.svelte +10 -5
  34. package/dist/components/content/SettingsFieldRow.svelte.d.ts +1 -0
  35. package/dist/components/content/SettingsGroup.svelte +3 -3
  36. package/dist/components/content/SettingsGroup.svelte.d.ts +1 -0
  37. package/dist/components/content/index.d.ts +2 -0
  38. package/dist/components/content/index.js +2 -0
  39. package/dist/components/ui/button/button.svelte +17 -1
  40. package/dist/components/ui/button/button.svelte.d.ts +1 -0
  41. package/dist/components/ui/sheet/sheet.svelte +3 -0
  42. package/dist/default-theme.d.ts +3 -0
  43. package/dist/default-theme.js +4 -0
  44. package/dist/index.d.ts +3 -0
  45. package/dist/index.js +3 -0
  46. package/dist/page-chrome.css +4 -4
  47. package/package.json +3 -3
package/dist/app.css CHANGED
@@ -5544,6 +5544,7 @@
5544
5544
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
5545
5545
  --default-transition-duration: 150ms;
5546
5546
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
5547
+ --shadow-surface: var(--svadmin-shadow-surface);
5547
5548
  }
5548
5549
  }
5549
5550
  @layer utilities.svadmin-ui {
@@ -5619,6 +5620,9 @@
5619
5620
  .hidden {
5620
5621
  display: none;
5621
5622
  }
5623
+ .inline {
5624
+ display: inline;
5625
+ }
5622
5626
  .inline-flex {
5623
5627
  display: inline-flex;
5624
5628
  }
@@ -6574,7 +6578,7 @@
6574
6578
  .svadmin-filter-toolbar__search-icon {
6575
6579
  position: absolute;
6576
6580
  top: 50%;
6577
- left: 0.75rem;
6581
+ inset-inline-start: 0.75rem;
6578
6582
  width: var(--svadmin-filter-search-icon-size);
6579
6583
  height: var(--svadmin-filter-search-icon-size);
6580
6584
  color: var(--muted-foreground);
@@ -6590,7 +6594,7 @@
6590
6594
  .svadmin-filter-toolbar[data-density] .svadmin-filter-toolbar__clear {
6591
6595
  position: absolute;
6592
6596
  top: 50%;
6593
- right: 0.25rem;
6597
+ inset-inline-end: 0.25rem;
6594
6598
  transform: translateY(-50%);
6595
6599
  }
6596
6600
  .svadmin-filter-toolbar[data-density] .svadmin-filter-toolbar__toggle {
@@ -6612,14 +6616,14 @@
6612
6616
  .svadmin-filter-toolbar .svadmin-filter-toolbar__chevron {
6613
6617
  width: 0.75rem;
6614
6618
  height: 0.75rem;
6615
- margin-left: 0.125rem;
6619
+ margin-inline-start: 0.125rem;
6616
6620
  color: var(--muted-foreground);
6617
6621
  }
6618
6622
  .svadmin-filter-toolbar[data-density] .svadmin-filter-toolbar__count {
6619
6623
  height: 1rem;
6620
6624
  min-height: 1rem;
6621
6625
  min-width: 1rem;
6622
- margin-left: 0.125rem;
6626
+ margin-inline-start: 0.125rem;
6623
6627
  padding: 0 0.25rem;
6624
6628
  font-size: 0.625rem;
6625
6629
  font-weight: 600;
@@ -7010,10 +7014,10 @@ h6,
7010
7014
  [data-slot="textarea"] {
7011
7015
  box-shadow: var(--shadow-control);
7012
7016
  transition:
7013
- background-color 140ms ease,
7014
- border-color 140ms ease,
7015
- color 140ms ease,
7016
- box-shadow 140ms ease;
7017
+ background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7018
+ border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7019
+ color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7020
+ box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7017
7021
  }
7018
7022
 
7019
7023
  [data-slot="input"],
@@ -7026,8 +7030,8 @@ h6,
7026
7030
  [data-slot="card"] {
7027
7031
  box-shadow: var(--shadow-surface);
7028
7032
  transition:
7029
- border-color 160ms ease,
7030
- box-shadow 160ms ease;
7033
+ border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7034
+ box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7031
7035
  }
7032
7036
 
7033
7037
  [data-slot="card"][data-interactive="true"]:hover {
@@ -7075,11 +7079,11 @@ h6,
7075
7079
  user-select: none;
7076
7080
  outline: none;
7077
7081
  transition:
7078
- background-color 140ms ease,
7079
- border-color 140ms ease,
7080
- color 140ms ease,
7081
- box-shadow 140ms ease,
7082
- transform 140ms ease;
7082
+ background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7083
+ border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7084
+ color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7085
+ box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7086
+ transform var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7083
7087
  }
7084
7088
 
7085
7089
  :is([data-slot="button"], .svadmin-button) > svg,
@@ -7090,8 +7094,8 @@ h6,
7090
7094
  pointer-events: none;
7091
7095
  }
7092
7096
 
7093
- :is([data-slot="button"], .svadmin-button):active,
7094
- :is([data-svadmin-button], .svadmin-button):active {
7097
+ :is([data-slot="button"], .svadmin-button):not(:disabled, [aria-disabled="true"], [data-disabled]):active,
7098
+ :is([data-svadmin-button], .svadmin-button):not(:disabled, [aria-disabled="true"], [data-disabled]):active {
7095
7099
  transform: translateY(1px);
7096
7100
  }
7097
7101
 
@@ -7262,7 +7266,7 @@ h6,
7262
7266
  font-weight: 600;
7263
7267
  line-height: 1;
7264
7268
  white-space: nowrap;
7265
- transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
7269
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7266
7270
  }
7267
7271
 
7268
7272
  :is([data-slot="badge"], .svadmin-badge).svadmin-badge > svg {
@@ -7362,7 +7366,7 @@ h6,
7362
7366
  }
7363
7367
 
7364
7368
  [data-slot="table-row"] {
7365
- transition: background-color 140ms ease;
7369
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7366
7370
  }
7367
7371
 
7368
7372
  [data-slot="table-row"]:hover {
@@ -7395,7 +7399,7 @@ h6,
7395
7399
  }
7396
7400
 
7397
7401
  [data-sonner-toaster] [data-sonner-toast] {
7398
- transition-duration: 180ms;
7402
+ transition-duration: var(--svadmin-motion-fast);
7399
7403
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
7400
7404
  }
7401
7405
 
@@ -7586,10 +7590,10 @@ main {
7586
7590
  color: var(--muted-foreground);
7587
7591
  pointer-events: none;
7588
7592
  transition:
7589
- background-color 140ms ease,
7590
- border-color 140ms ease,
7591
- color 140ms ease,
7592
- box-shadow 140ms ease;
7593
+ background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7594
+ border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7595
+ color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
7596
+ box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7593
7597
  }
7594
7598
 
7595
7599
  .svadmin-file-input__button {
@@ -7626,7 +7630,7 @@ main {
7626
7630
  background: transparent;
7627
7631
  color: var(--foreground);
7628
7632
  outline: none;
7629
- transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
7633
+ transition: border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing), background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7630
7634
  }
7631
7635
 
7632
7636
  .svadmin-input:not([data-input-type="file"]) {
@@ -7752,14 +7756,14 @@ main {
7752
7756
  width: 100%;
7753
7757
  max-width: min(32rem, calc(100% - 2rem));
7754
7758
  gap: 1rem;
7755
- border-radius: 0.75rem;
7759
+ border-radius: var(--radius-lg);
7756
7760
  padding: 1.5rem;
7757
7761
  background: var(--background);
7758
7762
  color: var(--foreground);
7759
7763
  outline: none;
7760
7764
  box-shadow: var(--svadmin-shadow-overlay);
7761
7765
  transform: translate(-50%, -50%);
7762
- transition: opacity 300ms ease, transform 300ms ease;
7766
+ transition: opacity var(--svadmin-motion-standard) var(--svadmin-motion-easing), transform var(--svadmin-motion-standard) var(--svadmin-motion-easing);
7763
7767
  }
7764
7768
 
7765
7769
  .svadmin-dialog-content[data-state="closed"] {
@@ -7851,7 +7855,7 @@ main {
7851
7855
  color: inherit;
7852
7856
  opacity: 0.7;
7853
7857
  cursor: pointer;
7854
- transition: opacity 120ms ease, box-shadow 120ms ease;
7858
+ transition: opacity var(--svadmin-motion-fast) var(--svadmin-motion-easing), box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7855
7859
  }
7856
7860
 
7857
7861
  .svadmin-sheet-close:hover {
@@ -7908,7 +7912,7 @@ main {
7908
7912
  font: inherit;
7909
7913
  font-size: 0.875rem;
7910
7914
  outline: none;
7911
- transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
7915
+ transition: border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing), background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
7912
7916
  }
7913
7917
 
7914
7918
  .svadmin-textarea:focus-visible {
@@ -7956,7 +7960,7 @@ main {
7956
7960
  height: 100%;
7957
7961
  flex: 1;
7958
7962
  background: var(--primary);
7959
- transition: transform 200ms ease;
7963
+ transition: transform var(--svadmin-motion-standard) var(--svadmin-motion-easing);
7960
7964
  }
7961
7965
 
7962
7966
  .svadmin-separator {
@@ -8009,7 +8013,7 @@ main {
8009
8013
  .svadmin-card-footer {
8010
8014
  display: flex;
8011
8015
  align-items: center;
8012
- border-radius: 0 0 0.75rem 0.75rem;
8016
+ border-radius: 0 0 var(--radius-lg) var(--radius-lg);
8013
8017
  padding: 1rem;
8014
8018
  background: color-mix(in srgb, var(--muted) 50%, transparent);
8015
8019
  }
@@ -8071,7 +8075,7 @@ main {
8071
8075
  }
8072
8076
 
8073
8077
  .svadmin-breadcrumb-link {
8074
- transition: color 120ms ease;
8078
+ transition: color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8075
8079
  }
8076
8080
 
8077
8081
  .svadmin-breadcrumb-link:hover {
@@ -8150,7 +8154,7 @@ main {
8150
8154
  gap: 0.5rem;
8151
8155
  margin: 0 -1.5rem -1.5rem;
8152
8156
  border-top: 1px solid var(--border);
8153
- border-radius: 0 0 0.75rem 0.75rem;
8157
+ border-radius: 0 0 var(--radius-lg) var(--radius-lg);
8154
8158
  padding: 1rem;
8155
8159
  background: color-mix(in srgb, var(--muted) 50%, transparent);
8156
8160
  }
@@ -8212,7 +8216,7 @@ main {
8212
8216
  font: inherit;
8213
8217
  font-size: 0.875rem;
8214
8218
  outline: none;
8215
- transition: border-color 120ms ease, box-shadow 120ms ease;
8219
+ transition: border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8216
8220
  }
8217
8221
 
8218
8222
  .svadmin-select:focus-visible {
@@ -8266,7 +8270,7 @@ main {
8266
8270
  font-weight: 500;
8267
8271
  outline: none;
8268
8272
  cursor: pointer;
8269
- transition: color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
8273
+ transition: color var(--svadmin-motion-fast) var(--svadmin-motion-easing), background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8270
8274
  }
8271
8275
 
8272
8276
  .svadmin-tabs-trigger[data-state="active"] {
@@ -8404,7 +8408,7 @@ main {
8404
8408
  outline: none;
8405
8409
  cursor: pointer;
8406
8410
  user-select: none;
8407
- transition: background-color 120ms ease, color 120ms ease;
8411
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8408
8412
  }
8409
8413
 
8410
8414
  .svadmin-dropdown-item[data-inset="true"] {
@@ -8477,7 +8481,7 @@ main {
8477
8481
  color: var(--primary-foreground);
8478
8482
  outline: none;
8479
8483
  cursor: pointer;
8480
- transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
8484
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), border-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8481
8485
  }
8482
8486
 
8483
8487
  .svadmin-checkbox[data-state="checked"],
@@ -8526,7 +8530,7 @@ main {
8526
8530
  outline: none;
8527
8531
  cursor: pointer;
8528
8532
  box-shadow: var(--svadmin-shadow-control);
8529
- transition: background-color 160ms ease, box-shadow 160ms ease;
8533
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), box-shadow var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8530
8534
  }
8531
8535
 
8532
8536
  .svadmin-switch[data-state="checked"] {
@@ -8550,7 +8554,7 @@ main {
8550
8554
  background: var(--background);
8551
8555
  box-shadow: var(--svadmin-shadow-overlay);
8552
8556
  transform: translateX(0);
8553
- transition: transform 160ms ease;
8557
+ transition: transform var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8554
8558
  pointer-events: none;
8555
8559
  }
8556
8560
 
@@ -8601,7 +8605,7 @@ main {
8601
8605
  font-weight: 500;
8602
8606
  outline: none;
8603
8607
  cursor: pointer;
8604
- transition: background-color 120ms ease, color 120ms ease;
8608
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8605
8609
  }
8606
8610
 
8607
8611
  .svadmin-navigation-link:hover,
@@ -8628,7 +8632,7 @@ main {
8628
8632
  width: 0.75rem;
8629
8633
  height: 0.75rem;
8630
8634
  margin-left: 0.25rem;
8631
- transition: transform 160ms ease;
8635
+ transition: transform var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8632
8636
  }
8633
8637
 
8634
8638
  .svadmin-navigation-trigger[data-state="open"] .svadmin-navigation-trigger-icon {
@@ -8681,7 +8685,7 @@ main {
8681
8685
  color: var(--popover-foreground);
8682
8686
  box-shadow: var(--svadmin-shadow-overlay);
8683
8687
  backdrop-filter: blur(12px);
8684
- transition: width 300ms ease, height 300ms ease;
8688
+ transition: width var(--svadmin-motion-standard) var(--svadmin-motion-easing), height var(--svadmin-motion-standard) var(--svadmin-motion-easing);
8685
8689
  }
8686
8690
 
8687
8691
  .svadmin-popover-content {
@@ -8817,7 +8821,7 @@ main {
8817
8821
  color: var(--foreground);
8818
8822
  text-align: left;
8819
8823
  text-decoration: none;
8820
- transition: background-color 150ms ease;
8824
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
8821
8825
  }
8822
8826
 
8823
8827
  .svadmin-metric-item[data-interactive="true"] {
@@ -9178,8 +9182,8 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9178
9182
  color: color-mix(in oklch, var(--sidebar-foreground) 80%, var(--sidebar));
9179
9183
  box-shadow: none;
9180
9184
  transition:
9181
- background-color 140ms ease,
9182
- color 140ms ease;
9185
+ background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing),
9186
+ color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
9183
9187
  }
9184
9188
 
9185
9189
  .layout-clean-flat .sidebar-menu-item:hover {
@@ -9281,7 +9285,7 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9281
9285
  }
9282
9286
 
9283
9287
  .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"] {
9284
- height: 3rem;
9288
+ height: 2.75rem;
9285
9289
  border-bottom-color: var(--svadmin-border);
9286
9290
  background: var(--svadmin-surface-muted);
9287
9291
  color: var(--svadmin-text-muted);
@@ -9296,12 +9300,19 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9296
9300
  }
9297
9301
 
9298
9302
  .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
9299
- height: 3.5rem;
9303
+ height: 3rem;
9300
9304
  border-bottom-color: var(--svadmin-border);
9301
9305
  color: var(--svadmin-text);
9302
9306
  font-size: 0.8125rem;
9303
9307
  }
9304
9308
 
9309
+ .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"][data-density="compact"],
9310
+ .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"][data-density="compact"] {
9311
+ height: 2rem;
9312
+ padding: 0.25rem 0.5rem;
9313
+ font-size: 0.75rem;
9314
+ }
9315
+
9305
9316
  .layout-clean-flat [data-svadmin-table-row]:hover [data-slot="table-cell"] {
9306
9317
  background: var(--svadmin-surface-hover);
9307
9318
  }
@@ -9592,7 +9603,7 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9592
9603
  flex-direction: column;
9593
9604
  gap: 1rem;
9594
9605
  border: 1px solid var(--border);
9595
- border-radius: 0.75rem;
9606
+ border-radius: var(--radius-lg);
9596
9607
  background: var(--card);
9597
9608
  padding: 1rem;
9598
9609
  color: var(--foreground);
@@ -9781,7 +9792,7 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9781
9792
  flex-direction: column;
9782
9793
  gap: 0.75rem;
9783
9794
  border: 1px solid var(--border);
9784
- border-radius: 0.75rem;
9795
+ border-radius: var(--radius-lg);
9785
9796
  background: var(--card);
9786
9797
  padding: 1rem;
9787
9798
  color: var(--foreground);
@@ -9832,7 +9843,7 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9832
9843
  .svadmin-anomaly-badge:is([data-slot="badge"], .svadmin-badge)[data-good="true"]:hover { background: color-mix(in oklch, var(--success) 90%, transparent); }
9833
9844
 
9834
9845
  .svadmin-stats-card { gap: 1rem; border-radius: 0.5rem; padding: 1.25rem; }
9835
- .svadmin-stats-card[data-variant="default"] { background: var(--card); box-shadow: var(--shadow-surface); transition: box-shadow 300ms; }
9846
+ .svadmin-stats-card[data-variant="default"] { background: var(--card); box-shadow: var(--shadow-surface); transition: box-shadow var(--svadmin-motion-standard); }
9836
9847
  .svadmin-stats-card[data-variant="default"]:hover { box-shadow: var(--shadow-surface-hover); }
9837
9848
  .svadmin-stats-card[data-variant="outline"] { border: 2px solid var(--border); background: transparent; }
9838
9849
  .svadmin-stats-card[data-variant="filled"] { border: 0; background: color-mix(in srgb, var(--muted) 50%, transparent); box-shadow: var(--shadow-surface); }
@@ -10018,8 +10029,8 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10018
10029
  --sidebar-accent-foreground: #0a2540;
10019
10030
  --sidebar-border: #e6ebf1;
10020
10031
  --svadmin-shadow-control: 0 1px 2px rgb(15 23 42 / 0.04), 0 0 0 1px rgb(15 23 42 / 0.02);
10021
- --svadmin-shadow-surface: 0 2px 4px rgb(15 23 42 / 0.04), 0 8px 16px rgb(15 23 42 / 0.08);
10022
- --svadmin-shadow-surface-hover: 0 4px 8px rgb(15 23 42 / 0.06), 0 16px 32px rgb(15 23 42 / 0.1);
10032
+ --svadmin-shadow-surface: 0 1px 3px rgb(15 23 42 / 0.04), 0 4px 8px rgb(15 23 42 / 0.04);
10033
+ --svadmin-shadow-surface-hover: 0 2px 4px rgb(15 23 42 / 0.06), 0 6px 12px rgb(15 23 42 / 0.06);
10023
10034
  --svadmin-control-shadow: var(--svadmin-shadow-control);
10024
10035
  --svadmin-surface-shadow: var(--svadmin-shadow-surface);
10025
10036
  --svadmin-surface-hover-shadow: var(--svadmin-shadow-surface-hover);
@@ -10060,8 +10071,8 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10060
10071
  background: var(--background);
10061
10072
  color: var(--foreground);
10062
10073
  background-image:
10063
- linear-gradient(to right, color-mix(in oklch, var(--primary) 4%, transparent) 1px, transparent 1px),
10064
- linear-gradient(to bottom, color-mix(in oklch, var(--primary) 4%, transparent) 1px, transparent 1px);
10074
+ linear-gradient(to right, color-mix(in oklch, var(--primary) 2%, transparent) 1px, transparent 1px),
10075
+ linear-gradient(to bottom, color-mix(in oklch, var(--primary) 2%, transparent) 1px, transparent 1px);
10065
10076
  background-size: var(--svadmin-grid-size) var(--svadmin-grid-size);
10066
10077
  }
10067
10078
 
@@ -10082,7 +10093,7 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10082
10093
  color: var(--sidebar-foreground);
10083
10094
  font-size: 0.8125rem;
10084
10095
  font-weight: 500;
10085
- transition: background-color 180ms ease-out, color 180ms ease-out;
10096
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing), color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
10086
10097
  }
10087
10098
 
10088
10099
  .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item:hover {
@@ -10146,8 +10157,6 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10146
10157
  .layout-clean-flat[data-theme="stripe"] [data-svadmin-form-header] h1,
10147
10158
  .layout-clean-flat[data-theme="stripe"] [data-svadmin-resource-operations] h1 {
10148
10159
  color: var(--foreground);
10149
- font-size: 1.5rem;
10150
- font-weight: 650;
10151
10160
  letter-spacing: 0;
10152
10161
  }
10153
10162
 
@@ -10165,11 +10174,10 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10165
10174
  }
10166
10175
 
10167
10176
  .layout-clean-flat[data-theme="stripe"] [data-slot="card"][data-interactive="true"] {
10168
- transition: transform 200ms ease-out, box-shadow 200ms ease-out, border-color 200ms ease-out;
10177
+ transition: box-shadow var(--svadmin-motion-standard) var(--svadmin-motion-easing), border-color var(--svadmin-motion-standard) var(--svadmin-motion-easing);
10169
10178
  }
10170
10179
 
10171
10180
  .layout-clean-flat[data-theme="stripe"] [data-slot="card"][data-interactive="true"]:hover {
10172
- transform: translateY(-0.25rem);
10173
10181
  box-shadow: var(--svadmin-surface-hover-shadow);
10174
10182
  }
10175
10183
 
@@ -10189,7 +10197,7 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10189
10197
  border-radius: 0.5rem;
10190
10198
  box-shadow: var(--svadmin-control-shadow);
10191
10199
  font-weight: 600;
10192
- transition: transform 200ms ease-out, box-shadow 200ms ease-out, background-color 200ms ease-out, border-color 200ms ease-out;
10200
+ transition: transform var(--svadmin-motion-standard) var(--svadmin-motion-easing), box-shadow var(--svadmin-motion-standard) var(--svadmin-motion-easing), background-color var(--svadmin-motion-standard) var(--svadmin-motion-easing), border-color var(--svadmin-motion-standard) var(--svadmin-motion-easing);
10193
10201
  }
10194
10202
 
10195
10203
  .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):is([data-variant="ghost"], [data-variant="link"], .svadmin-button--ghost, .svadmin-button--link) {
@@ -10203,38 +10211,38 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10203
10211
  inset 0 1px 0 rgb(255 255 255 / 0.2);
10204
10212
  }
10205
10213
 
10206
- .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):active {
10214
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):not(:disabled, [aria-disabled="true"], [data-disabled]):active {
10207
10215
  transform: translateY(0) scale(0.98);
10208
10216
  }
10209
10217
 
10210
- .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):is([data-variant="default"], [data-variant="outline"], .svadmin-button--default, .svadmin-button--outline):active {
10218
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):is([data-variant="default"], [data-variant="outline"], .svadmin-button--default, .svadmin-button--outline):not(:disabled, [aria-disabled="true"], [data-disabled]):active {
10211
10219
  box-shadow: inset 0 2px 4px rgb(0 0 0 / 0.18);
10212
10220
  }
10213
10221
 
10214
10222
  .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):focus-visible,
10215
10223
  .layout-clean-flat[data-theme="stripe"] [data-slot="input"]:focus-visible,
10216
10224
  .layout-clean-flat[data-theme="stripe"] [data-slot="textarea"]:focus-visible,
10225
+ .layout-clean-flat[data-theme="stripe"] [data-slot="select"]:focus-visible,
10217
10226
  .layout-clean-flat[data-theme="stripe"] [data-slot="select-trigger"]:focus-visible {
10218
- outline: 2px solid color-mix(in oklch, var(--ring) 78%, transparent);
10219
- outline-offset: 2px;
10227
+ outline: 2px solid var(--ring);
10228
+ outline-offset: var(--svadmin-focus-offset);
10220
10229
  }
10221
10230
 
10222
10231
  .layout-clean-flat[data-theme="stripe"] :is(.transition, .transition-all, .transition-colors, .transition-transform, .transition-opacity) {
10223
- transition-duration: 200ms;
10224
- transition-timing-function: ease-out;
10232
+ transition-duration: var(--svadmin-motion-standard);
10233
+ transition-timing-function: var(--svadmin-motion-easing);
10225
10234
  }
10226
10235
 
10227
10236
  .layout-clean-flat[data-theme="stripe"] [data-slot="input"],
10228
10237
  .layout-clean-flat[data-theme="stripe"] [data-slot="textarea"],
10238
+ .layout-clean-flat[data-theme="stripe"] [data-slot="select"],
10229
10239
  .layout-clean-flat[data-theme="stripe"] [data-slot="select-trigger"] {
10230
- min-height: 2.5rem;
10231
10240
  border-radius: 0.5rem;
10232
10241
  background: var(--card);
10233
10242
  box-shadow: var(--svadmin-control-shadow);
10234
10243
  }
10235
10244
 
10236
10245
  .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-head] [data-slot="table-head"] {
10237
- height: 2.75rem;
10238
10246
  background: var(--muted);
10239
10247
  color: var(--muted-foreground);
10240
10248
  font-size: 0.75rem;
@@ -10244,19 +10252,31 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10244
10252
  }
10245
10253
 
10246
10254
  .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-row] [data-slot="table-cell"] {
10247
- height: 3.25rem;
10248
10255
  background: var(--card);
10249
10256
  color: var(--foreground);
10250
10257
  }
10251
10258
 
10252
10259
  .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-row] {
10253
- transition: background-color 160ms ease-out;
10260
+ transition: background-color var(--svadmin-motion-fast) var(--svadmin-motion-easing);
10254
10261
  }
10255
10262
 
10256
10263
  .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-row]:hover [data-slot="table-cell"] {
10257
10264
  background: color-mix(in oklch, var(--primary) 3%, var(--card));
10258
10265
  }
10259
10266
 
10267
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-row][data-state="selected"] [data-slot="table-cell"] {
10268
+ background: var(--accent);
10269
+ color: var(--accent-foreground);
10270
+ }
10271
+
10272
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="input"], [data-slot="textarea"], [data-slot="select"], [data-slot="select-trigger"])[aria-invalid="true"] {
10273
+ border-color: var(--destructive);
10274
+ }
10275
+
10276
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="input"], [data-slot="textarea"], [data-slot="select"], [data-slot="select-trigger"])[aria-invalid="true"]:focus-visible {
10277
+ outline-color: var(--destructive);
10278
+ }
10279
+
10260
10280
  .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-toolbar] {
10261
10281
  border: 1px solid var(--border);
10262
10282
  border-radius: 0.5rem;
@@ -10280,13 +10300,6 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10280
10300
  padding-block: 1rem 2rem;
10281
10301
  }
10282
10302
 
10283
- .layout-clean-flat[data-theme="stripe"] [data-svadmin-page-header] h1,
10284
- .layout-clean-flat[data-theme="stripe"] [data-svadmin-list-header] h1,
10285
- .layout-clean-flat[data-theme="stripe"] [data-svadmin-form-header] h1,
10286
- .layout-clean-flat[data-theme="stripe"] [data-svadmin-resource-operations] h1 {
10287
- font-size: 1.25rem;
10288
- }
10289
-
10290
10303
  .layout-clean-flat[data-theme="stripe"] [data-svadmin-topbar] .svadmin-header-search {
10291
10304
  min-width: 0;
10292
10305
  }
@@ -10296,12 +10309,19 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10296
10309
  }
10297
10310
  }
10298
10311
 
10299
- @media (hover: hover) and (pointer: fine) {
10300
- .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):is([data-variant="default"], [data-variant="outline"], .svadmin-button--default, .svadmin-button--outline):hover {
10312
+ @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
10313
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):is([data-variant="default"], [data-variant="outline"], .svadmin-button--default, .svadmin-button--outline):not(:disabled, [aria-disabled="true"], [data-disabled]):hover:not(:active) {
10301
10314
  transform: translateY(-0.125rem);
10302
10315
  }
10303
10316
  }
10304
10317
 
10318
+ @media (prefers-reduced-motion: reduce) {
10319
+ :is([data-slot="button"], [data-svadmin-button], .svadmin-button):not(:disabled, [aria-disabled="true"], [data-disabled]):active,
10320
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):not(:disabled, [aria-disabled="true"], [data-disabled]):active {
10321
+ transform: none;
10322
+ }
10323
+ }
10324
+
10305
10325
  :root,
10306
10326
  .svadmin-theme{
10307
10327
  --color-background: var(--background);