@skeletonlabs/skeleton-common 4.7.1 → 4.7.3

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.
@@ -0,0 +1,148 @@
1
+ [data-scope='date-picker'] {
2
+ &[data-part='root'] {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: --spacing(2);
6
+ }
7
+
8
+ &[data-part='label'] {
9
+ @apply label-text;
10
+ }
11
+
12
+ &[data-part='control'] {
13
+ position: relative;
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: --spacing(2);
17
+ }
18
+
19
+ &[data-part='input'] {
20
+ @apply input;
21
+ }
22
+
23
+ &[data-part='trigger'] {
24
+ position: absolute;
25
+ inset-inline-end: --spacing(1.5);
26
+ top: --spacing(1.25);
27
+
28
+ @apply btn-icon btn-icon-sm preset-tonal;
29
+ }
30
+
31
+ &[data-part='preset-trigger'] {
32
+ @apply btn;
33
+
34
+ &:hover {
35
+ @apply preset-tonal;
36
+ }
37
+ }
38
+
39
+ &[data-part='content'] {
40
+ padding: --spacing(2);
41
+ display: flex;
42
+ flex-direction: column;
43
+ gap: --spacing(2);
44
+ background: var(--color-surface-50-950);
45
+ border: 1px solid var(--color-surface-200-800);
46
+
47
+ @apply card;
48
+ }
49
+
50
+ &[data-part='year-select'] {
51
+ @apply select;
52
+ }
53
+
54
+ &[data-part='month-select'] {
55
+ @apply select;
56
+ }
57
+
58
+ &[data-part='view'] {
59
+ display: flex;
60
+ flex-direction: column;
61
+ gap: --spacing(2);
62
+ }
63
+
64
+ &[data-part='view-control'] {
65
+ display: flex;
66
+ gap: --spacing(2);
67
+ justify-content: space-between;
68
+ }
69
+
70
+ &[data-part='prev-trigger'] {
71
+ @apply btn-icon;
72
+
73
+ &:hover {
74
+ @apply preset-tonal;
75
+ }
76
+ }
77
+
78
+ &[data-part='view-trigger'] {
79
+ @apply btn;
80
+
81
+ &:hover {
82
+ @apply preset-tonal;
83
+ }
84
+ }
85
+
86
+ &[data-part='next-trigger'] {
87
+ @apply btn-icon;
88
+
89
+ &:hover {
90
+ @apply preset-tonal;
91
+ }
92
+ }
93
+
94
+ &[data-part='table'] {
95
+ border-collapse: separate;
96
+ border-spacing: --spacing(2);
97
+ }
98
+
99
+ &[data-part='table-header'] {
100
+ font-size: var(--text-sm);
101
+ width: --spacing(8);
102
+ height: --spacing(8);
103
+ }
104
+
105
+ &[data-part='table-cell'] {
106
+ width: --spacing(8);
107
+ height: --spacing(8);
108
+ }
109
+
110
+ &[data-part='table-cell-trigger'] {
111
+ font-size: var(--text-sm);
112
+ width: 100%;
113
+ height: 100%;
114
+
115
+ padding: --spacing(1);
116
+ border-radius: var(--radius-base);
117
+ display: flex;
118
+ justify-content: center;
119
+ align-items: center;
120
+
121
+ &:hover {
122
+ @apply preset-tonal;
123
+ }
124
+
125
+ &[data-focus-visible] {
126
+ outline: 2px solid var(--color-surface-950-50);
127
+ outline-offset: 1px;
128
+ }
129
+
130
+ &[data-selected] {
131
+ @apply preset-filled;
132
+ }
133
+
134
+ &[data-in-range] {
135
+ @apply preset-filled;
136
+ }
137
+
138
+ &[data-today] {
139
+ text-decoration: underline;
140
+ text-underline-offset: --spacing(1);
141
+ }
142
+
143
+ &[data-disabled] {
144
+ pointer-events: none;
145
+ opacity: 0.5;
146
+ }
147
+ }
148
+ }
@@ -0,0 +1,77 @@
1
+ [data-scope='file-upload'] {
2
+ &[data-part='root'] {
3
+ width: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: --spacing(2);
7
+
8
+ &[data-disabled] {
9
+ opacity: 0.5;
10
+ pointer-events: none;
11
+ }
12
+ }
13
+
14
+ &[data-part='label'] {
15
+ @apply label-text;
16
+ }
17
+
18
+ &[data-part='dropzone'] {
19
+ padding: --spacing(10) --spacing(4);
20
+ border: 1px dashed var(--color-surface-200-800);
21
+ display: flex;
22
+ flex-direction: column;
23
+ justify-content: center;
24
+ align-items: center;
25
+ gap: --spacing(2);
26
+
27
+ @apply card;
28
+
29
+ &[data-dragging] {
30
+ @apply preset-tonal;
31
+ }
32
+ }
33
+
34
+ &[data-part='trigger'] {
35
+ @apply btn preset-filled;
36
+ }
37
+
38
+ &[data-part='clear-trigger'] {
39
+ width: fit-content;
40
+
41
+ @apply btn btn-sm preset-tonal;
42
+
43
+ &:hover {
44
+ @apply preset-filled-error-500;
45
+ }
46
+ }
47
+
48
+ &[data-part='item-group'] {
49
+ display: flex;
50
+ flex-direction: column;
51
+ gap: --spacing(2);
52
+ }
53
+
54
+ &[data-part='item'] {
55
+ display: grid;
56
+ grid-template-columns: auto 1fr auto;
57
+ gap: --spacing(4);
58
+ align-items: center;
59
+ padding: --spacing(2) --spacing(4);
60
+ border-radius: var(--radius-base);
61
+
62
+ @apply preset-tonal;
63
+ }
64
+
65
+ &[data-part='item-name'] {
66
+ font-size: var(--text-sm);
67
+ }
68
+
69
+ &[data-part='item-size-text'] {
70
+ font-size: var(--text-xs);
71
+ opacity: 0.6;
72
+ }
73
+
74
+ &[data-part='item-delete-trigger'] {
75
+ @apply btn-icon;
76
+ }
77
+ }
@@ -0,0 +1,66 @@
1
+ [data-scope='floating-panel'] {
2
+ &[data-part='content'] {
3
+ overflow: hidden;
4
+ border: 1px solid var(--color-surface-300-700);
5
+
6
+ @apply card shadow-lg;
7
+ }
8
+
9
+ &[data-part='header'] {
10
+ padding: --spacing(2) --spacing(4);
11
+ display: grid;
12
+ grid-template-columns: 1fr auto;
13
+ gap: --spacing(2);
14
+ align-items: center;
15
+ background: var(--color-surface-200-800);
16
+ overflow-y: hidden;
17
+ }
18
+
19
+ &[data-part='title'] {
20
+ display: flex;
21
+ justify-content: flex-start;
22
+ align-items: center;
23
+ gap: --spacing(2);
24
+ white-space: nowrap;
25
+ }
26
+
27
+ &[data-part='control'] {
28
+ display: flex;
29
+ gap: --spacing(1);
30
+ }
31
+
32
+ &[data-part='stage-trigger'] {
33
+ @apply btn-icon;
34
+
35
+ &:hover {
36
+ @apply preset-tonal;
37
+ }
38
+ }
39
+
40
+ &[data-part='close-trigger'] {
41
+ @apply btn-icon;
42
+
43
+ &:hover {
44
+ @apply preset-tonal;
45
+ }
46
+ }
47
+
48
+ &[data-part='body'] {
49
+ height: 100%;
50
+ background: var(--color-surface-100-900);
51
+ padding: --spacing(4);
52
+ overflow-y: auto;
53
+ }
54
+
55
+ &[data-part='resize-trigger'] {
56
+ &[data-axis*='n'],
57
+ &[data-axis*='s'] {
58
+ height: --spacing(2);
59
+ }
60
+
61
+ &[data-axis*='e'],
62
+ &[data-axis*='w'] {
63
+ width: --spacing(2);
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,59 @@
1
+ [data-scope='listbox'] {
2
+ &[data-part='root'] {
3
+ display: flex;
4
+ flex-direction: column;
5
+ align-items: stretch;
6
+ gap: --spacing(2);
7
+ }
8
+
9
+ &[data-part='label'] {
10
+ @apply label-text;
11
+ }
12
+
13
+ &[data-part='input'] {
14
+ @apply input;
15
+ }
16
+
17
+ &[data-part='content'] {
18
+ padding: --spacing(2);
19
+ display: flex;
20
+ flex-direction: column;
21
+ gap: --spacing(2);
22
+ background: var(--color-surface-50-950);
23
+ border: 1px solid var(--color-surface-200-800);
24
+
25
+ @apply card;
26
+ }
27
+
28
+ &[data-part='item-group-label'] {
29
+ color: var(--color-surface-600-400);
30
+ font-size: var(--text-xs);
31
+ padding: --spacing(1) --spacing(2);
32
+ }
33
+
34
+ &[data-part='item'] {
35
+ display: flex;
36
+ justify-content: space-between;
37
+ align-items: center;
38
+ padding: --spacing(1) --spacing(2);
39
+ border-radius: var(--radius-base);
40
+ cursor: pointer;
41
+
42
+ &:hover {
43
+ @apply preset-tonal;
44
+ }
45
+
46
+ &[data-selected] {
47
+ @apply preset-filled;
48
+ }
49
+
50
+ &[data-highlighted] {
51
+ @apply preset-tonal;
52
+ }
53
+
54
+ &[data-disabled] {
55
+ pointer-events: none;
56
+ opacity: 0.5;
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,43 @@
1
+ [data-scope='menu'] {
2
+ &[data-part='content'] {
3
+ padding: --spacing(2);
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: stretch;
7
+ gap: --spacing(2);
8
+ min-width: --spacing(48);
9
+ background: var(--color-surface-50-950);
10
+ border: 1px solid var(--color-surface-200-800);
11
+
12
+ @apply card shadow-lg;
13
+ }
14
+
15
+ &[data-part='arrow'] {
16
+ --arrow-size: --spacing(2);
17
+ --arrow-background: var(--color-surface-50-950);
18
+ }
19
+
20
+ &[data-part='item-group-label'] {
21
+ color: var(--color-surface-600-400);
22
+ font-size: var(--text-xs);
23
+ padding: --spacing(1) --spacing(2);
24
+ }
25
+
26
+ &[data-part='item'],
27
+ &[data-part='trigger-item'] {
28
+ display: flex;
29
+ justify-content: space-between;
30
+ align-items: center;
31
+ padding: --spacing(1) --spacing(2);
32
+ border-radius: var(--radius-base);
33
+ cursor: pointer;
34
+
35
+ &[data-highlighted] {
36
+ @apply preset-tonal;
37
+ }
38
+ }
39
+
40
+ &[data-part='separator'] {
41
+ @apply hr;
42
+ }
43
+ }
@@ -0,0 +1,79 @@
1
+ [data-scope='navigation'] {
2
+ &[data-part='root'] {
3
+ background: var(--color-surface-100-900);
4
+ overflow-x: hidden;
5
+ transition: width 200ms;
6
+
7
+ &[data-layout='bar'] {
8
+ width: 100%;
9
+ padding: --spacing(2);
10
+ }
11
+
12
+ &[data-layout='rail'] {
13
+ width: --spacing(25);
14
+ height: 100%;
15
+ overflow-y: hidden;
16
+ padding: --spacing(2);
17
+ display: flex;
18
+ flex-direction: column;
19
+ gap: --spacing(4);
20
+ }
21
+
22
+ &[data-layout='sidebar'] {
23
+ width: --spacing(70);
24
+ height: 100%;
25
+ overflow-y: auto;
26
+ padding: --spacing(4);
27
+ }
28
+ }
29
+
30
+ &[data-part='content'] {
31
+ &[data-layout='rail'] {
32
+ display: contents;
33
+ }
34
+
35
+ &[data-layout='sidebar'] {
36
+ display: flex;
37
+ flex-direction: column;
38
+ align-items: start;
39
+ gap: --spacing(4);
40
+ }
41
+ }
42
+
43
+ &[data-part='group'] {
44
+ &[data-layout='rail'] {
45
+ display: contents;
46
+ }
47
+
48
+ &[data-layout='sidebar'] {
49
+ display: flex;
50
+ flex-direction: column;
51
+ gap: --spacing(2);
52
+ }
53
+ }
54
+
55
+ &[data-part='label'] {
56
+ font-size: var(--text-xs);
57
+ color: var(--color-surface-700-300);
58
+ }
59
+
60
+ &[data-part='menu'] {
61
+ flex: 1;
62
+ display: flex;
63
+ gap: --spacing(2);
64
+
65
+ &[data-layout='bar'] {
66
+ align-items: stretch;
67
+ }
68
+
69
+ &[data-layout='rail'] {
70
+ flex-direction: column;
71
+ justify-content: center;
72
+ }
73
+
74
+ &[data-layout='sidebar'] {
75
+ flex-direction: column;
76
+ align-items: stretch;
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,44 @@
1
+ [data-scope='pagination'] {
2
+ &[data-part='root'] {
3
+ display: inline-flex;
4
+ gap: --spacing(2);
5
+ padding: --spacing(2);
6
+ border-radius: var(--radius-container);
7
+ width: fit-content;
8
+
9
+ @apply preset-outlined-surface-200-800;
10
+ }
11
+
12
+ &[data-part='first-trigger'] {
13
+ @apply btn btn-sm preset-tonal;
14
+ }
15
+
16
+ &[data-part='prev-trigger'] {
17
+ @apply btn btn-sm preset-tonal;
18
+ }
19
+
20
+ &[data-part='item'] {
21
+ cursor: pointer;
22
+ user-select: none;
23
+
24
+ @apply btn btn-sm preset-tonal;
25
+
26
+ &[data-selected] {
27
+ @apply preset-filled;
28
+ }
29
+ }
30
+
31
+ &[data-part='ellipsis'] {
32
+ pointer-events: none;
33
+
34
+ @apply btn btn-sm preset-tonal;
35
+ }
36
+
37
+ &[data-part='next-trigger'] {
38
+ @apply btn btn-sm preset-tonal;
39
+ }
40
+
41
+ &[data-part='last-trigger'] {
42
+ @apply btn btn-sm preset-tonal;
43
+ }
44
+ }
@@ -0,0 +1,77 @@
1
+ [data-scope='progress'] {
2
+ &[data-part='root'] {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: --spacing(2);
6
+
7
+ &[data-orientation='horizontal'] {
8
+ width: 100%;
9
+ }
10
+
11
+ &[data-orientation='vertical'] {
12
+ align-items: center;
13
+ }
14
+ }
15
+
16
+ &[data-part='label'] {
17
+ white-space: nowrap;
18
+ }
19
+
20
+ &[data-part='track'] {
21
+ background: var(--color-surface-200-800);
22
+ border-radius: var(--radius-base);
23
+ overflow: hidden;
24
+
25
+ &[data-orientation='horizontal'] {
26
+ width: 100%;
27
+ height: --spacing(2);
28
+ }
29
+
30
+ &[data-orientation='vertical'] {
31
+ width: --spacing(2);
32
+ height: --spacing(25);
33
+ display: flex;
34
+ flex-direction: column-reverse;
35
+ }
36
+ }
37
+
38
+ &[data-part='range'] {
39
+ height: 100%;
40
+ background: var(--color-surface-950-50);
41
+ border-radius: var(--radius-base);
42
+
43
+ &[data-orientation='horizontal'] {
44
+ transition: width 200ms;
45
+
46
+ &[data-state='indeterminate'] {
47
+ animation: progress-linear-indeterminate-horizontal 1.5s infinite linear;
48
+ }
49
+ }
50
+
51
+ &[data-orientation='vertical'] {
52
+ transition: height 200ms;
53
+
54
+ &[data-state='indeterminate'] {
55
+ animation: progress-linear-indeterminate-vertical 1.5s infinite linear;
56
+ }
57
+ }
58
+ }
59
+
60
+ &[data-part='circle'] {
61
+ --size: --spacing(24);
62
+ --thickness: calc(var(--size) / 12);
63
+ }
64
+
65
+ &[data-part='circle-track'] {
66
+ stroke: var(--color-surface-200-800);
67
+ }
68
+
69
+ &[data-part='circle-range'] {
70
+ stroke: var(--color-primary-500);
71
+ transition: stroke-dashoffset 200ms ease-in-out;
72
+
73
+ &[data-state='indeterminate'] {
74
+ animation: progress-circular-indeterminate 1.5s infinite linear;
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,21 @@
1
+ [data-scope='rating-group'] {
2
+ &[data-part='root'] {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: --spacing(2);
6
+ }
7
+
8
+ &[data-part='label'] {
9
+ @apply label-text;
10
+ }
11
+
12
+ &[data-part='control'] {
13
+ display: flex;
14
+ gap: --spacing(2);
15
+
16
+ &[data-disabled] {
17
+ cursor: not-allowed;
18
+ opacity: 0.5;
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,80 @@
1
+ [data-scope='radio-group'] {
2
+ &[data-part='root'] {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: --spacing(2);
6
+ }
7
+
8
+ &[data-part='label'] {
9
+ @apply label-text;
10
+ }
11
+
12
+ &[data-part='control'] {
13
+ display: inline-flex;
14
+ padding: --spacing(2);
15
+ gap: --spacing(2);
16
+ border-radius: var(--radius-base);
17
+
18
+ @apply preset-outlined-surface-200-800;
19
+
20
+ :has(> [data-orientation='horizontal']) & {
21
+ flex-direction: row;
22
+ }
23
+
24
+ :has(> [data-orientation='vertical']) & {
25
+ flex-direction: column;
26
+ }
27
+ }
28
+
29
+ &[data-part='indicator'] {
30
+ top: var(--top);
31
+ left: var(--left);
32
+ width: var(--width);
33
+ height: var(--height);
34
+ border-radius: var(--radius-base);
35
+
36
+ @apply preset-filled;
37
+
38
+ &[data-disabled] {
39
+ opacity: 0.5;
40
+ }
41
+ }
42
+
43
+ &[data-part='item'] {
44
+ cursor: pointer;
45
+ z-index: 10;
46
+ flex: 1;
47
+
48
+ @apply btn;
49
+
50
+ &[data-focus-visible] {
51
+ outline: 2px solid var(--color-surface-950-50);
52
+ outline-offset: 1px;
53
+ }
54
+
55
+ &[data-readonly] {
56
+ pointer-events: none;
57
+ }
58
+
59
+ &[data-disabled] {
60
+ pointer-events: none;
61
+ opacity: 0.5;
62
+ }
63
+ }
64
+
65
+ &[data-part='item-text'] {
66
+ transition: color 150ms;
67
+
68
+ color: var(--color-surface-contrast-50);
69
+ &[data-state='checked'] {
70
+ color: var(--color-surface-contrast-950);
71
+ }
72
+
73
+ @variant dark {
74
+ color: var(--color-surface-contrast-950);
75
+ &[data-state='checked'] {
76
+ color: var(--color-surface-contrast-50);
77
+ }
78
+ }
79
+ }
80
+ }