twntyx-css 1.0.7 → 1.0.8

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/styles/colors.css CHANGED
@@ -105,10 +105,10 @@
105
105
  --raw-color-core-green-50: rgb(242 250 247);
106
106
  --raw-color-core-green-100: rgb(230 246 239);
107
107
  --raw-color-core-green-200: rgb(205 239 225);
108
- --raw-color-core-green-300: rgb(169 231 205);
108
+ --raw-color-core-green-300: hsl(155, 56%, 65%);
109
109
  --raw-color-core-green-400: rgb(126 223 182);
110
110
  --raw-color-core-green-500: rgb(79 216 159);
111
- --raw-color-core-green-600: rgb(38 198 131);
111
+ --raw-color-core-green-600: #26c683;
112
112
  --raw-color-core-green-700: rgb(27 164 107);
113
113
  --raw-color-core-green-800: rgb(20 135 87);
114
114
  --raw-color-core-green-900: rgb(14 104 66);
@@ -131,7 +131,7 @@
131
131
  --raw-color-core-red-50: rgb(250 242 244);
132
132
  --raw-color-core-red-100: rgb(246 230 232);
133
133
  --raw-color-core-red-200: rgb(239 205 210);
134
- --raw-color-core-red-300: rgb(231 169 178);
134
+ --raw-color-core-red-300: hsl(351, 56%, 80%);
135
135
  --raw-color-core-red-400: rgb(223 126 141);
136
136
  --raw-color-core-red-500: rgb(216 79 99);
137
137
  --raw-color-core-red-600: rgb(198 38 62);
@@ -243,6 +243,7 @@
243
243
  --raw-color-background-surface: var(--raw-color-core-white);
244
244
  --raw-color-background-surface-elevated: var(--raw-color-core-ui-50);
245
245
  --raw-color-background-surface-sunken: var(--raw-color-core-ui-200);
