@configura/web-ui 2.0.0-alpha.9 → 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 (118) hide show
  1. package/.eslintrc.json +5 -0
  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 -21
  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 +9 -0
  26. package/dist/components/ResetButton.js +7 -0
  27. package/dist/components/ShareView.d.ts +4 -0
  28. package/dist/components/ShareView.js +21 -0
  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 -42
  45. package/dist/components/productConfiguration/CfgCheckboxView.d.ts +4 -7
  46. package/dist/components/productConfiguration/CfgCheckboxView.js +7 -29
  47. package/dist/components/productConfiguration/CfgCheckboxesView.d.ts +4 -7
  48. package/dist/components/productConfiguration/CfgCheckboxesView.js +20 -18
  49. package/dist/components/productConfiguration/CfgConfigurationCommonView.d.ts +8 -0
  50. package/dist/components/productConfiguration/CfgConfigurationCommonView.js +8 -0
  51. package/dist/components/productConfiguration/CfgDropdownOptionView.d.ts +4 -7
  52. package/dist/components/productConfiguration/CfgDropdownOptionView.js +23 -44
  53. package/dist/components/productConfiguration/CfgDropdownView.d.ts +4 -7
  54. package/dist/components/productConfiguration/CfgDropdownView.js +23 -20
  55. package/dist/components/productConfiguration/CfgFeatureView.d.ts +72 -31
  56. package/dist/components/productConfiguration/CfgFeatureView.js +76 -60
  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 +5 -0
  60. package/dist/components/productConfiguration/CfgMiscFile.js +9 -0
  61. package/dist/components/productConfiguration/CfgMiscFiles.d.ts +5 -0
  62. package/dist/components/productConfiguration/CfgMiscFiles.js +5 -0
  63. package/dist/components/productConfiguration/CfgNote.d.ts +5 -0
  64. package/dist/components/productConfiguration/CfgNote.js +15 -0
  65. package/dist/components/productConfiguration/CfgNotes.d.ts +5 -0
  66. package/dist/components/productConfiguration/CfgNotes.js +5 -0
  67. package/dist/components/productConfiguration/CfgOptionCommonView.d.ts +7 -0
  68. package/dist/components/productConfiguration/CfgOptionCommonView.js +48 -0
  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 -29
  73. package/dist/components/productConfiguration/CfgProductConfigurationView.d.ts +22 -22
  74. package/dist/components/productConfiguration/CfgProductConfigurationView.js +50 -47
  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 -24
  78. package/dist/index.js +29 -24
  79. package/dist/scss/_button.scss +52 -52
  80. package/dist/scss/_configurator.scss +132 -88
  81. package/dist/scss/_expandable.scss +38 -37
  82. package/dist/scss/_feature-item.scss +142 -137
  83. package/dist/scss/_forms.scss +44 -42
  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 -0
  87. package/dist/scss/_mixins.scss +56 -56
  88. package/dist/scss/_option-tree.scss +29 -29
  89. package/dist/scss/_product-information.scss +53 -49
  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 -149
  94. package/dist/scss/_utilities.scss +21 -21
  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 -7
  114. package/dist/utilities.d.ts +5 -5
  115. package/dist/utilities.js +1 -1
  116. package/package.json +3 -3
  117. package/dist/components/productConfiguration/CfgOptionFeaturesView.d.ts +0 -4
  118. package/dist/components/productConfiguration/CfgOptionFeaturesView.js +0 -13
