@svadmin/ui 0.75.0 → 0.77.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.
Files changed (53) hide show
  1. package/dist/app.css +383 -22
  2. package/dist/app.theme.css +383 -22
  3. package/dist/component-registry.d.ts +300 -0
  4. package/dist/component-registry.js +2 -0
  5. package/dist/components/AppFooter.svelte +137 -0
  6. package/dist/components/AppFooter.svelte.d.ts +25 -0
  7. package/dist/components/CodeEditor.svelte +145 -0
  8. package/dist/components/CodeEditor.svelte.d.ts +26 -0
  9. package/dist/components/HighlightText.svelte +46 -0
  10. package/dist/components/HighlightText.svelte.d.ts +13 -0
  11. package/dist/components/JsonEditor.svelte +182 -0
  12. package/dist/components/JsonEditor.svelte.d.ts +22 -0
  13. package/dist/components/Layout.svelte +38 -5
  14. package/dist/components/Layout.svelte.d.ts +4 -3
  15. package/dist/components/Marquee.svelte +104 -0
  16. package/dist/components/Marquee.svelte.d.ts +20 -0
  17. package/dist/components/MediaPlayer.svelte +104 -0
  18. package/dist/components/MediaPlayer.svelte.d.ts +21 -0
  19. package/dist/components/PhoneInput.svelte +157 -0
  20. package/dist/components/PhoneInput.svelte.d.ts +26 -0
  21. package/dist/components/QRCode.svelte +88 -0
  22. package/dist/components/QRCode.svelte.d.ts +22 -0
  23. package/dist/components/ResizableGrid.svelte +252 -0
  24. package/dist/components/ResizableGrid.svelte.d.ts +34 -0
  25. package/dist/components/Sidebar.svelte +1 -1
  26. package/dist/components/TopProgressBar.svelte +90 -0
  27. package/dist/components/TopProgressBar.svelte.d.ts +15 -0
  28. package/dist/components/browser.svelte.d.ts +65 -0
  29. package/dist/components/browser.svelte.js +228 -0
  30. package/dist/components/charts/AreaChart.svelte +78 -0
  31. package/dist/components/charts/AreaChart.svelte.d.ts +17 -0
  32. package/dist/components/charts/ScatterChart.svelte +82 -0
  33. package/dist/components/charts/ScatterChart.svelte.d.ts +17 -0
  34. package/dist/components/charts/index.d.ts +2 -0
  35. package/dist/components/charts/index.js +2 -0
  36. package/dist/components/code-editor-presets.d.ts +14 -0
  37. package/dist/components/code-editor-presets.js +14 -0
  38. package/dist/components/content/ContentPageHeader.svelte +17 -3
  39. package/dist/components/content/ContentPageHeader.svelte.d.ts +1 -0
  40. package/dist/components/content/ContentPageShell.svelte +12 -3
  41. package/dist/components/content/ContentPageShell.svelte.d.ts +1 -0
  42. package/dist/components/content/MetricBlock.svelte +1 -1
  43. package/dist/components/highlight.d.ts +16 -0
  44. package/dist/components/highlight.js +68 -0
  45. package/dist/components/media.svelte.d.ts +27 -0
  46. package/dist/components/media.svelte.js +60 -0
  47. package/dist/components/phone-dial-codes.d.ts +19 -0
  48. package/dist/components/phone-dial-codes.js +112 -0
  49. package/dist/index.d.ts +19 -1
  50. package/dist/index.js +14 -1
  51. package/dist/recipes.d.ts +77 -38
  52. package/dist/recipes.js +33 -8
  53. package/package.json +64 -4
@@ -5530,6 +5530,8 @@
5530
5530
  --text-sm--line-height: calc(1.25 / 0.875);
5531
5531
  --text-base: 1rem;
5532
5532
  --text-base--line-height: calc(1.5 / 1);
5533
+ --text-lg: 1.125rem;
5534
+ --text-lg--line-height: calc(1.75 / 1.125);
5533
5535
  --text-xl: 1.25rem;
5534
5536
  --text-xl--line-height: calc(1.75 / 1.25);
5535
5537
  --text-2xl: 1.5rem;