246
+ --raw-color-background-surface-sunken-darker: var(--raw-color-core-ui-300);
246
247
  --raw-color-background-overlay: color-mix(
247
248
  in srgb,
248
249
  var(--raw-color-core-ui-900) 95%,
@@ -255,6 +256,9 @@
255
256
  --raw-color-background-surface-dark: var(--raw-color-core-ui-800);
256
257
  --raw-color-background-surface-elevated-dark: var(--raw-color-core-ui-700);
257
258
  --raw-color-background-surface-sunken-dark: var(--raw-color-core-ui-900);
259
+ --raw-color-background-surface-sunken-darker-dark: var(
260
+ --raw-color-core-ui-800
261
+ );
258
262
  --raw-color-background-overlay-dark: color-mix(
259
263
  in srgb,
260
264
  var(--raw-color-core-ui-900) 95%,
@@ -275,11 +279,11 @@
275
279
  --raw-color-background-brand-disabled-dark: var(--raw-color-brand-light-dark);
276
280
 
277
281
  /* Status Backgrounds - Light */
278
- --raw-color-background-neutral: var(--raw-color-core-ui-200);
282
+ --raw-color-background-neutral: var(--raw-color-core-ui-100);
279
283
  --raw-color-background-neutral-hover: var(--raw-color-core-ui-300);
280
284
  --raw-color-background-neutral-active: var(--raw-color-core-ui-600);
281
285
  --raw-color-background-success: var(--raw-color-core-green-100);
282
- --raw-color-background-success-hover: var(--raw-color-core-green-200);
286
+ --raw-color-background-success-hover: var(--raw-color-core-green-300);
283
287
  --raw-color-background-success-active: var(--raw-color-core-green-600);
284
288
  --raw-color-background-error: var(--raw-color-core-red-100);
285
289
  --raw-color-background-error-hover: var(--raw-color-core-red-200);
@@ -291,14 +295,14 @@
291
295
  --raw-color-background-attention-hover: var(--raw-color-core-yellow-200);
292
296
  --raw-color-background-attention-active: var(--raw-color-core-yellow-600);
293
297
  --raw-color-background-info: var(--raw-color-core-blue-100);
294
- --raw-color-background-info-hover: var(--raw-color-core-blue-200);
298
+ --raw-color-background-info-hover: var(--raw-color-core-blue-300);
295
299
  --raw-color-background-info-active: var(--raw-color-core-blue-600);
296
300
 
297
301
  /* Status Backgrounds - Dark */
298
302
  --raw-color-background-neutral-dark: var(--raw-color-core-ui-600);
299
303
  --raw-color-background-neutral-hover-dark: var(--raw-color-core-ui-800);
300
304
  --raw-color-background-neutral-active-dark: var(--raw-color-core-ui-600);
301
- --raw-color-background-success-dark: var(--raw-color-core-green-900);
305
+ --raw-color-background-success-dark: var(--raw-color-core-green-950);
302
306
  --raw-color-background-success-hover-dark: var(--raw-color-core-green-700);
303
307
  --raw-color-background-success-active-dark: var(--raw-color-core-green-400);
304
308
  --raw-color-background-error-dark: var(--raw-color-core-red-950);
@@ -362,19 +366,19 @@
362
366
 
363
367
  /* Status Borders - Light */
364
368
  --raw-color-border-neutral: var(--raw-color-core-ui-300);
365
- --raw-color-border-success: var(--raw-color-core-green-200);
366
- --raw-color-border-error: var(--raw-color-core-red-200);
367
- --raw-color-border-warning: var(--raw-color-core-orange-200);
368
- --raw-color-border-attention: var(--raw-color-core-yellow-200);
369
- --raw-color-border-info: var(--raw-color-core-blue-200);
369
+ --raw-color-border-success: var(--raw-color-core-green-300);
370
+ --raw-color-border-error: var(--raw-color-core-red-300);
371
+ --raw-color-border-warning: var(--raw-color-core-orange-300);
372
+ --raw-color-border-attention: var(--raw-color-core-yellow-300);
373
+ --raw-color-border-info: var(--raw-color-core-blue-300);
370
374
 
371
375
  /* Status Borders - Dark */
372
376
  --raw-color-border-neutral-dark: var(--raw-color-core-ui-500);
373
- --raw-color-border-success-dark: var(--raw-color-core-green-700);
374
- --raw-color-border-error-dark: var(--raw-color-core-red-800);
375
- --raw-color-border-warning-dark: var(--raw-color-core-orange-800);
376
- --raw-color-border-attention-dark: var(--raw-color-core-yellow-950);
377
- --raw-color-border-info-dark: var(--raw-color-core-blue-700);
377
+ --raw-color-border-success-dark: var(--raw-color-core-green-900);
378
+ --raw-color-border-error-dark: var(--raw-color-core-red-900);
379
+ --raw-color-border-warning-dark: var(--raw-color-core-orange-900);
380
+ --raw-color-border-attention-dark: var(--raw-color-core-yellow-900);
381
+ --raw-color-border-info-dark: var(--raw-color-core-blue-900);
378
382
  }
379
383
 
380
384
  @theme {
@@ -476,6 +480,10 @@
476
480
  var(--raw-color-background-surface-sunken),
477
481
  var(--raw-color-background-surface-sunken-dark)
478
482
  );
483
+ --color-background-surface-sunken-darker: light-dark(
484
+ var(--raw-color-background-surface-sunken-darker),
485
+ var(--raw-color-background-surface-sunken-darker-dark)
486
+ );
479
487
  --color-background-overlay: light-dark(
480
488
  var(--raw-color-background-overlay),
481
489
  var(--raw-color-background-overlay-dark)
package/styles/join.css CHANGED
@@ -2,12 +2,22 @@
2
2
  /* JOIN */
3
3
  /*----------------------------*/
4
4
 
5
- .join {
6
- &:not([class*="rounded"]) {
5
+ .join-item:focus {
6
+ @apply isolate;
7
+ }
8
+
9
+ .join-item:hover {
10
+ @apply z-10;
11
+ }
12
+
13
+ @utility join {
14
+ @apply inline-flex items-stretch;
15
+
16
+ &:not([class*='rounded']) {
7
17
  @apply rounded-3xl;
8
18
  }
9
19
 
10
- &:not(.join-vertical) {
20
+ &:not([class*='join-vertical']) {
11
21
  & > :where(*:not(:first-child)) {
12
22
  @apply my-0;
13
23
  &:is(.button) {
@@ -15,7 +25,8 @@
15
25
  }
16
26
  }
17
27
  }
18
- &.join-vertical {
28
+
29
+ &[class*='join-vertical'] {
19
30
  & > :where(*:not(:first-child)) {
20
31
  @apply my-0;
21
32
  &:is(.button) {
@@ -23,18 +34,7 @@
23
34
  }
24
35
  }
25
36
  }
26
- }
27
37
 
28
- .join-item:focus {
29
- @apply isolate;
30
- }
31
-
32
- .join-item:hover {
33
- @apply z-10;
34
- }
35
-
36
- .join {
37
- @apply inline-flex items-stretch;
38
38
  & :where(.join-item) {
39
39
  border-start-end-radius: 0;
40
40
  border-end-end-radius: 0;
@@ -78,53 +78,54 @@
78
78
  border-start-end-radius: inherit;
79
79
  border-end-end-radius: inherit;
80
80
  }
81
+ }
81
82
 
82
- &.join-vertical {
83
- @apply flex-col;
84
- & .join-item:first-child:not(:last-child),
85
- & *:first-child:not(:last-child) .join-item {
86
- border-end-start-radius: 0;
87
- border-end-end-radius: 0;
88
- }
89
- & .join-item:first-child:not(:last-child),
90
- & *:first-child:not(:last-child) .join-item {
91
- border-start-start-radius: inherit;
92
- border-start-end-radius: inherit;
93
- }
94
- & .join-item:last-child:not(:first-child),
95
- & *:last-child:not(:first-child) .join-item {
96
- border-start-start-radius: 0;
97
- border-start-end-radius: 0;
98
- }
99
- & .join-item:last-child:not(:first-child),
100
- & *:last-child:not(:first-child) .join-item {
101
- border-end-start-radius: inherit;
102
- border-end-end-radius: inherit;
103
- }
83
+ @utility join-vertical {
84
+ @apply flex-col;
85
+ & .join-item:first-child:not(:last-child),
86
+ & *:first-child:not(:last-child) .join-item {
87
+ border-end-start-radius: 0;
88
+ border-end-end-radius: 0;
89
+ }
90
+ & .join-item:first-child:not(:last-child),
91
+ & *:first-child:not(:last-child) .join-item {
92
+ border-start-start-radius: inherit;
93
+ border-start-end-radius: inherit;
104
94
  }
95
+ & .join-item:last-child:not(:first-child),
96
+ & *:last-child:not(:first-child) .join-item {
97
+ border-start-start-radius: 0;
98
+ border-start-end-radius: 0;
99
+ }
100
+ & .join-item:last-child:not(:first-child),
101
+ & *:last-child:not(:first-child) .join-item {
102
+ border-end-start-radius: inherit;
103
+ border-end-end-radius: inherit;
104
+ }
105
+ }
105
106
 
106
- &.join-horizontal {
107
- @apply flex-row;
108
- & .join-item:first-child:not(:last-child),
109
- & *:first-child:not(:last-child) .join-item {
110
- border-end-end-radius: 0;
111
- border-start-end-radius: 0;
112
- }
113
- & .join-item:first-child:not(:last-child),
114
- & *:first-child:not(:last-child) .join-item {
115
- border-end-start-radius: inherit;
116
- border-start-start-radius: inherit;
117
- }
118
- & .join-item:last-child:not(:first-child),
119
- & *:last-child:not(:first-child) .join-item {
120
- border-end-start-radius: 0;
121
- border-start-start-radius: 0;
122
- }
123
- & .join-item:last-child:not(:first-child),
124
- & *:last-child:not(:first-child) .join-item {
125
- border-end-end-radius: inherit;
126
- border-start-end-radius: inherit;
127
- }
107
+ @utility join-horizontal {
108
+ @apply flex-row;
109
+
110
+ & .join-item:first-child:not(:last-child),
111
+ & *:first-child:not(:last-child) .join-item {
112
+ border-end-end-radius: 0;
113
+ border-start-end-radius: 0;
114
+ }
115
+ & .join-item:first-child:not(:last-child),
116
+ & *:first-child:not(:last-child) .join-item {
117
+ border-end-start-radius: inherit;
118
+ border-start-start-radius: inherit;
119
+ }
120
+ & .join-item:last-child:not(:first-child),
121
+ & *:last-child:not(:first-child) .join-item {
122
+ border-end-start-radius: 0;
123
+ border-start-start-radius: 0;
124
+ }
125
+ & .join-item:last-child:not(:first-child),
126
+ & *:last-child:not(:first-child) .join-item {
127
+ border-end-end-radius: inherit;
128
+ border-start-end-radius: inherit;
128
129
  }
129
130
  }
130
131
 
package/styles/menu.css CHANGED
@@ -23,7 +23,7 @@
23
23
  /* Default Link/Button Style */
24
24
  > *:not(ul, details, .menu-title) {
25
25
  @apply flex gap-2 items-center px-4 py-2 w-full max-w-full text-sm rounded cursor-pointer include-hover-primary include-interactive text-text-tertiary hover:text-text-default disabled:cursor-not-allowed disabled:text-text-disabled disabled:hover:bg-transparent;
26
-
26
+
27
27
  &:active {
28
28
  > * {
29
29
  @apply translate-y-px duration-0;
@@ -96,7 +96,7 @@
96
96
  }
97
97
 
98
98
  &.is-active > * {
99
- @apply font-medium include-hover-primary-active text-text-brand hover:text-text-brand;
99
+ @apply font-medium include-hover-primary-active text-text-brand-active hover:text-text-brand-active;
100
100
  }
101
101
 
102
102
  &:has(:focus-visible) > * {
package/styles/modal.css CHANGED
@@ -63,7 +63,7 @@ dialog {
63
63
 
64
64
  /* Modal container */
65
65
  .modal-container {
66
- @apply flex flex-col flex-1 justify-center items-stretch p-2 m-auto w-full h-full md:p-4;
66
+ @apply flex flex-col flex-1 justify-center items-stretch min-h-dvh p-2 m-auto w-full md:p-4 overflow-y-auto overflow-x-clip;
67
67
 
68
68
  /* Width variants */
69
69
  &.modal-sm {
@@ -15,3 +15,21 @@
15
15
  [&::-webkit-scrollbar-track]:rounded-full
16
16
  [&::-webkit-scrollbar-thumb]:rounded-full;
17
17
  }
18
+
19
+ @utility scrollbar-brand-light {
20
+ @apply [&::-webkit-scrollbar]:w-1.5
21
+ [&::-webkit-scrollbar]:h-1.5
22
+ [&::-webkit-scrollbar-track]:bg-background-brand/15
23
+ dark:[&::-webkit-scrollbar-track]:bg-background-brand/70
24
+ [&::-webkit-scrollbar-thumb]:bg-background-brand/30
25
+ [&::-webkit-scrollbar-thumb]:transition-colors
26
+ [&::-webkit-scrollbar-thumb:hover]:bg-background-brand/40
27
+ dark:[&::-webkit-scrollbar-thumb]:bg-background-brand/50
28
+ dark:[&::-webkit-scrollbar-thumb:hover]:bg-background-brand/60
29
+ [&::-webkit-scrollbar-track]:rounded-full
30
+ [&::-webkit-scrollbar-thumb]:rounded-full;
31
+ }
32
+
33
+ @utility scrollbar-hidden {
34
+ @apply [&::-webkit-scrollbar]:hidden;
35
+ }
package/styles/shared.css CHANGED
@@ -1,6 +1,6 @@
1
1
  html,
2
2
  body {
3
- @apply w-full min-h-screen;
3
+ @apply w-full min-h-dvh;
4
4
  }
5
5
 
6
6
  /* Interactive states */
@@ -42,20 +42,17 @@
42
42
 
43
43
  /* Brand Surfaces */
44
44
  @utility surface-brand {
45
- @apply text-text-inverted
45
+ /* @apply text-text-inverted
46
46
  bg-linear-to-b
47
47
  via-75%
48
48
  from-[0.5rem]
49
49
  to-[calc(100%-0.5rem)]
50
50
  from-brand-default
51
51
  to-brand-moderate
52
- /* dark:from-brand-moderate */
53
- /* dark:to-brand-default */
54
52
  border
55
53
  border-brand-default
56
54
  transition-[background-position,brightness]
57
55
  shadow-[inset_0_1px_0_0_color-mix(in_srgb,var(--color-brand-moderate)_100%,transparent),inset_0_-2px_0_0_color-mix(in_srgb,var(--color-brand-default)_50%,transparent)]
58
- /* dark:shadow-[inset_0_1px_0.5px_0_color-mix(in_srgb,var(--color-brand-soft)_100%,transparent),inset_0_-2px_0.5px_0_color-mix(in_srgb,var(--color-white)_50%,transparent)] */
59
56
  duration-75
60
57
  ease-out-cubic;
61
58
 
@@ -65,6 +62,27 @@
65
62
  @apply drop-shadow-[0_1px_0_color-mix(in_srgb,var(--tw-drop-shadow-color)_20%,transparent),0_1px_1px_color-mix(in_srgb,var(--tw-drop-shadow-color)_100%,transparent),0_1px_2px_color-mix(in_srgb,var(--tw-drop-shadow-color)_20%,transparent)]
66
63
  dark:drop-shadow-[0_-1px_0_color-mix(in_srgb,var(--tw-drop-shadow-color)_10%,transparent)]
67
64
  drop-shadow-brand-strong/50;
65
+ } */
66
+ @apply text-text-inverted
67
+ bg-radial-[at_50%_25%]
68
+ via-75%
69
+ from-[0.5rem]
70
+ to-[calc(100%-0.5rem)]
71
+ to-brand-default
72
+ from-brand-moderate
73
+ border
74
+ border-brand-default
75
+ transition-[background-position,brightness]
76
+ shadow-[inset_0_1px_0_0_color-mix(in_srgb,var(--color-brand-moderate)_100%,transparent),inset_0_-2px_0_0_color-mix(in_srgb,var(--color-brand-strong)_20%,transparent)]
77
+ duration-75
78
+ ease-out-cubic;
79
+
80
+ > *,
81
+ &::before,
82
+ &::after {
83
+ @apply drop-shadow-[0_0.5px_0_color-mix(in_srgb,var(--tw-drop-shadow-color)_20%,transparent),0_1px_0_color-mix(in_srgb,var(--tw-drop-shadow-color)_20%,transparent),0_1px_1px_color-mix(in_srgb,var(--tw-drop-shadow-color)_100%,transparent),0_1px_2px_color-mix(in_srgb,var(--tw-drop-shadow-color)_20%,transparent)]
84
+ dark:drop-shadow-[0_-1px_0_color-mix(in_srgb,var(--tw-drop-shadow-color)_10%,transparent)]
85
+ drop-shadow-brand-strong/50;
68
86
  }
69
87
  }
70
88
 
package/styles/toast.css CHANGED
@@ -3,7 +3,7 @@
3
3
  /*----------------------------*/
4
4
 
5
5
  @utility toast-container {
6
- @apply fixed inset-x-4 bottom-4 z-50 mx-auto max-w-xl;
6
+ @apply fixed inset-x-4 bottom-4 z-[70] mx-auto max-w-xl;
7
7
  .toast-container-inner {
8
8
  @apply flex flex-col gap-2 w-full;
9
9
  }
@@ -2,6 +2,11 @@
2
2
  /* TYPOGRAPHY */
3
3
  /*----------------------------*/
4
4
 
5
+ @theme {
6
+ --text-xxxs: 9px;
7
+ --text-xxs: 11px;
8
+ }
9
+
5
10
  body {
6
11
  -webkit-font-smoothing: antialiased;
7
12
  text-rendering: optimizelegibility;
@@ -12,7 +17,6 @@ body {
12
17
  @apply bg-brand-default text-text-inverted;
13
18
  }
14
19
 
15
-
16
20
  /* Typography utilities */
17
21
  @utility h1 {
18
22
  @apply text-4xl font-heading font-medium;
@@ -27,11 +31,11 @@ body {
27
31
  }
28
32
 
29
33
  @utility h4 {
30
- @apply text-xl font-medium;
34
+ @apply text-base font-semibold text-text-default font-heading;
31
35
  }
32
36
 
33
37
  @utility h5 {
34
- @apply text-lg font-normal font-body;
38
+ @apply text-sm font-semibold font-body;
35
39
  }
36
40
 
37
41
  @utility s1 {
@@ -60,45 +64,45 @@ body {
60
64
 
61
65
  /* Base layer styles for elements */
62
66
  @layer base {
63
- hr,
64
- .separator {
65
- @apply h-px border-t border-line-default;
66
- }
67
+ hr,
68
+ .separator {
69
+ @apply h-px border-t border-line-default;
70
+ }
67
71
 
68
- b,
69
- strong {
70
- @apply font-medium;
71
- }
72
+ b,
73
+ strong {
74
+ @apply font-medium;
75
+ }
72
76
 
73
- h1,
74
- h2 {
75
- @apply font-heading;
76
- }
77
+ h1,
78
+ h2 {
79
+ @apply font-heading;
80
+ }
77
81
 
78
- /* h3,
82
+ /* h3,
79
83
  h4,
80
84
  h5,
81
85
  h6 {
82
86
  @apply font-normal;
83
87
  } */
84
88
 
85
- .prose {
86
- :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
87
- @apply font-medium;
88
- }
89
-
90
- :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
91
- @apply text-text-default;
92
- }
93
-
94
- &,
95
- :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)),
96
- :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)),
97
- :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)),
98
- :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)),
99
- :where(h5):not(:where([class~="not-prose"], [class~="not-prose"] *)),
100
- :where(h6):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
101
- @apply text-text-default;
89
+ .prose {
90
+ :where(strong):not(:where([class~='not-prose'], [class~='not-prose'] *)) {
91
+ @apply font-medium;
92
+ }
93
+
94
+ :where(strong):not(:where([class~='not-prose'], [class~='not-prose'] *)) {
95
+ @apply text-text-default;
96
+ }
97
+
98
+ &,
99
+ :where(h1):not(:where([class~='not-prose'], [class~='not-prose'] *)),
100
+ :where(h2):not(:where([class~='not-prose'], [class~='not-prose'] *)),
101
+ :where(h3):not(:where([class~='not-prose'], [class~='not-prose'] *)),
102
+ :where(h4):not(:where([class~='not-prose'], [class~='not-prose'] *)),
103
+ :where(h5):not(:where([class~='not-prose'], [class~='not-prose'] *)),
104
+ :where(h6):not(:where([class~='not-prose'], [class~='not-prose'] *)) {
105
+ @apply text-text-default;
106
+ }
102
107
  }
103
108
  }
104
- }
@@ -2,13 +2,12 @@
2
2
  /* Utility */
3
3
  /*----------------------------*/
4
4
 
5
-
6
5
  body:has(.translation-key:hover) .translation-key:not(:hover) {
7
6
  @apply z-50 opacity-30;
8
7
  }
9
8
 
10
9
  body:has(.translation-key:hover) .translation-key:hover {
11
- @apply opacity-100 z-[60];
10
+ @apply opacity-100 z-60;
12
11
  }
13
12
 
14
13
  .translation-key {