@skeletonlabs/skeleton-common 4.7.0 → 4.7.2

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,52 @@
1
+ [data-scope='slider'] {
2
+ &[data-part='root'] {
3
+ width: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: --spacing(2);
7
+ }
8
+
9
+ &[data-part='label'] {
10
+ @apply label-text;
11
+ }
12
+
13
+ &[data-part='control'] {
14
+ display: flex;
15
+ align-items: center;
16
+
17
+ &[data-disabled] {
18
+ opacity: 0.5;
19
+ }
20
+ }
21
+
22
+ &[data-part='track'] {
23
+ background: var(--color-surface-200-800);
24
+ border-radius: var(--radius-base);
25
+ height: --spacing(2);
26
+ overflow: hidden;
27
+ flex: 1;
28
+ }
29
+
30
+ &[data-part='range'] {
31
+ background: var(--color-surface-950-50);
32
+ height: 100%;
33
+ }
34
+
35
+ &[data-part='thumb'] {
36
+ width: --spacing(5);
37
+ height: --spacing(5);
38
+ background: var(--color-surface-50-950);
39
+ box-shadow: inset 0 0 0 2px var(--color-surface-950-50);
40
+ border-radius: calc(infinity * 1px);
41
+
42
+ &:focus-visible {
43
+ outline: 2px solid var(--color-surface-950-50);
44
+ outline-offset: 1px;
45
+ }
46
+ }
47
+
48
+ &[data-part='marker'] {
49
+ font-size: var(--text-xs);
50
+ color: var(--color-surface-600-400);
51
+ }
52
+ }
@@ -0,0 +1,93 @@
1
+ [data-scope='steps'] {
2
+ &[data-part='root'] {
3
+ &[data-orientation='horizontal'] {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: --spacing(4);
7
+ }
8
+
9
+ &[data-orientation='vertical'] {
10
+ display: flex;
11
+ gap: --spacing(4);
12
+ }
13
+ }
14
+
15
+ &[data-part='list'] {
16
+ display: flex;
17
+ gap: --spacing(2);
18
+
19
+ &[data-orientation='horizontal'] {
20
+ align-items: center;
21
+ }
22
+
23
+ &[data-orientation='vertical'] {
24
+ flex-direction: column;
25
+ align-items: flex-start;
26
+ }
27
+ }
28
+
29
+ &[data-part='item'] {
30
+ display: flex;
31
+ gap: --spacing(2);
32
+ flex-grow: 1;
33
+
34
+ &:last-child {
35
+ flex-grow: 0;
36
+ }
37
+
38
+ &[data-orientation='horizontal'] {
39
+ align-items: center;
40
+ }
41
+
42
+ &[data-orientation='vertical'] {
43
+ flex-direction: column;
44
+ align-items: flex-start;
45
+ }
46
+ }
47
+
48
+ &[data-part='trigger'] {
49
+ display: flex;
50
+ align-items: center;
51
+ gap: --spacing(1);
52
+ }
53
+
54
+ &[data-part='indicator'] {
55
+ width: --spacing(8);
56
+ height: --spacing(8);
57
+ border-radius: calc(infinity * 1px);
58
+ display: grid;
59
+ place-content: center;
60
+
61
+ &:not([data-complete]):not([data-current]) {
62
+ @apply preset-outlined-surface-200-800;
63
+ }
64
+
65
+ &[data-complete] {
66
+ @apply preset-filled-primary-500;
67
+ }
68
+
69
+ &[data-current] {
70
+ @apply preset-outlined-primary-500;
71
+ }
72
+ }
73
+
74
+ &[data-part='separator'] {
75
+ height: 0;
76
+ border-color: var(--color-surface-200-800);
77
+ flex-grow: 1;
78
+
79
+ &[data-complete] {
80
+ border-color: var(--color-primary-500);
81
+ }
82
+
83
+ &[data-orientation='horizontal'] {
84
+ border-top-width: 1px;
85
+ }
86
+
87
+ &[data-orientation='vertical'] {
88
+ border-inline-start-width: 1px;
89
+ margin-inline-start: --spacing(4);
90
+ min-height: --spacing(4);
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,59 @@
1
+ [data-scope='switch'] {
2
+ &[data-part='root'] {
3
+ cursor: pointer;
4
+ display: inline-flex;
5
+ gap: --spacing(2);
6
+ align-items: center;
7
+ border-radius: var(--radius-base);
8
+
9
+ &[data-disabled] {
10
+ cursor: not-allowed;
11
+ opacity: 0.5;
12
+ }
13
+
14
+ &[data-focus-visible] {
15
+ outline: 2px solid var(--color-surface-950-50);
16
+ outline-offset: 1px;
17
+ }
18
+ }
19
+
20
+ &[data-part='control'] {
21
+ height: --spacing(6);
22
+ width: --spacing(10);
23
+ padding: --spacing(0.5);
24
+ border-radius: calc(infinity * 1px);
25
+ display: flex;
26
+ justify-content: flex-start;
27
+
28
+ @apply preset-filled-surface-200-800;
29
+
30
+ &[data-state='checked'] {
31
+ @apply preset-filled-primary-500;
32
+ }
33
+ }
34
+
35
+ &[data-part='thumb'] {
36
+ display: grid;
37
+ justify-content: center;
38
+ align-items: center;
39
+ height: 100%;
40
+ aspect-ratio: 1;
41
+ border-radius: calc(infinity * 1px);
42
+ background: var(--color-surface-50);
43
+ color: var(--color-surface-contrast-50);
44
+ fill: var(--color-surface-contrast-50);
45
+ transition: transform 100ms;
46
+
47
+ &[data-state='checked'] {
48
+ transform: translateX(--spacing(4));
49
+ }
50
+
51
+ [dir='rtl'] &[data-state='checked'] {
52
+ transform: translateX(calc(-1 * --spacing(4)));
53
+ }
54
+ }
55
+
56
+ &[data-part='label'] {
57
+ @apply label-text;
58
+ }
59
+ }
@@ -0,0 +1,63 @@
1
+ [data-scope='tabs'] {
2
+ &[data-part='root'] {
3
+ width: 100%;
4
+ display: flex;
5
+
6
+ &[data-orientation='horizontal'] {
7
+ flex-direction: column;
8
+ }
9
+
10
+ &[data-orientation='vertical'] {
11
+ flex-direction: row;
12
+ }
13
+ }
14
+
15
+ &[data-part='list'] {
16
+ position: relative;
17
+ display: flex;
18
+ gap: --spacing(2);
19
+ border-color: var(--color-surface-200-800);
20
+
21
+ &[data-orientation='horizontal'] {
22
+ padding-bottom: --spacing(2);
23
+ margin-bottom: --spacing(4);
24
+ flex-direction: row;
25
+ border-bottom-width: 1px;
26
+ }
27
+
28
+ &[data-orientation='vertical'] {
29
+ padding-inline-end: --spacing(2);
30
+ margin-inline-end: --spacing(4);
31
+ flex-direction: column;
32
+ border-inline-end-width: 1px;
33
+ }
34
+ }
35
+
36
+ &[data-part='trigger'] {
37
+ @apply btn;
38
+
39
+ &:hover {
40
+ @apply preset-tonal-primary;
41
+ }
42
+
43
+ &[data-disabled] {
44
+ opacity: 0.5;
45
+ }
46
+ }
47
+
48
+ &[data-part='indicator'] {
49
+ background: var(--color-surface-950-50);
50
+
51
+ &[data-orientation='horizontal'] {
52
+ width: var(--width);
53
+ height: --spacing(0.5);
54
+ bottom: 0;
55
+ }
56
+
57
+ &[data-orientation='vertical'] {
58
+ width: --spacing(0.5);
59
+ height: var(--height);
60
+ inset-inline-end: 0;
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,73 @@
1
+ [data-scope='tags-input'] {
2
+ &[data-part='root'] {
3
+ width: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: --spacing(2);
7
+ }
8
+
9
+ &[data-part='label'] {
10
+ @apply label-text;
11
+ }
12
+
13
+ &[data-part='control'] {
14
+ @apply input;
15
+
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ gap: --spacing(2);
19
+ padding: --spacing(2);
20
+ }
21
+
22
+ &[data-part='item-preview'] {
23
+ @apply preset-filled;
24
+
25
+ font-size: var(--text-xs);
26
+ line-height: var(--text-xs--line-height);
27
+ border-radius: var(--radius-base);
28
+
29
+ display: flex;
30
+ align-items: center;
31
+
32
+ &[data-highlighted] {
33
+ outline: 2px solid var(--color-surface-950-50);
34
+ outline-offset: 1px;
35
+ }
36
+ }
37
+
38
+ &[data-part='item-text'] {
39
+ line-height: 1;
40
+ padding: --spacing(1) --spacing(2);
41
+ }
42
+
43
+ &[data-part='item-delete-trigger'] {
44
+ padding: --spacing(1) --spacing(2);
45
+
46
+ &:hover {
47
+ @apply preset-tonal;
48
+ }
49
+ }
50
+
51
+ &[data-part='item-input'] {
52
+ @apply input;
53
+
54
+ padding-inline: --spacing(2);
55
+ font-size: var(--text-xs);
56
+ line-height: var(--text-xs--line-height);
57
+ }
58
+
59
+ &[data-part='input'] {
60
+ @apply input-ghost!;
61
+ width: auto !important;
62
+ }
63
+
64
+ &[data-part='clear-trigger'] {
65
+ @apply btn btn-sm preset-tonal;
66
+
67
+ width: fit-content;
68
+
69
+ &:hover {
70
+ @apply preset-filled-error-500;
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,74 @@
1
+ [data-scope='toast'] {
2
+ &[data-part='root'] {
3
+ translate: var(--x) var(--y);
4
+ scale: var(--scale);
5
+ z-index: var(--z-index);
6
+ height: var(--height);
7
+ opacity: var(--opacity);
8
+ will-change: translate, opacity, scale;
9
+ transition:
10
+ translate 400ms,
11
+ scale 400ms,
12
+ opacity 400ms;
13
+ transition-timing-function: cubic-bezier(0.21, 1.02, 0.73, 1);
14
+
15
+ padding: --spacing(3);
16
+ width: 100%;
17
+ max-width: --spacing(96);
18
+ display: flex;
19
+ align-items: center;
20
+ gap: --spacing(2);
21
+ border: 1px solid var(--color-surface-200-800);
22
+
23
+ @apply card preset-filled-surface-50-950;
24
+
25
+ &[data-state='closed'] {
26
+ transition:
27
+ translate 400ms,
28
+ scale 400ms,
29
+ opacity 200ms;
30
+ transition-timing-function: cubic-bezier(0.06, 0.71, 0.55, 1);
31
+ }
32
+
33
+ &[data-type='success'] {
34
+ @apply preset-filled-success-500;
35
+ }
36
+
37
+ &[data-type='warning'] {
38
+ @apply preset-filled-warning-500;
39
+ }
40
+
41
+ &[data-type='error'] {
42
+ @apply preset-filled-error-500;
43
+ }
44
+ }
45
+
46
+ &[data-part='group'] {
47
+ width: calc(100% - (var(--viewport-offset-left) + var(--viewport-offset-right)));
48
+ }
49
+
50
+ &[data-part='message'] {
51
+ flex: 1;
52
+ }
53
+
54
+ &[data-part='title'] {
55
+ font-weight: 500;
56
+ font-size: var(--text-sm);
57
+ }
58
+
59
+ &[data-part='description'] {
60
+ font-size: var(--text-sm);
61
+ }
62
+
63
+ &[data-part='action-trigger'] {
64
+ @apply btn preset-filled;
65
+ }
66
+
67
+ &[data-part='close-trigger'] {
68
+ @apply btn-icon;
69
+
70
+ &:hover {
71
+ @apply preset-tonal;
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,55 @@
1
+ [data-scope='toggle-group'] {
2
+ &[data-part='root'] {
3
+ display: inline-flex;
4
+ overflow: hidden;
5
+ border-radius: var(--radius-base);
6
+
7
+ @apply preset-outlined-surface-200-800;
8
+
9
+ &[data-orientation='horizontal'] {
10
+ flex-direction: row;
11
+
12
+ & > *:not(:last-child) {
13
+ border-inline-end: 1px solid var(--color-surface-200-800);
14
+ }
15
+ }
16
+
17
+ &[data-orientation='vertical'] {
18
+ flex-direction: column;
19
+
20
+ & > *:not(:last-child) {
21
+ border-block-end: 1px solid var(--color-surface-200-800);
22
+ }
23
+ }
24
+ }
25
+
26
+ &[data-part='item'] {
27
+ display: flex;
28
+ justify-content: center;
29
+ align-items: center;
30
+ width: --spacing(9);
31
+ aspect-ratio: 1;
32
+
33
+ &:hover {
34
+ @apply preset-tonal;
35
+ }
36
+
37
+ &[data-state='on'] {
38
+ @apply preset-filled;
39
+ }
40
+
41
+ &[data-focus-visible] {
42
+ outline: 2px solid var(--color-surface-950-50);
43
+ outline-offset: 1px;
44
+ }
45
+
46
+ &[data-readonly] {
47
+ pointer-events: none;
48
+ }
49
+
50
+ &[data-disabled] {
51
+ pointer-events: none;
52
+ opacity: 0.5;
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,91 @@
1
+ [data-scope='tree-view'] {
2
+ &[data-part='root'] {
3
+ width: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: --spacing(2);
7
+ align-items: flex-start;
8
+ user-select: none;
9
+ }
10
+
11
+ &[data-part='tree'] {
12
+ display: flex;
13
+ flex-direction: column;
14
+ gap: --spacing(1);
15
+ }
16
+
17
+ &[data-part='label'] {
18
+ @apply label-text;
19
+ }
20
+
21
+ &[data-part='item'] {
22
+ display: flex;
23
+ align-items: center;
24
+ gap: --spacing(2);
25
+ padding-inline-end: --spacing(4);
26
+ padding-block: --spacing(2);
27
+ border-radius: var(--radius-base);
28
+ padding-inline-start: calc(var(--depth) * var(--spacing) * 6 + var(--spacing) * 4);
29
+
30
+ &:hover {
31
+ @apply preset-tonal;
32
+ }
33
+
34
+ &[data-selected] {
35
+ @apply preset-filled;
36
+ }
37
+ }
38
+
39
+ &[data-part='branch'] {
40
+ display: flex;
41
+ flex-direction: column;
42
+ gap: --spacing(1);
43
+ }
44
+
45
+ &[data-part='branch-control'] {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: --spacing(2);
49
+ padding-inline-end: --spacing(4);
50
+ padding-block: --spacing(2);
51
+ border-radius: var(--radius-base);
52
+ padding-inline-start: calc(var(--depth) * var(--spacing) * 6 - var(--spacing) * 2);
53
+
54
+ &:hover {
55
+ @apply preset-tonal;
56
+ }
57
+
58
+ &[data-selected] {
59
+ @apply preset-filled;
60
+ }
61
+ }
62
+
63
+ &[data-part='branch-indicator'] {
64
+ &[data-state='open'] {
65
+ transform: rotate(90deg);
66
+ }
67
+ }
68
+
69
+ &[data-part='branch-text'] {
70
+ display: flex;
71
+ align-items: center;
72
+ gap: --spacing(2);
73
+ }
74
+
75
+ &[data-part='branch-content'] {
76
+ display: flex;
77
+ flex-direction: column;
78
+ gap: --spacing(1);
79
+ position: relative;
80
+ }
81
+
82
+ &[data-part='branch-indent-guide'] {
83
+ position: absolute;
84
+ background: color-mix(in oklab, var(--color-surface-500) 50%, transparent);
85
+ width: --spacing(0.5);
86
+ height: 100%;
87
+ border-radius: var(--radius-base);
88
+ left: calc(var(--depth) * var(--spacing) * 6);
89
+ transform: translateX(-50%);
90
+ }
91
+ }
package/src/index.css ADDED
@@ -0,0 +1,23 @@
1
+ @import './components/accordion.css';
2
+ @import './components/app-bar.css';
3
+ @import './components/avatar.css';
4
+ @import './components/collapsible.css';
5
+ @import './components/combobox.css';
6
+ @import './components/date-picker.css';
7
+ @import './components/file-upload.css';
8
+ @import './components/floating-panel.css';
9
+ @import './components/listbox.css';
10
+ @import './components/menu.css';
11
+ @import './components/navigation.css';
12
+ @import './components/pagination.css';
13
+ @import './components/progress.css';
14
+ @import './components/rating-group.css';
15
+ @import './components/segmented-control.css';
16
+ @import './components/slider.css';
17
+ @import './components/steps.css';
18
+ @import './components/switch.css';
19
+ @import './components/tabs.css';
20
+ @import './components/tags-input.css';
21
+ @import './components/toast.css';
22
+ @import './components/toggle-group.css';
23
+ @import './components/tree-view.css';