@shuriken-ui/tailwind 3.1.2 → 4.0.0-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. package/package.json +30 -80
  2. package/src/css/accordion.css +175 -0
  3. package/src/css/autocomplete.css +511 -0
  4. package/src/css/avatar-group.css +138 -0
  5. package/src/css/avatar.css +738 -0
  6. package/src/css/breadcrumb.css +63 -0
  7. package/src/css/button-action.css +108 -0
  8. package/src/css/button-close.css +117 -0
  9. package/src/css/button-group.css +236 -0
  10. package/src/css/button-icon.css +97 -0
  11. package/src/css/button.css +565 -0
  12. package/src/css/card.css +69 -0
  13. package/src/css/checkbox.css +99 -0
  14. package/src/css/dropdown-divider.css +6 -0
  15. package/src/css/dropdown-item.css +62 -0
  16. package/src/css/dropdown.css +102 -0
  17. package/src/css/focus.css +12 -0
  18. package/src/css/fullscreen-dropfile.css +63 -0
  19. package/src/css/heading.css +78 -0
  20. package/src/css/icon-box.css +305 -0
  21. package/src/css/input-file-regular.css +255 -0
  22. package/src/css/input-file.css +224 -0
  23. package/src/css/input-help-text.css +7 -0
  24. package/src/css/input-number.css +469 -0
  25. package/src/css/input.css +402 -0
  26. package/src/css/kbd.css +94 -0
  27. package/src/css/label.css +6 -0
  28. package/src/css/link.css +8 -0
  29. package/src/css/list.css +23 -0
  30. package/src/css/listbox.css +511 -0
  31. package/src/css/mark.css +7 -0
  32. package/src/css/mask.css +23 -0
  33. package/src/css/message-text.css +72 -0
  34. package/src/css/message.css +245 -0
  35. package/src/css/modal.css +51 -0
  36. package/src/css/pagination.css +93 -0
  37. package/src/css/paragraph.css +78 -0
  38. package/src/css/placeholder-page.css +44 -0
  39. package/src/css/placeload.css +13 -0
  40. package/src/css/progress-circle.css +18 -0
  41. package/src/css/progress.css +90 -0
  42. package/src/css/prose.css +22 -0
  43. package/src/css/radio.css +73 -0
  44. package/src/css/select.css +404 -0
  45. package/src/css/slimscroll.css +32 -0
  46. package/src/css/snack.css +101 -0
  47. package/src/css/switch-ball.css +94 -0
  48. package/src/css/switch-thin.css +76 -0
  49. package/src/css/tab-slider.css +190 -0
  50. package/src/css/tabs.css +175 -0
  51. package/src/css/tag.css +312 -0
  52. package/src/css/text.css +78 -0
  53. package/src/css/textarea.css +228 -0
  54. package/src/css/theme-switch.css +65 -0
  55. package/src/css/theme-toggle.css +62 -0
  56. package/src/css/toast.css +132 -0
  57. package/src/css/tooltip.css +99 -0
  58. package/src/index.css +57 -0
  59. package/dist/colors.cjs +0 -2
  60. package/dist/colors.d.cts +0 -2
  61. package/dist/colors.d.mts +0 -2
  62. package/dist/colors.d.ts +0 -2
  63. package/dist/colors.mjs +0 -1
  64. package/dist/config.cjs +0 -18
  65. package/dist/config.d.cts +0 -6
  66. package/dist/config.d.mts +0 -6
  67. package/dist/config.d.ts +0 -6
  68. package/dist/config.mjs +0 -16
  69. package/dist/index.cjs +0 -25
  70. package/dist/index.d.cts +0 -11
  71. package/dist/index.d.mts +0 -11
  72. package/dist/index.d.ts +0 -11
  73. package/dist/index.mjs +0 -21
  74. package/dist/plugins/index.cjs +0 -21074
  75. package/dist/plugins/index.d.cts +0 -308
  76. package/dist/plugins/index.d.mts +0 -308
  77. package/dist/plugins/index.d.ts +0 -308
  78. package/dist/plugins/index.mjs +0 -21008
  79. package/dist/preset.cjs +0 -53
  80. package/dist/preset.d.cts +0 -3
  81. package/dist/preset.d.mts +0 -3
  82. package/dist/preset.d.ts +0 -3
  83. package/dist/preset.mjs +0 -44
  84. package/dist/shared/tailwind.6e316a50.d.cts +0 -49966
  85. package/dist/shared/tailwind.6e316a50.d.mts +0 -49966
  86. package/dist/shared/tailwind.6e316a50.d.ts +0 -49966
  87. package/dist/themes.cjs +0 -119
  88. package/dist/themes.d.cts +0 -187
  89. package/dist/themes.d.mts +0 -187
  90. package/dist/themes.d.ts +0 -187
  91. package/dist/themes.mjs +0 -113
