@configura/web-ui 2.2.0-alpha.1 → 2.2.0-alpha.2

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 (116) hide show
  1. package/.eslintrc.json +5 -5
  2. package/.postcssrc.json +8 -8
  3. package/LICENSE +201 -201
  4. package/README.md +1 -1
  5. package/dist/components/CanvasWrapper.d.ts +9 -9
  6. package/dist/components/CanvasWrapper.js +8 -8
  7. package/dist/components/CfgPriceView.d.ts +6 -6
  8. package/dist/components/CfgPriceView.js +13 -13
  9. package/dist/components/ConfigurationActionsButtonRow.d.ts +14 -14
  10. package/dist/components/ConfigurationActionsButtonRow.js +16 -16
  11. package/dist/components/Configurator.d.ts +12 -12
  12. package/dist/components/Configurator.js +15 -15
  13. package/dist/components/ConfiguratorWrapper.d.ts +8 -8
  14. package/dist/components/ConfiguratorWrapper.js +5 -5
  15. package/dist/components/CurrencyPrice.d.ts +9 -9
  16. package/dist/components/CurrencyPrice.js +7 -7
  17. package/dist/components/ErrorContext.d.ts +2 -2
  18. package/dist/components/ErrorContext.js +2 -2
  19. package/dist/components/ExpandableHeadingRow.d.ts +15 -15
  20. package/dist/components/ExpandableHeadingRow.js +23 -23
  21. package/dist/components/Loading.d.ts +13 -13
  22. package/dist/components/Loading.js +20 -20
  23. package/dist/components/ProductInformation.d.ts +13 -13
  24. package/dist/components/ProductInformation.js +14 -14
  25. package/dist/components/ResetButton.d.ts +8 -8
  26. package/dist/components/ResetButton.js +7 -7
  27. package/dist/components/ShareView.d.ts +3 -3
  28. package/dist/components/ShareView.js +21 -21
  29. package/dist/components/TaskListView.d.ts +8 -8
  30. package/dist/components/TaskListView.js +69 -69
  31. package/dist/components/TaskStartView.d.ts +12 -12
  32. package/dist/components/TaskStartView.js +29 -29
  33. package/dist/components/icons/Checkmark.d.ts +6 -6
  34. package/dist/components/icons/Checkmark.js +12 -12
  35. package/dist/components/icons/Chevron.d.ts +7 -7
  36. package/dist/components/icons/Chevron.js +18 -18
  37. package/dist/components/icons/CircleXmarkIcon.d.ts +3 -3
  38. package/dist/components/icons/CircleXmarkIcon.js +8 -8
  39. package/dist/components/icons/DownloadIcon.d.ts +3 -3
  40. package/dist/components/icons/DownloadIcon.js +8 -8
  41. package/dist/components/icons/ErrorIcon.d.ts +3 -3
  42. package/dist/components/icons/ErrorIcon.js +8 -8
  43. package/dist/components/productConfiguration/CfgAdditionalProductView.d.ts +3 -3
  44. package/dist/components/productConfiguration/CfgAdditionalProductView.js +46 -46
  45. package/dist/components/productConfiguration/CfgCheckboxView.d.ts +4 -4
  46. package/dist/components/productConfiguration/CfgCheckboxView.js +7 -7
  47. package/dist/components/productConfiguration/CfgCheckboxesView.d.ts +4 -4
  48. package/dist/components/productConfiguration/CfgCheckboxesView.js +20 -20
  49. package/dist/components/productConfiguration/CfgConfigurationCommonView.d.ts +7 -7
  50. package/dist/components/productConfiguration/CfgConfigurationCommonView.js +8 -8
  51. package/dist/components/productConfiguration/CfgDropdownOptionView.d.ts +4 -4
  52. package/dist/components/productConfiguration/CfgDropdownOptionView.js +23 -23
  53. package/dist/components/productConfiguration/CfgDropdownView.d.ts +4 -4
  54. package/dist/components/productConfiguration/CfgDropdownView.js +23 -23
  55. package/dist/components/productConfiguration/CfgFeatureView.d.ts +72 -72
  56. package/dist/components/productConfiguration/CfgFeatureView.js +77 -77
  57. package/dist/components/productConfiguration/CfgGroupView.d.ts +4 -4
  58. package/dist/components/productConfiguration/CfgGroupView.js +7 -7
  59. package/dist/components/productConfiguration/CfgMiscFile.d.ts +4 -4
  60. package/dist/components/productConfiguration/CfgMiscFile.js +9 -9
  61. package/dist/components/productConfiguration/CfgMiscFiles.d.ts +4 -4
  62. package/dist/components/productConfiguration/CfgMiscFiles.js +5 -5
  63. package/dist/components/productConfiguration/CfgNote.d.ts +4 -4
  64. package/dist/components/productConfiguration/CfgNote.js +15 -15
  65. package/dist/components/productConfiguration/CfgNotes.d.ts +4 -4
  66. package/dist/components/productConfiguration/CfgNotes.js +5 -5
  67. package/dist/components/productConfiguration/CfgOptionCommonView.d.ts +6 -6
  68. package/dist/components/productConfiguration/CfgOptionCommonView.js +53 -53
  69. package/dist/components/productConfiguration/CfgOptionNumericView.d.ts +29 -29
  70. package/dist/components/productConfiguration/CfgOptionNumericView.js +132 -132
  71. package/dist/components/productConfiguration/CfgOptionPriceView.d.ts +9 -9
  72. package/dist/components/productConfiguration/CfgOptionPriceView.js +31 -31
  73. package/dist/components/productConfiguration/CfgProductConfigurationView.d.ts +24 -24
  74. package/dist/components/productConfiguration/CfgProductConfigurationView.js +50 -50
  75. package/dist/css/web-ui.css +1 -1
  76. package/dist/css/web-ui.css.map +1 -1
  77. package/dist/index.d.ts +29 -29
  78. package/dist/index.js +29 -29
  79. package/dist/scss/_button.scss +52 -52
  80. package/dist/scss/_configurator.scss +132 -132
  81. package/dist/scss/_expandable.scss +38 -38
  82. package/dist/scss/_feature-item.scss +146 -146
  83. package/dist/scss/_forms.scss +44 -44
  84. package/dist/scss/_hr.scss +16 -16
  85. package/dist/scss/_loading.scss +98 -98
  86. package/dist/scss/_misc-file-and-note.scss +44 -44
  87. package/dist/scss/_mixins.scss +56 -56
  88. package/dist/scss/_option-tree.scss +29 -29
  89. package/dist/scss/_product-information.scss +63 -63
  90. package/dist/scss/_range-view.scss +39 -39
  91. package/dist/scss/_slider.scss +70 -70
  92. package/dist/scss/_tasks.scss +72 -72
  93. package/dist/scss/_themed.scss +156 -156
  94. package/dist/scss/_utilities.scss +22 -22
  95. package/dist/scss/_variables.scss +6 -6
  96. package/dist/scss/icons/_checkmark.scss +46 -46
  97. package/dist/scss/icons/_chevron.scss +62 -62
  98. package/dist/scss/icons/_circle-xmark-icon.scss +24 -24
  99. package/dist/scss/icons/_download-icon.scss +24 -24
  100. package/dist/scss/icons/_error-icon.scss +24 -24
  101. package/dist/scss/web-ui.scss +11 -11
  102. package/dist/useCatParams.d.ts +17 -17
  103. package/dist/useCatParams.js +29 -29
  104. package/dist/useObservable.d.ts +4 -4
  105. package/dist/useObservable.js +18 -18
  106. package/dist/useRerender.d.ts +1 -1
  107. package/dist/useRerender.js +5 -5
  108. package/dist/useResize.d.ts +6 -6
  109. package/dist/useResize.js +47 -47
  110. package/dist/useSelected.d.ts +2 -2
  111. package/dist/useSelected.js +13 -13
  112. package/dist/useUniqueId.d.ts +1 -1
  113. package/dist/useUniqueId.js +3 -3
  114. package/dist/utilities.d.ts +5 -5
  115. package/dist/utilities.js +1 -1
  116. package/package.json +3 -3
