@code-coaching/vuetiful 0.4.0 → 0.5.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 (41) hide show
  1. package/dist/types/components/molecules/VDrawer.vue.d.ts +0 -18
  2. package/dist/types/services/drawer.service.d.ts +2 -3
  3. package/dist/vuetiful.es.mjs +24 -28
  4. package/dist/vuetiful.umd.js +9 -9
  5. package/package.json +2 -1
  6. package/src/assets/main.css +6 -6
  7. package/src/components/molecules/VDrawer.vue +7 -13
  8. package/src/components/molecules/VShell.vue +2 -2
  9. package/src/env.d.ts +4 -4
  10. package/src/services/drawer.service.ts +15 -12
  11. package/src/styles/core.css +49 -49
  12. package/src/styles/elements/alerts.css +13 -13
  13. package/src/styles/elements/badges.css +24 -24
  14. package/src/styles/elements/breadcrumbs.css +19 -19
  15. package/src/styles/elements/buttons.css +86 -86
  16. package/src/styles/elements/cards.css +22 -22
  17. package/src/styles/elements/chips.css +17 -17
  18. package/src/styles/elements/forms.css +237 -236
  19. package/src/styles/elements/lists.css +39 -39
  20. package/src/styles/elements/logo-clouds.css +21 -21
  21. package/src/styles/elements/modals.css +3 -3
  22. package/src/styles/elements/placeholders.css +10 -10
  23. package/src/styles/elements/popups.css +7 -7
  24. package/src/styles/elements/tables.css +73 -73
  25. package/src/styles/elements.css +13 -13
  26. package/src/styles/highlight-js.css +33 -33
  27. package/src/styles/typography.css +97 -97
  28. package/src/styles/variants.css +145 -145
  29. package/src/themes/theme-rocket.css +104 -104
  30. package/src/themes/theme-sahara.css +111 -111
  31. package/src/themes/theme-seafoam.css +110 -109
  32. package/src/themes/theme-seasonal.css +101 -101
  33. package/src/themes/theme-skeleton.css +102 -102
  34. package/src/themes/theme-vintage.css +109 -109
  35. package/src/themes/theme-vuetiful-0.0.1.css +110 -110
  36. package/src/types/index.ts +1 -1
  37. package/src/types/tailwind.ts +21 -2
  38. package/src/utils/code-block/highlight.service.test.ts +1 -1
  39. package/src/utils/index.test.ts +1 -1
  40. package/src/utils/platform/platform.service.ts +3 -5
  41. package/src/utils/theme/theme.service.test.ts +2 -3
@@ -1,101 +1,101 @@
1
1
  /* Stylesheet: typography.css */
2
2
 
