@splendidlabz/styles 4.9.0 → 4.10.1

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,18 +1,61 @@
1
+ /* For linear/conic gradient */
1
2
  @property --gradient-angle {
2
- syntax: '*';
3
- initial-value: to bottom;
4
- inherits: false;
3
+ syntax: '<angle> | <custom-ident>+';
4
+ initial-value: 180deg;
5
+ inherits: true;
6
+ }
7
+
8
+ /* For radial gradient. */
9
+ @property --gradient-shape {
10
+ syntax: 'circle | ellipse';
11
+ initial-value: ellipse;
12
+ inherits: true;
13
+ }
14
+
15
+ /* For radial/conic gradient */
16
+ @property --gradient-position {
17
+ syntax: '<length-percentage>+ | <custom-ident>+';
18
+ initial-value: 50% 50%;
19
+ inherits: true;
20
+ }
21
+
22
+ /* For radial-gradient */
23
+ @property --gradient-size {
24
+ syntax: '<length-percentage>+ | closest-side | closest-corner | farthest-side | farthest-corner';
25
+ initial-value: farthest-corner;
26
+ inherits: true;
27
+ }
28
+
29
+ /*********************
30
+ * Custom functions - Useful when @functions have baseline support *
31
+ *********************/
32
+ @function --linear-gradient(--gradient) {
33
+ result: linear-gradient(
34
+ var(--gradient-angle) in var(--color-space) var(--hue-interpolation),
35
+ var(--gradient, var(--tw-gradient))
36
+ );
37
+ }
38
+
39
+ @function --radial-gradient(--gradient) {
40
+ result: radial-gradient(
41
+ var(--gradient-shape) var(--gradient-size) at var(--gradient-position) in
42
+ var(--color-space) var(--hue-interpolation),
43
+ var(--gradient, var(--tw-gradient))
44
+ );
45
+ }
46
+
47
+ @function --conic-gradient(--gradient) {
48
+ result: conic-gradient(
49
+ from var(--gradient-angle) at var(--gradient-position) in var(--color-space)
50
+ var(--hue-interpolation),
51
+ var(--gradient, var(--tw-gradient))
52
+ );
5
53
  }
6
54
 
7
55
  /* Gradient Defaults */
8
56
  @layer base {
9
57
  :root {
10
58
  /* --gradient: ; */
11
- --gradient-alpha: 1;
12
- --gradient-angle: to bottom;
13
- --gradient-position: center; /* For radial and conic gradients */
14
- --gradient-shape: ; /* For radial and conic gradients */
15
- --gradient-size: ; /* For radial gradient */
16
59
  --color-space: oklch;
17
60
  --hue-interpolation: ;
18
61
  }
@@ -32,13 +75,6 @@
32
75
  );
33
76
  }
34
77
 
35
- @function --linear-gradient(--gradient) {
36
- result: linear-gradient(
37
- var(--gradient-angle) in var(--color-space) var(--hue-interpolation),
38
- var(--gradient)
39
- );
40
- }
41
-
42
78
  @utility linear-gradient {
43
79
  @apply gradient;
44
80
  }
@@ -48,15 +84,16 @@
48
84
  background-image: radial-gradient(
49
85
  var(--gradient-shape) var(--gradient-size) at var(--gradient-position) in
50
86
  var(--color-space) var(--hue-interpolation),
51
- var(--tw-gradient-stops, var(--gradient))
87
+ var(--gradient, var(--tw-gradient))
52
88
  );
53
89
  }
54
90
 
55
91
  @utility conic-gradient {
56
92
  @apply tw-gradient;
57
93
  background-image: conic-gradient(
58
- from var(--gradient-angle) at var(--gradient-position),
59
- var(--tw-gradient-stops, var(--gradient))
94
+ from var(--gradient-angle) at var(--gradient-position) in var(--color-space)
95
+ var(--hue-interpolation),
96
+ var(--gradient, var(--tw-gradient))
60
97
  );
61
98
  }
62
99
 
