@configura/web-ui 2.0.0-alpha.0 → 2.0.0-alpha.11

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 (99) 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/CfgPriceView.d.ts +6 -6
  7. package/dist/components/CfgPriceView.js +13 -13
  8. package/dist/components/ConfigurationActionsButtonRow.d.ts +14 -14
  9. package/dist/components/ConfigurationActionsButtonRow.js +16 -16
  10. package/dist/components/Configurator.d.ts +12 -12
  11. package/dist/components/Configurator.js +15 -15
  12. package/dist/components/ConfiguratorWrapper.d.ts +8 -8
  13. package/dist/components/ConfiguratorWrapper.js +5 -5
  14. package/dist/components/CurrencyPrice.d.ts +9 -9
  15. package/dist/components/CurrencyPrice.js +7 -7
  16. package/dist/components/ErrorContext.d.ts +2 -2
  17. package/dist/components/ErrorContext.js +2 -2
  18. package/dist/components/ExpandableHeadingRow.d.ts +15 -15
  19. package/dist/components/ExpandableHeadingRow.js +21 -21
  20. package/dist/components/Loading.d.ts +13 -13
  21. package/dist/components/Loading.js +20 -20
  22. package/dist/components/ProductInformation.d.ts +13 -13
  23. package/dist/components/ProductInformation.js +14 -14
  24. package/dist/components/TaskListView.d.ts +8 -8
  25. package/dist/components/TaskListView.js +69 -69
  26. package/dist/components/TaskStartView.d.ts +12 -12
  27. package/dist/components/TaskStartView.js +29 -29
  28. package/dist/components/icons/Checkmark.d.ts +6 -6
  29. package/dist/components/icons/Checkmark.js +12 -12
  30. package/dist/components/icons/Chevron.d.ts +7 -7
  31. package/dist/components/icons/Chevron.js +18 -18
  32. package/dist/components/icons/CircleXmarkIcon.d.ts +3 -3
  33. package/dist/components/icons/CircleXmarkIcon.js +8 -8
  34. package/dist/components/icons/DownloadIcon.d.ts +3 -3
  35. package/dist/components/icons/DownloadIcon.js +8 -8
  36. package/dist/components/icons/ErrorIcon.d.ts +3 -3
  37. package/dist/components/icons/ErrorIcon.js +8 -8
  38. package/dist/components/productConfiguration/CfgAdditionalProductView.d.ts +3 -3
  39. package/dist/components/productConfiguration/CfgAdditionalProductView.js +42 -42
  40. package/dist/components/productConfiguration/CfgCheckboxView.d.ts +7 -9
  41. package/dist/components/productConfiguration/CfgCheckboxView.js +29 -29
  42. package/dist/components/productConfiguration/CfgCheckboxesView.d.ts +7 -9
  43. package/dist/components/productConfiguration/CfgCheckboxesView.js +18 -18
  44. package/dist/components/productConfiguration/CfgDropdownOptionView.d.ts +7 -9
  45. package/dist/components/productConfiguration/CfgDropdownOptionView.js +44 -44
  46. package/dist/components/productConfiguration/CfgDropdownView.d.ts +7 -9
  47. package/dist/components/productConfiguration/CfgDropdownView.js +20 -20
  48. package/dist/components/productConfiguration/CfgFeatureView.d.ts +31 -35
  49. package/dist/components/productConfiguration/CfgFeatureView.js +60 -64
  50. package/dist/components/productConfiguration/CfgGroupView.d.ts +4 -4
  51. package/dist/components/productConfiguration/CfgGroupView.js +7 -7
  52. package/dist/components/productConfiguration/CfgOptionFeaturesView.d.ts +3 -3
  53. package/dist/components/productConfiguration/CfgOptionFeaturesView.js +13 -13
  54. package/dist/components/productConfiguration/CfgOptionNumericView.d.ts +29 -29
  55. package/dist/components/productConfiguration/CfgOptionNumericView.js +132 -132
  56. package/dist/components/productConfiguration/CfgOptionPriceView.d.ts +9 -9
  57. package/dist/components/productConfiguration/CfgOptionPriceView.js +29 -29
  58. package/dist/components/productConfiguration/CfgProductConfigurationView.d.ts +22 -17
  59. package/dist/components/productConfiguration/CfgProductConfigurationView.js +47 -47
  60. package/dist/css/web-ui.css.map +1 -1
  61. package/dist/index.d.ts +24 -23
  62. package/dist/index.js +24 -23
  63. package/dist/scss/_button.scss +52 -52
  64. package/dist/scss/_configurator.scss +88 -88
  65. package/dist/scss/_expandable.scss +37 -37
  66. package/dist/scss/_feature-item.scss +137 -137
  67. package/dist/scss/_forms.scss +42 -42
  68. package/dist/scss/_hr.scss +16 -16
  69. package/dist/scss/_loading.scss +98 -98
  70. package/dist/scss/_mixins.scss +56 -56
  71. package/dist/scss/_option-tree.scss +29 -29
  72. package/dist/scss/_product-information.scss +49 -49
  73. package/dist/scss/_range-view.scss +39 -39
  74. package/dist/scss/_slider.scss +70 -70
  75. package/dist/scss/_tasks.scss +72 -72
  76. package/dist/scss/_themed.scss +149 -149
  77. package/dist/scss/_utilities.scss +21 -21
  78. package/dist/scss/_variables.scss +6 -6
  79. package/dist/scss/icons/_checkmark.scss +46 -46
  80. package/dist/scss/icons/_chevron.scss +62 -62
  81. package/dist/scss/icons/_circle-xmark-icon.scss +24 -24
  82. package/dist/scss/icons/_download-icon.scss +24 -24
  83. package/dist/scss/icons/_error-icon.scss +24 -24
  84. package/dist/scss/web-ui.scss +11 -11
  85. package/dist/useCatParams.d.ts +18 -0
  86. package/dist/useCatParams.js +29 -0
  87. package/dist/useObservable.d.ts +4 -4
  88. package/dist/useObservable.js +18 -18
  89. package/dist/useRerender.d.ts +1 -1
  90. package/dist/useRerender.js +5 -5
  91. package/dist/useResize.d.ts +6 -6
  92. package/dist/useResize.js +47 -47
  93. package/dist/useSelected.d.ts +2 -2
  94. package/dist/useSelected.js +13 -13
  95. package/dist/useUniqueId.d.ts +1 -1
  96. package/dist/useUniqueId.js +7 -7
  97. package/dist/utilities.d.ts +5 -5
  98. package/dist/utilities.js +1 -1
  99. package/package.json +3 -3