3
3
  @layer base {
4
- body {
5
- @apply font-token text-token;
6
- }
7
-
8
- /* === Headings === */
9
-
10
- h1:not(.unstyled):is(:not(.prose *)) {
11
- @apply font-heading-token text-3xl md:text-5xl;
12
- }
13
- h2:not(.unstyled):is(:not(.prose *)) {
14
- @apply font-heading-token text-2xl md:text-4xl;
15
- }
16
- h3:not(.unstyled):is(:not(.prose *)) {
17
- @apply font-heading-token text-xl md:text-2xl;
18
- }
19
- h4:not(.unstyled):is(:not(.prose *)) {
20
- @apply font-heading-token text-lg md:text-xl;
21
- }
22
- h5:not(.unstyled):is(:not(.prose *)) {
23
- @apply font-heading-token text-base md:text-lg;
24
- }
25
- h6:not(.unstyled):is(:not(.prose *)) {
26
- @apply font-heading-token text-sm md:text-base;
27
- }
28
-
29
- /* === Elements === */
30
-
31
- p:not(.unstyled):is(:not(.prose *)) {
32
- /* NOTE: do not hardcode a text color style here. It makes color overrides difficult. */
33
- @apply text-base;
34
- }
35
-
36
- a:not(.unstyled):not(.permalink):is(:not(.prose *)):not(.btn):not(.btn-icon):not(.app-bar a):not(.logo-item):not(a.card):not(
37
- .list-nav a
38
- ) {
39
- @apply text-primary-700 dark:text-primary-500 hover:brightness-110 underline;
40
- }
41
-
42
- blockquote:not(.unstyled):is(:not(.prose *)) {
43
- @apply text-token text-base italic border-l-8 border-l-secondary-500 px-4 pl-4;
44
- }
45
-
46
- /* Keyboard */
47
- kbd:not(.unstyled):is(:not(.prose *)) {
48
- @apply font-sans font-bold text-sm;
49
- @apply bg-surface-300-600-token px-1.5 py-[3px] rounded;
50
- @apply ring-[1px] ring-surface-900 ring-inset;
51
- @apply border-b-2 border-surface-900;
52
- }
53
-
54
- /* === Code Blocks === */
55
- /* For use outside of Skeleton's CodeBlock component */
56
-
57
- pre:not(.unstyled):not(.code-block pre):is(:not(.prose *)) {
58
- @apply font-mono text-base bg-neutral-900/90 text-white p-4 whitespace-pre-wrap overflow-x-auto rounded-container-token;
59
- }
60
-
61
- code:not(.unstyled):is(:not(.prose *)):is(:not(pre *)) {
62
- @apply font-mono text-xs text-primary-700 dark:text-primary-400 whitespace-nowrap;
63
- @apply bg-primary-500/30 dark:bg-primary-500/20;
64
- @apply py-0.5 px-1 rounded;
65
- }
66
-
67
- /* === Insertions / Deletions ==== */
68
- /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins */
69
- /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del */
70
-
71
- ins:not(.unstyled):is(:not(.prose *)),
72
- del:not(.unstyled):is(:not(.prose *)) {
73
- @apply block relative p-0.5 pl-5;
74
- text-decoration: none;
75
- }
76
-
77
- ins:not(.unstyled):is(:not(.prose *))::before,
78
- del:not(.unstyled):is(:not(.prose *))::before {
79
- @apply absolute left-1 font-mono;
80
- }
81
- ins:not(.unstyled):is(:not(.prose *))::before {
82
- content: '+';
83
- }
84
- del:not(.unstyled):is(:not(.prose *))::before {
85
- content: '';
86
- }
87
-
88
- ins:not(.unstyled):is(:not(.prose *)) {
89
- @apply font-mono bg-success-500 text-on-success-token;
90
- }
91
- del:not(.unstyled):is(:not(.prose *)) {
92
- @apply font-mono bg-error-500 text-on-error-token;
93
- }
94
-
95
- /* === Date/Time === */
96
- /* Useful for displaying timestamps */
97
-
98
- time:not(.unstyled):is(:not(.prose *)) {
99
- @apply text-sm text-surface-500 dark:text-surface-400;
100
- }
4
+ body {
5
+ @apply font-token text-token;
6
+ }
7
+
8
+ /* === Headings === */
9
+
10
+ h1:not(.unstyled):is(:not(.prose *)) {
11
+ @apply text-3xl font-heading-token md:text-5xl;
12
+ }
13
+ h2:not(.unstyled):is(:not(.prose *)) {
14
+ @apply text-2xl font-heading-token md:text-4xl;
15
+ }
16
+ h3:not(.unstyled):is(:not(.prose *)) {
17
+ @apply text-xl font-heading-token md:text-2xl;
18
+ }
19
+ h4:not(.unstyled):is(:not(.prose *)) {
20
+ @apply text-lg font-heading-token md:text-xl;
21
+ }
22
+ h5:not(.unstyled):is(:not(.prose *)) {
23
+ @apply text-base font-heading-token md:text-lg;
24
+ }
25
+ h6:not(.unstyled):is(:not(.prose *)) {
26
+ @apply text-sm font-heading-token md:text-base;
27
+ }
28
+
29
+ /* === Elements === */
30
+
31
+ p:not(.unstyled):is(:not(.prose *)) {
32
+ /* NOTE: do not hardcode a text color style here. It makes color overrides difficult. */
33
+ @apply text-base;
34
+ }
35
+
36
+ a:not(.unstyled):not(.permalink):is(:not(.prose *)):not(.btn):not(.btn-icon):not(.app-bar a):not(
37
+ .logo-item
38
+ ):not(a.card):not(.list-nav a) {
39
+ @apply text-primary-700 underline hover:brightness-110 dark:text-primary-500;
40
+ }
41
+
42
+ blockquote:not(.unstyled):is(:not(.prose *)) {
43
+ @apply border-l-8 border-l-secondary-500 px-4 pl-4 text-base italic text-token;
44
+ }
45
+
46
+ /* Keyboard */
47
+ kbd:not(.unstyled):is(:not(.prose *)) {
48
+ @apply font-sans text-sm font-bold;
49
+ @apply rounded px-1.5 py-[3px] bg-surface-300-600-token;
50
+ @apply ring-[1px] ring-inset ring-surface-900;
51
+ @apply border-b-2 border-surface-900;
52
+ }
53
+
54
+ /* === Code Blocks === */
55
+ /* For use outside of Skeleton's CodeBlock component */
56
+
57
+ pre:not(.unstyled):not(.code-block pre):is(:not(.prose *)) {
58
+ @apply overflow-x-auto whitespace-pre-wrap bg-neutral-900/90 p-4 font-mono text-base text-white rounded-container-token;
59
+ }
60
+
61
+ code:not(.unstyled):is(:not(.prose *)):is(:not(pre *)) {
62
+ @apply whitespace-nowrap font-mono text-xs text-primary-700 dark:text-primary-400;
63
+ @apply bg-primary-500/30 dark:bg-primary-500/20;
64
+ @apply rounded py-0.5 px-1;
65
+ }
66
+
67
+ /* === Insertions / Deletions ==== */
68
+ /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins */
69
+ /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del */
70
+
71
+ ins:not(.unstyled):is(:not(.prose *)),
72
+ del:not(.unstyled):is(:not(.prose *)) {
73
+ @apply relative block p-0.5 pl-5;
74
+ text-decoration: none;
75
+ }
76
+
77
+ ins:not(.unstyled):is(:not(.prose *))::before,
78
+ del:not(.unstyled):is(:not(.prose *))::before {
79
+ @apply absolute left-1 font-mono;
80
+ }
81
+ ins:not(.unstyled):is(:not(.prose *))::before {
82
+ content: "+";
83
+ }
84
+ del:not(.unstyled):is(:not(.prose *))::before {
85
+ content: "";
86
+ }
87
+
88
+ ins:not(.unstyled):is(:not(.prose *)) {
89
+ @apply bg-success-500 font-mono text-on-success-token;
90
+ }
91
+ del:not(.unstyled):is(:not(.prose *)) {
92
+ @apply bg-error-500 font-mono text-on-error-token;
93
+ }
94
+
95
+ /* === Date/Time === */
96
+ /* Useful for displaying timestamps */
97
+
98
+ time:not(.unstyled):is(:not(.prose *)) {
99
+ @apply text-sm text-surface-500 dark:text-surface-400;
100
+ }
101
101
  }
