@configura/web-ui 1.2.1 → 1.3.0-alpha.3

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 (76) hide show
  1. package/.postcssrc.json +8 -8
  2. package/LICENSE +201 -201
  3. package/README.md +1 -1
  4. package/dist/components/CanvasWrapper.d.ts +9 -9
  5. package/dist/components/CanvasWrapper.js +8 -8
  6. package/dist/components/ConfigurationActionsButtonRow.d.ts +11 -11
  7. package/dist/components/ConfigurationActionsButtonRow.js +13 -13
  8. package/dist/components/Configurator.d.ts +12 -12
  9. package/dist/components/Configurator.js +15 -15
  10. package/dist/components/ConfiguratorWrapper.d.ts +8 -8
  11. package/dist/components/ConfiguratorWrapper.js +5 -5
  12. package/dist/components/CurrencyPrice.d.ts +9 -9
  13. package/dist/components/CurrencyPrice.js +7 -7
  14. package/dist/components/ExpandableHeadingRow.d.ts +15 -15
  15. package/dist/components/ExpandableHeadingRow.js +21 -21
  16. package/dist/components/Loading.d.ts +13 -13
  17. package/dist/components/Loading.js +20 -20
  18. package/dist/components/ProductInformation.d.ts +10 -10
  19. package/dist/components/ProductInformation.js +23 -23
  20. package/dist/components/icons/Checkmark.d.ts +5 -5
  21. package/dist/components/icons/Checkmark.js +12 -12
  22. package/dist/components/icons/Chevron.d.ts +6 -6
  23. package/dist/components/icons/Chevron.js +18 -18
  24. package/dist/components/productConfiguration/CfgAdditionalProductView.d.ts +3 -3
  25. package/dist/components/productConfiguration/CfgAdditionalProductView.js +28 -28
  26. package/dist/components/productConfiguration/CfgCheckboxView.d.ts +18 -18
  27. package/dist/components/productConfiguration/CfgCheckboxView.js +22 -22
  28. package/dist/components/productConfiguration/CfgCheckboxesView.d.ts +12 -12
  29. package/dist/components/productConfiguration/CfgCheckboxesView.js +18 -18
  30. package/dist/components/productConfiguration/CfgDropdownOptionView.d.ts +18 -18
  31. package/dist/components/productConfiguration/CfgDropdownOptionView.js +33 -33
  32. package/dist/components/productConfiguration/CfgDropdownView.d.ts +12 -12
  33. package/dist/components/productConfiguration/CfgDropdownView.js +20 -20
  34. package/dist/components/productConfiguration/CfgFeatureView.d.ts +27 -27
  35. package/dist/components/productConfiguration/CfgFeatureView.js +34 -34
  36. package/dist/components/productConfiguration/CfgGroupView.d.ts +4 -4
  37. package/dist/components/productConfiguration/CfgGroupView.js +13 -13
  38. package/dist/components/productConfiguration/CfgOptionFeaturesView.d.ts +6 -6
  39. package/dist/components/productConfiguration/CfgOptionFeaturesView.js +13 -13
  40. package/dist/components/productConfiguration/CfgOptionPriceView.d.ts +9 -9
  41. package/dist/components/productConfiguration/CfgOptionPriceView.js +29 -29
  42. package/dist/components/productConfiguration/CfgProductConfigurationView.d.ts +18 -18
  43. package/dist/components/productConfiguration/CfgProductConfigurationView.js +37 -37
  44. package/dist/css/web-ui.css +1 -1
  45. package/dist/css/web-ui.css.map +1 -1
  46. package/dist/index.d.ts +20 -20
  47. package/dist/index.js +20 -20
  48. package/dist/scss/_button.scss +36 -36
  49. package/dist/scss/_configurator.scss +67 -67
  50. package/dist/scss/_expandable.scss +37 -37
  51. package/dist/scss/_feature-item.scss +124 -124
  52. package/dist/scss/_hr.scss +16 -16
  53. package/dist/scss/_loading.scss +98 -98
  54. package/dist/scss/_mixins.scss +56 -56
  55. package/dist/scss/_option-tree.scss +29 -29
  56. package/dist/scss/_product-information.scss +49 -49
  57. package/dist/scss/_slider.scss +70 -70
  58. package/dist/scss/_themed.scss +123 -123
  59. package/dist/scss/_utilities.scss +17 -17
  60. package/dist/scss/_variables.scss +6 -6
  61. package/dist/scss/icons/_checkmark.scss +46 -46
  62. package/dist/scss/icons/_chevron.scss +62 -62
  63. package/dist/scss/web-ui.scss +11 -11
  64. package/dist/useObservable.d.ts +4 -4
  65. package/dist/useObservable.js +18 -18
  66. package/dist/useRerender.d.ts +1 -1
  67. package/dist/useRerender.js +5 -5
  68. package/dist/useResize.d.ts +6 -6
  69. package/dist/useResize.js +47 -47
  70. package/dist/useSelected.d.ts +2 -2
  71. package/dist/useSelected.js +13 -13
  72. package/dist/useUniqueId.d.ts +1 -1
  73. package/dist/useUniqueId.js +7 -7
  74. package/dist/utilities.d.ts +5 -5
  75. package/dist/utilities.js +1 -1
  76. package/package.json +3 -3
