@apolitical/component-library 1.18.8 → 2.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.
Files changed (124) hide show
  1. package/communities/join-button/join-button.d.ts +1 -1
  2. package/context/user/index.d.ts +1 -1
  3. package/discussion/components/likes/likes.d.ts +1 -1
  4. package/discussion/feeds/activities-feed/activities-feed.d.ts +7 -0
  5. package/discussion/feeds/replies-feed/nested-replies-feed/nested-replies-feed.d.ts +6 -0
  6. package/discussion/feeds/replies-feed/replies-feed.d.ts +8 -0
  7. package/form/components/email-helper-text-box/email-helper-text-box.d.ts +1 -1
  8. package/form/components/form/components/field-wrapper/field-wrapper.d.ts +3 -0
  9. package/form/components/form/components/field-wrapper/index.d.ts +1 -0
  10. package/form/components/form/components/fields/checkbox/checkbox.d.ts +31 -0
  11. package/form/components/form/components/fields/checkbox/index.d.ts +1 -0
  12. package/form/components/form/components/fields/dropdown-menu/components/index.d.ts +1 -0
  13. package/form/components/form/components/fields/dropdown-menu/components/rotating-chevron/index.d.ts +1 -0
  14. package/form/components/form/components/fields/dropdown-menu/components/rotating-chevron/rotating-chevron.d.ts +6 -0
  15. package/form/components/form/components/fields/dropdown-menu/dropdown-menu.d.ts +3 -0
  16. package/form/components/form/components/fields/dropdown-menu/index.d.ts +1 -0
  17. package/form/components/form/components/fields/index.d.ts +5 -0
  18. package/form/components/form/components/fields/input/index.d.ts +1 -0
  19. package/form/components/form/components/fields/input/input.d.ts +39 -0
  20. package/form/components/form/components/fields/multiple-options/index.d.ts +1 -0
  21. package/form/components/form/components/fields/multiple-options/multiple-options.d.ts +3 -0
  22. package/form/components/form/components/fields/password/index.d.ts +1 -0
  23. package/form/components/form/components/fields/password/password.d.ts +3 -0
  24. package/form/components/form/components/index.d.ts +2 -0
  25. package/form/components/form/form.d.ts +3 -0
  26. package/form/components/form/form.mocks.d.ts +18 -0
  27. package/form/components/form/form.reducer.d.ts +3 -0
  28. package/form/components/form/form.types.d.ts +189 -0
  29. package/form/components/form/index.d.ts +1 -0
  30. package/form/components/index.d.ts +1 -0
  31. package/form/components/password-rules/password-rules.d.ts +1 -1
  32. package/form/components/rating/rating.d.ts +1 -1
  33. package/form/types/contact-form/contact-form.d.ts +12 -0
  34. package/form/types/contact-form/index.d.ts +1 -0
  35. package/form/types/index.d.ts +3 -1
  36. package/form/types/signup-form/components/index.d.ts +1 -0
  37. package/form/types/signup-form/components/success-message.d.ts +4 -0
  38. package/form/types/signup-form/index.d.ts +1 -0
  39. package/form/types/signup-form/signup-form.d.ts +25 -0
  40. package/form/types/signup-form/signup-form.helpers.d.ts +41 -0
  41. package/form/types/signup-form/signup-form.helpers.get-fields.d.ts +56 -0
  42. package/general/buttons/button/button.d.ts +1 -1
  43. package/helpers/in-development.d.ts +1 -0
  44. package/helpers/index.d.ts +4 -3
  45. package/index.js +34 -15
  46. package/index.mjs +5422 -2940
  47. package/layout/content-layout/contact-footer/contact-footer.d.ts +5 -0
  48. package/layout/content-layout/contact-footer/index.d.ts +1 -0
  49. package/layout/content-layout/index.d.ts +1 -0
  50. package/mappers/index.d.ts +1 -1
  51. package/mappers/{mapGetSteamData.d.ts → map-get-steam-data.d.ts} +1 -1
  52. package/modals/index.d.ts +1 -1
  53. package/navigation/filters/filters.d.ts +1 -1
  54. package/navigation/more-menu/more-menu.d.ts +1 -1
  55. package/package.json +2 -1
  56. package/sections/full-width-section/full-width-section.d.ts +2 -0
  57. package/sections/logo-section/logo-section.d.ts +1 -1
  58. package/style.css +1 -1
  59. package/styles/README.md +28 -0
  60. package/styles/base/_accessibility.scss +21 -11
  61. package/styles/base/_blockquotes.scss +31 -20
  62. package/styles/base/_fonts.scss +10 -6
  63. package/styles/base/_hr.scss +9 -8
  64. package/styles/base/_index.scss +2 -13
  65. package/styles/base/_layout.scss +5 -4
  66. package/styles/base/_links.scss +11 -13
  67. package/styles/base/_lists.scss +26 -13
  68. package/styles/base/_overlays.scss +34 -32
  69. package/styles/base/_table.scss +40 -27
  70. package/styles/base/_text.scss +128 -63
  71. package/styles/base/_titles.scss +192 -114
  72. package/styles/base/buttons/_button-wrapper.scss +23 -18
  73. package/styles/base/buttons/_buttons.scss +246 -169
  74. package/styles/base/buttons/_icons.scss +26 -26
  75. package/styles/base/buttons/_index.scss +1 -2
  76. package/styles/base/buttons/_mixins.scss +9 -3
  77. package/styles/base/buttons/_sizes.scss +47 -8
  78. package/styles/base/form/_fields.scss +50 -41
  79. package/styles/base/form/_form.scss +26 -0
  80. package/styles/base/form/_index.scss +1 -2
  81. package/styles/base/form/_labels.scss +12 -0
  82. package/styles/base/form/_search-button.scss +17 -17
  83. package/styles/functions/_index.scss +1 -1
  84. package/styles/functions/_maps.scss +25 -0
  85. package/styles/functions/_size-conversions.scss +3 -3
  86. package/styles/index.scss +3 -5
  87. package/styles/mixins/_animations.scss +1 -1
  88. package/styles/mixins/_backgrounds.scss +8 -2
  89. package/styles/mixins/_breakpoints.scss +1 -1
  90. package/styles/mixins/_browsers.scss +4 -2
  91. package/styles/mixins/_containers.scss +0 -1
  92. package/styles/mixins/_index.scss +2 -8
  93. package/styles/mixins/_queries.scss +11 -0
  94. package/styles/mixins/_selectors.scss +1 -1
  95. package/styles/mixins/_styles.scss +23 -21
  96. package/styles/mixins/_transitions.scss +19 -15
  97. package/styles/reset/_index.scss +1 -1
  98. package/styles/reset/_reset.scss +104 -20
  99. package/styles/variables/_index.scss +1 -3
  100. package/styles/variables/assets/_assets.scss +0 -1
  101. package/styles/variables/assets/_index.scss +1 -1
  102. package/styles/variables/colors/_colors.scss +53 -53
  103. package/styles/variables/colors/_index.scss +1 -1
  104. package/styles/variables/colors/theme/_banners.scss +26 -0
  105. package/styles/variables/colors/theme/_base.scss +88 -0
  106. package/styles/variables/colors/theme/_cards.scss +24 -0
  107. package/styles/variables/colors/theme/_communities.scss +7 -0
  108. package/styles/variables/colors/theme/_discussion.scss +20 -0
  109. package/styles/variables/colors/theme/_form.scss +25 -0
  110. package/styles/variables/colors/theme/_general.scss +9 -0
  111. package/styles/variables/colors/theme/_index.scss +8 -0
  112. package/styles/variables/colors/theme/_layout.scss +50 -0
  113. package/styles/variables/colors/theme/_loaders.scss +20 -0
  114. package/styles/variables/colors/theme/_modals.scss +14 -0
  115. package/styles/variables/colors/theme/_navigation.scss +41 -0
  116. package/styles/variables/colors/theme/_pages.scss +9 -0
  117. package/styles/variables/colors/theme/_text.scss +47 -0
  118. package/styles/variables/colors/theme/_user.scss +16 -0
  119. package/styles/variables/sizes/_common.scss +1 -1
  120. package/styles/variables/sizes/_index.scss +1 -1
  121. package/text/helper-text-box/helper-text-box.d.ts +1 -1
  122. package/text/hide-show-text-box/hide-show-text-box.d.ts +1 -1
  123. package/types/index.d.ts +1 -0
  124. package/styles/variables/colors/_theme.scss +0 -312