@@ -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,72 +1,72 @@
1
- @use "mixins";
2
-
3
- @mixin classes($borderColor, $linkColor) {
4
- $preview-size: 4.8em;
5
- $line-width: 0.1em;
6
- $icon-size: 2em;
7
-
8
- .cfgTaskList {
9
- ul {
10
- list-style-type: none;
11
- padding: 0;
12
- margin: 1em 0 0 0;
13
- border-bottom: 0.1em solid $borderColor;
14
- }
15
-
16
- &__item {
17
- padding: 0 1.5em 0 1.7em;
18
- margin-bottom: 1em;
19
- display: flex;
20
- align-items: center;
21
- }
22
-
23
- &__preview {
24
- border: 0.1em solid $borderColor;
25
- border-radius: 10%;
26
- width: $preview-size;
27
- height: $preview-size;
28
- flex-shrink: 0;
29
-
30
- img {
31
- object-fit: cover;
32
- position: relative;
33
- left: 0.1 * $preview-size - $line-width;
34
- top: 0.1 * $preview-size - $line-width;
35
- width: 0.8 * $preview-size;
36
- height: 0.8 * $preview-size;
37
- }
38
- }
39
-
40
- &__icon {
41
- flex-shrink: 0;
42
- width: $icon-size + 2em;
43
- height: $icon-size;
44
- padding-left: 1em;
45
- padding-right: 1em;
46
-
47
- .cfgLoadingSizer {
48
- font-size: 0.75em;
49
- }
50
- }
51
-
52
- &__status {
53
- flex-grow: 1;
54
- font-size: 1.5em;
55
- }
56
-
57
- &__abort {
58
- @include mixins.noButtonLook;
59
- cursor: pointer;
60
- width: $icon-size;
61
- height: $icon-size;
62
- flex-shrink: 0;
63
- }
64
-
65
- &__restart {
66
- @include mixins.noButtonLook;
67
- cursor: pointer;
68
- text-decoration: underline;
69
- color: $linkColor;
70
- }
71
- }
72
- }
1
+ @use "mixins";
2
+
3
+ @mixin classes($borderColor, $linkColor) {
4
+ $preview-size: 4.8em;
5
+ $line-width: 0.1em;
6
+ $icon-size: 2em;
7
+
8
+ .cfgTaskList {
9
+ ul {
10
+ list-style-type: none;
11
+ padding: 0;
12
+ margin: 1em 0 0 0;
13
+ border-bottom: 0.1em solid $borderColor;
14
+ }
15
+
16
+ &__item {
17
+ padding: 0 1.5em 0 1.7em;
18
+ margin-bottom: 1em;
19
+ display: flex;
20
+ align-items: center;
21
+ }
22
+
23
+ &__preview {
24
+ border: 0.1em solid $borderColor;
25
+ border-radius: 10%;
26
+ width: $preview-size;
27
+ height: $preview-size;
28
+ flex-shrink: 0;
29
+
30
+ img {
31
+ object-fit: cover;
32
+ position: relative;
33
+ left: 0.1 * $preview-size - $line-width;
34
+ top: 0.1 * $preview-size - $line-width;
35
+ width: 0.8 * $preview-size;
36
+ height: 0.8 * $preview-size;
37
+ }
38
+ }
39
+
40
+ &__icon {
41
+ flex-shrink: 0;
42
+ width: $icon-size + 2em;
43
+ height: $icon-size;
44
+ padding-left: 1em;
45
+ padding-right: 1em;
46
+
47
+ .cfgLoadingSizer {
48
+ font-size: 0.75em;
49
+ }
50
+ }
51
+
52
+ &__status {
53
+ flex-grow: 1;
54
+ font-size: 1.5em;
55
+ }
56
+
57
+ &__abort {
58
+ @include mixins.noButtonLook;
59
+ cursor: pointer;
60
+ width: $icon-size;
61
+ height: $icon-size;
62
+ flex-shrink: 0;
63
+ }
64
+
65
+ &__restart {
66
+ @include mixins.noButtonLook;
67
+ cursor: pointer;
68
+ text-decoration: underline;
69
+ color: $linkColor;
70
+ }
71
+ }
72
+ }
@@ -1,149 +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 "option-tree";
16
- @use "product-information";
17
- @use "range-view";
18
- @use "slider";
19
- @use "tasks";
20
-
21
- // Icons
22
- @use "icons/checkmark";
23
- @use "icons/chevron";
24
- @use "icons/circle-xmark-icon";
25
- @use "icons/download-icon";
26
- @use "icons/error-icon";
27
-
28
- // Utilities
29
- @use "utilities";
30
-
31
- /* Colors */
32
-
33
- $black: hsl(0, 0%, 0%) !default;
34
- $white: hsl(0, 0%, 100%) !default;
35
- $darkGrey: hsl(0, 0%, 15%) !default;
36
-
37
- /* Specific colors */
38
-
39
- $border: hsl(252, 5%, 79%) !default;
40
- $borderDark: hsl(0, 0%, 73%) !default;
41
- $icon: hsl(252, 5%, 50%) !default;
42
- $focusOutlineOuter: hsl(0, 0%, 13%) !default;
43
- $sliderTrack: #666 !default;
44
- $spinner2: hsla(0, 0%, 0%, 0.15);
45
- $grayText: hsl(0, 0%, 50%) !default;
46
- $text: hsl(0, 0%, 20%) !default;
47
- $link: hsl(209, 100%, 35%) !default;
48
- $error: hsl(10, 72%, 41%) !default;
49
-
50
- /* As convention we assume the default theme when naming colors,
51
- as attempts at generic naming often leads to confusion */
52
- $lightTheme: (
53
- "black": $black,
54
- "border": $border,
55
- "borderDark": $borderDark,
56
- "checkButtonChecked": $black,
57
- "checkButtonUnchecked": $border,
58
- "chevronActive": $black,
59
- "chevronPassive": $borderDark,
60
- "divider": $border,
61
- "dividerDark": $borderDark,
62
- "error": $error,
63
- "focusOutlineInner": $white,
64
- "focusOutlineOuter": $text,
65
- "grayText": $grayText,
66
- "icon": $icon,
67
- "link": $link,
68
- "overlayBackground": $white,
69
- "sliderThumb": $white,
70
- "sliderThumbShadow": $sliderTrack,
71
- "sliderTrack": $sliderTrack,
72
- "spinner1": $black,
73
- "spinner2": $spinner2,
74
- "text": $text,
75
- "white": $white,
76
- ) !default;
77
-
78
- @function invertLightness($color) {
79
- @return color.change(
80
- $color,
81
- $lightness: 100 - color.lightness($color) * 0.8
82
- ); // We scale with 80% to have a bit more contrast
83
- }
84
-
85
- @function invertLightnessList($list) {
86
- @each $key, $color in $list {
87
- $list: map.set($list, $key, invertLightness($color));
88
- }
89
- @return $list;
90
- }
91
-
92
- $darkTheme: invertLightnessList($lightTheme);
93
-
94
- $themes: (
95
- "light": $lightTheme,
96
- "dark": $darkTheme,
97
- );
98
-
99
- @mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {
100
- a {
101
- color: map.get($ct, "link");
102
- }
103
-
104
- @include button.classes(
105
- map.get($ct, "text"),
106
- map.get($ct, "borderDark"),
107
- map.get($ct, "focusOutlineInner"),
108
- map.get($ct, "focusOutlineOuter"),
109
- map.get($ct, "grayText"),
110
- map.get($ct, "border")
111
- );
112
- @include checkmark.classes(
113
- map.get($ct, "checkButtonChecked"),
114
- map.get($ct, "checkButtonUnchecked")
115
- );
116
- @include chevron.classes(map.get($ct, "chevronActive"), map.get($ct, "chevronPassive"));
117
- @include circle-xmark-icon.classes(map.get($ct, "icon"));
118
- @include configurator.classes($baseFontSize, map.get($ct, "text"), map.get($ct, "divider"));
119
- @include download-icon.classes(map.get($ct, "link"));
120
- @include expandable.classes;
121
- @include error-icon.classes(map.get($ct, "error"));
122
- @include feature-item.classes(
123
- map.get($ct, "text"),
124
- map.get($ct, "grayText"),
125
- map.get($ct, "checkButtonUnchecked"),
126
- map.get($ct, "checkButtonChecked"),
127
- map.get($ct, "focusOutlineInner"),
128
- map.get($ct, "focusOutlineOuter"),
129
- map.get($ct, "dividerDark")
130
- );
131
- @include forms.classes(map.get($ct, "borderDark"));
132
- @include hr.classes(map.get($ct, "divider"));
133
- @include loading.classes(
134
- map.get($ct, "black"),
135
- map.get($ct, "spinner1"),
136
- map.get($ct, "spinner2"),
137
- map.get($ct, "overlayBackground"),
138
- $overlayingZIndex
139
- );
140
- @include option-tree.classes;
141
- @include product-information.classes(map.get($ct, "text"));
142
- @include range-view.classes(map.get($ct, "error"));
143
- @include slider.classes(
144
- map.get($ct, "sliderTrack"),
145
- map.get($ct, "sliderThumb"),
146
- map.get($ct, "sliderThumbShadow")
147
- );
148
- @include tasks.classes(map.get($ct, "border"), map.get($ct, "link"));
149
- }
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,21 +1,21 @@
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: nowrap;
21
- }
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: nowrap;
21
+ }
@@ -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;