@@ -5539,6 +5541,7 @@
5539
5541
  --leading-tight: 1.25;
5540
5542
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
5541
5543
  --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
5544
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
5542
5545
  --default-transition-duration: 150ms;
5543
5546
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
5544
5547
  }
@@ -5763,6 +5766,11 @@
5763
5766
  .gap-8 {
5764
5767
  gap: calc(var(--spacing) * 8);
5765
5768
  }
5769
+ :where(.space-y-0\.5 > :not(:last-child)) {
5770
+ --tw-space-y-reverse: 0;
5771
+ margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
5772
+ margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
5773
+ }
5766
5774
  :where(.space-y-1 > :not(:last-child)) {
5767
5775
  --tw-space-y-reverse: 0;
5768
5776
  margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
@@ -5930,6 +5938,10 @@
5930
5938
  font-size: var(--text-base);
5931
5939
  line-height: var(--tw-leading, var(--text-base--line-height));
5932
5940
  }
5941
+ .text-lg {
5942
+ font-size: var(--text-lg);
5943
+ line-height: var(--tw-leading, var(--text-lg--line-height));
5944
+ }
5933
5945
  .text-sm {
5934
5946
  font-size: var(--text-sm);
5935
5947
  line-height: var(--tw-leading, var(--text-sm--line-height));
@@ -5945,6 +5957,10 @@
5945
5957
  .text-\[0\.8125rem\] {
5946
5958
  font-size: 0.8125rem;
5947
5959
  }
5960
+ .leading-5 {
5961
+ --tw-leading: calc(var(--spacing) * 5);
5962
+ line-height: calc(var(--spacing) * 5);
5963
+ }
5948
5964
  .leading-6 {
5949
5965
  --tw-leading: calc(var(--spacing) * 6);
5950
5966
  line-height: calc(var(--spacing) * 6);
@@ -6019,6 +6035,10 @@
6019
6035
  .opacity-50 {
6020
6036
  opacity: 50%;
6021
6037
  }
6038
+ .shadow {
6039
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
6040
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
6041
+ }
6022
6042
  .shadow-sm {
6023
6043
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
6024
6044
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -6045,6 +6065,10 @@
6045
6065
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
6046
6066
  transition-duration: var(--tw-duration, var(--default-transition-duration));
6047
6067
  }
6068
+ .ease-in-out {
6069
+ --tw-ease: var(--ease-in-out);
6070
+ transition-timing-function: var(--ease-in-out);
6071
+ }
6048
6072
  .select-none {
6049
6073
  -webkit-user-select: none;
6050
6074
  user-select: none;
@@ -6389,6 +6413,10 @@
6389
6413
  syntax: "*";
6390
6414
  inherits: false;
6391
6415
  }
6416
+ @property --tw-ease {
6417
+ syntax: "*";
6418
+ inherits: false;
6419
+ }
6392
6420
  @layer properties {
6393
6421
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
6394
6422
  *, ::before, ::after, ::backdrop {
@@ -6434,6 +6462,7 @@
6434
6462
  --tw-drop-shadow-color: initial;
6435
6463
  --tw-drop-shadow-alpha: 100%;
6436
6464
  --tw-drop-shadow-size: initial;
6465
+ --tw-ease: initial;
6437
6466
  }
6438
6467
  }
6439
6468
  }
@@ -6670,7 +6699,8 @@
6670
6699
  --card-foreground: oklch(0.205 0.012 264);
6671
6700
  --popover: oklch(1 0 0);
6672
6701
  --popover-foreground: oklch(0.205 0.012 264);
6673
- --primary: oklch(0.558 0.22 278);
6702
+ /* Stripe is the default when no persisted or explicit preset exists. */
6703
+ --primary: oklch(0.54 0.24 293);
6674
6704
  --primary-foreground: oklch(0.99 0 0);
6675
6705
  --secondary: oklch(0.95 0.006 264);
6676
6706
  --secondary-foreground: oklch(0.265 0.014 264);
@@ -6682,8 +6712,8 @@
6682
6712
  --destructive-foreground: oklch(0.99 0 0);
6683
6713
  --border: oklch(0.925 0.003 264);
6684
6714
  --input: oklch(0.84 0.01 264);
6685
- --ring: oklch(0.558 0.22 278);
6686
- --chart-1: oklch(0.558 0.22 278);
6715
+ --ring: oklch(0.54 0.24 293);
6716
+ --chart-1: oklch(0.54 0.24 293);
6687
6717
  --chart-2: oklch(0.57 0.12 196);
6688
6718
  --chart-3: oklch(0.56 0.13 244);
6689
6719
  --chart-4: oklch(0.72 0.15 78);
@@ -6696,12 +6726,12 @@
6696
6726
  --info-foreground: oklch(0.99 0 0);
6697
6727
  --sidebar: oklch(1 0 0);
6698
6728
  --sidebar-foreground: oklch(0.265 0.014 264);
6699
- --sidebar-primary: oklch(0.558 0.22 278);
6729
+ --sidebar-primary: oklch(0.54 0.24 293);
6700
6730
  --sidebar-primary-foreground: oklch(0.99 0 0);
6701
6731
  --sidebar-accent: oklch(0.962 0.012 278);
6702
6732
  --sidebar-accent-foreground: oklch(0.34 0.105 278);
6703
6733
  --sidebar-border: var(--border);
6704
- --sidebar-ring: oklch(0.558 0.22 278);
6734
+ --sidebar-ring: oklch(0.54 0.24 293);
6705
6735
  --svadmin-shadow-control: 0 1px 2px rgb(15 23 42 / 0.04);
6706
6736
  --svadmin-shadow-surface: 0 1px 2px rgb(15 23 42 / 0.035);
6707
6737
  --svadmin-shadow-surface-hover: 0 2px 5px rgb(15 23 42 / 0.06);
@@ -6715,8 +6745,8 @@
6715
6745
  --card-foreground: oklch(0.96 0.004 264);
6716
6746
  --popover: oklch(0.195 0.012 264);
6717
6747
  --popover-foreground: oklch(0.96 0.004 264);
6718
- --primary: oklch(0.68 0.18 278);
6719
- --primary-foreground: oklch(0.15 0.03 278);
6748
+ --primary: oklch(0.72 0.19 293);
6749
+ --primary-foreground: oklch(0.16 0.02 270);
6720
6750
  --secondary: oklch(0.235 0.012 264);
6721
6751
  --secondary-foreground: oklch(0.94 0.004 264);
6722
6752
  --muted: oklch(0.235 0.012 264);
@@ -6727,8 +6757,8 @@
6727
6757
  --destructive-foreground: oklch(0.98 0 0);
6728
6758
  --border: oklch(0.3 0.012 264);
6729
6759
  --input: oklch(0.335 0.014 264);
6730
- --ring: oklch(0.68 0.18 278);
6731
- --chart-1: oklch(0.68 0.18 278);
6760
+ --ring: oklch(0.72 0.19 293);
6761
+ --chart-1: oklch(0.72 0.19 293);
6732
6762
  --chart-2: oklch(0.7 0.13 177);
6733
6763
  --chart-3: oklch(0.72 0.13 230);
6734
6764
  --chart-4: oklch(0.78 0.14 83);
@@ -6741,12 +6771,12 @@
6741
6771
  --info-foreground: oklch(0.15 0.03 244);
6742
6772
  --sidebar: oklch(0.17 0.01 264);
6743
6773
  --sidebar-foreground: oklch(0.9 0.006 264);
6744
- --sidebar-primary: oklch(0.68 0.18 278);
6745
- --sidebar-primary-foreground: oklch(0.15 0.03 278);
6774
+ --sidebar-primary: oklch(0.72 0.19 293);
6775
+ --sidebar-primary-foreground: oklch(0.16 0.02 270);
6746
6776
  --sidebar-accent: oklch(0.245 0.035 278);
6747
6777
  --sidebar-accent-foreground: oklch(0.84 0.09 278);
6748
6778
  --sidebar-border: oklch(0.3 0.012 264);
6749
- --sidebar-ring: oklch(0.68 0.18 278);
6779
+ --sidebar-ring: oklch(0.72 0.19 293);
6750
6780
  --svadmin-shadow-control: 0 1px 2px rgb(0 0 0 / 0.24), 0 0 0 1px rgb(255 255 255 / 0.025);
6751
6781
  --svadmin-shadow-surface: 0 1px 2px rgb(0 0 0 / 0.22), 0 1px 3px rgb(0 0 0 / 0.16);
6752
6782
  --svadmin-shadow-surface-hover: 0 2px 5px rgb(0 0 0 / 0.28), 0 1px 2px rgb(0 0 0 / 0.2);
@@ -6781,7 +6811,7 @@
6781
6811
  --chart-1: oklch(0.68 0.18 278);
6782
6812
  }