@@ -1,49 +1,49 @@
1
- /**
2
- * Web UI Product information
3
- */
4
-
5
- @use "sass:math";
6
- @use "mixins";
7
-
8
- @mixin classes($textColor) {
9
- .cfgProductInfo {
10
- @include mixins.cfgRootStyles;
11
-
12
- color: $textColor;
13
-
14
- display: flex;
15
-
16
- &__left {
17
- flex: 1 1 auto;
18
- min-width: 0;
19
- overflow: hidden;
20
- }
21
-
22
- &__right {
23
- align-items: flex-end;
24
- display: flex;
25
- flex-direction: column;
26
- flex: 1 0 auto;
27
- margin-left: 1em;
28
- max-width: math.div(1, 3);
29
- min-width: 0;
30
- }
31
-
32
- &__name {
33
- display: block;
34
- font-size: 1.6em;
35
- font-weight: 600;
36
- line-height: 1.33;
37
- margin: 0;
38
- }
39
-
40
- &__number {
41
- font-size: 1.3em;
42
- font-weight: 400;
43
- line-height: 1.38;
44
- margin: 0;
45
- }
46
-
47
- @content;
48
- }
49
- }
1
+ /**
2
+ * Web UI Product information
3
+ */
4
+
5
+ @use "sass:math";
6
+ @use "mixins";
7
+
8
+ @mixin classes($textColor) {
9
+ .cfgProductInfo {
10
+ @include mixins.cfgRootStyles;
11
+
12
+ color: $textColor;
13
+
14
+ display: flex;
15
+
16
+ &__left {
17
+ flex: 1 1 auto;
18
+ min-width: 0;
19
+ overflow: hidden;
20
+ }
21
+
22
+ &__right {
23
+ align-items: flex-end;
24
+ display: flex;
25
+ flex-direction: column;
26
+ flex: 1 0 auto;
27
+ margin-left: 1em;
28
+ max-width: 0.333333333;
29
+ min-width: 0;
30
+ }
31
+
32
+ &__name {
33
+ display: block;
34
+ font-size: 1.6em;
35
+ font-weight: 600;
36
+ line-height: 1.33;
37
+ margin: 0;
38
+ }
39
+
40
+ &__number {
41
+ font-size: 1.3em;
42
+ font-weight: 400;
43
+ line-height: 1.38;
44
+ margin: 0;
45
+ }
46
+
47
+ @content;
48
+ }
49
+ }
@@ -1,70 +1,70 @@
1
- @use "mixins";
2
-
3
- // The origins of this SCSS file is here:
4
- // https://css-tricks.com/sliding-nightmare-understanding-range-input/
5
-
6
- $trackHeight: 0.2em !default;
7
- $thumbDiameter: 2.8em !default;
8
-
9
- @mixin track($trackColor) {
10
- box-sizing: border-box;
11
- border: none;
12
- height: $trackHeight;
13
- background: $trackColor;
14
- }
15
-
16
- @mixin thumb($thumbColor, $thumbShadowColor) {
17
- box-sizing: border-box;
18
- border: none;
19
- width: $thumbDiameter;
20
- height: $thumbDiameter;
21
- border-radius: 50%;
22
- background: $thumbColor;
23
- box-shadow: 0 0.15em 0.45em 0.05em $thumbShadowColor;
24
- }
25
-
26
- @mixin classes($trackColor, $thumbColor, $thumbShadowColor) {
27
- .cfgSlider {
28
- @include mixins.cfgRootStyles;
29
-
30
- &,
31
- &::-webkit-slider-thumb {
32
- -webkit-appearance: none;
33
- }
34
-
35
- flex: 1;
36
- margin: 0;
37
- padding: 0;
38
- min-height: $thumbDiameter;
39
- background: transparent;
40
- font: inherit;
41
-
42
- &::-webkit-slider-runnable-track {
43
- @include track($trackColor);
44
- }
45
- &::-moz-range-track {
46
- @include track($trackColor);
47
- }
48
- &::-ms-track {
49
- @include track($trackColor);
50
- }
51
-
52
- &::-webkit-slider-thumb {
53
- margin-top: 0.5 * ($trackHeight - $thumbDiameter);
54
- @include thumb($thumbColor, $thumbShadowColor);
55
- }
56
- &::-moz-range-thumb {
57
- @include thumb($thumbColor, $thumbShadowColor);
58
- }
59
- &::-ms-thumb {
60
- margin-top: 0;
61
- @include thumb($thumbColor, $thumbShadowColor);
62
- }
63
-
64
- &::-ms-tooltip {
65
- display: none;
66
- }
67
-
68
- @content;
69
- }
70
- }
1
+ @use "mixins";
2
+
3
+ // The origins of this SCSS file is here:
4
+ // https://css-tricks.com/sliding-nightmare-understanding-range-input/
5
+
6
+ $trackHeight: 0.2em !default;
7
+ $thumbDiameter: 2.8em !default;
8
+
9
+ @mixin track($trackColor) {
10
+ box-sizing: border-box;
11
+ border: none;
12
+ height: $trackHeight;
13
+ background: $trackColor;
14
+ }
15
+
16
+ @mixin thumb($thumbColor, $thumbShadowColor) {
17
+ box-sizing: border-box;
18
+ border: none;
19
+ width: $thumbDiameter;
20
+ height: $thumbDiameter;
21
+ border-radius: 50%;
22
+ background: $thumbColor;
23
+ box-shadow: 0 0.15em 0.45em 0.05em $thumbShadowColor;
24
+ }
25
+
26
+ @mixin classes($trackColor, $thumbColor, $thumbShadowColor) {
27
+ .cfgSlider {
28
+ @include mixins.cfgRootStyles;
29
+
30
+ &,
31
+ &::-webkit-slider-thumb {
32
+ -webkit-appearance: none;
33
+ }
34
+
35
+ flex: 1;
36
+ margin: 0;
37
+ padding: 0;
38
+ min-height: $thumbDiameter;
39
+ background: transparent;
40
+ font: inherit;
41
+
42
+ &::-webkit-slider-runnable-track {
43
+ @include track($trackColor);
44
+ }
45
+ &::-moz-range-track {
46
+ @include track($trackColor);
47
+ }
48
+ &::-ms-track {
49
+ @include track($trackColor);
50
+ }
51
+
52
+ &::-webkit-slider-thumb {
53
+ margin-top: 0.5 * ($trackHeight - $thumbDiameter);
54
+ @include thumb($thumbColor, $thumbShadowColor);
55
+ }
56
+ &::-moz-range-thumb {
57
+ @include thumb($thumbColor, $thumbShadowColor);
58
+ }
59
+ &::-ms-thumb {
60
+ margin-top: 0;
61
+ @include thumb($thumbColor, $thumbShadowColor);
62
+ }
63
+
64
+ &::-ms-tooltip {
65
+ display: none;
66
+ }
67
+
68
+ @content;
69
+ }
70
+ }
@@ -1,123 +1,123 @@
1
- @use "sass:map";
2
- @use "sass:color";
3
-
4
- @use "variables" as v;
5
-
6
- // Components
7
- @use "button";
8
-
9
- @use "configurator";
10
- @use "expandable";
11
- @use "hr";
12
- @use "feature-item";
13
- @use "option-tree";
14
- @use "product-information";
15
- @use "loading";
16
- @use "slider";
17
-
18
- // Icons
19
- @use "icons/checkmark";
20
- @use "icons/chevron";
21
-
22
- // Utilities
23
- @use "utilities";
24
-
25
- /* Colors */
26
-
27
- $black: hsl(0, 0%, 0%) !default;
28
- $white: hsl(0, 0%, 100%) !default;
29
- $darkGrey: hsl(0, 0%, 15%) !default;
30
-
31
- /* Specific colors */
32
-
33
- $border: hsl(252, 5%, 79%) !default;
34
- $borderDark: hsl(0, 0%, 73%) !default;
35
- $focusOutlineOuter: hsl(0, 0%, 13%) !default;
36
- $sliderTrack: #666 !default;
37
- $spinner2: hsla(0, 0%, 0%, 0.15);
38
- $grayText: hsl(0, 0%, 50%) !default;
39
- $text: hsl(0, 0%, 20%) !default;
40
- /* As convention we assume the default theme when naming colors,
41
- as attempts at generic naming often leads to confussion */
42
- $lightTheme: (
43
- "black": $black,
44
- "border": $border,
45
- "borderDark": $borderDark,
46
- "checkButtonChecked": $black,
47
- "checkButtonUnchecked": $border,
48
- "chevronActive": $black,
49
- "chevronPassive": $borderDark,
50
- "divider": $border,
51
- "focusOutlineInner": $white,
52
- "focusOutlineOuter": $text,
53
- "grayText": $grayText,
54
- "overlayBackground": $white,
55
- "sliderThumb": $white,
56
- "sliderThumbShadow": $sliderTrack,
57
- "sliderTrack": $sliderTrack,
58
- "spinner1": $black,
59
- "spinner2": $spinner2,
60
- "text": $text,
61
- "white": $white,
62
- ) !default;
63
-
64
- @function invertLightness($color) {
65
- @return color.change(
66
- $color,
67
- $lightness: 100 - color.lightness($color) * 0.8
68
- ); // We scale with 80% to have a bit more contrast
69
- }
70
-
71
- @function invertLightnessList($list) {
72
- @each $key, $color in $list {
73
- $list: map.set($list, $key, invertLightness($color));
74
- }
75
- @return $list;
76
- }
77
-
78
- $darkTheme: invertLightnessList($lightTheme);
79
-
80
- $themes: (
81
- "light": $lightTheme,
82
- "dark": $darkTheme,
83
- );
84
-
85
- @mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {
86
- @include button.classes(
87
- map.get($ct, "text"),
88
- map.get($ct, "borderDark"),
89
- map.get($ct, "focusOutlineInner"),
90
- map.get($ct, "focusOutlineOuter")
91
- );
92
- @include configurator.classes($baseFontSize, map.get($ct, "text"), map.get($ct, "divider"));
93
- @include expandable.classes;
94
- @include hr.classes(map.get($ct, "divider"));
95
- @include feature-item.classes(
96
- map.get($ct, "text"),
97
- map.get($ct, "grayText"),
98
- map.get($ct, "checkButtonUnchecked"),
99
- map.get($ct, "checkButtonChecked"),
100
- map.get($ct, "focusOutlineInner"),
101
- map.get($ct, "focusOutlineOuter")
102
- );
103
- @include option-tree.classes;
104
- @include product-information.classes(map.get($ct, "text"));
105
- @include loading.classes(
106
- map.get($ct, "black"),
107
- map.get($ct, "spinner1"),
108
- map.get($ct, "spinner2"),
109
- map.get($ct, "overlayBackground"),
110
- $overlayingZIndex
111
- );
112
-
113
- @include slider.classes(
114
- map.get($ct, "sliderTrack"),
115
- map.get($ct, "sliderThumb"),
116
- map.get($ct, "sliderThumbShadow")
117
- );
118
- @include checkmark.classes(
119
- map.get($ct, "checkButtonChecked"),
120
- map.get($ct, "checkButtonUnchecked")
121
- );
122
- @include chevron.classes(map.get($ct, "chevronActive"), map.get($ct, "chevronPassive"));
123
- }
1
+ @use "sass:map";
2
+ @use "sass:color";
3
+
4
+ @use "variables" as v;
5
+
6
+ // Components
7
+ @use "button";
8
+
9
+ @use "configurator";
10
+ @use "expandable";
11
+ @use "hr";
12
+ @use "feature-item";
13
+ @use "option-tree";
14
+ @use "product-information";
15
+ @use "loading";
16
+ @use "slider";
17
+
18
+ // Icons
19
+ @use "icons/checkmark";
20
+ @use "icons/chevron";
21
+
22
+ // Utilities
23
+ @use "utilities";
24
+
25
+ /* Colors */
26
+
27
+ $black: hsl(0, 0%, 0%) !default;
28
+ $white: hsl(0, 0%, 100%) !default;
29
+ $darkGrey: hsl(0, 0%, 15%) !default;
30
+
31
+ /* Specific colors */
32
+
33
+ $border: hsl(252, 5%, 79%) !default;
34
+ $borderDark: hsl(0, 0%, 73%) !default;
35
+ $focusOutlineOuter: hsl(0, 0%, 13%) !default;
36
+ $sliderTrack: #666 !default;
37
+ $spinner2: hsla(0, 0%, 0%, 0.15);
38
+ $grayText: hsl(0, 0%, 50%) !default;
39
+ $text: hsl(0, 0%, 20%) !default;
40
+ /* As convention we assume the default theme when naming colors,
41
+ as attempts at generic naming often leads to confussion */
42
+ $lightTheme: (
43
+ "black": $black,
44
+ "border": $border,
45
+ "borderDark": $borderDark,
46
+ "checkButtonChecked": $black,
47
+ "checkButtonUnchecked": $border,
48
+ "chevronActive": $black,
49
+ "chevronPassive": $borderDark,
50
+ "divider": $border,
51
+ "focusOutlineInner": $white,
52
+ "focusOutlineOuter": $text,
53
+ "grayText": $grayText,
54
+ "overlayBackground": $white,
55
+ "sliderThumb": $white,
56
+ "sliderThumbShadow": $sliderTrack,
57
+ "sliderTrack": $sliderTrack,
58
+ "spinner1": $black,
59
+ "spinner2": $spinner2,
60
+ "text": $text,
61
+ "white": $white,
62
+ ) !default;
63
+
64
+ @function invertLightness($color) {
65
+ @return color.change(
66
+ $color,
67
+ $lightness: 100 - color.lightness($color) * 0.8
68
+ ); // We scale with 80% to have a bit more contrast
69
+ }
70
+
71
+ @function invertLightnessList($list) {
72
+ @each $key, $color in $list {
73
+ $list: map.set($list, $key, invertLightness($color));
74
+ }
75
+ @return $list;
76
+ }
77
+
78
+ $darkTheme: invertLightnessList($lightTheme);
79
+
80
+ $themes: (
81
+ "light": $lightTheme,
82
+ "dark": $darkTheme,
83
+ );
84
+
85
+ @mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {
86
+ @include button.classes(
87
+ map.get($ct, "text"),
88
+ map.get($ct, "borderDark"),
89
+ map.get($ct, "focusOutlineInner"),
90
+ map.get($ct, "focusOutlineOuter")
91
+ );
92
+ @include configurator.classes($baseFontSize, map.get($ct, "text"), map.get($ct, "divider"));
93
+ @include expandable.classes;
94
+ @include hr.classes(map.get($ct, "divider"));
95
+ @include feature-item.classes(
96
+ map.get($ct, "text"),
97
+ map.get($ct, "grayText"),
98
+ map.get($ct, "checkButtonUnchecked"),
99
+ map.get($ct, "checkButtonChecked"),
100
+ map.get($ct, "focusOutlineInner"),
101
+ map.get($ct, "focusOutlineOuter")
102
+ );
103
+ @include option-tree.classes;
104
+ @include product-information.classes(map.get($ct, "text"));
105
+ @include loading.classes(
106
+ map.get($ct, "black"),
107
+ map.get($ct, "spinner1"),
108
+ map.get($ct, "spinner2"),
109
+ map.get($ct, "overlayBackground"),
110
+ $overlayingZIndex
111
+ );
112
+
113
+ @include slider.classes(
114
+ map.get($ct, "sliderTrack"),
115
+ map.get($ct, "sliderThumb"),
116
+ map.get($ct, "sliderThumbShadow")
117
+ );
118
+ @include checkmark.classes(
119
+ map.get($ct, "checkButtonChecked"),
120
+ map.get($ct, "checkButtonUnchecked")
121
+ );
122
+ @include chevron.classes(map.get($ct, "chevronActive"), map.get($ct, "chevronPassive"));
123
+ }
@@ -1,17 +1,17 @@
1
- /**
2
- * Web UI Utilities
3
- */
4
-
5
- .cfgMl1 {
6
- margin-left: 1em;
7
- }
8
-
9
- .cfgMb1 {
10
- margin-bottom: 1em;
11
- }
12
-
13
- .cfgTextOverflow {
14
- overflow: hidden;
15
- text-overflow: ellipsis;
16
- white-space: nowrap;
17
- }
1
+ /**
2
+ * Web UI Utilities
3
+ */
4
+
5
+ .cfgMl1 {
6
+ margin-left: 1em;
7
+ }
8
+
9
+ .cfgMb1 {
10
+ margin-bottom: 1em;
11
+ }
12
+
13
+ .cfgTextOverflow {
14
+ overflow: hidden;
15
+ text-overflow: ellipsis;
16
+ white-space: nowrap;
17
+ }
@@ -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
+ }