@crystaldesign/diva-seller 24.15.0-beta.4 → 24.15.0-beta.40

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 (28) hide show
  1. package/build/esm/index.js +487 -241
  2. package/build/types/seller/src/components/Articles/index.d.ts.map +1 -1
  3. package/build/types/seller/src/components/Basket/Step3Checkout.d.ts +4 -1
  4. package/build/types/seller/src/components/Basket/Step3Checkout.d.ts.map +1 -1
  5. package/build/types/seller/src/components/Basket/Step4Checkout.d.ts +10 -0
  6. package/build/types/seller/src/components/Basket/Step4Checkout.d.ts.map +1 -0
  7. package/build/types/seller/src/components/Basket/index.d.ts +1 -1
  8. package/build/types/seller/src/components/Basket/index.d.ts.map +1 -1
  9. package/build/types/seller/src/components/Basket/types.d.ts +1 -1
  10. package/build/types/seller/src/components/Basket/types.d.ts.map +1 -1
  11. package/build/types/seller/src/components/InfoWithProducts/NavBar/index.d.ts.map +1 -1
  12. package/build/types/seller/src/components/InfoWithProducts/ProductsOrArticles/index.d.ts.map +1 -1
  13. package/build/types/seller/src/services/ApiHandler.d.ts.map +1 -1
  14. package/build/types/seller/src/types.d.ts +5 -5
  15. package/build/types/seller/src/types.d.ts.map +1 -1
  16. package/build/types/seller/src/ui/Basket/CheckOut/components/Step3Product.d.ts +9 -0
  17. package/build/types/seller/src/ui/Basket/CheckOut/components/Step3Product.d.ts.map +1 -0
  18. package/build/types/seller/src/ui/Basket/CheckOut/index.d.ts +4 -1
  19. package/build/types/seller/src/ui/Basket/CheckOut/index.d.ts.map +1 -1
  20. package/build/types/seller/src/ui/Basket/CheckOut/statusMenu.d.ts +1 -1
  21. package/build/types/seller/src/ui/Basket/CheckOut/statusMenu.d.ts.map +1 -1
  22. package/build/types/seller/src/ui/Basket/CheckOut/useProduct.d.ts +2 -2
  23. package/build/types/seller/src/ui/Basket/CheckOut/useProduct.d.ts.map +1 -1
  24. package/build/types/seller/src/ui/Basket/Header.d.ts +3 -2
  25. package/build/types/seller/src/ui/Basket/Header.d.ts.map +1 -1
  26. package/build/types/seller/src/ui/Basket/PriceOverView/Footer.d.ts +1 -1
  27. package/build/types/seller/src/ui/Basket/PriceOverView/Footer.d.ts.map +1 -1
  28. package/package.json +7 -5
@@ -17,7 +17,7 @@ import CardMedia from '@mui/material/CardMedia';
17
17
  import Typography$1 from '@mui/material/Typography';
18
18
  import createStyles from '@mui/styles/createStyles';
19
19
  import makeStyles from '@mui/styles/makeStyles';
20
- import { styled, Typography, Card as Card$1, CardActionArea as CardActionArea$1, CardMedia as CardMedia$1, Button as Button$1, TextField, ButtonGroup as ButtonGroup$1, Tooltip, Paper as Paper$1, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, IconButton as IconButton$1, Link, InputBase, Accordion, AccordionSummary, Tabs, Tab, AccordionDetails, Table as Table$1, TableBody as TableBody$1, TableRow as TableRow$1, TableCell as TableCell$1, CardHeader, CardContent, FormControl as FormControl$1, FormHelperText, TextareaAutosize, Box, Select as Select$1, MenuItem as MenuItem$1, ListItemButton, ListItemIcon } from '@mui/material';
20
+ import { styled, Typography, Card as Card$1, CardActionArea as CardActionArea$1, CardMedia as CardMedia$1, Button as Button$1, TextField, ButtonGroup as ButtonGroup$1, Tooltip, Stack, Paper as Paper$1, IconButton as IconButton$1, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, Divider as Divider$1, Alert, AlertTitle, Link, InputBase, Accordion, AccordionSummary, Tabs, Tab, AccordionDetails, Table as Table$1, TableBody as TableBody$1, TableRow as TableRow$1, TableCell as TableCell$1, CardHeader, CardContent, FormControl as FormControl$1, FormHelperText, TextareaAutosize, Box as Box$1, Select as Select$1, MenuItem as MenuItem$1, ListItemButton, ListItemIcon } from '@mui/material';
21
21
  import { Histogram, useFilterState, FilterComponent, AnalyticsComponent } from '@crystaldesign/analytics';
22
22
  import Button from '@mui/material/Button';
23
23
  import ButtonGroup from '@mui/material/ButtonGroup';
@@ -55,7 +55,12 @@ import TextField$1 from '@mui/material/TextField';
55
55
  import Select from '@mui/material/Select';
56
56
  import Input from '@mui/material/Input';
57
57
  import OrderEntry, { apiSaveRenderJobs, VariantSelector } from '@crystaldesign/order-entry';
58
- import CloseIcon from '@mui/icons-material/Close';
58
+ import _toArray from '@babel/runtime/helpers/toArray';
59
+ import Box from '@mui/material/Box';
60
+ import StarBorderIcon from '@mui/icons-material/StarBorder';
61
+ import EditIcon from '@mui/icons-material/Edit';
62
+ import Alert$1 from '@mui/material/Alert';
63
+ import AlertTitle$1 from '@mui/material/AlertTitle';
59
64
  import classnames from 'classnames';
60
65
  import { InfoRounded, Remove, Add, Delete } from '@mui/icons-material';
61
66
  import { Swiper, SwiperSlide } from 'swiper/react';
@@ -68,7 +73,7 @@ import 'swiper/css/free-mode';
68
73
  import 'swiper/css/mousewheel';
69
74
  import ExpandMore from '@mui/icons-material/ExpandMore';
70
75
  import ProductsComponent, { useProductState as useProductState$1 } from '@crystaldesign/products-component';
71
- import Alert from '@mui/lab/Alert';
76
+ import Alert$2 from '@mui/lab/Alert';
72
77
  import Tab$1 from '@mui/material/Tab';
73
78
  import Tabs$1 from '@mui/material/Tabs';
74
79
  import Autocomplete$1 from '@mui/material/Autocomplete';
@@ -91,7 +96,6 @@ import AssetEditor, { DivaFile } from '@crystaldesign/media-upload';
91
96
  import AddIcon$1 from '@mui/icons-material/NoteAdd';
92
97
  import DeleteIcon from '@mui/icons-material/Delete';
93
98
  import debounce from 'lodash/debounce';
94
- import Alert$1 from '@mui/material/Alert';
95
99
  import Settings from '@mui/icons-material/Settings';
96
100
 