@@ -1,13 +1,52 @@
1
1
  // The button defaults to the primary variant and medium styling so are not added as classes - they live on the default `button` styling
2
- $large: ('font-size': 18, 'padding-top': 14, 'padding-horizontal': 24, 'padding-bottom': 16, 'icon-width': 18, 'icon-offset': 2, 'icon-gutter': 12);
3
- $medium: ('font-size': 16, 'padding-top': 10, 'padding-horizontal': 24, 'padding-bottom': 12, 'icon-width': 16, 'icon-offset': 2, 'icon-gutter': 10);
4
- $small: ('font-size': 14, 'padding-top': 8, 'padding-horizontal': 16, 'padding-bottom': 10, 'icon-width': 12, 'icon-offset': 2, 'icon-gutter': 8);
2
+ $large: (
3
+ 'font-size': 18,
4
+ 'padding-top': 14,
5
+ 'padding-horizontal': 24,
6
+ 'padding-bottom': 16,
7
+ 'icon-width': 18,
8
+ 'icon-offset': 2,
9
+ 'icon-gutter': 12,
10
+ );
11
+ $medium: (
12
+ 'font-size': 16,
13
+ 'padding-top': 10,
14
+ 'padding-horizontal': 24,
15
+ 'padding-bottom': 12,
16
+ 'icon-width': 16,
17
+ 'icon-offset': 2,
18
+ 'icon-gutter': 10,
19
+ );
20
+ $small: (
21
+ 'font-size': 14,
22
+ 'padding-top': 8,
23
+ 'padding-horizontal': 16,
24
+ 'padding-bottom': 10,
25
+ 'icon-width': 12,
26
+ 'icon-offset': 2,
27
+ 'icon-gutter': 8,
28
+ );
5
29
  $sizes: ('large', $large), ('small', $small);
