@configura/web-ui 1.6.1-alpha.4 → 1.6.1

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 (97) 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 +11 -11
  9. package/dist/components/ConfigurationActionsButtonRow.js +13 -13
  10. package/dist/components/Configurator.d.ts +12 -12
  11. package/dist/components/Configurator.js +15 -15
  12. package/dist/components/ConfiguratorWrapper.d.ts +8 -8
  13. package/dist/components/ConfiguratorWrapper.js +5 -5
  14. package/dist/components/CurrencyPrice.d.ts +9 -9
  15. package/dist/components/CurrencyPrice.js +7 -7
  16. package/dist/components/ErrorContext.d.ts +2 -2
  17. package/dist/components/ErrorContext.js +2 -2
  18. package/dist/components/ExpandableHeadingRow.d.ts +15 -15
  19. package/dist/components/ExpandableHeadingRow.js +21 -21
  20. package/dist/components/Loading.d.ts +13 -13
  21. package/dist/components/Loading.js +20 -20
  22. package/dist/components/ProductInformation.d.ts +13 -13
  23. package/dist/components/ProductInformation.js +14 -14
  24. package/dist/components/TaskListView.d.ts +8 -8
  25. package/dist/components/TaskListView.js +69 -69
  26. package/dist/components/TaskStartView.d.ts +12 -12
  27. package/dist/components/TaskStartView.js +29 -29
  28. package/dist/components/icons/Checkmark.d.ts +6 -6
  29. package/dist/components/icons/Checkmark.js +12 -12
  30. package/dist/components/icons/Chevron.d.ts +7 -7
  31. package/dist/components/icons/Chevron.js +18 -18
  32. package/dist/components/icons/CircleXmarkIcon.d.ts +3 -3
  33. package/dist/components/icons/CircleXmarkIcon.js +8 -8
  34. package/dist/components/icons/DownloadIcon.d.ts +3 -3
  35. package/dist/components/icons/DownloadIcon.js +8 -8
  36. package/dist/components/icons/ErrorIcon.d.ts +3 -3
  37. package/dist/components/icons/ErrorIcon.js +8 -8
  38. package/dist/components/productConfiguration/CfgAdditionalProductView.d.ts +3 -3
  39. package/dist/components/productConfiguration/CfgAdditionalProductView.js +42 -43
  40. package/dist/components/productConfiguration/CfgCheckboxView.d.ts +9 -20
  41. package/dist/components/productConfiguration/CfgCheckboxView.js +29 -29
  42. package/dist/components/productConfiguration/CfgCheckboxesView.d.ts +9 -14
  43. package/dist/components/productConfiguration/CfgCheckboxesView.js +18 -19
  44. package/dist/components/productConfiguration/CfgDropdownOptionView.d.ts +9 -20
  45. package/dist/components/productConfiguration/CfgDropdownOptionView.js +44 -44
  46. package/dist/components/productConfiguration/CfgDropdownView.d.ts +9 -14
  47. package/dist/components/productConfiguration/CfgDropdownView.js +20 -21
  48. package/dist/components/productConfiguration/CfgFeatureView.d.ts +35 -31
  49. package/dist/components/productConfiguration/CfgFeatureView.js +64 -37
  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 -6
  53. package/dist/components/productConfiguration/CfgOptionFeaturesView.js +13 -13
  54. package/dist/components/productConfiguration/CfgOptionNumericView.d.ts +29 -27
  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 +17 -18
  59. package/dist/components/productConfiguration/CfgProductConfigurationView.js +47 -46
  60. package/dist/css/web-ui.css.map +1 -1
  61. package/dist/index.d.ts +23 -23
  62. package/dist/index.js +23 -23
  63. package/dist/scss/_button.scss +36 -36
  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 +147 -147
  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/useObservable.d.ts +4 -4
  86. package/dist/useObservable.js +18 -18
  87. package/dist/useRerender.d.ts +1 -1
  88. package/dist/useRerender.js +5 -5
  89. package/dist/useResize.d.ts +6 -6
  90. package/dist/useResize.js +47 -47
  91. package/dist/useSelected.d.ts +2 -2
  92. package/dist/useSelected.js +13 -13
  93. package/dist/useUniqueId.d.ts +1 -1
  94. package/dist/useUniqueId.js +7 -7
  95. package/dist/utilities.d.ts +5 -5
  96. package/dist/utilities.js +1 -1
  97. package/package.json +3 -3
