@shuriken-ui/tailwind 4.0.0-alpha.2 → 4.0.0-alpha.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. package/{src → lib}/css/accordion.css +21 -20
  2. package/{src → lib}/css/avatar.css +9 -9
  3. package/{src → lib}/css/button-close.css +1 -1
  4. package/{src → lib}/css/button-icon.css +2 -2
  5. package/{src → lib}/css/checkbox.css +1 -1
  6. package/{src → lib}/css/fullscreen-dropfile.css +2 -2
  7. package/{src → lib}/css/icon-box.css +2 -2
  8. package/{src → lib}/css/input.css +16 -16
  9. package/{src → lib}/css/kbd.css +1 -1
  10. package/{src → lib}/css/list.css +1 -0
  11. package/{src → lib}/css/message.css +5 -6
  12. package/{src → lib}/css/pagination.css +3 -3
  13. package/lib/css/placeload.css +12 -0
  14. package/{src → lib}/css/progress-circle.css +2 -2
  15. package/{src → lib}/css/progress.css +17 -1
  16. package/{src → lib}/css/prose.css +2 -1
  17. package/{src → lib}/css/tabs.css +30 -31
  18. package/{src → lib}/css/tag.css +1 -1
  19. package/{src → lib}/css/toast.css +1 -1
  20. package/{src → lib}/index.css +11 -9
  21. package/{src → lib}/theme.css +37 -0
  22. package/package.json +13 -53
  23. package/LICENSE.md +0 -21
  24. package/README.md +0 -109
  25. package/src/css/placeload.css +0 -13
  26. /package/{src → lib}/css/autocomplete.css +0 -0
  27. /package/{src → lib}/css/avatar-group.css +0 -0
  28. /package/{src → lib}/css/breadcrumb.css +0 -0
  29. /package/{src → lib}/css/button-action.css +0 -0
  30. /package/{src → lib}/css/button-group.css +0 -0
  31. /package/{src → lib}/css/button.css +0 -0
  32. /package/{src → lib}/css/card.css +0 -0
  33. /package/{src → lib}/css/dropdown-divider.css +0 -0
  34. /package/{src → lib}/css/dropdown-item.css +0 -0
  35. /package/{src → lib}/css/dropdown.css +0 -0
  36. /package/{src → lib}/css/focus.css +0 -0
  37. /package/{src → lib}/css/heading.css +0 -0
  38. /package/{src → lib}/css/input-file-regular.css +0 -0
  39. /package/{src → lib}/css/input-file.css +0 -0
  40. /package/{src → lib}/css/input-help-text.css +0 -0
  41. /package/{src → lib}/css/input-number.css +0 -0
  42. /package/{src → lib}/css/label.css +0 -0
  43. /package/{src → lib}/css/link.css +0 -0
  44. /package/{src → lib}/css/listbox.css +0 -0
  45. /package/{src → lib}/css/mark.css +0 -0
  46. /package/{src → lib}/css/mask.css +0 -0
  47. /package/{src → lib}/css/message-text.css +0 -0
  48. /package/{src → lib}/css/modal.css +0 -0
  49. /package/{src → lib}/css/paragraph.css +0 -0
  50. /package/{src → lib}/css/placeholder-page.css +0 -0
  51. /package/{src → lib}/css/radio.css +0 -0
  52. /package/{src → lib}/css/select.css +0 -0
  53. /package/{src → lib}/css/slimscroll.css +0 -0
  54. /package/{src → lib}/css/snack.css +0 -0
  55. /package/{src → lib}/css/switch-ball.css +0 -0
  56. /package/{src → lib}/css/switch-thin.css +0 -0
  57. /package/{src → lib}/css/tab-slider.css +0 -0
  58. /package/{src → lib}/css/text.css +0 -0
  59. /package/{src → lib}/css/textarea.css +0 -0
  60. /package/{src → lib}/css/theme-switch.css +0 -0
  61. /package/{src → lib}/css/theme-toggle.css +0 -0
  62. /package/{src → lib}/css/tooltip.css +0 -0
@@ -2,20 +2,24 @@
2
2
  /* @utility nui-accordion */
3
3
 
4
4
  @utility nui-accordion {
5
- &:not(:last-child) {
6
- @apply border-b-0;
7
- }
8
5
  @apply w-full block overflow-hidden;
9
6
  @apply bg-white dark:bg-muted-800;
10
7
  @apply hover:bg-muted-50/60 dark:hover:bg-muted-800/60;
11
8
  @apply border border-muted-300 dark:border-muted-700;
12
9
  @apply transition-colors duration-300;
13
10
 
11
+ &:not(:last-child) {
12
+ @apply border-b-0;
13
+ }
14
+ + .nui-accordion {
15
+ @apply !border-t-0;
16
+ }
17
+
14
18
  .nui-accordion-detail[open]:not(:first-child) {
15
19
  @apply border-t border-muted-300 dark:border-muted-700;
16
20
  }
17
21
 
18
- .nui-accordion-detail .nui-accordion-dot {
22
+ .nui-accordion-detail .nui-accordion-dot-icon {
19
23
  @apply bg-muted-200 dark:bg-muted-700;
20
24
  }
21
25
 
@@ -24,11 +28,8 @@
24
28
  @apply px-4 py-3;
25
29
  }
26
30
  }
27
-
28
- + .nui-accordion {
29
- @apply !border-t-0;
30
- }
31
31
  }
32
+
32
33
  @utility nui-accordion-summary {
33
34
  @apply cursor-pointer list-none outline-none;
34
35
  }
@@ -39,22 +40,22 @@
39
40
  @apply text-muted-800 dark:text-white;