6
- $secondary: ('border': 1);
7
- $secondary-destruction: ('right': -5%, 'offset': -1);
30
+ $secondary: (
31
+ 'border': 1,
32
+ );
33
+ $secondary-destruction: (
34
+ 'right': -5%,
35
+ 'offset': -1,
36
+ );
8
37
 
9
38
  // The tertiary styling has its own padding; regardless of size, we add a tiny amount of padding to accommodate
10
39
  // the focus outline and to ensure any icons are centered
11
- $tertiary: ('padding-top': 1.6, 'padding-horizontal': 8,'padding-bottom': 3.2);
12
- $animation: ('duration': 0.2);
13
- $animation-bounce: ('scale': 1.1, 'duration': 0.5, 'iteration': 1);
40
+ $tertiary: (
41
+ 'padding-top': 1.6,
42
+ 'padding-horizontal': 8,
43
+ 'padding-bottom': 3.2,
44
+ );
45
+ $animation: (
46
+ 'duration': 0.2,
47
+ );
48
+ $animation-bounce: (
49
+ 'scale': 1.1,
50
+ 'duration': 0.5,
51
+ 'iteration': 1,
52
+ );
@@ -1,64 +1,73 @@
1
- @use 'sass:map';
2
- @import './../../functions',
3
- './../../mixins',
4
- './../../variables';
1
+ @import './../../functions', './../../mixins', './../../variables';
5
2
 