@@ -1,156 +1,156 @@
1
- @use "sass:map";
2
- @use "sass:color";
3
-
4
- @use "variables" as v;
5
-
6
- // Components
7
- @use "button";
8
- @use "forms";
9
-
10
- @use "configurator";
11
- @use "expandable";
12
- @use "feature-item";
13
- @use "hr";
14
- @use "loading";
15
- @use "misc-file-and-note";
16
- @use "option-tree";
17
- @use "product-information";
18
- @use "range-view";
19
- @use "slider";
20
- @use "tasks";
21
-
22
- // Icons
23
- @use "icons/checkmark";
24
- @use "icons/chevron";
25
- @use "icons/circle-xmark-icon";
26
- @use "icons/download-icon";
27
- @use "icons/error-icon";
28
-
29
- // Utilities
30
- @use "utilities";
31
-
32
- /* Colors */
33
-
34
- $black: hsl(0, 0%, 0%) !default;
35
- $white: hsl(0, 0%, 100%) !default;
36
- $darkGrey: hsl(0, 0%, 15%) !default;
37
-
38
- /* Specific colors */
39
-
40
- $border: hsl(252, 5%, 79%) !default;
41
- $borderDark: hsl(0, 0%, 73%) !default;
42
- $icon: hsl(252, 5%, 50%) !default;
43
- $focusOutlineOuter: hsl(0, 0%, 13%) !default;
44
- $sliderTrack: #666 !default;
45
- $spinner2: hsla(0, 0%, 0%, 0.15);
46
- $grayText: hsl(0, 0%, 50%) !default;
47
- $text: hsl(0, 0%, 20%) !default;
48
- $link: hsl(209, 100%, 35%) !default;
49
- $error: hsl(10, 72%, 41%) !default;
50
-
51
- /* As convention we assume the default theme when naming colors,
52
- as attempts at generic naming often leads to confusion */
53
- $lightTheme: (
54
- "black": $black,
55
- "border": $border,
56
- "borderDark": $borderDark,
57
- "checkButtonChecked": $black,
58
- "checkButtonUnchecked": $border,
59
- "chevronActive": $black,
60
- "chevronPassive": $borderDark,
61
- "divider": $border,
62
- "dividerDark": $borderDark,
63
- "error": $error,
64
- "focusOutlineInner": $white,
65
- "focusOutlineOuter": $text,
66
- "grayText": $grayText,
67
- "icon": $icon,
68
- "link": $link,
69
- "overlayBackground": $white,
70
- "sliderThumb": $white,
71
- "sliderThumbShadow": $sliderTrack,
72
- "sliderTrack": $sliderTrack,
73
- "spinner1": $black,
74
- "spinner2": $spinner2,
75
- "text": $text,
76
- "white": $white,
77
- ) !default;
78
-
79
- @function invertLightness($color) {
80
- @return color.change(
81
- $color,
82
- $lightness: 100 - color.lightness($color) * 0.8
83
- ); // We scale with 80% to have a bit more contrast
84
- }
85
-
86
- @function invertLightnessList($list) {
87
- @each $key, $color in $list {
88
- $list: map.set($list, $key, invertLightness($color));
89
- }
90
- @return $list;
91
- }
92
-
93
- $darkTheme: invertLightnessList($lightTheme);
94
-
95
- $themes: (
96
- "light": $lightTheme,
97
- "dark": $darkTheme,
98
- );
99
-
100
- @mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {
101
- a {
102
- color: map.get($ct, "link");
103
- }
104
-
105
- @include button.classes(
106
- map.get($ct, "text"),
107
- map.get($ct, "borderDark"),
108
- map.get($ct, "focusOutlineInner"),
109
- map.get($ct, "focusOutlineOuter"),
110
- map.get($ct, "grayText"),
111
- map.get($ct, "border")
112
- );
113
- @include checkmark.classes(
114
- map.get($ct, "checkButtonChecked"),
115
- map.get($ct, "checkButtonUnchecked")
116
- );
117
- @include chevron.classes(map.get($ct, "chevronActive"), map.get($ct, "chevronPassive"));
118
- @include circle-xmark-icon.classes(map.get($ct, "icon"));
119
- @include configurator.classes(
120
- $baseFontSize,
121
- map.get($ct, "text"),
122
- map.get($ct, "grayText"),
123
- map.get($ct, "divider")
124
- );
125
- @include download-icon.classes(map.get($ct, "link"));
126
- @include expandable.classes;
127
- @include error-icon.classes(map.get($ct, "error"));
128
- @include feature-item.classes(
129
- map.get($ct, "text"),
130
- map.get($ct, "grayText"),
131
- map.get($ct, "checkButtonUnchecked"),
132
- map.get($ct, "checkButtonChecked"),
133
- map.get($ct, "focusOutlineInner"),
134
- map.get($ct, "focusOutlineOuter"),
135
- map.get($ct, "dividerDark")
136
- );
137
- @include forms.classes(map.get($ct, "borderDark"));
138
- @include hr.classes(map.get($ct, "divider"));
139
- @include loading.classes(
140
- map.get($ct, "black"),
141
- map.get($ct, "spinner1"),
142
- map.get($ct, "spinner2"),
143
- map.get($ct, "overlayBackground"),
144
- $overlayingZIndex
145
- );
146
- @include misc-file-and-note.classes(map.get($ct, "grayText"), map.get($ct, "link"));
147
- @include option-tree.classes;
148
- @include product-information.classes(map.get($ct, "text"));
149
- @include range-view.classes(map.get($ct, "error"));
150
- @include slider.classes(
151
- map.get($ct, "sliderTrack"),
152
- map.get($ct, "sliderThumb"),
153
- map.get($ct, "sliderThumbShadow")
154
- );
155
- @include tasks.classes(map.get($ct, "border"), map.get($ct, "link"));
156
- }
1
+ @use "sass:map";
2
+ @use "sass:color";
3
+
4
+ @use "variables" as v;
5
+
6
+ // Components
7
+ @use "button";
8
+ @use "forms";
9
+
10
+ @use "configurator";
11
+ @use "expandable";
12
+ @use "feature-item";
13
+ @use "hr";
14
+ @use "loading";
15
+ @use "misc-file-and-note";
16
+ @use "option-tree";
17
+ @use "product-information";
18
+ @use "range-view";
19
+ @use "slider";
20
+ @use "tasks";
21
+
22
+ // Icons
23
+ @use "icons/checkmark";
24
+ @use "icons/chevron";
25
+ @use "icons/circle-xmark-icon";
26
+ @use "icons/download-icon";
27
+ @use "icons/error-icon";
28
+
29
+ // Utilities
30
+ @use "utilities";
31
+
32
+ /* Colors */
33
+
34
+ $black: hsl(0, 0%, 0%) !default;
35
+ $white: hsl(0, 0%, 100%) !default;
36
+ $darkGrey: hsl(0, 0%, 15%) !default;
37
+
38
+ /* Specific colors */
39
+
40
+ $border: hsl(252, 5%, 79%) !default;
41
+ $borderDark: hsl(0, 0%, 73%) !default;
42
+ $icon: hsl(252, 5%, 50%) !default;
43
+ $focusOutlineOuter: hsl(0, 0%, 13%) !default;
44
+ $sliderTrack: #666 !default;
45
+ $spinner2: hsla(0, 0%, 0%, 0.15);
46
+ $grayText: hsl(0, 0%, 50%) !default;
47
+ $text: hsl(0, 0%, 20%) !default;
48
+ $link: hsl(209, 100%, 35%) !default;
49
+ $error: hsl(10, 72%, 41%) !default;
50
+
51
+ /* As convention we assume the default theme when naming colors,
52
+ as attempts at generic naming often leads to confusion */
53
+ $lightTheme: (
54
+ "black": $black,
55
+ "border": $border,
56
+ "borderDark": $borderDark,
57
+ "checkButtonChecked": $black,
58
+ "checkButtonUnchecked": $border,
59
+ "chevronActive": $black,
60
+ "chevronPassive": $borderDark,
61
+ "divider": $border,
62
+ "dividerDark": $borderDark,
63
+ "error": $error,
64
+ "focusOutlineInner": $white,
65
+ "focusOutlineOuter": $text,
66
+ "grayText": $grayText,
67
+ "icon": $icon,
68
+ "link": $link,
69
+ "overlayBackground": $white,
70
+ "sliderThumb": $white,
71
+ "sliderThumbShadow": $sliderTrack,
72
+ "sliderTrack": $sliderTrack,
73
+ "spinner1": $black,
74
+ "spinner2": $spinner2,
75
+ "text": $text,
76
+ "white": $white,
77
+ ) !default;
78
+
79
+ @function invertLightness($color) {
80
+ @return color.change(
81
+ $color,
82
+ $lightness: 100 - color.lightness($color) * 0.8
83
+ ); // We scale with 80% to have a bit more contrast
84
+ }
85
+
86
+ @function invertLightnessList($list) {
87
+ @each $key, $color in $list {
88
+ $list: map.set($list, $key, invertLightness($color));
89
+ }
90
+ @return $list;
91
+ }
92
+
93
+ $darkTheme: invertLightnessList($lightTheme);
94
+
95
+ $themes: (
96
+ "light": $lightTheme,
97
+ "dark": $darkTheme,
98
+ );
99
+
100
+ @mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {
101
+ a {
102
+ color: map.get($ct, "link");
103
+ }
104
+
105
+ @include button.classes(
106
+ map.get($ct, "text"),
107
+ map.get($ct, "borderDark"),
108
+ map.get($ct, "focusOutlineInner"),
109
+ map.get($ct, "focusOutlineOuter"),
110
+ map.get($ct, "grayText"),
111
+ map.get($ct, "border")
112
+ );
113
+ @include checkmark.classes(
114
+ map.get($ct, "checkButtonChecked"),
115
+ map.get($ct, "checkButtonUnchecked")
116
+ );
117
+ @include chevron.classes(map.get($ct, "chevronActive"), map.get($ct, "chevronPassive"));
118
+ @include circle-xmark-icon.classes(map.get($ct, "icon"));
119
+ @include configurator.classes(
120
+ $baseFontSize,
121
+ map.get($ct, "text"),
122
+ map.get($ct, "grayText"),
123
+ map.get($ct, "divider")
124
+ );
125
+ @include download-icon.classes(map.get($ct, "link"));
126
+ @include expandable.classes;
127
+ @include error-icon.classes(map.get($ct, "error"));
128
+ @include feature-item.classes(
129
+ map.get($ct, "text"),
130
+ map.get($ct, "grayText"),
131
+ map.get($ct, "checkButtonUnchecked"),
132
+ map.get($ct, "checkButtonChecked"),
133
+ map.get($ct, "focusOutlineInner"),
134
+ map.get($ct, "focusOutlineOuter"),
135
+ map.get($ct, "dividerDark")
136
+ );
137
+ @include forms.classes(map.get($ct, "borderDark"));
138
+ @include hr.classes(map.get($ct, "divider"));
139
+ @include loading.classes(
140
+ map.get($ct, "black"),
141
+ map.get($ct, "spinner1"),
142
+ map.get($ct, "spinner2"),
143
+ map.get($ct, "overlayBackground"),
144
+ $overlayingZIndex
145
+ );
146
+ @include misc-file-and-note.classes(map.get($ct, "grayText"), map.get($ct, "link"));
147
+ @include option-tree.classes;
148
+ @include product-information.classes(map.get($ct, "text"));
149
+ @include range-view.classes(map.get($ct, "error"));
150
+ @include slider.classes(
151
+ map.get($ct, "sliderTrack"),
152
+ map.get($ct, "sliderThumb"),
153
+ map.get($ct, "sliderThumbShadow")
154
+ );
155
+ @include tasks.classes(map.get($ct, "border"), map.get($ct, "link"));
156
+ }
@@ -1,22 +1,22 @@
1
- /**
2
- * Web UI Utilities
3
- */
4
-
5
- .cfgMl1 {
6
- margin-left: 1em;
7
- }
8
-
9
- .cfgMt1 {
10
- margin-top: 1em;
11
- }
12
-
13
- .cfgMb1 {
14
- margin-bottom: 1em;
15
- }
16
-
17
- .cfgTextOverflow {
18
- overflow: hidden;
19
- text-overflow: ellipsis;
20
- white-space: pre-line;
21
- overflow-wrap: anywhere;
22
- }
1
+ /**
2
+ * Web UI Utilities
3
+ */
4
+
5
+ .cfgMl1 {
6
+ margin-left: 1em;
7
+ }
8
+
9
+ .cfgMt1 {
10
+ margin-top: 1em;
11
+ }
12
+
13
+ .cfgMb1 {
14
+ margin-bottom: 1em;
15
+ }
16
+
17
+ .cfgTextOverflow {
18
+ overflow: hidden;
19
+ text-overflow: ellipsis;
20
+ white-space: pre-line;
21
+ overflow-wrap: anywhere;
22
+ }
@@ -1,6 +1,6 @@
1
- /**
2
- * Web UI Variables
3
- */
4
-
5
- $baseFontSize: 10px !default; // We use 10px for easy em conversion
6
- $overlayingZIndex: 1000 !default;
1
+ /**
2
+ * Web UI Variables
3
+ */
4
+
5
+ $baseFontSize: 10px !default; // We use 10px for easy em conversion
6
+ $overlayingZIndex: 1000 !default;
@@ -1,46 +1,46 @@
1
- @use "../mixins";
2
-
3
- @mixin classes($colorActive, $colorPassive) {
4
- .cfgCheckmark {
5
- /* The distance-units inside the checkmark are px even though everything
6
- else is relative units. The SVG has its own coordinate space. */
7
-
8
- @include mixins.cfgRootStyles;
9
-
10
- display: inline-block;
11
- width: 100%;
12
- height: 100%;
13
-
14
- &__container {
15
- transition: transform 0.4s;
16
- transform: translateY(17px);
17
- }
18
-
19
- &__line {
20
- stroke: $colorActive;
21
- stroke-linecap: round;
22
- stroke-width: 12;
23
- transform-origin: 50px 50px;
24
- transition: transform 0.4s, stroke 0.4s;
25
- }
26
-
27
- &__lineLeft {
28
- stroke: $colorActive;
29
- transform: rotate(40deg) translateY(24px) translateX(18px);
30
- }
31
-
32
- &__lineRight {
33
- stroke: $colorActive;
34
- transform: rotate(-50deg) translateY(-2px) translateX(-3px);
35
- }
36
-
37
- @content;
38
-
39
- &__border {
40
- @include mixins.cfgCheckbox($colorPassive);
41
- &--active {
42
- @include mixins.cfgCheckbox($colorActive);
43
- }
44
- }
45
- }
46
- }
1
+ @use "../mixins";
2
+
3
+ @mixin classes($colorActive, $colorPassive) {
4
+ .cfgCheckmark {
5
+ /* The distance-units inside the checkmark are px even though everything
6
+ else is relative units. The SVG has its own coordinate space. */
7
+
8
+ @include mixins.cfgRootStyles;
9
+
10
+ display: inline-block;
11
+ width: 100%;
12
+ height: 100%;
13
+
14
+ &__container {
15
+ transition: transform 0.4s;
16
+ transform: translateY(17px);
17
+ }
18
+
19
+ &__line {
20
+ stroke: $colorActive;
21
+ stroke-linecap: round;
22
+ stroke-width: 12;
23
+ transform-origin: 50px 50px;
24
+ transition: transform 0.4s, stroke 0.4s;
25
+ }
26
+
27
+ &__lineLeft {
28
+ stroke: $colorActive;
29
+ transform: rotate(40deg) translateY(24px) translateX(18px);
30
+ }
31
+
32
+ &__lineRight {
33
+ stroke: $colorActive;
34
+ transform: rotate(-50deg) translateY(-2px) translateX(-3px);
35
+ }
36
+
37
+ @content;
38
+
39
+ &__border {
40
+ @include mixins.cfgCheckbox($colorPassive);
41
+ &--active {
42
+ @include mixins.cfgCheckbox($colorActive);
43
+ }
44
+ }
45
+ }
46
+ }
@@ -1,62 +1,62 @@
1
- @use "../mixins";
2
-
3
- @mixin classes($activeColor, $passiveColor) {
4
- .cfgChevron {
5
- /* The distance-units inside the chevron are px even though everything
6
- else is relative units. The SVG has its own coordinate space. */
7
-
8
- @include mixins.cfgRootStyles;
9
-
10
- display: inline-block;
11
- width: 100%;
12
-
13
- &__container {
14
- transition: transform 0.4s;
15
-
16
- &--down {
17
- transform: translateY(13px);
18
- }
19
-
20
- &--up {
21
- transform: translateY(-13px);
22
- }
23
- }
24
-
25
- &__line {
26
- stroke-linecap: round;
27
- stroke-width: 10;
28
- transform-origin: 50px 50px;
29
- transition: transform 0.4s, stroke 0.4s;
30
- }
31
-
32
- &__lineLeft,
33
- &__lineRight {
34
- &--active {
35
- stroke: $activeColor;
36
- }
37
- &--passive {
38
- stroke: $passiveColor;
39
- }
40
- }
41
-
42
- &__lineLeft {
43
- &--down {
44
- transform: rotate(40deg);
45
- }
46
- &--up {
47
- transform: rotate(-40deg);
48
- }
49
- }
50
- &__lineRight {
51
- &--down {
52
- transform: rotate(-40deg);
53
- }
54
-
55
- &--up {
56
- transform: rotate(40deg);
57
- }
58
- }
59
-
60
- @content;
61
- }
62
- }
1
+ @use "../mixins";
2
+
3
+ @mixin classes($activeColor, $passiveColor) {
4
+ .cfgChevron {
5
+ /* The distance-units inside the chevron are px even though everything
6
+ else is relative units. The SVG has its own coordinate space. */
7
+
8
+ @include mixins.cfgRootStyles;
9
+
10
+ display: inline-block;
11
+ width: 100%;
12
+
13
+ &__container {
14
+ transition: transform 0.4s;
15
+
16
+ &--down {
17
+ transform: translateY(13px);
18
+ }
19
+
20
+ &--up {
21
+ transform: translateY(-13px);
22
+ }
23
+ }
24
+
25
+ &__line {
26
+ stroke-linecap: round;
27
+ stroke-width: 10;
28
+ transform-origin: 50px 50px;
29
+ transition: transform 0.4s, stroke 0.4s;
30
+ }
31
+
32
+ &__lineLeft,
33
+ &__lineRight {
34
+ &--active {
35
+ stroke: $activeColor;
36
+ }
37
+ &--passive {
38
+ stroke: $passiveColor;
39
+ }
40
+ }
41
+
42
+ &__lineLeft {
43
+ &--down {
44
+ transform: rotate(40deg);
45
+ }
46
+ &--up {
47
+ transform: rotate(-40deg);
48
+ }
49
+ }
50
+ &__lineRight {
51
+ &--down {
52
+ transform: rotate(-40deg);
53
+ }
54
+
55
+ &--up {
56
+ transform: rotate(40deg);
57
+ }
58
+ }
59
+
60
+ @content;
61
+ }
62
+ }
@@ -1,24 +1,24 @@
1
- @use "../mixins";
2
-
3
- @mixin classes($color) {
4
- .cfgCircleXmarkIcon {
5
- /* The distance-units inside the icon are px even though everything
6
- else is relative units. The SVG has its own coordinate space. */
7
-
8
- @include mixins.cfgRootStyles;
9
-
10
- display: inline-block;
11
- width: 100%;
12
- height: 100%;
13
-
14
- path,
15
- circle {
16
- stroke: $color;
17
- stroke-linecap: round;
18
- stroke-linejoin: round;
19
- stroke-width: 1.5;
20
- }
21
-
22
- @content;
23
- }
24
- }
1
+ @use "../mixins";
2
+
3
+ @mixin classes($color) {
4
+ .cfgCircleXmarkIcon {
5
+ /* The distance-units inside the icon are px even though everything
6
+ else is relative units. The SVG has its own coordinate space. */
7
+
8
+ @include mixins.cfgRootStyles;
9
+
10
+ display: inline-block;
11
+ width: 100%;
12
+ height: 100%;
13
+
14
+ path,
15
+ circle {
16
+ stroke: $color;
17
+ stroke-linecap: round;
18
+ stroke-linejoin: round;
19
+ stroke-width: 1.5;
20
+ }
21
+
22
+ @content;
23
+ }
24
+ }
@@ -1,24 +1,24 @@
1
- @use "../mixins";
2
-
3
- @mixin classes($color) {
4
- .cfgDownloadIcon {
5
- /* The distance-units inside the icon are px even though everything
6
- else is relative units. The SVG has its own coordinate space. */
7
-
8
- @include mixins.cfgRootStyles;
9
-
10
- display: inline-block;
11
- width: 100%;
12
- height: 100%;
13
-
14
- path,
15
- circle {
16
- stroke: $color;
17
- stroke-linecap: round;
18
- stroke-linejoin: round;
19
- stroke-width: 1.5;
20
- }
21
-
22
- @content;
23
- }
24
- }
1
+ @use "../mixins";
2
+
3
+ @mixin classes($color) {
4
+ .cfgDownloadIcon {
5
+ /* The distance-units inside the icon are px even though everything
6
+ else is relative units. The SVG has its own coordinate space. */
7
+
8
+ @include mixins.cfgRootStyles;
9
+
10
+ display: inline-block;
11
+ width: 100%;
12
+ height: 100%;
13
+
14
+ path,
15
+ circle {
16
+ stroke: $color;
17
+ stroke-linecap: round;
18
+ stroke-linejoin: round;
19
+ stroke-width: 1.5;
20
+ }
21
+
22
+ @content;
23
+ }
24
+ }