@@ -1,88 +1,88 @@
1
- /**
2
- * Web UI Configurator
3
- */
4
-
5
- @use "mixins";
6
-
7
- @mixin classes($fontSize, $textColor, $headerUnderlineColor) {
8
- .cfgConfiguratorWrapper {
9
- @include mixins.cfgRootStyles;
10
- color: $textColor;
11
- display: flex;
12
- height: 85vh;
13
- flex-direction: column;
14
-
15
- @media screen and (orientation: landscape) {
16
- flex-direction: row;
17
- }
18
-
19
- .cfgTaskStart {
20
- margin-top: 0.5em;
21
- font-size: 1.2em;
22
- font-weight: 500;
23
-
24
- .cfgFormSelect {
25
- padding: 0.5em;
26
-
27
- &::after {
28
- right: 0.5em;
29
- }
30
- }
31
- }
32
- }
33
-
34
- .cfgCanvasWrapper {
35
- @include mixins.cfgRootStyles;
36
- position: relative;
37
- height: 50rem;
38
- user-select: none;
39
-
40
- flex: 1 1 auto;
41
- overflow: hidden;
42
-
43
- & canvas {
44
- outline: none;
45
- }
46
-
47
- @media screen and (orientation: landscape) {
48
- height: 100%;
49
- flex: 0 1 60%;
50
- }
51
- }
52
-
53
- .cfgConfigurator {
54
- @include mixins.cfgRootStyles;
55
- @include mixins.cfgDefaultFont;
56
- font-size: $fontSize;
57
- color: $textColor;
58
- min-width: 0;
59
-
60
- height: 100%;
61
- display: flex;
62
- flex-direction: column;
63
- flex: 0 0 50%;
64
- overflow: auto;
65
-
66
- @media screen and (orientation: landscape) {
67
- height: 100%;
68
- flex: 0 1 40%;
69
- }
70
- }
71
-
72
- .cfgConfiguratorHeader {
73
- border-bottom: 0.1em solid $headerUnderlineColor;
74
- padding: 1.7em 1.7em 1.9em;
75
- position: relative;
76
-
77
- &__actions {
78
- margin-top: 1em;
79
- }
80
- }
81
-
82
- .cfgConfiguratorTree {
83
- padding-top: 1em;
84
- padding-top: 0.5em;
85
- overflow-y: auto;
86
- -webkit-overflow-scrolling: touch;
87
- }
88
- }
1
+ /**
2
+ * Web UI Configurator
3
+ */
4
+
5
+ @use "mixins";
6
+
7
+ @mixin classes($fontSize, $textColor, $headerUnderlineColor) {
8
+ .cfgConfiguratorWrapper {
9
+ @include mixins.cfgRootStyles;
10
+ color: $textColor;
11
+ display: flex;
12
+ height: 85vh;
13
+ flex-direction: column;
14
+
15
+ @media screen and (orientation: landscape) {
16
+ flex-direction: row;
17
+ }
18
+
19
+ .cfgTaskStart {
20
+ margin-top: 0.5em;
21
+ font-size: 1.2em;
22
+ font-weight: 500;
23
+
24
+ .cfgFormSelect {
25
+ padding: 0.5em;
26
+
27
+ &::after {
28
+ right: 0.5em;
29
+ }
30
+ }
31
+ }
32
+ }
33
+
34
+ .cfgCanvasWrapper {
35
+ @include mixins.cfgRootStyles;
36
+ position: relative;
37
+ height: 50rem;
38
+ user-select: none;
39
+
40
+ flex: 1 1 auto;
41
+ overflow: hidden;
42
+
43
+ & canvas {
44
+ outline: none;
45
+ }
46
+
47
+ @media screen and (orientation: landscape) {
48
+ height: 100%;
49
+ flex: 0 1 60%;
50
+ }
51
+ }
52
+
53
+ .cfgConfigurator {
54
+ @include mixins.cfgRootStyles;
55
+ @include mixins.cfgDefaultFont;
56
+ font-size: $fontSize;
57
+ color: $textColor;
58
+ min-width: 0;
59
+
60
+ height: 100%;
61
+ display: flex;
62
+ flex-direction: column;
63
+ flex: 0 0 50%;
64
+ overflow: auto;
65
+
66
+ @media screen and (orientation: landscape) {
67
+ height: 100%;
68
+ flex: 0 1 40%;
69
+ }
70
+ }
71
+
72
+ .cfgConfiguratorHeader {
73
+ border-bottom: 0.1em solid $headerUnderlineColor;
74
+ padding: 1.7em 1.7em 1.9em;
75
+ position: relative;
76
+
77
+ &__actions {
78
+ margin-top: 1em;
79
+ }
80
+ }
81
+
82
+ .cfgConfiguratorTree {
83
+ padding-top: 1em;
84
+ padding-top: 0.5em;
85
+ overflow-y: auto;
86
+ -webkit-overflow-scrolling: touch;
87
+ }
88
+ }
@@ -1,37 +1,37 @@
1
- @use "mixins";
2
-
3
- @mixin classes {
4
- .cfgExpandableHeadingRow {
5
- @include mixins.cfgRootStyles;
6
- @include mixins.noButtonLook;
7
- align-items: stretch;
8
- display: flex;
9
- height: 3.9em;
10
- outline: 0;
11
- position: relative;
12
- width: 100%;
13
-
14
- &--expandable {
15
- cursor: pointer;
16
- }
17
-
18
- &__title {
19
- align-items: center;
20
- display: flex;
21
- flex: 1 1 auto;
22
- font-size: 1.5em;
23
- font-weight: 500;
24
- justify-content: flex-start;
25
- }
26
-
27
- &__icon {
28
- align-items: center;
29
- display: flex;
30
- flex: 0 0 5em;
31
- justify-content: center;
32
- padding: 0 1.5em;
33
- }
34
-
35
- @content;
36
- }
37
- }
1
+ @use "mixins";
2
+
3
+ @mixin classes {
4
+ .cfgExpandableHeadingRow {
5
+ @include mixins.cfgRootStyles;
6
+ @include mixins.noButtonLook;
7
+ align-items: stretch;
8
+ display: flex;
9
+ height: 3.9em;
10
+ outline: 0;
11
+ position: relative;
12
+ width: 100%;
13
+
14
+ &--expandable {
15
+ cursor: pointer;
16
+ }
17
+
18
+ &__title {
19
+ align-items: center;
20
+ display: flex;
21
+ flex: 1 1 auto;
22
+ font-size: 1.5em;
23
+ font-weight: 500;
24
+ justify-content: flex-start;
25
+ }
26
+
27
+ &__icon {
28
+ align-items: center;
29
+ display: flex;
30
+ flex: 0 0 5em;
31
+ justify-content: center;
32
+ padding: 0 1.5em;
33
+ }
34
+
35
+ @content;
36
+ }
37
+ }
@@ -1,137 +1,137 @@
1
- /**
2
- * Web UI Feature item
3
- */
4
-
5
- @use "mixins";
6
-
7
- @mixin classes(
8
- $textColor,
9
- $grayTextColor,
10
- $checkButtonUncheckedColor,
11
- $checkButtonCheckedColor,
12
- $focusOutlineInnerColor,
13
- $focusOutlineOuterColor,
14
- $dividerDark
15
- ) {
16
- .cfgThumbnailImage {
17
- border-radius: 0.7em;
18
- display: inline-block;
19
- height: 3em;
20
- width: 3em;
21
- }
22
-
23
- .cfgThumbnailPlaceholder {
24
- align-items: center;
25
- display: flex;
26
- flex: 0 0 4.2em;
27
- justify-content: flex-start;
28
- }
29
-
30
- .cfgFeatureItem {
31
- @include mixins.cfgRootStyles;
32
-
33
- color: $textColor;
34
-
35
- &__dropdown {
36
- @include mixins.noButtonLook;
37
- align-items: stretch;
38
- display: flex;
39
- height: 3.9em;
40
- outline: 0;
41
- position: relative;
42
- width: 100%;
43
- cursor: pointer;
44
- }
45
-
46
- &--optional {
47
- margin-top: 1em;
48
- }
49
-
50
- &__hiddenInput {
51
- left: -99999px;
52
- opacity: 0;
53
- position: absolute;
54
- z-index: -1;
55
- }
56
-
57
- &__radio {
58
- @include mixins.cfgRadio($checkButtonUncheckedColor);
59
- }
60
-
61
- &__checkbox {
62
- @include mixins.cfgCheckbox($checkButtonUncheckedColor);
63
- }
64
-
65
- /* The &-syntax brings in the entire path, so the second part of this rule must be explicit */
66
-
67
- &__hiddenInput:focus ~ .cfgFeatureItem__radio,
68
- &__hiddenInput:focus ~ .cfgFeatureItem__checkbox {
69
- @include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);
70
- }
71
-
72
- &__hiddenInput:checked ~ .cfgFeatureItem__radio {
73
- @include mixins.cfgRadio($checkButtonCheckedColor);
74
- }
75
- &__hiddenInput:checked ~ .cfgFeatureItem__checkbox {
76
- @include mixins.cfgCheckbox($checkButtonCheckedColor);
77
- }
78
-
79
- &.cfgAdditionalProduct {
80
- > .cfgExpandableHeadingRow {
81
- > .cfgExpandableHeadingRow__title {
82
- font-weight: 600;
83
- }
84
- }
85
-
86
- > .cfgFeatureItem__hr {
87
- border-bottom-color: $dividerDark;
88
- }
89
-
90
- /* The last themathic break (hr) we move under the next thematic break so it appears as one */
91
- .cfgFeatureItem:last-child .cfgFeatureItem__hr {
92
- margin-bottom: -0.1em;
93
- }
94
- }
95
- }
96
-
97
- .cfgFeatureItemOptional__titleWrapper,
98
- .cfgFeatureItemOption__titleWrapper {
99
- flex: 1 1 auto;
100
- margin-left: 1em;
101
- }
102
-
103
- .cfgFeatureItemOptional__title,
104
- .cfgFeatureItemOption__title {
105
- font-size: 1.5em;
106
- }
107
-
108
- .cfgFeatureItemOption__price {
109
- font-weight: 600;
110
- font-size: 0.75em;
111
- color: $grayTextColor;
112
- }
113
-
114
- .cfgOptionTree--subLevel .cfgFeatureItem__hr {
115
- display: none;
116
- }
117
-
118
- .cfgFeatureItemOption {
119
- align-items: center;
120
- display: flex;
121
- }
122
-
123
- .cfgFeatureItemOptional {
124
- align-items: center;
125
- display: flex;
126
- justify-content: center;
127
- margin-top: 0.5em;
128
-
129
- &__header {
130
- font-size: 1.2em;
131
- font-weight: 600;
132
- margin: 0 0 0.3em 0;
133
- padding: 0;
134
- text-transform: uppercase;
135
- }
136
- }
137
- }
1
+ /**
2
+ * Web UI Feature item
3
+ */
4
+
5
+ @use "mixins";
6
+
7
+ @mixin classes(
8
+ $textColor,
9
+ $grayTextColor,
10
+ $checkButtonUncheckedColor,
11
+ $checkButtonCheckedColor,
12
+ $focusOutlineInnerColor,
13
+ $focusOutlineOuterColor,
14
+ $dividerDark
15
+ ) {
16
+ .cfgThumbnailImage {
17
+ border-radius: 0.7em;
18
+ display: inline-block;
19
+ height: 3em;
20
+ width: 3em;
21
+ }
22
+
23
+ .cfgThumbnailPlaceholder {
24
+ align-items: center;
25
+ display: flex;
26
+ flex: 0 0 4.2em;
27
+ justify-content: flex-start;
28
+ }
29
+
30
+ .cfgFeatureItem {
31
+ @include mixins.cfgRootStyles;
32
+
33
+ color: $textColor;
34
+
35
+ &__dropdown {
36
+ @include mixins.noButtonLook;
37
+ align-items: stretch;
38
+ display: flex;
39
+ height: 3.9em;
40
+ outline: 0;
41
+ position: relative;
42
+ width: 100%;
43
+ cursor: pointer;
44
+ }
45
+
46
+ &--optional {
47
+ margin-top: 1em;
48
+ }
49
+
50
+ &__hiddenInput {
51
+ left: -99999px;
52
+ opacity: 0;
53
+ position: absolute;
54
+ z-index: -1;
55
+ }
56
+
57
+ &__radio {
58
+ @include mixins.cfgRadio($checkButtonUncheckedColor);
59
+ }
60
+
61
+ &__checkbox {
62
+ @include mixins.cfgCheckbox($checkButtonUncheckedColor);
63
+ }
64
+
65
+ /* The &-syntax brings in the entire path, so the second part of this rule must be explicit */
66
+
67
+ &__hiddenInput:focus ~ .cfgFeatureItem__radio,
68
+ &__hiddenInput:focus ~ .cfgFeatureItem__checkbox {
69
+ @include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);
70
+ }
71
+
72
+ &__hiddenInput:checked ~ .cfgFeatureItem__radio {
73
+ @include mixins.cfgRadio($checkButtonCheckedColor);
74
+ }
75
+ &__hiddenInput:checked ~ .cfgFeatureItem__checkbox {
76
+ @include mixins.cfgCheckbox($checkButtonCheckedColor);
77
+ }
78
+
79
+ &.cfgAdditionalProduct {
80
+ > .cfgExpandableHeadingRow {
81
+ > .cfgExpandableHeadingRow__title {
82
+ font-weight: 600;
83
+ }
84
+ }
85
+
86
+ > .cfgFeatureItem__hr {
87
+ border-bottom-color: $dividerDark;
88
+ }
89
+
90
+ /* The last themathic break (hr) we move under the next thematic break so it appears as one */
91
+ .cfgFeatureItem:last-child .cfgFeatureItem__hr {
92
+ margin-bottom: -0.1em;
93
+ }
94
+ }
95
+ }
96
+
97
+ .cfgFeatureItemOptional__titleWrapper,
98
+ .cfgFeatureItemOption__titleWrapper {
99
+ flex: 1 1 auto;
100
+ margin-left: 1em;
101
+ }
102
+
103
+ .cfgFeatureItemOptional__title,
104
+ .cfgFeatureItemOption__title {
105
+ font-size: 1.5em;
106
+ }
107
+
108
+ .cfgFeatureItemOption__price {
109
+ font-weight: 600;
110
+ font-size: 0.75em;
111
+ color: $grayTextColor;
112
+ }
113
+
114
+ .cfgOptionTree--subLevel .cfgFeatureItem__hr {
115
+ display: none;
116
+ }
117
+
118
+ .cfgFeatureItemOption {
119
+ align-items: center;
120
+ display: flex;
121
+ }
122
+
123
+ .cfgFeatureItemOptional {
124
+ align-items: center;
125
+ display: flex;
126
+ justify-content: center;
127
+ margin-top: 0.5em;
128
+
129
+ &__header {
130
+ font-size: 1.2em;
131
+ font-weight: 600;
132
+ margin: 0 0 0.3em 0;
133
+ padding: 0;
134
+ text-transform: uppercase;
135
+ }
136
+ }
137
+ }
@@ -1,42 +1,42 @@
1
- @mixin classes($borderColor) {
2
- .cfgInput,
3
- .cfgFormSelect {
4
- border: 0.1em solid $borderColor;
5
- padding: 0.3em 0.4em;
6
- border-radius: 0.3em;
7
- }
8
-
9
- .cfgFormSelect {
10
- select {
11
- appearance: none;
12
- padding: 0 1em 0 0;
13
- margin: 0;
14
- width: 100%;
15
-
16
- background-color: transparent;
17
- font-family: inherit;
18
- font-size: inherit;
19
- font-weight: inherit;
20
- cursor: inherit;
21
- line-height: inherit;
22
- outline: none;
23
- border: none;
24
- }
25
-
26
- cursor: pointer;
27
- position: relative;
28
-
29
- &::after {
30
- position: absolute;
31
- right: 0.35em;
32
- top: 50%;
33
- margin-top: -0.55em;
34
- content: "";
35
- width: 1em;
36
- height: 1em;
37
- background-color: $borderColor;
38
- clip-path: polygon(50% 80%, 90% 40%, 100% 50%, 50% 100%, 0 50%, 10% 40%);
39
- justify-self: end;
40
- }
41
- }
42
- }
1
+ @mixin classes($borderColor) {
2
+ .cfgInput,
3
+ .cfgFormSelect {
4
+ border: 0.1em solid $borderColor;
5
+ padding: 0.3em 0.4em;
6
+ border-radius: 0.3em;
7
+ }
8
+
9
+ .cfgFormSelect {
10
+ select {
11
+ appearance: none;
12
+ padding: 0 1em 0 0;
13
+ margin: 0;
14
+ width: 100%;
15
+
16
+ background-color: transparent;
17
+ font-family: inherit;
18
+ font-size: inherit;
19
+ font-weight: inherit;
20
+ cursor: inherit;
21
+ line-height: inherit;
22
+ outline: none;
23
+ border: none;
24
+ }
25
+
26
+ cursor: pointer;
27
+ position: relative;
28
+
29
+ &::after {
30
+ position: absolute;
31
+ right: 0.35em;
32
+ top: 50%;
33
+ margin-top: -0.55em;
34
+ content: "";
35
+ width: 1em;
36
+ height: 1em;
37
+ background-color: $borderColor;
38
+ clip-path: polygon(50% 80%, 90% 40%, 100% 50%, 50% 100%, 0 50%, 10% 40%);
39
+ justify-self: end;
40
+ }
41
+ }
42
+ }
@@ -1,16 +1,16 @@
1
- @use "mixins";
2
-
3
- @mixin styles($color) {
4
- @include mixins.cfgRootStyles;
5
- border: 0;
6
- border-bottom: 0.1em solid $color;
7
- padding: 0;
8
- margin: 0;
9
- }
10
-
11
- @mixin classes($color) {
12
- .cfgHr {
13
- @include styles($color);
14
- @content;
15
- }
16
- }
1
+ @use "mixins";
2
+
3
+ @mixin styles($color) {
4
+ @include mixins.cfgRootStyles;
5
+ border: 0;
6
+ border-bottom: 0.1em solid $color;
7
+ padding: 0;
8
+ margin: 0;
9
+ }
10
+
11
+ @mixin classes($color) {
12
+ .cfgHr {
13
+ @include styles($color);
14
+ @content;
15
+ }
16
+ }