@@ -1,29 +1,29 @@
1
- import React from "react";
2
- import { CurrencyPrice } from "../CurrencyPrice.js";
3
- import { UpchargeDisplayMode } from "./CfgProductConfigurationView.js";
4
- export const CfgOptionPriceView = (props) => {
5
- const { option, upchargeDisplayMode } = props;
6
- const { currency, fractionDigits, lang } = option.parentProduct;
7
- if (currency === "") {
8
- return null;
9
- }
10
- switch (upchargeDisplayMode) {
11
- case UpchargeDisplayMode.None:
12
- return null;
13
- case UpchargeDisplayMode.Price:
14
- const { upcharge } = option;
15
- if (upcharge === undefined || upcharge === 0) {
16
- return null;
17
- }
18
- return (React.createElement("div", { className: "cfgFeatureItemOption__price" },
19
- React.createElement(CurrencyPrice, { currency: currency, language: lang, price: upcharge, fractionDigits: fractionDigits })));
20
- default:
21
- const { priceChangeAtSelectChange } = option;
22
- if (priceChangeAtSelectChange === undefined || priceChangeAtSelectChange === 0) {
23
- return null;
24
- }
25
- return (React.createElement("div", { className: "cfgFeatureItemOption__price" },
26
- priceChangeAtSelectChange < 0 ? "-" : "+",
27
- React.createElement(CurrencyPrice, { currency: currency, language: lang, price: Math.abs(priceChangeAtSelectChange), fractionDigits: fractionDigits })));
28
- }
29
- };
1
+ import React from "react";
2
+ import { CurrencyPrice } from "../CurrencyPrice.js";
3
+ import { UpchargeDisplayMode } from "./CfgProductConfigurationView.js";
4
+ export const CfgOptionPriceView = (props) => {
5
+ const { option, upchargeDisplayMode } = props;
6
+ const { currency, fractionDigits, lang } = option.parentProduct;
7
+ if (currency === "") {
8
+ return null;
9
+ }
10
+ switch (upchargeDisplayMode) {
11
+ case UpchargeDisplayMode.None:
12
+ return null;
13
+ case UpchargeDisplayMode.Price:
14
+ const { upcharge } = option;
15
+ if (upcharge === undefined || upcharge === 0) {
16
+ return null;
17
+ }
18
+ return (React.createElement("div", { className: "cfgFeatureItemOption__price" },
19
+ React.createElement(CurrencyPrice, { currency: currency, language: lang, price: upcharge, fractionDigits: fractionDigits })));
20
+ default:
21
+ const { priceChangeAtSelectChange } = option;
22
+ if (priceChangeAtSelectChange === undefined || priceChangeAtSelectChange === 0) {
23
+ return null;
24
+ }
25
+ return (React.createElement("div", { className: "cfgFeatureItemOption__price" },
26
+ priceChangeAtSelectChange < 0 ? "-" : "+",
27
+ React.createElement(CurrencyPrice, { currency: currency, language: lang, price: Math.abs(priceChangeAtSelectChange), fractionDigits: fractionDigits })));
28
+ }
29
+ };
@@ -1,19 +1,18 @@
1
- import { CfgProduct, CfgProductConfiguration } from "@configura/web-api";
2
- import React from "react";
3
- import { CssProps } from "../../utilities.js";
4
- import { CfgProductConfigurationComponentAndPassthroughProps } 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
- declare type Props = PassthroughProps & {
14
- productOrConfiguration: CfgProductConfiguration | CfgProduct;
15
- permanentlyExpandedAdditionalProductLevels?: number;
16
- };
17
- export declare const CfgProductConfigurationView: React.FC<Props & CfgProductConfigurationComponentAndPassthroughProps & CssProps>;
18
- export {};
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>;
19
18
  //# sourceMappingURL=CfgProductConfigurationView.d.ts.map
