@marigold/theme-rui 2.3.0 → 3.0.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/dist/styles.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @layer theme, base, components, utilities;
4
4
  @layer theme {
@@ -175,13 +175,12 @@
175
175
  --color-ring: var(--color-stone-400);
176
176
  --color-link: var(--color-blue-600);
177
177
  --color-input: var(--color-stone-300);
178
- --spacing-input: 2.25rem;
179
- --spacing-button: 2.25rem;
180
- --spacing-button-small: 2rem;
181
- --spacing-button-large: 2.5rem;
182
178
  --color-border: var(--color-stone-200);
183
179
  --color-focus: var(--color-stone-100);
184
180
  --color-selected: var(--color-stone-100);
181
+ --color-scrollbar: var(--color-stone-300);
182
+ --color-scrollbar-hover: var(--color-stone-950);
183
+ --color-scrollbar-track: transparent;
185
184
  --surface-sunken: var(--color-muted);
186
185
  --surface-sunken-shadow: 0 0 #0000;
187
186
  --surface-body: var(--color-background);
@@ -192,6 +191,15 @@
192
191
  --surface-overlay: var(--color-background);
193
192
  --surface-overlay-shadow: var(--shadow-lg);
194
193
  --surface-overlay-border: var(--color-input);
194
+ --spacing-input: 2.25rem;
195
+ --spacing-button: 2.25rem;
196
+ --spacing-button-small: 2rem;
197
+ --spacing-button-large: 2.5rem;
198
+ --spacing-container: 50rem;
199
+ --spacing-section: 3.5rem;
200
+ --spacing-field-Y: 2rem;
201
+ --spacing-field-X: 1.25rem;
202
+ --spacing-group: 1rem;
195
203
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
196
204
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
197
205
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
@@ -467,9 +475,6 @@
467
475
  [data-theme="rui"] .right-0 {
468
476
  right: calc(var(--spacing) * 0);
469
477
  }
470
- [data-theme="rui"] .right-1 {
471
- right: calc(var(--spacing) * 1);
472
- }
473
478
  [data-theme="rui"] .right-2 {
474
479
  right: calc(var(--spacing) * 2);
475
480
  }
@@ -500,6 +505,9 @@
500
505
  [data-theme="rui"] .left-1\/2 {
501
506
  left: calc(1/2 * 100%);
502
507
  }
508
+ [data-theme="rui"] .left-2 {
509
+ left: calc(var(--spacing) * 2);
510
+ }
503
511
  [data-theme="rui"] .left-4 {
504
512
  left: calc(var(--spacing) * 4);
505
513
  }
@@ -602,6 +610,9 @@
602
610
  [data-theme="rui"] .mb-\[10px\] {
603
611
  margin-bottom: 10px;
604
612
  }
613
+ [data-theme="rui"] .-ml-1 {
614
+ margin-left: calc(var(--spacing) * -1);
615
+ }
605
616
  [data-theme="rui"] .ml-2 {
606
617
  margin-left: calc(var(--spacing) * 2);
607
618
  }
@@ -614,6 +625,28 @@
614
625
  [data-theme="rui"] .box-content {
615
626
  box-sizing: content-box;
616
627
  }
628
+ [data-theme="rui"] .util-scrollbar {
629
+ scrollbar-width: auto;
630
+ scrollbar-color: var(--color-scrollbar) var(--color-scrollbar-track);
631
+ [data-theme="rui"] &::-webkit-scrollbar {
632
+ display: block;
633
+ width: 12px;
634
+ height: 12px;
635
+ }
636
+ [data-theme="rui"] &::-webkit-scrollbar-track {
637
+ background-color: var(--color-scrollbar-track);
638
+ border-radius: var(--radius-full);
639
+ }
640
+ [data-theme="rui"] &::-webkit-scrollbar-thumb {
641
+ transition: background-color 0.2s var(--ease-out-quad);
642
+ background-color: var(--color-scrollbar);
643
+ border-radius: var(--radius-full);
644
+ border: 0px solid transparent;
645
+ }
646
+ [data-theme="rui"] &::-webkit-scrollbar-thumb:hover {
647
+ background-color: var(--color-scrollbar-hover);
648
+ }
649
+ }
617
650
  [data-theme="rui"] .block {
618
651
  display: block;
619
652
  }
@@ -662,10 +695,6 @@
662
695
  [data-theme="rui"] .aspect-square {
663
696
  aspect-ratio: 1 / 1;
664
697
  }
665
- [data-theme="rui"] .size-2\.5 {
666
- width: calc(var(--spacing) * 2.5);
667
- height: calc(var(--spacing) * 2.5);
668
- }
669
698
  [data-theme="rui"] .size-3 {
670
699
  width: calc(var(--spacing) * 3);
671
700
  height: calc(var(--spacing) * 3);
@@ -977,12 +1006,18 @@
977
1006
  [data-theme="rui"] .h-svh {
978
1007
  height: 100svh;
979
1008
  }
1009
+ [data-theme="rui"] .max-h-\[80vh\] {
1010
+ max-height: 80vh;
1011
+ }
980
1012
  [data-theme="rui"] .max-h-\[300px\] {
981
1013
  max-height: 300px;
982
1014
  }
983
1015
  [data-theme="rui"] .max-h-fit\! {
984
1016
  max-height: fit-content !important;
985
1017
  }
1018
+ [data-theme="rui"] .min-h-0 {
1019
+ min-height: calc(var(--spacing) * 0);
1020
+ }
986
1021
  [data-theme="rui"] .min-h-7 {
987
1022
  min-height: calc(var(--spacing) * 7);
988
1023
  }
@@ -1418,9 +1453,15 @@
1418
1453
  [data-theme="rui"] .max-w-96 {
1419
1454
  max-width: calc(var(--spacing) * 96);
1420
1455
  }
1456
+ [data-theme="rui"] .max-w-\[90vw\] {
1457
+ max-width: 90vw;
1458
+ }
1421
1459
  [data-theme="rui"] .max-w-\[var\(--maxWidth\)\] {
1422
1460
  max-width: var(--maxWidth);
1423
1461
  }
1462
+ [data-theme="rui"] .max-w-\[var\(--spacing-container\)\] {
1463
+ max-width: var(--spacing-container);
1464
+ }
1424
1465
  [data-theme="rui"] .max-w-dvh {
1425
1466
  max-width: 100dvh;
1426
1467
  }
@@ -1652,8 +1693,8 @@
1652
1693
  [data-theme="rui"] .grid-cols-\[auto_1fr\] {
1653
1694
  grid-template-columns: auto 1fr;
1654
1695
  }
1655
- [data-theme="rui"] .grid-cols-\[auto_1fr_auto\] {
1656
- grid-template-columns: auto 1fr auto;
1696
+ [data-theme="rui"] .grid-cols-\[auto_1fr_auto_auto\] {
1697
+ grid-template-columns: auto 1fr auto auto;
1657
1698
  }
1658
1699
  [data-theme="rui"] .grid-cols-\[min-content_auto_min-content\] {
1659
1700
  grid-template-columns: min-content auto min-content;
@@ -1847,6 +1888,21 @@
1847
1888
  [data-theme="rui"] .gap-\[inherit\] {
1848
1889
  gap: inherit;
1849
1890
  }
1891
+ [data-theme="rui"] .gap-\[var\(--spacing-container\)\] {
1892
+ gap: var(--spacing-container);
1893
+ }
1894
+ [data-theme="rui"] .gap-\[var\(--spacing-field-X\)\] {
1895
+ gap: var(--spacing-field-X);
1896
+ }
1897
+ [data-theme="rui"] .gap-\[var\(--spacing-field-Y\)\] {
1898
+ gap: var(--spacing-field-Y);
1899
+ }
1900
+ [data-theme="rui"] .gap-\[var\(--spacing-group\)\] {
1901
+ gap: var(--spacing-group);
1902
+ }
1903
+ [data-theme="rui"] .gap-\[var\(--spacing-section\)\] {
1904
+ gap: var(--spacing-section);
1905
+ }
1850
1906
  [data-theme="rui"] .space-y-1 {
1851
1907
  [data-theme="rui"] :where(& > :not(:last-child)) {
1852
1908
  --tw-space-y-reverse: 0;
@@ -1861,6 +1917,13 @@
1861
1917
  margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
1862
1918
  }
1863
1919
  }
1920
+ [data-theme="rui"] .space-y-px {
1921
+ [data-theme="rui"] :where(& > :not(:last-child)) {
1922
+ --tw-space-y-reverse: 0;
1923
+ margin-block-start: calc(1px * var(--tw-space-y-reverse));
1924
+ margin-block-end: calc(1px * calc(1 - var(--tw-space-y-reverse)));
1925
+ }
1926
+ }
1864
1927
  [data-theme="rui"] .gap-x-1 {
1865
1928
  column-gap: calc(var(--spacing) * 1);
1866
1929
  }
@@ -1889,6 +1952,11 @@
1889
1952
  [data-theme="rui"] .justify-self-center {
1890
1953
  justify-self: center;
1891
1954
  }
1955
+ [data-theme="rui"] .truncate {
1956
+ overflow: hidden;
1957
+ text-overflow: ellipsis;
1958
+ white-space: nowrap;
1959
+ }
1892
1960
  [data-theme="rui"] .overflow-auto {
1893
1961
  overflow: auto;
1894
1962
  }
@@ -1916,9 +1984,6 @@
1916
1984
  [data-theme="rui"] .rounded-\[40\] {
1917
1985
  border-radius: 40;
1918
1986
  }
1919
- [data-theme="rui"] .rounded-\[50\%\] {
1920
- border-radius: 50%;
1921
- }
1922
1987
  [data-theme="rui"] .rounded-full {
1923
1988
  border-radius: calc(infinity * 1px);
1924
1989
  }
@@ -2101,6 +2166,9 @@
2101
2166
  [data-theme="rui"] .bg-brand {
2102
2167
  background-color: var(--color-stone-950);
2103
2168
  }
2169
+ [data-theme="rui"] .bg-current {
2170
+ background-color: currentcolor;
2171
+ }
2104
2172
  [data-theme="rui"] .bg-destructive {
2105
2173
  background-color: var(--color-red-600);
2106
2174
  }
@@ -2569,6 +2637,21 @@
2569
2637
  [data-theme="rui"] .py-96 {
2570
2638
  padding-block: calc(var(--spacing) * 96);
2571
2639
  }
2640
+ [data-theme="rui"] .py-\[var\(--spacing-container\)\] {
2641
+ padding-block: var(--spacing-container);
2642
+ }
2643
+ [data-theme="rui"] .py-\[var\(--spacing-field-X\)\] {
2644
+ padding-block: var(--spacing-field-X);
2645
+ }
2646
+ [data-theme="rui"] .py-\[var\(--spacing-field-Y\)\] {
2647
+ padding-block: var(--spacing-field-Y);
2648
+ }
2649
+ [data-theme="rui"] .py-\[var\(--spacing-group\)\] {
2650
+ padding-block: var(--spacing-group);
2651
+ }
2652
+ [data-theme="rui"] .py-\[var\(--spacing-section\)\] {
2653
+ padding-block: var(--spacing-section);
2654
+ }
2572
2655
  [data-theme="rui"] .pt-0 {
2573
2656
  padding-top: calc(var(--spacing) * 0);
2574
2657
  }
@@ -2992,9 +3075,6 @@
2992
3075
  [data-theme="rui"] .align-middle {
2993
3076
  vertical-align: middle;
2994
3077
  }
2995
- [data-theme="rui"] .align-super {
2996
- vertical-align: super;
2997
- }
2998
3078
  [data-theme="rui"] .text-2xl {
2999
3079
  font-size: var(--text-2xl);
3000
3080
  line-height: var(--tw-leading, var(--text-2xl--line-height));
@@ -3484,6 +3564,9 @@
3484
3564
  [data-theme="rui"] .\[--dialog-width\:768px\] {
3485
3565
  --dialog-width: 768px;
3486
3566
  }
3567
+ [data-theme="rui"] .\[grid-area\:action\] {
3568
+ grid-area: action;
3569
+ }
3487
3570
  [data-theme="rui"] .\[grid-area\:actions\] {
3488
3571
  grid-area: actions;
3489
3572
  }
@@ -3502,12 +3585,12 @@
3502
3585
  [data-theme="rui"] .\[grid-area\:title\] {
3503
3586
  grid-area: title;
3504
3587
  }
3588
+ [data-theme="rui"] .\[grid-template-areas\:\"icon_title_action_close\"\"icon_description_action_close\"\] {
3589
+ grid-template-areas: "icon title action close""icon description action close";
3590
+ }
3505
3591
  [data-theme="rui"] .\[grid-template-areas\:\"icon_title_close\"\"icon_content_content\"\] {
3506
3592
  grid-template-areas: "icon title close""icon content content";
3507
3593
  }
3508
- [data-theme="rui"] .\[grid-template-areas\:\"icon_title_close\"\"icon_description_description\"\] {
3509
- grid-template-areas: "icon title close""icon description description";
3510
- }
3511
3594
  [data-theme="rui"] .\[grid-template-areas\:\"title\"_\"content\"_\"actions\"\] {
3512
3595
  grid-template-areas: "title" "content" "actions";
3513
3596
  }
@@ -4328,6 +4411,14 @@
4328
4411
  }
4329
4412
  }
4330
4413
  }
4414
+ [data-theme="rui"] .focus-visible\:z-1 {
4415
+ [data-theme="rui"] &:where([data-rac])[data-focus-visible] {
4416
+ z-index: 1;
4417
+ }
4418
+ [data-theme="rui"] &:where(:not([data-rac])):focus-visible {
4419
+ z-index: 1;
4420
+ }
4421
+ }
4331
4422
  [data-theme="rui"] .focus-visible\:util-focus-ring {
4332
4423
  [data-theme="rui"] &:where([data-rac])[data-focus-visible] {
4333
4424
  border-color: var(--color-stone-400);
@@ -4976,6 +5067,11 @@
4976
5067
  width: 100%;
4977
5068
  }
4978
5069
  }
5070
+ [data-theme="rui"] .data-\[react-aria-pressable\=\"true\"\]\:cursor-pointer {
5071
+ [data-theme="rui"] &[data-react-aria-pressable="true"] {
5072
+ cursor: pointer;
5073
+ }
5074
+ }
4979
5075
  [data-theme="rui"] .data-\[selected\=true\]\:border {
4980
5076
  [data-theme="rui"] &[data-selected="true"] {
4981
5077
  border-style: var(--tw-border-style);
@@ -5553,13 +5649,13 @@
5553
5649
  align-items: flex-end;
5554
5650
  }
5555
5651
  }
5556
- [data-theme="rui"] .\[\&\:has\(\[slot\=description\]\)_button\]\:mb-6 {
5557
- [data-theme="rui"] &:has([slot=description]) button {
5652
+ [data-theme="rui"] .\[\&\:has\(\[slot\=description\]\)_\>\*\:not\(\:has\(\[slot\=description\]\)\)\]\:mb-6 {
5653
+ [data-theme="rui"] &:has([slot=description]) >*:not(:has([slot=description])) {
5558
5654
  margin-bottom: calc(var(--spacing) * 6);
5559
5655
  }
5560
5656
  }
5561
- [data-theme="rui"] .\[\&\:has\(\[slot\=errorMessage\]\)\]\:mb-6 {
5562
- [data-theme="rui"] &:has([slot=errorMessage]) {
5657
+ [data-theme="rui"] .\[\&\:has\(\[slot\=errorMessage\]\)_\>\*\:not\(\:has\(\[slot\=errorMessage\]\)\)\]\:mb-6 {
5658
+ [data-theme="rui"] &:has([slot=errorMessage]) >*:not(:has([slot=errorMessage])) {
5563
5659
  margin-bottom: calc(var(--spacing) * 6);
5564
5660
  }
5565
5661
  }
package/dist/theme.css CHANGED
@@ -120,14 +120,6 @@
120
120
  /* color input used for inputs as border or e.g. in switch as bg track color */
121
121
  --color-input: var(--color-stone-300);
122
122
 
123
- /* TODO: Rename them to "component"? */
124
- /* component height for input elements */
125
- --spacing-input: 2.25rem;
126
- /* component height for button elements */
127
- --spacing-button: 2.25rem;
128
- --spacing-button-small: 2rem;
129
- --spacing-button-large: 2.5rem;
130
-
131
123
  --color-border: var(--color-stone-200);
132
124
 
133
125
  /* Focus color is used for focusing an element (e.g. segment on Datefield)*/
@@ -136,6 +128,10 @@
136
128
  /* Selected color is used when there is an active selection in the component */
137
129
  --color-selected: var(--color-stone-100);
138
130
 
131
+ --color-scrollbar: var(--color-stone-300);
132
+ --color-scrollbar-hover: var(--color-stone-950);
133
+ --color-scrollbar-track: transparent;
134
+
139
135
  /* ==================== */
140
136
  /* SURFACE */
141
137
  /* ==================== */
@@ -154,9 +150,27 @@
154
150
  --surface-overlay-border: var(--color-input);
155
151
 
156
152
  /* ==================== */
157
- /* ANIMATION */
153
+ /* SPACING */
158
154
  /* ==================== */
159
155
 
156
+ /* TODO: Rename them to "component"? */
157
+ /* component height for input elements */
158
+ --spacing-input: 2.25rem;
159
+ /* component height for button elements */
160
+ --spacing-button: 2.25rem;
161
+ --spacing-button-small: 2rem;
162
+ --spacing-button-large: 2.5rem;
163
+
164
+ /* spacing between elements */
165
+ --spacing-container: 50rem; /* e.g. form container */
166
+ --spacing-section: 3.5rem; /* e.g. between form sections */
167
+ --spacing-field-Y: 2rem; /* e.g. between fields vertically */
168
+ --spacing-field-X: 1.25rem; /* e.g. between fields horizontally */
169
+ --spacing-group: 1rem; /* e.g. between related fields to group them */
170
+
171
+ /* ==================== */
172
+ /* ANIMATION */
173
+ /* ==================== */
160
174
  /* easing functions (https://gist.github.com/bendc/ac03faac0bf2aee25b49e5fd260a727d)*/
161
175
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
162
176
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
package/dist/utils.css CHANGED
@@ -123,3 +123,33 @@
123
123
  z-index: 9999;
124
124
  }
125
125
  }
126
+
127
+ /*
128
+ * Custom scrollbar styling to match the theme's design.
129
+ * This utility provides a consistent look for scrollbars across different browsers.
130
+ */
131
+ @utility util-scrollbar {
132
+ scrollbar-width: auto;
133
+ scrollbar-color: var(--color-scrollbar) var(--color-scrollbar-track);
134
+
135
+ &::-webkit-scrollbar {
136
+ display: block;
137
+ width: 12px;
138
+ height: 12px;
139
+ }
140
+
141
+ &::-webkit-scrollbar-track {
142
+ background-color: var(--color-scrollbar-track);
143
+ border-radius: var(--radius-full);
144
+ }
145
+
146
+ &::-webkit-scrollbar-thumb {
147
+ transition: background-color 0.2s var(--ease-out-quad);
148
+ background-color: var(--color-scrollbar);
149
+ border-radius: var(--radius-full);
150
+ border: 0px solid transparent;
151
+ }
152
+ &::-webkit-scrollbar-thumb:hover {
153
+ background-color: var(--color-scrollbar-hover);
154
+ }
155
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marigold/theme-rui",
3
- "version": "2.3.0",
3
+ "version": "3.0.0",
4
4
  "description": "Marigold RUI Theme",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -43,21 +43,21 @@
43
43
  "directory": "themes/theme-rui"
44
44
  },
45
45
  "devDependencies": {
46
- "@tailwindcss/postcss": "4.1.12",
46
+ "@tailwindcss/postcss": "4.1.14",
47
47
  "cssnano": "7.1.1",
48
48
  "postcss-cli": "11.0.1",
49
- "tailwindcss": "4.1.12",
50
- "tsup": "8.5.0",
49
+ "tailwindcss": "4.1.14",
50
+ "tsdown": "0.15.6",
51
51
  "@marigold/tsconfig": "0.4.1"
52
52
  },
53
53
  "dependencies": {
54
54
  "tailwindcss-animate": "1.0.7",
55
55
  "tailwindcss-react-aria-components": "^2.0.1",
56
- "@marigold/components": "15.3.0",
57
- "@marigold/system": "15.3.0",
58
- "@marigold/theme-plugins": "1.0.2"
56
+ "@marigold/system": "15.4.0",
57
+ "@marigold/theme-plugins": "1.0.2",
58
+ "@marigold/components": "15.4.0"
59
59
  },
60
60
  "scripts": {
61
- "build": "NODE_ENV=production tsup && postcss -o dist/styles.css src/styles.css && cp src/theme.css src/global.css src/utils.css dist/"
61
+ "build": "NODE_ENV=production tsdown && postcss -o dist/styles.css src/styles.css && cp src/theme.css src/global.css src/utils.css dist/"
62
62
  }
63
63
  }