@@ -2,155 +2,155 @@
2
2
  /* A canned set of reusabled variant styles. */
3
3
 
4
4
  @layer components {
5
- /* Outline -- supports ringed and host variants */
6
- .variant-outline-primary {
7
- @apply ring-[1px] ring-primary-500 dark:ring-primary-500 ring-inset;
8
- }
9
- .variant-outline-secondary {
10
- @apply ring-[1px] ring-secondary-500 dark:ring-secondary-500 ring-inset;
11
- }
12
- .variant-outline-tertiary {
13
- @apply ring-[1px] ring-tertiary-500 dark:ring-tertiary-500 ring-inset;
14
- }
15
- .variant-outline-success {
16
- @apply ring-[1px] ring-success-500 dark:ring-success-500 ring-inset;
17
- }
18
- .variant-outline-warning {
19
- @apply ring-[1px] ring-warning-500 dark:ring-warning-500 ring-inset;
20
- }
21
- .variant-outline-error {
22
- @apply ring-[1px] ring-error-500 dark:ring-error-500 ring-inset;
23
- }
24
- .variant-outline,
25
- .variant-outline-surface {
26
- @apply ring-[1px] ring-surface-500 dark:ring-surface-500 ring-inset;
27
- }
5
+ /* Outline -- supports ringed and host variants */
6
+ .variant-outline-primary {
7
+ @apply ring-[1px] ring-inset ring-primary-500 dark:ring-primary-500;
8
+ }
9
+ .variant-outline-secondary {
10
+ @apply ring-[1px] ring-inset ring-secondary-500 dark:ring-secondary-500;
11
+ }
12
+ .variant-outline-tertiary {
13
+ @apply ring-[1px] ring-inset ring-tertiary-500 dark:ring-tertiary-500;
14
+ }
15
+ .variant-outline-success {
16
+ @apply ring-[1px] ring-inset ring-success-500 dark:ring-success-500;
17
+ }
18
+ .variant-outline-warning {
19
+ @apply ring-[1px] ring-inset ring-warning-500 dark:ring-warning-500;
20
+ }
21
+ .variant-outline-error {
22
+ @apply ring-[1px] ring-inset ring-error-500 dark:ring-error-500;
23
+ }
24
+ .variant-outline,
25
+ .variant-outline-surface {
26
+ @apply ring-[1px] ring-inset ring-surface-500 dark:ring-surface-500;
27
+ }
28
28
 
29
- /* ------------------------ */
29
+ /* ------------------------ */
30
30
 
31
- /* Filled */
32
- .variant-filled {
33
- @apply bg-surface-900-50-token text-surface-50-900-token;
34
- }
35
- .variant-filled-primary {
36
- @apply bg-primary-500 dark:bg-primary-500 text-on-primary-token dark:text-on-primary-token;
37
- }
38
- .variant-filled-secondary {
39
- @apply bg-secondary-500 dark:bg-secondary-500 text-on-secondary-token dark:text-on-secondary-token;
40
- }
41
- .variant-filled-tertiary {
42
- @apply bg-tertiary-500 dark:bg-tertiary-500 text-on-tertiary-token dark:text-on-tertiary-token;
43
- }
44
- .variant-filled-success {
45
- @apply bg-success-500 dark:bg-success-500 text-on-success-token dark:text-on-success-token;
46
- }
47
- .variant-filled-warning {
48
- @apply bg-warning-500 dark:bg-warning-500 text-on-warning-token dark:text-on-warning-token;
49
- }
50
- .variant-filled-error {
51
- @apply bg-error-500 dark:bg-error-500 text-on-error-token dark:text-on-error-token;
52
- }
53
- .variant-filled-surface {
54
- @apply bg-surface-400-500-token text-on-surface-token dark:text-on-surface-token;
55
- }
31
+ /* Filled */
32
+ .variant-filled {
33
+ @apply bg-surface-900-50-token text-surface-50-900-token;
34
+ }
35
+ .variant-filled-primary {
36
+ @apply bg-primary-500 text-on-primary-token dark:bg-primary-500 dark:text-on-primary-token;
37
+ }
38
+ .variant-filled-secondary {
39
+ @apply bg-secondary-500 text-on-secondary-token dark:bg-secondary-500 dark:text-on-secondary-token;
40
+ }
41
+ .variant-filled-tertiary {
42
+ @apply bg-tertiary-500 text-on-tertiary-token dark:bg-tertiary-500 dark:text-on-tertiary-token;
43
+ }
44
+ .variant-filled-success {
45
+ @apply bg-success-500 text-on-success-token dark:bg-success-500 dark:text-on-success-token;
46
+ }
47
+ .variant-filled-warning {
48
+ @apply bg-warning-500 text-on-warning-token dark:bg-warning-500 dark:text-on-warning-token;
49
+ }
50
+ .variant-filled-error {
51
+ @apply bg-error-500 text-on-error-token dark:bg-error-500 dark:text-on-error-token;
52
+ }
53
+ .variant-filled-surface {
54
+ @apply bg-surface-400-500-token text-on-surface-token dark:text-on-surface-token;
55
+ }
56
56
 
57
- /* Ringed */
58
- .variant-ringed {
59
- @apply bg-transparent dark:bg-transparent variant-outline;
60
- }
61
- .variant-ringed-primary {
62
- @apply bg-transparent dark:bg-transparent variant-outline-primary;
63
- }
64
- .variant-ringed-secondary {
65
- @apply bg-transparent dark:bg-transparent variant-outline-secondary;
66
- }
67
- .variant-ringed-tertiary {
68
- @apply bg-transparent dark:bg-transparent variant-outline-tertiary;
69
- }
70
- .variant-ringed-success {
71
- @apply bg-transparent dark:bg-transparent variant-outline-success;
72
- }
73
- .variant-ringed-warning {
74
- @apply bg-transparent dark:bg-transparent variant-outline-warning;
75
- }
76
- .variant-ringed-error {
77
- @apply bg-transparent dark:bg-transparent variant-outline-error;
78
- }
79
- .variant-ringed-surface {
80
- @apply bg-transparent dark:bg-transparent variant-outline-surface;
81
- }
57
+ /* Ringed */
58
+ .variant-ringed {
59
+ @apply variant-outline bg-transparent dark:bg-transparent;
60
+ }
61
+ .variant-ringed-primary {
62
+ @apply variant-outline-primary bg-transparent dark:bg-transparent;
63
+ }
64
+ .variant-ringed-secondary {
65
+ @apply variant-outline-secondary bg-transparent dark:bg-transparent;
66
+ }
67
+ .variant-ringed-tertiary {
68
+ @apply variant-outline-tertiary bg-transparent dark:bg-transparent;
69
+ }
70
+ .variant-ringed-success {
71
+ @apply variant-outline-success bg-transparent dark:bg-transparent;
72
+ }
73
+ .variant-ringed-warning {
74
+ @apply variant-outline-warning bg-transparent dark:bg-transparent;
75
+ }
76
+ .variant-ringed-error {
77
+ @apply variant-outline-error bg-transparent dark:bg-transparent;
78
+ }
79
+ .variant-ringed-surface {
80
+ @apply variant-outline-surface bg-transparent dark:bg-transparent;
81
+ }
82
82
 
83
- /* Ghost */
84
- .variant-ghost-primary {
85
- @apply bg-primary-500/20 dark:bg-primary-500/20 variant-outline-primary;
86
- }
87
- .variant-ghost-secondary {
88
- @apply bg-secondary-500/20 dark:bg-secondary-500/20 variant-outline-secondary;
89
- }
90
- .variant-ghost-tertiary {
91
- @apply bg-tertiary-500/20 dark:bg-tertiary-500/20 variant-outline-tertiary;
92
- }
93
- .variant-ghost-success {
94
- @apply bg-success-500/20 dark:bg-success-500/20 variant-outline-success;
95
- }
96
- .variant-ghost-warning {
97
- @apply bg-warning-500/20 dark:bg-warning-500/20 variant-outline-warning;
98
- }
99
- .variant-ghost-error {
100
- @apply bg-error-500/20 dark:bg-error-500/20 variant-outline-error;
101
- }
102
- .variant-ghost,
103
- .variant-ghost-surface {
104
- @apply bg-surface-500/20 dark:bg-surface-500/20 variant-outline-surface;
105
- }
83
+ /* Ghost */
84
+ .variant-ghost-primary {
85
+ @apply variant-outline-primary bg-primary-500/20 dark:bg-primary-500/20;
86
+ }
87
+ .variant-ghost-secondary {
88
+ @apply variant-outline-secondary bg-secondary-500/20 dark:bg-secondary-500/20;
89
+ }
90
+ .variant-ghost-tertiary {
91
+ @apply variant-outline-tertiary bg-tertiary-500/20 dark:bg-tertiary-500/20;
92
+ }
93
+ .variant-ghost-success {
94
+ @apply variant-outline-success bg-success-500/20 dark:bg-success-500/20;
95
+ }
96
+ .variant-ghost-warning {
97
+ @apply variant-outline-warning bg-warning-500/20 dark:bg-warning-500/20;
98
+ }
99
+ .variant-ghost-error {
100
+ @apply variant-outline-error bg-error-500/20 dark:bg-error-500/20;
101
+ }
102
+ .variant-ghost,
103
+ .variant-ghost-surface {
104
+ @apply variant-outline-surface bg-surface-500/20 dark:bg-surface-500/20;
105
+ }
106
106
 
107
- /* Soft */
108
- .variant-soft-primary {
109
- @apply bg-primary-400/20 dark:bg-primary-500/20 text-primary-700-200-token !ring-0;
110
- }
111
- .variant-soft-secondary {
112
- @apply bg-secondary-400/20 dark:bg-secondary-500/20 text-secondary-700-200-token !ring-0;
113
- }
114
- .variant-soft-tertiary {
115
- @apply bg-tertiary-400/20 dark:bg-tertiary-500/20 text-tertiary-700-200-token !ring-0;
116
- }
117
- .variant-soft-success {
118
- @apply bg-success-400/20 dark:bg-success-500/20 text-success-700-200-token !ring-0;
119
- }
120
- .variant-soft-warning {
121
- @apply bg-warning-400/20 dark:bg-warning-500/20 text-warning-700-200-token !ring-0;
122
- }
123
- .variant-soft-error {
124
- @apply bg-error-400/20 dark:bg-error-500/20 text-error-700-200-token !ring-0;
125
- }
126
- .variant-soft,
127
- .variant-soft-surface {
128
- @apply bg-surface-400/20 dark:bg-surface-500/20 text-surface-700-200-token !ring-0;
129
- }
107
+ /* Soft */
108
+ .variant-soft-primary {
109
+ @apply bg-primary-400/20 !ring-0 text-primary-700-200-token dark:bg-primary-500/20;
110
+ }
111
+ .variant-soft-secondary {
112
+ @apply bg-secondary-400/20 !ring-0 text-secondary-700-200-token dark:bg-secondary-500/20;
113
+ }
114
+ .variant-soft-tertiary {
115
+ @apply bg-tertiary-400/20 !ring-0 text-tertiary-700-200-token dark:bg-tertiary-500/20;
116
+ }
117
+ .variant-soft-success {
118
+ @apply bg-success-400/20 !ring-0 text-success-700-200-token dark:bg-success-500/20;
119
+ }
120
+ .variant-soft-warning {
121
+ @apply bg-warning-400/20 !ring-0 text-warning-700-200-token dark:bg-warning-500/20;
122
+ }
123
+ .variant-soft-error {
124
+ @apply bg-error-400/20 !ring-0 text-error-700-200-token dark:bg-error-500/20;
125
+ }
126
+ .variant-soft,
127
+ .variant-soft-surface {
128
+ @apply bg-surface-400/20 !ring-0 text-surface-700-200-token dark:bg-surface-500/20;
129
+ }
130
130
 
131
- /* Glass */
132
- .variant-glass-primary {
133
- @apply bg-primary-500/20 dark:bg-primary-500/20 backdrop-blur-lg;
134
- }
135
- .variant-glass-secondary {
136
- @apply bg-secondary-500/20 dark:bg-secondary-500/20 backdrop-blur-lg;
137
- }
138
- .variant-glass-tertiary {
139
- @apply bg-tertiary-500/20 dark:bg-tertiary-500/20 backdrop-blur-lg;
140
- }
141
- .variant-glass-success {
142
- @apply bg-success-500/20 dark:bg-success-500/20 backdrop-blur-lg;
143
- }
144
- .variant-glass-warning {
145
- @apply bg-warning-500/20 dark:bg-warning-500/20 backdrop-blur-lg;
146
- }
147
- .variant-glass-error {
148
- @apply bg-error-500/20 dark:bg-error-500/20 backdrop-blur-lg;
149
- }
150
- .variant-glass-surface {
151
- @apply bg-surface-500/20 dark:bg-surface-500/20 backdrop-blur-lg;
152
- }
153
- .variant-glass {
154
- @apply bg-surface-50/30 dark:bg-surface-900/30 backdrop-blur-lg;
155
- }
131
+ /* Glass */
132
+ .variant-glass-primary {
133
+ @apply bg-primary-500/20 backdrop-blur-lg dark:bg-primary-500/20;
134
+ }
135
+ .variant-glass-secondary {
136
+ @apply bg-secondary-500/20 backdrop-blur-lg dark:bg-secondary-500/20;
137
+ }
138
+ .variant-glass-tertiary {
139
+ @apply bg-tertiary-500/20 backdrop-blur-lg dark:bg-tertiary-500/20;
140
+ }
141
+ .variant-glass-success {
142
+ @apply bg-success-500/20 backdrop-blur-lg dark:bg-success-500/20;
143
+ }
144
+ .variant-glass-warning {
145
+ @apply bg-warning-500/20 backdrop-blur-lg dark:bg-warning-500/20;
146
+ }
147
+ .variant-glass-error {
148
+ @apply bg-error-500/20 backdrop-blur-lg dark:bg-error-500/20;
149
+ }
150
+ .variant-glass-surface {
151
+ @apply bg-surface-500/20 backdrop-blur-lg dark:bg-surface-500/20;
152
+ }
153
+ .variant-glass {
154
+ @apply bg-surface-50/30 backdrop-blur-lg dark:bg-surface-900/30;
155
+ }
156
156
  }