Browse code

Progress

Benjamin Roth authored on21/02/2023 19:42:19
Showing1 changed files
... ...
@@ -15,7 +15,7 @@
15 15
   @return $string;
16 16
 }
17 17
 
18
-@function repeat($character, $n){
18
+@function str-repeat($character, $n){
19 19
   $c:"";
20 20
   @if $n > 0 {
21 21
     @for $i from 1 through $n {
Browse code

Initial commit

Benjamin Roth authored on07/11/2022 09:19:06
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,88 @@
1
+@if not-imported("import_once_func") { @import "import_once_func"; }
2
+@if not-imported("settings") { @import "settings"; }
3
+
4
+@function font-size($size,$ascendant-font-size: $font-size-default) {
5
+  @return $size / $ascendant-font-size * 1rem
6
+}
7
+
8
+@function str-replace($string, $search, $replace: '') {
9
+  $index: str-index($string, $search);
10
+
11
+  @if $index {
12
+    @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
13
+  }
14
+
15
+  @return $string;
16
+}
17
+
18
+@function repeat($character, $n){
19
+  $c:"";
20
+  @if $n > 0 {
21
+    @for $i from 1 through $n {
22
+      $c: $c + $character;
23
+    }
24
+  }
25
+  @return $c;
26
+}
27
+
28
+/// Convert angle
29
+/// @author Chris Eppstein
30
+/// @param {Number} $value - Value to convert
31
+/// @param {String} $unit - Unit to convert to
32
+/// @return {Number} Converted angle
33
+@function convert-angle($value, $unit) {
34
+  $convertable-units: deg grad turn rad;
35
+  $conversion-factors: 1 (10grad/9deg) (1turn/360deg) (3.1415926rad/180deg);
36
+  @if index($convertable-units, unit($value)) and index($convertable-units, $unit) {
37
+    @return $value
38
+             / nth($conversion-factors, index($convertable-units, unit($value)))
39
+             * nth($conversion-factors, index($convertable-units, $unit));
40
+  }
41
+
42
+  @warn "Cannot convert `#{unit($value)}` to `#{$unit}`.";
43
+}
44
+
45
+/// Test if `$value` is an angle
46
+/// @param {*} $value - Value to test
47
+/// @return {Bool}
48
+@function is-direction($value) {
49
+  $is-direction: index((to top, to top right, to right top, to right, to bottom right, to right bottom, to bottom, to bottom left, to left bottom, to left, to left top, to top left), $value);
50
+  $is-angle: type-of($value) == 'number' and index('deg' 'grad' 'turn' 'rad', unit($value));
51
+
52
+  @return $is-direction or $is-angle;
53
+}
54
+
55
+/// Convert a direction to legacy syntax
56
+/// @param {Keyword | Angle} $value - Value to convert
57
+/// @require {function} is-direction
58
+/// @require {function} convert-angle
59
+@function legacy-direction($value) {
60
+  @if is-direction($value) == false {
61
+    @warn "Cannot convert `#{$value}` to legacy syntax because it doesn't seem to be an angle or a direction";
62
+  }
63
+
64
+  $conversion-map: (
65
+    to top          : bottom,
66
+    to top right    : bottom left,
67
+    to right top    : left bottom,
68
+    to right        : left,
69
+    to bottom right : top left,
70
+    to right bottom : left top,
71
+    to bottom       : top,
72
+    to bottom left  : top right,
73
+    to left bottom  : right top,
74
+    to left         : right,
75
+    to left top     : right bottom,
76
+    to top left     : bottom right
77
+  );
78
+
79
+  @if map-has-key($conversion-map, $value) {
80
+    @return map-get($conversion-map, $value);
81
+  }
82
+
83
+  @return 90deg - convert-angle($value, 'deg');
84
+}
85
+
86
+@function col($columns, $container-columns, $gap: 0) {
87
+  @return $columns / $container-columns * 100% - ($gap * 100%);
88
+}