@fea-ui/styles 0.1.0-alpha.4 → 0.1.0-alpha.7
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/package.json +5 -7
- package/src/components/accordion.css +25 -23
- package/src/components/alert-dialog.css +25 -25
- package/src/components/button-group.css +4 -4
- package/src/components/button.css +38 -32
- package/src/components/checkbox.css +1 -1
- package/src/components/chip.css +10 -10
- package/src/components/container.css +1 -1
- package/src/components/dialog.css +25 -25
- package/src/components/drawer.css +84 -0
- package/src/components/fieldset.css +3 -3
- package/src/components/index.css +2 -0
- package/src/components/input.css +17 -21
- package/src/components/link.css +16 -16
- package/src/components/list.css +2 -2
- package/src/components/meter.css +1 -1
- package/src/components/navbar.css +12 -14
- package/src/components/popover.css +54 -0
- package/src/components/switch.css +19 -19
- package/src/components/tabs.css +32 -32
- package/src/components/text.css +1 -1
- package/src/components/toggle-button.css +4 -4
- package/src/styles.css +100 -101
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fea-ui/styles",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.7",
|
|
4
4
|
"description": "FeaUI Styles - Tailwind CSS styles for FeaUI components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fea-ui",
|
|
@@ -34,17 +34,15 @@
|
|
|
34
34
|
"src"
|
|
35
35
|
],
|
|
36
36
|
"scripts": {
|
|
37
|
-
"build:css": "bunx @tailwindcss/cli -i src/styles.css -o dist/index.css --minify"
|
|
37
|
+
"build:css": "bunx @tailwindcss/cli -i src/styles.css -o dist/index.css --minify",
|
|
38
|
+
"check": "biome check --write"
|
|
38
39
|
},
|
|
39
40
|
"dependencies": {
|
|
40
|
-
"tailwindcss": "^4.
|
|
41
|
+
"tailwindcss": "^4.1.18"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
44
|
"@biomejs/biome": "2.3.10",
|
|
44
|
-
"@types/bun": "
|
|
45
|
-
"prettier": "^3.7.4",
|
|
46
|
-
"prettier-plugin-packagejson": "^2.5.20",
|
|
47
|
-
"prettier-plugin-tailwindcss": "^0.7.2"
|
|
45
|
+
"@types/bun": "^1.3.5"
|
|
48
46
|
},
|
|
49
47
|
"peerDependencies": {
|
|
50
48
|
"tailwindcss": ">=4.0.0"
|
|
@@ -1,48 +1,50 @@
|
|
|
1
1
|
.accordion {
|
|
2
|
-
|
|
2
|
+
@apply bg-card text-card-foreground flex w-full max-w-md flex-col justify-center;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
.accordion__trigger {
|
|
6
|
-
|
|
6
|
+
@apply cursor-pointer;
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
@apply flex w-full items-center justify-between border-b p-3;
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
@apply bg-primary/10;
|
|
12
|
-
}
|
|
10
|
+
@apply transition-colors motion-reduce:transition-none;
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
&:hover {
|
|
13
|
+
@apply bg-primary/10;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&:focus {
|
|
17
|
+
@apply outline-none;
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
.accordion__title {
|
|
20
|
-
|
|
22
|
+
@apply text-left font-medium;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
.accordion__trigger-icon {
|
|
24
|
-
|
|
26
|
+
@apply text-muted-foreground size-5;
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
@apply transition-transform duration-300 motion-reduce:transition-none;
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
[data-panel-open] > & {
|
|
31
|
+
@apply rotate-180;
|
|
32
|
+
}
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
.accordion__panel {
|
|
34
|
-
|
|
36
|
+
height: var(--accordion-panel-height);
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
@apply overflow-hidden;
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
@apply transition-[height] motion-reduce:transition-none;
|
|
39
41
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
&[data-ending-style],
|
|
43
|
+
&[data-starting-style] {
|
|
44
|
+
@apply h-0;
|
|
45
|
+
}
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
.accordion__content {
|
|
47
|
-
|
|
49
|
+
@apply p-4;
|
|
48
50
|
}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.alert-dialog__backdrop {
|
|
3
|
-
|
|
3
|
+
@apply fixed inset-0 bg-black/50 opacity-20 backdrop-blur-sm;
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
@apply transition-opacity motion-reduce:transition-none;
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
&[data-starting-style],
|
|
8
|
+
&[data-ending-style] {
|
|
9
|
+
@apply opacity-0;
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.alert-dialog__popup {
|
|
14
|
-
|
|
14
|
+
@apply bg-popover rounded border p-6 shadow;
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
@apply w-full max-w-lg;
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
@apply fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
@apply transition-[scale,opacity] motion-reduce:transition-none;
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
&[data-starting-style],
|
|
23
|
+
&[data-ending-style] {
|
|
24
|
+
@apply scale-95 opacity-0;
|
|
25
|
+
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.alert-dialog__title {
|
|
29
|
-
|
|
29
|
+
@apply text-lg font-semibold;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
.alert-dialog__description {
|
|
33
|
-
|
|
33
|
+
@apply text-muted-foreground text-sm;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
.alert-dialog__close {
|
|
37
|
-
|
|
37
|
+
@apply cursor-pointer;
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
@apply absolute top-0 right-0 m-2;
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
svg {
|
|
42
|
+
@apply text-muted-foreground size-5;
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
@apply transition-colors motion-reduce:transition-none;
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
&:hover {
|
|
47
|
+
@apply text-foreground;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
50
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.button-group {
|
|
3
|
-
|
|
3
|
+
@apply inline-flex items-center;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.button-group .button {
|
|
7
|
-
|
|
7
|
+
@apply rounded-none;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.button-group .button:first-child {
|
|
11
|
-
|
|
11
|
+
@apply rounded-l;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.button-group .button:last-child {
|
|
15
|
-
|
|
15
|
+
@apply rounded-r;
|
|
16
16
|
}
|
|
@@ -1,76 +1,82 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.button {
|
|
3
|
-
|
|
3
|
+
@apply cursor-pointer;
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
@apply inline-flex items-center justify-center gap-2 rounded border font-medium text-nowrap;
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
@apply w-fit px-4 py-4;
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
@apply transition-[scale] motion-reduce:transition-none;
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
}
|
|
11
|
+
&:hover:not([data-disabled]) {
|
|
12
|
+
@apply brightness-90;
|
|
13
|
+
}
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
&:active {
|
|
16
|
+
@apply scale-95;
|
|
17
|
+
}
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
&:focus-visible {
|
|
20
|
+
@apply status-focused;
|
|
21
|
+
}
|
|
24
22
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
&[data-disabled] {
|
|
24
|
+
@apply status-disabled;
|
|
25
|
+
}
|
|
28
26
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
svg {
|
|
28
|
+
@apply size-5 shrink-0;
|
|
29
|
+
}
|
|
32
30
|
}
|
|
33
31
|
|
|
34
32
|
.button--sm {
|
|
35
|
-
|
|
33
|
+
@apply h-8 text-sm;
|
|
34
|
+
|
|
35
|
+
svg {
|
|
36
|
+
@apply size-4;
|
|
37
|
+
}
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
.button--md {
|
|
39
|
-
|
|
41
|
+
@apply h-10;
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
.button--lg {
|
|
43
|
-
|
|
45
|
+
@apply h-12;
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
.button--primary {
|
|
47
|
-
|
|
49
|
+
@apply bg-primary text-primary-foreground;
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
.button--secondary {
|
|
51
|
-
|
|
53
|
+
@apply bg-secondary text-secondary-foreground;
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
.button--outline {
|
|
55
|
-
|
|
57
|
+
@apply bg-background text-foreground;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
.button--danger {
|
|
59
|
-
|
|
61
|
+
@apply bg-danger text-danger-foreground;
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
.button--ghost {
|
|
63
|
-
|
|
65
|
+
@apply border-0 bg-transparent text-foreground;
|
|
66
|
+
|
|
67
|
+
&:hover:not([data-disabled]) {
|
|
68
|
+
@apply bg-secondary/10;
|
|
69
|
+
}
|
|
64
70
|
}
|
|
65
71
|
|
|
66
72
|
.button--icon-only {
|
|
67
|
-
|
|
73
|
+
@apply size-10;
|
|
68
74
|
}
|
|
69
75
|
|
|
70
76
|
.button--icon-only.button--sm {
|
|
71
|
-
|
|
77
|
+
@apply size-8;
|
|
72
78
|
}
|
|
73
79
|
|
|
74
80
|
.button--icon-only.button--lg {
|
|
75
|
-
|
|
81
|
+
@apply size-12;
|
|
76
82
|
}
|
package/src/components/chip.css
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.chip {
|
|
3
|
-
|
|
3
|
+
@apply inline-flex items-center justify-center gap-2 rounded-full border px-2 font-medium text-nowrap;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.chip--sm {
|
|
7
|
-
|
|
7
|
+
@apply h-4 text-sm;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.chip--md {
|
|
11
|
-
|
|
11
|
+
@apply h-6;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.chip--lg {
|
|
15
|
-
|
|
15
|
+
@apply h-8;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.chip--primary {
|
|
19
|
-
|
|
19
|
+
@apply bg-primary text-primary-foreground;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
.chip--secondary {
|
|
23
|
-
|
|
23
|
+
@apply bg-secondary text-secondary-foreground;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.chip--outline {
|
|
27
|
-
|
|
27
|
+
@apply bg-transparent;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.chip--danger {
|
|
31
|
-
|
|
31
|
+
@apply bg-danger text-danger-foreground;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.chip--ghost {
|
|
35
|
-
|
|
35
|
+
@apply border-none bg-transparent;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.chip--success {
|
|
39
|
-
|
|
39
|
+
@apply bg-success text-success-foreground;
|
|
40
40
|
}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.dialog__backdrop {
|
|
3
|
-
|
|
3
|
+
@apply fixed inset-0 bg-black/50 opacity-20 backdrop-blur-sm;
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
@apply transition-opacity motion-reduce:transition-none;
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
&[data-starting-style],
|
|
8
|
+
&[data-ending-style] {
|
|
9
|
+
@apply opacity-0;
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.dialog__popup {
|
|
14
|
-
|
|
14
|
+
@apply bg-popover rounded border p-6 shadow;
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
@apply w-full max-w-lg;
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
@apply fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
@apply transition-[scale,opacity] motion-reduce:transition-none;
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
&[data-starting-style],
|
|
23
|
+
&[data-ending-style] {
|
|
24
|
+
@apply scale-95 opacity-0;
|
|
25
|
+
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.dialog__title {
|
|
29
|
-
|
|
29
|
+
@apply text-lg font-semibold;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
.dialog__description {
|
|
33
|
-
|
|
33
|
+
@apply text-muted-foreground text-sm;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
.dialog__close {
|
|
37
|
-
|
|
37
|
+
@apply cursor-pointer;
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
@apply absolute top-0 right-0 m-2;
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
svg {
|
|
42
|
+
@apply text-muted-foreground size-5;
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
@apply transition-colors motion-reduce:transition-none;
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
&:hover {
|
|
47
|
+
@apply text-foreground;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
50
|
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
.drawer__backdrop {
|
|
2
|
+
@apply fixed inset-0 bg-black/50 opacity-50;
|
|
3
|
+
|
|
4
|
+
@apply transition-opacity motion-reduce:transition-none;
|
|
5
|
+
|
|
6
|
+
&[data-starting-style],
|
|
7
|
+
&[data-ending-style] {
|
|
8
|
+
@apply opacity-0;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.drawer__popup {
|
|
13
|
+
@apply box-border fixed p-3;
|
|
14
|
+
|
|
15
|
+
@apply bg-card text-card-foreground shadow;
|
|
16
|
+
|
|
17
|
+
@apply transition-[translate] motion-reduce:transition-none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.drawer__title {
|
|
21
|
+
@apply text-lg font-medium;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.drawer__description {
|
|
25
|
+
@apply text-sm text-muted-foreground;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.drawer__close {
|
|
29
|
+
@apply cursor-pointer;
|
|
30
|
+
|
|
31
|
+
@apply absolute top-0 end-0 m-3 rounded-full;
|
|
32
|
+
|
|
33
|
+
@apply text-muted-foreground;
|
|
34
|
+
|
|
35
|
+
@apply transition-colors motion-reduce:transition-none;
|
|
36
|
+
|
|
37
|
+
&:hover {
|
|
38
|
+
@apply bg-secondary/10;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&:focus {
|
|
42
|
+
@apply outline-none;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Variants
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
.drawer--right.drawer__popup {
|
|
51
|
+
@apply end-0 top-0 w-96 max-w-[calc(100vw-2rem)] h-full rounded-l;
|
|
52
|
+
|
|
53
|
+
&[data-starting-style],
|
|
54
|
+
&[data-ending-style] {
|
|
55
|
+
@apply translate-x-full;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.drawer--left.drawer__popup {
|
|
60
|
+
@apply start-0 top-0 w-96 h-full rounded-r max-w-[calc(100vw-2rem)];
|
|
61
|
+
|
|
62
|
+
&[data-starting-style],
|
|
63
|
+
&[data-ending-style] {
|
|
64
|
+
@apply -translate-x-full;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.drawer--top.drawer__popup {
|
|
69
|
+
@apply top-0 start-0 w-full h-96 rounded-b;
|
|
70
|
+
|
|
71
|
+
&[data-starting-style],
|
|
72
|
+
&[data-ending-style] {
|
|
73
|
+
@apply -translate-y-full;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.drawer--bottom.drawer__popup {
|
|
78
|
+
@apply bottom-0 start-0 w-full h-96 rounded-t;
|
|
79
|
+
|
|
80
|
+
&[data-starting-style],
|
|
81
|
+
&[data-ending-style] {
|
|
82
|
+
@apply translate-y-full;
|
|
83
|
+
}
|
|
84
|
+
}
|
package/src/components/index.css
CHANGED
package/src/components/input.css
CHANGED
|
@@ -1,37 +1,33 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.input {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
@apply bg-input text-input-foreground rounded border;
|
|
4
|
+
@apply w-full px-3 py-2;
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
@apply transition-[brightness] motion-reduce:transition-none;
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
@media (hover: hover) {
|
|
9
|
+
&:hover:not([data-disabled]) {
|
|
10
|
+
@apply brightness-90;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
&:disabled {
|
|
15
|
+
@apply status-disabled;
|
|
16
|
+
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
&:invalid:not(:placeholder-shown) {
|
|
23
|
-
@apply status-invalid;
|
|
24
|
-
}
|
|
18
|
+
&:invalid:not(:placeholder-shown) {
|
|
19
|
+
@apply status-invalid;
|
|
20
|
+
}
|
|
25
21
|
}
|
|
26
22
|
|
|
27
23
|
.input--sm {
|
|
28
|
-
|
|
24
|
+
@apply h-8 text-sm;
|
|
29
25
|
}
|
|
30
26
|
|
|
31
27
|
.input--md {
|
|
32
|
-
|
|
28
|
+
@apply h-10;
|
|
33
29
|
}
|
|
34
30
|
|
|
35
31
|
.input--lg {
|
|
36
|
-
|
|
32
|
+
@apply h-12;
|
|
37
33
|
}
|
package/src/components/link.css
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.link {
|
|
3
|
-
|
|
3
|
+
@apply text-link underline-offset-2 transition-colors;
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
&:visited {
|
|
6
|
+
@apply text-link/70;
|
|
7
|
+
}
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
&:hover {
|
|
10
|
+
@apply text-link/80;
|
|
11
|
+
}
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
&[data-active] {
|
|
14
|
+
@apply font-semibold;
|
|
15
|
+
}
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
&:disabled,
|
|
18
|
+
[data-disabled] {
|
|
19
|
+
@apply text-muted cursor-not-allowed;
|
|
20
|
+
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
.link--underline {
|
|
24
|
-
|
|
24
|
+
@apply underline;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
.link--no-underline {
|
|
28
|
-
|
|
28
|
+
@apply no-underline;
|
|
29
29
|
}
|
package/src/components/list.css
CHANGED
package/src/components/meter.css
CHANGED
|
@@ -1,38 +1,36 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.navbar {
|
|
3
|
-
|
|
3
|
+
@apply bg-secondary/50 border-border relative z-50 flex h-(--navbar-height) w-full items-center justify-between border-b px-4 py-2;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.navbar__container {
|
|
7
|
-
|
|
7
|
+
@apply mx-auto flex w-full max-w-7xl items-center justify-between;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.navbar__content {
|
|
11
|
-
|
|
11
|
+
@apply flex items-center gap-2;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.navbar__toggle {
|
|
15
|
-
|
|
15
|
+
@apply md:hidden;
|
|
16
|
+
|
|
17
|
+
svg {
|
|
18
|
+
@apply size-4;
|
|
19
|
+
}
|
|
16
20
|
}
|
|
17
21
|
|
|
18
22
|
.navbar__list {
|
|
19
|
-
|
|
23
|
+
@apply hidden md:flex md:items-center md:gap-6;
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
.navbar__list-item {
|
|
23
|
-
|
|
27
|
+
@apply list-none;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
.navbar__menu {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@apply transition-[height] motion-reduce:transition-none;
|
|
30
|
-
|
|
31
|
-
&[data-expanded="true"] {
|
|
32
|
-
@apply flex;
|
|
33
|
-
}
|
|
31
|
+
@apply flex flex-col gap-1;
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
.navbar__menu-item {
|
|
37
|
-
|
|
35
|
+
@apply w-full list-none px-4 py-2;
|
|
38
36
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
.popover__trigger {
|
|
2
|
+
@apply transition-[scale] motion-reduce:transition-none;
|
|
3
|
+
|
|
4
|
+
&[data-popup-open] {
|
|
5
|
+
@apply scale-95;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.popover__positioner {
|
|
10
|
+
width: var(--positioner-width);
|
|
11
|
+
max-width: var(--available-width);
|
|
12
|
+
height: var(--positioner-width);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.popover__popup {
|
|
16
|
+
@apply box-border p-3 rounded;
|
|
17
|
+
|
|
18
|
+
@apply bg-popover text-popover-foreground shadow;
|
|
19
|
+
|
|
20
|
+
@apply transition-[transform,scale] motion-reduce:transition-none;
|
|
21
|
+
|
|
22
|
+
&[data-starting-style],
|
|
23
|
+
&[data-ending-style] {
|
|
24
|
+
@apply opacity-0 scale-90;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.popover__arrow {
|
|
29
|
+
@apply flex text-popover size-6;
|
|
30
|
+
|
|
31
|
+
&[data-side="top"] {
|
|
32
|
+
@apply -bottom-3 rotate-180;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&[data-side="right"] {
|
|
36
|
+
@apply -start-3 rotate-90;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&[data-side="bottom"] {
|
|
40
|
+
@apply -top-3;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&[data-side="left"] {
|
|
44
|
+
@apply -end-3 -rotate-90;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.popover__title {
|
|
49
|
+
@apply text-lg font-medium;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.popover__description {
|
|
53
|
+
@apply text-sm text-muted-foreground;
|
|
54
|
+
}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.switch {
|
|
3
|
-
|
|
3
|
+
@apply cursor-pointer;
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
@apply bg-secondary/50 relative flex cursor-pointer rounded-full border-2;
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
&:active {
|
|
8
|
+
@apply bg-secondary;
|
|
9
|
+
}
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
&:focus-visible {
|
|
12
|
+
@apply status-focused;
|
|
13
|
+
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
&[data-disabled] {
|
|
16
|
+
@apply status-disabled;
|
|
17
|
+
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.switch__thumb {
|
|
21
|
-
|
|
21
|
+
@apply bg-primary aspect-square h-full rounded-full shadow;
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
@apply transition-[translate] motion-reduce:transition-none;
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
&[data-checked] {
|
|
26
|
+
@apply translate-x-full;
|
|
27
|
+
}
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.switch--sm {
|
|
31
|
-
|
|
31
|
+
@apply h-4 w-7;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.switch--md {
|
|
35
|
-
|
|
35
|
+
@apply h-6 w-10;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.switch--lg {
|
|
39
|
-
|
|
39
|
+
@apply h-8 w-14;
|
|
40
40
|
}
|
package/src/components/tabs.css
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
/** Base Styling */
|
|
2
2
|
.tabs {
|
|
3
|
-
|
|
3
|
+
@apply bg-card/50 text-secondary-foreground rounded border;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.tabs__list {
|
|
7
|
-
|
|
7
|
+
@apply bg-card relative z-0 flex gap-1 rounded-t border-b px-1;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.tabs__tab {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
11
|
+
@apply m-0 flex appearance-none items-center justify-center border-0 bg-transparent outline-none;
|
|
12
|
+
@apply text-muted-foreground break-keep whitespace-nowrap select-none;
|
|
13
|
+
@apply h-8 px-2 py-0;
|
|
14
|
+
|
|
15
|
+
&[data-active] {
|
|
16
|
+
@apply text-foreground;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@media (hover: hover) {
|
|
20
|
+
&:hover {
|
|
21
|
+
@apply text-foreground;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&:focus-visible {
|
|
26
|
+
@apply relative;
|
|
27
|
+
|
|
28
|
+
&::before {
|
|
29
|
+
content: "";
|
|
30
|
+
@apply outline-primary absolute inset-x-0 inset-y-1 rounded outline-2 -outline-offset-1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
.tabs__indicator {
|
|
36
|
-
|
|
37
|
-
@apply transition-[translate,width] motion-reduce:transition-none;
|
|
36
|
+
width: var(--active-tab-width);
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
translate: var(--active-tab-left) -50%;
|
|
39
|
+
@apply bg-primary absolute bottom-0 left-0 -z-10 h-px;
|
|
40
|
+
@apply transition-[translate,width] motion-reduce:transition-none;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
.tabs__panel {
|
|
44
|
-
|
|
44
|
+
@apply relative flex h-32 items-center justify-center outline-none;
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
&:focus-visible {
|
|
47
|
+
@apply status-focused;
|
|
48
|
+
}
|
|
49
49
|
}
|
package/src/components/text.css
CHANGED
package/src/styles.css
CHANGED
|
@@ -1,127 +1,126 @@
|
|
|
1
1
|
@import "tailwindcss";
|
|
2
|
-
|
|
3
2
|
@import "./components/index.css" layer(components);
|
|
4
3
|
|
|
5
4
|
:root {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
5
|
+
--navbar-height: 4rem;
|
|
6
|
+
--radius: 0.625rem;
|
|
7
|
+
|
|
8
|
+
--background: oklch(1 0 0);
|
|
9
|
+
--foreground: oklch(0.145 0 0);
|
|
10
|
+
|
|
11
|
+
--card: oklch(1 0 0);
|
|
12
|
+
--card-foreground: oklch(0.145 0 0);
|
|
13
|
+
--popover: oklch(1 0 0);
|
|
14
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
15
|
+
--input: oklch(0.922 0 0);
|
|
16
|
+
--input-foreground: oklch(0.205 0 0);
|
|
17
|
+
--accordion: oklch(1 0 0);
|
|
18
|
+
--accordion-foreground: oklch(0.145 0 0);
|
|
19
|
+
|
|
20
|
+
--primary: oklch(0.205 0 0);
|
|
21
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
22
|
+
--secondary: oklch(0.97 0 0);
|
|
23
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
24
|
+
--muted: oklch(0.97 0 0);
|
|
25
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
26
|
+
--accent: oklch(0.97 0 0);
|
|
27
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
28
|
+
--danger: oklch(0.577 0.245 27.325);
|
|
29
|
+
--danger-foreground: oklch(0.985 0 0);
|
|
30
|
+
--success: oklch(0.623 0.17 145);
|
|
31
|
+
--success-foreground: oklch(0.985 0 0);
|
|
32
|
+
|
|
33
|
+
--border: oklch(0.922 0 0);
|
|
34
|
+
--ring: oklch(62% 0.18 250);
|
|
35
|
+
--link: oklch(0.205 0 0);
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
.dark {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
39
|
+
--background: oklch(0.145 0 0);
|
|
40
|
+
--foreground: oklch(0.985 0 0);
|
|
41
|
+
|
|
42
|
+
--card: oklch(0.205 0 0);
|
|
43
|
+
--card-foreground: oklch(0.985 0 0);
|
|
44
|
+
--popover: oklch(0.205 0 0);
|
|
45
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
46
|
+
--input: oklch(1 0 0 / 15%);
|
|
47
|
+
--input-foreground: oklch(0.985 0 0);
|
|
48
|
+
--accordion: oklch(0.205 0 0);
|
|
49
|
+
--accordion-foreground: oklch(0.985 0 0);
|
|
50
|
+
|
|
51
|
+
--primary: oklch(0.922 0 0);
|
|
52
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
53
|
+
--secondary: oklch(0.269 0 0);
|
|
54
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
55
|
+
--muted: oklch(0.269 0 0);
|
|
56
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
57
|
+
--danger: oklch(0.704 0.191 22.216);
|
|
58
|
+
--danger-foreground: oklch(0.985 0 0);
|
|
59
|
+
--success: oklch(0.7017 0.3225 145);
|
|
60
|
+
--success-foreground: oklch(0.205 0 0);
|
|
61
|
+
|
|
62
|
+
--border: oklch(1 0 0 / 10%);
|
|
63
|
+
--ring: oklch(62% 0.18 250);
|
|
64
|
+
--link: oklch(0.922 0 0);
|
|
66
65
|
}
|
|
67
66
|
|
|
68
67
|
@theme inline {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
@layer base {
|
|
100
|
-
* {
|
|
101
|
-
@apply border-border outline-ring/50;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
body {
|
|
105
|
-
@apply bg-background text-foreground;
|
|
106
|
-
}
|
|
68
|
+
--radius: var(--radius);
|
|
69
|
+
|
|
70
|
+
--color-background: var(--background);
|
|
71
|
+
--color-foreground: var(--foreground);
|
|
72
|
+
|
|
73
|
+
--color-card: var(--card);
|
|
74
|
+
--color-card-foreground: var(--card-foreground);
|
|
75
|
+
--color-popover: var(--popover);
|
|
76
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
77
|
+
--color-input: var(--input);
|
|
78
|
+
--color-input-foreground: var(--input-foreground);
|
|
79
|
+
--color-accordion: var(--accordion);
|
|
80
|
+
--color-accordion-foreground: var(--accordion-foreground);
|
|
81
|
+
|
|
82
|
+
--color-primary: var(--primary);
|
|
83
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
84
|
+
--color-secondary: var(--secondary);
|
|
85
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
86
|
+
--color-muted: var(--muted);
|
|
87
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
88
|
+
--color-danger: var(--danger);
|
|
89
|
+
--color-danger-foreground: var(--danger-foreground);
|
|
90
|
+
--color-success: var(--success);
|
|
91
|
+
--color-success-foreground: var(--success-foreground);
|
|
92
|
+
|
|
93
|
+
--color-border: var(--border);
|
|
94
|
+
--color-ring: var(--ring);
|
|
95
|
+
--color-link: var(--link);
|
|
107
96
|
}
|
|
108
97
|
|
|
109
98
|
@utility status-focused {
|
|
110
|
-
|
|
99
|
+
@apply ring-offset-background ring-2 ring-offset-2 outline-none;
|
|
111
100
|
}
|
|
112
101
|
|
|
113
102
|
@utility status-disabled {
|
|
114
|
-
|
|
103
|
+
@apply cursor-not-allowed opacity-50;
|
|
115
104
|
}
|
|
116
105
|
|
|
117
106
|
@utility status-pending {
|
|
118
|
-
|
|
107
|
+
@apply cursor-wait opacity-75;
|
|
119
108
|
}
|
|
120
109
|
|
|
121
110
|
@utility status-valid {
|
|
122
|
-
|
|
111
|
+
@apply border-success;
|
|
123
112
|
}
|
|
124
113
|
|
|
125
114
|
@utility status-invalid {
|
|
126
|
-
|
|
115
|
+
@apply border-danger;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@layer base {
|
|
119
|
+
* {
|
|
120
|
+
@apply border-border outline-ring/50;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
body {
|
|
124
|
+
@apply bg-background text-foreground;
|
|
125
|
+
}
|
|
127
126
|
}
|