6783
6813
 
6784
- /* Indigo (default) */
6814
+ /* Indigo (compatibility preset) */
6785
6815
  [data-theme="indigo"] {
6786
6816
  --primary: oklch(0.558 0.22 278);
6787
6817
  --primary-foreground: oklch(0.985 0 0);
@@ -6802,6 +6832,28 @@
6802
6832
  --chart-1: oklch(0.68 0.18 278);
6803
6833
  }
6804
6834
 
6835
+ /* Stripe-inspired preset (matches @svadmin/core builtinPresets.stripe). */
6836
+ [data-theme="stripe"] {
6837
+ --primary: oklch(0.54 0.24 293);
6838
+ --primary-foreground: oklch(0.99 0 0);
6839
+ --ring: oklch(0.54 0.24 293);
6840
+ --sidebar-primary: oklch(0.54 0.24 293);
6841
+ --sidebar-primary-foreground: oklch(0.99 0 0);
6842
+ --sidebar-ring: oklch(0.54 0.24 293);
6843
+ --chart-1: oklch(0.54 0.24 293);
6844
+ }
6845
+ .dark[data-theme="stripe"],
6846
+ .dark [data-theme="stripe"],
6847
+ [data-theme="stripe"][data-theme-mode="dark"] {
6848
+ --primary: oklch(0.72 0.19 293);
6849
+ --primary-foreground: oklch(0.16 0.02 270);
6850
+ --ring: oklch(0.72 0.19 293);
6851
+ --sidebar-primary: oklch(0.72 0.19 293);
6852
+ --sidebar-primary-foreground: oklch(0.16 0.02 270);
6853
+ --sidebar-ring: oklch(0.72 0.19 293);
6854
+ --chart-1: oklch(0.72 0.19 293);
6855
+ }
6856
+
6805
6857
  /* Blue */