97
101
  (function() {
@@ -654,8 +658,6 @@ function _apiLoadCatalogs() {
654
658
  // "Johann Jakob - CLASSICS"
655
659
  subCategory: data.RetailSubCategory ? data.RetailSubCategory : data.SubCategory ? data.SubCategory : undefined,
656
660
  retailArticleNr: data.RetailArticleNr ? data.RetailArticleNr : undefined,
657
- fileBaseUrl: data.BaseURL ? data.BaseURL : undefined,
658
- // "https://myCC3Retail.crystal-design.local/files"
659
661
  nArticles: data.Articles ? Number(data.Articles) : 0,
660
662
  // "236"
661
663
  nConfigurators: data.Configurators ? Number(data.Configurators) : 0,
@@ -3087,7 +3089,7 @@ var Wrapper = styled('div')({
3087
3089
  display: 'flex',
3088
3090
  justifyContent: 'space-between',
3089
3091
  alignItems: 'center',
3090
- margin: '10px 10px 0 10px',
3092
+ margin: '5px 5px 5px 5px',
3091
3093
  flexWrap: 'wrap',
3092
3094
  gap: '10px'
3093
3095
  });
@@ -3874,11 +3876,7 @@ function Articles(_ref) {
3874
3876
  component: "div",
3875
3877
  variant: "body1",
3876
3878
  color: "textSecondary",
3877
- children: DivaUtils$1.sizeFormatter({
3878
- width: row.values['width'],
3879
- depth: row.values['depth'],
3880
- height: row.values['height']
3881
- }, i18n)
3879
+ children: DivaUtils$1.sizeFormatter(row.values, i18n)
3882
3880
  })]
3883
3881
  }), /*#__PURE__*/jsx("div", {
3884
3882
  style: {
@@ -3951,6 +3949,30 @@ function Articles(_ref) {
3951
3949
  }, {
3952
3950
  label: t('articles.header.depth'),
3953
3951
  accessor: 'depth'
3952
+ }, {
3953
+ label: t('articles.header.width'),
3954
+ accessor: 'widthFrom',
3955
+ hidden: true
3956
+ }, {
3957
+ label: t('articles.header.height'),
3958
+ accessor: 'heightFrom',
3959
+ hidden: true
3960
+ }, {
3961
+ label: t('articles.header.depth'),
3962
+ accessor: 'depthFrom',
3963
+ hidden: true
3964
+ }, {
3965
+ label: t('articles.header.width'),
3966
+ accessor: 'widthTo',
3967
+ hidden: true
3968
+ }, {
3969
+ label: t('articles.header.height'),
3970
+ accessor: 'heightTo',
3971
+ hidden: true
3972
+ }, {
3973
+ label: t('articles.header.depth'),
3974
+ accessor: 'depthTo',
3975
+ hidden: true
3954
3976
  }],
3955
3977
  groupBy: ['groupName'],
3956
3978
  expanded: true,
@@ -3994,8 +4016,10 @@ function Header$1(_ref) {
3994
4016
  enableVKPExportButton = _ref.enableVKPExportButton;
3995
4017
  var _useTranslation = useTranslation(),
3996
4018
  t = _useTranslation.t;
4019
+ var _useDivaCore = useDivaCore(),
4020
+ organization = _useDivaCore.state.organization;
3997
4021
  var handleClick = function handleClick(event) {
3998
- if (event.currentTarget.name == 'Step1' || event.currentTarget.name == 'Step2' || event.currentTarget.name == 'Step3') {
4022
+ if (event.currentTarget.name == 'Step1' || event.currentTarget.name == 'Step2' || event.currentTarget.name == 'Step3' || event.currentTarget.name == 'Step4') {
3999
4023
  setActBasketPage(event.currentTarget.name);
4000
4024
  }
4001
4025
  };
@@ -4006,7 +4030,7 @@ function Header$1(_ref) {
4006
4030
  zIndex: 1
4007
4031
  },
4008
4032
  children: /*#__PURE__*/jsxs(Title, {
4009
- text: t('data.' + status) + ' - Nr. ' + divaNr + '-' + documentVersion,
4033
+ text: (actBasketPage === 'Step4' ? 'Marketing' : t('data.' + status)) + ' - Nr. ' + divaNr + '-' + documentVersion,
4010
4034
  children: [showVKPExportButton && /*#__PURE__*/jsx(Button, {
4011
4035
  color: 'primary',
4012
4036
  variant: 'contained',
@@ -4041,6 +4065,13 @@ function Header$1(_ref) {
4041
4065
  children: t('basket.navigation.checkoutNew', {
4042
4066
  step: (config === null || config === void 0 ? void 0 : config.clientData) != false ? 3 : 2
4043
4067
  })
4068
+ }), organization.settings.enableVKMarketing && /*#__PURE__*/jsx(Button, {
4069
+ name: "Step4",
4070
+ onClick: handleClick,
4071
+ variant: actBasketPage == 'Step4' ? 'contained' : 'outlined',
4072
+ children: t('basket.navigation.checkoutMarketing', {
4073
+ step: (config === null || config === void 0 ? void 0 : config.clientData) != false ? 4 : 3
4074
+ })
4044
4075
  })]
4045
4076
  })]
4046
4077
  })
@@ -4101,12 +4132,12 @@ function MenuListComposition(_ref) {
4101
4132
  }
4102
4133
  prevOpen.current = open;
4103
4134
  }, [open]);
