@configura/web-ui 1.6.2 → 2.0.0-alpha.10

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 (100) 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 -11
  9. package/dist/components/ConfigurationActionsButtonRow.js +16 -13
  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 -7
  41. package/dist/components/productConfiguration/CfgCheckboxView.js +29 -29
  42. package/dist/components/productConfiguration/CfgCheckboxesView.d.ts +7 -7
  43. package/dist/components/productConfiguration/CfgCheckboxesView.js +18 -18
  44. package/dist/components/productConfiguration/CfgDropdownOptionView.d.ts +7 -7
  45. package/dist/components/productConfiguration/CfgDropdownOptionView.js +44 -44
  46. package/dist/components/productConfiguration/CfgDropdownView.d.ts +7 -7
  47. package/dist/components/productConfiguration/CfgDropdownView.js +20 -20
  48. package/dist/components/productConfiguration/CfgFeatureView.d.ts +31 -31
  49. package/dist/components/productConfiguration/CfgFeatureView.js +60 -60
  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 -22
  59. package/dist/components/productConfiguration/CfgProductConfigurationView.js +47 -47
  60. package/dist/css/web-ui.css +1 -1
  61. package/dist/css/web-ui.css.map +1 -1
  62. package/dist/index.d.ts +24 -23
  63. package/dist/index.js +24 -23
  64. package/dist/scss/_button.scss +52 -36
  65. package/dist/scss/_configurator.scss +88 -88
  66. package/dist/scss/_expandable.scss +37 -37
  67. package/dist/scss/_feature-item.scss +137 -137
  68. package/dist/scss/_forms.scss +42 -42
  69. package/dist/scss/_hr.scss +16 -16
  70. package/dist/scss/_loading.scss +98 -98
  71. package/dist/scss/_mixins.scss +56 -56
  72. package/dist/scss/_option-tree.scss +29 -29
  73. package/dist/scss/_product-information.scss +49 -49
  74. package/dist/scss/_range-view.scss +39 -39
  75. package/dist/scss/_slider.scss +70 -70
  76. package/dist/scss/_tasks.scss +72 -72
  77. package/dist/scss/_themed.scss +149 -147
  78. package/dist/scss/_utilities.scss +21 -21
  79. package/dist/scss/_variables.scss +6 -6
  80. package/dist/scss/icons/_checkmark.scss +46 -46
  81. package/dist/scss/icons/_chevron.scss +62 -62
  82. package/dist/scss/icons/_circle-xmark-icon.scss +24 -24
  83. package/dist/scss/icons/_download-icon.scss +24 -24
  84. package/dist/scss/icons/_error-icon.scss +24 -24
  85. package/dist/scss/web-ui.scss +11 -11
  86. package/dist/useCatParams.d.ts +18 -0
  87. package/dist/useCatParams.js +29 -0
  88. package/dist/useObservable.d.ts +4 -4
  89. package/dist/useObservable.js +18 -18
  90. package/dist/useRerender.d.ts +1 -1
  91. package/dist/useRerender.js +5 -5
  92. package/dist/useResize.d.ts +6 -6
  93. package/dist/useResize.js +47 -47
  94. package/dist/useSelected.d.ts +2 -2
  95. package/dist/useSelected.js +13 -13
  96. package/dist/useUniqueId.d.ts +1 -1
  97. package/dist/useUniqueId.js +7 -7
  98. package/dist/utilities.d.ts +5 -5
  99. package/dist/utilities.js +1 -1
  100. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -1,23 +1,24 @@