@@ -0,0 +1,312 @@
1
+ /* generated using "pnpm jiti scripts/generate-utilities.ts" */
2
+ /* @utility nui-tag */
3
+
4
+ @utility nui-tag {
5
+ @apply inline-block px-3 font-sans transition-all duration-300;
6
+ }
7
+ @utility nui-tag-sm {
8
+ @apply py-1;
9
+ @apply text-[0.65rem];
10
+ }
11
+ @utility nui-tag-md {
12
+ @apply py-1.5;
13
+ @apply text-xs;
14
+ }
15
+ @utility nui-tag-rounded-sm {
16
+ @apply rounded;
17
+ }
18
+ @utility nui-tag-rounded-md {
19
+ @apply rounded-md;
20
+ }
21
+ @utility nui-tag-rounded-lg {
22
+ @apply rounded-lg;
23
+ }
24
+ @utility nui-tag-rounded-full {
25
+ @apply rounded-full;
26
+ }
27
+ @utility nui-tag-solid {
28
+ &.nui-tag-default {
29
+ @apply text-muted-600 dark:text-muted-300;
30
+ @apply bg-white dark:bg-muted-800;
31
+ @apply border border-muted-300 dark:border-muted-700;
32
+
33
+ &.nui-tag-shadow {
34
+ @apply shadow-xl;
35
+ }
36
+
37
+ &.nui-tag-shadow-hover {
38
+ @apply hover:shadow-xl;
39
+ }
40
+ }
41
+
42
+ &.nui-tag-default-contrast {
43
+ @apply text-muted-600 dark:text-muted-100;
44
+ @apply bg-white dark:bg-muted-950;
45
+ @apply border border-muted-300 dark:border-muted-800;
46
+
47
+ &.nui-tag-shadow {
48
+ @apply shadow-xl;
49
+ }
50
+
51
+ &.nui-tag-shadow-hover {
52
+ @apply hover:shadow-xl;
53
+ }
54
+ }
55
+
56
+ &.nui-tag-muted {
57
+ @apply text-muted-500 dark:text-muted-200;
58
+ @apply bg-muted-100 dark:bg-muted-800;
59
+ @apply border border-muted-100 dark:border-muted-800;
60
+
61
+ &.nui-tag-shadow {
62
+ @apply shadow-xl;
63
+ }
64
+
65
+ &.nui-tag-shadow-hover {
66
+ @apply hover:shadow-xl;
67
+ }
68
+ }
69
+
70
+ &.nui-tag-muted-contrast {
71
+ @apply text-muted-500 dark:text-muted-200;
72
+ @apply bg-muted-100 dark:bg-muted-950;
73
+ @apply border border-muted-100 dark:border-muted-950;
74
+
75
+ &.nui-tag-shadow {
76
+ @apply shadow-xl;
77
+ }
78
+
79
+ &.nui-tag-shadow-hover {
80
+ @apply hover:shadow-xl;
81
+ }
82
+ }
83
+
84
+ &.nui-tag-light {
85
+ @apply text-muted-500 dark:text-muted-100;
86
+ @apply bg-muted-200 dark:bg-muted-700;
87
+ @apply border border-muted-200 dark:border-muted-700;
88
+
89
+ &.nui-tag-shadow {
90
+ @apply shadow-xl;
91
+ }
92
+
93
+ &.nui-tag-shadow-hover {
94
+ @apply hover:shadow-xl;
95
+ }
96
+ }
97
+
98
+ &.nui-tag-dark {
99
+ @apply text-muted-100 dark:text-muted-900;
100
+ @apply bg-muted-900 dark:bg-muted-100;
101
+ @apply border border-muted-900 dark:border-muted-100;
102
+
103
+ &.nui-tag-shadow {
104
+ @apply shadow-xl;
105
+ }
106
+
107
+ &.nui-tag-shadow-hover {
108
+ @apply hover:shadow-xl;
109
+ }
110
+ }
111
+
112
+ &.nui-tag-black {
113
+ @apply text-white dark:text-black;
114
+ @apply bg-black dark:bg-white;
115
+ @apply border border-black dark:border-white;
116
+
117
+ &.nui-tag-shadow {
118
+ @apply shadow-xl;
119
+ }
120
+
121
+ &.nui-tag-shadow-hover {
122
+ @apply hover:shadow-xl;
123
+ }
124
+ }
125
+
126
+ &.nui-tag-primary {
127
+ @apply text-white dark:text-white;
128
+ @apply bg-primary-500 dark:bg-primary-500;
129
+ @apply border border-primary-500 dark:border-primary-500;
130
+
131
+ &.nui-tag-shadow {
132
+ @apply shadow-xl shadow-primary-500/30 shadow-primary-500/20;
133
+ }
134
+
135
+ &.nui-tag-shadow-hover {
136
+ @apply hover:shadow-xl hover:shadow-primary-500/30 hover:shadow-primary-500/20;
137
+ }
138
+ }
139
+
140
+ &.nui-tag-info {
141
+ @apply text-white dark:text-white;
142
+ @apply bg-info-500 dark:bg-info-500;
143
+ @apply border border-info-500 dark:border-info-500;
144
+
145
+ &.nui-tag-shadow {
146
+ @apply shadow-xl shadow-info-500/30 shadow-info-500/20;
147
+ }
148
+
149
+ &.nui-tag-shadow-hover {
150
+ @apply hover:shadow-xl hover:shadow-info-500/30 hover:shadow-info-500/20;
151
+ }
152
+ }
153
+
154
+ &.nui-tag-success {
155
+ @apply text-white dark:text-white;
156
+ @apply bg-success-500 dark:bg-success-500;
157
+ @apply border border-success-500 dark:border-success-500;
158
+
159
+ &.nui-tag-shadow {
160
+ @apply shadow-xl shadow-success-500/30 shadow-success-500/20;
161
+ }
162
+
163
+ &.nui-tag-shadow-hover {
164
+ @apply hover:shadow-xl hover:shadow-success-500/30 hover:shadow-success-500/20;
165
+ }
166
+ }
167
+
168
+ &.nui-tag-warning {
169
+ @apply text-white dark:text-white;
170
+ @apply bg-warning-500 dark:bg-warning-500;
171
+ @apply border border-warning-500 dark:border-warning-500;
172
+
173
+ &.nui-tag-shadow {
174
+ @apply shadow-xl shadow-warning-500/30 shadow-warning-500/20;
175
+ }
176
+
177
+ &.nui-tag-shadow-hover {
178
+ @apply hover:shadow-xl hover:shadow-warning-500/30 hover:shadow-warning-500/20;
179
+ }
180
+ }
181
+
182
+ &.nui-tag-danger {
183
+ @apply text-white dark:text-white;
184
+ @apply bg-danger-500 dark:bg-danger-500;
185
+ @apply border border-danger-500 dark:border-danger-500;
186
+
187
+ &.nui-tag-shadow {
188
+ @apply shadow-xl shadow-danger-500/30 shadow-danger-500/20;
189
+ }
190
+
191
+ &.nui-tag-shadow-hover {
192
+ @apply hover:shadow-xl hover:shadow-danger-500/30 hover:shadow-danger-500/20;
193
+ }
194
+ }
195
+ }
196
+ @utility nui-tag-pastel {
197
+ &.nui-tag-default, &.nui-tag-default-contrast {
198
+ @apply text-muted-500 dark:text-muted-100;
199
+ @apply bg-muted-100 dark:bg-muted-100/10;
200
+ @apply border border-muted-100 dark:border-muted-100/10;
201
+ }
202
+
203
+ &.nui-tag-muted, &.nui-tag-muted-contrast {
204
+ @apply text-muted-500 dark:text-muted-200;
205
+ @apply bg-muted-100 dark:bg-muted-800;
206
+ @apply border border-muted-100 dark:border-muted-800;
207
+ }
208
+
209
+ &.nui-tag-light {
210
+ @apply text-muted-800 dark:text-muted-100;
211
+ @apply bg-white/30 dark:bg-white/20;
212
+ @apply border border-white/30 dark:border-white/20;
213
+ }
214
+
215
+ &.nui-tag-dark {
216
+ @apply text-muted-100 dark:text-muted-900;
217
+ @apply bg-muted-900 dark:bg-muted-100;
218
+ @apply border border-muted-900 dark:border-muted-100;
219
+ }
220
+
221
+ &.nui-tag-black {
222
+ @apply text-white dark:text-black;
223
+ @apply bg-black dark:bg-white;
224
+ @apply border border-black dark:border-white;
225
+ }
226
+
227
+ &.nui-tag-primary {
228
+ @apply text-primary-500 dark:text-primary-500;
229
+ @apply bg-primary-500/20 dark:bg-primary-500/10;
230
+ @apply border border-primary-500/20 dark:border-primary-500/10;
231
+ }
232
+
233
+ &.nui-tag-info {
234
+ @apply text-info-500 dark:text-info-500;
235
+ @apply bg-info-500/20 dark:bg-info-500/10;
236
+ @apply border border-info-500/20 dark:border-info-500/10;
237
+ }
238
+
239
+ &.nui-tag-success {
240
+ @apply text-success-500 dark:text-success-500;
241
+ @apply bg-success-500/20 dark:bg-success-500/10;
242
+ @apply border border-success-500/20 dark:border-success-500/10;
243
+ }
244
+
245
+ &.nui-tag-warning {
246
+ @apply text-warning-500 dark:text-warning-500;
247
+ @apply bg-warning-500/20 dark:bg-warning-500/10;
248
+ @apply border border-warning-500/20 dark:border-warning-500/10;
249
+ }
250
+
251
+ &.nui-tag-danger {
252
+ @apply text-danger-500 dark:text-danger-500;
253
+ @apply bg-danger-500/20 dark:bg-danger-500/10;
254
+ @apply border border-danger-500/20 dark:border-danger-500/10;
255
+ }
256
+ }
257
+ @utility nui-tag-outline {
258
+ &.nui-tag-default, &.nui-tag-default-contrast {
259
+ @apply text-muted-500 dark:text-muted-100;
260
+ @apply border border-muted-500 dark:border-muted-100;
261
+ }
262
+
263
+ &.nui-tag-muted, &.nui-tag-muted-contrast {
264
+ @apply text-muted-400 dark:text-muted-100;
265
+ @apply border border-muted-400 dark:border-muted-100;
266
+ }
267
+
268
+ &.nui-tag-light {
269
+ @apply text-muted-100 dark:text-muted-100;
270
+ @apply border border-muted-100 dark:border-muted-100;
271
+ }
272
+
273
+ &.nui-tag-dark {
274
+ @apply text-muted-900 dark:text-muted-100;
275
+ @apply border border-muted-900 dark:border-muted-100;
276
+ }
277
+
278
+ &.nui-tag-black {
279
+ @apply text-black dark:text-white;
280
+ @apply border border-black dark:border-white;
281
+ }
282
+
283
+ &.nui-tag-primary {
284
+ @apply text-primary-500 dark:text-primary-500;
285
+ @apply border border-primary-500 dark:border-primary-500;
286
+ @apply bg-transparent dark:bg-transparent;
287
+ }
288
+
289
+ &.nui-tag-info {
290
+ @apply text-info-500 dark:text-info-500;
291
+ @apply border border-info-500 dark:border-info-500;
292
+ @apply bg-transparent dark:bg-transparent;
293
+ }
294
+
295
+ &.nui-tag-success {
296
+ @apply text-success-500 dark:text-success-500;
297
+ @apply border border-success-500 dark:border-success-500;
298
+ @apply bg-transparent dark:bg-transparent;
299
+ }
300
+
301
+ &.nui-tag-warning {
302
+ @apply text-warning-500 dark:text-warning-500;
303
+ @apply border border-warning-500 dark:border-warning-500;
304
+ @apply bg-transparent dark:bg-transparent;
305
+ }
306
+
307
+ &.nui-tag-danger {
308
+ @apply text-danger-500 dark:text-danger-500;
309
+ @apply border border-danger-500 dark:border-danger-500;
310
+ @apply bg-transparent dark:bg-transparent;
311
+ }
312
+ }
@@ -0,0 +1,78 @@
1
+ /* generated using "pnpm jiti scripts/generate-utilities.ts" */
2
+ /* @utility nui-text */
3
+
4
+ @utility nui-text {
5
+ @apply font-sans;
6
+ }
7
+ @utility nui-content-xs {
8
+ @apply text-xs;
9
+ }
10
+ @utility nui-content-sm {
11
+ @apply text-sm;
12
+ }
13
+ @utility nui-content-md {
14
+ @apply text-base;
15
+ }
16
+ @utility nui-content-lg {
17
+ @apply text-lg;
18
+ }
19
+ @utility nui-content-xl {
20
+ @apply text-xl;
21
+ }
22
+ @utility nui-content-2xl {
23
+ @apply text-2xl;
24
+ }
25
+ @utility nui-content-3xl {
26
+ @apply text-3xl;
27
+ }
28
+ @utility nui-content-4xl {
29
+ @apply text-4xl;
30
+ }
31
+ @utility nui-content-5xl {
32
+ @apply text-5xl;
33
+ }
34
+ @utility nui-content-6xl {
35
+ @apply text-6xl;
36
+ }
37
+ @utility nui-content-7xl {
38
+ @apply text-7xl;
39
+ }
40
+ @utility nui-content-8xl {
41
+ @apply text-8xl;
42
+ }
43
+ @utility nui-content-9xl {
44
+ @apply text-9xl;
45
+ }
46
+ @utility nui-weight-light {
47
+ @apply font-light;
48
+ }
49
+ @utility nui-weight-normal {
50
+ @apply font-normal;
51
+ }
52
+ @utility nui-weight-medium {
53
+ @apply font-medium;
54
+ }
55
+ @utility nui-weight-semibold {
56
+ @apply font-semibold;
57
+ }
58
+ @utility nui-weight-bold {
59
+ @apply font-bold;
60
+ }
61
+ @utility nui-weight-extrabold {
62
+ @apply font-extrabold;
63
+ }
64
+ @utility nui-lead-none {
65
+ @apply leading-none;
66
+ }
67
+ @utility nui-lead-normal {
68
+ @apply leading-normal;
69
+ }
70
+ @utility nui-lead-tight {
71
+ @apply leading-tight;
72
+ }
73
+ @utility nui-lead-snug {
74
+ @apply leading-snug;
75
+ }
76
+ @utility nui-lead-loose {
77
+ @apply leading-loose;
78
+ }
@@ -0,0 +1,228 @@
1
+ /* generated using "pnpm jiti scripts/generate-utilities.ts" */
2
+ /* @utility nui-textarea */
3
+
4
+ @utility nui-textarea-wrapper {
5
+ @apply relative;
6
+
7
+ .nui-textarea-label, .nui-label-float {
8
+ @apply nui-label;
9
+ }
10
+
11
+ &:not(.nui-textarea-loading) {
12
+ .nui-textarea:placeholder-shown ~ .nui-label-float {
13
+ @apply text-muted-300 dark:text-muted-600;
14
+ }
15
+ }
16
+
17
+ &:not(.nui-has-addon) {
18
+ .nui-textarea {
19
+ @apply p-2;
20
+ }
21
+ }
22
+ }
23
+ @utility nui-label-float {
24
+ @apply h-5 absolute inline-flex items-center select-none pointer-events-none;
25
+ @apply font-sans text-primary-500 leading-none;
26
+ @apply transition-all duration-300;
27
+ }
28
+ @utility nui-textarea-outer {
29
+ @apply relative flex flex-col;
30
+ }
31
+ @utility nui-textarea {
32
+ @apply nui-focus w-full enabled:cursor-text cursor-not-allowed;
33
+
34
+ &:focus-visible ~ .nui-label-float {
35
+ @apply !text-primary-500 dark:!text-primary-500;
36
+ }
37
+
38
+ &.nui-textarea-focus {
39
+ @apply focus:!border-primary-500 dark:focus:!border-primary-500;
40
+ @apply transition-colors duration-300;
41
+ }
42
+ }
43
+ @utility nui-textarea-placeload {
44
+ @apply absolute start-0 top-4 flex h-full w-full flex-col space-y-2 px-3;
45
+
46
+ .nui-placeload {
47
+ @apply h-3 w-full rounded;
48
+
49
+ &:first-child {
50
+ @apply max-w-[85%];
51
+ }
52
+
53
+ &:nth-child(2) {
54
+ @apply max-w-[65%];
55
+ }
56
+
57
+ &:nth-child(3) {
58
+ @apply max-w-[35%];
59
+ }
60
+ }
61
+ }
62
+ @utility nui-textarea-rounded-sm {
63
+ .nui-textarea {
64
+ @apply rounded-md;
65
+ }
66
+
67
+ .nui-textarea-addon {
68
+ @apply rounded-b-md;
69
+ }
70
+ }
71
+ @utility nui-textarea-rounded-md {
72
+ .nui-textarea {
73
+ @apply rounded-lg;
74
+ }
75
+
76
+ .nui-textarea-addon {
77
+ @apply rounded-b-lg;
78
+ }
79
+ }
80
+ @utility nui-textarea-rounded-lg {
81
+ .nui-textarea {
82
+ @apply rounded-xl;
83
+ }
84
+
85
+ .nui-textarea-addon {
86
+ @apply rounded-b-xl;
87
+ }
88
+ }
89
+ @utility nui-textarea-default {
90
+ .nui-textarea {
91
+ @apply text-muted-600 dark:text-muted-200;
92
+ @apply placeholder:text-muted-300 dark:placeholder:text-muted-500;
93
+ @apply bg-white dark:bg-muted-900;
94
+ @apply border border-muted-300 dark:border-muted-700;
95
+ @apply hover:border-muted-300 dark:hover:border-muted-700;
96
+ }
97
+ }
98
+ @utility nui-textarea-default-contrast {
99
+ .nui-textarea {
100
+ @apply text-muted-600 dark:text-muted-200;
101
+ @apply placeholder:text-muted-300 dark:placeholder:text-muted-600;
102
+ @apply bg-white dark:bg-muted-950;
103
+ @apply border border-muted-300 dark:border-muted-800;
104
+ @apply hover:border-muted-300 dark:hover:border-muted-800;
105
+ }
106
+ }
107
+ @utility nui-textarea-muted {
108
+ .nui-textarea {
109
+ @apply text-muted-600 dark:text-muted-200;
110
+ @apply placeholder:text-muted-300 dark:placeholder:text-muted-500;
111
+ @apply bg-muted-100 dark:bg-muted-900;
112
+ @apply border border-muted-100 dark:border-muted-700;
113
+ @apply hover:border-muted-100 dark:hover:border-muted-700;
114
+ }
115
+ }
116
+ @utility nui-textarea-muted-contrast {
117
+ .nui-textarea {
118
+ @apply text-muted-600 dark:text-muted-200;
119
+ @apply placeholder:text-muted-300 dark:placeholder:text-muted-600;
120
+ @apply bg-muted-100 dark:bg-muted-950;
121
+ @apply border border-muted-100 dark:border-muted-800;
122
+ @apply hover:border-muted-100 dark:hover:border-muted-800;
123
+ }
124
+ }
125
+ @utility nui-textarea-loading {
126
+ .nui-textarea {
127
+ @apply !text-transparent placeholder:!text-transparent dark:placeholder:!text-transparent;
128
+ }
129
+
130
+ .nui-textarea:placeholder-shown ~ .nui-label-float {
131
+ @apply text-transparent;
132
+ }
133
+ }
134
+ @utility nui-textarea-label-float {
135
+ .nui-textarea {
136
+ @apply placeholder:text-transparent dark:placeholder:text-transparent;
137
+ }
138
+ }
139
+ @utility nui-textarea-error {
140
+ .nui-textarea {
141
+ @apply !border-danger-500 dark:!border-danger-500;
142
+ }
143
+ }
144
+ @utility nui-textarea-no-resize {
145
+ .nui-textarea {
146
+ @apply resize-none;
147
+ }
148
+ }
149
+ @utility nui-textarea-sm {
150
+ @apply min-h-[2rem] text-xs;
151
+
152
+ .nui-textarea-label {
153
+ @apply pb-1 text-xs;
154
+ }
155
+ }
156
+ @utility nui-textarea-md {
157
+ @apply min-h-[2.5rem] text-sm;
158
+
159
+ .nui-textarea-label {
160
+ @apply pb-1 text-sm;
161
+ }
162
+ }
163
+ @utility nui-textarea-lg {
164
+ @apply min-h-[3rem] text-sm;
165
+
166
+ .nui-textarea-label {
167
+ @apply pb-1 text-sm;
168
+ }
169
+ }
170
+ @utility nui-has-addon {
171
+ .nui-textarea {
172
+ @apply px-2 pb-14 pt-2;
173
+ }
174
+
175
+ .nui-textarea-addon {
176
+ @apply absolute bottom-0 start-0 flex items-center justify-between;
177
+ @apply w-full h-12 p-2;
178
+ @apply bg-muted-50 dark:bg-muted-900/50;
179
+ @apply border border-muted-300 dark:border-muted-700;
180
+ }
181
+
182
+ .nui-textarea-addon-start {
183
+ @apply flex items-center gap-2;
184
+ }
185
+
186
+ .nui-textarea-addon-end {
187
+ @apply flex items-center justify-end gap-2;
188
+ }
189
+ }
190
+ @utility nui-textarea-label-float {
191
+ .nui-label-float {
192
+ @apply start-3 -ms-3 -mt-7 text-xs;
193
+ }
194
+
195
+ .nui-textarea:focus-visible ~ .nui-label-float {
196
+ @apply !-ms-3 !-mt-6;
197
+ }
198
+
199
+ .nui-textarea:placeholder-shown ~ .nui-label-float {
200
+ @apply ms-0 mt-[0.35rem];
201
+ }
202
+ }
203
+ @utility nui-textarea-label-float {
204
+ .nui-label-float {
205
+ @apply start-3 -ms-3 -mt-8 text-xs;
206
+ }
207
+
208
+ .nui-textarea:focus-visible ~ .nui-label-float {
209
+ @apply !-ms-3 !-mt-7 !text-xs;
210
+ }
211
+
212
+ .nui-textarea:placeholder-shown ~ .nui-label-float {
213
+ @apply ms-0 mt-2.5 text-[0.825rem];
214
+ }
215
+ }
216
+ @utility nui-textarea-label-float {
217
+ .nui-label-float {
218
+ @apply start-3 -ms-3 -mt-8 text-xs;
219
+ }
220
+
221
+ .nui-textarea:focus-visible ~ .nui-label-float {
222
+ @apply !-ms-3 !-mt-7 !text-xs;
223
+ }
224
+
225
+ .nui-textarea:placeholder-shown ~ .nui-label-float {
226
+ @apply ms-0 mt-3 text-[0.825rem];
227
+ }
228
+ }
@@ -0,0 +1,65 @@
1
+ /* generated using "pnpm jiti scripts/generate-utilities.ts" */
2
+ /* @utility nui-theme-switch */
3
+
4
+ @utility nui-theme-switch {
5
+ @apply relative block h-6 w-14 scale-[0.8] rounded-full;
6
+ @apply bg-muted-200 dark:bg-muted-700;
7
+
8
+ .nui-theme-switch-input:checked ~ .nui-theme-switch-inner {
9
+ @apply ms-[45%] rotate-[360deg];
10
+ }
11
+
12
+ .nui-theme-switch-input:not(:checked) ~ .nui-theme-switch-inner .nui-sun {
13
+ @apply block;
14
+ }
15
+
16
+ .nui-theme-switch-input:checked ~ .nui-theme-switch-inner .nui-sun {
17
+ @apply hidden;
18
+ }
19
+
20
+ .nui-theme-switch-input:not(:checked) ~ .nui-theme-switch-inner .nui-moon {
21
+ @apply hidden;
22
+ }
23
+
24
+ .nui-theme-switch-input:checked ~ .nui-theme-switch-inner .nui-moon {
25
+ @apply block;
26
+ }
27
+
28
+ &:not(nui-theme-switch-inverted) {
29
+ @apply ring-offset-muted-500 dark:ring-offset-muted-900;
30
+
31
+ .nui-theme-switch-inner {
32
+ @apply border border-muted-300 dark:border-muted-700;
33
+ @apply bg-white dark:bg-muted-800;
34
+ }
35
+ }
36
+ }
37
+ @utility nui-theme-switch-input {
38
+ @apply absolute start-0 top-0 z-10 h-full w-full cursor-pointer opacity-0;
39
+ }
40
+ @utility nui-theme-switch-inner {
41
+ @apply absolute -start-1 -top-2 -ms-1 flex items-center justify-center peer-checked:ms-[45%] peer-checked:rotate-[360deg];
42
+ @apply h-10 w-10 rounded-full;
43
+ @apply bg-white dark:bg-muted-900;
44
+ @apply border border-muted-200 dark:border-muted-800;
45
+ @apply transition-all duration-300;
46
+ }
47
+ @utility nui-sun {
48
+ @apply pointer-events-none;
49
+ @apply text-yellow-400 dark:text-yellow-400;
50
+ @apply h-6 w-6;
51
+ @apply transition-all duration-300;
52
+ }
53
+ @utility nui-moon {
54
+ @apply pointer-events-none;
55
+ @apply text-yellow-400 dark:text-yellow-400;
56
+ @apply h-6 w-6;
57
+ @apply transition-all duration-300;
58
+ }
59
+ @utility nui-theme-switch-inverted {
60
+ @apply ring-offset-muted-500 dark:ring-offset-muted-400;
61
+
62
+ .nui-theme-switch-inner {
63
+ @apply bg-primary-700 dark:bg-primary-700;
64
+ }
65
+ }