@bytebrand/fe-ui-core 4.2.251 → 4.3.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 (125) hide show
  1. package/__tests__/utils/CommonUtils/getOfferSliders.test.ts +2 -4
  2. package/common.ts +2 -6
  3. package/package.json +2 -3
  4. package/source/components/AccordionWidget/AccordionWidget.tsx +3 -1
  5. package/source/components/Breadcrumbs/Breadcrumbs.tsx +3 -3
  6. package/source/components/Checkout/CheckoutStepper/CheckoutStepper.styl +190 -2
  7. package/source/components/Checkout/CheckoutStepper/CheckoutStepper.tsx +16 -15
  8. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.styl +2 -2
  9. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.tsx +3 -3
  10. package/source/components/FormattedNumber/FormattedNumber.tsx +3 -2
  11. package/source/components/InfoBlocks/FirstInfoBlock/FirstInfoBlockItem/FirstInfoBlockItem.styl +6 -4
  12. package/source/components/OfferDetailedSection/partials/PanelConfig.tsx +3 -0
  13. package/source/components/OfferPanel/MuiOfferPeriod/{MuiOfferPeriod.theme.tsx → MuiOfferPeriod.theme.js} +13 -8
  14. package/source/components/OfferPanel/MuiOfferPeriod/MuiOfferPeriod.tsx +4 -28
  15. package/source/components/OfferPanel/OfferCheckboxGroup/CheckboxContainer.tsx +12 -6
  16. package/source/components/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.tsx +1 -1
  17. package/source/components/OfferPanel/OfferPanel.tsx +1 -1
  18. package/source/components/OfferPanel/OfferPeriod/OfferPeriod.tsx +4 -0
  19. package/source/components/OfferPanel/RangeGroup/RangeGroup.tsx +4 -6
  20. package/source/components/PriceRatingDetailed/PriceRatingDetailed.tsx +2 -6
  21. package/source/components/SearchFilters/filters/AlternativeID.tsx +53 -42
  22. package/source/components/SearchFilters/filters/DriveType.tsx +1 -1
  23. package/source/components/SearchFilters/filters/EmissionSticker.tsx +1 -1
  24. package/source/components/SearchFilters/filters/FirstRegistration.tsx +1 -0
  25. package/source/components/SearchFilters/filters/InteriorColor.tsx +1 -1
  26. package/source/components/SearchFilters/filters/InteriorMaterial.tsx +1 -2
  27. package/source/components/SearchFilters/filters/Mileage.tsx +1 -1
  28. package/source/components/SearchFilters/filters/Power.tsx +17 -36
  29. package/source/components/SearchFilters/filters/StateOptions.tsx +1 -0
  30. package/source/components/SearchFilters/filters/Transmission.tsx +1 -1
  31. package/source/components/SearchPage/SearchChips/SearchChips.tsx +1 -1
  32. package/source/components/SearchPageMobile/FiltersDetailed/BodyType.tsx +3 -3
  33. package/source/components/SearchPageMobile/FiltersDetailed/Consumption.tsx +2 -2
  34. package/source/components/SearchPageMobile/FiltersDetailed/Doors.tsx +1 -1
  35. package/source/components/SearchPageMobile/FiltersDetailed/MakeModel.tsx +1 -1
  36. package/source/components/SearchWidget/ColorWidget/BodyColorWidget.tsx +3 -3
  37. package/source/components/SearchWidget/EnvironmentWidget/EnvironmentWidget.tsx +3 -3
  38. package/source/components/SearchWidget/HighlightsWidget/HighlightsWidget.tsx +2 -2
  39. package/source/components/SearchWidget/StateWidget/StateWidget.tsx +2 -1
  40. package/source/components/SearchWidgetsMobile/BasicDataWidgetMobile/BasicDataWidgetMobile.tsx +4 -4
  41. package/source/components/SearchWidgetsMobile/EquipmentsWidget/EquipmentsWidget.tsx +16 -16
  42. package/source/components/SearchWidgetsMobile/HighlightsWidgetMobile/HighlightsWidgetMobile.tsx +1 -1
  43. package/source/components/SearchWidgetsMobile/InteriorWidget/InteriorWidget.tsx +1 -1
  44. package/source/components/SearchWidgetsMobile/SafetyWidget/SafetyWidget.tsx +6 -6
  45. package/source/components/Stepper/Stepper.tsx +3 -4
  46. package/source/components/UserDashboardPage/sections/OrderStatusSection/AdditionalOrderInfo.styl +2 -11
  47. package/source/components/UserDashboardPage/sections/OrderStatusSection/AdditionalOrderInfo.tsx +5 -5
  48. package/source/components/UserDashboardPage/sections/OrderStatusSection/OrderStatusCar.tsx +38 -57
  49. package/source/components/UserDashboardPage/sections/OrderStatusSection/OrderStatusCard.tsx +2 -2
  50. package/source/components/UserDashboardPage/sections/OrderStatusSection/OrderStatusSection.tsx +101 -183
  51. package/source/components/UserDashboardPage/sections/RequestedCarsSection/RequestedCarsSection.tsx +7 -5
  52. package/source/components/Vehicle/VehicleFormattedPrice/VehicleFormattedPrice.tsx +7 -33
  53. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.styl +2 -10
  54. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.tsx +14 -54
  55. package/source/components/VehicleDetailedSidebar/partials/Price.styl +1 -5
  56. package/source/components/VehicleDetailedSidebar/partials/Price.tsx +1 -2
  57. package/source/components/VehicleDetailedSidebar/partials/PriceContent.styl +5 -16
  58. package/source/components/VehicleDetailedSidebar/partials/PriceContent.tsx +4 -9
  59. package/source/components/VehicleDetailedSidebar/partials/Properties.tsx +1 -1
  60. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.styl +0 -45
  61. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.tsx +42 -121
  62. package/source/components/VehicleDetailedSlider/partials/PriceData.styl +1 -4
  63. package/source/components/VehicleDetailedSlider/partials/PriceData.tsx +1 -8
  64. package/source/components/VehicleDetailedSlider/partials/Stats.tsx +2 -2
  65. package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx +7 -9
  66. package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.styl +1 -35
  67. package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.tsx +3 -9
  68. package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.styl +2 -11
  69. package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.tsx +1 -2
  70. package/source/components/VehicleSmallCard/VehicleSmallCard.styl +1 -3
  71. package/source/components/VehicleSmallCard/VehicleSmallCard.tsx +7 -3
  72. package/source/components/_common/Badge/Badge.styl +0 -3
  73. package/source/components/_common/Badge/Badge.tsx +1 -1
  74. package/source/components/_common/Button/Button.tsx +4 -5
  75. package/source/components/_common/Checkbox/FormCheckbox.tsx +4 -4
  76. package/source/components/_common/CheckboxMaterial/CheckboxMaterial.tsx +1 -1
  77. package/source/components/_common/Chip/Chip.tsx +3 -1
  78. package/source/components/_common/ExpansionPanel/ExpansionPanel.tsx +3 -3
  79. package/source/components/_common/IconSVG/IconSVGConfig.tsx +0 -2
  80. package/source/components/_common/IconSVG/SVG/flags/SK.tsx +1 -0
  81. package/source/components/_common/IconSVG/SVG/slider/360New.tsx +1 -1
  82. package/source/components/_common/MaterialAccordion/MaterialAccordion.tsx +30 -22
  83. package/source/components/_common/MaterialAutocomplete/MaterialAutocomplete.styled.tsx +8 -8
  84. package/source/components/_common/MaterialDatePicker/MaterialDatePicker.styled.tsx +1 -0
  85. package/source/components/_common/MaterialSelect/MaterialSelect.styled.tsx +15 -12
  86. package/source/components/_common/MaterialSelect/MaterialSelect.tsx +3 -3
  87. package/source/components/_common/MaterialSwitch/MaterialSwitch.tsx +1 -3
  88. package/source/components/_common/MaterialTooltip/MaterialTooltip.styled.tsx +1 -1
  89. package/source/components/_common/MaterialTooltip/MaterialTooltip.tsx +3 -3
  90. package/source/components/_common/Modal/CookieModal.tsx +3 -1
  91. package/source/components/_common/Modal/Modal.styled.tsx +1 -2
  92. package/source/components/_common/Modal/Modal.tsx +5 -1
  93. package/source/components/_common/Modal/ModalsConfig.tsx +1 -5
  94. package/source/components/_common/Modal/modals/ManageCookieModal/ManageCookieModal.styl +7 -23
  95. package/source/components/_common/Modal/modals/ManageCookieModal/ManageCookieModal.tsx +36 -84
  96. package/source/components/_common/Modal/modals/PreviewCookieModal/PreviewCookieModal.styl +14 -29
  97. package/source/components/_common/Modal/modals/PreviewCookieModal/PreviewCookieModal.tsx +10 -17
  98. package/source/components/_common/OfferRequestButtonWrapper/OfferRequestButtonWrapper.tsx +4 -12
  99. package/source/components/_common/Range/Range.tsx +16 -26
  100. package/source/components/_common/UserMenu/MaterialMenu.styled.tsx +1 -0
  101. package/source/components/_common/UserMenu/MaterialMenu.tsx +3 -3
  102. package/source/components/_common/UserMenu/MaterialMenuItem.tsx +20 -42
  103. package/source/components/_common/UserMenu/NestedMenu.tsx +1 -1
  104. package/source/components/_common/withStats/withStats.styl +0 -3
  105. package/source/components/_common/withStats/withStats.tsx +16 -19
  106. package/source/components/containers/SearchPage/FiltersContainer/FiltersContainer.styl +1 -14
  107. package/source/components/containers/SearchPage/FiltersContainer/FiltersContainer.tsx +42 -78
  108. package/source/framework/constants/common.ts +60 -89
  109. package/source/framework/constants/highlights.ts +1 -1
  110. package/source/framework/constants.ts +1 -1
  111. package/source/framework/types/types.ts +4 -9
  112. package/source/framework/utils/CommonUtils.ts +62 -73
  113. package/source/framework/utils/DateUtils.ts +2 -10
  114. package/source/framework/vehiclesProps/decoratedLightProps.tsx +2 -1
  115. package/source/framework/vehiclesProps/decoratedProps.tsx +2 -1
  116. package/source/locales/data.ts +2 -2
  117. package/tslint.json +2 -1
  118. package/utils.ts +0 -2
  119. package/__tests__/components/UserDasboardPage/sections/CheckoutSection/CheckoutSection.test.tsx +0 -613
  120. package/__tests__/components/UserDasboardPage/sections/FavoriteSection/FavoriteSection.test.tsx +0 -335
  121. package/source/components/UserDashboardPage/sections/CheckoutSection/CheckoutSection.styl +0 -38
  122. package/source/components/UserDashboardPage/sections/CheckoutSection/CheckoutSection.tsx +0 -120
  123. package/source/components/UserDashboardPage/sections/FavoriteSection/FavoriteSection.styl +0 -22
  124. package/source/components/UserDashboardPage/sections/FavoriteSection/FavoriteSection.tsx +0 -84
  125. package/source/components/_common/IconSVG/SVG/slider/YoutubeButton.tsx +0 -26