@@ -134,3 +171,7 @@
134
171
  @utility gradient-shape-* {
135
172
  --gradient-shape: --value([shape]);
136
173
  } */
174
+
175
+ @utility gradient-* {
176
+ --gradient-shape: --value('circle', 'ellipse');
177
+ }
@@ -1,13 +1,132 @@
1
- /* .highlight-underline {
2
- } */
3
-
4
- @utility highlight-bg {
5
- & {
6
- /* line-height: 1; */
7
- background-image: linear-gradient(
8
- transparent 0 var(--highlight-start, 0),
9
- var(--highlight-color) var(--highlight-start, 0) var(--highlight-end, 1lh),
10
- transparent var(--highlight-end, 1lh)
1
+ @theme {
2
+ --highlight-start: 0lh;
3
+ --highlight-end: 1lh;
4
+ --highlight-skew: 0em;
5
+ --highlight-padding: 0em;
6
+ --highlight-left-dir: to bottom right;
7
+ --highlight-right-dir: to top left;
8
+ }
9
+
10
+ @utility highlight {
11
+ --_highlight-height: calc(var(--highlight-end) - var(--highlight-start));
12
+ display: inline;
13
+ margin-inline: calc(var(--highlight-skew) * -1);
14
+ padding-inline: calc(var(--highlight-skew) + var(--highlight-padding));
15
+ background-image:
16
+ linear-gradient(
17
+ var(--highlight-left-dir),
18
+ transparent 50%,
19
+ var(--gradient-start, var(--highlight-color)) 50%
20
+ ),
21
+ linear-gradient(
22
+ var(--gradient-angle, 90deg),
23
+ var(--gradient-start, var(--highlight-color)),
24
+ var(--gradient-end, var(--highlight-color))
25
+ ),
26
+ linear-gradient(
27
+ var(--highlight-right-dir),
28
+ transparent 50%,
29
+ var(--gradient-end, var(--highlight-color)) 50%
11
30
  );
31
+ background-position:
32
+ left var(--highlight-start),
33
+ center var(--highlight-start),
34
+ right var(--highlight-start);
35
+ background-size:
36
+ var(--highlight-skew) var(--_highlight-height),
37
+ calc(100% - var(--highlight-skew) * 2 + 1px) var(--_highlight-height),
38
+ var(--highlight-skew) var(--_highlight-height);
39
+ background-repeat: no-repeat;
40
+ box-decoration-break: clone;
41
+ }
42
+
43
+ @utility highlight-* {
44
+ /* highlight-color */
45
+ --highlight-color: --value(--color-*, [color]);
46
+ --highlight-color: oklch(
47
+ from --value(--color-*, [color]) l c h / --modifier(integer) %
48
+ );
49
+ }
50
+
51
+ /* prettier-ignore */
52
+ @utility highlight-start-* {
53
+ --highlight-start: --value([length]);
54
+ --highlight-start: --value(number)lh;
55
+
56
+ }
57
+
58
+ /* prettier-ignore */
59
+ @utility highlight-end-* {
60
+ --highlight-end: --value([length]);
61
+ --highlight-end: --value(number)lh;
62
+ }
63
+
64
+ @utility highlight-before {
65
+ &::before {
66
+ content: '';
67
+ position: absolute;
68
+ inset: var(--highlight-start, 0.24lh)
69
+ calc(var(--highlight-padding, 0.25em) * -1)
70
+ calc(100% - var(--highlight-end, 0.62lh))
71
+ calc(var(--highlight-padding, 0.25em) * -1);
72
+ z-index: -1;
73
+ background: var(--highlight-color);
74
+ transform: rotate(var(--highlight-rotate));
12
75
  }
13
76
  }
77
+
78
+ /* PATTERNS */
79
+ /* Parallelogram leaning right: / / — classic marker skew */
80
+ @utility highlight-marker {
81
+ --highlight-skew: 0.25em;
82
+ --highlight-left-dir: to bottom right;
83
+ --highlight-right-dir: to top left;
84
+ }
85
+
86
+ /* Parallelogram leaning left: \ \ — mirror of marker */
87
+ @utility highlight-marker-alt {
88
+ --highlight-skew: 0.25em;
89
+ --highlight-left-dir: to top right;
90
+ --highlight-right-dir: to bottom left;
91
+ }
92
+
93
+ /* Trapezium wider at top: \___/ — sticker / index-tab feel */
94
+ @utility highlight-tab {
95
+ --highlight-skew: 0.25em;
96
+ --highlight-left-dir: to top left;
97
+ --highlight-right-dir: to top right;
98
+ }
99
+
100
+ /* Trapezium wider at bottom: /‾‾‾\ — badge / stamp feel */
101
+ @utility highlight-stamp {
102
+ --highlight-skew: 0.25em;
103
+ --highlight-left-dir: to bottom right;
104
+ --highlight-right-dir: to bottom left;
105
+ }
106
+
107
+ /* LEGACY */
108
+
109
+ .highlight-others {
110
+ --mark-color: #f8db75;
111
+ --mark-skew: 0.25em;
112
+ --mark-height: 1em;
113
+ --mark-overlap: 0.3em;
114
+ margin-inline: calc(var(--mark-overlap) * -1);
115
+ padding-inline: var(--mark-overlap);
116
+ color: inherit;
117
+ background-color: transparent;
118
+ background-image:
119
+ linear-gradient(to bottom right, transparent 50%, var(--mark-color) 50%),
120
+ linear-gradient(var(--mark-color), var(--mark-color)),
121
+ linear-gradient(to top left, transparent 50%, var(--mark-color) 50%);
122
+ background-position:
123
+ left center,
124
+ center,
125
+ right center;
126
+ background-size:
127
+ var(--mark-skew) var(--mark-height),
128
+ calc(100% - var(--mark-skew) * 2 + 1px) var(--mark-height),
129
+ var(--mark-skew) var(--mark-height);
130
+ background-repeat: no-repeat;
131
+ box-decoration-break: clone;
132
+ }
@@ -1,6 +1,8 @@
1
1
  @import './elevation.css';
2
2
  @import './gradients.css';
3
3
  @import './fancybox.css';
4
+ @import './bezel.css';
5
+ @import './testgb.css';
4
6
  @import './highlight.css';
5
7
  @import './shadows.css';
6
8
  @import './text.css';
@@ -1,18 +1,12 @@
1
1
  /* From https://css-tip.com/inner-border/ */
2
2
  /* Needs testing */
3
3
  @utility inner-border {
4
- & {
5
- --offset: 20px; /* offset of the border */
6
- --border-width: 5px; /* border thickness */
7
- mask:
8
- conic-gradient(#000 0 0) no-repeat 50% /
9
- calc(100% - 2 * (var(--offset) + var(--border-width)))
10
- calc(100% - 2 * (var(--offset) + var(--border-width))),
11
- conic-gradient(
12
- from 90deg at var(--offset) var(--offset),
13
- #0000 25%,
14
- #000 0
15
- )
16
- 0 0 / calc(100% - var(--offset)) calc(100% - var(--offset));
17
- }
4
+ --offset: 20px; /* offset of the border */
5
+ --border-width: 5px; /* border thickness */
6
+ mask:
7
+ conic-gradient(#000 0 0) no-repeat 50% /
8
+ calc(100% - 2 * (var(--offset) + var(--border-width)))
9
+ calc(100% - 2 * (var(--offset) + var(--border-width))),
10
+ conic-gradient(from 90deg at var(--offset) var(--offset), #0000 25%, #000 0)
11
+ 0 0 / calc(100% - var(--offset)) calc(100% - var(--offset));
18
12
  }
@@ -15,6 +15,107 @@
15
15
  * --drop-shadow-color: transparent;
16
16
  *********************/
17
17
 
18
+ /*********************
19
+ * Typed properties (animatable)
20
+ * Blur vars are intentionally NOT typed — elevation.css relies on
21
+ * `var(--shadow-blur, max(...))` fallback firing when unset.
22
+ *********************/
23
+ @property --shadow-x {
24
+ syntax: '<length>';
25
+ initial-value: 0;
26
+ inherits: true;
27
+ }
28
+
29
+ @property --shadow-y {
30
+ syntax: '<length>';
31
+ initial-value: 0;
32
+ inherits: true;
33
+ }
34
+
35
+ @property --shadow-spread {
36
+ syntax: '<length>';
37
+ initial-value: 0;
38
+ inherits: true;
39
+ }
40
+
41
+ @property --shadow-color {
42
+ syntax: '<color>';
43
+ initial-value: transparent;
44
+ inherits: true;
45
+ }
46
+
47
+ @property --shadow-alpha {
48
+ syntax: '<number> | <percentage>';
49
+ initial-value: 1;
50
+ inherits: true;
51
+ }
52
+
53
+ @property --shadow-x-multiple {
54
+ syntax: '<number>';
55
+ initial-value: 1;
56
+ inherits: true;
57
+ }
58
+
59
+ @property --shadow-y-multiple {
60
+ syntax: '<number>';
61
+ initial-value: 1;
62
+ inherits: true;
63
+ }
64
+
65
+ @property --shadow-spread-multiple {
66
+ syntax: '<number>';
67
+ initial-value: 1;
68
+ inherits: true;
69
+ }
70
+
71
+ @property --text-shadow-x {
72
+ syntax: '<length>';
73
+ initial-value: 0;
74
+ inherits: true;
75
+ }
76
+
77
+ @property --text-shadow-y {
78
+ syntax: '<length>';
79
+ initial-value: 0;
80
+ inherits: true;
81
+ }
82
+
83
+ @property --text-shadow-color {
84
+ syntax: '<color>';
85
+ initial-value: currentcolor;
86
+ inherits: true;
87
+ }
88
+
89
+ @property --text-shadow-alpha {
90
+ syntax: '<number> | <percentage>';
91
+ initial-value: 1;
92
+ inherits: true;
93
+ }
94
+
95
+ @property --drop-shadow-x {
96
+ syntax: '<length>';
97
+ initial-value: 0;
98
+ inherits: true;
99
+ }
100
+
101
+ @property --drop-shadow-y {
102
+ syntax: '<length>';
103
+ initial-value: 0;
104
+ inherits: true;
105
+ }
106
+
107
+ @property --drop-shadow-color {
108
+ syntax: '<color>';
109
+ initial-value: transparent;
110
+ inherits: true;
111
+ }
112
+
113
+ @property --drop-shadow-alpha {
114
+ syntax: '<number> | <percentage>';
115
+ initial-value: 1;
116
+ inherits: true;
117
+ }
118
+
18
119
  @utility shadowstring {
19
120
  --shadow-string: var(--shadow-inset,) var(--shadow-x, 0) var(--shadow-y, 0)
20
121
  var(--shadow-blur, 0) var(--shadow-spread, 0)
@@ -35,13 +136,18 @@
35
136
 
36
137
  @utility text-shadow {
37
138
  --text-shadow-string: var(--text-shadow-x, 0) var(--text-shadow-y, 0)
38
- var(--text-shadow-blur, 0) var(--text-shadow-color, currentcolor);
139
+ var(--text-shadow-blur, 0)
140
+ oklch(
141
+ from var(--text-shadow-color, currentcolor) l c h /
142
+ var(--text-shadow-alpha, 1)
143
+ );
39
144
  text-shadow: var(--text-shadow, var(--text-shadow-string));
40
145
  }
41
146
 
42
147
  @utility drop-shadow {
43
148
  --drop-shadow-string: var(--drop-shadow-x, 0) var(--drop-shadow-y, 0)
44
- var(--drop-shadow-blur, 0) var(--drop-shadow-color);
149
+ var(--drop-shadow-blur, 0)
150
+ oklch(from var(--drop-shadow-color) l c h / var(--drop-shadow-alpha, 1));
45
151
  filter: drop-shadow(var(--drop-shadow, var(--drop-shadow-string)));
46
152
  }
47
153
 
@@ -53,6 +159,7 @@
53
159
  /* Not required if parent element is inline-flex */
54
160
  top: calc(var(--border-width, 0px) * -1);
55
161
  left: calc(var(--border-width, 0px) * -1);
162
+ z-index: -1;
56
163
  box-sizing: content-box;
57
164
  width: 100%;
58
165
  height: 100%;
@@ -72,15 +179,7 @@
72
179
  @apply shadow-pseudo;
73
180
  }
74
181
 
75
- &:hover,
76
- &:focus-visible,
77
- &:active,
78
- &.selected,
79
- &.checked,
80
- &[aria-current],
81
- &[aria-selected='true'],
82
- &[aria-pressed='true'],
83
- &[aria-expanded='true'] {
182
+ @variant interact {
84
183
  &::before {
85
184
  opacity: 1;
86
185
  }
@@ -95,15 +194,7 @@
95
194
  @apply shadow-pseudo;
96
195
  }
97
196
 
98
- &:hover,
99
- &:focus-visible,
100
- &:active,
101
- &.selected,
102
- &.checked,
103
- &[aria-current],
104
- &[aria-selected='true'],
105
- &[aria-pressed='true'],
106
- &[aria-expanded='true'] {
197
+ @variant interact {
107
198
  &::after {
108
199
  opacity: 1;
109
200
  }
@@ -113,34 +204,56 @@
113
204
  /* Shadow Functional Utilities */
114
205
  /* prettier-ignore */
115
206
  @utility sx-* {
116
- --shadow-x: calc(var(--spacing) * --value(integer));
207
+ --shadow-x: --spacing(--value(number));
208
+ --shadow-x: --value([length]);
209
+ }
210
+
211
+ /* prettier-ignore */
212
+ @utility -sx-* {
213
+ --shadow-x: calc(--spacing(--value(number)) * -1);
117
214
  --shadow-x: --value([length]);
118
215
  }
119
216
 
120
217
  /* prettier-ignore */
121
218
  @utility sy-* {
122
- --shadow-y: calc(var(--spacing) * --value(integer));
219
+ --shadow-y: --spacing(--value(number));
220
+ --shadow-y: --value([length]);
221
+ }
222
+
223
+ /* prettier-ignore */
224
+ @utility -sy-* {
225
+ --shadow-y: calc(--spacing(--value(number)) * -1);
123
226
  --shadow-y: --value([length]);
124
227
  }
125
228
 
229
+ /* prettier-ignore */
126
230
  @utility sb-* {
231
+ --shadow-blur: --spacing(--value(number));
127
232
  --shadow-blur: --value([length]);
128
233
  }
129
234
 
130
235
  /* prettier-ignore */
131
236
  @utility sc-* {
132
237
  --shadow-color: --value(--color-*, [color]);
133
- --shadow-color: oklch(from --value(--color-*, [color]) l c h / --modifier(integer)%);
238
+ --shadow-color: oklch(from --value(--color-*, [color]) l c h / --modifier(number)%);
134
239
  }
135
240
 
241
+ /* prettier-ignore */
136
242
  @utility ss-* {
243
+ --shadow-spread: --spacing(--value(number));
137
244
  --shadow-spread: --value([length]);
138
245
  }
139
246
 
247
+ /* prettier-ignore */
248
+ @utility -ss-* {
249
+ --shadow-spread: calc(--spacing(--value(number)) * -1);
250
+ --shadow-spread: --value([length]);
251
+ }
252
+
253
+ /* prettier-ignore */
140
254
  @utility sa-* {
141
- --shadow-alpha: calc(--value(integer) * 1%);
142
- --shadow-alpha: --value([percentage]);
143
- --shadow-alpha: --value([number]);
255
+ --shadow-alpha: --value(number)%;
256
+ --shadow-alpha: --value([percentage], [number]);
144
257
  }
145
258
 
146
259
  @utility sxm-* {
@@ -163,25 +276,49 @@
163
276
  * Text Shadow Utilities *
164
277
  *********************/
165
278
 
279
+ /* prettier-ignore */
166
280
  @utility tsx-* {
281
+ --text-shadow-x: --spacing(--value(number));
167
282
  --text-shadow-x: --value([length]);
168
283
  }
169
284
 
285
+ /* prettier-ignore */
286
+ @utility -tsx-* {
287
+ --text-shadow-x: calc(--spacing(--value(number)) * -1);
288
+ --text-shadow-x: --value([length]);
289
+ }
290
+
291
+ /* prettier-ignore */
170
292
  @utility tsy-* {
293
+ --text-shadow-y: --spacing(--value(number));
171
294
  --text-shadow-y: --value([length]);
172
295
  }
173
296
 
297
+ /* prettier-ignore */
298
+ @utility -tsy-* {
299
+ --text-shadow-y: calc(--spacing(--value(number)) * -1);
300
+ --text-shadow-y: --value([length]);
301
+ }
302
+
303
+ /* prettier-ignore */
174
304
  @utility tsb-* {
305
+ --text-shadow-blur: --spacing(--value(number));
175
306
  --text-shadow-blur: --value([length]);
176
307
  }
177
308
 
178
309
  @utility tsc-* {
179
310
  --text-shadow-color: --value(--color-*, [color]);
180
311
  --text-shadow-color: oklch(
181
- from --value(--color-*, [color]) l c h / --modifier(integer) %
312
+ from --value(--color-*, [color]) l c h / --modifier(number) %
182
313
  );
183
314
  }
184
315
 
316
+ /* prettier-ignore */
317
+ @utility tsa-* {
318
+ --text-shadow-alpha: --value(number)%;
319
+ --text-shadow-alpha: --value([percentage], [number]);
320
+ }
321
+
185
322
  @utility tsxm-* {
186
323
  --text-shadow-x-multiple: --value([number]);
187
324
  }
@@ -197,27 +334,48 @@
197
334
  /*********************
198
335
  * Drop Shadow Utilities *
199
336
  *********************/
337
+ /* prettier-ignore */
200
338
  @utility dsx-* {
339
+ --drop-shadow-x: --spacing(--value(number));
340
+ --drop-shadow-x: --value([length]);
341
+ }
342
+
343
+ /* prettier-ignore */
344
+ @utility -dsx-* {
345
+ --drop-shadow-x: calc(--spacing(--value(number)) * -1);
201
346
  --drop-shadow-x: --value([length]);
202
347
  }
203
348
 
349
+ /* prettier-ignore */
204
350
  @utility dsy-* {
351
+ --drop-shadow-y: --spacing(--value(number));
352
+ --drop-shadow-y: --value([length]);
353
+ }
354
+
355
+ /* prettier-ignore */
356
+ @utility -dsy-* {
357
+ --drop-shadow-y: calc(--spacing(--value(number)) * -1);
205
358
  --drop-shadow-y: --value([length]);
206
359
  }
207
360
 
361
+ /* prettier-ignore */
208
362
  @utility dsb-* {
363
+ --drop-shadow-blur: --spacing(--value(number));
209
364
  --drop-shadow-blur: --value([length]);
210
365
  }
211
366
 
367
+ /* prettier-ignore */
212
368
  @utility dsc-* {
213
369
  --drop-shadow-color: --value(--color-*, [color]);
214
370
  --drop-shadow-color: oklch(
215
- from --value(--color-*, [color]) l c h / --modifier(integer) %
371
+ from --value(--color-*, [color]) l c h / --modifier(number) %
216
372
  );
217
373
  }
218
374
 
375
+ /* prettier-ignore */
219
376
  @utility dsa-* {
220
- --drop-shadow-alpha: --value([number]);
377
+ --drop-shadow-alpha: --value(number)%;
378
+ --drop-shadow-alpha: --value([percentage], [number]);
221
379
  }
222
380
 
223
381
  @utility dsxm-* {
@@ -231,7 +389,3 @@
231
389
  @utility dsbm-* {
232
390
  --drop-shadow-blur-multiple: --value([number]);
233
391
  }
234
-
235
- @utility dsxm-* {
236
- --drop-shadow-x-multiple: --value([number]);
237
- }