4104
- return /*#__PURE__*/jsx("div", {
4135
+ return /*#__PURE__*/jsxs("div", {
4105
4136
  style: {
4106
4137
  "float": 'right',
4107
4138
  height: 'fit-content'
4108
4139
  },
4109
- children: /*#__PURE__*/jsxs(ButtonGroup, {
4140
+ children: [/*#__PURE__*/jsxs(ButtonGroup, {
4110
4141
  color: "primary",
4111
4142
  "aria-label": "outlined primary button group",
4112
4143
  children: [/*#__PURE__*/jsx(Button, {
@@ -4128,61 +4159,61 @@ function MenuListComposition(_ref) {
4128
4159
  "aria-haspopup": "true",
4129
4160
  onClick: handleToggle,
4130
4161
  children: t('basket.priceOverview.actions.addtionalActions')
4131
- }), /*#__PURE__*/jsx(Popper, {
4132
- style: {
4133
- zIndex: 1
4134
- },
4135
- open: open,
4136
- anchorEl: anchorRef.current,
4137
- role: undefined,
4138
- transition: true,
4139
- disablePortal: true,
4140
- children: function children(_ref2) {
4141
- var TransitionProps = _ref2.TransitionProps,
4142
- placement = _ref2.placement;
4143
- return /*#__PURE__*/jsx(Grow, _objectSpread$w(_objectSpread$w({}, TransitionProps), {}, {
4144
- style: {
4145
- transformOrigin: placement === 'bottom' ? 'right top' : 'right bottom'
4146
- },
4147
- children: /*#__PURE__*/jsx(Paper, {
4148
- children: /*#__PURE__*/jsx(ClickAwayListener, {
4149
- onClickAway: handleClose,
4150
- children: /*#__PURE__*/jsxs(MenuList, {
4151
- autoFocusItem: open,
4152
- id: "menu-list-grow",
4153
- onKeyDown: handleListKeyDown,
4154
- children: [/*#__PURE__*/jsx(MenuItem, {
4155
- style: {
4156
- display: !visibile ? 'block' : 'none'
4157
- },
4158
- onClick: function onClick(e) {
4159
- handleClose(e);
4160
- setVisibile(true);
4161
- },
4162
- children: t('basket.priceOverview.actions.showOrder')
4163
- }), /*#__PURE__*/jsx(MenuItem, {
4164
- style: {
4165
- display: visibile ? 'block' : 'none'
4166
- },
4167
- onClick: function onClick(e) {
4168
- handleClose(e);
4169
- setVisibile(false);
4170
- },
4171
- children: t('basket.priceOverview.actions.hideOrder')
4172
- }), /*#__PURE__*/jsx(MenuItem, {
4173
- onClick: function onClick(e) {
4174
- handleClose(e);
4175
- openInfo();
4176
- },
4177
- children: t('basket.priceOverview.actions.openInfo')
4178
- })]
4179
- })
4162
+ })]
4163
+ }), /*#__PURE__*/jsx(Popper, {
4164
+ sx: {
4165
+ zIndex: 1
4166
+ },
4167
+ open: open,
4168
+ anchorEl: anchorRef.current,
4169
+ role: undefined,
4170
+ transition: true,
4171
+ disablePortal: true,
4172
+ children: function children(_ref2) {
4173
+ var TransitionProps = _ref2.TransitionProps,
4174
+ placement = _ref2.placement;
4175
+ return /*#__PURE__*/jsx(Grow, _objectSpread$w(_objectSpread$w({}, TransitionProps), {}, {
4176
+ style: {
4177
+ transformOrigin: placement === 'bottom' ? 'right top' : 'right bottom'
4178
+ },
4179
+ children: /*#__PURE__*/jsx(Paper, {
4180
+ children: /*#__PURE__*/jsx(ClickAwayListener, {
4181
+ onClickAway: handleClose,
4182
+ children: /*#__PURE__*/jsxs(MenuList, {
4183
+ autoFocusItem: open,
4184
+ id: "menu-list-grow",
4185
+ onKeyDown: handleListKeyDown,
4186
+ children: [/*#__PURE__*/jsx(MenuItem, {
4187
+ style: {
4188
+ display: !visibile ? 'block' : 'none'
4189
+ },
4190
+ onClick: function onClick(e) {
4191
+ handleClose(e);
4192
+ setVisibile(true);
4193
+ },
4194
+ children: t('basket.priceOverview.actions.showOrder')
4195
+ }), /*#__PURE__*/jsx(MenuItem, {
4196
+ style: {
4197
+ display: visibile ? 'block' : 'none'
4198
+ },
4199
+ onClick: function onClick(e) {
4200
+ handleClose(e);
4201
+ setVisibile(false);
4202
+ },
4203
+ children: t('basket.priceOverview.actions.hideOrder')
4204
+ }), /*#__PURE__*/jsx(MenuItem, {
4205
+ onClick: function onClick(e) {
4206
+ handleClose(e);
4207
+ openInfo();
4208
+ },
4209
+ children: t('basket.priceOverview.actions.openInfo')
4210
+ })]
4180
4211
  })
4181
4212
  })
4182
- }));
4183
- }
4184
- })]
4185
- })
4213
+ })
4214
+ }));
4215
+ }
4216
+ })]
4186
4217
  });
4187
4218
  }
4188
4219
 
@@ -5319,8 +5350,7 @@ function Step2ClientData(_ref) {
5319
5350
  function StatusMenu(_ref) {
5320
5351
  var visibleStatus = _ref.visibleStatus,
5321
5352
  status = _ref.status,
5322
- setStatus = _ref.setStatus,
5323
- productSaved = _ref.productSaved;
5353
+ setStatus = _ref.setStatus;
5324
5354
  var handleClick = function handleClick(item) {
5325
5355
  setStatus(item);
5326
5356
  };
@@ -5345,7 +5375,6 @@ function StatusMenu(_ref) {
5345
5375
  onClick: function onClick() {
5346
5376
  return handleClick(item);
5347
5377
  },
5348
- disabled: productSaved && item !== 'BASE_CONFIGURATION',
5349
5378
  children: t('data.' + item, item)
5350
5379
  }, item);
5351
5380
  })
@@ -5746,7 +5775,7 @@ var HQ_RenderingTypeSource = [{
5746
5775
 
5747
5776
  function ownKeys$s(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5748
5777
  function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5749
- function useProduct(basket) {
5778
+ function useProduct() {
5750
5779
  var _useState = useState(undefined),
5751
5780
  _useState2 = _slicedToArray(_useState, 2),
5752
5781
  currentProduct = _useState2[0],
@@ -5754,7 +5783,7 @@ function useProduct(basket) {
5754
5783
  var _useDivaCore = useDivaCore(),
5755
5784
  productHandler = _useDivaCore.handler.productHandler;
5756
5785
  var loadProduct = /*#__PURE__*/function () {
5757
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
5786
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(basket) {
5758
5787
  var _myProduct$baseData$p;
5759
5788
  var myProduct;
5760
5789
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -5763,7 +5792,8 @@ function useProduct(basket) {
5763
5792
  _context.next = 2;
5764
5793
  return productHandler.loadProducts({
5765
5794
  basket: new BasketData(basket),
5766
- divaNr: basket.DivaNr
5795
+ productData: currentProduct !== null && currentProduct !== void 0 ? currentProduct : undefined,
5796
+ getUniqueNewDivaNr: true
5767
5797
  });
5768
5798
  case 2:
5769
5799
  myProduct = _context.sent;
@@ -5777,13 +5807,10 @@ function useProduct(basket) {
5777
5807
  }
5778
5808
  }, _callee);
5779
5809
  }));
5780
- return function loadProduct() {
5810
+ return function loadProduct(_x) {
5781
5811
  return _ref.apply(this, arguments);
5782
5812
  };
5783
5813
  }();
5784
- useEffect(function () {
5785
- loadProduct();
5786
- }, [basket]);
5787
5814
  var saveProduct = /*#__PURE__*/function () {
5788
5815
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(favourite) {
5789
5816
  var _myproduct$0$parent;
@@ -5805,17 +5832,16 @@ function useProduct(basket) {
5805
5832
  break;
5806
5833
  }
5807
5834
  _context2.next = 7;
5808
- return productHandler.apiMarkAsFavorite(currentProduct._id, basket.OrganizationId);
5835
+ return productHandler.apiMarkAsFavorite(currentProduct._id, currentProduct.organizationId);
5809
5836
  case 7:
5810
5837
  setCurrentProduct(currentProduct);
5811
- basket.DocumentVersion = basket.DocumentVersion + 1;
5812
- case 9:
5838
+ case 8:
5813
5839
  case "end":
5814
5840
  return _context2.stop();
5815
5841
  }
5816
5842
  }, _callee2);
5817
5843
  }));
5818
- return function saveProduct(_x) {
5844
+ return function saveProduct(_x2) {
5819
5845
  return _ref2.apply(this, arguments);
5820
5846
  };
5821
5847
  }();
@@ -5853,12 +5879,204 @@ function styleInject(css, ref) {
5853
5879
  }
5854
5880
  }
5855
5881
 
5856
- var paperContainer = "paperContainer-9grpT";
5857
- var hqMediaHeaderContainer = "hqMediaHeaderContainer-PlXdo";
5858
- var hqmediaContainer = "hqmediaContainer-sBjym";
5859
- var hqMediaTitle = "hqMediaTitle-ugda8";
5860
- var css_248z$a = ".paperContainer-9grpT {\n height: 68vh;\n margin-left: 50px;\n margin-right: 50px;\n margin-top: 10px;\n}\n\n.hqMediaHeaderContainer-PlXdo {\n display: flex;\n justify-content: space-between;\n padding-left: 15px;\n}\n\n.hqmediaContainer-sBjym {\n height: 90%;\n border: 1px solid rgb(224, 224, 224);\n}\n.hqMediaTitle-ugda8 {\n font-size: 20px;\n font-weight: normal;\n color: #333;\n padding: 10px 0;\n}\n";
5861
- styleInject(css_248z$a);
5882
+ var container$1 = "container-3kPdM";
5883
+ var mainStack = "mainStack-1xE4c";
5884
+ var productContainer = "productContainer-JcVn0";
5885
+ var productNameContainer = "productNameContainer-35ZZc";
5886
+ var productNameField = "productNameField-hPNbW";
5887
+ var productImage = "productImage-Vn0l-";
5888
+ var hidden$1 = "hidden-zZ8fS";
5889
+ var productDetailsContainer = "productDetailsContainer-5c-V9";
5890
+ var productDetailRow = "productDetailRow-9KtDG";
5891
+ var productDetailLabel = "productDetailLabel-t7Mn7";
5892
+ var favoriteContainer = "favoriteContainer-ka7lC";
5893
+ var favoriteCheckbox = "favoriteCheckbox-JYnH-";
5894
+ var actionButtonContainer = "actionButtonContainer-WfYfD";
5895
+ var productDetailsPaper = "productDetailsPaper-VsWfW";
5896
+ var productDetailText = "productDetailText-wkk6U";
5897
+ var productDetailDivider = "productDetailDivider-C1Cdh";
5898
+ var alertTitle = "alertTitle-Bm1NO";
5899
+ var css_248z$b = ".container-3kPdM {\n padding-bottom: 10px;\n margin-top: 2px;\n}\n\n.mainStack-1xE4c {\n width: 100%;\n margin-top: 16px;\n}\n\n.productContainer-JcVn0 {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding-bottom: 16px;\n width: 100%;\n}\n\n.productNameContainer-35ZZc {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n width: 100%;\n}\n\n.productNameField-hPNbW {\n margin: 8px;\n width: 70%;\n}\n\n.productImage-Vn0l- {\n width: 70%;\n display: block;\n}\n\n.productImage-Vn0l-.hidden-zZ8fS {\n display: none;\n}\n\n.productDetailsContainer-5c-V9 {\n margin: 20px;\n max-height: 100%;\n}\n\n.productDetailRow-9KtDG {\n display: flex;\n}\n\n.productDetailLabel-t7Mn7 {\n font-weight: 600;\n width: 40%;\n}\n\n.favoriteContainer-ka7lC {\n display: flex;\n align-items: center;\n margin-top: 16px;\n}\n.favoriteCheckbox-JYnH- {\n margin-left: 10px;\n}\n\n.actionButtonContainer-WfYfD {\n display: flex;\n gap: 16px;\n margin-top: 16px;\n justify-content: space-between;\n}\n\n.productDetailsPaper-VsWfW {\n width: 100%;\n max-height: 60vh;\n overflow: auto;\n}\n\n.productDetailText-wkk6U {\n white-space: pre-wrap;\n}\n\n.productDetailDivider-C1Cdh {\n margin-bottom: 16px;\n}\n\n.alertTitle-Bm1NO {\n font-weight: 600;\n}\n\n/* Responsive styles */\n@media (min-width: 900px) {\n .productDetailsPaper-VsWfW {\n width: 60%;\n }\n}\n";
5900
+ styleInject(css_248z$b);
5901
+
5902
+ function Step3Product(_ref) {
5903
+ var _currentProduct$short, _currentProduct$techn;
5904
+ var currentProduct = _ref.currentProduct,
5905
+ startWithEmptyBasket = _ref.startWithEmptyBasket,
5906
+ handleSave = _ref.handleSave;
5907
+ var _useTranslation = useTranslation(),
5908
+ t = _useTranslation.t;
5909
+ var _useState = useState(false),
5910
+ _useState2 = _slicedToArray(_useState, 2),
5911
+ imgIsLoaded = _useState2[0],
5912
+ setImgIsLoaded = _useState2[1];
5913
+ var _useState3 = useState(false),
5914
+ _useState4 = _slicedToArray(_useState3, 2),
5915
+ isFavorite = _useState4[0];
5916
+ _useState4[1];
5917
+ var _useState5 = useState(false),
5918
+ _useState6 = _slicedToArray(_useState5, 2),
5919
+ editProductName = _useState6[0],
5920
+ setEditProductName = _useState6[1];
5921
+ var _useState7 = useState((_currentProduct$short = currentProduct === null || currentProduct === void 0 ? void 0 : currentProduct.shortDescription) !== null && _currentProduct$short !== void 0 ? _currentProduct$short : ''),
5922
+ _useState8 = _slicedToArray(_useState7, 2),
5923
+ text = _useState8[0],
5924
+ setText = _useState8[1];
5925
+ useEffect(function () {
5926
+ setText(currentProduct === null || currentProduct === void 0 ? void 0 : currentProduct.shortDescription);
5927
+ }, [currentProduct]);
5928
+ var handleEditProductName = function handleEditProductName() {
5929
+ setEditProductName(true);
5930
+ };
5931
+ var handleBlur = function handleBlur() {
5932
+ setEditProductName(false);
5933
+ };
5934
+ var handleChangeProductName = function handleChangeProductName(event) {
5935
+ currentProduct.shortDescription = event.target.value;
5936
+ setText(event.target.value);
5937
+ };
5938
+ return /*#__PURE__*/jsxs(Box, {
5939
+ className: container$1,
5940
+ children: [/*#__PURE__*/jsx(InfoAlert$1, {
5941
+ type: "info",
5942
+ content: /*#__PURE__*/jsx(Fragment, {
5943
+ children: t('basket.checkout.step4.info')
5944
+ })
5945
+ }), /*#__PURE__*/jsxs(Stack, {
5946
+ direction: {
5947
+ xs: 'column',
5948
+ md: 'row'
5949
+ },
5950
+ spacing: 2,
5951
+ className: mainStack,
5952
+ children: [/*#__PURE__*/jsxs(Box, {
5953
+ sx: {
5954
+ width: {
5955
+ xs: '100%',
5956
+ md: '40%'
5957
+ }
5958
+ },
5959
+ children: [/*#__PURE__*/jsx(Paper$1, {
5960
+ variant: "outlined",
5961
+ children: /*#__PURE__*/jsxs("div", {
5962
+ className: productContainer,
5963
+ children: [/*#__PURE__*/jsxs("div", {
5964
+ className: productNameContainer,
5965
+ children: [editProductName ? /*#__PURE__*/jsx(TextField, {
5966
+ variant: "standard",
5967
+ value: text,
5968
+ onChange: handleChangeProductName,
5969
+ onBlur: handleBlur,
5970
+ autoFocus: true,
5971
+ className: productNameField
5972
+ }) : /*#__PURE__*/jsx("h2", {
5973
+ children: text
5974
+ }), !editProductName && /*#__PURE__*/jsx(IconButton$1, {
5975
+ size: "small",
5976
+ onClick: handleEditProductName,
5977
+ children: /*#__PURE__*/jsx(EditIcon, {
5978
+ fontSize: "small"
5979
+ })
5980
+ })]
5981
+ }), /*#__PURE__*/jsx("img", {
5982
+ src: currentProduct === null || currentProduct === void 0 ? void 0 : currentProduct.image,
5983
+ className: "".concat(productImage, " ").concat(!imgIsLoaded ? hidden$1 : ''),
5984
+ alt: "Product",
5985
+ onLoad: function onLoad() {
5986
+ return setImgIsLoaded(true);
5987
+ }
5988
+ })]
5989
+ })
5990
+ }), /*#__PURE__*/jsx(Box, {
5991
+ className: favoriteContainer,
5992
+ children: /*#__PURE__*/jsx(InfoAlert$1, {
5993
+ type: "warning",
5994
+ icon: /*#__PURE__*/jsx(StarBorderIcon, {}),
5995
+ title: t('basket.checkout.step4.favorite'),
5996
+ content: /*#__PURE__*/jsxs(Fragment, {
5997
+ children: [/*#__PURE__*/jsx(Typography, {
5998
+ children: t('basket.checkout.step4.favoriteinfo')
5999
+ }), /*#__PURE__*/jsx(FormControlLabel$1, {
6000
+ control: /*#__PURE__*/jsx(Checkbox$1, {
6001
+ className: favoriteCheckbox
6002
+ }),
6003
+ label: t('basket.checkout.step4.savemsg')
6004
+ })]
6005
+ })
6006
+ })
6007
+ }), /*#__PURE__*/jsxs(Box, {
6008
+ className: actionButtonContainer,
6009
+ children: [/*#__PURE__*/jsx(Button$1, {
6010
+ variant: "contained",
6011
+ onClick: function onClick() {
6012
+ return handleSave(undefined, false, isFavorite);
6013
+ },
6014
+ children: t('basket.checkout.step4.saveproduct')
6015
+ }), /*#__PURE__*/jsx(Button$1, {
6016
+ onClick: startWithEmptyBasket,
6017
+ variant: "outlined",
6018
+ children: t('basket.checkout.step4.cancel')
6019
+ })]
6020
+ })]
6021
+ }), /*#__PURE__*/jsx(Paper$1, {
6022
+ variant: "outlined",
6023
+ className: productDetailsPaper,
6024
+ children: /*#__PURE__*/jsxs("div", {
6025
+ className: productDetailsContainer,
6026
+ children: [/*#__PURE__*/jsx("h2", {
6027
+ children: t('basket.checkout.step3.productdetails')
6028
+ }), currentProduct === null || currentProduct === void 0 || (_currentProduct$techn = currentProduct.technicalDescription) === null || _currentProduct$techn === void 0 ? void 0 : _currentProduct$techn.split('\n').map(function (line, index) {
6029
+ var _currentProduct$techn2;
6030
+ var formattedLine = line.trim().endsWith(',') ? line.slice(0, -1) : line;
6031
+ var _formattedLine$split = formattedLine.split(':'),
6032
+ _formattedLine$split2 = _toArray(_formattedLine$split),
6033
+ firstPart = _formattedLine$split2[0],
6034
+ rest = _formattedLine$split2.slice(1);
6035
+ var formattedFirstPart = firstPart.trim();
6036
+ var formattedRest = rest.join(':').trim();
6037
+ return /*#__PURE__*/jsxs("div", {
6038
+ children: [/*#__PURE__*/jsx(Typography, {
6039
+ sx: {
6040
+ fontSize: {
6041
+ xs: '12px',
6042
+ md: '16px'
6043
+ }
6044
+ },
6045
+ className: productDetailText,
6046
+ children: /*#__PURE__*/jsxs(Box, {
6047
+ className: productDetailRow,
6048
+ children: [/*#__PURE__*/jsxs("span", {
6049
+ className: productDetailLabel,
6050
+ children: [formattedFirstPart, ":"]
6051
+ }), /*#__PURE__*/jsx("span", {
6052
+ children: formattedRest
6053
+ })]
6054
+ })
6055
+ }), index < (currentProduct === null || currentProduct === void 0 || (_currentProduct$techn2 = currentProduct.technicalDescription) === null || _currentProduct$techn2 === void 0 ? void 0 : _currentProduct$techn2.split('\n').length) - 1 && /*#__PURE__*/jsx(Divider$1, {
6056
+ className: productDetailDivider
6057
+ })]
6058
+ }, index);
6059
+ })]
6060
+ })
6061
+ })]
6062
+ })]
6063
+ });
6064
+ }
6065
+ function InfoAlert$1(_ref2) {
6066
+ var type = _ref2.type,
6067
+ content = _ref2.content,
6068
+ title = _ref2.title,
6069
+ icon = _ref2.icon;
6070
+ return /*#__PURE__*/jsxs(Alert, {
6071
+ variant: "outlined",
6072
+ severity: type,
6073
+ icon: icon,
6074
+ children: [title && /*#__PURE__*/jsx(AlertTitle, {
6075
+ className: alertTitle,
6076
+ children: title
6077
+ }), content]
6078
+ });
6079
+ }
5862
6080
 
5863
6081
  function ownKeys$r(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5864
6082
  function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -5875,23 +6093,25 @@ function CheckOut(_ref) {
5875
6093
  updateBasket = _ref.updateBasket,
5876
6094
  statusArray = _ref.statusArray,
5877
6095
  configSaveButtons = _ref.configSaveButtons,
5878
- gdpr = _ref.gdpr;
6096
+ gdpr = _ref.gdpr,
6097
+ setCurrentProduct = _ref.setCurrentProduct,
6098
+ setProductSaved = _ref.setProductSaved;
5879
6099
  var _useState = useState(false),
5880
6100
  _useState2 = _slicedToArray(_useState, 2),
5881
6101
  isSaving = _useState2[0],
5882
6102
  setIsSaving = _useState2[1];
5883
6103
  var _useState3 = useState(false),
5884
6104
  _useState4 = _slicedToArray(_useState3, 2),
5885
- isSaved = _useState4[0],
5886
- setIsSaved = _useState4[1];
6105
+ isSaved = _useState4[0];
6106
+ _useState4[1];
5887
6107
  var _useState5 = useState(false),
5888
6108
  _useState6 = _slicedToArray(_useState5, 2),
5889
- showRenderJobs = _useState6[0],
5890
- setShowRenderJobs = _useState6[1];
5891
- var _useState7 = useState(false),
5892
- _useState8 = _slicedToArray(_useState7, 2),
5893
- basket3DExportChecked = _useState8[0],
5894
- setBasket3DExportChecked = _useState8[1];
6109
+ basket3DExportChecked = _useState6[0],
6110
+ setBasket3DExportChecked = _useState6[1];
6111
+ var _useProduct = useProduct(),
6112
+ currentProduct = _useProduct.currentProduct,
6113
+ loadProduct = _useProduct.loadProduct,
6114
+ saveProduct = _useProduct.saveProduct;
5895
6115
  var _useTranslation = useTranslation(),
5896
6116
  t = _useTranslation.t;
5897
6117
  var _useSellerState = useSellerState(),
@@ -5901,15 +6121,10 @@ function CheckOut(_ref) {
5901
6121
  userHasPermission = _useDivaCore$actions.userHasPermission,
5902
6122
  toggleLoading = _useDivaCore$actions.toggleLoading,
5903
6123
  openModal = _useDivaCore$actions.openModal,
5904
- productHandler = _useDivaCore.handler.productHandler,
5905
6124
  _useDivaCore$state = _useDivaCore.state,
5906
6125
  apiConfig = _useDivaCore$state.apiConfig,
5907
6126
  jwt = _useDivaCore$state.jwt,
5908
6127
  organization = _useDivaCore$state.organization;
5909
- var _useProduct = useProduct(basket),
5910
- currentProduct = _useProduct.currentProduct,
5911
- loadProduct = _useProduct.loadProduct,
5912
- saveProduct = _useProduct.saveProduct;
5913
6128
  useEffect(function () {
5914
6129
  var fetchProduct = /*#__PURE__*/function () {
5915
6130
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
@@ -5921,7 +6136,7 @@ function CheckOut(_ref) {
5921
6136
  break;
5922
6137
  }
5923
6138
  _context.next = 3;
5924
- return loadProduct();
6139
+ return loadProduct(basket);
5925
6140
  case 3:
5926
6141
  case "end":
5927
6142
  return _context.stop();
@@ -5933,75 +6148,50 @@ function CheckOut(_ref) {
5933
6148
  };
5934
6149
  }();
5935
6150
  fetchProduct();
5936
- setShowRenderJobs(false);
5937
6151
  }, [status]);
5938
- var saveProductAndShowHqMedia = /*#__PURE__*/function () {
5939
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
5940
- var myProduct;
5941
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
5942
- while (1) switch (_context2.prev = _context2.next) {
5943
- case 0:
5944
- _context2.next = 2;
5945
- return loadProduct();
5946
- case 2:
5947
- myProduct = _context2.sent;
5948
- if (!(!myProduct || myProduct.isNew)) {
5949
- _context2.next = 11;
5950
- break;
5951
- }
5952
- toggleLoading('saveProduct');
5953
- _context2.next = 7;
5954
- return saveProduct();
5955
- case 7:
5956
- toggleLoading('saveProduct');
5957
- setShowRenderJobs(true);
5958
- _context2.next = 12;
5959
- break;
5960
- case 11:
5961
- setShowRenderJobs(true);
5962
- case 12:
5963
- case "end":
5964
- return _context2.stop();
5965
- }
5966
- }, _callee2);
5967
- }));
5968
- return function saveProductAndShowHqMedia() {
5969
- return _ref3.apply(this, arguments);
5970
- };
5971
- }();
6152
+ useEffect(function () {
6153
+ var fetchProduct = /*#__PURE__*/function () {
6154
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
6155
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
6156
+ while (1) switch (_context2.prev = _context2.next) {
6157
+ case 0:
6158
+ if (currentProduct) {
6159
+ setCurrentProduct(currentProduct);
6160
+ }
6161
+ case 1:
6162
+ case "end":
6163
+ return _context2.stop();
6164
+ }
6165
+ }, _callee2);
6166
+ }));
6167
+ return function fetchProduct() {
6168
+ return _ref3.apply(this, arguments);
6169
+ };
6170
+ }();
6171
+ fetchProduct();
6172
+ }, [currentProduct]);
5972
6173
  var handleSave = useCallback(/*#__PURE__*/function () {
5973
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(openPDF, sendMail, favourite, hqMedia) {
6174
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(openPDF, sendMail, isFav) {
5974
6175
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
5975
6176
  while (1) switch (_context4.prev = _context4.next) {
5976
6177
  case 0:
5977
6178
  if (!(status === 'BASE_CONFIGURATION')) {
5978
- _context4.next = 13;
5979
- break;
5980
- }
5981
- if (!hqMedia) {
5982
- _context4.next = 6;
6179
+ _context4.next = 8;
5983
6180
  break;
5984
6181
  }
6182
+ toggleLoading('saveProduct');
5985
6183
  _context4.next = 4;
5986
- return saveProductAndShowHqMedia();
6184
+ return saveProduct(isFav);
5987
6185
  case 4:
5988
- _context4.next = 11;
5989
- break;
5990
- case 6:
5991
- toggleLoading('saveProduct');
5992
- _context4.next = 9;
5993
- return saveProduct(favourite);
5994
- case 9:
5995
6186
  toggleLoading('saveProduct');
5996
6187
  openModal({
5997
6188
  title: t('basket.checkout.productsavedtitle'),
5998
6189
  accept: true,
5999
6190
  text: t('basket.checkout.productsavedtext')
6000
6191
  });
6001
- case 11:
6002
- setIsSaved(true);
6192
+ setProductSaved(true);
6003
6193
  return _context4.abrupt("return");
6004
- case 13:
6194
+ case 8:
6005
6195
  if (!isSaving) {
6006
6196
  setIsSaving(true);
6007
6197
  onClickSave(openPDF, sendMail).then(/*#__PURE__*/function () {
@@ -6035,20 +6225,20 @@ function CheckOut(_ref) {
6035
6225
  }
6036
6226
  }, _callee3);
6037
6227
  }));
6038
- return function (_x5) {
6228
+ return function (_x4) {
6039
6229
  return _ref5.apply(this, arguments);
6040
6230
  };
6041
6231
  }())["catch"](function () {
6042
6232
  return setIsSaving(false);
6043
6233
  });
6044
6234
  }
6045
- case 14:
6235
+ case 9:
6046
6236
  case "end":
6047
6237
  return _context4.stop();
6048
6238
  }