1
- export * from "./components/CanvasWrapper.js";
2
- export * from "./components/Configurator.js";
3
- export * from "./components/ConfiguratorWrapper.js";
4
- export * from "./components/CurrencyPrice.js";
5
- export * from "./components/ErrorContext.js";
6
- export * from "./components/ExpandableHeadingRow.js";
7
- export * from "./components/icons/Checkmark.js";
8
- export * from "./components/icons/Chevron.js";
9
- export * from "./components/Loading.js";
10
- export * from "./components/productConfiguration/CfgCheckboxesView.js";
11
- export * from "./components/productConfiguration/CfgCheckboxView.js";
12
- export * from "./components/productConfiguration/CfgDropdownOptionView.js";
13
- export * from "./components/productConfiguration/CfgDropdownView.js";
14
- export * from "./components/productConfiguration/CfgFeatureView.js";
15
- export * from "./components/productConfiguration/CfgGroupView.js";
16
- export * from "./components/productConfiguration/CfgProductConfigurationView.js";
17
- export * from "./components/ProductInformation.js";
18
- export * from "./components/TaskListView.js";
19
- export * from "./components/TaskStartView.js";
20
- export * from "./useObservable.js";
21
- export * from "./useRerender.js";
22
- export * from "./useResize.js";
23
- export * from "./useUniqueId.js";
1
+ export * from "./components/CanvasWrapper.js";
2
+ export * from "./components/Configurator.js";
3
+ export * from "./components/ConfiguratorWrapper.js";
4
+ export * from "./components/CurrencyPrice.js";
5
+ export * from "./components/ErrorContext.js";
6
+ export * from "./components/ExpandableHeadingRow.js";
7
+ export * from "./components/icons/Checkmark.js";
8
+ export * from "./components/icons/Chevron.js";
9
+ export * from "./components/Loading.js";
10
+ export * from "./components/productConfiguration/CfgCheckboxesView.js";
11
+ export * from "./components/productConfiguration/CfgCheckboxView.js";
12
+ export * from "./components/productConfiguration/CfgDropdownOptionView.js";
13
+ export * from "./components/productConfiguration/CfgDropdownView.js";
14
+ export * from "./components/productConfiguration/CfgFeatureView.js";
15
+ export * from "./components/productConfiguration/CfgGroupView.js";
16
+ export * from "./components/productConfiguration/CfgProductConfigurationView.js";
17
+ export * from "./components/ProductInformation.js";
18
+ export * from "./components/TaskListView.js";
19
+ export * from "./components/TaskStartView.js";
20
+ export * from "./useCatParams.js";
21
+ export * from "./useObservable.js";
22
+ export * from "./useRerender.js";
23
+ export * from "./useResize.js";
24
+ export * from "./useUniqueId.js";
@@ -1,36 +1,52 @@
1
- /**
2
- * Web UI Product information
3
- */
4
- @use "mixins";
5
-
6
- @mixin styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {
7
- @include mixins.cfgRootStyles;
8
- display: inline-block;
9
- background-color: transparent;
10
- color: $textColor;
11
- border-radius: 0.3em;
12
- border: 0.1em solid $borderColor;
13
- font-size: 1.3em;
14
- font-weight: 500;
15
- outline: none;
16
- padding: 0.4em 0.8em;
17
-
18
- &:focus {
19
- @include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);
20
- }
21
- }
22
-
23
- @mixin classes($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {
24
- .cfgButton {
25
- @include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);
26
- }
27
-
28
- .cfgButtonRow {
29
- @include mixins.cfgRootStyles;
30
- &__button {
31
- &:nth-child(n + 2) {
32
- margin-left: 1em;
33
- }
34
- }
35
- }
36
- }
1
+ /**
2
+ * Web UI Product information
3
+ */
4
+ @use "mixins";
5
+
6
+ @mixin styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {
7
+ @include mixins.cfgRootStyles;
8
+ display: inline-block;
9
+ background-color: transparent;
10
+ color: $textColor;
11
+ border-radius: 0.3em;
12
+ border: 0.1em solid $borderColor;
13
+ font-size: 1.3em;
14
+ font-weight: 500;
15
+ outline: none;
16
+ padding: 0.4em 0.8em;
17
+
18
+ &:focus {
19
+ @include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);
20
+ }
21
+ }
22
+
23
+ @mixin classes(
24
+ $textColor,
25
+ $borderColor,
26
+ $focusOutlineInnerColor,
27
+ $focusOutlineOuterColor,
28
+ $disabledTextColor,
29
+ $disabledBorderColor
30
+ ) {
31
+ .cfgButton {
32
+ @include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);
33
+
34
+ &[disabled] {
35
+ @include styles(
36
+ $disabledTextColor,
37
+ $disabledBorderColor,
38
+ $focusOutlineInnerColor,
39
+ $focusOutlineOuterColor
40
+ );
41
+ }
42
+ }
43
+
44
+ .cfgButtonRow {
45
+ @include mixins.cfgRootStyles;
46
+ &__button {
47
+ &:nth-child(n + 2) {
48
+ margin-left: 1em;
49
+ }
50
+ }
51
+ }
52
+ }
@@ -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
+ }