6806
6858
  [data-theme="blue"] {
6807
6859
  --primary: oklch(0.546 0.245 262.881);
@@ -6933,7 +6985,7 @@
6933
6985
  body {
6934
6986
  background: var(--background);
6935
6987
  color: var(--foreground);
6936
- font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
6988
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
6937
6989
  font-size: 0.875rem;
6938
6990
  line-height: 1.5;
6939
6991
  -webkit-font-smoothing: antialiased;
@@ -9093,6 +9145,10 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9093
9145
  --svadmin-surface-shadow: var(--shadow-surface);
9094
9146
  --svadmin-surface-hover-shadow: var(--shadow-surface-hover);
9095
9147
  --svadmin-floating-shadow: var(--shadow-overlay);
9148
+ --svadmin-motion-fast: 150ms;
9149
+ --svadmin-motion-standard: 200ms;
9150
+ --svadmin-motion-slow: 900ms;
9151
+ --svadmin-focus-offset: 2px;
9096
9152
  }
9097
9153
 
9098
9154
  .layout-clean-flat [data-svadmin-main] {
@@ -9433,14 +9489,6 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9433
9489
  min-height: 4.25rem;
9434
9490
  }
9435
9491
 
9436
- .layout-clean-flat [data-svadmin-content-page] > :is(div, section, form) {
9437
- margin-bottom: 1.25rem;
9438
- }
9439
-
9440
- .layout-clean-flat [data-svadmin-content-page] > :is(div, section, form):last-child {
9441
- margin-bottom: 0;
9442
- }
9443
-
9444
9492
  .layout-clean-flat [data-svadmin-content-page] > div:first-child,
9445
9493
  .layout-clean-flat [data-svadmin-content-page] > .flex:first-child,
9446
9494
  .layout-clean-flat [data-svadmin-content-page] > .relative:first-child {
@@ -9941,6 +9989,319 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9941
9989
  }
9942
9990
  }