6049
6239
  }, _callee4);
6050
6240
  }));
6051
- return function (_x, _x2, _x3, _x4) {
6241
+ return function (_x, _x2, _x3) {
6052
6242
  return _ref4.apply(this, arguments);
6053
6243
  };
6054
6244
  }(), [isSaving, onClickSave, basket3DExportChecked]);
@@ -6058,13 +6248,6 @@ function CheckOut(_ref) {
6058
6248
  basket[key] = data[key];
6059
6249
  }
6060
6250
  };
6061
- var onErrorHqMedia = function onErrorHqMedia(error) {
6062
- openModal({
6063
- title: t('Error'),
6064
- accept: true,
6065
- text: t('basket.checkout.errorhqmediatext')
6066
- });
6067
- };
6068
6251
 
6069
6252
  // for LEAFLET don't show printOptions, if there are any configured.
6070
6253
  var finalSchema = _objectSpread$r(_objectSpread$r({}, uiSchema), {}, {
@@ -6103,59 +6286,11 @@ function CheckOut(_ref) {
6103
6286
  productSaved: isSaved
6104
6287
  })]
6105
6288
  }), /*#__PURE__*/jsxs("div", {
6106
- children: [showRenderJobs && /*#__PURE__*/jsxs(Paper$1, {
6107
- elevation: 4,
6108
- className: paperContainer,
6109
- children: [/*#__PURE__*/jsxs("div", {
6110
- className: hqMediaHeaderContainer,
6111
- children: [/*#__PURE__*/jsx("div", {
6112
- className: hqMediaTitle,
6113
- children: "HQ Medien"
6114
- }), /*#__PURE__*/jsx(Button$1, {
6115
- onClick: function onClick() {
6116
- return setShowRenderJobs(false);
6117
- },
6118
- children: /*#__PURE__*/jsx(CloseIcon, {})
6119
- })]
6120
- }), /*#__PURE__*/jsx("div", {
6121
- className: hqmediaContainer,
6122
- children: /*#__PURE__*/jsx(OrderEntry, {
6123
- variantData: [],
6124
- baseData: currentProduct,
6125
- basketData: basket,
6126
- onSave: function onSave() {
6127
- return productHandler.saveProducts({
6128
- products: [currentProduct]
6129
- }).then(function (r) {
6130
- return !!r.length;
6131
- });
6132
- },
6133
- saved: true,
6134
- onError: function onError() {
6135
- return onErrorHqMedia;
6136
- }
6137
- })
6138
- })]
6139
- }), status === 'BASE_CONFIGURATION' && !showRenderJobs && /*#__PURE__*/jsx(Fragment, {
6140
- children: /*#__PURE__*/jsxs("div", {
6141
- style: {
6142
- margin: '1rem',
6143
- marginLeft: '150px',
6144
- display: 'flex',
6145
- alignItems: 'center',
6146
- gap: 25
6147
- },
6148
- children: [/*#__PURE__*/jsx("img", {
6149
- src: currentProduct === null || currentProduct === void 0 ? void 0 : currentProduct.image,
6150
- height: 250
6151
- }), /*#__PURE__*/jsx("div", {
6152
- style: {
6153
- whiteSpace: 'pre-wrap'
6154
- },
6155
- children: currentProduct === null || currentProduct === void 0 ? void 0 : currentProduct.technicalDescription
6156
- })]
6157
- })
6158
- }), status !== 'BASE_CONFIGURATION' && !showRenderJobs && /*#__PURE__*/jsxs(Fragment, {
6289
+ children: [status === 'BASE_CONFIGURATION' && /*#__PURE__*/jsx(Step3Product, {
6290
+ startWithEmptyBasket: startWithEmptyBasket,
6291
+ currentProduct: currentProduct,
6292
+ handleSave: handleSave
6293
+ }), status !== 'BASE_CONFIGURATION' && /*#__PURE__*/jsxs(Fragment, {
6159
6294
  children: [/*#__PURE__*/jsx("div", {
6160
6295
  style: {
6161
6296
  margin: '1rem',
@@ -6172,7 +6307,7 @@ function CheckOut(_ref) {
6172
6307
  }), !!renderService && permissionAnyHqRenderBox && (catalogData === null || catalogData === void 0 ? void 0 : catalogData[0].has3D) && /*#__PURE__*/jsx(HqRenderBox, {
6173
6308
  basket: basket,
6174
6309
  config: renderService
6175
- }), (catalogData === null || catalogData === void 0 ? void 0 : catalogData[0].has3D) && (catalogData === null || catalogData === void 0 ? void 0 : catalogData[0].arReady) && organization.settings.enable3DExport && /*#__PURE__*/jsxs("div", {
6310
+ }), (catalogData === null || catalogData === void 0 ? void 0 : catalogData[0].has3D) && organization.settings.enable3DExport && /*#__PURE__*/jsxs("div", {
6176
6311
  style: {
6177
6312
  marginLeft: '50px',
6178
6313
  width: '700px'
@@ -6200,7 +6335,7 @@ function CheckOut(_ref) {
6200
6335
  })
6201
6336
  })]
6202
6337
  })]
6203
- }), !showRenderJobs && /*#__PURE__*/jsx(SaveButtonsGroup, {
6338
+ }), status !== 'BASE_CONFIGURATION' && /*#__PURE__*/jsx(SaveButtonsGroup, {
6204
6339
  orderEmpty: !basket.OrderSets || basket.OrderSets.length == 0 || gdpr && !isEmpty(basket === null || basket === void 0 ? void 0 : basket.Client) && !basket.Gdpr,
6205
6340
  onClickSave: handleSave,
6206
6341
  startWithEmptyBasket: startWithEmptyBasket,
@@ -6464,7 +6599,10 @@ function Step3Checkout(_ref) {
6464
6599
  status = _ref.status,
6465
6600
  setStatus = _ref.setStatus,
6466
6601
  statusArray = _ref.statusArray,
6467
- config = _ref.config;
6602
+ config = _ref.config,
6603
+ currentProduct = _ref.currentProduct,
6604
+ setCurrentProduct = _ref.setCurrentProduct,
6605
+ setProductSaved = _ref.setProductSaved;
6468
6606
  var _useDivaCore = useDivaCore(),
6469
6607
  organization = _useDivaCore.state.organization;
6470
6608
  return /*#__PURE__*/jsx(CheckOut, {
@@ -6479,7 +6617,98 @@ function Step3Checkout(_ref) {
6479
6617
  updateBasket: updateBasket,
6480
6618
  renderService: config === null || config === void 0 || (_config$checkout3 = config.checkout) === null || _config$checkout3 === void 0 ? void 0 : _config$checkout3.renderService,
6481
6619
  configSaveButtons: (config === null || config === void 0 || (_config$checkout4 = config.checkout) === null || _config$checkout4 === void 0 ? void 0 : _config$checkout4.saveButtons) || ['SAVE', 'SAVE_AND_OPEN', 'SAVE_AND_SEND', 'NEW'],
6482
- gdpr: config === null || config === void 0 || (_config$checkout5 = config.checkout) === null || _config$checkout5 === void 0 ? void 0 : _config$checkout5.checkGdpr
6620
+ gdpr: config === null || config === void 0 || (_config$checkout5 = config.checkout) === null || _config$checkout5 === void 0 ? void 0 : _config$checkout5.checkGdpr,
6621
+ currentProduct: currentProduct,
6622
+ setCurrentProduct: setCurrentProduct,
6623
+ setProductSaved: setProductSaved
6624
+ });
6625
+ }
6626
+
6627
+ var infocontainer = "infocontainer-ir9gv";
6628
+ var css_248z$a = ".infocontainer-ir9gv {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n";
6629
+ styleInject(css_248z$a);
6630
+
6631
+ function Step4Checkout(_ref) {
6632
+ var currentProduct = _ref.currentProduct,
6633
+ basket = _ref.basket,
6634
+ productSaved = _ref.productSaved,
6635
+ is3dReady = _ref.is3dReady;
6636
+ var _useTranslation = useTranslation(),
6637
+ t = _useTranslation.t;
6638
+ var _useDivaCore = useDivaCore(),
6639
+ openModal = _useDivaCore.actions.openModal,
6640
+ productHandler = _useDivaCore.handler.productHandler;
6641
+ var onErrorHqMedia = function onErrorHqMedia(error) {
6642
+ openModal({
6643
+ title: t('Error'),
6644
+ accept: true,
6645
+ text: t('basket.checkout.errorhqmediatext')
6646
+ });
6647
+ };
6648
+ if (!is3dReady) {
6649
+ return /*#__PURE__*/jsx("div", {
6650
+ className: infocontainer,
6651
+ children: /*#__PURE__*/jsx(InfoAlert, {
6652
+ title: t('basket.checkout.step4.errortitle'),
6653
+ content: /*#__PURE__*/jsx(Fragment, {
6654
+ children: t('basket.checkout.step4.error3d')
6655
+ })
6656
+ })
6657
+ });
6658
+ }
6659
+ if (!productSaved) {
6660
+ return /*#__PURE__*/jsx("div", {
6661
+ className: infocontainer,
6662
+ children: /*#__PURE__*/jsx(InfoAlert, {
6663
+ title: t('basket.checkout.step4.errortitle'),
6664
+ content: /*#__PURE__*/jsx(Fragment, {
6665
+ children: t('basket.checkout.step4.productNotSaved')
6666
+ })
6667
+ })
6668
+ });
6669
+ }
6670
+ return /*#__PURE__*/jsxs(Box, {
6671
+ sx: {
6672
+ display: 'flex',
6673
+ flexDirection: 'column',
6674
+ gap: 2,
6675
+ height: '100%'
6676
+ },
6677
+ children: [/*#__PURE__*/jsx(InfoAlert, {
6678
+ content: /*#__PURE__*/jsxs(Fragment, {
6679
+ children: [t('basket.checkout.step4.hqmediainfo'), ":", ' ', /*#__PURE__*/jsx("a", {
6680
+ href: "https://www.diva-portal.de/digitalisierungs-service",
6681
+ target: "_blank",
6682
+ children: "www.diva-portal.de/digitalisierungs-service"
6683
+ })]
6684
+ })
6685
+ }), /*#__PURE__*/jsx(OrderEntry, {
6686
+ variantData: [],
6687
+ baseData: currentProduct,
6688
+ basketData: basket,
6689
+ onSave: function onSave() {
6690
+ return productHandler.saveProducts({
6691
+ products: [currentProduct]
6692
+ }).then(function (r) {
6693
+ return !!r.length;
6694
+ });
6695
+ },
6696
+ saved: true,
6697
+ onError: function onError() {
6698
+ return onErrorHqMedia;
6699
+ }
6700
+ })]
6701
+ });
6702
+ }
6703
+ function InfoAlert(_ref2) {
6704
+ var title = _ref2.title,
6705
+ content = _ref2.content;
6706
+ return /*#__PURE__*/jsxs(Alert$1, {
6707
+ variant: "outlined",
6708
+ severity: "info",
6709
+ children: [title && /*#__PURE__*/jsx(AlertTitle$1, {
6710
+ children: title
6711
+ }), content]
6483
6712
  });
6484
6713
  }
6485
6714
 
@@ -6487,7 +6716,7 @@ function ownKeys$p(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
6487
6716
  function _objectSpread$p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$p(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6488
6717
  var LOG$4 = getLogger('SellerBasket', 'Basket');
6489
6718
  function Basket(_ref) {
6490
- var _configurationData$Ch5;
6719
+ var _configurationData$Ch5, _currentBasket$OrderS5;
6491
6720
  var divaNr = _ref.divaNr,
6492
6721
  basket = _ref.basket,
6493
6722
  checkBasket = _ref.checkBasket;
@@ -6496,6 +6725,14 @@ function Basket(_ref) {
6496
6725
  _useState2 = _slicedToArray(_useState, 2),
6497
6726
  actBasketPage = _useState2[0],
6498
6727
  setActBasketPage = _useState2[1];
6728
+ var _useState3 = useState(),
6729
+ _useState4 = _slicedToArray(_useState3, 2),
6730
+ currentProduct = _useState4[0],
6731
+ setCurrentProduct = _useState4[1];
6732
+ var _useState5 = useState(false),
6733
+ _useState6 = _slicedToArray(_useState5, 2),
6734
+ productSaved = _useState6[0],
6735
+ setProductSaved = _useState6[1];
6499
6736
  var _useTranslation = useTranslation(),
6500
6737
  t = _useTranslation.t,
6501
6738
  i18n = _useTranslation.i18n;
@@ -6701,6 +6938,7 @@ function Basket(_ref) {
6701
6938
  message: t('basket.checkout.pdfqr'),
6702
6939
  type: 'big',
6703
6940
  clickable: true,
6941
+ qrCodeSize: 312,
6704
6942
  autoHideDuration: (_configurationData$Ch3 = configurationData === null || configurationData === void 0 || (_configurationData$Ch4 = configurationData.Checkout) === null || _configurationData$Ch4 === void 0 ? void 0 : _configurationData$Ch4.pdfQRAutoHideDuration) !== null && _configurationData$Ch3 !== void 0 ? _configurationData$Ch3 : 1000 * 60 * 2
6705
6943
  });
6706
6944
  }
@@ -6868,7 +7106,7 @@ function Basket(_ref) {
6868
7106
  config: configurationData === null || configurationData === void 0 ? void 0 : configurationData.Checkout,
6869
7107
  status: statusRef.current,
6870
7108
  documentVersion: currentBasket.getDocumentVersion(),
6871
- divaNr: currentBasket.DivaNr,
7109
+ divaNr: statusRef.current == 'BASE_CONFIGURATION' && currentProduct ? currentProduct.divaNr : currentBasket.DivaNr,
6872
7110
  actBasketPage: actBasketPage,
6873
7111
  setActBasketPage: setActBasketPage,
6874
7112
  showVKPExportButton: !!(vkpExportData !== null && vkpExportData !== void 0 && vkpExportData.callbackurl) || !!(configurationData !== null && configurationData !== void 0 && configurationData.VKPExportUrl),
@@ -6907,7 +7145,18 @@ function Basket(_ref) {
6907
7145
  onClickSave: onClickSave,
6908
7146
  statusArray: getBasketStatusArr(),
6909
7147
  updateBasket: update,
6910
- currentUser: currentUser
7148
+ currentUser: currentUser,
7149
+ currentProduct: currentProduct,
7150
+ setCurrentProduct: setCurrentProduct,
7151
+ setProductSaved: setProductSaved
7152
+ }), actBasketPage == 'Step4' && organization.settings.enableVKMarketing && /*#__PURE__*/jsx(Step4Checkout, {
7153
+ config: configurationData === null || configurationData === void 0 ? void 0 : configurationData.Checkout,
7154
+ basket: currentBasket,
7155
+ setActBasketPage: setActBasketPage,
7156
+ startWithEmptyBasket: startWithEmptyBasket,
7157
+ currentProduct: currentProduct,
7158
+ productSaved: productSaved,
7159
+ is3dReady: currentBasket !== null && currentBasket !== void 0 && (_currentBasket$OrderS5 = currentBasket.OrderSets[0]) !== null && _currentBasket$OrderS5 !== void 0 && _currentBasket$OrderS5.HQRenderScript ? true : false
6911
7160
  })]
6912
7161
  })]
6913
7162
  });
@@ -6920,7 +7169,7 @@ var modelTitle = "model-title-Sgm-0";
6920
7169
  var description = "description-GyPZq";
6921
7170
  var pdf = "pdf-oNnao";
6922
7171
  var hidden = "hidden-xYPOr";
6923
- var css_248z$9 = ".wrapper-fSL18 {\n display: flex;\n flex-direction: column;\n padding: 0 12px;\n height: 100%;\n}\n\n.title-iTDPA {\n padding: 16px 8px;\n font-size: 36px;\n}\n\n.title-iTDPA .MuiButtonBase-root {\n display: none;\n}\n\n.subTitle-4-0PW {\n padding: 12px 18px;\n font-size: 28px;\n}\n\n.description-container-k1vLT {\n display: flex;\n flex-direction: column;\n background-color: #f2f2f2;\n padding: 18px;\n gap: 12px;\n height: 100%;\n}\n\n.model-title-Sgm-0 {\n font-size: 24px;\n font-weight: 600;\n}\n.description-GyPZq {\n font-size: 16px;\n overflow: auto;\n flex-grow: 3;\n}\n\n.pdf-oNnao {\n display: 'flex';\n flex: 1 1 10px;\n}\n\n.pdf-oNnao svg {\n margin-right: 10px;\n}\n\n@media (max-width: 820px) {\n .wrapper-fSL18 {\n height: 75px;\n }\n .description-container-k1vLT {\n position: fixed;\n top: 22px;\n width: 80%;\n z-index: 101;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n margin-top: 135px;\n margin-left: -10px;\n transition: width 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n .title-iTDPA .MuiButtonBase-root {\n display: inline-flex;\n }\n .hidden-xYPOr .description-container-k1vLT {\n padding: 0;\n width: 0;\n }\n\n .hidden-xYPOr .model-title-Sgm-0 {\n display: none;\n }\n\n .hidden-xYPOr .description-GyPZq {\n display: none;\n }\n}\n";
7172
+ var css_248z$9 = ".wrapper-fSL18 {\n display: flex;\n flex-direction: column;\n padding: 0 12px;\n height: 100%;\n}\n\n.title-iTDPA {\n padding: 16px 8px;\n font-size: 36px;\n}\n\n.title-iTDPA .MuiButtonBase-root {\n display: none;\n}\n\n.subTitle-4-0PW {\n padding: 12px 18px;\n font-size: 28px;\n}\n\n.description-container-k1vLT {\n display: flex;\n flex-direction: column;\n background-color: #f2f2f2;\n padding: 18px;\n gap: 12px;\n height: 100%;\n overflow: auto;\n}\n\n.model-title-Sgm-0 {\n font-size: 24px;\n font-weight: 600;\n}\n.description-GyPZq {\n font-size: 16px;\n overflow: auto;\n flex-grow: 3;\n scrollbar-width: thin;\n}\n\n.pdf-oNnao {\n display: 'flex';\n flex: 1 1 10px;\n}\n\n.pdf-oNnao svg {\n margin-right: 10px;\n}\n\n@media (max-width: 820px) {\n .wrapper-fSL18 {\n height: 75px;\n }\n .description-container-k1vLT {\n position: fixed;\n top: 22px;\n width: 80%;\n z-index: 101;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n margin-top: 135px;\n margin-left: -10px;\n transition: width 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n height: calc(100% - 195px);\n }\n .title-iTDPA .MuiButtonBase-root {\n display: inline-flex;\n }\n .hidden-xYPOr .description-container-k1vLT {\n padding: 0;\n width: 0;\n }\n\n .hidden-xYPOr .pdf-oNnao {\n display: none;\n }\n\n .hidden-xYPOr .model-title-Sgm-0 {\n display: none;\n }\n\n .hidden-xYPOr .description-GyPZq {\n display: none;\n }\n}\n";
6924
7173
  styleInject(css_248z$9);
6925
7174
 
6926
7175
  var _excluded$6 = ["data", "text"];
@@ -6975,8 +7224,9 @@ function Description$1 (_ref) {
6975
7224
  }
6976
7225
 
6977
7226
  var container = "container-Sr3pC";
7227
+ var iconOnly = "icon-only-2SJ6e";
6978
7228
  var icon$1 = "icon-0h-39";
6979
- var css_248z$8 = ".container-Sr3pC {\n display: flex;\n gap: 12px;\n justify-content: flex-end;\n padding: 8px;\n flex-wrap: wrap;\n}\n.container-Sr3pC .MuiButton-root {\n height: 45px;\n}\n\n.icon-0h-39 {\n width: 24px;\n height: 24px;\n}\n";
7229
+ var css_248z$8 = ".container-Sr3pC {\n display: flex;\n gap: 12px;\n justify-content: flex-end;\n padding: 8px;\n flex-wrap: wrap;\n}\n.container-Sr3pC .MuiButton-root {\n height: 45px;\n}\n\n.icon-only-2SJ6e span {\n margin-right: 2px;\n}\n\n.icon-0h-39 {\n width: 24px;\n height: 24px;\n}\n";
6980
7230
  styleInject(css_248z$8);
6981
7231
 
6982
7232
  function ownKeys$n(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -7049,6 +7299,7 @@ function NavBar (buttons) {
7049
7299
  return /*#__PURE__*/jsxs("div", {
7050
7300
  className: container,
7051
7301
  children: [/*#__PURE__*/jsx(Button, {
7302
+ className: iconOnly,
7052
7303
  variant: "outlined",
7053
7304
  color: "primary",
7054
7305
  startIcon: /*#__PURE__*/jsx(NavBackSvg, {
@@ -7238,7 +7489,7 @@ function NothingFound (_ref) {
7238
7489
  children: [/*#__PURE__*/jsx(Typography$1, {
7239
7490
  variant: "body2",
7240
7491
  children: text
7241
- }), info && /*#__PURE__*/jsx(Alert, {
7492
+ }), info && /*#__PURE__*/jsx(Alert$2, {
7242
7493
  variant: "outlined",
7243
7494
  severity: "info",
7244
7495
  children: info
@@ -7330,14 +7581,6 @@ var ProductsOrArticles = function ProductsOrArticles(_ref) {
7330
7581
  }
7331
7582
  };
7332
7583
  if (hideAll || vzProductsState.loading || favoriteProductsState.loading) return /*#__PURE__*/jsx(Fragment, {});
7333
- /*#__PURE__*/jsx(ProductsComponent, {
7334
- productState: vzProductsState,
7335
- onClickFunction: onProductClick,
7336
- groupVariantsByField: configurationData === null || configurationData === void 0 ? void 0 : configurationData.groupVariantsByField,
7337
- galleryConfig: {
7338
- hidePrices: true
7339
- }
7340
- });
7341
7584
  var isEmpty = tab == 0 ? vzProductsState.groups.length == 0 : favoriteProductsState.groups.length == 0;
7342
7585
  return /*#__PURE__*/jsxs(Accordion, {
7343
7586
  className: wrapper$4,
@@ -7354,7 +7597,7 @@ var ProductsOrArticles = function ProductsOrArticles(_ref) {
7354
7597
  children: [showVZProducts && /*#__PURE__*/jsx(Tab, {
7355
7598
  label: t('info.products.shared'),
7356
7599
  value: 0
7357
- }), /*#__PURE__*/jsx(Tab, {
7600
+ }), showFavoriteProducts && /*#__PURE__*/jsx(Tab, {
7358
7601
  label: t('info.products.favorite'),
7359
7602
  value: 1
7360
7603
  })]
@@ -7370,7 +7613,10 @@ var ProductsOrArticles = function ProductsOrArticles(_ref) {
7370
7613
  onClickFunction: onProductClick,
7371
7614
  groupVariantsByField: configurationData === null || configurationData === void 0 ? void 0 : configurationData.groupVariantsByField,
7372
7615
  galleryConfig: {
7373
- hidePrices: true
7616
+ hidePrices: true,
7617
+ imageWrapperStyle: {
7618
+ maxHeight: '200px'
7619
+ }
7374
7620
  }
7375
7621
  }), isEmpty && /*#__PURE__*/jsx(NothingFound, {
7376
7622
  text: selectedTab == 0 ? t('info.products.novzproducts') : t('info.products.nofavorites'),
@@ -8772,9 +9018,9 @@ var CustomDataFields = function CustomDataFields(_ref) {
8772
9018
  children: [/*#__PURE__*/jsx(CardHeader, {
8773
9019
  title: t('seller.productcreator.customfields') + (productData.variantId !== undefined ? ' (' + t('productvariant') + ':' + productData.variantId + ')' : '')
8774
9020
  }), /*#__PURE__*/jsx(CardContent, {
8775
- children: /*#__PURE__*/jsxs(Box, {
9021
+ children: /*#__PURE__*/jsxs(Box$1, {
8776
9022
  children: [pairs.map(function (pair, index) {
8777
- return /*#__PURE__*/jsxs(Box, {
9023
+ return /*#__PURE__*/jsxs(Box$1, {
8778
9024
  className: wrapper$2,
8779
9025
  children: [/*#__PURE__*/jsx(TextField, {
8780
9026
  style: {