6
- $field: ('padding-vertical': 8, 'padding-horizontal': 16, 'font-size': 16, 'line-height': 24, 'border': 1, 'border-radius': 8);
3
+ $field: (
4
+ 'padding-vertical': 8,
5
+ 'padding-horizontal': 16,
6
+ 'font-size': 16,
7
+ 'line-height': 24,
8
+ 'border': 1,
9
+ 'border-radius': 8,
10
+ );
7
11
 
8
12
  @mixin field-styling {
9
- background: map.get($theme, 'form_input_bg');
10
- border: px-to-rem(map.get($field, 'border')) solid map.get($theme, 'form_input_border');
11
- border-radius: px-to-rem(map.get($field, 'border-radius'));
13
+ background: get-map($theme, 'form_input_bg');
14
+ color: get-map($theme, 'form_input');
15
+ border: px-to-rem(get-map($field, 'border')) solid get-map($theme, 'form_input_border');
16
+ border-radius: px-to-rem(get-map($field, 'border-radius'));
12
17
  box-sizing: border-box;
13
18
  outline: none;
14
19
 
15
- &:focus, &:focus-visible {
16
- box-shadow: $outline-width map.get($theme, 'form_input_focus_box-shadow');
17
- }
20
+ &:focus,
21
+ &:focus-visible {
22
+ box-shadow: $outline-width get-map($theme, 'form_input_focus_box-shadow');
23
+ }
18
24
 
19
- &.error {
20
- border-color: map.get($theme, 'form_input_error_border');
21
- }
25
+ &.error {
26
+ border-color: get-map($theme, 'form_input_error_border');
27
+ }
22
28
  }
23
29
 
