@inc2734/unitone-css 1.2.2 → 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.
Files changed (38) hide show
  1. package/dist/app.css +1 -1
  2. package/dist/layout-primitives/both-sides/react.js +1 -1
  3. package/dist/layout-primitives/center/react.js +1 -1
  4. package/dist/layout-primitives/cluster/react.js +1 -1
  5. package/dist/layout-primitives/container/react.js +1 -1
  6. package/dist/layout-primitives/decorator/react.js +1 -1
  7. package/dist/layout-primitives/gutters/react.js +1 -1
  8. package/dist/layout-primitives/layers/react.js +1 -1
  9. package/dist/layout-primitives/marquee/react.js +1 -1
  10. package/dist/layout-primitives/reel/react.js +1 -1
  11. package/dist/layout-primitives/responsive-grid/react.js +1 -1
  12. package/dist/layout-primitives/stack/react.js +1 -1
  13. package/dist/layout-primitives/switcher/react.js +1 -1
  14. package/dist/layout-primitives/text/react.js +1 -1
  15. package/dist/layout-primitives/texture/react.js +1 -1
  16. package/dist/layout-primitives/vertical-ends/react.js +1 -1
  17. package/package.json +1 -1
  18. package/src/behaviors/_fluid-reference.scss +26 -0
  19. package/src/behaviors/_font-size.scss +0 -9
  20. package/src/behaviors/_index.scss +2 -0
  21. package/src/layout-primitives/both-sides/index.jsx +12 -1
  22. package/src/layout-primitives/center/index.jsx +11 -1
  23. package/src/layout-primitives/cluster/index.jsx +4 -0
  24. package/src/layout-primitives/container/index.jsx +12 -1
  25. package/src/layout-primitives/decorator/index.jsx +2 -0
  26. package/src/layout-primitives/gutters/index.jsx +7 -2
  27. package/src/layout-primitives/layers/index.jsx +4 -0
  28. package/src/layout-primitives/marquee/index.jsx +13 -1
  29. package/src/layout-primitives/reel/index.jsx +12 -1
  30. package/src/layout-primitives/responsive-grid/index.jsx +4 -0
  31. package/src/layout-primitives/stack/index.jsx +4 -0
  32. package/src/layout-primitives/switcher/index.jsx +4 -0
  33. package/src/layout-primitives/text/index.jsx +4 -0
  34. package/src/layout-primitives/texture/index.jsx +8 -1
  35. package/src/layout-primitives/vertical-ends/index.jsx +10 -1
  36. package/src/settings/_root.scss +14 -91
  37. package/src/utilities/_font-size.scss +0 -10
  38. package/src/variables/_index.scss +125 -1
@@ -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
  }
@@ -24,7 +74,7 @@ $root-font-size: var(--unitone--root-font-size);
24
74
  @function font-size-fluid($level, $context: 'viewport') {
25
75
  $width: 100vw;
26
76
  @if $context == 'container' {
27
- $width: 100cqw;
77
+ $width: var(--unitone--property--100cqw);
28
78
  }
29
79
 
30
80
  $max-font-size: _max-font-size($level);
@@ -86,3 +136,77 @@ $_line-height: clamp(
86
136
  $container-max-width: $max-breakpoint * 16px; // = 1280px
87
137
  $grid-columns: 12;
88
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
+ }