legacy.css 0.1.0

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/src/modal.css ADDED
@@ -0,0 +1,46 @@
1
+ dialog.modal {
2
+ background: var(--legacy-surface-raised);
3
+ border: 1px solid var(--legacy-border-dark);
4
+ border-radius: var(--legacy-radius);
5
+ box-shadow: 0 16px 40px rgb(0 0 0 / 35%);
6
+ color: var(--legacy-text);
7
+ max-width: min(36rem, calc(100vw - var(--legacy-space-4)));
8
+ padding: 0;
9
+ width: min(36rem, calc(100vw - var(--legacy-space-4)));
10
+ }
11
+
12
+ dialog.modal[open] {
13
+ display: block;
14
+ }
15
+
16
+ dialog.modal::backdrop {
17
+ background: rgb(31 31 31 / 45%);
18
+ }
19
+
20
+ dialog.modal > header {
21
+ align-items: center;
22
+ background: var(--legacy-header-bg);
23
+ border-bottom: 1px solid var(--legacy-border);
24
+ color: var(--legacy-primary-dark);
25
+ display: flex;
26
+ gap: var(--legacy-space-2);
27
+ justify-content: space-between;
28
+ padding: var(--legacy-space-2) var(--legacy-space-3);
29
+ }
30
+
31
+ dialog.modal > :not(header, footer) {
32
+ padding: var(--legacy-space-3);
33
+ }
34
+
35
+ dialog.modal > footer {
36
+ background: var(--legacy-surface);
37
+ border-top: 1px solid var(--legacy-border);
38
+ display: flex;
39
+ gap: var(--legacy-space-2);
40
+ justify-content: flex-end;
41
+ padding: var(--legacy-space-3);
42
+ }
43
+
44
+ dialog.modal button[data-modal-close] {
45
+ flex: 0 0 auto;
46
+ }
@@ -0,0 +1,118 @@
1
+ .multiselect {
2
+ margin: 0 0 var(--legacy-space-2);
3
+ max-width: 100%;
4
+ position: relative;
5
+ }
6
+
7
+ .multiselect-source {
8
+ display: none;
9
+ }
10
+
11
+ .multiselect-toggle {
12
+ align-items: center;
13
+ display: flex;
14
+ justify-content: space-between;
15
+ min-height: 2rem;
16
+ text-align: left;
17
+ width: 100%;
18
+ }
19
+
20
+ .multiselect-toggle::after {
21
+ border-left: 0.28rem solid transparent;
22
+ border-right: 0.28rem solid transparent;
23
+ border-top: 0.38rem solid var(--legacy-text);
24
+ content: "";
25
+ flex: 0 0 auto;
26
+ margin-left: var(--legacy-space-2);
27
+ }
28
+
29
+ .multiselect-toggle[aria-expanded="true"]::after {
30
+ border-bottom: 0.38rem solid var(--legacy-text);
31
+ border-top: 0;
32
+ }
33
+
34
+ .multiselect-label {
35
+ display: block;
36
+ min-width: 0;
37
+ overflow: hidden;
38
+ text-overflow: ellipsis;
39
+ white-space: nowrap;
40
+ }
41
+
42
+ .multiselect-menu {
43
+ background: var(--legacy-control-bg);
44
+ border: 1px solid var(--legacy-border-dark);
45
+ box-shadow: 2px 2px 0 rgb(0 0 0 / 18%);
46
+ display: none;
47
+ left: 0;
48
+ margin-top: 1px;
49
+ max-height: 14rem;
50
+ min-width: 100%;
51
+ overflow: auto;
52
+ padding: var(--legacy-space-1);
53
+ position: absolute;
54
+ top: 100%;
55
+ z-index: 20;
56
+ }
57
+
58
+ .multiselect.is-open .multiselect-menu {
59
+ display: block;
60
+ }
61
+
62
+ .multiselect-option {
63
+ align-items: start;
64
+ background: transparent;
65
+ border: 0;
66
+ border-radius: 0;
67
+ color: var(--legacy-text);
68
+ cursor: pointer;
69
+ display: flex;
70
+ font: inherit;
71
+ gap: var(--legacy-space-1);
72
+ line-height: var(--legacy-line-height);
73
+ margin: 0;
74
+ min-height: auto;
75
+ padding: 0.2rem var(--legacy-space-1);
76
+ text-align: left;
77
+ width: 100%;
78
+ }
79
+
80
+ .multiselect-option::before {
81
+ background: var(--legacy-control-bg);
82
+ border: 1px solid var(--legacy-border-dark);
83
+ content: "";
84
+ flex: 0 0 auto;
85
+ height: 0.85rem;
86
+ margin-top: 0.15rem;
87
+ width: 0.85rem;
88
+ }
89
+
90
+ .multiselect-option:hover,
91
+ .multiselect-option:focus {
92
+ background: var(--legacy-info-bg);
93
+ outline: 1px solid var(--legacy-info-border);
94
+ outline-offset: -1px;
95
+ }
96
+
97
+ .multiselect-option[aria-selected="true"]::before {
98
+ background:
99
+ linear-gradient(45deg, transparent 45%, var(--legacy-primary-dark) 45% 58%, transparent 58%),
100
+ linear-gradient(-45deg, transparent 48%, var(--legacy-primary-dark) 48% 62%, transparent 62%),
101
+ var(--legacy-control-bg);
102
+ }
103
+
104
+ .multiselect-option[aria-disabled="true"] {
105
+ color: var(--legacy-muted);
106
+ cursor: default;
107
+ }
108
+
109
+ .multiselect-option[aria-disabled="true"]:hover,
110
+ .multiselect-option[aria-disabled="true"]:focus {
111
+ background: transparent;
112
+ outline: 0;
113
+ }
114
+
115
+ .multiselect-empty {
116
+ color: var(--legacy-muted);
117
+ padding: var(--legacy-space-1);
118
+ }
@@ -0,0 +1,18 @@
1
+ nav {
2
+ background: var(--legacy-primary);
3
+ border: 1px solid var(--legacy-primary-dark);
4
+ margin: 0 0 var(--legacy-space-4);
5
+ padding: var(--legacy-space-2);
6
+ }
7
+
8
+ nav a,
9
+ nav a:visited {
10
+ color: var(--legacy-primary-contrast);
11
+ display: inline-block;
12
+ font-weight: 700;
13
+ margin-right: var(--legacy-space-3);
14
+ }
15
+
16
+ nav a:hover {
17
+ background: var(--legacy-primary-dark);
18
+ }
@@ -0,0 +1,53 @@
1
+ .pagination {
2
+ align-items: center;
3
+ background: var(--legacy-surface);
4
+ border: 1px solid var(--legacy-border);
5
+ display: flex;
6
+ flex-wrap: wrap;
7
+ gap: var(--legacy-space-2);
8
+ margin: 0 0 var(--legacy-space-4);
9
+ padding: var(--legacy-space-2);
10
+ }
11
+
12
+ .pagination-summary {
13
+ color: var(--legacy-muted);
14
+ margin-right: auto;
15
+ }
16
+
17
+ .pagination-pages {
18
+ align-items: center;
19
+ display: inline-flex;
20
+ flex-wrap: wrap;
21
+ gap: var(--legacy-space-1);
22
+ }
23
+
24
+ .pagination-page[aria-current="page"] {
25
+ background: var(--legacy-primary);
26
+ border-color: var(--legacy-primary-dark);
27
+ color: var(--legacy-primary-contrast);
28
+ font-weight: 700;
29
+ }
30
+
31
+ .pagination-ellipsis {
32
+ color: var(--legacy-muted);
33
+ display: inline-block;
34
+ padding: 0 var(--legacy-space-1);
35
+ }
36
+
37
+ .pagination-size {
38
+ align-items: center;
39
+ display: inline-flex;
40
+ gap: var(--legacy-space-1);
41
+ }
42
+
43
+ .pagination-size label {
44
+ align-items: center;
45
+ display: inline-flex;
46
+ gap: var(--legacy-space-1);
47
+ margin: 0;
48
+ }
49
+
50
+ .pagination-size select {
51
+ margin: 0;
52
+ width: auto;
53
+ }
package/src/panels.css ADDED
@@ -0,0 +1,22 @@
1
+ .container {
2
+ margin: 0 auto;
3
+ max-width: 1120px;
4
+ }
5
+
6
+ .panel {
7
+ background: var(--legacy-surface-raised);
8
+ border: 1px solid var(--legacy-border);
9
+ margin: 0 0 var(--legacy-space-4);
10
+ }
11
+
12
+ .panel > header {
13
+ background: var(--legacy-header-bg);
14
+ border-bottom: 1px solid var(--legacy-border);
15
+ color: var(--legacy-primary-dark);
16
+ font-weight: 700;
17
+ padding: var(--legacy-space-2) var(--legacy-space-3);
18
+ }
19
+
20
+ .panel > :not(header) {
21
+ padding: var(--legacy-space-3);
22
+ }
@@ -0,0 +1,36 @@
1
+ .popover {
2
+ background: var(--legacy-surface-raised);
3
+ border: 1px solid var(--legacy-border-dark);
4
+ border-radius: var(--legacy-radius);
5
+ box-shadow: 2px 2px 0 rgb(0 0 0 / 22%);
6
+ color: var(--legacy-text);
7
+ max-width: min(20rem, calc(100vw - var(--legacy-space-4)));
8
+ padding: var(--legacy-space-3);
9
+ position: fixed;
10
+ width: max-content;
11
+ z-index: 50;
12
+ }
13
+
14
+ .popover[hidden] {
15
+ display: none;
16
+ }
17
+
18
+ .popover > header {
19
+ background: var(--legacy-header-bg);
20
+ border-bottom: 1px solid var(--legacy-border);
21
+ color: var(--legacy-primary-dark);
22
+ font-weight: 700;
23
+ margin: calc(var(--legacy-space-3) * -1) calc(var(--legacy-space-3) * -1) var(--legacy-space-2);
24
+ padding: var(--legacy-space-2) var(--legacy-space-3);
25
+ }
26
+
27
+ .popover > :last-child {
28
+ margin-bottom: 0;
29
+ }
30
+
31
+ .popover-actions {
32
+ display: flex;
33
+ gap: var(--legacy-space-2);
34
+ justify-content: flex-end;
35
+ margin-top: var(--legacy-space-3);
36
+ }
@@ -0,0 +1,117 @@
1
+ progress,
2
+ .progress {
3
+ background: var(--legacy-surface);
4
+ border: 1px solid var(--legacy-border-dark);
5
+ border-radius: var(--legacy-radius);
6
+ color: var(--legacy-primary);
7
+ display: block;
8
+ height: 1rem;
9
+ margin: 0 0 var(--legacy-space-3);
10
+ overflow: hidden;
11
+ width: 100%;
12
+ }
13
+
14
+ progress {
15
+ appearance: none;
16
+ }
17
+
18
+ progress::-webkit-progress-bar {
19
+ background: var(--legacy-surface);
20
+ }
21
+
22
+ progress::-webkit-progress-value {
23
+ background: var(--legacy-primary);
24
+ }
25
+
26
+ progress:not([value]) {
27
+ animation: legacy-progress-loading 1s linear infinite;
28
+ background:
29
+ linear-gradient(
30
+ 45deg,
31
+ var(--legacy-info-bg) 25%,
32
+ var(--legacy-surface-raised) 25%,
33
+ var(--legacy-surface-raised) 50%,
34
+ var(--legacy-info-bg) 50%,
35
+ var(--legacy-info-bg) 75%,
36
+ var(--legacy-surface-raised) 75%,
37
+ var(--legacy-surface-raised)
38
+ );
39
+ background-size: 1rem 1rem;
40
+ }
41
+
42
+ progress:not([value])::-webkit-progress-bar {
43
+ animation: legacy-progress-loading 1s linear infinite;
44
+ background:
45
+ linear-gradient(
46
+ 45deg,
47
+ var(--legacy-info-bg) 25%,
48
+ var(--legacy-surface-raised) 25%,
49
+ var(--legacy-surface-raised) 50%,
50
+ var(--legacy-info-bg) 50%,
51
+ var(--legacy-info-bg) 75%,
52
+ var(--legacy-surface-raised) 75%,
53
+ var(--legacy-surface-raised)
54
+ );
55
+ background-size: 1rem 1rem;
56
+ }
57
+
58
+ progress::-moz-progress-bar {
59
+ background: var(--legacy-primary);
60
+ }
61
+
62
+ progress:not([value])::-moz-progress-bar {
63
+ background: transparent;
64
+ }
65
+
66
+ .progress-bar {
67
+ background: var(--legacy-primary);
68
+ display: block;
69
+ height: 100%;
70
+ }
71
+
72
+ .progress-loading .progress-bar {
73
+ animation: legacy-progress-loading 1s linear infinite;
74
+ background:
75
+ linear-gradient(
76
+ 45deg,
77
+ var(--legacy-info-bg) 25%,
78
+ var(--legacy-surface-raised) 25%,
79
+ var(--legacy-surface-raised) 50%,
80
+ var(--legacy-info-bg) 50%,
81
+ var(--legacy-info-bg) 75%,
82
+ var(--legacy-surface-raised) 75%,
83
+ var(--legacy-surface-raised)
84
+ );
85
+ background-size: 1rem 1rem;
86
+ width: 100%;
87
+ }
88
+
89
+ .progress-label {
90
+ color: var(--legacy-muted);
91
+ display: block;
92
+ margin: calc(var(--legacy-space-2) * -1) 0 var(--legacy-space-3);
93
+ }
94
+
95
+ @keyframes legacy-progress-loading {
96
+ from {
97
+ background-position: 0 0;
98
+ }
99
+
100
+ to {
101
+ background-position: 1rem 0;
102
+ }
103
+ }
104
+
105
+ @media (prefers-reduced-motion: reduce) {
106
+ progress:not([value]) {
107
+ animation: none;
108
+ }
109
+
110
+ progress:not([value])::-webkit-progress-bar {
111
+ animation: none;
112
+ }
113
+
114
+ .progress-loading .progress-bar {
115
+ animation: none;
116
+ }
117
+ }
@@ -0,0 +1,62 @@
1
+ .sidebar-layout {
2
+ align-items: flex-start;
3
+ display: grid;
4
+ gap: var(--legacy-space-4);
5
+ grid-template-columns: 14rem minmax(0, 1fr);
6
+ }
7
+
8
+ .sidebar {
9
+ background: var(--legacy-surface-raised);
10
+ border: 1px solid var(--legacy-border);
11
+ }
12
+
13
+ .sidebar > header {
14
+ background: var(--legacy-header-bg);
15
+ border-bottom: 1px solid var(--legacy-border);
16
+ color: var(--legacy-primary-dark);
17
+ font-weight: 700;
18
+ padding: var(--legacy-space-2) var(--legacy-space-3);
19
+ }
20
+
21
+ .sidebar nav {
22
+ background: transparent;
23
+ border: 0;
24
+ margin: 0;
25
+ padding: var(--legacy-space-2) 0;
26
+ }
27
+
28
+ .sidebar a,
29
+ .sidebar a:visited {
30
+ color: var(--legacy-link);
31
+ display: block;
32
+ font-weight: 400;
33
+ margin: 0;
34
+ padding: var(--legacy-space-1) var(--legacy-space-3);
35
+ }
36
+
37
+ .sidebar a:hover {
38
+ background: var(--legacy-header-hover-bg);
39
+ color: var(--legacy-primary-dark);
40
+ }
41
+
42
+ .sidebar a[aria-current="page"] {
43
+ background: var(--legacy-primary);
44
+ color: var(--legacy-primary-contrast);
45
+ font-weight: 700;
46
+ }
47
+
48
+ .sidebar-section {
49
+ border-top: 1px solid var(--legacy-border);
50
+ margin-top: var(--legacy-space-2);
51
+ padding-top: var(--legacy-space-2);
52
+ }
53
+
54
+ .sidebar-content {
55
+ min-width: 0;
56
+ }
57
+
58
+ @media (width <= 720px) {
59
+ .sidebar-layout {
60
+ grid-template-columns: 1fr;
61
+ }
62
+ }
package/src/tables.css ADDED
@@ -0,0 +1,31 @@
1
+ table {
2
+ background: var(--legacy-surface-raised);
3
+ border: 1px solid var(--legacy-border-dark);
4
+ border-collapse: collapse;
5
+ margin: 0 0 var(--legacy-space-4);
6
+ width: 100%;
7
+ }
8
+
9
+ caption {
10
+ color: var(--legacy-primary-dark);
11
+ font-weight: 700;
12
+ margin-bottom: var(--legacy-space-2);
13
+ text-align: left;
14
+ }
15
+
16
+ th,
17
+ td {
18
+ border: 1px solid var(--legacy-border);
19
+ padding: 0.45rem 0.55rem;
20
+ text-align: left;
21
+ vertical-align: top;
22
+ }
23
+
24
+ th {
25
+ background: var(--legacy-header-bg);
26
+ color: var(--legacy-primary-dark);
27
+ }
28
+
29
+ tbody tr:nth-child(even) {
30
+ background: var(--legacy-surface-alt);
31
+ }
package/src/tabs.css ADDED
@@ -0,0 +1,43 @@
1
+ .tabs {
2
+ margin: 0 0 var(--legacy-space-4);
3
+ }
4
+
5
+ .tabs-list {
6
+ align-items: end;
7
+ border-bottom: 1px solid var(--legacy-border);
8
+ display: flex;
9
+ gap: var(--legacy-space-1);
10
+ margin: 0;
11
+ padding: 0;
12
+ }
13
+
14
+ .tabs-list [role="tab"] {
15
+ background: linear-gradient(
16
+ var(--legacy-button-bg-top),
17
+ var(--legacy-button-bg-bottom)
18
+ );
19
+ border: 1px solid var(--legacy-border);
20
+ border-bottom: 0;
21
+ border-radius: var(--legacy-radius) var(--legacy-radius) 0 0;
22
+ color: var(--legacy-text);
23
+ cursor: pointer;
24
+ font: inherit;
25
+ margin: 0 0 -1px;
26
+ min-height: auto;
27
+ padding: var(--legacy-space-2) var(--legacy-space-3);
28
+ }
29
+
30
+ .tabs-list [role="tab"][aria-selected="true"] {
31
+ background: var(--legacy-surface-raised);
32
+ border-color: var(--legacy-border-dark);
33
+ border-bottom: 1px solid var(--legacy-surface-raised);
34
+ color: var(--legacy-primary-dark);
35
+ font-weight: 700;
36
+ }
37
+
38
+ .tabs-panel {
39
+ background: var(--legacy-surface-raised);
40
+ border: 1px solid var(--legacy-border-dark);
41
+ border-top: 0;
42
+ padding: var(--legacy-space-3);
43
+ }
package/src/toast.css ADDED
@@ -0,0 +1,78 @@
1
+ .toast-region {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: var(--legacy-space-2);
5
+ inset: auto var(--legacy-space-4) var(--legacy-space-4) auto;
6
+ max-width: min(24rem, calc(100vw - var(--legacy-space-4) * 2));
7
+ position: fixed;
8
+ width: 24rem;
9
+ z-index: 1000;
10
+ }
11
+
12
+ .toast-region[data-position="top-left"] {
13
+ inset: var(--legacy-space-4) auto auto var(--legacy-space-4);
14
+ }
15
+
16
+ .toast-region[data-position="top-right"] {
17
+ inset: var(--legacy-space-4) var(--legacy-space-4) auto auto;
18
+ }
19
+
20
+ .toast-region[data-position="bottom-left"] {
21
+ inset: auto auto var(--legacy-space-4) var(--legacy-space-4);
22
+ }
23
+
24
+ .toast {
25
+ background: var(--legacy-info-bg);
26
+ border: 1px solid var(--legacy-info-border);
27
+ border-radius: var(--legacy-radius);
28
+ box-shadow: 2px 2px 0 rgb(0 0 0 / 20%);
29
+ color: var(--legacy-text);
30
+ display: flex;
31
+ gap: var(--legacy-space-2);
32
+ padding: var(--legacy-space-3);
33
+ }
34
+
35
+ .toast-success {
36
+ background: var(--legacy-success-bg);
37
+ border-color: var(--legacy-success-border);
38
+ }
39
+
40
+ .toast-warning {
41
+ background: var(--legacy-warning-bg);
42
+ border-color: var(--legacy-warning-border);
43
+ }
44
+
45
+ .toast-danger {
46
+ background: var(--legacy-danger-bg);
47
+ border-color: var(--legacy-danger-border);
48
+ }
49
+
50
+ .toast-muted {
51
+ background: var(--legacy-surface);
52
+ border-color: var(--legacy-border);
53
+ color: var(--legacy-muted);
54
+ }
55
+
56
+ .toast-body {
57
+ flex: 1 1 auto;
58
+ min-width: 0;
59
+ }
60
+
61
+ .toast-title {
62
+ color: var(--legacy-primary-dark);
63
+ display: block;
64
+ margin: 0 0 var(--legacy-space-1);
65
+ }
66
+
67
+ .toast-close {
68
+ flex: 0 0 auto;
69
+ }
70
+
71
+ @media (width <= 32rem) {
72
+ .toast-region,
73
+ .toast-region[data-position] {
74
+ inset: auto var(--legacy-space-2) var(--legacy-space-2);
75
+ max-width: none;
76
+ width: auto;
77
+ }
78
+ }
@@ -0,0 +1,33 @@
1
+ .toolbar {
2
+ align-items: center;
3
+ background: var(--legacy-surface);
4
+ border: 1px solid var(--legacy-border);
5
+ display: flex;
6
+ flex-wrap: wrap;
7
+ gap: var(--legacy-space-2);
8
+ margin: 0 0 var(--legacy-space-4);
9
+ padding: var(--legacy-space-2);
10
+ }
11
+
12
+ .toolbar-group {
13
+ align-items: center;
14
+ display: inline-flex;
15
+ flex-wrap: wrap;
16
+ gap: var(--legacy-space-1);
17
+ }
18
+
19
+ .toolbar label {
20
+ margin: 0;
21
+ }
22
+
23
+ .toolbar input,
24
+ .toolbar select,
25
+ .toolbar textarea {
26
+ margin: 0;
27
+ width: auto;
28
+ }
29
+
30
+ .toolbar input[type="search"],
31
+ .toolbar input[type="text"] {
32
+ min-width: 12rem;
33
+ }
@@ -0,0 +1,48 @@
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5,
6
+ h6 {
7
+ color: var(--legacy-primary-dark);
8
+ line-height: 1.2;
9
+ margin: 0 0 var(--legacy-space-3);
10
+ }
11
+
12
+ h1 {
13
+ border-bottom: 3px double var(--legacy-border-dark);
14
+ font-size: 1.65rem;
15
+ padding-bottom: var(--legacy-space-2);
16
+ }
17
+
18
+ h2 {
19
+ border-bottom: 1px solid var(--legacy-border);
20
+ font-size: 1.3rem;
21
+ padding-bottom: var(--legacy-space-1);
22
+ }
23
+
24
+ p {
25
+ margin: 0 0 var(--legacy-space-3);
26
+ }
27
+
28
+ a {
29
+ color: var(--legacy-link);
30
+ text-decoration: underline;
31
+ }
32
+
33
+ a:visited {
34
+ color: var(--legacy-link-visited);
35
+ }
36
+
37
+ small,
38
+ figcaption {
39
+ color: var(--legacy-muted);
40
+ font-size: 0.875rem;
41
+ }
42
+
43
+ blockquote {
44
+ background: var(--legacy-surface-raised);
45
+ border-left: 4px solid var(--legacy-border-dark);
46
+ margin: var(--legacy-space-4) 0;
47
+ padding: var(--legacy-space-3) var(--legacy-space-4);
48
+ }