24
30
  @layer base {
25
- input, .input, textarea {
31
+ input,
32
+ .input,
33
+ textarea {
26
34
  @include field-styling;
27
35
 
28
36
  width: 100%;
29
- padding: px-to-rem(map.get($field, 'padding-vertical')) px-to-rem(map.get($field, 'padding-horizontal'));
30
- font-size: px-to-rem(map.get($field, 'font-size'));
31
- color: map.get($theme, 'form_input');
32
- line-height: px-to-rem(map.get($field, 'line-height'));
37
+ padding: px-to-rem(get-map($field, 'padding-vertical'))
38
+ px-to-rem(get-map($field, 'padding-horizontal'));
39
+ font-size: px-to-rem(get-map($field, 'font-size'));
40
+ color: get-map($theme, 'form_input');
41
+ line-height: px-to-rem(get-map($field, 'line-height'));
33
42
 
34
- ::placeholder {
35
- color: map.get($theme, 'form_input_placeholder');
36
- }
43
+ ::placeholder {
44
+ color: get-map($theme, 'form_input_placeholder');
45
+ }
37
46
 
38
- // Remove default styling, for consistency
39
- &[type='search'] {
40
- &::-ms-clear {
41
- width: 0;
42
- height: 0;
43
- display: none;
44
- }
47
+ // Remove default styling, for consistency
48
+ &[type='search'] {
49
+ &::-ms-clear {
50
+ width: 0;
51
+ height: 0;
52
+ display: none;
53
+ }
45
54
 
46
- &::-ms-reveal {
47
- width: 0;
48
- height: 0;
49
- display: none;
50
- }
55
+ &::-ms-reveal {
56
+ width: 0;
57
+ height: 0;
58
+ display: none;
59
+ }
51
60
 
52
- &::-webkit-search-decoration,
53
- &::-webkit-search-cancel-button,
54
- &::-webkit-search-results-button,
55
- &::-webkit-search-results-decoration {
56
- display: none;
57
- }
61
+ &::-webkit-search-decoration,
62
+ &::-webkit-search-cancel-button,
63
+ &::-webkit-search-results-button,
64
+ &::-webkit-search-results-decoration {
65
+ display: none;
58
66
  }
67
+ }
59
68
  }
60
69
 
61
70
  textarea {
62
71
  resize: none;
63
72
  }
64
- }
73
+ }
@@ -0,0 +1,26 @@
1
+ @import '@/styles/functions', '@/styles/mixins', '@/styles/variables';
2
+
3
+ $form: (
4
+ 'padding': 40,
5
+ );
6
+
7
+ @layer components {
8
+ .form {
9
+ width: 100%;
10
+ position: relative;
11
+ padding: px-to-rem(get-map($form, 'padding'));
12
+ display: flex;
13
+ flex-flow: row wrap;
14
+ justify-content: space-between;
15
+ box-sizing: border-box;
16
+
17
+ .cta {
18
+ width: 100%;
19
+ text-align: right;
20
+
21
+ &.center {
22
+ text-align: center;
23
+ }
24
+ }
25
+ }
26
+ }
@@ -1,2 +1 @@
1
- @import 'fields',
2
- 'search-button';
1
+ @import 'fields', 'form', 'labels', 'search-button';
@@ -0,0 +1,12 @@
1
+ @import '@/styles/functions', '@/styles/variables';
2
+
3
+ @layer base {
4
+ label {
5
+ font-weight: 900;
6
+
7
+ small {
8
+ color: get-map($theme, 'form_label-small');
9
+ font-weight: inherit;
10
+ }
11
+ }
12
+ }
@@ -1,14 +1,14 @@
1
- @use 'sass:map';
2
- @import './../../functions',
3
- './../../mixins',
4
- './../../variables';
1
+ @import './../../functions', './../../mixins', './../../variables';
5
2
 
6
- $search-icon: ('width': 24, 'height': 24);
3
+ $search-icon: (
4
+ 'width': 24,
5
+ 'height': 24,
6
+ );
7
7
 
8
8
  @layer base {
9
9
  button.search {
10
- width: px-to-rem(map.get($search-icon, 'width'));
11
- height: px-to-rem(map.get($search-icon, 'height'));
10
+ width: px-to-rem(get-map($search-icon, 'width'));
11
+ height: px-to-rem(get-map($search-icon, 'height'));
12
12
  background: transparent;
13
13
  margin: 0;
14
14
  padding: 0;
@@ -18,15 +18,15 @@ $search-icon: ('width': 24, 'height': 24);
18
18
  justify-content: center;
19
19
  cursor: pointer;
20
20
 
21
- &::before {
22
- @include transition(background, 0.3s, ease);
23
- @include image('icons/magnifying-glass.svg', true);
21
+ &::before {
22
+ @include transition(background, 0.3s, ease);
23
+ @include image('icons/magnifying-glass.svg', true);
24
24
 
25
- content: '';
26
- width: px-to-rem(map.get($search-icon, 'width'));
27
- height: px-to-rem(map.get($search-icon, 'height'));
28
- background: map.get($theme, 'form_search-button_bg');
29
- display: block;
30
- }
25
+ content: '';
26
+ width: px-to-rem(get-map($search-icon, 'width'));
27
+ height: px-to-rem(get-map($search-icon, 'height'));
28
+ background: get-map($theme, 'form_search-button_bg');
29
+ display: block;
30
+ }
31
31
  }
32
- }
32
+ }
@@ -1 +1 @@
1
- @import 'size-conversions';
1
+ @import 'maps', 'size-conversions';
@@ -0,0 +1,25 @@
1
+ @use 'sass:list';
2
+ @use 'sass:map';
3
+ @use 'sass:meta';
4
+
5
+ @function get-map($map, $key) {
6
+ @if meta.variable-exists('map') and meta.type-of($map) == map {
7
+ @if map.has-key($map, $key) {
8
+ @return map.get($map, $key);
9
+ } @else {
10
+ @error "ERROR: the key `#{$key}` does not exist in map.";
11
+ }
12
+ } @else {
13
+ @error "ERROR: map does not exist.";
14
+ }
15
+ }
16
+
17
+ @function merge-maps($maps) {
18
+ $collection: ();
19
+
20
+ @for $i from 1 through length($maps) {
21
+ $collection: map.merge($collection, list.nth($maps, $i));
22
+ }
23
+
24
+ @return $collection;
25
+ }
@@ -4,7 +4,7 @@
4
4
  // We want to use rem for accessibility, but Figma uses px (which is also a bit easier for us