@@ -10,8 +10,7 @@ const expectedResultCDP = [
10
10
  max: 21666,
11
11
  value: 16100,
12
12
  unitName: 'modals:financing.euro',
13
- caption: 'modals:financing.firstInstallment',
14
- withRangeLimit: true
13
+ caption: 'modals:financing.firstInstallment'
15
14
  },
16
15
  {
17
16
  name: 'annualMileage',
@@ -34,8 +33,7 @@ const expectedResultCheckout = [
34
33
  max: 21666,
35
34
  value: 16100,
36
35
  unitName: 'modals:financing.euro',
37
- caption: 'modals:financing.firstInstallment',
38
- withRangeLimit: true
36
+ caption: 'modals:financing.firstInstallment'
39
37
  }
40
38
  ]
41
39
 
package/common.ts CHANGED
@@ -136,9 +136,7 @@ import {
136
136
  StepButton,
137
137
  Accordion as MIAccordion,
138
138
  AccordionSummary,
139
- AccordionDetails,
140
- ListItemButton,
141
- RadioGroup as MUIRadioGroup
139
+ AccordionDetails
142
140
  } from '@mui/material';
143
141
  import { createTheme } from '@mui/material/styles';
144
142
 
@@ -158,7 +156,5 @@ export {
158
156
  MIAccordion,
159
157
  AccordionSummary,
160
158
  AccordionDetails,
161
- StyledComponent,
162
- ListItemButton,
163
- MUIRadioGroup
159
+ StyledComponent
164
160
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytebrand/fe-ui-core",
3
- "version": "4.2.251",
3
+ "version": "4.3.1",
4
4
  "description": "UI components for the auto.de project",
5
5
  "main": "index.ts",
6
6
  "module": "dist/common.js",
@@ -14,7 +14,7 @@
14
14
  "@babel/preset-react": "^7.18.6",
15
15
  "@babel/preset-typescript": "^7.21.0",
16
16
  "@bytebrand/car-schema-selectors": "^2.0.7",
17
- "@bytebrand/fe-histoslider": "^2.1.6",
17
+ "@bytebrand/fe-histoslider": "^2.1.3",
18
18
  "@bytebrand/i18n-dictionaries": "^0.7.5",
19
19
  "@date-io/date-fns": "1.3.13",
20
20
  "@emotion/react": "^11.9.3",
@@ -82,7 +82,6 @@
82
82
  "@types/react": "^17.0.2",
83
83
  "@types/react-dom": "^17.0.2",
84
84
  "@types/react-lazyload": "^2.5.0",
85
- "@types/react-scroll": "^1.8.7",
86
85
  "@types/react-select": "^3.0.2",
87
86
  "@types/react-slick": "^0.23.4 ",
88
87
  "autoprefixer": "^9.6.0",
@@ -15,6 +15,7 @@ import {
15
15
 
16
16
  import ExpansionPanel from '../_common/ExpansionPanel/ExpansionPanel';
17
17
  import Accordion from '../_common/AccordionWrapper/AccordionWrapper';
18
+ // import AccordionItem from '../_common/AccordionWrapper/AccordionItem/AccordionItem';
18
19
  import VehicleProperty from '../VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty';
19
20
  import IconSVG from '../_common/IconSVG/IconSVG';
20
21
  import { getActualHighlights } from '../../framework/constants/highlights';
@@ -34,7 +35,7 @@ class AccordionWidget extends React.Component<IAccardionSectionProps, IAccardion
34
35
  }
35
36
 
36
37
  handleChange =
37
- (panel: string) => (_: React.SyntheticEvent, isExpanded: boolean) => {
38
+ (panel: string) => (event: React.SyntheticEvent, isExpanded: boolean) => {
38
39
  this.setState({ expanded: isExpanded ? panel : false });
39
40
  };
40
41
 
@@ -209,6 +210,7 @@ class AccordionWidget extends React.Component<IAccardionSectionProps, IAccardion
209
210
  onChange={this.handleChange}
210
211
  expanded={this.state.expanded}
211
212
  defaultExpanded={section.expanded}
213
+ // titleClassName={styles.titleClassName}
212
214
  >
213
215
  {section.component}
214
216
  </ExpansionPanel>
@@ -12,7 +12,6 @@ type LinkItem = { link: string, title: string };
12
12
  interface IBreadcrumbsProps {
13
13
  page: string;
14
14
  pageProps: any;
15
- Link: any;
16
15
  infoBlockData: { contentMobile: string, title: string }[];
17
16
  t?: (key: string, options?: object) => string;
18
17
  }
@@ -33,7 +32,7 @@ class Breadcrumbs extends React.PureComponent<IBreadcrumbsProps> {
33
32
  };
34
33
 
35
34
  renderList = (list: LinkItem[]) => {
36
- const {t = (phrase: string) => _get(breadcrumbsTranslate(), phrase.replace(':', '.'), phrase), page, Link } = this.props;
35
+ const { t = (phrase: string) => _get(breadcrumbsTranslate(), phrase.replace(':', '.'), phrase), page } = this.props;
37
36
 
38
37
  return list.map((item, index): React.ReactElement<any> => {
39
38
  const isLastItem: boolean = list.length - 1 === index;
@@ -44,7 +43,7 @@ class Breadcrumbs extends React.PureComponent<IBreadcrumbsProps> {
44
43
 
45
44
  return item.link
46
45
  ? <span className={linkClassName} onClick={this.props.pageProps.onBreadCrumbClick} key={index}>
47
- <Link to={page !== 'REFERENCE_VEHICLE_DETAILS' && item.link}>{item.title}</Link>
46
+ <a href={page !== 'REFERENCE_VEHICLE_DETAILS' && item.link}>{item.title}</a>
48
47
  </span>
49
48
  : <span className={textClassName} key={index}>
50
49
  {bigItem}
@@ -91,3 +90,4 @@ class Breadcrumbs extends React.PureComponent<IBreadcrumbsProps> {
91
90
  }
92
91
 
93
92
  export default Breadcrumbs;
93
+ // export default withRouter(translate(['common'])(Breadcrumbs));
@@ -30,5 +30,193 @@
30
30
  [class*='MuiPickersToolbar-toolbar']
31
31
  background-color: #005CCB !important;
32
32
 
33
- [class*='MuiStepIcon-root'][class*='Mui-active']
34
- color: #005CCB !important;
33
+
34
+ // @import '../../../theme/mixins.styl'
35
+
36
+ // .root
37
+ // & [class*='MuiStepLabel-label'][class*='MuiStepLabel-alternativeLabel']
38
+ // fontSize: 10
39
+ // maxWidth: 56
40
+
41
+ // & [class*='MuiStepLabel-label'][class*='MuiStepLabel-active']
42
+ // fontWeight: bold
43
+
44
+ // & [class*='MuiSvgIcon-root']
45
+ // width: 24
46
+ // height: 24
47
+
48
+ // & [class*='MuiStepConnector-line']
49
+ // borderWidth: 2px
50
+
51
+ // & [class*='MuiStepConnector-vertical']
52
+ // marginLeft: 50,
53
+ // padding: 12px 0 16px
54
+
55
+ // .active
56
+ // @media (min-width: 992px):
57
+ // backgroundColor: rgba(0, 92, 203, 0.08)
58
+
59
+ // & [class*='MuiStepIcon-text']
60
+ // fill: white !important
61
+
62
+ // & [class*='MuiStepIcon-active']
63
+ // color: #005CCB
64
+ // fontWeight: bold
65
+ // & [class*='MuiStepConnector-line']
66
+ // borderColor: #005CCB
67
+ // borderTopWidth: 2px
68
+
69
+ // .isCompleted
70
+ // & [class*='MuiStep-vertical'] + [class*='MuiStepConnector-vertical']
71
+ // & [class*='MuiStepConnector-line']
72
+ // borderColor: #005CCB
73
+
74
+ // .stepper
75
+ // & [class*='MuiStepper-root']
76
+ // padding: 0
77
+ // // overflow: 'scroll'
78
+
79
+ // .labelWrap
80
+ // & [class*='MuiStepLabel-label']
81
+ // marginTop: 7
82
+ // lineHeight: 11px
83
+
84
+ // .verticalWrap
85
+ // padding: 14px 0 14px 26px
86
+ // borderRadius: 0px 38px 38px 0px
87
+ // boxSizing: border-box
88
+
89
+ // & [class*='MuiStepLabel-iconContainer']
90
+ // paddingRight: 17
91
+
92
+ // & [class*='MuiSvgIcon-root']
93
+ // width: 48
94
+ // height: 48
95
+
96
+ // & [class*='MuiStepLabel-label']
97
+ // color: rgba(0, 0, 0, 0.83)
98
+ // fontWeight: bold
99
+ // fontSize: 22
100
+
101
+ // .default
102
+ // & [class*='MuiStepIcon-text']
103
+ // fill: grey
104
+
105
+ // & [class*='MuiStepIcon-root']
106
+ // color: transparent
107
+ // border: 1px solid grey
108
+ // boxSizing: border-box
109
+ // borderRadius: 50%
110
+
111
+ // & [class*='MuiStepLabel-label']
112
+ // color: rgba(0, 0, 0, 0.38)
113
+ // fontWeight: 400
114
+
115
+ // .completeStep
116
+ // color: #005CCB
117
+ // & [class*='MuiStepIcon-root']
118
+ // borderColor: #005CCB
119
+ // borderWidth: 2px
120
+
121
+ // & [class*='MuiStepIcon-text']
122
+ // fill: #005CCB
123
+ // fontWeight: bold
124
+
125
+ // & [class*='MuiStepLabel-label'][class*='MuiStepLabel-alternativeLabel']
126
+ // color: #005CCB
127
+
128
+ // & [class*='MuiStepLabel-label']
129
+ // color: #005CCB
130
+
131
+ // & [class*='MuiStepConnector-lineVertical']
132
+ // borderColor: #005CCB
133
+
134
+ // .completeLine
135
+ // & [class*='MuiStepConnector-line']
136
+ // borderColor: #005CCB
137
+ // borderTopWidth: 2px
138
+
139
+ // & [class*='MuiStepConnector-line'][class*='MuiStepConnector-lineVertical']
140
+ // borderColor: #005CCB
141
+
142
+ // .activeLine
143
+ // & [class*='MuiStepConnector-line']
144
+ // borderColor: #005CCB
145
+ // borderTopWidth: 2px
146
+
147
+ // .minutes
148
+ // fontSize: 14
149
+ // color: rgba(0, 0, 0, 0.63)
150
+ // display: block
151
+ // textAlign: left
152
+ // fontWeight: 400
153
+
154
+ // .buttonItem
155
+ // margin: 0
156
+ // padding: 0
157
+
158
+ // // .checkoutFooter:
159
+ // // display: 'block'
160
+ // // width: '100%'
161
+ // // textAlign: 'center'
162
+ // // background: '#f2f2f2'
163
+ // // color: '#757575'
164
+ // // fontSize: '7px'
165
+
166
+ // // .checkoutFooterItem:
167
+ // // margin: '0 4px'
168
+
169
+ // // .buttonWeiter
170
+ // // width: '328px'
171
+ // // margin: '16px auto'
172
+ // // display: 'block'
173
+ // // height: '44px'
174
+ // // textTransform: 'none'
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+ // .stepperWrapper
195
+ // width: 100%
196
+ // overflow: hidden
197
+
198
+ // +media-tablet-landscape-up()
199
+ // .stepperWrapper
200
+ // box-sizing: border-box
201
+ // background-color: #fff
202
+ // width: 376px
203
+ // box-shadow: 2px 0px 5px rgba(0, 0, 0, 0.15);
204
+ // position fixed
205
+ // z-index: 1;
206
+ // padding: 35px 8px 35px
207
+ // height: 100%
208
+
209
+ // .menuArrow
210
+ // position: absolute;
211
+ // right: 0;
212
+ // top: 50%;
213
+ // max-width: 17px;
214
+ // transform: rotate(-90deg) translateY(-50%);
215
+ // transform-origin: 0 center;
216
+ // path
217
+ // fill: rgba(0, 0, 0, 0.38);
218
+
219
+
220
+
221
+ // [class*='MuiPickersToolbar-toolbar']
222
+ // background-color: #005CCB !important;
@@ -4,16 +4,17 @@ import { useStyles } from './CheckoutStepperClasses';
4
4
  import styles from './CheckoutStepper.styl';
5
5
  import { Hidden } from 'react-grid-system';
6
6
  import { Stepper, Step, StepButton, IconSVG } from '../../../../common';
7
- import { toJS } from 'mobx';
8
7
 
9
8
  interface ICheckoutStepper {
10
- checkoutStore: any;
9
+ steps: [];
10
+ activeStep?: number;
11
+ handleStep?: (index: number) => () => void;
12
+ completed?: any;
11
13
  t?: (phrase: string) => {};
12
14
  }
13
15
 
14
- const CheckoutStepper: FunctionComponent<ICheckoutStepper> = ({ checkoutStore, t }) => {
16
+ const CheckoutStepper: FunctionComponent<ICheckoutStepper> = ({ steps, activeStep, completed, handleStep, t }) => {
15
17
  const classes = useStyles();
16
- const steps = toJS(checkoutStore.steps);
17
18
  return (
18
19
  <div className={`${classes.root} ${styles.stepperWrapper}`}>
19
20
  <Stepper
@@ -21,34 +22,34 @@ const CheckoutStepper: FunctionComponent<ICheckoutStepper> = ({ checkoutStore, t
21
22
  nonLinear
22
23
  orientation={isMobileOnly ? 'horizontal' : 'vertical'}
23
24
  alternativeLabel={isMobileOnly}
24
- activeStep={checkoutStore.activeStep}>
25
+ activeStep={activeStep}>
25
26
  {steps.map(({ title, pathname }, index) => {
26
27
  const labelRep = !!title && !isMobileOnly ? title.replace('-', '') : title;
27
28
  return (
28
29
  <Step key={pathname}
29
- className={`${checkoutStore.completed.has(steps[index].pathname) ? classes.isCompleted : ''}
30
- ${checkoutStore.completed.has(steps[index].pathname) ? classes.completeLine : ''}
31
- ${checkoutStore.activeStep === index && classes.activeLine}
30
+ className={`${completed.has(steps[index].pathname) ? classes.isCompleted : ''}
31
+ ${completed.has(steps[index].pathname) ? classes.completeLine : ''}
32
+ ${activeStep === index && classes.activeLine}
32
33
  `}
33
- >
34
+ >
34
35
  <StepButton
35
- onClick={checkoutStore.handleStep(index)}
36
+ onClick={handleStep(index)}
36
37
  classes={{
37
38
  root: classes.buttonItem,
38
39
  horizontal: classes.labelWrap,
39
40
  vertical: classes.verticalWrap
40
41
  }}
41
42
  className={`
42
- ${checkoutStore.activeStep === index ? classes.active : classes.default}
43
- ${checkoutStore.completed.has(steps[index].pathname) && checkoutStore.activeStep !== index && classes.completeStep}`}>
43
+ ${activeStep === index ? classes.active : classes.default}
44
+ ${completed.has(steps[index].pathname) && activeStep !== index && classes.completeStep}`}>
44
45
  <span>{labelRep}</span>
45
46
  <Hidden xs sm md>
46
- {checkoutStore.activeStep !== index && <IconSVG name='menuArrow' className={styles.menuArrow} customDimensions={false} />}
47
- {!checkoutStore.completed.has(steps[index].pathname) &&
47
+ {activeStep !== index && <IconSVG name='menuArrow' className={styles.menuArrow} customDimensions={false}/>}
48
+ {!completed.has(steps[index].pathname) &&
48
49
  <span
49
50
  className={`
50
51
  ${classes.minutes}
51
- ${checkoutStore.completed.has(steps[index].pathname) && checkoutStore.activeStep !== index && classes.completeStep}`}
52
+ ${completed.has(steps[index].pathname) && activeStep !== index && classes.completeStep}`}
52
53
  >
53
54
  {steps[index].minutes}
54
55
  &nbsp;
@@ -2,7 +2,7 @@
2
2
 
3
3
  .editableFieldWrapper
4
4
  font-family: $font-style-arial
5
- margin-top: 10px
5
+ margin-top: 16px
6
6
 
7
7
  .header
8
8
  display: flex
@@ -12,7 +12,7 @@
12
12
  .field
13
13
  display: flex
14
14
  justify-content: space-between
15
- margin-top: 10px
15
+ margin-top: 16px
16
16
  color: $black60
17
17
  font-size: 14px
18
18
 
@@ -15,18 +15,18 @@ interface IOrderOverviewItem {
15
15
  rate?: string;
16
16
  };
17
17
  activeStep: number;
18
- dontShowEdit?:boolean;
19
18
  handleStep: (index: number) => () => void;
20
19
  titleClassName?: string;
21
20
  fieldClassName?: string;
22
21
  fieldWrapperClassName?: string;
23
22
  }
24
23
 
25
- const OrderOverviewItem: FC<IOrderOverviewItem> = ({ dontShowEdit, fields, handleStep, activeStep, titleClassName, fieldClassName, fieldWrapperClassName }) => {
24
+ const OrderOverviewItem: FC<IOrderOverviewItem> = ({ fields, handleStep, activeStep, titleClassName, fieldClassName, fieldWrapperClassName }) => {
26
25
  const wrapperClasses = classnames(
27
26
  styles.editableFieldWrapper,
28
27
  { [fieldWrapperClassName]: fieldWrapperClassName }
29
28
  );
29
+
30
30
  return (
31
31
  <div className={wrapperClasses}>
32
32
  <div>
@@ -34,7 +34,7 @@ const OrderOverviewItem: FC<IOrderOverviewItem> = ({ dontShowEdit, fields, handl
34
34
  <span className={titleClassName}>{fields.title} {fields.additionalTitle && <span className={styles.additionalTitle}>{fields.additionalTitle}</span>}</span>
35
35
  <span className={styles.fieldLineWrapper} data-testid='editIcon' onClick={() => handleStep(activeStep)()}>
36
36
  {fields.oneLineRate && <span className={classnames(styles.fieldLine, fieldClassName)}>{fields.oneLineRate}</span>}
37
- {!dontShowEdit &&!fieldWrapperClassName && <span className={styles.editIcon}><IconSVG name='editIcon'/></span >}
37
+ {!fieldWrapperClassName && <span className={styles.editIcon}><IconSVG name='editIcon'/></span >}
38
38
  </span>
39
39
  </div>
40
40
  {fields.content && fields.content.map((fields, index) => (
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
2
  import styles from './FormattedNumber.styl';
3
3
 
4
4
  import classnames from 'classnames';
@@ -16,10 +16,11 @@ export interface IFormattedPriceProps {
16
16
 
17
17
  // const breakpointForRound = 10000;
18
18
  const separatorCounter = 3;
19
+
19
20
  const FormattedNumber: React.FunctionComponent<IFormattedPriceProps> = ({ className, value, disableFormatting, toRound, numbersAfterDot, beforeCommaClassName, afterCommaClassName }) => {
21
+
20
22
  function getFormattedNumber() {
21
23
  // First we need to check if value is actual number;
22
-
23
24
  const notFalsieValue = !!value ? value : 0;
24
25
 
25
26
  const rounded = toRound ? Math.round(notFalsieValue) : notFalsieValue;
@@ -22,7 +22,7 @@
22
22
  align-items: center;
23
23
  width: 100%;
24
24
  grid-template-columns: 1fr 82px;
25
- grid-column-gap: 9px;
25
+ grid-column-gap: 44px;
26
26
  padding: 17px 0
27
27
 
28
28
  & + &
@@ -33,7 +33,7 @@
33
33
  align-items: center;
34
34
 
35
35
  .icon
36
- margin-right: 0
36
+ margin-right: 22px
37
37
  width: 64px
38
38
  height: 64px
39
39
  display block;
@@ -42,16 +42,18 @@
42
42
  +media-phone-only()
43
43
  width: 82px
44
44
  height: 82px
45
+ margin-right: 0
45
46
  grid-column: 2;
46
47
  grid-row: 1 / span 3;
47
48
 
48
49
  .title
49
- font-size: 16px;
50
+ font-size: 18px
50
51
  margin-bottom: 5px
51
52
  color: $grey-3a;
52
53
  +media-phone-only()
54
+ font-size: 16px;
53
55
  grid-row: 1 / span 1;
54
- text-align: start;
56
+ text-align: justify;
55
57
  color: $grey-32;
56
58
 
57
59
  .textContent
@@ -23,6 +23,8 @@ const PanelConfig: React.FunctionComponent<IPanelConfigProps> = ({
23
23
  OfferBlockComponent,
24
24
  offerBlockProps,
25
25
  postfix,
26
+ isOpenDetails,
27
+ onToggleDetailsClick,
26
28
  isAlternative
27
29
  }) => {
28
30
  const requestOfferProps = {
@@ -51,6 +53,7 @@ const PanelConfig: React.FunctionComponent<IPanelConfigProps> = ({
51
53
  ] : [];
52
54
 
53
55
  const wrapperClassName = classnames(styles.wrapConfigDetails, { [styles.wrapConfigDetailsMobile]: mobileMode });
56
+
54
57
  return (
55
58
  <div className={wrapperClassName}>
56
59
  <Hidden xs sm md>
@@ -3,9 +3,11 @@ import { createTheme } from '@mui/material/styles';
3
3
  export const theme = createTheme({
4
4
  components: {
5
5
  MuiToggleButton: {
6
- styleOverrides: {
7
- root: ({ ownerState: { variant } }) => ({
8
- ...(variant === 'sidebar' && {
6
+ variants: [
7
+ {
8
+ props: { variant: 'sidebar' },
9
+ style: {
10
+ width: 40,
9
11
  height: 41,
10
12
  color: '#333',
11
13
  width: '100%',
@@ -16,10 +18,13 @@ export const theme = createTheme({
16
18
  '&.Mui-selected:hover': {
17
19
  backgroundColor: '#005ccb',
18
20
  color: '#fff'
19
- }
20
- })
21
- })
22
- }
21
+ },
22
+ // '&:hover': {
23
+ // backgroundColor: 'transparent'
24
+ // }
25
+ }
26
+ }
27
+ ]
23
28
  }
24
29
  }
25
- });
30
+ });
@@ -2,7 +2,7 @@ import React, { FC } from 'react';
2
2
  import _get from 'lodash/get';
3
3
  import styles from '../OfferPanel.styl';
4
4
  import { modalsTranslate } from '../../../locales/data';
5
- import ToggleButton, { ToggleButtonProps as IToggleButtonProps } from '@mui/material/ToggleButton';
5
+ import ToggleButton from '@mui/material/ToggleButton';
6
6
  import ToggleButtonGroup from '@mui/material/ToggleButtonGroup';
7
7
  import { ThemeProvider } from '@mui/material/styles';
8
8
  import { theme } from './MuiOfferPeriod.theme';
@@ -14,24 +14,6 @@ export interface IOfferPeriod {
14
14
  onChange: (key: string, value: number) => void;
15
15
  }
16
16
 
17
- type IToggleButtonVariant =
18
- | 'text'
19
- | 'outlined'
20
- | 'contained'
21
- | 'sidebar';
22
-
23
- interface ICustomToggleButtonProps extends Omit<IToggleButtonProps, 'variant'> {
24
- variant: IToggleButtonVariant;
25
- }
26
-
27
- const MyCustomToggleButton: FC<ICustomToggleButtonProps> = (props) => {
28
- return (
29
- <ToggleButton {...props}>
30
- {props.children}
31
- </ToggleButton>
32
- );
33
- };
34
-
35
17
  const OfferPeriod: FC<IOfferPeriod> = ({ paybackPeriod, periods, t, onChange }) => {
36
18
 
37
19
  return (
@@ -45,19 +27,13 @@ const OfferPeriod: FC<IOfferPeriod> = ({ paybackPeriod, periods, t, onChange })
45
27
  color='primary'
46
28
  value={paybackPeriod}
47
29
  exclusive
48
- onChange={(event) => {
49
- onChange('paybackPeriod', +(event.target as HTMLInputElement).value);
30
+ onChange={(e) => {
31
+ onChange('paybackPeriod', +e.target.value);
50
32
  }}
51
33
  >
52
34
  {periods.map((period) => {
53
35
  return (
54
- <MyCustomToggleButton
55
- variant={'sidebar'}
56
- key={period}
57
- value={period}
58
- >
59
- {period}
60
- </MyCustomToggleButton>
36
+ <ToggleButton variant='sidebar' key={period} value={period}>{period}</ToggleButton>
61
37
  );
62
38
  })}
63
39
  </ToggleButtonGroup>
@@ -1,6 +1,8 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import styles from './OfferCheckboxGroup.styl';
3
3
  import classnames from 'classnames';
4
+ // import FormattedNumber from '../../FormattedNumber/FormattedNumber';
5
+ // import Tooltip from '../../_common/Tooltip/Tooltip';
4
6
  import CheckboxMaterial from '../../_common/CheckboxMaterial/CheckboxMaterial';
5
7
  import MaterialTooltip from '../../_common/MaterialTooltip/MaterialTooltip';
6
8
 
@@ -20,13 +22,11 @@ export interface ICheckboxProps {
20
22
  containerClassName?: string;
21
23
  checkboxClassName?: string;
22
24
  labelClassName?: string;
23
- labelPlacement?: 'end' | 'start' | 'top' | 'bottom';
24
25
  tooltipDescription?: string;
25
26
  checkboxPriceValue: any;
26
27
  tooltipPosX?: string;
27
28
  error?: boolean;
28
- description?: string;
29
- label?: JSX.Element | string | null;
29
+ label?: JSX.Element | string | null | ReactNode;
30
30
  }
31
31
 
32
32
  class CheckboxContainer extends React.Component<ICheckboxProps, {}> {
@@ -87,8 +87,8 @@ class CheckboxContainer extends React.Component<ICheckboxProps, {}> {
87
87
 
88
88
  render() {
89
89
  const {
90
- containerClassName, labelClassName, reversed,
91
- checked, disabled, error, label, tooltipDescription, labelPlacement,
90
+ containerClassName, checkboxClassName, labelClassName, reversed,
91
+ checked, disabled, value, error, label, tooltipDescription, checkboxPriceValue, tooltipPosX, labelPlacement,
92
92
  description
93
93
  } = this.props;
94
94
 
@@ -105,6 +105,12 @@ class CheckboxContainer extends React.Component<ICheckboxProps, {}> {
105
105
  labelClassName
106
106
  );
107
107
 
108
+ const checkboxClasses = classnames(
109
+ styles.checkbox,
110
+ checkboxClassName,
111
+ { [styles.withLabel]: !!label }
112
+ );
113
+
108
114
  const wrapInputClasses = classnames(
109
115
  styles.wrapInput,
110
116
  { [styles.reversed]: reversed }
@@ -11,7 +11,7 @@ interface IOfferPeriod {
11
11
  transferInstallments?: any;
12
12
  }
13
13
 
14
- const OfferCheckboxGroup: FC<IOfferPeriod> = ({ additionalService, transferInstallments, isAboAccordionExpanded0 = true, priceTabIndex }) => {
14
+ const OfferCheckboxGroup: FC<IOfferPeriod> = ({ additionalService, transferInstallments, isAboAccordionExpanded0 = true, priceTabIndex, labelClassname }) => {
15
15
  const offerGroupClass = classNames(styles.checkboxWrapped, { [styles.checkBoxGroup]: priceTabIndex !== THREE });
16
16
  return (
17
17
  <div className={offerGroupClass}>
@@ -11,7 +11,7 @@ import CheckboxMaterial from '../_common/CheckboxMaterial/CheckboxMaterial';
11
11
  interface IFinalAdvice {
12
12
  checked: boolean;
13
13
  label: string;
14
- onChange?: (event?: React.ChangeEvent<HTMLInputElement>, checked?: boolean | string, value?: any) => void;
14
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, checked: boolean, value: any) => void;
15
15
  reversed?: boolean;
16
16
  value: string;
17
17
  }