9943
9991
 
9992
+ /* --- Stripe-inspired visual refinement ---------------------
9993
+ * The existing clean-flat preset owns the shell geometry. This layer keeps
9994
+ * that contract intact while giving the example a single neutral canvas,
9995
+ * restrained elevation, and one deliberate interaction accent.
9996
+ */
9997
+ .layout-clean-flat[data-theme="stripe"] {
9998
+ --background: #f6f9fc;
9999
+ --foreground: #0a2540;
10000
+ --radius-md: 0.5rem;
10001
+ --radius-lg: 0.5rem;
10002
+ --radius-xl: 0.5rem;
10003
+ --card: #ffffff;
10004
+ --card-foreground: #0a2540;
10005
+ --popover: #ffffff;
10006
+ --popover-foreground: #0a2540;
10007
+ --secondary: #eef2f7;
10008
+ --secondary-foreground: #425466;
10009
+ --muted: #f1f4f8;
10010
+ --muted-foreground: #425466;
10011
+ --accent: #eef0ff;
10012
+ --accent-foreground: #5147d9;
10013
+ --border: #e6ebf1;
10014
+ --input: #cbd5e1;
10015
+ --sidebar: #ffffff;
10016
+ --sidebar-foreground: #425466;
10017
+ --sidebar-accent: #f3f5ff;
10018
+ --sidebar-accent-foreground: #0a2540;
10019
+ --sidebar-border: #e6ebf1;
10020
+ --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);
10023
+ --svadmin-control-shadow: var(--svadmin-shadow-control);
10024
+ --svadmin-surface-shadow: var(--svadmin-shadow-surface);
10025
+ --svadmin-surface-hover-shadow: var(--svadmin-shadow-surface-hover);
10026
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
10027
+ letter-spacing: 0;
10028
+ }
10029
+
10030
+ .layout-clean-flat[data-theme="stripe"].svadmin-theme-dark,
10031
+ .dark.layout-clean-flat[data-theme="stripe"] {
10032
+ --background: #0f172a;
10033
+ --foreground: #f1f5f9;
10034
+ --card: #111c2e;
10035
+ --card-foreground: #f1f5f9;
10036
+ --popover: #111c2e;
10037
+ --popover-foreground: #f1f5f9;
10038
+ --secondary: #1e293b;
10039
+ --secondary-foreground: #cbd5e1;
10040
+ --muted: #18263b;
10041
+ --muted-foreground: #9aa9bd;
10042
+ --accent: #25224f;
10043
+ --accent-foreground: #c6c2ff;
10044
+ --border: #26364c;
10045
+ --input: #3a4a60;
10046
+ --sidebar: #101b2d;
10047
+ --sidebar-foreground: #cbd5e1;
10048
+ --sidebar-accent: #1a2740;
10049
+ --sidebar-accent-foreground: #f8fafc;
10050
+ --sidebar-border: #26364c;
10051
+ --svadmin-shadow-control: 0 1px 2px rgb(0 0 0 / 0.22), 0 0 0 1px rgb(255 255 255 / 0.02);
10052
+ --svadmin-shadow-surface: 0 2px 4px rgb(0 0 0 / 0.22), 0 8px 18px rgb(0 0 0 / 0.18);
10053
+ --svadmin-shadow-surface-hover: 0 4px 10px rgb(0 0 0 / 0.3), 0 16px 32px rgb(0 0 0 / 0.22);
10054
+ --svadmin-control-shadow: var(--svadmin-shadow-control);
10055
+ --svadmin-surface-shadow: var(--svadmin-shadow-surface);
10056
+ --svadmin-surface-hover-shadow: var(--svadmin-shadow-surface-hover);
10057
+ }
10058
+
10059
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-main] {
10060
+ background: var(--background);
10061
+ color: var(--foreground);
10062
+ 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);
10065
+ background-size: var(--svadmin-grid-size) var(--svadmin-grid-size);
10066
+ }
10067
+
10068
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-sidebar] {
10069
+ border-inline-end: 1px solid var(--sidebar-border);
10070
+ background: var(--sidebar);
10071
+ box-shadow: none;
10072
+ }
10073
+
10074
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-sidebar] > div:first-child {
10075
+ border-bottom: 1px solid var(--sidebar-border);
10076
+ }
10077
+
10078
+ .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item {
10079
+ min-height: 2.25rem;
10080
+ margin-block: 0.125rem;
10081
+ border-radius: 0.375rem;
10082
+ color: var(--sidebar-foreground);
10083
+ font-size: 0.8125rem;
10084
+ font-weight: 500;
10085
+ transition: background-color 180ms ease-out, color 180ms ease-out;
10086
+ }
10087
+
10088
+ .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item:hover {
10089
+ background: var(--sidebar-accent);
10090
+ color: var(--sidebar-accent-foreground);
10091
+ }
10092
+
10093
+ .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item-active {
10094
+ background: color-mix(in oklch, var(--primary) 9%, var(--sidebar));
10095
+ color: var(--primary);
10096
+ font-weight: 600;
10097
+ }
10098
+
10099
+ .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item-active::before {
10100
+ content: none;
10101
+ }
10102
+
10103
+ .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item-active svg {
10104
+ color: var(--primary);
10105
+ }
10106
+
10107
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-sidebar] nav > * > button:not(.sidebar-menu-item) {
10108
+ color: var(--muted-foreground);
10109
+ font-size: 0.6875rem;
10110
+ font-weight: 600;
10111
+ letter-spacing: 0;
10112
+ text-transform: none;
10113
+ }
10114
+
10115
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-topbar] {
10116
+ min-height: 4rem;
10117
+ border-bottom: 1px solid var(--border);
10118
+ background: color-mix(in oklch, var(--card) 96%, transparent);
10119
+ box-shadow: none;
10120
+ }
10121
+
10122
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-topbar] .svadmin-header-search {
10123
+ min-width: 10rem;
10124
+ border-color: var(--border);
10125
+ border-radius: 0.5rem;
10126
+ background: var(--muted);
10127
+ color: var(--muted-foreground);
10128
+ box-shadow: none;
10129
+ }
10130
+
10131
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-content-page] {
10132
+ padding-block: 1.5rem 3rem;
10133
+ }
10134
+
10135
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-auth-page] {
10136
+ background: var(--background);
10137
+ background-image:
10138
+ linear-gradient(to right, color-mix(in oklch, var(--primary) 4%, transparent) 1px, transparent 1px),
10139
+ linear-gradient(to bottom, color-mix(in oklch, var(--primary) 4%, transparent) 1px, transparent 1px);
10140
+ background-size: var(--svadmin-grid-size) var(--svadmin-grid-size);
10141
+ color: var(--foreground);
10142
+ }
10143
+
10144
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-page-header] h1,
10145
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-list-header] h1,
10146
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-form-header] h1,
10147
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-resource-operations] h1 {
10148
+ color: var(--foreground);
10149
+ font-size: 1.5rem;
10150
+ font-weight: 650;
10151
+ letter-spacing: 0;
10152
+ }
10153
+
10154
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-page-header] p,
10155
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-list-header] p,
10156
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-form-header] p {
10157
+ color: var(--muted-foreground);
10158
+ }
10159
+
10160
+ .layout-clean-flat[data-theme="stripe"] [data-slot="card"] {
10161
+ border: 1px solid var(--border);
10162
+ border-radius: 0.5rem;
10163
+ background: var(--card);
10164
+ box-shadow: var(--svadmin-surface-shadow);
10165
+ }
10166
+
10167
+ .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;
10169
+ }
10170
+
10171
+ .layout-clean-flat[data-theme="stripe"] [data-slot="card"][data-interactive="true"]:hover {
10172
+ transform: translateY(-0.25rem);
10173
+ box-shadow: var(--svadmin-surface-hover-shadow);
10174
+ }
10175
+
10176
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-metric-card] {
10177
+ min-height: 7rem;
10178
+ border: 1px solid var(--border);
10179
+ border-radius: 0.5rem;
10180
+ background: var(--card);
10181
+ box-shadow: var(--svadmin-surface-shadow);
10182
+ }
10183
+
10184
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-metric-card] [data-svadmin-metric-value] {
10185
+ font-variant-numeric: tabular-nums;
10186
+ }
10187
+
10188
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button) {
10189
+ border-radius: 0.5rem;
10190
+ box-shadow: var(--svadmin-control-shadow);
10191
+ font-weight: 600;
10192
+ transition: transform 200ms ease-out, box-shadow 200ms ease-out, background-color 200ms ease-out, border-color 200ms ease-out;
10193
+ }
10194
+
10195
+ .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) {
10196
+ box-shadow: none;
10197
+ }
10198
+
10199
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button)[data-variant="default"],
10200
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button).svadmin-button--default {
10201
+ box-shadow:
10202
+ 0 2px 5px color-mix(in oklch, var(--primary) 40%, transparent),
10203
+ inset 0 1px 0 rgb(255 255 255 / 0.2);
10204
+ }
10205
+
10206
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):active {
10207
+ transform: translateY(0) scale(0.98);
10208
+ }
10209
+
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 {
10211
+ box-shadow: inset 0 2px 4px rgb(0 0 0 / 0.18);
10212
+ }
10213
+
10214
+ .layout-clean-flat[data-theme="stripe"] :is([data-slot="button"], .svadmin-button):focus-visible,
10215
+ .layout-clean-flat[data-theme="stripe"] [data-slot="input"]:focus-visible,
10216
+ .layout-clean-flat[data-theme="stripe"] [data-slot="textarea"]:focus-visible,
10217
+ .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;
10220
+ }
10221
+
10222
+ .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;
10225
+ }
10226
+
10227
+ .layout-clean-flat[data-theme="stripe"] [data-slot="input"],
10228
+ .layout-clean-flat[data-theme="stripe"] [data-slot="textarea"],
10229
+ .layout-clean-flat[data-theme="stripe"] [data-slot="select-trigger"] {
10230
+ min-height: 2.5rem;
10231
+ border-radius: 0.5rem;
10232
+ background: var(--card);
10233
+ box-shadow: var(--svadmin-control-shadow);
10234
+ }
10235
+
10236
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-head] [data-slot="table-head"] {
10237
+ height: 2.75rem;
10238
+ background: var(--muted);
10239
+ color: var(--muted-foreground);
10240
+ font-size: 0.75rem;
10241
+ font-weight: 600;
10242
+ letter-spacing: 0;
10243
+ text-transform: none;
10244
+ }
10245
+
10246
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-row] [data-slot="table-cell"] {
10247
+ height: 3.25rem;
10248
+ background: var(--card);
10249
+ color: var(--foreground);
10250
+ }
10251
+
10252
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-row] {
10253
+ transition: background-color 160ms ease-out;
10254
+ }
10255
+
10256
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-row]:hover [data-slot="table-cell"] {
10257
+ background: color-mix(in oklch, var(--primary) 3%, var(--card));
10258
+ }
10259
+
10260
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-table-toolbar] {
10261
+ border: 1px solid var(--border);
10262
+ border-radius: 0.5rem;
10263
+ background: var(--card);
10264
+ box-shadow: var(--svadmin-surface-shadow);
10265
+ }
10266
+
10267
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-form-actions] {
10268
+ border-top: 1px solid var(--border);
10269
+ background: color-mix(in oklch, var(--card) 96%, var(--background));
10270
+ box-shadow: none;
10271
+ }
10272
+
10273
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-auth-page] > main > div > section {
10274
+ border-radius: 0.5rem;
10275
+ box-shadow: var(--svadmin-surface-shadow);
10276
+ }
10277
+
10278
+ @media (max-width: 48rem) {
10279
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-content-page] {
10280
+ padding-block: 1rem 2rem;
10281
+ }
10282
+
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
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-topbar] .svadmin-header-search {
10291
+ min-width: 0;
10292
+ }
10293
+
10294
+ .layout-clean-flat[data-theme="stripe"] [data-svadmin-metric-card] {
10295
+ min-height: 6.25rem;
10296
+ }
10297
+ }
10298
+
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 {
10301
+ transform: translateY(-0.125rem);
10302
+ }
10303
+ }
10304
+
9944
10305
  :root,
9945
10306
  .svadmin-theme{
9946
10307
  --color-background: var(--background);