5
5
  // to read and reason about). This mixin does the conversion for us.
6
6
  @function px-to-rem($size, $baseTextSize: 16) {
7
- $new-size: math.div($size, $baseTextSize);
7
+ $new-size: math.div($size, $baseTextSize);
8
8
 
9
- @return $new-size + rem;
10
- }
9
+ @return $new-size + rem;
10
+ }
package/styles/index.scss CHANGED
@@ -1,7 +1,5 @@
1
1
  /* We use CSS layers to handle specificity: https://css-tricks.com/css-cascade-layers/ */
2
2
  @layer splash, reset, base, components, pages, overrides;
3
- @import 'functions',
4
- 'variables',
5
- 'mixins',
6
- 'reset',
7
- 'base';
3
+
4
+ // noinspection Stylelint
5
+ @import 'functions', 'variables', 'mixins', 'reset', 'base';
@@ -4,4 +4,4 @@
4
4
  @content;
5
5
  }
6
6
  }
7
- }
7
+ }
@@ -6,7 +6,13 @@
6
6
  // If no 'http' is in the image path, we will prepend the image bucket URL, or the asset bucket URL for masks.
7
7
  // The asset paths can be passed in directly as part of `$image` to avoid this.
8
8
 
9
- @mixin image($image, $is-mask: false, $size: 100% auto, $repeat: no-repeat, $position: 0 0) {
9
+ @mixin image(
10
+ $image,
11
+ $is-mask: false,
12
+ $size: 100% auto,
13
+ $repeat: no-repeat,
14
+ $position: 0 0
15
+ ) {
10
16
  @if string.index($image, 'http') {
11
17
  $image: $image;
12
18
  } @else {
@@ -34,4 +40,4 @@
34
40
  mask-position: $position;
35
41
  mask-size: $size;
36
42
  display: block;
37
- }
43
+ }
@@ -11,7 +11,7 @@ $breakpoint-sizes: (
11
11
  // and lets us reference custom breakpoints by passing in a number. It lets us code
12
12
  // breakpoints a bit faster by not having to type out the full media query each time.
13
13
  @mixin breakpoint($type, $breakpoint) {
14
- @if map-has-key($breakpoint-sizes, $breakpoint) {
14
+ @if map-has-key($breakpoint-sizes, $breakpoint) {
15
15
  $breakpoint: map.get($breakpoint-sizes, $breakpoint);
16
16
  }
17
17
 
@@ -1,3 +1,5 @@
1
1
  @mixin target-safari() {
2
- @media not all and (resolution >=.001dpcm) { @content; }
3
- }
2
+ @media not all and (resolution >=.001dpcm) {
3
+ @content;
4
+ }
5
+ }
@@ -6,7 +6,6 @@
6
6
  // e.g. we use it on carousels to ensure we show different numbers of cards when the carousel is different sizes
7
7
  // Find out more: https://blog.logrocket.com/css-container-queries-guide/
8
8
 
9
-
10
9
  @mixin container-query($container, $type, $breakpoint) {
11
10
  @if map-has-key($breakpoint-sizes, $breakpoint) {
12
11
  $breakpoint: map.get($breakpoint-sizes, $breakpoint);
@@ -1,8 +1,2 @@
1
- @import 'animations',
2
- 'backgrounds',
3
- 'breakpoints',
4
- 'browsers',
5
- 'containers',
6
- 'selectors',
7
- 'styles',
8
- 'transitions';
1
+ @import 'animations', 'backgrounds', 'breakpoints', 'browsers', 'containers', 'queries',
2
+ 'selectors', 'styles', 'transitions';
@@ -0,0 +1,11 @@
1
+ @mixin query-touchscreen {
2
+ @media (hover: none), (pointer: coarse) {
3
+ @content;
4
+ }
5
+ }
6
+
7
+ @mixin query-not-touchscreen {
8
+ @media (hover: hover) and (pointer: fine) {
9
+ @content;
10
+ }
11
+ }
@@ -2,4 +2,4 @@
2
2
  @at-root #{selector-replace(&, $old, $new)} {
3
3
  @content;
4
4
  }
5
- }
5
+ }
@@ -1,31 +1,33 @@
1
- @use 'sass:map';
2
1
  @use 'sass:math';
3
- @import './../variables',
4
- './../functions';
2
+ @import './../functions', './../variables';
5
3
 
6
- @mixin dashed-border($color: map.get($theme, 'divider')) {
4
+ @mixin dashed-border($color: get-map($theme, 'divider')) {
7
5
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='8' ry='8' stroke='#{$color}' stroke-width='1' stroke-dasharray='6%2c 8' stroke-dashoffset='2' stroke-linecap='round'/%3e%3c/svg%3e");
8
6
  }
9
7
 
10
- @mixin line-under-text($color: 'light', $width: 60, $height: 4, $gap: 16, $border-radius: 2.5) {
8
+ @mixin line-under-text(
9
+ $color: 'light',
10
+ $width: 60,
11
+ $height: 4,
12
+ $gap: 16,
13
+ $border-radius: 2.5
14
+ ) {
11
15
  position: relative;
12
16
  padding-bottom: px-to-rem($height + $gap);
13
17
 
14
- &::after {
15
- content: '';
16
- background: map.get($theme, 'text_line');
17
- width: px-to-rem($width);
18
- height: px-to-rem($height);
19
- position: absolute;
20
- bottom: 0;
21
- left: 50%;
22
- margin-left: -(px-to-rem(math.div($width, 2)));
23
- border-radius: px-to-rem($border-radius);
18
+ &::after {
19
+ content: '';
20
+ background: get-map($theme, 'text_line');
21
+ width: px-to-rem($width);
22
+ height: px-to-rem($height);
23
+ position: absolute;
24
+ bottom: 0;
25
+ left: 50%;
26
+ margin-left: -(px-to-rem(math.div($width, 2)));
27
+ border-radius: px-to-rem($border-radius);
24
28
 
25
- @if $color == 'dark' {
26
- background: map.get($theme, 'text_line_dark');
27
- }
29
+ @if $color == 'dark' {
30
+ background: get-map($theme, 'text_line_dark');
28
31
  }
29
-
30
-
31
- }
32
+ }
33
+ }
@@ -7,26 +7,30 @@
7
7
  $transition: ();
8
8
 
9
9
  @for $property from 1 through length($properties) {
10
- @for $i from 0 to (length($properties)) - (length($duration)) {
11
- $duration: list.join($duration, list.nth($duration, -1));
12
- }
10
+ @for $i from 0 to (length($properties)) - (length($duration)) {
11
+ $duration: list.join($duration, list.nth($duration, -1));
12
+ }
13
13
 
14
- @for $i from 0 to (length($properties)) - (length($ease)) {
15
- $ease: list.join($ease, list.nth($ease, -1));
16
- }
14
+ @for $i from 0 to (length($properties)) - (length($ease)) {
15
+ $ease: list.join($ease, list.nth($ease, -1));
16
+ }
17
17
 
18
- @for $i from 0 to (length($properties)) - (length($delay)) {
19
- $delay: list.join($delay, list.nth($delay, -1));
20
- }
18
+ @for $i from 0 to (length($properties)) - (length($delay)) {
19
+ $delay: list.join($delay, list.nth($delay, -1));
20
+ }
21
21
 
22
- $transition: list.append(
23
- $transition,
24
- (list.nth($properties, $property) list.nth($duration, $property) list.nth($ease, $property) list.nth($delay, $property)),
25
- $separator: comma
26
- );
22
+ $transition: list.append(
23
+ $transition,
24
+ (
25
+ list.nth($properties, $property)
26
+ list.nth($duration, $property)
27
+ list.nth($ease, $property)
28
+ list.nth($delay, $property)
29
+ ),
30
+ $separator: comma
31
+ );
27
32
  }
28
33
 
29
34
  transition: $transition;
30
35
  }
31
-
32
36
  }
@@ -1 +1 @@
1
- @import 'reset';
1
+ @import 'reset';
@@ -2,19 +2,87 @@
2
2
  * https://meyerweb.com/eric/tools/css/reset/ */
3
3
 
4
4
  @layer reset {
5
- html, body, div, span, applet, object, iframe,
6
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
7
- a, abbr, acronym, address, big, cite, code,
8
- del, dfn, em, img, ins, kbd, q, s, samp,
9
- small, strike, strong, sub, sup, tt, var,
10
- b, u, i, center,
11
- dl, dt, dd, ol, ul, li,
12
- fieldset, form, label, legend,
13
- table, caption, tbody, tfoot, thead, tr, th, td,
14
- article, aside, canvas, details, embed,
15
- figure, figcaption, footer, header, hgroup,
16
- menu, nav, output, ruby, section, summary,
17
- time, mark, audio, video {
5
+ html,
6
+ body,
7
+ div,
8
+ span,
9
+ applet,
10
+ object,
11
+ iframe,
12
+ h1,
13
+ h2,
14
+ h3,
15
+ h4,
16
+ h5,
17
+ h6,
18
+ p,
19
+ blockquote,
20
+ pre,
21
+ a,
22
+ abbr,
23
+ acronym,
24
+ address,
25
+ big,
26
+ cite,
27
+ code,
28
+ del,
29
+ dfn,
30
+ em,
31
+ img,
32
+ ins,
33
+ kbd,
34
+ q,
35
+ s,
36
+ samp,
37
+ small,
38
+ strike,
39
+ strong,
40
+ sub,
41
+ sup,
42
+ tt,
43
+ var,
44
+ b,
45
+ u,
46
+ i,
47
+ center,
48
+ dl,
49
+ dt,
50
+ dd,
51
+ ol,
52
+ ul,
53
+ li,
54
+ fieldset,
55
+ form,
56
+ label,
57
+ legend,
58
+ table,
59
+ caption,
60
+ tbody,
61
+ tfoot,
62
+ thead,
63
+ tr,
64
+ th,
65
+ td,
66
+ article,
67
+ aside,
68
+ canvas,
69
+ details,
70
+ embed,
71
+ figure,
72
+ figcaption,
73
+ footer,
74
+ header,
75
+ hgroup,
76
+ menu,
77
+ nav,
78
+ output,
79
+ ruby,
80
+ section,
81
+ summary,
82
+ time,
83
+ mark,
84
+ audio,
85
+ video {
18
86
  margin: 0;
19
87
  padding: 0;
20
88
  border: 0;
@@ -23,8 +91,17 @@
23
91
  vertical-align: baseline;
24
92
  }
25
93
 
26
- article, aside, details, figcaption, figure,
27
- footer, header, hgroup, menu, nav, section {
94
+ article,
95
+ aside,
96
+ details,
97
+ figcaption,
98
+ figure,
99
+ footer,
100
+ header,
101
+ hgroup,
102
+ menu,
103
+ nav,
104
+ section {
28
105
  display: block;
29
106
  }
30
107
 
@@ -43,13 +120,20 @@
43
120
  line-height: 1;
44
121
  }
45
122
 
46
- ul { list-style: disc; }
47
- ol { list-style: decimal; }
123
+ ul {
124
+ list-style: disc;
125
+ }
126
+
127
+ ol {
128
+ list-style: decimal;
129
+ }
48
130
 
49
- blockquote, q {
131
+ blockquote,
132
+ q {
50
133
  quotes: none;
51
134
 
52
- &::before, &::after {
135
+ &::before,
136
+ &::after {
53
137
  content: '';
54
138
  content: none;
55
139
  }
@@ -59,4 +143,4 @@
59
143
  border-collapse: collapse;
60
144
  border-spacing: 0;
61
145
  }
62
- }
146
+ }