40
41
  }
41
42
  }
42
- @utility nui-accordion-dot {
43
+ @utility nui-accordion-dot-icon {
43
44
  @apply ms-2 h-3 w-3 rounded-full;
44
45
  @apply transition-colors duration-300;
45
46
  }
46
- @utility nui-icon-outer {
47
+ @utility nui-accordion-icon-outer {
47
48
  @apply ms-2 flex items-center justify-center;
48
49
  @apply h-8 w-8 rounded-full;
49
50
  @apply border border-transparent dark:border-transparent;
50
51
  @apply bg-white dark:bg-muted-700/60;
51
52
  @apply transition-all duration-300;
52
53
  }
53
- @utility nui-chevron-icon {
54
+ @utility nui-accordion-chevron-icon {
54
55
  @apply text-muted-400 h-4 w-4;
55
56
  @apply transition-transform duration-300;
56
57
  }
57
- @utility nui-plus-icon {
58
+ @utility nui-accordion-plus-icon {
58
59
  @apply text-muted-400 h-4 w-4;
59
60
  @apply transition-transform duration-300;
60
61
  }
@@ -82,42 +83,42 @@
82
83
  @apply hover:bg-muted-100/60 dark:hover:bg-muted-950/60;
83
84
  @apply border border-muted-200 dark:border-muted-800;
84
85
  }
85
- @utility nui-dot-default {
86
+ @utility nui-accordion-dot-default {
86
87
  .nui-accordion-detail[open] .nui-accordion-dot {
87
88
  @apply bg-muted-400 dark:bg-muted-700;
88
89
  }
89
90
  }
90
- @utility nui-dot-primary {
91
+ @utility nui-accordion-dot-primary {
91
92
  .nui-accordion-detail[open] .nui-accordion-dot {
92
93
  @apply bg-primary-500 dark:bg-primary-500;
93
94
  }
94
95
  }
95
- @utility nui-dot-info {
96
+ @utility nui-accordion-dot-info {
96
97
  .nui-accordion-detail[open] .nui-accordion-dot {
97
98
  @apply bg-info-500 dark:bg-info-500;
98
99
  }
99
100
  }
100
- @utility nui-dot-success {
101
+ @utility nui-accordion-dot-success {
101
102
  .nui-accordion-detail[open] .nui-accordion-dot {
102
103
  @apply bg-success-500 dark:bg-success-500;
103
104
  }
104
105
  }
105
- @utility nui-dot-warning {
106
+ @utility nui-accordion-dot-warning {
106
107
  .nui-accordion-detail[open] .nui-accordion-dot {
107
108
  @apply bg-warning-500 dark:bg-warning-500;
108
109
  }
109
110
  }
110
- @utility nui-dot-danger {
111
+ @utility nui-accordion-dot-danger {
111
112
  .nui-accordion-detail[open] .nui-accordion-dot {
112
113
  @apply bg-danger-500 dark:bg-danger-500;
113
114
  }
114
115
  }
115
- @utility nui-dot-dark {
116
+ @utility nui-accordion-dot-dark {
116
117
  .nui-accordion-detail[open] .nui-accordion-dot {
117
118
  @apply bg-muted-900 dark:bg-muted-100;
118
119
  }
119
120
  }
120
- @utility nui-dot-black {
121
+ @utility nui-accordion-dot-black {
121
122
  .nui-accordion-detail[open] .nui-accordion-dot {
122
123
  @apply bg-black dark:bg-white;
123
124
  }
@@ -25,7 +25,7 @@
25
25
  @utility nui-avatar-img {
26
26
  @apply object-cover;
27
27
  @apply h-full max-h-full w-full max-w-full;
28
- @apply shadow-sm;
28
+ @apply shadow-xs;
29
29
  }
30
30
  @utility nui-avatar-text {
31
31
  @apply font-sans font-medium text-center uppercase;
@@ -132,10 +132,10 @@
132
132
  }
133
133
 
134
134
  &.nui-avatar-rounded-sm {
135
- @apply rounded-sm;
135
+ @apply rounded-xs;
136
136
 
137
137
  .nui-avatar-inner {
138
- @apply rounded-sm;
138
+ @apply rounded-xs;
139
139
  }
140
140
 
141
141
  .nui-avatar-dot {
@@ -144,10 +144,10 @@
144
144
  }
145
145
 
146
146
  &.nui-avatar-rounded-md {
147
- @apply rounded;
147
+ @apply rounded-sm;
148
148
 
149
149
  .nui-avatar-inner {
150
- @apply rounded;
150
+ @apply rounded-sm;
151
151
  }
152
152
 
153
153
  .nui-avatar-dot {
@@ -201,10 +201,10 @@
201
201
  }
202
202
 
203
203
  &.nui-avatar-rounded-sm {
204
- @apply rounded-sm;
204
+ @apply rounded-xs;
205
205
 
206
206
  .nui-avatar-inner {
207
- @apply rounded-sm;
207
+ @apply rounded-xs;
208
208
  }
209
209
 
210
210
  .nui-avatar-dot {
@@ -213,10 +213,10 @@
213
213
  }
214
214
 
215
215
  &.nui-avatar-rounded-md {
216
- @apply rounded;
216
+ @apply rounded-sm;
217
217
 
218
218
  .nui-avatar-inner {
219
- @apply rounded;
219
+ @apply rounded-sm;
220
220
  }
221
221
 
222
222
  .nui-avatar-dot {
@@ -41,7 +41,7 @@
41
41
  }
42
42
  }
43
43
  @utility nui-button-close-rounded-sm {
44
- @apply rounded;
44
+ @apply rounded-sm;
45
45
  }
46
46
  @utility nui-button-close-rounded-md {
47
47
  @apply rounded-md;
@@ -1,7 +1,7 @@
1
1
  /* generated using "pnpm jiti scripts/generate-utilities.ts" */
2
2
  /* @utility nui-button-icon */
3
3
 
4
- @utility nui-button-icon-icon {
4
+ @utility nui-button-icon {
5
5
  @apply nui-focus relative inline-flex items-center justify-center space-x-1 leading-5 no-underline disabled:opacity-60 disabled:cursor-not-allowed hover:shadow-none;
6
6
  @apply font-sans text-sm font-normal;
7
7
  @apply transition-all duration-300;
@@ -19,7 +19,7 @@
19
19
  @apply h-14 w-14 p-4;
20
20
  }
21
21
  @utility nui-button-icon-rounded-sm {
22
- @apply rounded;
22
+ @apply rounded-sm;
23
23
  }
24
24
  @utility nui-button-icon-rounded-md {
25
25
  @apply rounded-md;
@@ -5,7 +5,7 @@
5
5
  @apply relative inline-flex items-start gap-1;
6
6
 
7
7
  &.nui-checkbox-rounded-sm .nui-checkbox-outer, &.nui-checkbox-rounded-sm .nui-checkbox-inner {
8
- @apply rounded;
8
+ @apply rounded-sm;
9
9
  }
10
10
 
11
11
  &.nui-checkbox-rounded-md .nui-checkbox-outer, &.nui-checkbox-rounded-md .nui-checkbox-inner {
@@ -5,7 +5,7 @@
5
5
  @apply block;
6
6
  }
7
7
  @utility nui-fullscreen-dropfile-outer {
8
- @apply bg-muted-100/50 dark:bg-muted-800/20 fixed inset-0 z-40 backdrop-blur-sm transition-all hover:backdrop-blur-none;
8
+ @apply bg-muted-100/50 dark:bg-muted-800/20 fixed inset-0 z-40 backdrop-blur-xs transition-all hover:backdrop-blur-none;
9
9
  }
10
10
  @utility nui-fullscreen-dropfile-inner {
11
11
  @apply fixed inset-0 z-50;
@@ -14,7 +14,7 @@
14
14
  @apply flex h-full flex-1 items-center justify-center;
15
15
 
16
16
  .nui-fullscreen-dropfile-content {
17
- @apply h-[230px] w-[500px] mx-auto flex flex-col items-center justify-center gap-6 drop-shadow-sm;
17
+ @apply h-[230px] w-[500px] mx-auto flex flex-col items-center justify-center gap-6 drop-shadow-xs;
18
18
  @apply bg-muted-100 dark:bg-muted-800;
19
19
  @apply rounded-md border-2 border-dashed border-muted-200 dark:border-muted-700;
20
20
 
@@ -12,7 +12,7 @@
12
12
  @apply h-8 w-8;
13
13
 
14
14
  &.nui-box-rounded-sm {
15
- @apply rounded;
15
+ @apply rounded-sm;
16
16
  }
17
17
 
18
18
  &.nui-box-rounded-md {
@@ -27,7 +27,7 @@
27
27
  @apply h-10 w-10;
28
28
 
29
29
  &.nui-box-rounded-sm {
30
- @apply rounded;
30
+ @apply rounded-sm;
31
31
  }
32
32
 
33
33
  &.nui-box-rounded-md {
@@ -14,31 +14,31 @@
14
14
  }
15
15
  }
16
16
 
17
- &:not(.nui-has-icon).nui-input-sm {
17
+ &:not(.nui-input-has-icon).nui-input-sm {
18
18
  .nui-input {
19
19
  @apply h-8 py-1 text-xs leading-4 px-2;
20
20
  }
21
21
  }
22
22
 
23
- &:not(.nui-has-icon).nui-input-md {
23
+ &:not(.nui-input-has-icon).nui-input-md {
24
24
  .nui-input {
25
25
  @apply h-10 py-2 text-sm leading-5 px-3;
26
26
  }
27
27
  }
28
28
 
29
- &:not(.nui-has-icon).nui-input-lg {
29
+ &:not(.nui-input-has-icon).nui-input-lg {
30
30
  .nui-input {
31
31
  @apply h-12 py-2 text-sm leading-5 px-4;
32
32
  }
33
33
  }
34
34
 
35
- &:not(.nui-has-icon).nui-input-xl {
35
+ &:not(.nui-input-has-icon).nui-input-xl {
36
36
  .nui-input {
37
37
  @apply h-14 py-2 text-base leading-5 px-4;
38
38
  }
39
39
  }
40
40
 
41
- &.nui-input-label-float:not(.nui-has-icon).nui-input-sm {
41
+ &.nui-input-label-float:not(.nui-input-has-icon).nui-input-sm {
42
42
  .nui-label-float {
43
43
  @apply start-3 -ms-3 -mt-7 text-xs;
44
44
  }
@@ -52,7 +52,7 @@
52
52
  }
53
53
  }
54
54
 
55
- &.nui-input-label-float:not(.nui-has-icon).nui-input-md {
55
+ &.nui-input-label-float:not(.nui-input-has-icon).nui-input-md {
56
56
  .nui-label-float {
57
57
  @apply start-3 -ms-3 -mt-8 text-xs;
58
58
  }
@@ -66,7 +66,7 @@
66
66
  }
67
67
  }
68
68
 
69
- &.nui-input-label-float:not(.nui-has-icon).nui-input-lg {
69
+ &.nui-input-label-float:not(.nui-input-has-icon).nui-input-lg {
70
70
  .nui-label-float {
71
71
  @apply start-3 -ms-3 -mt-9 text-xs;
72
72
  }
@@ -80,7 +80,7 @@
80
80
  }
81
81
  }
82
82
 
83
- &.nui-input-label-float:not(.nui-has-icon).nui-input-xl {
83
+ &.nui-input-label-float:not(.nui-input-has-icon).nui-input-xl {
84
84
  .nui-label-float {
85
85
  @apply start-3 -ms-3 -mt-10 text-xs;
86
86
  }
@@ -308,42 +308,42 @@
308
308
  @apply !text-danger-500 dark:!text-danger-500;
309
309
  }
310
310
  }
311
- @utility nui-has-icon {
311
+ @utility nui-input-has-icon {
312
312
  .nui-input {
313
313
  @apply h-8 py-1 text-xs leading-4 pe-3 ps-8;
314
314
  }
315
315
  }
316
- @utility nui-has-icon {
316
+ @utility nui-input-has-icon {
317
317
  .nui-input {
318
318
  @apply h-10 py-2 text-sm leading-5 pe-4 ps-10;
319
319
  }
320
320
  }
321
- @utility nui-has-icon {
321
+ @utility nui-input-has-icon {
322
322
  .nui-input {
323
323
  @apply h-12 py-2 text-sm leading-5 pe-4 ps-11;
324
324
  }
325
325
  }
326
- @utility nui-has-icon {
326
+ @utility nui-input-has-icon {
327
327
  .nui-input {
328
328
  @apply h-14 py-2 text-base leading-5 pe-4 ps-[3.25rem];
329
329
  }
330
330
  }
331
- @utility nui-has-action {
331
+ @utility nui-input-has-action {
332
332
  .nui-input {
333
333
  @apply pe-8;
334
334
  }
335
335
  }
336
- @utility nui-has-action {
336
+ @utility nui-input-has-action {
337
337
  .nui-input {
338
338
  @apply pe-10;
339
339
  }
340
340
  }
341
- @utility nui-has-action {
341
+ @utility nui-input-has-action {
342
342
  .nui-input {
343
343
  @apply pe-12;
344
344
  }
345
345
  }
346
- @utility nui-has-action {
346
+ @utility nui-input-has-action {
347
347
  .nui-input {
348
348
  @apply pe-14;
349
349
  }
@@ -12,7 +12,7 @@
12
12
  @apply shrink-0;
13
13
  }
14
14
  @utility nui-kbd-rounded-sm {
15
- @apply rounded-sm;
15
+ @apply rounded-xs;
16
16
  }
17
17
  @utility nui-kbd-rounded-md {
18
18
  @apply rounded-md;
@@ -2,6 +2,7 @@
2
2
  /* @utility nui-list */
3
3
 
4
4
  @utility nui-list {
5
+ @apply relative;
5
6
  }
6
7
  @utility nui-list-ul {
7
8
  @apply list-disc;
@@ -24,15 +24,14 @@
24
24
  @apply nui-focus flex cursor-pointer items-center justify-center shrink-0 h-6 w-6 rounded-full;
25
25
  @apply text-muted-800 dark:text-muted-800;
26
26
  @apply transition-colors duration-200;
27
-
28
- .nui-close-icon {
29
- @apply h-4 w-4;
30
- }
31
27
  }
32
- @utility nui-has-text {
28
+ @utility nui-message-close-icon {
29
+ @apply h-4 w-4;
30
+ }
31
+ @utility nui-message-has-text {
33
32
  @apply py-2 ps-2 pe-6;
34
33
  }
35
- @utility nui-has-icon {
34
+ @utility nui-message-has-icon {
36
35
  @apply py-1 ps-1 pe-6;
37
36
  }
38
37
  @utility nui-message-rounded-sm {
@@ -65,7 +65,7 @@
65
65
  @apply text-primary-invert dark:text-primary-invert;
66
66
  @apply bg-primary-500 dark:bg-primary-500;
67
67
  @apply border-primary-500 dark:border-primary-500;
68
- @apply shadow-sm shadow-primary-500/50 dark:shadow-primary-500/20;
68
+ @apply shadow-xs shadow-primary-500/50 dark:shadow-primary-500/20;
69
69
  }
70
70
  }
71
71
  @utility nui-pagination-dark {
@@ -73,7 +73,7 @@
73
73
  @apply text-muted-100 dark:text-muted-900;
74
74
  @apply bg-muted-900 dark:bg-muted-100;
75
75
  @apply border-muted-900 dark:border-muted-100;
76
- @apply shadow-sm shadow-muted-300/30 dark:shadow-muted-800/20;
76
+ @apply shadow-xs shadow-muted-300/30 dark:shadow-muted-800/20;
77
77
  }
78
78
  }
79
79
  @utility nui-pagination-black {
@@ -81,7 +81,7 @@
81
81
  @apply text-white dark:text-black;
82
82
  @apply bg-black dark:bg-white;
83
83
  @apply border-black dark:border-white;
84
- @apply shadow-sm shadow-muted-300/30 dark:shadow-muted-800/20;
84
+ @apply shadow-xs shadow-muted-300/30 dark:shadow-muted-800/20;
85
85
  }
86
86
  }
87
87
  @utility nui-pagination-ellipsis {
@@ -0,0 +1,12 @@
1
+ /* generated using "pnpm jiti scripts/generate-utilities.ts" */
2
+ /* @utility nui-placeload */
3
+
4
+ @utility nui-placeload {
5
+ position: relative;
6
+ background-position: 0 0;
7
+ background-image: linear-gradient( to right, rgb(0 0 0 / 7%) 8% ,rgb(0 0 0 / 15%) 18%, rgb(0 0 0 / 7%) 33%);
8
+ background-size: 1200px 104px;
9
+ }
10
+ .dark .nui-placeload {
11
+ background-image: linear-gradient(to right, rgb(255 255 255 / 15%) 8%, rgb(255 255 255 / 24%) 18%, rgb(255 255 255 / 15%) 33%);
12
+ }
@@ -1,7 +1,7 @@
1
1
  /* generated using "pnpm jiti scripts/generate-utilities.ts" */
2
2
  /* @utility nui-progress-circle */
3
3
 
4
- @utility nui-progress-circle {
4
+ /* @utility nui-progress-circle {
5
5
  @apply relative inline-flex items-center justify-center;
6
6
 
7
7
  circle:nth-child(2) {
@@ -15,4 +15,4 @@
15
15
  &.nui-progress-contrast circle:first-child {
16
16
  @apply text-muted-200 dark:text-muted-200 stroke-current;
17
17
  }
18
- }
18
+ } */
@@ -5,7 +5,7 @@
5
5
  @apply relative w-full overflow-hidden;
6
6
 
7
7
  &.nui-progress-rounded-sm, &.nui-progress-rounded-sm .nui-progress-bar {
8
- @apply rounded;
8
+ @apply rounded-sm;
9
9
  }
10
10
 
11
11
  &.nui-progress-rounded-md, &.nui-progress-rounded-md .nui-progress-bar {
@@ -88,3 +88,19 @@
88
88
  @apply bg-black dark:bg-white;
89
89
  }
90
90
  }
91
+
92
+ @utility animate-nui-progress-indeterminate {
93
+ animation: nui-progress-indeterminate 3s linear infinite forwards;
94
+ }
95
+
96
+ @keyframes nui-progress-indeterminate {
97
+ 0% {
98
+ margin-left: -100%;
99
+ }
100
+ 60% {
101
+ margin-left: 100%;
102
+ }
103
+ 100% {
104
+ margin-left: -100%;
105
+ }
106
+ }
@@ -2,7 +2,8 @@
2
2
  /* @utility nui-prose */
3
3
 
4
4
  @utility nui-prose {
5
- @apply prose prose-primary prose-muted dark:prose-invert;
5
+ @apply prose dark:prose-invert;
6
+ /* @apply prose-primary prose-muted; */
6
7
  @apply prose-table:bg-white dark:prose-table:bg-muted-800;
7
8
  @apply prose-table:border-separate prose-table:border-spacing-0 prose-table:border prose-table:border-muted-200 dark:prose-table:border-muted-700;
8
9
  @apply prose-th:p-4 prose-td:p-4;
@@ -17,42 +17,42 @@
17
17
  @apply text-sm;
18
18
  @apply transition-all duration-300;
19
19
 
20
- &.nui-has-icon {
20
+ &.nui-tab-has-icon {
21
21
  @apply flex items-center gap-1;
22
22
  }
23
23
  }
24
- @utility nui-pill-item {
24
+ @utility nui-tab-pill-item {
25
25
  @apply flex flex-col rounded-xl px-5 cursor-pointer;
26
26
  @apply text-center;
27
27
  @apply transition-all duration-300;
28
28
 
29
- &:not(.nui-has-icon) {
29
+ &:not(.nui-tab-has-icon) {
30
30
  @apply flex items-center gap-1 py-2;
31
31
  }
32
32
 
33
- &.nui-has-icon {
33
+ &.nui-tab-has-icon {
34
34
  @apply flex items-center gap-1 py-3;
35
35
  }
36
36
  }
37
37
  @utility nui-tabs-default {
38
38
  .nui-tab-item {
39
- &:not(.nui-active) {
39
+ &:not(.nui-tab-active) {
40
40
  @apply border-transparent;
41
41
  @apply text-muted-400 dark:text-muted-400;
42
42
  }
43
43
 
44
- &.nui-active {
44
+ &.nui-tab-active {
45
45
  @apply border-muted-500 dark:border-muted-100;
46
46
  @apply text-muted-800 dark:text-muted-100;
47
47
  }
48
48
  }
49
49
 
50
- .nui-pill-item {
51
- &:not(.nui-active) {
50
+ .nui-tab-pill-item {
51
+ &:not(.nui-tab-active) {
52
52
  @apply text-muted-400 dark:text-muted-400;
53
53
  }
54
54
 
55
- &.nui-active {
55
+ &.nui-tab-active {
56
56
  @apply text-muted-800 dark:text-muted-100;
57
57
  @apply bg-white dark:bg-muted-800;
58
58
  @apply border border-muted-200 dark:border-muted-700;
@@ -62,23 +62,22 @@
62
62
  }
63
63
  @utility nui-tabs-primary {
64
64
  .nui-tab-item {
65
- &:not(.nui-active) {
65
+ &:not(.nui-tab-active) {
66
66
  @apply border-transparent;
67
67
  @apply text-muted-400 dark:text-muted-400;
68
68
  }
69
69
 
70
- &.nui-active {
71
- @apply border-primary-500 dark:border-primary-500;
72
- @apply text-muted-800 dark:text-muted-100;
70
+ &.nui-tab-active {
71
+ @apply text-muted-800 dark:text-muted-100 border-primary-500 dark:border-primary-500;
73
72
  }
74
73
  }
75
74
 
76
- .nui-pill-item {
77
- &:not(.nui-active) {
75
+ .nui-tab-pill-item {
76
+ &:not(.nui-tab-active) {
78
77
  @apply text-muted-400 dark:text-muted-400;
79
78
  }
80
79
 
81
- &.nui-active {
80
+ &.nui-tab-active {
82
81
  @apply text-primary-invert dark:text-primary-invert;
83
82
  @apply !bg-primary-600 dark:!bg-primary-600;
84
83
  @apply shadow-lg bg-primary-500/50 dark:bg-primary-500/50;
@@ -86,24 +85,24 @@
86
85
  }
87
86
  }
88
87
  @utility nui-tabs-light {
89
- .nui-tab-item {
88
+ .nui-tab-tab-item {
90
89
  &:not(.nui-active) {
91
90
  @apply border-transparent;
92
91
  @apply text-muted-400 dark:text-muted-400;
93
92
  }
94
93
 
95
- &.nui-active {
94
+ &.nui-tab-active {
96
95
  @apply border-muted-600 dark:border-muted-100;
97
96
  @apply text-muted-600 dark:text-muted-100;
98
97
  }
99
98
  }
100
99
 
101
- .nui-pill-item {
102
- &:not(.nui-active) {
100
+ .nui-tab-pill-item {
101
+ &:not(.nui-tab-active) {
103
102
  @apply text-muted-400 dark:text-muted-400;
104
103
  }
105
104
 
106
- &.nui-active {
105
+ &.nui-tab-active {
107
106
  @apply text-muted-700 dark:text-muted-100;
108
107
  @apply !bg-muted-100 dark:!bg-muted-800;
109
108
  @apply shadow-lg shadow-muted-500/30 dark:shadow-muted-800/50;
@@ -112,23 +111,23 @@
112
111
  }
113
112
  @utility nui-tabs-dark {
114
113
  .nui-tab-item {
115
- &:not(.nui-active) {
114
+ &:not(.nui-tab-active) {
116
115
  @apply border-transparent;
117
116
  @apply text-muted-400 dark:text-muted-400;
118
117
  }
119
118
 
120
- &.nui-active {
119
+ &.nui-tab-active {
121
120
  @apply border-muted-900 dark:border-muted-100;
122
121
  @apply text-muted-900 dark:text-muted-100;
123
122
  }
124
123
  }
125
124
 
126
- .nui-pill-item {
127
- &:not(.nui-active) {
125
+ .nui-tab-pill-item {
126
+ &:not(.nui-tab-active) {
128
127
  @apply text-muted-400 dark:text-muted-400;
129
128
  }
130
129
 
131
- &.nui-active {
130
+ &.nui-tab-active {
132
131
  @apply text-muted-100 dark:text-muted-900;
133
132
  @apply !bg-muted-900 dark:!bg-muted-100;
134
133
  @apply shadow-lg shadow-muted-500/30 dark:shadow-muted-800/50;
@@ -137,23 +136,23 @@
137
136
  }
138
137
  @utility nui-tabs-black {
139
138
  .nui-tab-item {
140
- &:not(.nui-active) {
139
+ &:not(.nui-tab-active) {
141
140
  @apply border-transparent;
142
141
  @apply text-muted-400 dark:text-muted-400;
143
142
  }
144
143
 
145
- &.nui-active {
144
+ &.nui-tab-active {
146
145
  @apply border-black dark:border-white;
147
146
  @apply text-black dark:text-white;
148
147
  }
149
148
  }
150
149
 
151
- .nui-pill-item {
152
- &:not(.nui-active) {
150
+ .nui-tab-pill-item {
151
+ &:not(.nui-tab-active) {
153
152
  @apply text-muted-400 dark:text-muted-400;
154
153
  }
155
154
 
156
- &.nui-active {
155
+ &.nui-tab-active {
157
156
  @apply text-white dark:text-black;
158
157
  @apply !bg-black dark:!bg-white;
159
158
  @apply shadow-lg shadow-muted-500/30 dark:shadow-muted-800/50;
@@ -13,7 +13,7 @@
13
13
  @apply text-xs;
14
14
  }
15
15
  @utility nui-tag-rounded-sm {
16
- @apply rounded;
16
+ @apply rounded-sm;
17
17
  }
18
18
  @utility nui-tag-rounded-md {
19
19
  @apply rounded-md;
@@ -21,7 +21,7 @@
21
21
  @utility nui-toast-icon-block {
22
22
  @apply h-16 w-16 flex items-center justify-center;
23
23
  }
24
- @utility nui-button-close {
24
+ @utility nui-toast-button-close {
25
25
  @apply ms-auto;
26
26
  }
27
27
  @utility nui-toast-low-contrast {
@@ -4,43 +4,45 @@
4
4
 
5
5
  @import './css/accordion.css';
6
6
  @import './css/autocomplete.css';
7
- @import './css/avatar.css';
8
7
  @import './css/avatar-group.css';
8
+ @import './css/avatar.css';
9
9
  @import './css/breadcrumb.css';
10
- @import './css/button.css';
11
10
  @import './css/button-action.css';
12
11
  @import './css/button-close.css';
13
12
  @import './css/button-group.css';
14
13
  @import './css/button-icon.css';
14
+ @import './css/button.css';
15
15
  @import './css/card.css';
16
16
  @import './css/checkbox.css';
17
- @import './css/dropdown.css';
18
17
  @import './css/dropdown-divider.css';
19
18
  @import './css/dropdown-item.css';
19
+ @import './css/dropdown.css';
20
20
  @import './css/focus.css';
21
21
  @import './css/fullscreen-dropfile.css';
22
22
  @import './css/heading.css';
23
23
  @import './css/icon-box.css';
24
- @import './css/input.css';
25
- @import './css/input-file.css';
26
24
  @import './css/input-file-regular.css';
25
+ @import './css/input-file.css';
27
26
  @import './css/input-help-text.css';
28
27
  @import './css/input-number.css';
28
+ @import './css/input.css';
29
29
  @import './css/kbd.css';
30
30
  @import './css/label.css';
31
31
  @import './css/link.css';
32
+ @import './css/list.css';
32
33
  @import './css/listbox.css';
33
34
  @import './css/mark.css';
34
35
  @import './css/mask.css';
35
- @import './css/message.css';
36
36
  @import './css/message-text.css';
37
+ @import './css/message.css';
37
38
  @import './css/modal.css';
38
39
  @import './css/pagination.css';
39
40
  @import './css/paragraph.css';
40
41
  @import './css/placeholder-page.css';
41
- @import './css/progress.css';
42
+ @import './css/placeload.css';
42
43
  @import './css/progress-circle.css';
43
- /* @import './css/prose.css'; */
44
+ @import './css/progress.css';
45
+ @import './css/prose.css';
44
46
  @import './css/radio.css';
45
47
  @import './css/select.css';
46
48
  @import './css/slimscroll.css';
@@ -55,4 +57,4 @@
55
57
  @import './css/theme-switch.css';
56
58
  @import './css/theme-toggle.css';
57
59
  @import './css/toast.css';
58
- /* @import './css/tooltip.css'; */
60
+ @import './css/tooltip.css';
@@ -77,4 +77,41 @@
77
77
  --color-danger-800: var(--color-rose-800);
78
78
  --color-danger-900: var(--color-rose-900);
79
79
  --color-danger-950: var(--color-rose-950);
80
+
81
+ --animate-nui-placeload: nui-placeload 1s linear infinite forwards;
82
+ --animate-nui-progress-indeterminate: nui-progress-indeterminate 3s linear infinite forwards;
83
+ --animate-nui-tooltip-x: nui-tooltip-x 300ms ease-out forwards;
84
+ --animate-nui-tooltip-y: nui-tooltip-y 300ms ease-out forwards;
85
+
86
+ @keyframes nui-placeload {
87
+ 0% {
88
+ background-position: -468px 0;
89
+ }
90
+ 100% {
91
+ background-position: 468px 0;
92
+ }
93
+ }
94
+ @keyframes nui-progress-indeterminate {
95
+ 0% {
96
+ margin-left: -100%;
97
+ }
98
+ 60% {
99
+ margin-left: 100%;
100
+ }
101
+ 100% {
102
+ margin-left: -100%;
103
+ }
104
+ }
105
+ @keyframes nui-tooltip-x {
106
+ to {
107
+ opacity: 1;
108
+ transform: translate(-50%, 0);
109
+ }
110
+ }
111
+ @keyframes nui-tooltip-y {
112
+ to {
113
+ opacity: 1;
114
+ transform: translate(0, -50%);
115
+ }
116
+ }
80
117
  }
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@shuriken-ui/tailwind",
3
- "version": "4.0.0-alpha.2",
3
+ "version": "4.0.0-alpha.4",
4
4
  "license": "MIT",
5
5
  "author": "Css Ninja <hello@cssninja.io> (https://cssninja.io)",
6
- "repository": "shuriken-ui/tailwind",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/shuriken-ui/shuriken-ui.git",
9
+ "directory": "packages/tailwind"
10
+ },
7
11
  "bugs": "https://github.com/shuriken-ui/tailwind/issues",
8
12
  "homepage": "https://github.com/shuriken-ui/tailwind",
9
13
  "keywords": [
@@ -19,62 +23,18 @@
19
23
  "module"
20
24
  ],
21
25
  "type": "module",
22
- "main": "./src/index.css",
23
26
  "exports": {
24
- ".": "./src/index.css",
25
- "./theme.css": "./src/theme.css",
26
- "./*.css": "./src/css/*.css"
27
+ ".": "./lib/index.css",
28
+ "./theme.css": "./lib/theme.css",
29
+ "./*.css": "./lib/css/*.css"
27
30
  },
28
31
  "files": [
29
- "src/index.css",
30
- "src/theme.css",
31
- "src/css"
32
+ "lib/index.css",
33
+ "lib/theme.css",
34
+ "lib/css"
32
35
  ],
33
36
  "dependencies": {
34
- "@tailwindcss/container-queries": "^0.1.1",
35
37
  "@tailwindcss/typography": "^0.5.15",
36
- "tailwindcss": "^4.0.0 || 4.0.0-alpha.31"
37
- },
38
- "devDependencies": {
39
- "@open-wc/lit-helpers": "0.7.0",
40
- "@storybook/addon-essentials": "^8.4.2",
41
- "@storybook/addon-links": "^8.4.2",
42
- "@storybook/addon-themes": "^8.4.2",
43
- "@storybook/blocks": "^8.4.2",
44
- "@storybook/web-components": "^8.4.2",
45
- "@storybook/web-components-vite": "^8.4.2",
46
- "@types/node": "22.9.0",
47
- "@typescript-eslint/eslint-plugin": "^8.13.0",
48
- "@vitest/coverage-v8": "^2.1.4",
49
- "@vitest/ui": "^2.1.4",
50
- "chromatic": "^11.16.5",
51
- "defu": "^6.1.4",
52
- "glob": "^11.0.0",
53
- "jiti": "^2.4.0",
54
- "jsdom": "^25.0.1",
55
- "lit": "^3.2.1",
56
- "npm-run-all": "^4.1.5",
57
- "standard-version": "^9.5.0",
58
- "storybook": "^8.4.2",
59
- "typescript": "^5.6.3",
60
- "unbuild": "^2.0.0",
61
- "vitest": "^2.1.4",
62
- "vitest-axe": "1.0.0-pre.2"
63
- },
64
- "scripts": {
65
- "dev": "storybook dev -p 6006",
66
- "build": "unbuild",
67
- "build-storybook": "storybook build",
68
- "lint": "run-s lint:eslint:fix lint:prettier:fix",
69
- "lint:prettier": "prettier --check \"./**/*.(ts|css|scss|md)\"",
70
- "lint:prettier:fix": "prettier --write \"./**/*.(ts|css|scss|md)\"",
71
- "lint:eslint": "eslint -c .eslintrc.cjs --ext .ts .",
72
- "lint:eslint:fix": "eslint -c .eslintrc.cjs --fix --ext .ts .",
73
- "test": "run-s lint:eslint lint:prettier test:vitest",
74
- "test:vitest": "vitest",
75
- "coverage": "vitest run --coverage",
76
- "release": "run-s test release:*",
77
- "release:standard-version": "standard-version",
78
- "release:publish": "git push --follow-tags origin main && npm publish"
38
+ "tailwindcss": "4.0.0-beta.2"
79
39
  }
80
40
  }
package/LICENSE.md DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2023 Css Ninja
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/README.md DELETED
@@ -1,109 +0,0 @@
1
- <p align="center">
2
- <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset="https://github.com/shuriken-ui/.github/assets/86636408/278e3026-1997-4e01-9457-20772adbce31">
4
- <source media="(prefers-color-scheme: light)" srcset="https://github.com/shuriken-ui/.github/assets/86636408/06f9d8e2-38aa-45b2-b91e-1c891a20e271">
5
- <img alt="Shuriken UI logo" src="https://github.com/shuriken-ui/.github/assets/86636408/06f9d8e2-38aa-45b2-b91e-1c891a20e271">
6
- </picture>
7
- </p>
8
-
9
-
10
- <p align="center">
11
- <a href="https://cssninja.io" title="Our official website">by <strong>cssninja.io</strong></a>
12
- </p>
13
-
14
- ---
15
-
16
- ## Shuriken UI - Tailwind CSS
17
-
18
- Shuriken UI is a free and open-source Tailwind CSS UI Kit. It is a collection of components and templates that you can use to build your next Tailwind CSS project.
19
-
20
- This package contains the Tailwind CSS preset, components, and shared utils like custom colors used in Shuriken UI.
21
-
22
- ## Installation
23
-
24
- ```bash
25
- pnpm install -D @shuriken-ui/tailwind
26
- ```
27
-
28
- ## Usage
29
-
30
- The simplest way to register Shuriken UI is to use `withShurikenUI` helper function.
31
-
32
- ```ts
33
- // tailwind.config.ts
34
- import { withShurikenUI } from '@shuriken-ui/tailwind'
35
-
36
- export default withShurikenUI({
37
- // your tailwind config
38
- content: [],
39
- })
40
- ```
41
-
42
-
43
- You can also direcly import the preset and use it in your config.
44
-
45
- ```ts
46
- // tailwind.config.ts
47
- import type { Config } from 'tailwindcss'
48
- import preset from '@shuriken-ui/tailwind/preset'
49
-
50
- export default {
51
- // your tailwind config, with the preset
52
- content: [],
53
- presets: [preset],
54
- } satisfies Config
55
- ```
56
-
57
-
58
- Also, you can import only the components and utils you needs.
59
-
60
- ```ts
61
- // tailwind.config.ts
62
- import type { Config } from 'tailwindcss'
63
- import { fontFamily } from 'tailwindcss/defaultTheme'
64
- import colors from 'tailwindcss/colors'
65
-
66
- import { input, button } from '@shuriken-ui/tailwind/plugins'
67
-
68
- export default {
69
- // your tailwind config, with only the components you need
70
- plugins: [input, button],
71
- theme: {
72
- fontFamily: {
73
- sans: fontFamily.sans,
74
- heading: fontFamily.sans,
75
- alt: fontFamily.sans,
76
- mono: fontFamily.mono,
77
- },
78
- extend: {
79
- colors: {
80
- primary: colors.violet,
81
- 'primary-invert': colors.white,
82
- muted: colors.slate,
83
- info: colors.sky,
84
- success: colors.teal,
85
- warning: colors.amber,
86
- danger: colors.rose,
87
- },
88
- },
89
- },
90
- } satisfies Config
91
- ```
92
-
93
- ## Customization
94
-
95
- Shuriken UI is fully customizable. You can override components by using the `theme` option.
96
-
97
- ```ts
98
- export default withShurikenUI({
99
- theme: {
100
- extend: {
101
- nui: {
102
- // your customizations
103
- },
104
- },
105
- },
106
- })
107
- ```
108
-
109
- > note: Documentation is coming soon!
@@ -1,13 +0,0 @@
1
- /* generated using "pnpm jiti scripts/generate-utilities.ts" */
2
- /* @utility nui-placeload */
3
-
4
- @utility nui-placeload {
5
- position: relative;
6
- background: linear-gradient( to right, rgb(0 0 0 / 7%) 8% ,rgb(0 0 0 / 15%) 18%, rgb(0 0 0 / 7%) 33%);
7
- background-size: 1200px 104px;
8
- }
9
- .dark .nui-placeload {
10
- position: relative;
11
- background: linear-gradient(to right, rgb(255 255 255 / 15%) 8%, rgb(255 255 255 / 24%) 18%, rgb(255 255 255 / 15%) 33%);
12
- background-size: 1200px 104px;
13
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes