@octaviaflow/grid 1.0.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.
@@ -0,0 +1,297 @@
1
+ //
2
+ // Copyright OctaviaFlow. 2025
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @use 'sass:meta';
9
+ @use 'sass:math';
10
+
11
+ @use 'config' as *;
12
+ @use 'breakpoint' as *;
13
+
14
+ // -----------------------------------------------------------------------------
15
+ // Columns
16
+ // -----------------------------------------------------------------------------
17
+
18
+ /// Used to initialize the default properties for a column class, most notably
19
+ /// for setting width and default gutters when a column's breakpoint has not been
20
+ /// hit yet.
21
+ /// @param {Number} $gutter [$grid-gutter] - The gutter for the grid system
22
+ /// @param {Number} $collapsed-gutter [$grid-gutter--condensed] - The condensed mode gutter
23
+ /// @access private
24
+ /// @group @octaviaflow/grid
25
+ @mixin -make-col-ready(
26
+ $gutter: $grid-gutter,
27
+ $condensed-gutter: $grid-gutter--condensed
28
+ ) {
29
+ // Prevent columns from becoming too narrow when at smaller grid tiers by
30
+ // always setting `width: 100%;`. This works because we use `flex` values
31
+ // later on to override this initial width.
32
+ inline-size: 100%;
33
+ padding-inline: ($gutter * 0.5);
34
+
35
+ // For our condensed use-case, our gutters collapse to 2px solid, 1px on each
36
+ // side.
37
+ .#{$prefix}--row--condensed &,
38
+ .#{$prefix}--grid--condensed & {
39
+ padding-inline: ($condensed-gutter * 0.5);
40
+ }
41
+
42
+ // For our narrow use-case, our container hangs 16px into the gutter
43
+ .#{$prefix}--row--narrow &,
44
+ .#{$prefix}--grid--narrow & {
45
+ padding-inline: 0 ($gutter * 0.5);
46
+ }
47
+ }
48
+
49
+ /// Define the width of the column for a given span and column count.
50
+ /// A width of 0 will hide the column entirely.
51
+ /// @param {Number} $span - The number of columns covered
52
+ /// @param {Number} $columns - The total number of columns available
53
+ /// @access private
54
+ /// @group @octaviaflow/grid
55
+ @mixin -make-col($span, $columns) {
56
+ @if $span == 0 {
57
+ display: none;
58
+ } @else {
59
+ // Explicitly include `display: block` to override
60
+ display: block;
61
+ // Add a `max-width` to ensure content within each column does not blow out
62
+ // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
63
+ // do not appear to require this.
64
+ flex: 0 0 math.percentage(math.div($span, $columns));
65
+ max-inline-size: math.percentage(math.div($span, $columns));
66
+ }
67
+ }
68
+
69
+ /// Create a column offset for a given span and column count.
70
+ /// @param {Number} $span - The number of columns the offset should cover
71
+ /// @param {Number} $columns - The total number of columns available
72
+ /// @access private
73
+ /// @group @octaviaflow/grid
74
+ @mixin -make-col-offset($span, $columns) {
75
+ $offset: 0;
76
+ $offset: math.div($span, $columns);
77
+ @if $offset == 0 {
78
+ margin-inline-start: 0;
79
+ } @else {
80
+ margin-inline-start: math.percentage($offset);
81
+ }
82
+ }
83
+
84
+ /// Output the CSS required for all the columns in a given grid system.
85
+ /// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints in the grid system
86
+ /// @param {Number} $gutter [$grid-gutter] - The gutter for the grid system
87
+ /// @access private
88
+ /// @group @octaviaflow/grid
89
+ @mixin -make-grid-columns(
90
+ $breakpoints: $grid-breakpoints,
91
+ $gutter: $grid-gutter
92
+ ) {
93
+ .#{$prefix}--col {
94
+ @include -make-col-ready($gutter);
95
+ }
96
+
97
+ @each $breakpoint in map-keys($breakpoints) {
98
+ $infix: breakpoint-infix($breakpoint);
99
+ $columns: map.get(map.get($breakpoints, $breakpoint), columns);
100
+
101
+ // Allow columns to stretch full width below their breakpoints
102
+ @for $i from 0 through $columns {
103
+ .#{$prefix}--col#{$infix}-#{$i} {
104
+ @include -make-col-ready($gutter);
105
+ }
106
+ }
107
+
108
+ .#{$prefix}--col#{$infix},
109
+ .#{$prefix}--col#{$infix}--auto {
110
+ @include -make-col-ready($gutter);
111
+ }
112
+
113
+ @include breakpoint($breakpoint, $breakpoints) {
114
+ // Provide basic `.col-{bp}` classes for equal-width flexbox columns
115
+ .#{$prefix}--col,
116
+ .#{$prefix}--col#{$infix} {
117
+ flex-basis: 0;
118
+ flex-grow: 1;
119
+ max-inline-size: 100%;
120
+ }
121
+
122
+ .#{$prefix}--col--auto,
123
+ .#{$prefix}--col#{$infix}--auto {
124
+ flex: 1 0 0%;
125
+ inline-size: auto;
126
+ // Reset earlier grid tiers
127
+ max-inline-size: 100%;
128
+ }
129
+
130
+ @for $i from 0 through $columns {
131
+ .#{$prefix}--col#{$infix}-#{$i} {
132
+ @include -make-col($i, $columns);
133
+ }
134
+ }
135
+
136
+ @for $i from 0 through ($columns - 1) {
137
+ @if not($infix == '') {
138
+ .#{$prefix}--offset#{$infix}-#{$i} {
139
+ @include -make-col-offset($i, $columns);
140
+ }
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
146
+
147
+ // -----------------------------------------------------------------------------
148
+ // Rows
149
+ // -----------------------------------------------------------------------------
150
+
151
+ /// Define the properties for a selector assigned to a row in the grid system.
152
+ /// @param {Number} $gutter [$grid-gutter] - The gutter in the grid system
153
+ /// @access private
154
+ /// @group @octaviaflow/grid
155
+ @mixin make-row($gutter: $grid-gutter) {
156
+ display: flex;
157
+ flex-wrap: wrap;
158
+ margin-inline: -1 * $gutter * 0.5;
159
+ }
160
+
161
+ // -----------------------------------------------------------------------------
162
+ // No gutter
163
+ // -----------------------------------------------------------------------------
164
+
165
+ /// Add `no-gutter` and `no-gutter--{start,end}` classes to the output CSS. These
166
+ /// classes are useful for dropping the gutter in fluid situations.
167
+ /// @access private
168
+ /// @group @octaviaflow/grid
169
+ @mixin -no-gutter {
170
+ .#{$prefix}--no-gutter,
171
+ .#{$prefix}--row.#{$prefix}--no-gutter [class*='#{$prefix}--col'] {
172
+ padding-inline: 0;
173
+ }
174
+
175
+ .#{$prefix}--no-gutter--start,
176
+ .#{$prefix}--row.#{$prefix}--no-gutter--start [class*='#{$prefix}--col'] {
177
+ padding-inline-start: 0;
178
+ }
179
+
180
+ .#{$prefix}--no-gutter--end,
181
+ .#{$prefix}--row.#{$prefix}--no-gutter--end [class*='#{$prefix}--col'] {
182
+ padding-inline-end: 0;
183
+ }
184
+ }
185
+
186
+ // -----------------------------------------------------------------------------
187
+ // Hang
188
+ // -----------------------------------------------------------------------------
189
+
190
+ /// Add `hang--start` and `hang--end` classes for a given gutter. These classes are
191
+ /// used alongside `no-gutter--start` and `no-gutter--end` to "hang" type.
192
+ /// @param {Number} $gutter [$grid-gutter] - The gutter in the grid system
193
+ /// @access private
194
+ /// @group @octaviaflow/grid
195
+ @mixin -hang($gutter: $grid-gutter) {
196
+ .#{$prefix}--hang--start {
197
+ padding-inline-start: ($gutter * 0.5);
198
+ }
199
+
200
+ .#{$prefix}--hang--end {
201
+ padding-inline-end: ($gutter * 0.5);
202
+ }
203
+ }
204
+
205
+ // -----------------------------------------------------------------------------
206
+ // Grid
207
+ // -----------------------------------------------------------------------------
208
+
209
+ /// Create the container for a grid. Will cause full-bleed for the grid unless
210
+ /// max-width properties are added with `-make-container-max-widths`
211
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
212
+ /// @access private
213
+ /// @group @octaviaflow/grid
214
+ @mixin -make-container($breakpoints: $grid-breakpoints) {
215
+ margin-inline: auto;
216
+
217
+ @include -set-largest-breakpoint();
218
+
219
+ @each $name, $value in $breakpoints {
220
+ $prev-breakpoint: map.get($breakpoints, breakpoint-prev($name));
221
+ $margin: map.get($value, margin);
222
+
223
+ @if $prev-breakpoint {
224
+ $prev-margin: map.get($prev-breakpoint, margin);
225
+ @if $prev-margin != $margin {
226
+ @include breakpoint($name) {
227
+ padding-inline: #{($grid-gutter * 0.5) + $margin};
228
+ }
229
+ }
230
+ } @else {
231
+ @include breakpoint($name) {
232
+ padding-inline: #{($grid-gutter * 0.5) + $margin};
233
+ }
234
+ }
235
+ }
236
+ }
237
+
238
+ /// Get the last breakpoint width and set max-width to its value
239
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
240
+ /// @access private
241
+ /// @group @octaviaflow/grid
242
+ @mixin -set-largest-breakpoint($breakpoints: $grid-breakpoints) {
243
+ $largest-breakpoint: last-map-item($breakpoints);
244
+
245
+ max-inline-size: map.get($largest-breakpoint, 'width');
246
+ }
247
+
248
+ /// Add in the max-widths for each breakpoint to the container
249
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
250
+ /// @access private
251
+ /// @group @octaviaflow/grid
252
+ @mixin -make-container-max-widths($breakpoints: $grid-breakpoints) {
253
+ @each $name, $value in $breakpoints {
254
+ @include breakpoint($name) {
255
+ max-inline-size: map.get($value, width);
256
+ }
257
+ }
258
+ }
259
+
260
+ /// Generate the CSS for a grid for the given breakpoints and gutters
261
+ /// @param {Map} $breakpoints [$grid-breakpoints] - The default breakpoints
262
+ /// @param {Number} $grid-gutter [$grid-gutter] - The default gutters
263
+ /// @param {Number} $condensed-gutter [$grid-gutter--condensed] - The condensed mode gutter
264
+ /// @access public
265
+ /// @group @octaviaflow/grid
266
+ @mixin grid(
267
+ $breakpoints: $grid-breakpoints,
268
+ $grid-gutter: $grid-gutter,
269
+ $condensed-gutter: $grid-gutter--condensed
270
+ ) {
271
+ .#{$prefix}--grid {
272
+ @include -make-container($breakpoints);
273
+ }
274
+
275
+ @include largest-breakpoint($breakpoints) {
276
+ .#{$prefix}--grid--full-width {
277
+ max-inline-size: 100%;
278
+ }
279
+ }
280
+
281
+ .#{$prefix}--row {
282
+ @include make-row();
283
+ }
284
+
285
+ .#{$prefix}--row-padding [class*='#{$prefix}--col'],
286
+ .#{$prefix}--col-padding {
287
+ padding-block: $grid-gutter * 0.5;
288
+ }
289
+
290
+ .#{$prefix}--grid--condensed [class*='#{$prefix}--col'] {
291
+ padding-block: $condensed-gutter * 0.5;
292
+ }
293
+
294
+ @include -make-grid-columns($breakpoints, $grid-gutter);
295
+ @include -no-gutter();
296
+ @include -hang($grid-gutter);
297
+ }
@@ -0,0 +1,56 @@
1
+ //
2
+ // Copyright OctaviaFlow. 2025
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @use 'sass:meta';
9
+ @use 'sass:math';
10
+
11
+ /// Default font size
12
+ /// @type Number
13
+ /// @access public
14
+ /// @group @octaviaflow/layout
15
+ $base-font-size: 16px !default;
16
+
17
+ /// Convert a given px unit to a rem unit
18
+ /// @param {Number} $px - Number with px unit
19
+ /// @return {Number} Number with rem unit
20
+ /// @access public
21
+ /// @group @octaviaflow/layout
22
+ @function to-rem($px) {
23
+ @if math.unit($px) != 'px' {
24
+ @error "Expected argument $px to be of type `px`, instead received: `#{math.unit($px)}`";
25
+ }
26
+
27
+ @return math.div($px, $base-font-size) * 1rem;
28
+ }
29
+
30
+ /// This function causes an error when using sass > 1.65.0
31
+ /// Replaced with `to-rem` function
32
+ /// @param {Number} $px - Number with px unit
33
+ /// @return {Number} Number with rem unit
34
+ /// @access public
35
+ /// @deprecated
36
+ /// @group @octaviaflow/layout
37
+ @function rem($px) {
38
+ @if unit($px) != 'px' {
39
+ @error "Expected argument $px to be of type `px`, instead received: `#{unit($px)}`";
40
+ }
41
+
42
+ @return math.div($px, $base-font-size) * 1rem;
43
+ }
44
+
45
+ /// Convert a given px unit to a em unit
46
+ /// @param {Number} $px - Number with px unit
47
+ /// @return {Number} Number with em unit
48
+ /// @access public
49
+ /// @group @octaviaflow/layout
50
+ @function em($px) {
51
+ @if unit($px) != 'px' {
52
+ @error "Expected argument $px to be of type `px`, instead received: `#{unit($px)}`";
53
+ }
54
+
55
+ @return math.div($px, $base-font-size) * 1em;
56
+ }
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright OctaviaFlow. 2025
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @forward './generated/fluid-spacing';
9
+ @forward './generated/spacing';
10
+ @forward './generated/layout';
@@ -0,0 +1,41 @@
1
+ //
2
+ // Copyright OctaviaFlow. 2025
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ /// Map deep get
9
+ /// @author Hugo Giraudel
10
+ /// @access public
11
+ /// @param {Map} $map - Map
12
+ /// @param {Arglist} $keys - Key chain
13
+ /// @return {*} Desired value
14
+ /// @group @octaviaflow/layout
15
+ @function map-deep-get($map, $keys...) {
16
+ @each $key in $keys {
17
+ $map: map.get($map, $key);
18
+ }
19
+ @return $map;
20
+ }
21
+
22
+ /// Provide a map and index, and get back the relevant key value
23
+ /// @access public
24
+ /// @param {Map} $map - Map
25
+ /// @param {Integer} $index - Key chain
26
+ /// @return {String} Desired value
27
+ /// @group @octaviaflow/layout
28
+ @function key-by-index($map, $index) {
29
+ $keys: map.keys($map);
30
+ @return nth($keys, $index);
31
+ }
32
+
33
+ /// Pass in a map, and get the last one in the list back
34
+ /// @access public
35
+ /// @param {Map} $map - Map
36
+ /// @return {*} Desired value
37
+ /// @group @octaviaflow/layout
38
+ @function last-map-item($map) {
39
+ $total-length: list.length($map);
40
+ @return map-get($map, carbon--key-by-index($map, $total-length));
41
+ }
@@ -0,0 +1,43 @@
1
+ // Code generated by @octaviaflow/layout. DO NOT EDIT.
2
+ //
3
+ // Copyright OctaviaFlow. 2025
4
+ //
5
+ // This source code is licensed under the Apache-2.0 license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
8
+
9
+ /// @type Number
10
+ /// @access public
11
+ /// @group @octaviaflow/layout
12
+ $container-01: 1.5rem !default;
13
+
14
+ /// @type Number
15
+ /// @access public
16
+ /// @group @octaviaflow/layout
17
+ $container-02: 2rem !default;
18
+
19
+ /// @type Number
20
+ /// @access public
21
+ /// @group @octaviaflow/layout
22
+ $container-03: 2.5rem !default;
23
+
24
+ /// @type Number
25
+ /// @access public
26
+ /// @group @octaviaflow/layout
27
+ $container-04: 3rem !default;
28
+
29
+ /// @type Number
30
+ /// @access public
31
+ /// @group @octaviaflow/layout
32
+ $container-05: 4rem !default;
33
+
34
+ /// @type Map
35
+ /// @access public
36
+ /// @group @octaviaflow/layout
37
+ $container: (
38
+ container-01: $container-01,
39
+ container-02: $container-02,
40
+ container-03: $container-03,
41
+ container-04: $container-04,
42
+ container-05: $container-05,
43
+ );
@@ -0,0 +1,37 @@
1
+ // Code generated by @octaviaflow/layout. DO NOT EDIT.
2
+ //
3
+ // Copyright OctaviaFlow. 2025
4
+ //
5
+ // This source code is licensed under the Apache-2.0 license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
8
+
9
+ /// @type Number
10
+ /// @access public
11
+ /// @group @octaviaflow/layout
12
+ $fluid-spacing-01: 0 !default;
13
+
14
+ /// @type Number
15
+ /// @access public
16
+ /// @group @octaviaflow/layout
17
+ $fluid-spacing-02: 2vw !default;
18
+
19
+ /// @type Number
20
+ /// @access public
21
+ /// @group @octaviaflow/layout
22
+ $fluid-spacing-03: 5vw !default;
23
+
24
+ /// @type Number
25
+ /// @access public
26
+ /// @group @octaviaflow/layout
27
+ $fluid-spacing-04: 10vw !default;
28
+
29
+ /// @type Map
30
+ /// @access public
31
+ /// @group @octaviaflow/layout
32
+ $fluid-spacing: (
33
+ fluid-spacing-01: $fluid-spacing-01,
34
+ fluid-spacing-02: $fluid-spacing-02,
35
+ fluid-spacing-03: $fluid-spacing-03,
36
+ fluid-spacing-04: $fluid-spacing-04,
37
+ );
@@ -0,0 +1,25 @@
1
+ // Code generated by @octaviaflow/layout. DO NOT EDIT.
2
+ //
3
+ // Copyright OctaviaFlow. 2025
4
+ //
5
+ // This source code is licensed under the Apache-2.0 license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
8
+
9
+ /// @type Number
10
+ /// @access public
11
+ /// @group @octaviaflow/layout
12
+ $icon-size-01: 1rem !default;
13
+
14
+ /// @type Number
15
+ /// @access public
16
+ /// @group @octaviaflow/layout
17
+ $icon-size-02: 1.25rem !default;
18
+
19
+ /// @type Map
20
+ /// @access public
21
+ /// @group @octaviaflow/layout
22
+ $icon-size: (
23
+ icon-size-01: $icon-size-01,
24
+ icon-size-02: $icon-size-02,
25
+ );
@@ -0,0 +1,55 @@
1
+ // Code generated by @octaviaflow/layout. DO NOT EDIT.
2
+ //
3
+ // Copyright OctaviaFlow. 2025
4
+ //
5
+ // This source code is licensed under the Apache-2.0 license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
8
+
9
+ /// @type Number
10
+ /// @access public
11
+ /// @group @octaviaflow/layout
12
+ $layout-01: 1rem !default;
13
+
14
+ /// @type Number
15
+ /// @access public
16
+ /// @group @octaviaflow/layout
17
+ $layout-02: 1.5rem !default;
18
+
19
+ /// @type Number
20
+ /// @access public
21
+ /// @group @octaviaflow/layout
22
+ $layout-03: 2rem !default;
23
+
24
+ /// @type Number
25
+ /// @access public
26
+ /// @group @octaviaflow/layout
27
+ $layout-04: 3rem !default;
28
+
29
+ /// @type Number
30
+ /// @access public
31
+ /// @group @octaviaflow/layout
32
+ $layout-05: 4rem !default;
33
+
34
+ /// @type Number
35
+ /// @access public
36
+ /// @group @octaviaflow/layout
37
+ $layout-06: 6rem !default;
38
+
39
+ /// @type Number
40
+ /// @access public
41
+ /// @group @octaviaflow/layout
42
+ $layout-07: 10rem !default;
43
+
44
+ /// @type Map
45
+ /// @access public
46
+ /// @group @octaviaflow/layout
47
+ $layout: (
48
+ layout-01: $layout-01,
49
+ layout-02: $layout-02,
50
+ layout-03: $layout-03,
51
+ layout-04: $layout-04,
52
+ layout-05: $layout-05,
53
+ layout-06: $layout-06,
54
+ layout-07: $layout-07,
55
+ );
@@ -0,0 +1,17 @@
1
+ // Code generated by @octaviaflow/layout. DO NOT EDIT.
2
+ //
3
+ // Copyright OctaviaFlow. 2025
4
+ //
5
+ // This source code is licensed under the Apache-2.0 license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
8
+
9
+ /// @type Number
10
+ /// @access public
11
+ /// @group @octaviaflow/layout
12
+ $size-xs: 1.5rem;
13
+ $size-sm: 2rem;
14
+ $size-md: 2.5rem;
15
+ $size-lg: 3rem;
16
+ $size-xl: 4rem;
17
+ $size-2xl: 5rem;
@@ -0,0 +1,91 @@
1
+ // Code generated by @octaviaflow/layout. DO NOT EDIT.
2
+ //
3
+ // Copyright OctaviaFlow. 2025
4
+ //
5
+ // This source code is licensed under the Apache-2.0 license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
8
+
9
+ /// @type Number
10
+ /// @access public
11
+ /// @group @octaviaflow/layout
12
+ $spacing-01: 0.125rem !default;
13
+
14
+ /// @type Number
15
+ /// @access public
16
+ /// @group @octaviaflow/layout
17
+ $spacing-02: 0.25rem !default;
18
+
19
+ /// @type Number
20
+ /// @access public
21
+ /// @group @octaviaflow/layout
22
+ $spacing-03: 0.5rem !default;
23
+
24
+ /// @type Number
25
+ /// @access public
26
+ /// @group @octaviaflow/layout
27
+ $spacing-04: 0.75rem !default;
28
+
29
+ /// @type Number
30
+ /// @access public
31
+ /// @group @octaviaflow/layout
32
+ $spacing-05: 1rem !default;
33
+
34
+ /// @type Number
35
+ /// @access public
36
+ /// @group @octaviaflow/layout
37
+ $spacing-06: 1.5rem !default;
38
+
39
+ /// @type Number
40
+ /// @access public
41
+ /// @group @octaviaflow/layout
42
+ $spacing-07: 2rem !default;
43
+
44
+ /// @type Number
45
+ /// @access public
46
+ /// @group @octaviaflow/layout
47
+ $spacing-08: 2.5rem !default;
48
+
49
+ /// @type Number
50
+ /// @access public
51
+ /// @group @octaviaflow/layout
52
+ $spacing-09: 3rem !default;
53
+
54
+ /// @type Number
55
+ /// @access public
56
+ /// @group @octaviaflow/layout
57
+ $spacing-10: 4rem !default;
58
+
59
+ /// @type Number
60
+ /// @access public
61
+ /// @group @octaviaflow/layout
62
+ $spacing-11: 5rem !default;
63
+
64
+ /// @type Number
65
+ /// @access public
66
+ /// @group @octaviaflow/layout
67
+ $spacing-12: 6rem !default;
68
+
69
+ /// @type Number
70
+ /// @access public
71
+ /// @group @octaviaflow/layout
72
+ $spacing-13: 10rem !default;
73
+
74
+ /// @type Map
75
+ /// @access public
76
+ /// @group @octaviaflow/layout
77
+ $spacing: (
78
+ spacing-01: $spacing-01,
79
+ spacing-02: $spacing-02,
80
+ spacing-03: $spacing-03,
81
+ spacing-04: $spacing-04,
82
+ spacing-05: $spacing-05,
83
+ spacing-06: $spacing-06,
84
+ spacing-07: $spacing-07,
85
+ spacing-08: $spacing-08,
86
+ spacing-09: $spacing-09,
87
+ spacing-10: $spacing-10,
88
+ spacing-11: $spacing-11,
89
+ spacing-12: $spacing-12,
90
+ spacing-13: $spacing-13,
91
+ );