@wwtdev/bsds-css 0.1.0 → 0.2.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.
@@ -1,202 +0,0 @@
1
- .pill {
2
- --pill-background: var(--bs-bg-subtle);
3
- --pill-border: transparent;
4
- --pill-text: var(--bs-royal-400);
5
-
6
- align-items: center;
7
- appearance: none;
8
- background-color: var(--pill-background);
9
- border: 1px solid var(--pill-border);
10
- border-radius: 4px;
11
- color: var(--pill-text);
12
- display: inline-flex;
13
- font-size: var(--bs-text-xs);
14
- gap: 4px;
15
- line-height: 1.33;
16
- padding: 4px 6px;
17
- text-decoration: none;
18
- vertical-align: middle;
19
- }
20
- :where(.dark) .pill {
21
- --pill-text: var(--bs-royal-100);
22
- }
23
- .pill > svg {
24
- height: 1rem;
25
- }
26
-
27
- /* ------------------------------ Button and Link Styles ------------------------------ */
28
- :is(a, button).pill {
29
- color: var(--pill-text);
30
- cursor: pointer;
31
- transition: all 0.15s ease-in-out;
32
- }
33
- :is(a, button).pill:is(:hover, :focus) {
34
- --pill-border: var(--bs-royal-400);
35
-
36
- color: var(--pill-text);
37
- outline: transparent;
38
- }
39
- :where(.dark) :is(a, button).pill:is(:hover, :focus) {
40
- --pill-border: var(--bs-royal-200);
41
- }
42
-
43
- /* ------------------------------ Background Colors ------------------------------ */
44
- :where(.box, [class*="bg-"]:not([class~="bg-white"])) .pill {
45
- --pill-background: var(--bs-bg-base);
46
- }
47
- :where(.box[data-invert]) .pill {
48
- --pill-background: var(--bs-bg-invert-subtle);
49
- --pill-text: var(--bs-gray-100);
50
- }
51
- :where(.box[data-invert]) :is(a, button).pill:is(:hover, :focus) {
52
- --pill-border: var(--bs-gray-100);
53
- }
54
- :where(.dark .box[data-invert]) .pill {
55
- --pill-text: var(--bs-royal-400);
56
- }
57
- :where(.dark .box[data-invert]) :is(a, button).pill:is(:hover, :focus) {
58
- --pill-border: var(--bs-royal-400);
59
- }
60
-
61
- /* ------------------------------ Status Styles ------------------------------ */
62
- .pill:where([data-status]) {
63
- --status-color: var(--bs-blue-400);
64
- }
65
- .pill:where([data-status])::before {
66
- background-color: var(--status-color);
67
- border-radius: 100%;
68
- content: '';
69
- height: 12px;
70
- width: 12px;
71
- }
72
-
73
- /* ----- Status Colors ----- */
74
- .pill:where([data-status^="active"]) {
75
- --status-color: var(--bs-blue-400);
76
- }
77
- .pill:where([data-status^="complete"]) {
78
- --status-color: var(--bs-purple-400);
79
- }
80
- .pill:where([data-status^="inactive"]) {
81
- --status-color: var(--bs-gray-300);
82
- }
83
- .pill:where([data-status^="error"]) {
84
- --status-color: var(--bs-red-400);
85
- }
86
- .pill:where([data-status^="positive"]) {
87
- --status-color: #16986D;
88
- }
89
- .pill:where([data-status^="warning"]) {
90
- --status-color: var(--bs-orange-warning);
91
- }
92
-
93
- /* ------------------------------ Filter Styles ------------------------------ */
94
- .pill:where([data-type^="filter"]) {
95
- --pill-background: var(--bs-bg-base);
96
- --pill-border: var(--bs-border);
97
- --pill-text: var(--bs-ink-base);
98
- }
99
- .pill:where([data-type^="filter"]):is(:hover, :focus) {
100
- --pill-border: var(--bs-border);
101
- }
102
- :is(a, button).pill:where([data-type^="filter"]):is(:hover, :focus) {
103
- --pill-border: var(--bs-ink-base);
104
- }
105
-
106
- /* ----- Filter Add Styles ----- */
107
- /* Black + */
108
- .pill:where([data-type^="filter"][data-type*="add"])::after {
109
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 4.5V8h1V4.5H8v-1H4.5V0h-1v3.5H0v1h3.5Z' fill='%230A0B19'/%3E%3C/svg%3E");
110
- }
111
- /* White + */
112
- :where(.dark) .pill:where([data-type^="filter"][data-type*="add"]):not(:disabled, [aria-disabled="true"])::after{
113
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 4.5V8h1V4.5H8v-1H4.5V0h-1v3.5H0v1h3.5Z' fill='%23ffffff'/%3E%3C/svg%3E");
114
- }
115
-
116
-
117
- /* ----- Filter Remove Styles ----- */
118
- /* Black X */
119
- .pill:where([data-type^="filter"][data-type*="remove"])::after {
120
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%230A0B19'/%3E%3C/svg%3E%0A");
121
- }
122
- /* White X */
123
- :where(.dark) .pill:where([data-type^="filter"][data-type*="remove"]):not(:disabled, [aria-disabled="true"])::after {
124
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23ffffff'/%3E%3C/svg%3E%0A");
125
- }
126
- /* Dark Red X */
127
- .pill:where([data-type^="filter"][data-type*="remove"]):hover::after {
128
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23D91214'/%3E%3C/svg%3E%0A");
129
- }
130
- /* Light Red X */
131
- :where(.dark) .pill:where([data-type^="filter"][data-type*="remove"]):hover::after {
132
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23F15355'/%3E%3C/svg%3E%0A");
133
- }
134
-
135
- /* ----- Filter Active Styles ----- */
136
- .pill:where([data-type^="filter"][data-type*="active"]) {
137
- --pill-background: var(--bs-blue-400);
138
- --pill-border: transparent;
139
- --pill-text: var(--bs-white);
140
- }
141
- .pill:where([data-type^="filter"][data-type*="active"]):is(:hover, :focus) {
142
- --pill-border: transparent;
143
- }
144
- :is(a, button).pill:where([data-type^="filter"][data-type*="active"]):is(:hover, :focus) {
145
- --pill-background: var(--bs-blue-500);
146
- --pill-border: transparent;
147
- }
148
- /* White X */
149
- .pill:where([data-type^="filter"][data-type*="active"])::after {
150
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23fff'/%3E%3C/svg%3E");
151
- }
152
- /* Black X */
153
- .pill:where([data-type^="filter"][data-type*="active"]):where(:disabled, [aria-disabled="true"])::after {
154
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%230A0B19'/%3E%3C/svg%3E%0A");
155
- }
156
-
157
- /* ------------------------------ Restricted Styles ------------------------------ */
158
- .pill:where([data-type^="restricted"]) {
159
- --pill-background: var(--bs-gray-400);
160
- --pill-text: var(--bs-white);
161
- }
162
- .pill:where([data-type^="restricted"]):hover {
163
- --pill-border: transparent;
164
- }
165
- .pill:where([data-type^="restricted"])::before {
166
- content: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 8 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.25 4.5H7v3.715a.34.34 0 0 1-.37.285H1V5.285A.34.34 0 0 1 1.37 5h5a.25.25 0 0 0 .25-.25V3.275A2.545 2.545 0 0 0 4 1a2.55 2.55 0 0 0-2.625 2.29L1.39 4.5a.83.83 0 0 0-.89.785V8.75A.25.25 0 0 0 .75 9h5.88a.835.835 0 0 0 .87-.785V4.75a.25.25 0 0 0-.25-.25Zm-2.225 0H2.96V3.425c0-.035 0-.845 1.03-.845a.96.96 0 0 1 1.035.8V4.5ZM4 1.5a2.045 2.045 0 0 1 2.115 1.79V4.5h-.59V3.37A1.455 1.455 0 0 0 4 2.075a1.385 1.385 0 0 0-1.53 1.35V4.5h-.58V3.31A2.045 2.045 0 0 1 4 1.5Zm-.495 4.25H1.5v.5h2.005v-.5Zm-2.005 1h1.505v.5H1.5v-.5Z' fill='%23F0F0FA'/%3E%3C/svg%3E");
167
- line-height: 1.1;
168
- }
169
- :where(.dark) .pill:where([data-type^="restricted"]) {
170
- --pill-background: var(--bs-navy-300);
171
- --pill-text: var(--bs-white);
172
- }
173
-
174
- /* ------------------------------ Live Now Styles ------------------------------ */
175
- .pill:where([data-type^="live"]) {
176
- --pill-background: var(--bs-royal-400);
177
- --pill-text: var(--bs-white);
178
- text-transform: uppercase;
179
- }
180
- .pill:where([data-type^="live"]):hover {
181
- --pill-border: transparent;
182
- }
183
- .pill:where([data-type^="live"])::before {
184
- background-color: var(--bs-red-400);
185
- border: 3px solid var(--bs-white);
186
- border-radius: 100%;
187
- content: '';
188
- height: 12px;
189
- width: 12px;
190
- }
191
-
192
- /* ----- Disabled Styles ----- */
193
- .pill:is(:disabled, [aria-disabled="true"]) {
194
- pointer-events: none;
195
- color: var(--bs-gray-400);
196
- background-color: var(--bs-gray-200);
197
- }
198
-
199
- .pill:where([data-type^="filter"]):not([data-type*="active"]):is(:disabled, [aria-disabled="true"]) {
200
- --pill-border: var(--bs-gray-400);
201
- }
202
-
@@ -1,95 +0,0 @@
1
- :where(.profile-img),
2
- :where(.profile-img[data-img-size^='sm']) {
3
- --profile-size: 2rem;
4
- --profile-text: var(--bs-text-sm);
5
-
6
- aspect-ratio: 1/1;
7
- border-radius: 50%;
8
- height: var(--profile-size);
9
- overflow: hidden;
10
- position: relative;
11
- width: var(--profile-size);
12
- }
13
-
14
- :where(.profile-img img) {
15
- height: 100%;
16
- object-fit: cover;
17
- width: 100%;
18
- }
19
- :where(.profile-img[data-no-img="true"]) img {
20
- display: none;
21
- }
22
-
23
- :where(.profile-img)::before,
24
- :where(.profile-img)::after {
25
- border-radius: 50%;
26
- border-collapse: collapse;
27
- height: 100%;
28
- inset: 0;
29
- position:absolute;
30
- width: 100%;
31
- }
32
- /* Shadow */
33
- :where(.profile-img)::before {
34
- box-shadow: var(--bs-shadow-profilePhoto);
35
- content: '';
36
- }
37
- :where(.profile-img[data-no-img="true"])::before {
38
- display: none;
39
- }
40
- /* Initials */
41
- :where(.profile-img[data-no-img="true"])::after {
42
- border: 1px solid currentColor;
43
- color: var(--bs-blue-500);
44
- content: attr(data-initials);
45
- font-size: var(--profile-text);
46
- text-transform: uppercase;
47
- display: grid;
48
- place-items: center;
49
- }
50
-
51
- /* Profile Sizes */
52
- :where([data-img-size^='xs']) {
53
- --profile-size: 1.5rem;
54
- --profile-text: var(--bs-text-xs);
55
- }
56
- :where([data-img-size^='md']) {
57
- --profile-size: 3rem;
58
- --profile-text: var(--bs-text-md);
59
- }
60
- :where([data-img-size^='lg']) {
61
- --profile-size: 4rem;
62
- --profile-text: var(--bs-text-lg);
63
- }
64
- :where([data-img-size^='xl']) {
65
- --profile-size: 5.75rem;
66
- --profile-text: var(--bs-text-xl);
67
- }
68
-
69
- /* Profile with User Details */
70
- :where(.profile[data-layout]),
71
- :where(.profile[data-layout^='vertical']) {
72
- display: grid;
73
- row-gap: 0.5rem;
74
- }
75
-
76
- :where(.profile[data-layout^='horizontal']) {
77
- column-gap: 1rem;
78
- grid-template-columns: auto 1fr;
79
- }
80
-
81
- :where(.profile-content) {
82
- color: var(--bs-ink-light);
83
- font-size: var(--bs-text-xs);
84
- }
85
-
86
- :where(.profile[data-layout]:hover .profile-content > *:first-child) {
87
- --profile-ink-hover: var(--bs-blue-500);
88
-
89
- color: var(--profile-ink-hover);
90
- text-decoration: underline;
91
- }
92
-
93
- .dark :where(.profile[data-layout]:hover .profile-content > *:first-child) {
94
- --profile-ink-hover: var(--bs-blue-200);
95
- }
@@ -1,80 +0,0 @@
1
- table {
2
- border-collapse: collapse;
3
- border-spacing: 0;
4
- overflow-x: auto;
5
- max-width: 100%;
6
- width: 100%;
7
- }
8
- thead {
9
- color: var(--bs-ink-base);
10
- font-size: var(--bs-font-base);
11
- font-weight: 600;
12
- }
13
- tbody {
14
- color: var(--bs-ink-light);
15
- }
16
- th {
17
- background: var(--bs-bg-base);
18
- }
19
- th, td {
20
- border-bottom: 1px solid var(--bs-border);
21
- min-width: fit-content;
22
- padding: var(--bs-space-2);
23
- text-align: left;
24
- }
25
-
26
- /* Table Borders */
27
- table[data-borders^="none"] {
28
- border: 0;
29
- }
30
- table[data-borders^="all"] :where(th, td) {
31
- border-left: 1px solid var(--bs-border);
32
- }
33
- table[data-borders^="all"] :where(th, td):last-child {
34
- border-right: 1px solid var(--bs-border);
35
- }
36
- table[data-borders^="all"] th {
37
- border-top: 1px solid var(--bs-border);
38
- }
39
-
40
- /* Table Rows */
41
- table:where([data-rows^="striped"]) tbody > tr:nth-child(even) {
42
- background-color: var(--bs-bg-subtle);
43
- }
44
-
45
- /* Table Cells */
46
- table[data-cells^="fixed"] {
47
- table-layout: fixed;
48
- }
49
- table:where([data-cells^="height"]) td {
50
- height: 4.5rem;
51
- vertical-align: middle;
52
- }
53
-
54
- /* Sticky Header */
55
- table:where([data-sticky]) {
56
- isolation: isolate;
57
- }
58
- table:where([data-sticky^="top"]) td {
59
- z-index: 1;
60
- }
61
- table:where([data-sticky^="top"]) {
62
- border-collapse: separate;
63
- overflow-y: unset; /* Will break sticky headers if removed */
64
- position: relative;
65
- }
66
- table:where([data-sticky^="left"]) {
67
- border-collapse: separate;
68
- overflow-x: unset; /* Will break sticky headers if removed */
69
- position: relative;
70
- }
71
- table:where([data-sticky^="top"]) th {
72
- position: sticky;
73
- top: var(--bs-content-top);
74
- z-index: 2;
75
- }
76
- table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
77
- position: sticky;
78
- left: 0;
79
- z-index: 2;
80
- }