@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,18 +1,23 @@
1
- import { CfgProduct, CfgProductConfiguration } from "@configura/web-api";
2
- import React from "react";
3
- import { CssProps } from "../../utilities.js";
4
- import { CfgProductConfigurationComponent } from "./CfgFeatureView.js";
5
- export declare enum UpchargeDisplayMode {
6
- SelectionImpact = 0,
7
- None = 1,
8
- Price = 2
9
- }
10
- export declare type PassthroughProps = {
11
- upchargeDisplayMode?: UpchargeDisplayMode;
12
- };
13
- export declare type CfgProductConfigurationViewProps = PassthroughProps & Partial<CfgProductConfigurationComponent> & CssProps & {
14
- productOrConfiguration: CfgProductConfiguration | CfgProduct;
15
- permanentlyExpandedAdditionalProductLevels?: number;
16
- };
17
- export declare const CfgProductConfigurationView: React.FC<CfgProductConfigurationViewProps>;
1
+ import { CfgProduct, CfgProductConfiguration } from "@configura/web-api";
2
+ import React from "react";
3
+ import { CssProps } from "../../utilities.js";
4
+ import { CfgProductConfigurationComponent } from "./CfgFeatureView.js";
5
+ export declare enum UpchargeDisplayMode {
6
+ SelectionImpact = 0,
7
+ None = 1,
8
+ Price = 2
9
+ }
10
+ /**
11
+ * @param upchargeDisplayMode How upcharge on Options is displayed
12
+ * @param startOpen Setting this to true will make all selected options be expanded from start. This is bad for performance when viewing large products.
13
+ */
14
+ export declare type PassthroughProps = {
15
+ upchargeDisplayMode?: UpchargeDisplayMode;
16
+ startOpen?: boolean;
17
+ };
18
+ export declare type CfgProductConfigurationViewProps = PassthroughProps & Partial<CfgProductConfigurationComponent> & CssProps & {
19
+ productOrConfiguration: CfgProductConfiguration | CfgProduct;
20
+ permanentlyExpandedAdditionalProductLevels?: number;
21
+ };
22
+ export declare const CfgProductConfigurationView: React.FC<CfgProductConfigurationViewProps>;
18
23
  //# sourceMappingURL=CfgProductConfigurationView.d.ts.map
