@inc2734/unitone-css 1.2.1 → 1.3.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/dist/app.css +1 -1
- package/dist/layout-primitives/both-sides/react.js +1 -1
- package/dist/layout-primitives/center/react.js +1 -1
- package/dist/layout-primitives/cluster/react.js +1 -1
- package/dist/layout-primitives/container/react.js +1 -1
- package/dist/layout-primitives/decorator/react.js +1 -1
- package/dist/layout-primitives/gutters/react.js +1 -1
- package/dist/layout-primitives/layers/react.js +1 -1
- package/dist/layout-primitives/marquee/react.js +1 -1
- package/dist/layout-primitives/reel/react.js +1 -1
- package/dist/layout-primitives/responsive-grid/react.js +1 -1
- package/dist/layout-primitives/stack/react.js +1 -1
- package/dist/layout-primitives/switcher/react.js +1 -1
- package/dist/layout-primitives/text/react.js +1 -1
- package/dist/layout-primitives/texture/react.js +1 -1
- package/dist/layout-primitives/vertical-ends/react.js +1 -1
- package/package.json +1 -1
- package/src/behaviors/_fluid-reference.scss +26 -0
- package/src/behaviors/_index.scss +2 -0
- package/src/layout-primitives/both-sides/index.jsx +12 -1
- package/src/layout-primitives/center/index.jsx +11 -1
- package/src/layout-primitives/cluster/index.jsx +4 -0
- package/src/layout-primitives/container/index.jsx +12 -1
- package/src/layout-primitives/decorator/index.jsx +2 -0
- package/src/layout-primitives/gutters/index.jsx +7 -2
- package/src/layout-primitives/layers/index.jsx +4 -0
- package/src/layout-primitives/marquee/index.jsx +13 -1
- package/src/layout-primitives/reel/index.jsx +12 -1
- package/src/layout-primitives/responsive-grid/index.jsx +4 -0
- package/src/layout-primitives/stack/index.jsx +4 -0
- package/src/layout-primitives/switcher/index.jsx +4 -0
- package/src/layout-primitives/text/index.jsx +4 -0
- package/src/layout-primitives/texture/index.jsx +8 -1
- package/src/layout-primitives/vertical-ends/index.jsx +10 -1
- package/src/settings/_root.scss +14 -90
- package/src/variables/_index.scss +131 -2
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
|
|
1
3
|
$fibonacci-sequence: 1, 2, 3, 5, 8, 13, 21, 34, 55;
|
|
2
4
|
|
|
3
5
|
$min-breakpoint: 27; // = 432px
|
|
@@ -5,6 +7,54 @@ $max-breakpoint: 80; // = 1280px
|
|
|
5
7
|
|
|
6
8
|
$root-font-size: var(--unitone--root-font-size);
|
|
7
9
|
|
|
10
|
+
$font-sizes: (
|
|
11
|
+
-3: 2xs,
|
|
12
|
+
-2: xs,
|
|
13
|
+
-1: s,
|
|
14
|
+
0: m,
|
|
15
|
+
1: l,
|
|
16
|
+
2: xl,
|
|
17
|
+
3: 2xl,
|
|
18
|
+
4: 3xl,
|
|
19
|
+
5: 4xl,
|
|
20
|
+
6: 5xl,
|
|
21
|
+
7: 6xl,
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
@function generate-global-gutters($context: 'viewport') {
|
|
25
|
+
$width: var(--unitone--property--100vw);
|
|
26
|
+
@if $context == 'container' {
|
|
27
|
+
$width: var(--unitone--property--100cqw);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@return max(min(#{ $width } * .06, var(--unitone--rem2)), env(safe-area-inset-right), env(safe-area-inset-left));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@function generate-fluid-spacing($min, $max, $context: 'viewport') {
|
|
34
|
+
$width: var(--unitone--result--100vw-px);
|
|
35
|
+
@if $context == 'container' {
|
|
36
|
+
$width: var(--unitone--result--100cqw-px);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@return clamp(
|
|
40
|
+
#{ $min },
|
|
41
|
+
#{ $min } + ((#{ $max } - #{ $min }) / (#{ $max-breakpoint - $min-breakpoint } * var(--unitone--result--1rem-px)) * (#{ $width } - (#{ $min-breakpoint } * var(--unitone--result--1rem-px)))),
|
|
42
|
+
#{ $max }
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@function generate-spacing($max, $context: 'viewport') {
|
|
47
|
+
$quotient: math.div($min-breakpoint, $max-breakpoint);
|
|
48
|
+
$min: calc(var(--unitone--em1) + #{ $max } * #{ $quotient });
|
|
49
|
+
@return generate-fluid-spacing(#{ $min }, #{ $max }, $context);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@function generate-padding($max, $context: 'viewport') {
|
|
53
|
+
$quotient: math.div($min-breakpoint, $max-breakpoint);
|
|
54
|
+
$min: calc(var(--unitone--em1) + #{ $max } * #{ $quotient } * .2);
|
|
55
|
+
@return generate-fluid-spacing(#{ $min }, #{ $max }, $context);
|
|
56
|
+
}
|
|
57
|
+
|
|
8
58
|
@function _max-font-size($level) {
|
|
9
59
|
@return calc(var(--unitone--harmonic-sequence-base) / (var(--unitone--max-harmonic-sequence-base) - (#{ $level })));
|
|
10
60
|
}
|
|
@@ -21,12 +71,17 @@ $root-font-size: var(--unitone--root-font-size);
|
|
|
21
71
|
@return calc(#{ _font-size-scale($level) } * 1rem);
|
|
22
72
|
}
|
|
23
73
|
|
|
24
|
-
@function font-size-fluid($level) {
|
|
74
|
+
@function font-size-fluid($level, $context: 'viewport') {
|
|
75
|
+
$width: 100vw;
|
|
76
|
+
@if $context == 'container' {
|
|
77
|
+
$width: var(--unitone--property--100cqw);
|
|
78
|
+
}
|
|
79
|
+
|
|
25
80
|
$max-font-size: _max-font-size($level);
|
|
26
81
|
$min-font-size: _min-font-size($level);
|
|
27
82
|
$slope: calc((#{ $max-font-size } - #{ $min-font-size }) / (#{ $max-breakpoint - $min-breakpoint }));
|
|
28
83
|
$intercept: calc(#{-1 * $min-breakpoint } * #{ $slope } + #{ $min-font-size });
|
|
29
|
-
$preferred-font-size: calc((#{ $intercept } * 1rem) + (#{ $slope } *
|
|
84
|
+
$preferred-font-size: calc((#{ $intercept } * 1rem) + (#{ $slope } * #{ $width }));
|
|
30
85
|
|
|
31
86
|
@return clamp(var(--unitone--fluid-typography-min-length, calc(1rem * #{ $min-font-size })), #{ $preferred-font-size }, var(--unitone--fluid-typography-max-length, calc(1rem * #{ $max-font-size })));
|
|
32
87
|
}
|
|
@@ -81,3 +136,77 @@ $_line-height: clamp(
|
|
|
81
136
|
$container-max-width: $max-breakpoint * 16px; // = 1280px
|
|
82
137
|
$grid-columns: 12;
|
|
83
138
|
$grid-rows: 7;
|
|
139
|
+
|
|
140
|
+
@mixin spacing-tokens($context: 'viewport') {
|
|
141
|
+
@if $context == 'viewport' {
|
|
142
|
+
--unitone--s-3: var(--unitone--em-3);
|
|
143
|
+
--unitone--s-2: var(--unitone--em-2);
|
|
144
|
+
--unitone--s-1: var(--unitone--em-1);
|
|
145
|
+
--unitone--s0: var(--unitone--em0);
|
|
146
|
+
--unitone--s1: var(--unitone--em1);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
--unitone--s2: #{ generate-spacing(var(--unitone--em2), $context) };
|
|
150
|
+
--unitone--s3: #{ generate-spacing(var(--unitone--em3), $context) };
|
|
151
|
+
--unitone--s4: #{ generate-spacing(var(--unitone--em4), $context) };
|
|
152
|
+
--unitone--s5: #{ generate-spacing(var(--unitone--em5), $context) };
|
|
153
|
+
--unitone--s6: #{ generate-spacing(var(--unitone--em6), $context) };
|
|
154
|
+
--unitone--s7: #{ generate-spacing(var(--unitone--em7), $context) };
|
|
155
|
+
|
|
156
|
+
--unitone--s1s: #{ generate-fluid-spacing(var(--unitone--em-1), var(--unitone--em1), $context) };
|
|
157
|
+
--unitone--s2s: #{ generate-fluid-spacing(var(--unitone--em-1), var(--unitone--em2), $context) };
|
|
158
|
+
--unitone--s3s: #{ generate-fluid-spacing(var(--unitone--em-1), var(--unitone--em3), $context) };
|
|
159
|
+
--unitone--s4s: #{ generate-fluid-spacing(var(--unitone--em-1), var(--unitone--em4), $context) };
|
|
160
|
+
--unitone--s5s: #{ generate-fluid-spacing(var(--unitone--em-1), var(--unitone--em5), $context) };
|
|
161
|
+
--unitone--s6s: #{ generate-fluid-spacing(var(--unitone--em-1), var(--unitone--em6), $context) };
|
|
162
|
+
--unitone--s7s: #{ generate-fluid-spacing(var(--unitone--em-1), var(--unitone--em7), $context) };
|
|
163
|
+
|
|
164
|
+
--unitone--s2m: #{ generate-fluid-spacing(var(--unitone--em1), var(--unitone--em2), $context) };
|
|
165
|
+
--unitone--s3m: #{ generate-fluid-spacing(var(--unitone--em1), var(--unitone--em3), $context) };
|
|
166
|
+
--unitone--s4m: #{ generate-fluid-spacing(var(--unitone--em1), var(--unitone--em4), $context) };
|
|
167
|
+
--unitone--s5m: #{ generate-fluid-spacing(var(--unitone--em1), var(--unitone--em5), $context) };
|
|
168
|
+
--unitone--s6m: #{ generate-fluid-spacing(var(--unitone--em1), var(--unitone--em6), $context) };
|
|
169
|
+
--unitone--s7m: #{ generate-fluid-spacing(var(--unitone--em1), var(--unitone--em7), $context) };
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
@mixin padding-tokens($context: 'viewport') {
|
|
173
|
+
@if $context == 'viewport' {
|
|
174
|
+
--unitone--p-3: var(--unitone--em-3);
|
|
175
|
+
--unitone--p-2: var(--unitone--em-2);
|
|
176
|
+
--unitone--p-1: var(--unitone--em-1);
|
|
177
|
+
--unitone--p0: var(--unitone--em0);
|
|
178
|
+
--unitone--p1: var(--unitone--em1);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
--unitone--p2: #{ generate-padding(var(--unitone--em2), $context) };
|
|
182
|
+
--unitone--p3: #{ generate-padding(var(--unitone--em3), $context) };
|
|
183
|
+
--unitone--p4: #{ generate-padding(var(--unitone--em4), $context) };
|
|
184
|
+
--unitone--p5: #{ generate-padding(var(--unitone--em5), $context) };
|
|
185
|
+
--unitone--p6: #{ generate-padding(var(--unitone--em6), $context) };
|
|
186
|
+
--unitone--p7: #{ generate-padding(var(--unitone--em7), $context) };
|
|
187
|
+
|
|
188
|
+
--unitone--p1s: var(--unitone--s1s);
|
|
189
|
+
--unitone--p2s: var(--unitone--s2s);
|
|
190
|
+
--unitone--p3s: var(--unitone--s3s);
|
|
191
|
+
--unitone--p4s: var(--unitone--s4s);
|
|
192
|
+
--unitone--p5s: var(--unitone--s5s);
|
|
193
|
+
--unitone--p6s: var(--unitone--s6s);
|
|
194
|
+
--unitone--p7s: var(--unitone--s7s);
|
|
195
|
+
|
|
196
|
+
--unitone--p2m: var(--unitone--s2m);
|
|
197
|
+
--unitone--p3m: var(--unitone--s3m);
|
|
198
|
+
--unitone--p4m: var(--unitone--s4m);
|
|
199
|
+
--unitone--p5m: var(--unitone--s5m);
|
|
200
|
+
--unitone--p6m: var(--unitone--s6m);
|
|
201
|
+
--unitone--p7m: var(--unitone--s7m);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
@mixin font-size-tokens($context: 'viewport') {
|
|
205
|
+
@each $level, $name in $font-sizes {
|
|
206
|
+
@if $context == 'viewport' {
|
|
207
|
+
--unitone--font-size-#{ $name }: #{ font-size-rem($level) };
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
--unitone--font-size-#{ $name }-fluid: #{ font-size-fluid($level, $context) };
|
|
211
|
+
}
|
|
212
|
+
}
|