@@ -1,46 +1,47 @@
1
- import { CfgProduct, CfgProductConfiguration } from "@configura/web-api";
2
- import React, { useEffect } from "react";
3
- import { useRerender } from "../../useRerender.js";
4
- import { CfgAdditionalProductView } from "./CfgAdditionalProductView.js";
5
- import { CfgFeatureViewMemo, forwardProps, } from "./CfgFeatureView.js";
6
- export var UpchargeDisplayMode;
7
- (function (UpchargeDisplayMode) {
8
- UpchargeDisplayMode[UpchargeDisplayMode["SelectionImpact"] = 0] = "SelectionImpact";
9
- UpchargeDisplayMode[UpchargeDisplayMode["None"] = 1] = "None";
10
- UpchargeDisplayMode[UpchargeDisplayMode["Price"] = 2] = "Price";
11
- })(UpchargeDisplayMode || (UpchargeDisplayMode = {}));
12
- export const CfgProductConfigurationView = React.memo((props) => {
13
- const { productOrConfiguration, permanentlyExpandedAdditionalProductLevels, additionalProductComponent, } = props;
14
- const configuration = productOrConfiguration instanceof CfgProduct
15
- ? productOrConfiguration.configuration
16
- : productOrConfiguration;
17
- const configurationVisible = productOrConfiguration instanceof CfgProductConfiguration || productOrConfiguration.visible;
18
- const features = configuration.features.reduce((agg, feature) => {
19
- // It is possible in Cat Creator to double add a Feature. This fills no known
20
- // purpose and React can not handle this, so we filter out the duplicates.
21
- const code = feature.code;
22
- if (agg.every((f) => f.code !== code)) {
23
- agg.push(feature);
24
- }
25
- return agg;
26
- }, []);
27
- const additionalProducts = productOrConfiguration instanceof CfgProduct
28
- ? productOrConfiguration.additionalProducts
29
- : undefined;
30
- const AdditionalProductComponent = additionalProductComponent || CfgAdditionalProductView;
31
- // Re-rendering is driven from the very top of the tree. However, when selecting an option
32
- // the change is not bubbled all the way to the top (and then down again) until after
33
- // validation has been done. This keeps the 3D-view from re-rendering until after validation
34
- // has been done. But it also makes the state of this GUI not update until after validate,
35
- // which does not look good. So we add this extra hook to make this rerender early.
36
- const rerender = useRerender();
37
- useEffect(() => {
38
- configuration.listenForChange(rerender);
39
- return () => {
40
- configuration.stopListenForChange(rerender);
41
- };
42
- }, [configuration, rerender]);
43
- return (React.createElement(React.Fragment, null,
44
- 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(props))))))),
45
- additionalProducts !== undefined && (React.createElement("ul", { className: `cfgOptionTree cfgOptionTree--topLevel` }, additionalProducts.map((additionalProduct) => (React.createElement(AdditionalProductComponent, Object.assign({ key: additionalProduct.key }, forwardProps(props), { additionalProductComponent: AdditionalProductComponent, product: additionalProduct, permanentlyExpandedLevels: permanentlyExpandedAdditionalProductLevels !== null && permanentlyExpandedAdditionalProductLevels !== void 0 ? permanentlyExpandedAdditionalProductLevels : 0 }))))))));
46
- });
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":"AAIA,QACC,eCqBD,CDlBA,QACC,cCqBD,CDlBA,QACC,iBCqBD,CDlBA,iBACC,eAAA,CACA,sBAAA,CACA,kBCqBD,CC2DC,EACC,aDjDF,CE5BC,WCRA,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,UD+FC,CC9FD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBFiDD,CGhDC,mCAEC,kBHiDF,CG1CC,aAVA,qBHuDD,CGtDC,qCAEC,kBHuDF,CExDC,iBCNA,4CHiED,CEjDC,cCZA,qBHiED,CGhEC,yCAEC,kBHiEF,CG1DC,gBAVA,qBHuED,CGtEC,2CAEC,kBHuEF,CE3DG,qCACC,eF6DJ,CIzFC,cDYA,qBAAA,CCNC,oBAAA,CACA,UAAA,CACA,WJ0FF,CGrFC,yCAEC,kBHsFF,CG/EC,gBAVA,qBH4FD,CG3FC,2CAEC,kBH4FF,CIjGE,yBACC,wBAAA,CACA,0BJmGH,CIhGE,oBACC,WH2FD,CG1FC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCJkGH,CI/FE,wBACC,WHmFD,CGlFC,yDJiGH,CI9FE,yBACC,WH8ED,CG7EC,0DJgGH,CI3FE,sBDDD,yBAAA,CAYA,kBH4FD,CIrGG,oDDJF,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WH6GD,CIjHG,8BDHF,sBAAA,CAYA,kBHwGD,CKtJC,YFYA,qBAAA,CENC,oBAAA,CACA,ULuJF,CGjJC,qCAEC,kBHkJF,CG3IC,cAVA,qBHwJD,CGvJC,uCAEC,kBHwJF,CK9JE,uBACC,wBLgKH,CK9JG,6BACC,0BLgKJ,CK7JG,2BACC,2BL+JJ,CK3JE,kBACC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCL6JH,CKxJG,6DACC,WL0JJ,CKxJG,+DACC,cL0JJ,CKrJG,4BACC,uBLuJJ,CKhJG,uDACC,wBLqJJ,CKlJG,2BACC,uBLoJJ,CMxMC,oBHYA,qBAAA,CGNC,oBAAA,CACA,UAAA,CACA,WNyMF,CGpMC,qDAEC,kBHqMF,CG9LC,sBAVA,qBH2MD,C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AA,CACA,iBF29BD,CG19BC,+DAEC,kBH29BF,CGp9BC,2BAVA,qBHi+BD,CGh+BC,iEAEC,kBHi+BF,CEl+BC,+BCNA,+CH2+BD,CE39BC,4BCZA,qBH0+BD,CGz+BC,qEAEC,kBH0+BF,CGn+BC,8BAVA,qBHg/BD,CG/+BC,uEAEC,kBHg/BF,CEp+BG,mDACC,eFs+BJ,CIlgCC,4BDYA,qBAAA,CCNC,oBAAA,CACA,UAAA,CACA,WJkgCF,CG7/BC,qEAEC,kBH8/BF,CGv/BC,8BAVA,qBHogCD,CGngCC,uEAEC,kBHogCF,CIzgCE,uCACC,wBAAA,CACA,0BJ2gCH,CIxgCE,kCACC,WH2FD,CG1FC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCJ0gCH,CIvgCE,sCACC,WHmFD,CGlFC,yDJygCH,CItgCE,uCACC,WH8ED,CG7EC,0DJwgCH,CIngCE,oCDDD,yBAAA,CAYA,kBHogCD,CI7gCG,gFDJF,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WHqhCD,CIzhCG,4CDHF,sBAAA,CAYA,kBHghCD,CK9jCC,0BFYA,qBAAA,CENC,oBAAA,CACA,UL8jCF,CGxjCC,iEAEC,kBHyjCF,CGljCC,4BAVA,qBH+jCD,CG9jCC,mEAEC,kBH+jCF,CKrkCE,qCACC,wBLukCH,CKrkCG,2CACC,0BLukCJ,CKpkCG,yCACC,2BLskCJ,CKlkCE,gCACC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCLokCH,CK/jCG,yFACC,WLikCJ,CK/jCG,2FACC,cLikCJ,CK5jCG,0CACC,uBL8jCJ,CKvjCG,mFACC,wBL4jCJ,CKzjCG,yCACC,uBL2jCJ,CM/mCC,kCHYA,qBAAA,CGNC,oBAAA,CACA,UAAA,CACA,WN+mCF,CG1mCC,iFAEC,kBH2mCF,CGpmCC,oCAVA,qBHinCD,CGhnCC,mFAEC,kBHinCF,CMtnCE,gFAEC,cLmGiC,CKlGjC,oBAAA,CACA,qBAAA,CACA,gBNwnCH,COnoCC,sCJQA,qBAAA,CINC,aN0G4C,CMzG5C,YAAA,CACA,WAAA,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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);\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($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {\n\t.cfgButton {\n\t\t@include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);\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"]}
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":"AAIA,QACC,eCqBD,CDlBA,QACC,cCqBD,CDlBA,QACC,iBCqBD,CDlBA,iBACC,eAAA,CACA,sBAAA,CACA,kBCqBD,CC2DC,EACC,aDjDF,CE5BC,WCRA,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,UD+FC,CC9FD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBFiDD,CGhDC,mCAEC,kBHiDF,CG1CC,aAVA,qBHuDD,CGtDC,qCAEC,kBHuDF,CExDC,iBCNA,4CHiED,CEjDC,cCZA,qBHiED,CGhEC,yCAEC,kBHiEF,CG1DC,gBAVA,qBHuED,CGtEC,2CAEC,kBHuEF,CE3DG,qCACC,eF6DJ,CIzFC,cDYA,qBAAA,CCNC,oBAAA,CACA,UAAA,CACA,WJ0FF,CGrFC,yCAEC,kBHsFF,CG/EC,gBAVA,qBH4FD,CG3FC,2CAEC,kBH4FF,CIjGE,yBACC,wBAAA,CACA,0BJmGH,CIhGE,oBACC,WH2FD,CG1FC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCJkGH,CI/FE,wBACC,WHmFD,CGlFC,yDJiGH,CI9FE,yBACC,WH8ED,CG7EC,0DJgGH,CI3FE,sBDDD,yBAAA,CAYA,kBH4FD,CIrGG,oDDJF,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WH6GD,CIjHG,8BDHF,sBAAA,CAYA,kBHwGD,CKtJC,YFYA,qBAAA,CENC,oBAAA,CACA,ULuJF,CGjJC,qCAEC,kBHkJF,CG3IC,cAVA,qBHwJD,CGvJC,uCAEC,kBHwJF,CK9JE,uBACC,wBLgKH,CK9JG,6BACC,0BLgKJ,CK7JG,2BACC,2BL+JJ,CK3JE,kBACC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCL6JH,CKxJG,6DACC,WL0JJ,CKxJG,+DACC,cL0JJ,CKrJG,4BACC,uBLuJJ,CKhJG,uDACC,wBLqJJ,CKlJG,2BACC,uBLoJJ,CMxMC,oBHYA,qBAAA,CGNC,oBAAA,CACA,UAAA,CACA,WNyMF,CGpMC,qDAEC,kBHqMF,CG9LC,sBAVA,qBH2MD,CG1MC,uDAEC,kBH2MF,CMhNE,oDAEC,cLmGiC,CKlGjC,oBAAA,CACA,qBAAA,CACA,gBNkNH,CO7NC,wBJQA,qBAAA,CINC,UN0G4C,CMzG5C,YAAA,CACA,WAAA,CACA,qBPgOF,CG5NC,6DAEC,kBH6NF,CGtNC,0BAVA,qBHmOD,CGlOC,+DAEC,kBHmOF,COvOE,0CAPD,wBAQE,kBP0OD,CACF,COxOE,sCACC,eAAA,CACA,eAAA,CACA,eP0OH,COxOG,qDACC,YP0OJ,COxOI,2DACC,UP0OL,COpOC,kBJlBA,qBAAA,CIoBC,iBAAA,CACA,YAAA,CACA,wBAAA,CAAA,gBAAA,CAEA,aAAA,CACA,ePsOF,CG9PC,iDAEC,kBH+PF,CGxPC,oBAVA,qBHqQD,CGpQC,mDAEC,kBHqQF,CO7OE,yBACC,YP+OH,CO5OE,0CAbD,kBAcE,WAAA,CACA,YP+OD,CACF,CO5OC,iBJrCA,qBAAA,CAgBA,iIAAA,CIwBC,cCnDa,CDoDb,UN2D4C,CM1D5C,WAAA,CAEA,WAAA,CACA,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aP8OF,CG7RC,+CAEC,kBH8RF,CGvRC,mBAVA,qBHoSD,CGnSC,iDAEC,kBHoSF,COrPE,0CAbD,iBAcE,WAAA,CACA,YPwPD,CACF,COrPC,uBACC,gCAAA,CACA,yBAAA,CACA,iBPwPF,COtPE,gCACC,cPwPH,COpPC,qBAEC,gBAAA,CACA,eAAA,CACA,gCPuPF,CSzUC,iBNYA,qBAAA,CMNC,oBAAA,CACA,UAAA,CACA,WT0UF,CGrUC,+CAEC,kBHsUF,CG/TC,mBAVA,qBH4UD,CG3UC,iDAEC,kBH4UF,CSjVE,8CAEC,cRqG6B,CQpG7B,oBAAA,CACA,qBAAA,CACA,gBTmVH,CUlWC,yBPYA,qBAAA,CAdA,uBAAA,CAAA,eAAA,CACA,mBAAA,CACA,iBAAA,CACA,aAAA,CACA,eAAA,CACA,WAAA,CACA,SAAA,CODC,mBAAA,CACA,YAAA,CACA,YAAA,CACA,SAAA,CACA,iBAAA,CACA,UV2WF,CGtWC,+DAEC,kBHuWF,CGhWC,2BAVA,qBH6WD,CG5WC,iEAEC,kBH6WF,CUlXE,qCACC,cVoXH,CUjXE,gCACC,kBAAA,CACA,YAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CACA,0BVmXH,CUhXE,+BACC,kBAAA,CACA,YAAA,CACA,YAAA,CACA,sBAAA,CACA,eVkXH,CW9YC,cRYA,qBAAA,CQNC,oBAAA,CACA,UAAA,CACA,WX+YF,CG1YC,yCAEC,kBH2YF,CGpYC,gBAVA,qBHiZD,CGhZC,2CAEC,kBHiZF,CWtZE,wCAEC,cVuG0B,CUtG1B,oBAAA,CACA,qBAAA,CACA,gBXwZH,CY3ZC,mBACC,kBAAA,CACA,oBAAA,CACA,UAAA,CACA,SZ8ZF,CY3ZC,yBACC,kBAAA,CACA,YAAA,CACA,cAAA,CACA,0BZ8ZF,CY3ZC,gBTdA,qBAAA,CSiBC,UZ8ZF,CG9aC,6CAEC,kBH+aF,CGxaC,kBAVA,qBHqbD,CGpbC,+CAEC,kBHqbF,CYraE,0BTjCD,uBAAA,CAAA,eAAA,CACA,mBAAA,CACA,iBAAA,CACA,aAAA,CACA,eAAA,CACA,WAAA,CACA,SAAA,CS6BE,mBAAA,CACA,YAAA,CACA,YAAA,CACA,SAAA,CACA,iBAAA,CACA,UAAA,CACA,cZ6aH,CY1aE,0BACC,cZ4aH,CYzaE,6BACC,aAAA,CACA,SAAA,CACA,iBAAA,CACA,UZ2aH,CYxaE,uBTnBD,yBAAA,CAiBA,iBHsbD,CYhbE,iDTxBD,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WH4cD,CY5bE,0BTvBD,yBAAA,CAYA,kBHucD,CYtbE,uHTvDD,4CHgfD,CYpbE,4DTlCD,sBAAA,CAiBA,iBHidD,CY7bE,2HTtCD,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WHueD,CYzcE,+DTrCD,sBAAA,CAYA,kBHkeD,CYncI,8FACC,eZwcL,CYpcG,yDACC,2BZscJ,CYlcG,oFACC,mBZocJ,CY/bC,0EAEC,aAAA,CACA,eZkcF,CY/bC,4DAEC,eZkcF,CY/bC,6BACC,eAAA,CACA,eAAA,CACA,UZkcF,CY/bC,6CACC,YZkcF,CY1bC,8CAJC,kBAAA,CACA,YZycF,CYtcC,wBAGC,sBAAA,CACA,eZkcF,CYhcE,gCACC,eAAA,CACA,eAAA,CACA,eAAA,CACA,SAAA,CACA,wBZkcH,CatkBC,yBAEC,yBAAA,CACA,iBAAA,CACA,kBbykBF,CatkBC,eAiBC,cAAA,CACA,iBbyjBF,Ca1kBE,sBACC,uBAAA,CAAA,eAAA,CACA,iBAAA,CACA,QAAA,CACA,UAAA,CAEA,4BAAA,CACA,mBAAA,CACA,iBAAA,CACA,mBAAA,CACA,cAAA,CACA,mBAAA,CACA,YAAA,CACA,Wb2kBH,CarkBE,qBACC,iBAAA,CACA,WAAA,CACA,OAAA,CACA,iBAAA,CACA,UAAA,CACA,SAAA,CACA,UAAA,CACA,wBZ4FqB,CY3FrB,0EAAA,CAAA,kEAAA,CACA,gBbukBH,CclmBC,OXIA,qBAAA,CWXA,QAAA,CACA,gCAAA,CACA,SAAA,CACA,Qd8mBD,CGrmBC,2BAEC,kBHsmBF,CG/lBC,SAVA,qBH4mBD,CG3mBC,6BAEC,kBH4mBF,CejnBC,oBZEA,qBAAA,CYAC,kBAAA,CACA,YAAA,CACA,qBAAA,CACA,WAAA,CACA,sBAAA,CACA,UfonBF,CGxnBC,qDAEC,kBHynBF,CGlnBC,sBAVA,qBH+nBD,CG9nBC,uDAEC,kBH+nBF,Ce1nBC,mBZRA,qBAAA,CYWC,kBAAA,CACA,qBd2GA,Cc1GA,QAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,MAAA,CACA,iBAAA,CACA,OAAA,CACA,KAAA,CACA,Yf4nBF,CGhpBC,mDAEC,kBHipBF,CG1oBC,qBAVA,qBHupBD,CGtpBC,qDAEC,kBHupBF,CenoBE,iCACC,4BAAA,CACA,mBfqoBH,CenoBG,qDACC,qBAAA,CACA,kBAAA,CACA,qBdyFF,CcxFE,UAAA,CACA,iCfqoBJ,CejoBE,+BACC,cAAA,CACA,YfmoBH,Ce/nBC,oBZ1CA,qBAAA,CAgBA,iIAAA,CY8BC,iBfioBF,CG9qBC,qDAEC,kBH+qBF,CGxqBC,sBAVA,qBHqrBD,CGprBC,uDAEC,kBHqrBF,CexoBE,0BACC,UdmED,CclEC,eAAA,CACA,eAAA,CACA,ef0oBH,CetoBC,YZxDA,qBAAA,CY2DC,wCAAA,CACA,kBAAA,CAEA,iCduDA,CcvDA,wBduDA,CctDA,oBAAA,CACA,UAAA,CACA,SfwoBF,CGxsBC,qCAEC,kBHysBF,CGlsBC,cAVA,qBH+sBD,CG9sBC,uCAEC,kBH+sBF,Ce/oBE,mBACC,iBAAA,CACA,UAAA,CACA,SfipBH,CgB/tBC,ebQA,qBAAA,CaLC,eAAA,CACA,QAAA,CACA,ShByuBF,CGruBC,2CAEC,kBHsuBF,CG/tBC,iBAVA,qBH4uBD,CG3uBC,6CAEC,kBH4uBF,CgBhvBE,yBACC,kBhBkvBH,CgB/uBE,uBACC,iBhBivBH,CgB9uBE,0BACC,iBhBgvBH,CiB/vBC,gBdOA,qBAAA,CcJC,UhB+HoC,CgB7HpC,YjBgwBF,CG7vBC,6CAEC,kBH8vBF,CGvvBC,kBAVA,qBHowBD,CGnwBC,+CAEC,kBHowBF,CiBvwBE,sBACC,aAAA,CACA,WAAA,CACA,ejBywBH,CiBtwBE,uBACC,oBAAA,CACA,YAAA,CACA,qBAAA,CACA,aAAA,CACA,eAAA,CACA,oBAAA,CACA,WjBwwBH,CiBrwBE,sBACC,aAAA,CACA,eAAA,CACA,eAAA,CACA,gBAAA,CACA,QjBuwBH,CiBpwBE,wBACC,eAAA,CACA,eAAA,CACA,gBAAA,CACA,QjBswBH,CkB/yBE,sBACC,YAAA,CACA,kBlBkzBH,CkB/yBE,4BACC,eAAA,CACA,WAAA,CACA,gBlBizBH,CkB9yBE,0BACC,eAAA,CACA,gBlBgzBH,CkB7yBE,sCACC,eAAA,CACA,WlB+yBH,CkB5yBE,qBACC,YAAA,CACA,kBAAA,CAEA,cAAA,CACA,eAAA,CACA,alB6yBH,CkB3yBG,mCACC,mBAAA,CACA,YAAA,CACA,UlB6yBJ,CmBrzBC,WhBXA,qBAAA,CgBmBC,MAAA,CACA,QAAA,CACA,SAAA,CACA,gBA/Bc,CAgCd,sBAAA,CACA,YnBkzBF,CGz0BC,mCAEC,kBH00BF,CGn0BC,aAVA,qBHg1BD,CG/0BC,qCAEC,kBHg1BF,CmBr0BE,4CAEC,uBnBs0BH,CmB5zBE,0CAhCD,qBAAA,CACA,WAAA,CACA,WANa,CAOb,enB+1BD,CmB/zBE,6BAnCD,qBAAA,CACA,WAAA,CACA,WANa,CAOb,enBq2BD,CmBl0BE,sBAtCD,qBAAA,CACA,WAAA,CACA,WANa,CAOb,enB22BD,CmBp0BE,iCACC,iBAAA,CApCF,qBAAA,CACA,WAAA,CACA,WAZe,CAaf,YAbe,CAcf,iBAAA,CACA,elByHC,CkBxHD,mCnB22BD,CmB10BE,6BAvCD,qBAAA,CACA,WAAA,CACA,WAZe,CAaf,YAbe,CAcf,iBAAA,CACA,elByHC,CkBxHD,mCnBo3BD,CmBh1BE,sBACC,YAAA,CA3CF,qBAAA,CACA,WAAA,CACA,WAZe,CAaf,YAbe,CAcf,iBAAA,CACA,elByHC,CkBxHD,mCnB83BD,CmBr1BE,wBACC,YnBu1BH,CoB/4BE,gBACC,oBAAA,CACA,SAAA,CACA,cAAA,CACA,gCpBk5BH,CoB/4BE,mBACC,uBAAA,CACA,iBAAA,CACA,YAAA,CACA,kBpBi5BH,CoB94BE,sBACC,yBAAA,CACA,iBAAA,CACA,WAtBa,CAuBb,YAvBa,CAwBb,apBg5BH,CoB94BG,0BACC,gBAAA,CACA,iBAAA,CACA,UAAA,CACA,SAAA,CACA,YAAA,CACA,apBg5BJ,CoB54BE,mBACC,aAAA,CACA,SAAA,CACA,UArCU,CAsCV,gBAAA,CACA,iBpB84BH,CoB54BG,oCACC,epB84BJ,CoB14BE,qBACC,WAAA,CACA,epB44BH,CoBz4BE,oBjBpDD,aAAA,CiBuDE,SAtDU,CAuDV,UAvDU,CAwDV,apBi5BH,CoB94BE,0CjB/DD,uBAAA,CAAA,eAAA,CACA,mBAAA,CACA,iBAAA,CAEA,eAAA,CACA,WAAA,CACA,SAAA,CiBmDE,cpBg6BH,CoB15BE,sBjB5DD,aAAA,CiB+DE,yBAAA,CACA,apBs5BH,CCv3BC,gBACC,aD03BF,CEv8BC,yBCRA,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,aD+FC,CC9FD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBF29BD,CG19BC,+DAEC,kBH29BF,CGp9BC,2BAVA,qBHi+BD,CGh+BC,iEAEC,kBHi+BF,CEl+BC,+BCNA,+CH2+BD,CE39BC,4BCZA,qBH0+BD,CGz+BC,qEAEC,kBH0+BF,CGn+BC,8BAVA,qBHg/BD,CG/+BC,uEAEC,kBHg/BF,CEp+BG,mDACC,eFs+BJ,CIlgCC,4BDYA,qBAAA,CCNC,oBAAA,CACA,UAAA,CACA,WJkgCF,CG7/BC,qEAEC,kBH8/BF,CGv/BC,8BAVA,qBHogCD,CGngCC,uEAEC,kBHogCF,CIzgCE,uCACC,wBAAA,CACA,0BJ2gCH,CIxgCE,kCACC,WH2FD,CG1FC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCJ0gCH,CIvgCE,sCACC,WHmFD,CGlFC,yDJygCH,CItgCE,uCACC,WH8ED,CG7EC,0DJwgCH,CIngCE,oCDDD,yBAAA,CAYA,kBHogCD,CI7gCG,gFDJF,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WHqhCD,CIzhCG,4CDHF,sBAAA,CAYA,kBHghCD,CK9jCC,0BFYA,qBAAA,CENC,oBAAA,CACA,UL8jCF,CGxjCC,iEAEC,kBHyjCF,CGljCC,4BAVA,qBH+jCD,CG9jCC,mEAEC,kBH+jCF,CKrkCE,qCACC,wBLukCH,CKrkCG,2CACC,0BLukCJ,CKpkCG,yCACC,2BLskCJ,CKlkCE,gCACC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCLokCH,CK/jCG,yFACC,WLikCJ,CK/jCG,2FACC,cLikCJ,CK5jCG,0CACC,uBL8jCJ,CKvjCG,mFACC,wBL4jCJ,CKzjCG,yCACC,uBL2jCJ,CM/mCC,kCHYA,qBAAA,CGNC,oBAAA,CACA,UAAA,CACA,WN+mCF,CG1mCC,iFAEC,kBH2mCF,CGpmCC,oCAVA,qBHinCD,CGhnCC,mFAEC,kBHinCF,CMtnCE,gFAEC,cLmGiC,CKlGjC,oBAAA,CACA,qBAAA,CACA,gBNwnCH,COnoCC,sCJQA,qBAAA,CINC,aN0G4C,CMzG5C,YAAA,CACA,WAAA,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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);\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($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {\r\n\t.cfgButton {\r\n\t\t@include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);\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"]}
package/dist/index.d.ts CHANGED
@@ -1,24 +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 "./useObservable.js";
21
+ export * from "./useRerender.js";
22
+ export * from "./useResize.js";
23
+ export * from "./useUniqueId.js";
24
24
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
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 "./useObservable.js";
21
+ export * from "./useRerender.js";
22
+ export * from "./useResize.js";
23
+ export * from "./useUniqueId.js";
@@ -1,36 +1,36 @@
1
- /**
2
- * Web UI Product information
3
- */
4
- @use "mixins";
5
-
6
- @mixin styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {
7
- @include mixins.cfgRootStyles;
8
- display: inline-block;
9
- background-color: transparent;
10
- color: $textColor;
11
- border-radius: 0.3em;
12
- border: 0.1em solid $borderColor;
13
- font-size: 1.3em;
14
- font-weight: 500;
15
- outline: none;
16
- padding: 0.4em 0.8em;
17
-
18
- &:focus {
19
- @include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);
20
- }
21
- }
22
-
23
- @mixin classes($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {
24
- .cfgButton {
25
- @include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);
26
- }
27
-
28
- .cfgButtonRow {
29
- @include mixins.cfgRootStyles;
30
- &__button {
31
- &:nth-child(n + 2) {
32
- margin-left: 1em;
33
- }
34
- }
35
- }
36
- }
1
+ /**
2
+ * Web UI Product information
3
+ */
4
+ @use "mixins";
5
+
6
+ @mixin styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {
7
+ @include mixins.cfgRootStyles;
8
+ display: inline-block;
9
+ background-color: transparent;
10
+ color: $textColor;
11
+ border-radius: 0.3em;
12
+ border: 0.1em solid $borderColor;
13
+ font-size: 1.3em;
14
+ font-weight: 500;
15
+ outline: none;
16
+ padding: 0.4em 0.8em;
17
+
18
+ &:focus {
19
+ @include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);
20
+ }
21
+ }
22
+
23
+ @mixin classes($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {
24
+ .cfgButton {
25
+ @include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);
26
+ }
27
+
28
+ .cfgButtonRow {
29
+ @include mixins.cfgRootStyles;
30
+ &__button {
31
+ &:nth-child(n + 2) {
32
+ margin-left: 1em;
33
+ }
34
+ }
35
+ }
36
+ }