@@ -1,47 +1,47 @@
1
- import { CfgProduct, CfgProductConfiguration } from "@configura/web-api";
2
- import React, { useEffect } from "react";
3
- import { useRerender } from "../../useRerender.js";
4
- import { CfgFeatureViewMemo, forwardProps, useCompleteWithDefaultProductConfigurationComponents, } from "./CfgFeatureView.js";
5
- export var UpchargeDisplayMode;
6
- (function (UpchargeDisplayMode) {
7
- UpchargeDisplayMode[UpchargeDisplayMode["SelectionImpact"] = 0] = "SelectionImpact";
8
- UpchargeDisplayMode[UpchargeDisplayMode["None"] = 1] = "None";
9
- UpchargeDisplayMode[UpchargeDisplayMode["Price"] = 2] = "Price";
10
- })(UpchargeDisplayMode || (UpchargeDisplayMode = {}));
11
- export const CfgProductConfigurationView = React.memo((props) => {
12
- const completedProps = Object.assign(Object.assign({}, props), useCompleteWithDefaultProductConfigurationComponents(props));
13
- const { productOrConfiguration, permanentlyExpandedAdditionalProductLevels, additionalProductComponent: AdditionalProductComponent, } = completedProps;
14
- const configuration = productOrConfiguration instanceof CfgProduct
15
- ? productOrConfiguration.configuration
16
- : productOrConfiguration;
17
- const configurationVisible = productOrConfiguration instanceof CfgProductConfiguration ||
18
- productOrConfiguration.visible;
19
- const features = configuration.features.reduce((agg, feature) => {
20
- // It is possible in Cat Creator to double add a Feature. This fills no known
21
- // purpose and React can not handle this, so we filter out the duplicates.
22
- const code = feature.code;
23
- if (agg.every((f) => f.code !== code)) {
24
- agg.push(feature);
25
- }
26
- return agg;
27
- }, []);
28
- const additionalProducts = productOrConfiguration instanceof CfgProduct
29
- ? productOrConfiguration.additionalProducts
30
- : undefined;
31
- // const AdditionalProductComponent = additionalProductComponent || CfgAdditionalProductView;
32
- // Re-rendering is driven from the very top of the tree. However, when selecting an option
33
- // the change is not bubbled all the way to the top (and then down again) until after
34
- // validation has been done. This keeps the 3D-view from re-rendering until after validation
35
- // has been done. But it also makes the state of this GUI not update until after validate,
36
- // which does not look good. So we add this extra hook to make this rerender early.
37
- const rerender = useRerender();
38
- useEffect(() => {
39
- configuration.listenForChange(rerender);
40
- return () => {
41
- configuration.stopListenForChange(rerender);
42
- };
43
- }, [configuration, rerender]);
44
- return (React.createElement(React.Fragment, null,
45
- configurationVisible && (React.createElement("ul", { className: `cfgOptionTree cfgOptionTree--topLevel ${props.className || ""}`, style: props.style }, features.map((f) => (React.createElement(CfgFeatureViewMemo, Object.assign({ feature: f, key: f.key }, forwardProps(completedProps))))))),
46
- additionalProducts !== undefined && (React.createElement("ul", { className: `cfgOptionTree cfgOptionTree--topLevel` }, additionalProducts.map((additionalProduct) => (React.createElement(AdditionalProductComponent, Object.assign({ key: additionalProduct.key }, forwardProps(completedProps), { product: additionalProduct, permanentlyExpandedLevels: permanentlyExpandedAdditionalProductLevels !== null && permanentlyExpandedAdditionalProductLevels !== void 0 ? permanentlyExpandedAdditionalProductLevels : 0 }))))))));
47
- });
1
+ import { CfgProduct, CfgProductConfiguration } from "@configura/web-api";
2
+ import React, { useEffect } from "react";
3
+ import { useRerender } from "../../useRerender.js";
4
+ import { CfgFeatureViewMemo, forwardProps, useCompleteWithDefaultProductConfigurationComponents, } from "./CfgFeatureView.js";
5
+ export var UpchargeDisplayMode;
6
+ (function (UpchargeDisplayMode) {
7
+ UpchargeDisplayMode[UpchargeDisplayMode["SelectionImpact"] = 0] = "SelectionImpact";
8
+ UpchargeDisplayMode[UpchargeDisplayMode["None"] = 1] = "None";
9
+ UpchargeDisplayMode[UpchargeDisplayMode["Price"] = 2] = "Price";
10
+ })(UpchargeDisplayMode || (UpchargeDisplayMode = {}));
11
+ export const CfgProductConfigurationView = React.memo((props) => {
12
+ const completedProps = Object.assign(Object.assign({}, props), useCompleteWithDefaultProductConfigurationComponents(props));
13
+ const { productOrConfiguration, permanentlyExpandedAdditionalProductLevels, additionalProductComponent: AdditionalProductComponent, } = completedProps;
14
+ const configuration = productOrConfiguration instanceof CfgProduct
15
+ ? productOrConfiguration.configuration
16
+ : productOrConfiguration;
17
+ const configurationVisible = productOrConfiguration instanceof CfgProductConfiguration ||
18
+ productOrConfiguration.visible;
19
+ const features = configuration.features.reduce((agg, feature) => {
20
+ // It is possible in Cat Creator to double add a Feature. This fills no known
21
+ // purpose and React can not handle this, so we filter out the duplicates.
22
+ const code = feature.code;
23
+ if (agg.every((f) => f.code !== code)) {
24
+ agg.push(feature);
25
+ }
26
+ return agg;
27
+ }, []);
28
+ const additionalProducts = productOrConfiguration instanceof CfgProduct
29
+ ? productOrConfiguration.additionalProducts
30
+ : undefined;
31
+ // const AdditionalProductComponent = additionalProductComponent || CfgAdditionalProductView;
32
+ // Re-rendering is driven from the very top of the tree. However, when selecting an option
33
+ // the change is not bubbled all the way to the top (and then down again) until after
34
+ // validation has been done. This keeps the 3D-view from re-rendering until after validation
35
+ // has been done. But it also makes the state of this GUI not update until after validate,
36
+ // which does not look good. So we add this extra hook to make this rerender early.
37
+ const rerender = useRerender();
38
+ useEffect(() => {
39
+ configuration.listenForChange(rerender);
40
+ return () => {
41
+ configuration.stopListenForChange(rerender);
42
+ };
43
+ }, [configuration, rerender]);
44
+ return (React.createElement(React.Fragment, null,
45
+ configurationVisible && (React.createElement("ul", { className: `cfgOptionTree cfgOptionTree--topLevel ${props.className || ""}`, style: props.style }, features.map((f) => (React.createElement(CfgFeatureViewMemo, Object.assign({ feature: f, key: f.key }, forwardProps(completedProps))))))),
46
+ additionalProducts !== undefined && (React.createElement("ul", { className: `cfgOptionTree cfgOptionTree--topLevel` }, additionalProducts.map((additionalProduct) => (React.createElement(AdditionalProductComponent, Object.assign({ key: additionalProduct.key }, forwardProps(completedProps), { product: additionalProduct, permanentlyExpandedLevels: permanentlyExpandedAdditionalProductLevels !== null && permanentlyExpandedAdditionalProductLevels !== void 0 ? permanentlyExpandedAdditionalProductLevels : 0 }))))))));
47
+ });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/scss/_utilities.scss","../../src/scss/web-ui.scss","../../src/scss/_themed.scss","../../src/scss/_button.scss","../../src/scss/_mixins.scss","../../src/scss/icons/_checkmark.scss","../../src/scss/icons/_chevron.scss","../../src/scss/icons/_circle-xmark-icon.scss","../../src/scss/_configurator.scss","../../src/scss/_variables.scss","../../src/scss/icons/_download-icon.scss","../../src/scss/_expandable.scss","../../src/scss/icons/_error-icon.scss","../../src/scss/_feature-item.scss","../../src/scss/_forms.scss","../../src/scss/_hr.scss","../../src/scss/_loading.scss","../../src/scss/_option-tree.scss","../../src/scss/_product-information.scss","../../src/scss/_range-view.scss","../../src/scss/_slider.scss","../../src/scss/_tasks.scss"],"names":[],"mappings":"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,CACA,SAAA,CiBmDE,cpBw7BH,CoBl7BE,sBjB5DD,aAAA,CiB+DE,yBAAA,CACA,apB86BH,CC/4BC,gBACC,aDk5BF,CEx9BC,yBCfA,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,aD+FC,CC9FD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBFm/BD,CGl/BC,+DAEC,kBHm/BF,CG5+BC,2BAVA,qBHy/BD,CGx/BC,iEAEC,kBHy/BF,CE1/BC,+BCNA,+CHmgCD,CE7+BE,mCClBD,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,UDmGC,CClGD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBF2gCD,CG1gCC,mFAEC,kBH2gCF,CGpgCC,qCAVA,qBHihCD,CGhhCC,qFAEC,kBHihCF,CElhCC,yCCNA,+CH2hCD,CE3/BC,4BC5BA,qBH0hCD,CGzhCC,qEAEC,kBH0hCF,CGnhCC,8BAVA,qBHgiCD,CG/hCC,uEAEC,kBHgiCF,CEpgCG,mDACC,eFsgCJ,CIljCC,4BDYA,qBAAA,CCNC,oBAAA,CACA,UAAA,CACA,WJkjCF,CG7iCC,qEAEC,kBH8iCF,CGviCC,8BAVA,qBHojCD,CGnjCC,uEAEC,kBHojCF,CIzjCE,uCACC,wBAAA,CACA,0BJ2jCH,CIxjCE,kCACC,WH6FD,CG5FC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCJ0jCH,CIvjCE,sCACC,WHqFD,CGpFC,yDJyjCH,CItjCE,uCACC,WHgFD,CG/EC,0DJwjCH,CInjCE,oCDDD,yBAAA,CAYA,kBHojCD,CI7jCG,gFDJF,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WHqkCD,CIzkCG,4CDHF,sBAAA,CAYA,kBHgkCD,CK9mCC,0BFYA,qBAAA,CENC,oBAAA,CACA,UL8mCF,CGxmCC,iEAEC,kBHymCF,CGlmCC,4BAVA,qBH+mCD,CG9mCC,mEAEC,kBH+mCF,CKrnCE,qCACC,wBLunCH,CKrnCG,2CACC,0BLunCJ,CKp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","file":"web-ui.css","sourcesContent":["/**\r\n * Web UI Utilities\r\n */\r\n\r\n.cfgMl1 {\r\n\tmargin-left: 1em;\r\n}\r\n\r\n.cfgMt1 {\r\n\tmargin-top: 1em;\r\n}\r\n\r\n.cfgMb1 {\r\n\tmargin-bottom: 1em;\r\n}\r\n\r\n.cfgTextOverflow {\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n}\r\n","/**\r\n* Web UI Styling\r\n*/\r\n\r\n@use \"themed\";\r\n\r\n@include themed.themed(themed.$lightTheme);\r\n\r\n.cfgDarkTheme {\r\n\t@include themed.themed(themed.$darkTheme);\r\n}\r\n","@use \"sass:map\";\r\n@use \"sass:color\";\r\n\r\n@use \"variables\" as v;\r\n\r\n// Components\r\n@use \"button\";\r\n@use \"forms\";\r\n\r\n@use \"configurator\";\r\n@use \"expandable\";\r\n@use \"feature-item\";\r\n@use \"hr\";\r\n@use \"loading\";\r\n@use \"option-tree\";\r\n@use \"product-information\";\r\n@use \"range-view\";\r\n@use \"slider\";\r\n@use \"tasks\";\r\n\r\n// Icons\r\n@use \"icons/checkmark\";\r\n@use \"icons/chevron\";\r\n@use \"icons/circle-xmark-icon\";\r\n@use \"icons/download-icon\";\r\n@use \"icons/error-icon\";\r\n\r\n// Utilities\r\n@use \"utilities\";\r\n\r\n/* Colors */\r\n\r\n$black: hsl(0, 0%, 0%) !default;\r\n$white: hsl(0, 0%, 100%) !default;\r\n$darkGrey: hsl(0, 0%, 15%) !default;\r\n\r\n/* Specific colors */\r\n\r\n$border: hsl(252, 5%, 79%) !default;\r\n$borderDark: hsl(0, 0%, 73%) !default;\r\n$icon: hsl(252, 5%, 50%) !default;\r\n$focusOutlineOuter: hsl(0, 0%, 13%) !default;\r\n$sliderTrack: #666 !default;\r\n$spinner2: hsla(0, 0%, 0%, 0.15);\r\n$grayText: hsl(0, 0%, 50%) !default;\r\n$text: hsl(0, 0%, 20%) !default;\r\n$link: hsl(209, 100%, 35%) !default;\r\n$error: hsl(10, 72%, 41%) !default;\r\n\r\n/* As convention we assume the default theme when naming colors,\r\n as attempts at generic naming often leads to confusion */\r\n$lightTheme: (\r\n\t\"black\": $black,\r\n\t\"border\": $border,\r\n\t\"borderDark\": $borderDark,\r\n\t\"checkButtonChecked\": $black,\r\n\t\"checkButtonUnchecked\": $border,\r\n\t\"chevronActive\": $black,\r\n\t\"chevronPassive\": $borderDark,\r\n\t\"divider\": $border,\r\n\t\"dividerDark\": $borderDark,\r\n\t\"error\": $error,\r\n\t\"focusOutlineInner\": $white,\r\n\t\"focusOutlineOuter\": $text,\r\n\t\"grayText\": $grayText,\r\n\t\"icon\": $icon,\r\n\t\"link\": $link,\r\n\t\"overlayBackground\": $white,\r\n\t\"sliderThumb\": $white,\r\n\t\"sliderThumbShadow\": $sliderTrack,\r\n\t\"sliderTrack\": $sliderTrack,\r\n\t\"spinner1\": $black,\r\n\t\"spinner2\": $spinner2,\r\n\t\"text\": $text,\r\n\t\"white\": $white,\r\n) !default;\r\n\r\n@function invertLightness($color) {\r\n\t@return color.change(\r\n\t\t$color,\r\n\t\t$lightness: 100 - color.lightness($color) * 0.8\r\n\t); // We scale with 80% to have a bit more contrast\r\n}\r\n\r\n@function invertLightnessList($list) {\r\n\t@each $key, $color in $list {\r\n\t\t$list: map.set($list, $key, invertLightness($color));\r\n\t}\r\n\t@return $list;\r\n}\r\n\r\n$darkTheme: invertLightnessList($lightTheme);\r\n\r\n$themes: (\r\n\t\"light\": $lightTheme,\r\n\t\"dark\": $darkTheme,\r\n);\r\n\r\n@mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {\r\n\ta {\r\n\t\tcolor: map.get($ct, \"link\");\r\n\t}\r\n\r\n\t@include button.classes(\r\n\t\tmap.get($ct, \"text\"),\r\n\t\tmap.get($ct, \"borderDark\"),\r\n\t\tmap.get($ct, \"focusOutlineInner\"),\r\n\t\tmap.get($ct, \"focusOutlineOuter\"),\r\n\t\tmap.get($ct, \"grayText\"),\r\n\t\tmap.get($ct, \"border\")\r\n\t);\r\n\t@include checkmark.classes(\r\n\t\tmap.get($ct, \"checkButtonChecked\"),\r\n\t\tmap.get($ct, \"checkButtonUnchecked\")\r\n\t);\r\n\t@include chevron.classes(map.get($ct, \"chevronActive\"), map.get($ct, \"chevronPassive\"));\r\n\t@include circle-xmark-icon.classes(map.get($ct, \"icon\"));\r\n\t@include configurator.classes($baseFontSize, map.get($ct, \"text\"), map.get($ct, \"divider\"));\r\n\t@include download-icon.classes(map.get($ct, \"link\"));\r\n\t@include expandable.classes;\r\n\t@include error-icon.classes(map.get($ct, \"error\"));\r\n\t@include feature-item.classes(\r\n\t\tmap.get($ct, \"text\"),\r\n\t\tmap.get($ct, \"grayText\"),\r\n\t\tmap.get($ct, \"checkButtonUnchecked\"),\r\n\t\tmap.get($ct, \"checkButtonChecked\"),\r\n\t\tmap.get($ct, \"focusOutlineInner\"),\r\n\t\tmap.get($ct, \"focusOutlineOuter\"),\r\n\t\tmap.get($ct, \"dividerDark\")\r\n\t);\r\n\t@include forms.classes(map.get($ct, \"borderDark\"));\r\n\t@include hr.classes(map.get($ct, \"divider\"));\r\n\t@include loading.classes(\r\n\t\tmap.get($ct, \"black\"),\r\n\t\tmap.get($ct, \"spinner1\"),\r\n\t\tmap.get($ct, \"spinner2\"),\r\n\t\tmap.get($ct, \"overlayBackground\"),\r\n\t\t$overlayingZIndex\r\n\t);\r\n\t@include option-tree.classes;\r\n\t@include product-information.classes(map.get($ct, \"text\"));\r\n\t@include range-view.classes(map.get($ct, \"error\"));\r\n\t@include slider.classes(\r\n\t\tmap.get($ct, \"sliderTrack\"),\r\n\t\tmap.get($ct, \"sliderThumb\"),\r\n\t\tmap.get($ct, \"sliderThumbShadow\")\r\n\t);\r\n\t@include tasks.classes(map.get($ct, \"border\"), map.get($ct, \"link\"));\r\n}\r\n","/**\r\n * Web UI Product information\r\n */\r\n@use \"mixins\";\r\n\r\n@mixin styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {\r\n\t@include mixins.cfgRootStyles;\r\n\tdisplay: inline-block;\r\n\tbackground-color: transparent;\r\n\tcolor: $textColor;\r\n\tborder-radius: 0.3em;\r\n\tborder: 0.1em solid $borderColor;\r\n\tfont-size: 1.3em;\r\n\tfont-weight: 500;\r\n\toutline: none;\r\n\tpadding: 0.4em 0.8em;\r\n\r\n\t&:focus {\r\n\t\t@include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);\r\n\t}\r\n}\r\n\r\n@mixin classes(\r\n\t$textColor,\r\n\t$borderColor,\r\n\t$focusOutlineInnerColor,\r\n\t$focusOutlineOuterColor,\r\n\t$disabledTextColor,\r\n\t$disabledBorderColor\r\n) {\r\n\t.cfgButton {\r\n\t\t@include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);\r\n\r\n\t\t&[disabled] {\r\n\t\t\t@include styles(\r\n\t\t\t\t$disabledTextColor,\r\n\t\t\t\t$disabledBorderColor,\r\n\t\t\t\t$focusOutlineInnerColor,\r\n\t\t\t\t$focusOutlineOuterColor\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t.cfgButtonRow {\r\n\t\t@include mixins.cfgRootStyles;\r\n\t\t&__button {\r\n\t\t\t&:nth-child(n + 2) {\r\n\t\t\t\tmargin-left: 1em;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","@mixin noButtonLook {\r\n\tappearance: none;\r\n\tfont-family: inherit;\r\n\tfont-size: inherit;\r\n\tcolor: inherit;\r\n\tbackground: none;\r\n\tborder: none;\r\n\tpadding: 0;\r\n}\r\n\r\n@mixin focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor) {\r\n\tbox-shadow: 0 0 0 0.075em $focusOutlineInnerColor, 0 0 0 0.2em $focusOutlineOuterColor;\r\n}\r\n\r\n@mixin borderBox {\r\n\tbox-sizing: border-box;\r\n\t&:before,\r\n\t&:after {\r\n\t\tbox-sizing: inherit;\r\n\t}\r\n}\r\n\r\n@mixin cfgRootStyles {\r\n\t@include borderBox;\r\n\r\n\t* {\r\n\t\t@include borderBox;\r\n\t}\r\n}\r\n\r\n@mixin cfgDefaultFont {\r\n\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif,\r\n\t\t\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\r\n}\r\n\r\n@mixin cfgCheckAndRadio($color) {\r\n\talign-items: center;\r\n\tborder: 0.2em solid $color;\r\n\tdisplay: flex;\r\n\tflex: 0 0 auto;\r\n\theight: 2.2em;\r\n\tjustify-content: center;\r\n\tpointer-events: none;\r\n\tuser-select: none;\r\n\twidth: 2.2em;\r\n}\r\n\r\n@mixin cfgCheckbox($color) {\r\n\t@include cfgCheckAndRadio($color);\r\n\tborder-radius: 0.3em;\r\n}\r\n\r\n@mixin cfgRadio($color) {\r\n\t@include cfgCheckAndRadio($color);\r\n\tborder-radius: 50%;\r\n}\r\n","@use \"../mixins\";\r\n\r\n@mixin classes($colorActive, $colorPassive) {\r\n\t.cfgCheckmark {\r\n\t\t/* The distance-units inside the checkmark are px even though everything\r\n\t\t else is relative units. The SVG has its own coordinate space. */\r\n\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tdisplay: inline-block;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\r\n\t\t&__container {\r\n\t\t\ttransition: transform 0.4s;\r\n\t\t\ttransform: translateY(17px);\r\n\t\t}\r\n\r\n\t\t&__line {\r\n\t\t\tstroke: $colorActive;\r\n\t\t\tstroke-linecap: round;\r\n\t\t\tstroke-width: 12;\r\n\t\t\ttransform-origin: 50px 50px;\r\n\t\t\ttransition: transform 0.4s, stroke 0.4s;\r\n\t\t}\r\n\r\n\t\t&__lineLeft {\r\n\t\t\tstroke: $colorActive;\r\n\t\t\ttransform: rotate(40deg) translateY(24px) translateX(18px);\r\n\t\t}\r\n\r\n\t\t&__lineRight {\r\n\t\t\tstroke: $colorActive;\r\n\t\t\ttransform: rotate(-50deg) translateY(-2px) translateX(-3px);\r\n\t\t}\r\n\r\n\t\t@content;\r\n\r\n\t\t&__border {\r\n\t\t\t@include mixins.cfgCheckbox($colorPassive);\r\n\t\t\t&--active {\r\n\t\t\t\t@include mixins.cfgCheckbox($colorActive);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","@use \"../mixins\";\r\n\r\n@mixin classes($activeColor, $passiveColor) {\r\n\t.cfgChevron {\r\n\t\t/* The distance-units inside the chevron are px even though everything\r\n\t\t else is relative units. The SVG has its own coordinate space. */\r\n\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tdisplay: inline-block;\r\n\t\twidth: 100%;\r\n\r\n\t\t&__container {\r\n\t\t\ttransition: transform 0.4s;\r\n\r\n\t\t\t&--down {\r\n\t\t\t\ttransform: translateY(13px);\r\n\t\t\t}\r\n\r\n\t\t\t&--up {\r\n\t\t\t\ttransform: translateY(-13px);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&__line {\r\n\t\t\tstroke-linecap: round;\r\n\t\t\tstroke-width: 10;\r\n\t\t\ttransform-origin: 50px 50px;\r\n\t\t\ttransition: transform 0.4s, stroke 0.4s;\r\n\t\t}\r\n\r\n\t\t&__lineLeft,\r\n\t\t&__lineRight {\r\n\t\t\t&--active {\r\n\t\t\t\tstroke: $activeColor;\r\n\t\t\t}\r\n\t\t\t&--passive {\r\n\t\t\t\tstroke: $passiveColor;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&__lineLeft {\r\n\t\t\t&--down {\r\n\t\t\t\ttransform: rotate(40deg);\r\n\t\t\t}\r\n\t\t\t&--up {\r\n\t\t\t\ttransform: rotate(-40deg);\r\n\t\t\t}\r\n\t\t}\r\n\t\t&__lineRight {\r\n\t\t\t&--down {\r\n\t\t\t\ttransform: rotate(-40deg);\r\n\t\t\t}\r\n\r\n\t\t\t&--up {\r\n\t\t\t\ttransform: rotate(40deg);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t@content;\r\n\t}\r\n}\r\n","@use \"../mixins\";\r\n\r\n@mixin classes($color) {\r\n\t.cfgCircleXmarkIcon {\r\n\t\t/* The distance-units inside the icon are px even though everything\r\n\t\t else is relative units. The SVG has its own coordinate space. */\r\n\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tdisplay: inline-block;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\r\n\t\tpath,\r\n\t\tcircle {\r\n\t\t\tstroke: $color;\r\n\t\t\tstroke-linecap: round;\r\n\t\t\tstroke-linejoin: round;\r\n\t\t\tstroke-width: 1.5;\r\n\t\t}\r\n\r\n\t\t@content;\r\n\t}\r\n}\r\n","/**\r\n * Web UI Configurator\r\n */\r\n\r\n@use \"mixins\";\r\n\r\n@mixin classes($fontSize, $textColor, $headerUnderlineColor) {\r\n\t.cfgConfiguratorWrapper {\r\n\t\t@include mixins.cfgRootStyles;\r\n\t\tcolor: $textColor;\r\n\t\tdisplay: flex;\r\n\t\theight: 85vh;\r\n\t\tflex-direction: column;\r\n\r\n\t\t@media screen and (orientation: landscape) {\r\n\t\t\tflex-direction: row;\r\n\t\t}\r\n\r\n\t\t.cfgTaskStart {\r\n\t\t\tmargin-top: 0.5em;\r\n\t\t\tfont-size: 1.2em;\r\n\t\t\tfont-weight: 500;\r\n\r\n\t\t\t.cfgFormSelect {\r\n\t\t\t\tpadding: 0.5em;\r\n\r\n\t\t\t\t&::after {\r\n\t\t\t\t\tright: 0.5em;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.cfgCanvasWrapper {\r\n\t\t@include mixins.cfgRootStyles;\r\n\t\tposition: relative;\r\n\t\theight: 50rem;\r\n\t\tuser-select: none;\r\n\r\n\t\tflex: 1 1 auto;\r\n\t\toverflow: hidden;\r\n\r\n\t\t& canvas {\r\n\t\t\toutline: none;\r\n\t\t}\r\n\r\n\t\t@media screen and (orientation: landscape) {\r\n\t\t\theight: 100%;\r\n\t\t\tflex: 0 1 60%;\r\n\t\t}\r\n\t}\r\n\r\n\t.cfgConfigurator {\r\n\t\t@include mixins.cfgRootStyles;\r\n\t\t@include mixins.cfgDefaultFont;\r\n\t\tfont-size: $fontSize;\r\n\t\tcolor: $textColor;\r\n\t\tmin-width: 0;\r\n\r\n\t\theight: 100%;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tflex: 0 0 50%;\r\n\t\toverflow: auto;\r\n\r\n\t\t@media screen and (orientation: landscape) {\r\n\t\t\theight: 100%;\r\n\t\t\tflex: 0 1 40%;\r\n\t\t}\r\n\t}\r\n\r\n\t.cfgConfiguratorHeader {\r\n\t\tborder-bottom: 0.1em solid $headerUnderlineColor;\r\n\t\tpadding: 1.7em 1.7em 1.9em;\r\n\t\tposition: relative;\r\n\r\n\t\t&__actions {\r\n\t\t\tmargin-top: 1em;\r\n\t\t}\r\n\t}\r\n\r\n\t.cfgConfiguratorTree {\r\n\t\tpadding-top: 1em;\r\n\t\tpadding-top: 0.5em;\r\n\t\toverflow-y: auto;\r\n\t\t-webkit-overflow-scrolling: touch;\r\n\t}\r\n}\r\n","/**\r\n * Web UI Variables\r\n */\r\n\t\r\n$baseFontSize: 10px !default; // We use 10px for easy em conversion\r\n$overlayingZIndex: 1000 !default;\r\n","@use \"../mixins\";\r\n\r\n@mixin classes($color) {\r\n\t.cfgDownloadIcon {\r\n\t\t/* The distance-units inside the icon are px even though everything\r\n\t\t else is relative units. The SVG has its own coordinate space. */\r\n\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tdisplay: inline-block;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\r\n\t\tpath,\r\n\t\tcircle {\r\n\t\t\tstroke: $color;\r\n\t\t\tstroke-linecap: round;\r\n\t\t\tstroke-linejoin: round;\r\n\t\t\tstroke-width: 1.5;\r\n\t\t}\r\n\r\n\t\t@content;\r\n\t}\r\n}\r\n","@use \"mixins\";\r\n\r\n@mixin classes {\r\n\t.cfgExpandableHeadingRow {\r\n\t\t@include mixins.cfgRootStyles;\r\n\t\t@include mixins.noButtonLook;\r\n\t\talign-items: stretch;\r\n\t\tdisplay: flex;\r\n\t\theight: 3.9em;\r\n\t\toutline: 0;\r\n\t\tposition: relative;\r\n\t\twidth: 100%;\r\n\r\n\t\t&--expandable {\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\r\n\t\t&__title {\r\n\t\t\talign-items: center;\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex: 1 1 auto;\r\n\t\t\tfont-size: 1.5em;\r\n\t\t\tfont-weight: 500;\r\n\t\t\tjustify-content: flex-start;\r\n\t\t}\r\n\r\n\t\t&__icon {\r\n\t\t\talign-items: center;\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex: 0 0 5em;\r\n\t\t\tjustify-content: center;\r\n\t\t\tpadding: 0 1.5em;\r\n\t\t}\r\n\r\n\t\t@content;\r\n\t}\r\n}\r\n","@use \"../mixins\";\r\n\r\n@mixin classes($color) {\r\n\t.cfgErrorIcon {\r\n\t\t/* The distance-units inside the icon are px even though everything\r\n\t\t else is relative units. The SVG has its own coordinate space. */\r\n\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tdisplay: inline-block;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\r\n\t\tpath,\r\n\t\tcircle {\r\n\t\t\tstroke: $color;\r\n\t\t\tstroke-linecap: round;\r\n\t\t\tstroke-linejoin: round;\r\n\t\t\tstroke-width: 1.5;\r\n\t\t}\r\n\r\n\t\t@content;\r\n\t}\r\n}\r\n","/**\r\n * Web UI Feature item\r\n */\r\n\r\n@use \"mixins\";\r\n\r\n@mixin classes(\r\n\t$textColor,\r\n\t$grayTextColor,\r\n\t$checkButtonUncheckedColor,\r\n\t$checkButtonCheckedColor,\r\n\t$focusOutlineInnerColor,\r\n\t$focusOutlineOuterColor,\r\n\t$dividerDark\r\n) {\r\n\t.cfgThumbnailImage {\r\n\t\tborder-radius: 0.7em;\r\n\t\tdisplay: inline-block;\r\n\t\theight: 3em;\r\n\t\twidth: 3em;\r\n\t}\r\n\r\n\t.cfgThumbnailPlaceholder {\r\n\t\talign-items: center;\r\n\t\tdisplay: flex;\r\n\t\tflex: 0 0 4.2em;\r\n\t\tjustify-content: flex-start;\r\n\t}\r\n\r\n\t.cfgFeatureItem {\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tcolor: $textColor;\r\n\r\n\t\t&__dropdown {\r\n\t\t\t@include mixins.noButtonLook;\r\n\t\t\talign-items: stretch;\r\n\t\t\tdisplay: flex;\r\n\t\t\theight: 3.9em;\r\n\t\t\toutline: 0;\r\n\t\t\tposition: relative;\r\n\t\t\twidth: 100%;\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\r\n\t\t&--optional {\r\n\t\t\tmargin-top: 1em;\r\n\t\t}\r\n\r\n\t\t&__hiddenInput {\r\n\t\t\tleft: -99999px;\r\n\t\t\topacity: 0;\r\n\t\t\tposition: absolute;\r\n\t\t\tz-index: -1;\r\n\t\t}\r\n\r\n\t\t&__radio {\r\n\t\t\t@include mixins.cfgRadio($checkButtonUncheckedColor);\r\n\t\t}\r\n\r\n\t\t&__checkbox {\r\n\t\t\t@include mixins.cfgCheckbox($checkButtonUncheckedColor);\r\n\t\t}\r\n\r\n\t\t/* The &-syntax brings in the entire path, so the second part of this rule must be explicit */\r\n\r\n\t\t&__hiddenInput:focus ~ .cfgFeatureItem__radio,\r\n\t\t&__hiddenInput:focus ~ .cfgFeatureItem__checkbox {\r\n\t\t\t@include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);\r\n\t\t}\r\n\r\n\t\t&__hiddenInput:checked ~ .cfgFeatureItem__radio {\r\n\t\t\t@include mixins.cfgRadio($checkButtonCheckedColor);\r\n\t\t}\r\n\t\t&__hiddenInput:checked ~ .cfgFeatureItem__checkbox {\r\n\t\t\t@include mixins.cfgCheckbox($checkButtonCheckedColor);\r\n\t\t}\r\n\r\n\t\t&.cfgAdditionalProduct {\r\n\t\t\t> .cfgExpandableHeadingRow {\r\n\t\t\t\t> .cfgExpandableHeadingRow__title {\r\n\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t> .cfgFeatureItem__hr {\r\n\t\t\t\tborder-bottom-color: $dividerDark;\r\n\t\t\t}\r\n\r\n\t\t\t/* The last themathic break (hr) we move under the next thematic break so it appears as one */\r\n\t\t\t.cfgFeatureItem:last-child .cfgFeatureItem__hr {\r\n\t\t\t\tmargin-bottom: -0.1em;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.cfgFeatureItemOptional__titleWrapper,\r\n\t.cfgFeatureItemOption__titleWrapper {\r\n\t\tflex: 1 1 auto;\r\n\t\tmargin-left: 1em;\r\n\t}\r\n\r\n\t.cfgFeatureItemOptional__title,\r\n\t.cfgFeatureItemOption__title {\r\n\t\tfont-size: 1.5em;\r\n\t}\r\n\r\n\t.cfgFeatureItemOption__price {\r\n\t\tfont-weight: 600;\r\n\t\tfont-size: 0.75em;\r\n\t\tcolor: $grayTextColor;\r\n\t}\r\n\r\n\t.cfgOptionTree--subLevel .cfgFeatureItem__hr {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.cfgFeatureItemOption {\r\n\t\talign-items: center;\r\n\t\tdisplay: flex;\r\n\t}\r\n\r\n\t.cfgFeatureItemOptional {\r\n\t\talign-items: center;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\tmargin-top: 0.5em;\r\n\r\n\t\t&__header {\r\n\t\t\tfont-size: 1.2em;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tmargin: 0 0 0.3em 0;\r\n\t\t\tpadding: 0;\r\n\t\t\ttext-transform: uppercase;\r\n\t\t}\r\n\t}\r\n}\r\n","@mixin classes($borderColor) {\r\n\t.cfgInput,\r\n\t.cfgFormSelect {\r\n\t\tborder: 0.1em solid $borderColor;\r\n\t\tpadding: 0.3em 0.4em;\r\n\t\tborder-radius: 0.3em;\r\n\t}\r\n\r\n\t.cfgFormSelect {\r\n\t\tselect {\r\n\t\t\tappearance: none;\r\n\t\t\tpadding: 0 1em 0 0;\r\n\t\t\tmargin: 0;\r\n\t\t\twidth: 100%;\r\n\r\n\t\t\tbackground-color: transparent;\r\n\t\t\tfont-family: inherit;\r\n\t\t\tfont-size: inherit;\r\n\t\t\tfont-weight: inherit;\r\n\t\t\tcursor: inherit;\r\n\t\t\tline-height: inherit;\r\n\t\t\toutline: none;\r\n\t\t\tborder: none;\r\n\t\t}\r\n\r\n\t\tcursor: pointer;\r\n\t\tposition: relative;\r\n\r\n\t\t&::after {\r\n\t\t\tposition: absolute;\r\n\t\t\tright: 0.35em;\r\n\t\t\ttop: 50%;\r\n\t\t\tmargin-top: -0.55em;\r\n\t\t\tcontent: \"\";\r\n\t\t\twidth: 1em;\r\n\t\t\theight: 1em;\r\n\t\t\tbackground-color: $borderColor;\r\n\t\t\tclip-path: polygon(50% 80%, 90% 40%, 100% 50%, 50% 100%, 0 50%, 10% 40%);\r\n\t\t\tjustify-self: end;\r\n\t\t}\r\n\t}\r\n}\r\n","@use \"mixins\";\r\n\r\n@mixin styles($color) {\r\n\t@include mixins.cfgRootStyles;\r\n\tborder: 0;\r\n\tborder-bottom: 0.1em solid $color;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n}\r\n\r\n@mixin classes($color) {\r\n\t.cfgHr {\r\n\t\t@include styles($color);\r\n\t\t@content;\r\n\t}\r\n}\r\n","/**\r\n * Web UI Loading\r\n */\r\n\r\n@use \"mixins\";\r\n\r\n@mixin classes(\r\n\t$textColor,\r\n\t$spinnerColor1,\r\n\t$spinnerColor2,\r\n\t$overlayBackgroundColor,\r\n\t$overlayingZIndex\r\n) {\r\n\t.cfgCenteredLoading {\r\n\t\t@include mixins.cfgRootStyles;\r\n\t\talign-items: center;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\theight: 100%;\r\n\t\tjustify-content: center;\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.cfgOverlayLoading {\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\talign-items: center;\r\n\t\tbackground-color: $overlayBackgroundColor;\r\n\t\tbottom: 0;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\tleft: 0;\r\n\t\tposition: absolute;\r\n\t\tright: 0;\r\n\t\ttop: 0;\r\n\t\tz-index: $overlayingZIndex;\r\n\r\n\t\t&--clickThrough {\r\n\t\t\tbackground-color: transparent;\r\n\t\t\tpointer-events: none;\r\n\r\n\t\t\t.cfgLoadingWithText {\r\n\t\t\t\tpadding: 2em 2em 1.8em;\r\n\t\t\t\tborder-radius: 0.8em;\r\n\t\t\t\tbackground-color: $overlayBackgroundColor;\r\n\t\t\t\topacity: 0.8;\r\n\t\t\t\tborder: 0.1em solid $spinnerColor2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&--fullWindow {\r\n\t\t\tposition: fixed;\r\n\t\t\tz-index: #{$overlayingZIndex + 1};\r\n\t\t}\r\n\t}\r\n\r\n\t.cfgLoadingWithText {\r\n\t\t@include mixins.cfgRootStyles;\r\n\t\t@include mixins.cfgDefaultFont;\r\n\r\n\t\ttext-align: center;\r\n\r\n\t\t&__text {\r\n\t\t\tcolor: $textColor;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tmargin-top: 0.5em;\r\n\t\t\tfont-size: 1.6em;\r\n\t\t}\r\n\t}\r\n\r\n\t.cfgLoading {\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tanimation: rotate 1.1s linear 0s infinite;\r\n\t\tborder-radius: 100%;\r\n\t\tborder: 0.5em solid $spinnerColor2;\r\n\t\tborder-bottom-color: $spinnerColor1;\r\n\t\tdisplay: inline-block;\r\n\t\theight: 3em;\r\n\t\twidth: 3em;\r\n\r\n\t\t&--small {\r\n\t\t\tborder-width: 0.4em;\r\n\t\t\theight: 2em;\r\n\t\t\twidth: 2em;\r\n\t\t}\r\n\t}\r\n\r\n\t@keyframes rotate {\r\n\t\tfrom {\r\n\t\t\ttransform: rotate(0deg);\r\n\t\t}\r\n\t\tto {\r\n\t\t\ttransform: rotate(360deg);\r\n\t\t}\r\n\t}\r\n}\r\n","/**\r\n * Web UI Option tree\r\n */\r\n\r\n@use \"mixins\";\r\n\r\n@mixin classes {\r\n\t.cfgOptionTree {\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tlist-style: none;\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\r\n\t\t&--topLevel {\r\n\t\t\tpadding-left: 1.7em;\r\n\t\t}\r\n\r\n\t\t&--indent {\r\n\t\t\tmargin-left: 3.2em;\r\n\t\t}\r\n\r\n\t\t&--compThumb {\r\n\t\t\tmargin-left: 4.2em;\r\n\t\t}\r\n\r\n\t\t@content;\r\n\t}\r\n}\r\n","/**\r\n * Web UI Product information\r\n */\r\n\r\n@use \"sass:math\";\r\n@use \"mixins\";\r\n\r\n@mixin classes($textColor) {\r\n\t.cfgProductInfo {\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\tcolor: $textColor;\r\n\r\n\t\tdisplay: flex;\r\n\r\n\t\t&__left {\r\n\t\t\tflex: 1 1 auto;\r\n\t\t\tmin-width: 0;\r\n\t\t\toverflow: hidden;\r\n\t\t}\r\n\r\n\t\t&__right {\r\n\t\t\talign-items: flex-end;\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\t\t\tflex: 1 0 auto;\r\n\t\t\tmargin-left: 1em;\r\n\t\t\tmax-width: 0.333333333;\r\n\t\t\tmin-width: 0;\r\n\t\t}\r\n\r\n\t\t&__name {\r\n\t\t\tdisplay: block;\r\n\t\t\tfont-size: 1.6em;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tline-height: 1.33;\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t&__number {\r\n\t\t\tfont-size: 1.3em;\r\n\t\t\tfont-weight: 400;\r\n\t\t\tline-height: 1.38;\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t@content;\r\n\t}\r\n}\r\n","@mixin classes($errorColor) {\r\n\t.cfgRangeView {\r\n\t\t&__inputs {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t}\r\n\r\n\t\t&__number-input {\r\n\t\t\tfont-size: 1.5em;\r\n\t\t\tflex-grow: 1;\r\n\t\t\ttext-align: right;\r\n\t\t}\r\n\r\n\t\t&__unit-label {\r\n\t\t\tfont-size: 1.5em;\r\n\t\t\tmargin-left: 0.3em;\r\n\t\t}\r\n\r\n\t\t&__slider-input.cfgSlider {\r\n\t\t\tmargin-left: 1em;\r\n\t\t\tflex-grow: 3;\r\n\t\t}\r\n\r\n\t\t&__error {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\tmargin-top: 1em;\r\n\t\t\tfont-size: 1.5em;\r\n\t\t\tcolor: $errorColor;\r\n\r\n\t\t\t.cfgErrorIcon {\r\n\t\t\t\tpadding-right: 0.25em;\r\n\t\t\t\twidth: 1.25em;\r\n\t\t\t\theight: 1em;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","@use \"mixins\";\r\n\r\n// The origins of this SCSS file is here:\r\n// https://css-tricks.com/sliding-nightmare-understanding-range-input/\r\n\r\n$trackHeight: 0.2em !default;\r\n$thumbDiameter: 2.8em !default;\r\n\r\n@mixin track($trackColor) {\r\n\tbox-sizing: border-box;\r\n\tborder: none;\r\n\theight: $trackHeight;\r\n\tbackground: $trackColor;\r\n}\r\n\r\n@mixin thumb($thumbColor, $thumbShadowColor) {\r\n\tbox-sizing: border-box;\r\n\tborder: none;\r\n\twidth: $thumbDiameter;\r\n\theight: $thumbDiameter;\r\n\tborder-radius: 50%;\r\n\tbackground: $thumbColor;\r\n\tbox-shadow: 0 0.15em 0.45em 0.05em $thumbShadowColor;\r\n}\r\n\r\n@mixin classes($trackColor, $thumbColor, $thumbShadowColor) {\r\n\t.cfgSlider {\r\n\t\t@include mixins.cfgRootStyles;\r\n\r\n\t\t&,\r\n\t\t&::-webkit-slider-thumb {\r\n\t\t\t-webkit-appearance: none;\r\n\t\t}\r\n\r\n\t\tflex: 1;\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t\tmin-height: $thumbDiameter;\r\n\t\tbackground: transparent;\r\n\t\tfont: inherit;\r\n\r\n\t\t&::-webkit-slider-runnable-track {\r\n\t\t\t@include track($trackColor);\r\n\t\t}\r\n\t\t&::-moz-range-track {\r\n\t\t\t@include track($trackColor);\r\n\t\t}\r\n\t\t&::-ms-track {\r\n\t\t\t@include track($trackColor);\r\n\t\t}\r\n\r\n\t\t&::-webkit-slider-thumb {\r\n\t\t\tmargin-top: 0.5 * ($trackHeight - $thumbDiameter);\r\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\r\n\t\t}\r\n\t\t&::-moz-range-thumb {\r\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\r\n\t\t}\r\n\t\t&::-ms-thumb {\r\n\t\t\tmargin-top: 0;\r\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\r\n\t\t}\r\n\r\n\t\t&::-ms-tooltip {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\r\n\t\t@content;\r\n\t}\r\n}\r\n","@use \"mixins\";\r\n\r\n@mixin classes($borderColor, $linkColor) {\r\n\t$preview-size: 4.8em;\r\n\t$line-width: 0.1em;\r\n\t$icon-size: 2em;\r\n\r\n\t.cfgTaskList {\r\n\t\tul {\r\n\t\t\tlist-style-type: none;\r\n\t\t\tpadding: 0;\r\n\t\t\tmargin: 1em 0 0 0;\r\n\t\t\tborder-bottom: 0.1em solid $borderColor;\r\n\t\t}\r\n\r\n\t\t&__item {\r\n\t\t\tpadding: 0 1.5em 0 1.7em;\r\n\t\t\tmargin-bottom: 1em;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t}\r\n\r\n\t\t&__preview {\r\n\t\t\tborder: 0.1em solid $borderColor;\r\n\t\t\tborder-radius: 10%;\r\n\t\t\twidth: $preview-size;\r\n\t\t\theight: $preview-size;\r\n\t\t\tflex-shrink: 0;\r\n\r\n\t\t\timg {\r\n\t\t\t\tobject-fit: cover;\r\n\t\t\t\tposition: relative;\r\n\t\t\t\tleft: 0.1 * $preview-size - $line-width;\r\n\t\t\t\ttop: 0.1 * $preview-size - $line-width;\r\n\t\t\t\twidth: 0.8 * $preview-size;\r\n\t\t\t\theight: 0.8 * $preview-size;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&__icon {\r\n\t\t\tflex-shrink: 0;\r\n\t\t\twidth: $icon-size + 2em;\r\n\t\t\theight: $icon-size;\r\n\t\t\tpadding-left: 1em;\r\n\t\t\tpadding-right: 1em;\r\n\r\n\t\t\t.cfgLoadingSizer {\r\n\t\t\t\tfont-size: 0.75em;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&__status {\r\n\t\t\tflex-grow: 1;\r\n\t\t\tfont-size: 1.5em;\r\n\t\t}\r\n\r\n\t\t&__abort {\r\n\t\t\t@include mixins.noButtonLook;\r\n\t\t\tcursor: pointer;\r\n\t\t\twidth: $icon-size;\r\n\t\t\theight: $icon-size;\r\n\t\t\tflex-shrink: 0;\r\n\t\t}\r\n\r\n\t\t&__restart {\r\n\t\t\t@include mixins.noButtonLook;\r\n\t\t\tcursor: pointer;\r\n\t\t\ttext-decoration: underline;\r\n\t\t\tcolor: $linkColor;\r\n\t\t}\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../src/scss/_utilities.scss","../../src/scss/web-ui.scss","../../src/scss/_themed.scss","../../src/scss/_button.scss","../../src/scss/_mixins.scss","../../src/scss/icons/_checkmark.scss","../../src/scss/icons/_chevron.scss","../../src/scss/icons/_circle-xmark-icon.scss","../../src/scss/_configurator.scss","../../src/scss/_variables.scss","../../src/scss/icons/_download-icon.scss","../../src/scss/_expandable.scss","../../src/scss/icons/_error-icon.scss","../../src/scss/_feature-item.scss","../../src/scss/_forms.scss","../../src/scss/_hr.scss","../../src/scss/_loading.scss","../../src/scss/_option-tree.scss","../../src/scss/_product-information.scss","../../src/scss/_range-view.scss","../../src/scss/_slider.scss","../../src/scss/_tasks.scss"],"names":[],"mappings":"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,CACA,SAAA,CiBmDE,cpBw7BH,CoBl7BE,sBjB5DD,aAAA,CiB+DE,yBAAA,CACA,apB86BH,CC/4BC,gBACC,aDk5BF,CEx9BC,yBCfA,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,aD+FC,CC9FD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBFm/BD,CGl/BC,+DAEC,kBHm/BF,CG5+BC,2BAVA,qBHy/BD,CGx/BC,iEAEC,kBHy/BF,CE1/BC,+BCNA,+CHmgCD,CE7+BE,mCClBD,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,UDmGC,CClGD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBF2gCD,CG1gCC,mFAEC,kBH2gCF,CGpgCC,qCAVA,qBHihCD,CGhhCC,qFAEC,kBHihCF,CElhCC,yCCNA,+CH2hCD,CE3/BC,4BC5BA,qBH0hCD,CGzhCC,qEAEC,kBH0hCF,CGnhCC,8BAVA,qBHgiCD,CG/hCC,uEAEC,kBHgiCF,CEpgCG,mDACC,eFsgCJ,CIljCC,4BDYA,qBAAA,CCNC,oBAAA,CACA,UAAA,CACA,WJkjCF,CG7iCC,qEAEC,kBH8iCF,CGviCC,8BAVA,qBHojCD,CGnjCC,uEAEC,kBHojCF,CIzjCE,uCACC,wBAAA,CACA,0BJ2jCH,CIxjCE,kCACC,WH6FD,CG5FC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCJ0jCH,CIvjCE,sCACC,WHqFD,CGpFC,yDJyjCH,CItjCE,uCACC,WHgFD,CG/EC,0DJwjCH,CInjCE,oCDDD,yBAAA,CAYA,kBHojCD,CI7jCG,gFDJF,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WHqkCD,CIzkCG,4CDHF,sBAAA,CAYA,kBHgkCD,CK9mCC,0BFYA,qBAAA,CENC,oBAAA,CACA,UL8mCF,CGxmCC,iEAEC,kBHymCF,CGlmCC,4BAVA,qBH+mCD,CG9mCC,mEAEC,kBH+mCF,CKrnCE,qCACC,wBLunCH,CKrnCG,2CACC,0BLunCJ,CKp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","file":"web-ui.css","sourcesContent":["/**\n * Web UI Utilities\n */\n\n.cfgMl1 {\n\tmargin-left: 1em;\n}\n\n.cfgMt1 {\n\tmargin-top: 1em;\n}\n\n.cfgMb1 {\n\tmargin-bottom: 1em;\n}\n\n.cfgTextOverflow {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n","/**\n* Web UI Styling\n*/\n\n@use \"themed\";\n\n@include themed.themed(themed.$lightTheme);\n\n.cfgDarkTheme {\n\t@include themed.themed(themed.$darkTheme);\n}\n","@use \"sass:map\";\n@use \"sass:color\";\n\n@use \"variables\" as v;\n\n// Components\n@use \"button\";\n@use \"forms\";\n\n@use \"configurator\";\n@use \"expandable\";\n@use \"feature-item\";\n@use \"hr\";\n@use \"loading\";\n@use \"option-tree\";\n@use \"product-information\";\n@use \"range-view\";\n@use \"slider\";\n@use \"tasks\";\n\n// Icons\n@use \"icons/checkmark\";\n@use \"icons/chevron\";\n@use \"icons/circle-xmark-icon\";\n@use \"icons/download-icon\";\n@use \"icons/error-icon\";\n\n// Utilities\n@use \"utilities\";\n\n/* Colors */\n\n$black: hsl(0, 0%, 0%) !default;\n$white: hsl(0, 0%, 100%) !default;\n$darkGrey: hsl(0, 0%, 15%) !default;\n\n/* Specific colors */\n\n$border: hsl(252, 5%, 79%) !default;\n$borderDark: hsl(0, 0%, 73%) !default;\n$icon: hsl(252, 5%, 50%) !default;\n$focusOutlineOuter: hsl(0, 0%, 13%) !default;\n$sliderTrack: #666 !default;\n$spinner2: hsla(0, 0%, 0%, 0.15);\n$grayText: hsl(0, 0%, 50%) !default;\n$text: hsl(0, 0%, 20%) !default;\n$link: hsl(209, 100%, 35%) !default;\n$error: hsl(10, 72%, 41%) !default;\n\n/* As convention we assume the default theme when naming colors,\n as attempts at generic naming often leads to confusion */\n$lightTheme: (\n\t\"black\": $black,\n\t\"border\": $border,\n\t\"borderDark\": $borderDark,\n\t\"checkButtonChecked\": $black,\n\t\"checkButtonUnchecked\": $border,\n\t\"chevronActive\": $black,\n\t\"chevronPassive\": $borderDark,\n\t\"divider\": $border,\n\t\"dividerDark\": $borderDark,\n\t\"error\": $error,\n\t\"focusOutlineInner\": $white,\n\t\"focusOutlineOuter\": $text,\n\t\"grayText\": $grayText,\n\t\"icon\": $icon,\n\t\"link\": $link,\n\t\"overlayBackground\": $white,\n\t\"sliderThumb\": $white,\n\t\"sliderThumbShadow\": $sliderTrack,\n\t\"sliderTrack\": $sliderTrack,\n\t\"spinner1\": $black,\n\t\"spinner2\": $spinner2,\n\t\"text\": $text,\n\t\"white\": $white,\n) !default;\n\n@function invertLightness($color) {\n\t@return color.change(\n\t\t$color,\n\t\t$lightness: 100 - color.lightness($color) * 0.8\n\t); // We scale with 80% to have a bit more contrast\n}\n\n@function invertLightnessList($list) {\n\t@each $key, $color in $list {\n\t\t$list: map.set($list, $key, invertLightness($color));\n\t}\n\t@return $list;\n}\n\n$darkTheme: invertLightnessList($lightTheme);\n\n$themes: (\n\t\"light\": $lightTheme,\n\t\"dark\": $darkTheme,\n);\n\n@mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {\n\ta {\n\t\tcolor: map.get($ct, \"link\");\n\t}\n\n\t@include button.classes(\n\t\tmap.get($ct, \"text\"),\n\t\tmap.get($ct, \"borderDark\"),\n\t\tmap.get($ct, \"focusOutlineInner\"),\n\t\tmap.get($ct, \"focusOutlineOuter\"),\n\t\tmap.get($ct, \"grayText\"),\n\t\tmap.get($ct, \"border\")\n\t);\n\t@include checkmark.classes(\n\t\tmap.get($ct, \"checkButtonChecked\"),\n\t\tmap.get($ct, \"checkButtonUnchecked\")\n\t);\n\t@include chevron.classes(map.get($ct, \"chevronActive\"), map.get($ct, \"chevronPassive\"));\n\t@include circle-xmark-icon.classes(map.get($ct, \"icon\"));\n\t@include configurator.classes($baseFontSize, map.get($ct, \"text\"), map.get($ct, \"divider\"));\n\t@include download-icon.classes(map.get($ct, \"link\"));\n\t@include expandable.classes;\n\t@include error-icon.classes(map.get($ct, \"error\"));\n\t@include feature-item.classes(\n\t\tmap.get($ct, \"text\"),\n\t\tmap.get($ct, \"grayText\"),\n\t\tmap.get($ct, \"checkButtonUnchecked\"),\n\t\tmap.get($ct, \"checkButtonChecked\"),\n\t\tmap.get($ct, \"focusOutlineInner\"),\n\t\tmap.get($ct, \"focusOutlineOuter\"),\n\t\tmap.get($ct, \"dividerDark\")\n\t);\n\t@include forms.classes(map.get($ct, \"borderDark\"));\n\t@include hr.classes(map.get($ct, \"divider\"));\n\t@include loading.classes(\n\t\tmap.get($ct, \"black\"),\n\t\tmap.get($ct, \"spinner1\"),\n\t\tmap.get($ct, \"spinner2\"),\n\t\tmap.get($ct, \"overlayBackground\"),\n\t\t$overlayingZIndex\n\t);\n\t@include option-tree.classes;\n\t@include product-information.classes(map.get($ct, \"text\"));\n\t@include range-view.classes(map.get($ct, \"error\"));\n\t@include slider.classes(\n\t\tmap.get($ct, \"sliderTrack\"),\n\t\tmap.get($ct, \"sliderThumb\"),\n\t\tmap.get($ct, \"sliderThumbShadow\")\n\t);\n\t@include tasks.classes(map.get($ct, \"border\"), map.get($ct, \"link\"));\n}\n","/**\n * Web UI Product information\n */\n@use \"mixins\";\n\n@mixin styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {\n\t@include mixins.cfgRootStyles;\n\tdisplay: inline-block;\n\tbackground-color: transparent;\n\tcolor: $textColor;\n\tborder-radius: 0.3em;\n\tborder: 0.1em solid $borderColor;\n\tfont-size: 1.3em;\n\tfont-weight: 500;\n\toutline: none;\n\tpadding: 0.4em 0.8em;\n\n\t&:focus {\n\t\t@include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);\n\t}\n}\n\n@mixin classes(\n\t$textColor,\n\t$borderColor,\n\t$focusOutlineInnerColor,\n\t$focusOutlineOuterColor,\n\t$disabledTextColor,\n\t$disabledBorderColor\n) {\n\t.cfgButton {\n\t\t@include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);\n\n\t\t&[disabled] {\n\t\t\t@include styles(\n\t\t\t\t$disabledTextColor,\n\t\t\t\t$disabledBorderColor,\n\t\t\t\t$focusOutlineInnerColor,\n\t\t\t\t$focusOutlineOuterColor\n\t\t\t);\n\t\t}\n\t}\n\n\t.cfgButtonRow {\n\t\t@include mixins.cfgRootStyles;\n\t\t&__button {\n\t\t\t&:nth-child(n + 2) {\n\t\t\t\tmargin-left: 1em;\n\t\t\t}\n\t\t}\n\t}\n}\n","@mixin noButtonLook {\n\tappearance: none;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tcolor: inherit;\n\tbackground: none;\n\tborder: none;\n\tpadding: 0;\n}\n\n@mixin focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor) {\n\tbox-shadow: 0 0 0 0.075em $focusOutlineInnerColor, 0 0 0 0.2em $focusOutlineOuterColor;\n}\n\n@mixin borderBox {\n\tbox-sizing: border-box;\n\t&:before,\n\t&:after {\n\t\tbox-sizing: inherit;\n\t}\n}\n\n@mixin cfgRootStyles {\n\t@include borderBox;\n\n\t* {\n\t\t@include borderBox;\n\t}\n}\n\n@mixin cfgDefaultFont {\n\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif,\n\t\t\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n\n@mixin cfgCheckAndRadio($color) {\n\talign-items: center;\n\tborder: 0.2em solid $color;\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\theight: 2.2em;\n\tjustify-content: center;\n\tpointer-events: none;\n\tuser-select: none;\n\twidth: 2.2em;\n}\n\n@mixin cfgCheckbox($color) {\n\t@include cfgCheckAndRadio($color);\n\tborder-radius: 0.3em;\n}\n\n@mixin cfgRadio($color) {\n\t@include cfgCheckAndRadio($color);\n\tborder-radius: 50%;\n}\n","@use \"../mixins\";\n\n@mixin classes($colorActive, $colorPassive) {\n\t.cfgCheckmark {\n\t\t/* The distance-units inside the checkmark are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t&__container {\n\t\t\ttransition: transform 0.4s;\n\t\t\ttransform: translateY(17px);\n\t\t}\n\n\t\t&__line {\n\t\t\tstroke: $colorActive;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-width: 12;\n\t\t\ttransform-origin: 50px 50px;\n\t\t\ttransition: transform 0.4s, stroke 0.4s;\n\t\t}\n\n\t\t&__lineLeft {\n\t\t\tstroke: $colorActive;\n\t\t\ttransform: rotate(40deg) translateY(24px) translateX(18px);\n\t\t}\n\n\t\t&__lineRight {\n\t\t\tstroke: $colorActive;\n\t\t\ttransform: rotate(-50deg) translateY(-2px) translateX(-3px);\n\t\t}\n\n\t\t@content;\n\n\t\t&__border {\n\t\t\t@include mixins.cfgCheckbox($colorPassive);\n\t\t\t&--active {\n\t\t\t\t@include mixins.cfgCheckbox($colorActive);\n\t\t\t}\n\t\t}\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($activeColor, $passiveColor) {\n\t.cfgChevron {\n\t\t/* The distance-units inside the chevron are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\n\t\t&__container {\n\t\t\ttransition: transform 0.4s;\n\n\t\t\t&--down {\n\t\t\t\ttransform: translateY(13px);\n\t\t\t}\n\n\t\t\t&--up {\n\t\t\t\ttransform: translateY(-13px);\n\t\t\t}\n\t\t}\n\n\t\t&__line {\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-width: 10;\n\t\t\ttransform-origin: 50px 50px;\n\t\t\ttransition: transform 0.4s, stroke 0.4s;\n\t\t}\n\n\t\t&__lineLeft,\n\t\t&__lineRight {\n\t\t\t&--active {\n\t\t\t\tstroke: $activeColor;\n\t\t\t}\n\t\t\t&--passive {\n\t\t\t\tstroke: $passiveColor;\n\t\t\t}\n\t\t}\n\n\t\t&__lineLeft {\n\t\t\t&--down {\n\t\t\t\ttransform: rotate(40deg);\n\t\t\t}\n\t\t\t&--up {\n\t\t\t\ttransform: rotate(-40deg);\n\t\t\t}\n\t\t}\n\t\t&__lineRight {\n\t\t\t&--down {\n\t\t\t\ttransform: rotate(-40deg);\n\t\t\t}\n\n\t\t\t&--up {\n\t\t\t\ttransform: rotate(40deg);\n\t\t\t}\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgCircleXmarkIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Configurator\n */\n\n@use \"mixins\";\n\n@mixin classes($fontSize, $textColor, $headerUnderlineColor) {\n\t.cfgConfiguratorWrapper {\n\t\t@include mixins.cfgRootStyles;\n\t\tcolor: $textColor;\n\t\tdisplay: flex;\n\t\theight: 85vh;\n\t\tflex-direction: column;\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\tflex-direction: row;\n\t\t}\n\n\t\t.cfgTaskStart {\n\t\t\tmargin-top: 0.5em;\n\t\t\tfont-size: 1.2em;\n\t\t\tfont-weight: 500;\n\n\t\t\t.cfgFormSelect {\n\t\t\t\tpadding: 0.5em;\n\n\t\t\t\t&::after {\n\t\t\t\t\tright: 0.5em;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.cfgCanvasWrapper {\n\t\t@include mixins.cfgRootStyles;\n\t\tposition: relative;\n\t\theight: 50rem;\n\t\tuser-select: none;\n\n\t\tflex: 1 1 auto;\n\t\toverflow: hidden;\n\n\t\t& canvas {\n\t\t\toutline: none;\n\t\t}\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\theight: 100%;\n\t\t\tflex: 0 1 60%;\n\t\t}\n\t}\n\n\t.cfgConfigurator {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.cfgDefaultFont;\n\t\tfont-size: $fontSize;\n\t\tcolor: $textColor;\n\t\tmin-width: 0;\n\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tflex: 0 0 50%;\n\t\toverflow: auto;\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\theight: 100%;\n\t\t\tflex: 0 1 40%;\n\t\t}\n\t}\n\n\t.cfgConfiguratorHeader {\n\t\tborder-bottom: 0.1em solid $headerUnderlineColor;\n\t\tpadding: 1.7em 1.7em 1.9em;\n\t\tposition: relative;\n\n\t\t&__actions {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t}\n\n\t.cfgConfiguratorTree {\n\t\tpadding-top: 1em;\n\t\tpadding-top: 0.5em;\n\t\toverflow-y: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n","/**\n * Web UI Variables\n */\n\t\n$baseFontSize: 10px !default; // We use 10px for easy em conversion\n$overlayingZIndex: 1000 !default;\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgDownloadIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"mixins\";\n\n@mixin classes {\n\t.cfgExpandableHeadingRow {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.noButtonLook;\n\t\talign-items: stretch;\n\t\tdisplay: flex;\n\t\theight: 3.9em;\n\t\toutline: 0;\n\t\tposition: relative;\n\t\twidth: 100%;\n\n\t\t&--expandable {\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&__title {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\tfont-size: 1.5em;\n\t\t\tfont-weight: 500;\n\t\t\tjustify-content: flex-start;\n\t\t}\n\n\t\t&__icon {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\tflex: 0 0 5em;\n\t\t\tjustify-content: center;\n\t\t\tpadding: 0 1.5em;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgErrorIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Feature item\n */\n\n@use \"mixins\";\n\n@mixin classes(\n\t$textColor,\n\t$grayTextColor,\n\t$checkButtonUncheckedColor,\n\t$checkButtonCheckedColor,\n\t$focusOutlineInnerColor,\n\t$focusOutlineOuterColor,\n\t$dividerDark\n) {\n\t.cfgThumbnailImage {\n\t\tborder-radius: 0.7em;\n\t\tdisplay: inline-block;\n\t\theight: 3em;\n\t\twidth: 3em;\n\t}\n\n\t.cfgThumbnailPlaceholder {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tflex: 0 0 4.2em;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.cfgFeatureItem {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tcolor: $textColor;\n\n\t\t&__dropdown {\n\t\t\t@include mixins.noButtonLook;\n\t\t\talign-items: stretch;\n\t\t\tdisplay: flex;\n\t\t\theight: 3.9em;\n\t\t\toutline: 0;\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&--optional {\n\t\t\tmargin-top: 1em;\n\t\t}\n\n\t\t&__hiddenInput {\n\t\t\tleft: -99999px;\n\t\t\topacity: 0;\n\t\t\tposition: absolute;\n\t\t\tz-index: -1;\n\t\t}\n\n\t\t&__radio {\n\t\t\t@include mixins.cfgRadio($checkButtonUncheckedColor);\n\t\t}\n\n\t\t&__checkbox {\n\t\t\t@include mixins.cfgCheckbox($checkButtonUncheckedColor);\n\t\t}\n\n\t\t/* The &-syntax brings in the entire path, so the second part of this rule must be explicit */\n\n\t\t&__hiddenInput:focus ~ .cfgFeatureItem__radio,\n\t\t&__hiddenInput:focus ~ .cfgFeatureItem__checkbox {\n\t\t\t@include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);\n\t\t}\n\n\t\t&__hiddenInput:checked ~ .cfgFeatureItem__radio {\n\t\t\t@include mixins.cfgRadio($checkButtonCheckedColor);\n\t\t}\n\t\t&__hiddenInput:checked ~ .cfgFeatureItem__checkbox {\n\t\t\t@include mixins.cfgCheckbox($checkButtonCheckedColor);\n\t\t}\n\n\t\t&.cfgAdditionalProduct {\n\t\t\t> .cfgExpandableHeadingRow {\n\t\t\t\t> .cfgExpandableHeadingRow__title {\n\t\t\t\t\tfont-weight: 600;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t> .cfgFeatureItem__hr {\n\t\t\t\tborder-bottom-color: $dividerDark;\n\t\t\t}\n\n\t\t\t/* The last themathic break (hr) we move under the next thematic break so it appears as one */\n\t\t\t.cfgFeatureItem:last-child .cfgFeatureItem__hr {\n\t\t\t\tmargin-bottom: -0.1em;\n\t\t\t}\n\t\t}\n\t}\n\n\t.cfgFeatureItemOptional__titleWrapper,\n\t.cfgFeatureItemOption__titleWrapper {\n\t\tflex: 1 1 auto;\n\t\tmargin-left: 1em;\n\t}\n\n\t.cfgFeatureItemOptional__title,\n\t.cfgFeatureItemOption__title {\n\t\tfont-size: 1.5em;\n\t}\n\n\t.cfgFeatureItemOption__price {\n\t\tfont-weight: 600;\n\t\tfont-size: 0.75em;\n\t\tcolor: $grayTextColor;\n\t}\n\n\t.cfgOptionTree--subLevel .cfgFeatureItem__hr {\n\t\tdisplay: none;\n\t}\n\n\t.cfgFeatureItemOption {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t}\n\n\t.cfgFeatureItemOptional {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tmargin-top: 0.5em;\n\n\t\t&__header {\n\t\t\tfont-size: 1.2em;\n\t\t\tfont-weight: 600;\n\t\t\tmargin: 0 0 0.3em 0;\n\t\t\tpadding: 0;\n\t\t\ttext-transform: uppercase;\n\t\t}\n\t}\n}\n","@mixin classes($borderColor) {\n\t.cfgInput,\n\t.cfgFormSelect {\n\t\tborder: 0.1em solid $borderColor;\n\t\tpadding: 0.3em 0.4em;\n\t\tborder-radius: 0.3em;\n\t}\n\n\t.cfgFormSelect {\n\t\tselect {\n\t\t\tappearance: none;\n\t\t\tpadding: 0 1em 0 0;\n\t\t\tmargin: 0;\n\t\t\twidth: 100%;\n\n\t\t\tbackground-color: transparent;\n\t\t\tfont-family: inherit;\n\t\t\tfont-size: inherit;\n\t\t\tfont-weight: inherit;\n\t\t\tcursor: inherit;\n\t\t\tline-height: inherit;\n\t\t\toutline: none;\n\t\t\tborder: none;\n\t\t}\n\n\t\tcursor: pointer;\n\t\tposition: relative;\n\n\t\t&::after {\n\t\t\tposition: absolute;\n\t\t\tright: 0.35em;\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -0.55em;\n\t\t\tcontent: \"\";\n\t\t\twidth: 1em;\n\t\t\theight: 1em;\n\t\t\tbackground-color: $borderColor;\n\t\t\tclip-path: polygon(50% 80%, 90% 40%, 100% 50%, 50% 100%, 0 50%, 10% 40%);\n\t\t\tjustify-self: end;\n\t\t}\n\t}\n}\n","@use \"mixins\";\n\n@mixin styles($color) {\n\t@include mixins.cfgRootStyles;\n\tborder: 0;\n\tborder-bottom: 0.1em solid $color;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n@mixin classes($color) {\n\t.cfgHr {\n\t\t@include styles($color);\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Loading\n */\n\n@use \"mixins\";\n\n@mixin classes(\n\t$textColor,\n\t$spinnerColor1,\n\t$spinnerColor2,\n\t$overlayBackgroundColor,\n\t$overlayingZIndex\n) {\n\t.cfgCenteredLoading {\n\t\t@include mixins.cfgRootStyles;\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\theight: 100%;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t.cfgOverlayLoading {\n\t\t@include mixins.cfgRootStyles;\n\n\t\talign-items: center;\n\t\tbackground-color: $overlayBackgroundColor;\n\t\tbottom: 0;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tleft: 0;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\t\tz-index: $overlayingZIndex;\n\n\t\t&--clickThrough {\n\t\t\tbackground-color: transparent;\n\t\t\tpointer-events: none;\n\n\t\t\t.cfgLoadingWithText {\n\t\t\t\tpadding: 2em 2em 1.8em;\n\t\t\t\tborder-radius: 0.8em;\n\t\t\t\tbackground-color: $overlayBackgroundColor;\n\t\t\t\topacity: 0.8;\n\t\t\t\tborder: 0.1em solid $spinnerColor2;\n\t\t\t}\n\t\t}\n\n\t\t&--fullWindow {\n\t\t\tposition: fixed;\n\t\t\tz-index: #{$overlayingZIndex + 1};\n\t\t}\n\t}\n\n\t.cfgLoadingWithText {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.cfgDefaultFont;\n\n\t\ttext-align: center;\n\n\t\t&__text {\n\t\t\tcolor: $textColor;\n\t\t\tfont-weight: 600;\n\t\t\tmargin-top: 0.5em;\n\t\t\tfont-size: 1.6em;\n\t\t}\n\t}\n\n\t.cfgLoading {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tanimation: rotate 1.1s linear 0s infinite;\n\t\tborder-radius: 100%;\n\t\tborder: 0.5em solid $spinnerColor2;\n\t\tborder-bottom-color: $spinnerColor1;\n\t\tdisplay: inline-block;\n\t\theight: 3em;\n\t\twidth: 3em;\n\n\t\t&--small {\n\t\t\tborder-width: 0.4em;\n\t\t\theight: 2em;\n\t\t\twidth: 2em;\n\t\t}\n\t}\n\n\t@keyframes rotate {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n}\n","/**\n * Web UI Option tree\n */\n\n@use \"mixins\";\n\n@mixin classes {\n\t.cfgOptionTree {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\n\t\t&--topLevel {\n\t\t\tpadding-left: 1.7em;\n\t\t}\n\n\t\t&--indent {\n\t\t\tmargin-left: 3.2em;\n\t\t}\n\n\t\t&--compThumb {\n\t\t\tmargin-left: 4.2em;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Product information\n */\n\n@use \"sass:math\";\n@use \"mixins\";\n\n@mixin classes($textColor) {\n\t.cfgProductInfo {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tcolor: $textColor;\n\n\t\tdisplay: flex;\n\n\t\t&__left {\n\t\t\tflex: 1 1 auto;\n\t\t\tmin-width: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t&__right {\n\t\t\talign-items: flex-end;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tflex: 1 0 auto;\n\t\t\tmargin-left: 1em;\n\t\t\tmax-width: 0.333333333;\n\t\t\tmin-width: 0;\n\t\t}\n\n\t\t&__name {\n\t\t\tdisplay: block;\n\t\t\tfont-size: 1.6em;\n\t\t\tfont-weight: 600;\n\t\t\tline-height: 1.33;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t&__number {\n\t\t\tfont-size: 1.3em;\n\t\t\tfont-weight: 400;\n\t\t\tline-height: 1.38;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@mixin classes($errorColor) {\n\t.cfgRangeView {\n\t\t&__inputs {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&__number-input {\n\t\t\tfont-size: 1.5em;\n\t\t\tflex-grow: 1;\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t&__unit-label {\n\t\t\tfont-size: 1.5em;\n\t\t\tmargin-left: 0.3em;\n\t\t}\n\n\t\t&__slider-input.cfgSlider {\n\t\t\tmargin-left: 1em;\n\t\t\tflex-grow: 3;\n\t\t}\n\n\t\t&__error {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\tmargin-top: 1em;\n\t\t\tfont-size: 1.5em;\n\t\t\tcolor: $errorColor;\n\n\t\t\t.cfgErrorIcon {\n\t\t\t\tpadding-right: 0.25em;\n\t\t\t\twidth: 1.25em;\n\t\t\t\theight: 1em;\n\t\t\t}\n\t\t}\n\t}\n}\n","@use \"mixins\";\n\n// The origins of this SCSS file is here:\n// https://css-tricks.com/sliding-nightmare-understanding-range-input/\n\n$trackHeight: 0.2em !default;\n$thumbDiameter: 2.8em !default;\n\n@mixin track($trackColor) {\n\tbox-sizing: border-box;\n\tborder: none;\n\theight: $trackHeight;\n\tbackground: $trackColor;\n}\n\n@mixin thumb($thumbColor, $thumbShadowColor) {\n\tbox-sizing: border-box;\n\tborder: none;\n\twidth: $thumbDiameter;\n\theight: $thumbDiameter;\n\tborder-radius: 50%;\n\tbackground: $thumbColor;\n\tbox-shadow: 0 0.15em 0.45em 0.05em $thumbShadowColor;\n}\n\n@mixin classes($trackColor, $thumbColor, $thumbShadowColor) {\n\t.cfgSlider {\n\t\t@include mixins.cfgRootStyles;\n\n\t\t&,\n\t\t&::-webkit-slider-thumb {\n\t\t\t-webkit-appearance: none;\n\t\t}\n\n\t\tflex: 1;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tmin-height: $thumbDiameter;\n\t\tbackground: transparent;\n\t\tfont: inherit;\n\n\t\t&::-webkit-slider-runnable-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\t\t&::-moz-range-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\t\t&::-ms-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\n\t\t&::-webkit-slider-thumb {\n\t\t\tmargin-top: 0.5 * ($trackHeight - $thumbDiameter);\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\t\t&::-moz-range-thumb {\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\t\t&::-ms-thumb {\n\t\t\tmargin-top: 0;\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\n\t\t&::-ms-tooltip {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"mixins\";\n\n@mixin classes($borderColor, $linkColor) {\n\t$preview-size: 4.8em;\n\t$line-width: 0.1em;\n\t$icon-size: 2em;\n\n\t.cfgTaskList {\n\t\tul {\n\t\t\tlist-style-type: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 1em 0 0 0;\n\t\t\tborder-bottom: 0.1em solid $borderColor;\n\t\t}\n\n\t\t&__item {\n\t\t\tpadding: 0 1.5em 0 1.7em;\n\t\t\tmargin-bottom: 1em;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&__preview {\n\t\t\tborder: 0.1em solid $borderColor;\n\t\t\tborder-radius: 10%;\n\t\t\twidth: $preview-size;\n\t\t\theight: $preview-size;\n\t\t\tflex-shrink: 0;\n\n\t\t\timg {\n\t\t\t\tobject-fit: cover;\n\t\t\t\tposition: relative;\n\t\t\t\tleft: 0.1 * $preview-size - $line-width;\n\t\t\t\ttop: 0.1 * $preview-size - $line-width;\n\t\t\t\twidth: 0.8 * $preview-size;\n\t\t\t\theight: 0.8 * $preview-size;\n\t\t\t}\n\t\t}\n\n\t\t&__icon {\n\t\t\tflex-shrink: 0;\n\t\t\twidth: $icon-size + 2em;\n\t\t\theight: $icon-size;\n\t\t\tpadding-left: 1em;\n\t\t\tpadding-right: 1em;\n\n\t\t\t.cfgLoadingSizer {\n\t\t\t\tfont-size: 0.75em;\n\t\t\t}\n\t\t}\n\n\t\t&__status {\n\t\t\tflex-grow: 1;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\n\t\t&__abort {\n\t\t\t@include mixins.noButtonLook;\n\t\t\tcursor: pointer;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tflex-shrink: 0;\n\t\t}\n\n\t\t&__restart {\n\t\t\t@include mixins.noButtonLook;\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: underline;\n\t\t\tcolor: $linkColor;\n\t\t}\n\t}\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,24 +1,25 @@
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";
24
25
  //# sourceMappingURL=index.d.ts.map
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,52 +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(
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
+ /**
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
+ }