kitchen-simulator 5.0.0-test.17 → 5.0.0-test.19

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 (206) hide show
  1. package/package.json +8 -18
  2. package/src/@history.js +3 -0
  3. package/src/CrossSignOn.jsx +94 -0
  4. package/src/KitchenConfigurator.jsx +1526 -0
  5. package/src/KitchenConfiguratorApp.jsx +1 -1
  6. package/src/_KitchenConfigurator.jsx +3 -91
  7. package/src/components/atoms/Snackbar/index.jsx +43 -0
  8. package/src/components/atoms/radio-button/index.jsx +20 -0
  9. package/src/components/atoms/radio-button/styles.js +56 -0
  10. package/src/components/button/MainButton.jsx +157 -0
  11. package/src/components/button/ToggleMeasureButton.jsx +65 -0
  12. package/src/components/catalog-view/catalog-breadcrumb.jsx +53 -0
  13. package/src/components/catalog-view/catalog-item.jsx +229 -0
  14. package/src/components/catalog-view/catalog-list.jsx +173 -0
  15. package/src/components/catalog-view/catalog-page-item.jsx +110 -0
  16. package/src/components/catalog-view/catalog-turn-back-page-item.jsx +80 -0
  17. package/src/components/configurator/custom-configurator.jsx +77 -0
  18. package/src/components/configurator/project-configurator.jsx +120 -0
  19. package/src/components/content.jsx +136 -0
  20. package/src/components/export.js +36 -0
  21. package/src/components/firstsetting/button/styles.js +223 -0
  22. package/src/components/firstsetting/export.js +9 -0
  23. package/src/components/firstsetting/firstsetting-content-button.jsx +198 -0
  24. package/src/components/firstsetting/firstsetting-toggle-button.jsx +101 -0
  25. package/src/components/firstsetting/firstsetting.jsx +814 -0
  26. package/src/components/footerbar/button/ControlButton.jsx +43 -0
  27. package/src/components/footerbar/button/DirectionButton.jsx +54 -0
  28. package/src/components/footerbar/button/DirectionPanSpinButton.jsx +36 -0
  29. package/src/components/footerbar/button/ToggleButton.jsx +58 -0
  30. package/src/components/footerbar/button/ToggleConvertButton.jsx +48 -0
  31. package/src/components/footerbar/button/ToggleMeasureButton.jsx +33 -0
  32. package/src/components/footerbar/button/styles.js +217 -0
  33. package/src/components/footerbar/export.js +9 -0
  34. package/src/components/footerbar/footer-content-button.jsx +198 -0
  35. package/src/components/footerbar/footer-toggle-button.jsx +101 -0
  36. package/src/components/footerbar/footerbar.jsx +1103 -0
  37. package/src/components/footerbar/styles.js +263 -0
  38. package/src/components/header/button/MenuButton.jsx +46 -0
  39. package/src/components/header/button/SaveButton.jsx +54 -0
  40. package/src/components/header/button/styles.js +181 -0
  41. package/src/components/header/export.js +5 -0
  42. package/src/components/header/header.jsx +631 -0
  43. package/src/components/header/header.style.css +47 -0
  44. package/src/components/header/styles.js +320 -0
  45. package/src/components/login/Login.js +77 -0
  46. package/src/components/login/LoginForm/index.js +108 -0
  47. package/src/components/login/Register.js +82 -0
  48. package/src/components/login/RegisterForm/index.js +171 -0
  49. package/src/components/login/jwtService.js +201 -0
  50. package/src/components/login/style.css +158 -0
  51. package/src/components/login/style.scss +260 -0
  52. package/src/components/molecules/slider/index.jsx +15 -0
  53. package/src/components/molecules/slider/styles.js +0 -0
  54. package/src/components/molecules/slider/styles.scss +3 -0
  55. package/src/components/myprojects/export.js +5 -0
  56. package/src/components/myprojects/index.jsx +445 -0
  57. package/src/components/myprojects/styles.js +241 -0
  58. package/src/components/sidebar/custom-accordion.jsx +48 -0
  59. package/src/components/sidebar/export.js +15 -0
  60. package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +73 -0
  61. package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +101 -0
  62. package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +149 -0
  63. package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +316 -0
  64. package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +108 -0
  65. package/src/components/sidebar/panel-element-editor/element-editor.jsx +1070 -0
  66. package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
  67. package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +104 -0
  68. package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +155 -0
  69. package/src/components/sidebar/panel-group-editor.jsx +272 -0
  70. package/src/components/sidebar/panel-groups.jsx +310 -0
  71. package/src/components/sidebar/panel-guides.jsx +192 -0
  72. package/src/components/sidebar/panel-layer-elements.jsx +298 -0
  73. package/src/components/sidebar/panel-layers.jsx +381 -0
  74. package/src/components/sidebar/panel.jsx +71 -0
  75. package/src/components/sidebar/sidebar.jsx +106 -0
  76. package/src/components/sidebar/toolbar-panel.jsx +139 -0
  77. package/src/components/sign/export.js +7 -0
  78. package/src/components/sign/main/index.jsx +523 -0
  79. package/src/components/sign/main/styles.js +163 -0
  80. package/src/components/style/button.jsx +95 -0
  81. package/src/components/style/cancel-button.jsx +20 -0
  82. package/src/components/style/content-container.jsx +29 -0
  83. package/src/components/style/content-title.jsx +20 -0
  84. package/src/components/style/delete-button.jsx +23 -0
  85. package/src/components/style/export.jsx +48 -0
  86. package/src/components/style/form-block.jsx +13 -0
  87. package/src/components/style/form-color-input.jsx +27 -0
  88. package/src/components/style/form-label.jsx +15 -0
  89. package/src/components/style/form-number-input.jsx +196 -0
  90. package/src/components/style/form-number-input_2.jsx +191 -0
  91. package/src/components/style/form-select.jsx +38 -0
  92. package/src/components/style/form-slider.jsx +36 -0
  93. package/src/components/style/form-submit-button.jsx +23 -0
  94. package/src/components/style/form-text-input.jsx +65 -0
  95. package/src/components/toolbar/button/ControlButton.jsx +41 -0
  96. package/src/components/toolbar/button/DirectionButton.jsx +34 -0
  97. package/src/components/toolbar/button/RightButton.jsx +103 -0
  98. package/src/components/toolbar/button/ToggleButton.jsx +41 -0
  99. package/src/components/toolbar/button/index.jsx +55 -0
  100. package/src/components/toolbar/button/styles.js +127 -0
  101. package/src/components/toolbar/components/DoorStyleMenu.jsx +103 -0
  102. package/src/components/toolbar/components/Pricing.jsx +126 -0
  103. package/src/components/toolbar/components/ReviewForQuote.jsx +635 -0
  104. package/src/components/toolbar/export.js +21 -0
  105. package/src/components/toolbar/main/Alert.js +122 -0
  106. package/src/components/toolbar/main/TakePictureModal.jsx +104 -0
  107. package/src/components/toolbar/main/confirm-popup.jsx +99 -0
  108. package/src/components/toolbar/main/index.jsx +5627 -0
  109. package/src/components/toolbar/main/lShaped.json +311 -0
  110. package/src/components/toolbar/main/longNarrow.json +238 -0
  111. package/src/components/toolbar/main/myComponents.js +123 -0
  112. package/src/components/toolbar/main/oRectangle.json +220 -0
  113. package/src/components/toolbar/main/rectangle.json +238 -0
  114. package/src/components/toolbar/main/style.css +107 -0
  115. package/src/components/toolbar/main/styles.js +696 -0
  116. package/src/components/toolbar/plugin-item.jsx +123 -0
  117. package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +73 -0
  118. package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +102 -0
  119. package/src/components/toolbar/popup/appliance/index.jsx +83 -0
  120. package/src/components/toolbar/popup/autosaveprompt/index.jsx +150 -0
  121. package/src/components/toolbar/popup/autosaveprompt/styles.css +64 -0
  122. package/src/components/toolbar/popup/autosaveprompt/styles.js +40 -0
  123. package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +73 -0
  124. package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +119 -0
  125. package/src/components/toolbar/popup/cabinet/index.jsx +85 -0
  126. package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +63 -0
  127. package/src/components/toolbar/popup/doorStyle/index.jsx +71 -0
  128. package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +139 -0
  129. package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +2 -0
  130. package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +157 -0
  131. package/src/components/toolbar/popup/downloadsummary/index.jsx +643 -0
  132. package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +51 -0
  133. package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +175 -0
  134. package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +283 -0
  135. package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +2257 -0
  136. package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +93 -0
  137. package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +132 -0
  138. package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +2198 -0
  139. package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +152 -0
  140. package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +149 -0
  141. package/src/components/toolbar/popup/downloadsummary/styles.css +177 -0
  142. package/src/components/toolbar/popup/downloadsummary/styles.js +453 -0
  143. package/src/components/toolbar/popup/finishingtouch/category/index.jsx +34 -0
  144. package/src/components/toolbar/popup/finishingtouch/index.jsx +58 -0
  145. package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +112 -0
  146. package/src/components/toolbar/popup/finishingtouch/product/index.jsx +116 -0
  147. package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +101 -0
  148. package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +254 -0
  149. package/src/components/toolbar/popup/floorplan/choose-floor/lShaped.json +311 -0
  150. package/src/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +238 -0
  151. package/src/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +220 -0
  152. package/src/components/toolbar/popup/floorplan/choose-floor/rectangle.json +238 -0
  153. package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +86 -0
  154. package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +109 -0
  155. package/src/components/toolbar/popup/floorplan/index.jsx +60 -0
  156. package/src/components/toolbar/popup/index.jsx +241 -0
  157. package/src/components/toolbar/popup/newproject/index.jsx +59 -0
  158. package/src/components/toolbar/popup/newproject/styles.css +64 -0
  159. package/src/components/toolbar/popup/newproject/styles.js +41 -0
  160. package/src/components/toolbar/popup/product/appliance.jsx +54 -0
  161. package/src/components/toolbar/popup/product/cabinetproduct.jsx +15 -0
  162. package/src/components/toolbar/popup/product/doorstyle.jsx +58 -0
  163. package/src/components/toolbar/popup/product/doorstyleproduct.jsx +47 -0
  164. package/src/components/toolbar/popup/product/floor.jsx +36 -0
  165. package/src/components/toolbar/popup/product/floorproduct.jsx +42 -0
  166. package/src/components/toolbar/popup/product/index.jsx +36 -0
  167. package/src/components/toolbar/popup/product/primary.jsx +77 -0
  168. package/src/components/toolbar/popup/product/productline.jsx +93 -0
  169. package/src/components/toolbar/popup/product/reviewItem.jsx +427 -0
  170. package/src/components/toolbar/popup/product/reviewMolding.jsx +310 -0
  171. package/src/components/toolbar/popup/product/style.css +54 -0
  172. package/src/components/toolbar/popup/product/styles.js +260 -0
  173. package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +146 -0
  174. package/src/components/toolbar/popup/savedesign/index.jsx +495 -0
  175. package/src/components/toolbar/popup/savedesign/savedesign.style.css +16 -0
  176. package/src/components/toolbar/popup/savedesign/styles.js +151 -0
  177. package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +87 -0
  178. package/src/components/toolbar/popup/styles.js +909 -0
  179. package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +192 -0
  180. package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +96 -0
  181. package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +54 -0
  182. package/src/components/toolbar/popup/submitforquote/StepDots.jsx +25 -0
  183. package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +116 -0
  184. package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +38 -0
  185. package/src/components/toolbar/popup/submitforquote/index.jsx +698 -0
  186. package/src/components/toolbar/popup/submitforquote/styles.css +105 -0
  187. package/src/components/toolbar/popup/submitforquote/styles.js +294 -0
  188. package/src/components/toolbar/popup/submitprompt/index.jsx +89 -0
  189. package/src/components/toolbar/popup/submitprompt/styles.css +64 -0
  190. package/src/components/toolbar/popup/submitprompt/styles.js +42 -0
  191. package/src/components/toolbar/toolbar-button.jsx +90 -0
  192. package/src/components/toolbar/toolbar-load-button.jsx +36 -0
  193. package/src/components/toolbar/toolbar-save-button.jsx +32 -0
  194. package/src/components/tutorial-view/Modal.jsx +584 -0
  195. package/src/components/tutorial-view/style.css +111 -0
  196. package/src/components/tutorial-view/styles.js +65 -0
  197. package/src/components/wizardstep/button/styles.js +677 -0
  198. package/src/components/wizardstep/export.js +5 -0
  199. package/src/components/wizardstep/index.jsx +1372 -0
  200. package/src/components/wizardstep/styles.js +688 -0
  201. package/src/components/wizardstep/wizardstep-content-button.jsx +198 -0
  202. package/src/components/wizardstep/wizardstep-toggle-button.jsx +101 -0
  203. package/src/{_index.js → index.js} +4 -4
  204. package/src/renderer.jsx +466 -0
  205. package/src/actions/_export.js +0 -35
  206. package/src/components/_export.js +0 -11
@@ -0,0 +1,814 @@
1
+ import React, { Component } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import * as S from './button/styles';
4
+ import * as rectangleData from '../toolbar/main/rectangle.json';
5
+ import * as lShaped from '../toolbar/main/lShaped.json';
6
+ import * as oRectangle from '../toolbar/main/oRectangle.json';
7
+ import * as longNarrow from '../toolbar/main/longNarrow.json';
8
+ import { MODE_IDLE, MODE_2D_PAN } from '../../constants';
9
+
10
+ export default class FirstSetting extends Component {
11
+ constructor(props, context) {
12
+ super(props, context);
13
+ this.state = {
14
+ step: 1,
15
+ roomShape: {
16
+ name: '',
17
+ data: {}
18
+ },
19
+ doorColor: {
20
+ name: '',
21
+ url: '',
22
+ color: ''
23
+ },
24
+ installation: '',
25
+ doorCategory: {
26
+ name: '',
27
+ url: ''
28
+ },
29
+ doorStyle: ''
30
+ };
31
+ }
32
+
33
+ loadProject(data) {
34
+ this.context.projectActions.loadProject(data, this.props.categoryData);
35
+ }
36
+
37
+ _confirm() {
38
+ this.props.close();
39
+ if (this.state.roomShape.name === '') return;
40
+ if (this.state.roomShape.name === 'custom')
41
+ this.context.linesActions.selectToolDrawingLine('wall');
42
+ else this.loadProject(this.state.roomShape.data, this.props.categoryData);
43
+ this.context.itemsActions.setDoorStyle(this.state.doorStyle);
44
+ }
45
+
46
+ componentDidMount() {}
47
+
48
+ componentWillReceiveProps(nextProps) {}
49
+
50
+ render() {
51
+ const {
52
+ step,
53
+ roomShape,
54
+ doorColor,
55
+ installation,
56
+ doorCategory,
57
+ doorStyle
58
+ } = this.state;
59
+
60
+ let roomShapeData = [
61
+ {
62
+ type: 'square',
63
+ name: 'Square',
64
+ url: '/assets/img/svg/firstsetting/Square.svg',
65
+ data: rectangleData
66
+ },
67
+ {
68
+ type: 'l-shape',
69
+ name: 'L-Shaped',
70
+ url: '/assets/img/svg/firstsetting/L.svg',
71
+ data: lShaped
72
+ },
73
+ {
74
+ type: 'irregular',
75
+ name: 'Irregular',
76
+ url: '/assets/img/svg/firstsetting/L2.svg',
77
+ data: longNarrow
78
+ },
79
+ {
80
+ type: 'open',
81
+ name: 'Open',
82
+ url: '/assets/img/svg/firstsetting/Open.svg',
83
+ data: oRectangle
84
+ }
85
+ ];
86
+
87
+ const stepBar = [
88
+ {
89
+ index: 1,
90
+ title: 'ROOM SHAPE',
91
+ description: 'Select from the predefined shapes or draw your own.',
92
+ content: (
93
+ <S.ContentWrapper>
94
+ <S.ContentWrapper1>
95
+ {roomShapeData.map(item => {
96
+ return (
97
+ <S.ContentItem
98
+ onClick={() =>
99
+ this.setState({
100
+ roomShape: { name: item.type, data: item.data }
101
+ })
102
+ }
103
+ >
104
+ <S.RoomContentImage
105
+ src={item.url}
106
+ style={{
107
+ backgroundColor:
108
+ roomShape.name === item.type && 'rgb(217, 232, 255)'
109
+ }}
110
+ />
111
+ <S.ContentCheckImage
112
+ id="check"
113
+ src="/assets/img/svg/firstsetting/check-normal.svg"
114
+ />
115
+ {roomShape.name === item.type && (
116
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
117
+ )}
118
+ {item.name}
119
+ </S.ContentItem>
120
+ );
121
+ })}
122
+ </S.ContentWrapper1>
123
+ <S.ContentWrapper1>
124
+ <S.ContentItem
125
+ onClick={() =>
126
+ this.setState({ roomShape: { name: 'custom', data: {} } })
127
+ }
128
+ >
129
+ <S.RoomContentImage
130
+ src="/assets/img/svg/firstsetting/Square.svg"
131
+ style={{
132
+ backgroundColor:
133
+ roomShape.name === 'custom' && 'rgb(217, 232, 255)'
134
+ }}
135
+ />
136
+ <img
137
+ src="/assets/img/svg/firstsetting/pencil.svg"
138
+ style={{
139
+ position: 'absolute',
140
+ top: 10,
141
+ right: 10,
142
+ height: 35,
143
+ zIndex: 2
144
+ }}
145
+ />
146
+ <S.ContentCheckImage
147
+ id="check"
148
+ src="/assets/img/svg/firstsetting/check-normal.svg"
149
+ />
150
+ {roomShape.name === 'custom' && (
151
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
152
+ )}
153
+ Custom
154
+ </S.ContentItem>
155
+ </S.ContentWrapper1>
156
+ </S.ContentWrapper>
157
+ )
158
+ },
159
+ {
160
+ index: 2,
161
+ title: 'CABINET COLOR',
162
+ description: 'Select a preferred color first.',
163
+ content: (
164
+ <S.ContentWrapper>
165
+ <span style={{ fontSize: 20, fontWeight: 'bold' }}>Color</span>
166
+ <S.ContentWrapper1>
167
+ <S.ColorContentItem
168
+ onClick={() =>
169
+ this.setState({
170
+ doorColor: { name: 'White', color: '#ffffff' }
171
+ })
172
+ }
173
+ >
174
+ <S.ColorContentImage
175
+ style={{
176
+ backgroundColor: '#ffffff',
177
+ border: doorColor.color === '#ffffff' && '5px solid #4C12A1'
178
+ }}
179
+ />
180
+ White
181
+ </S.ColorContentItem>
182
+ <S.ColorContentItem
183
+ onClick={() =>
184
+ this.setState({
185
+ doorColor: { name: 'Black', color: '#000F33' }
186
+ })
187
+ }
188
+ >
189
+ <S.ColorContentImage
190
+ style={{
191
+ backgroundColor: '#000F33',
192
+ border: doorColor.color === '#000F33' && '5px solid #4C12A1'
193
+ }}
194
+ />
195
+ Black
196
+ </S.ColorContentItem>
197
+ <S.ColorContentItem
198
+ onClick={() =>
199
+ this.setState({
200
+ doorColor: { name: 'Grey', color: '#8791AB' }
201
+ })
202
+ }
203
+ >
204
+ <S.ColorContentImage
205
+ style={{
206
+ backgroundColor: '#8791AB',
207
+ border: doorColor.color === '#8791AB' && '5px solid #4C12A1'
208
+ }}
209
+ />
210
+ Grey
211
+ </S.ColorContentItem>
212
+ <S.ColorContentItem
213
+ onClick={() =>
214
+ this.setState({
215
+ doorColor: { name: 'Blue', color: '#0A339E' }
216
+ })
217
+ }
218
+ >
219
+ <S.ColorContentImage
220
+ style={{
221
+ backgroundColor: '#0A339E',
222
+ border: doorColor.color === '#0A339E' && '5px solid #4C12A1'
223
+ }}
224
+ />
225
+ Blue
226
+ </S.ColorContentItem>
227
+ <S.ColorContentItem
228
+ onClick={() =>
229
+ this.setState({
230
+ doorColor: { name: 'Green', color: '#00491D' }
231
+ })
232
+ }
233
+ >
234
+ <S.ColorContentImage
235
+ style={{
236
+ backgroundColor: '#00491D',
237
+ border: doorColor.color === '#00491D' && '5px solid #4C12A1'
238
+ }}
239
+ />
240
+ Green
241
+ </S.ColorContentItem>
242
+ <S.ColorContentItem
243
+ onClick={() =>
244
+ this.setState({
245
+ doorColor: { name: 'Brown', color: '#624100' }
246
+ })
247
+ }
248
+ >
249
+ <S.ColorContentImage
250
+ style={{
251
+ backgroundColor: '#624100',
252
+ border: doorColor.color === '#624100' && '5px solid #4C12A1'
253
+ }}
254
+ />
255
+ Brown
256
+ </S.ColorContentItem>
257
+ <S.ColorContentItem
258
+ onClick={() =>
259
+ this.setState({
260
+ doorColor: {
261
+ name: 'Wood',
262
+ url: '/assets/img/svg/color/wood2.jpg'
263
+ }
264
+ })
265
+ }
266
+ >
267
+ <S.ColorContentImage
268
+ style={{
269
+ backgroundImage: 'url("/assets/img/svg/color/wood2.jpg")',
270
+ border: doorColor.name === 'Wood' && '5px solid #4C12A1'
271
+ }}
272
+ />
273
+ Wood
274
+ </S.ColorContentItem>
275
+ <S.ColorContentItem
276
+ onClick={() =>
277
+ this.setState({
278
+ doorColor: {
279
+ name: 'Stone',
280
+ url: '/assets/img/svg/color/stone2.jpg'
281
+ }
282
+ })
283
+ }
284
+ >
285
+ <S.ColorContentImage
286
+ style={{
287
+ backgroundImage: 'url("/assets/img/svg/color/stone2.jpg")',
288
+ border: doorColor.name === 'Stone' && '5px solid #4C12A1'
289
+ }}
290
+ />
291
+ Stone
292
+ </S.ColorContentItem>
293
+ </S.ContentWrapper1>
294
+ </S.ContentWrapper>
295
+ )
296
+ },
297
+ {
298
+ index: 3,
299
+ title: 'INSTALLATION',
300
+ description: 'Select from the door collection for all cabinets.',
301
+ content: (
302
+ <S.ContentWrapper>
303
+ <span style={{ fontSize: 20, fontWeight: 'bold' }}>Color</span>
304
+ <S.ContentWrapper1>
305
+ <S.ColorContentItem>
306
+ <S.ColorContentImage
307
+ style={{
308
+ backgroundColor: 'white',
309
+ cursor: 'auto',
310
+ border: doorColor.color === '#ffffff' && '5px solid #4C12A1'
311
+ }}
312
+ />
313
+ White
314
+ </S.ColorContentItem>
315
+ <S.ColorContentItem>
316
+ <S.ColorContentImage
317
+ style={{
318
+ backgroundColor: '#000F33',
319
+ cursor: 'auto',
320
+ border: doorColor.color === '#000F33' && '5px solid #4C12A1'
321
+ }}
322
+ />
323
+ Black
324
+ </S.ColorContentItem>
325
+ <S.ColorContentItem>
326
+ <S.ColorContentImage
327
+ style={{
328
+ backgroundColor: '#8791AB',
329
+ cursor: 'auto',
330
+ border: doorColor.color === '#8791AB' && '5px solid #4C12A1'
331
+ }}
332
+ />
333
+ Grey
334
+ </S.ColorContentItem>
335
+ <S.ColorContentItem>
336
+ <S.ColorContentImage
337
+ style={{
338
+ backgroundColor: '#0A339E',
339
+ cursor: 'auto',
340
+ border: doorColor.color === '#0A339E' && '5px solid #4C12A1'
341
+ }}
342
+ />
343
+ Blue
344
+ </S.ColorContentItem>
345
+ <S.ColorContentItem>
346
+ <S.ColorContentImage
347
+ style={{
348
+ backgroundColor: '#00491D',
349
+ cursor: 'auto',
350
+ border: doorColor.color === '#00491D' && '5px solid #4C12A1'
351
+ }}
352
+ />
353
+ Green
354
+ </S.ColorContentItem>
355
+ <S.ColorContentItem>
356
+ <S.ColorContentImage
357
+ style={{
358
+ backgroundColor: '#624100',
359
+ cursor: 'auto',
360
+ border: doorColor.color === '#624100' && '5px solid #4C12A1'
361
+ }}
362
+ />
363
+ Brown
364
+ </S.ColorContentItem>
365
+ <S.ColorContentItem>
366
+ <S.ColorContentImage
367
+ style={{
368
+ backgroundImage: 'url("/assets/img/svg/color/wood2.jpg")',
369
+ cursor: 'auto',
370
+ border: doorColor.name === 'Wood' && '5px solid #4C12A1'
371
+ }}
372
+ />
373
+ Wood
374
+ </S.ColorContentItem>
375
+ <S.ColorContentItem>
376
+ <S.ColorContentImage
377
+ style={{
378
+ backgroundImage: 'url("/assets/img/svg/color/stone2.jpg")',
379
+ cursor: 'auto',
380
+ border: doorColor.name === 'Stone' && '5px solid #4C12A1'
381
+ }}
382
+ />
383
+ Stone
384
+ </S.ColorContentItem>
385
+ </S.ContentWrapper1>
386
+ <span style={{ fontSize: 20, fontWeight: 'bold', marginTop: 30 }}>
387
+ Installation
388
+ </span>
389
+ <S.ContentWrapper1>
390
+ {this.props.categoryData.data.doorStyles.items.map(item => {
391
+ return (
392
+ <S.DoorStyleContentItem
393
+ onClick={() =>
394
+ this.setState({
395
+ installation: item.name
396
+ })
397
+ }
398
+ >
399
+ <S.DoorStyleContentImage
400
+ src={item.thumbnail}
401
+ style={{
402
+ backgroundColor:
403
+ installation === item.name && 'rgb(217, 232, 255)'
404
+ }}
405
+ />
406
+ <S.ContentCheckImage
407
+ id="check"
408
+ src="/assets/img/svg/firstsetting/check-normal.svg"
409
+ />
410
+ {installation === item.name && (
411
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
412
+ )}
413
+ {item.name}
414
+ </S.DoorStyleContentItem>
415
+ );
416
+ })}
417
+ </S.ContentWrapper1>
418
+ </S.ContentWrapper>
419
+ )
420
+ },
421
+ {
422
+ index: 4,
423
+ title: 'STYLE',
424
+ description: 'Select from the door collection for all cabinets.',
425
+ content: (
426
+ <S.ContentWrapper>
427
+ <span style={{ fontSize: 20, fontWeight: 'bold' }}>
428
+ {installation}
429
+ </span>
430
+ <S.ContentWrapper1>
431
+ {installation &&
432
+ this.props.categoryData.data.doorStyles.items
433
+ .filter(item => item.name === installation)[0]
434
+ .items.map(element => {
435
+ return (
436
+ <S.DoorStyleContentItem
437
+ onClick={() =>
438
+ this.setState({
439
+ doorCategory: {
440
+ name: element.name,
441
+ url: element.thumbnail
442
+ }
443
+ })
444
+ }
445
+ >
446
+ <S.DoorCategoryContentImage
447
+ style={{
448
+ backgroundColor:
449
+ doorCategory.name === element.name &&
450
+ 'rgb(217, 232, 255)',
451
+ height: doorCategory.name === element.name && 150,
452
+ margin:
453
+ doorCategory.name === element.name && 'unset',
454
+ padding: doorCategory.name === element.name && 30
455
+ }}
456
+ src={element.thumbnail}
457
+ />
458
+ <S.ContentCheckImage
459
+ id="check"
460
+ src="/assets/img/svg/firstsetting/check-normal.svg"
461
+ />
462
+ {doorCategory.name === element.name && (
463
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
464
+ )}
465
+ {element.name}
466
+ </S.DoorStyleContentItem>
467
+ );
468
+ })}
469
+ </S.ContentWrapper1>
470
+ </S.ContentWrapper>
471
+ )
472
+ },
473
+ {
474
+ index: 5,
475
+ title: 'FINISH',
476
+ description: 'Select from the door collection for all cabinets.',
477
+ content: (
478
+ <S.ContentWrapper>
479
+ <span style={{ fontSize: 20, fontWeight: 'bold' }}>
480
+ {installation}/{doorCategory.name}
481
+ </span>
482
+ <S.DoorStyleWrapper>
483
+ {doorCategory.name &&
484
+ this.props.categoryData.data.doorStyles.items
485
+ .filter(item => item.name === installation)[0]
486
+ .items.filter(item1 => item1.name === doorCategory.name)[0]
487
+ .items.map(element => {
488
+ if (doorColor.color) {
489
+ return (
490
+ element.color === doorColor.color && (
491
+ <S.DoorStyleContentItem
492
+ onClick={() =>
493
+ this.setState({
494
+ doorStyle: element
495
+ })
496
+ }
497
+ >
498
+ <S.DoorCategoryContentImage
499
+ src={element.thumbnail}
500
+ style={{
501
+ padding:
502
+ doorStyle.name === element.name
503
+ ? '10px 40px'
504
+ : '0px 40px',
505
+ backgroundColor:
506
+ doorStyle.name === element.name &&
507
+ 'rgb(217, 232, 255)',
508
+ height: doorStyle.name === element.name && 150,
509
+ margin:
510
+ doorStyle.name === element.name && 'unset'
511
+ }}
512
+ />
513
+ <S.ContentCheckImage
514
+ id="check"
515
+ src="/assets/img/svg/firstsetting/check-normal.svg"
516
+ />
517
+ {doorStyle.name === element.name && (
518
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
519
+ )}
520
+ {element.name}
521
+ </S.DoorStyleContentItem>
522
+ )
523
+ );
524
+ } else {
525
+ return (
526
+ <S.DoorStyleContentItem
527
+ style={{
528
+ width: '15.7%'
529
+ }}
530
+ onClick={() =>
531
+ this.setState({
532
+ doorStyle: element
533
+ })
534
+ }
535
+ >
536
+ <S.DoorCategoryContentImage
537
+ src={element.thumbnail}
538
+ style={{
539
+ padding:
540
+ doorStyle.name === element.name
541
+ ? '10px 40px'
542
+ : '0px 40px',
543
+ backgroundColor:
544
+ doorStyle.name === element.name &&
545
+ 'rgb(217, 232, 255)',
546
+ height: doorStyle.name === element.name && 150,
547
+ margin: doorStyle.name === element.name && 'unset'
548
+ }}
549
+ />
550
+ <S.ContentCheckImage
551
+ id="check"
552
+ src="/assets/img/svg/firstsetting/check-normal.svg"
553
+ />
554
+ {doorStyle.name === element.name && (
555
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
556
+ )}
557
+ {element.name}
558
+ </S.DoorStyleContentItem>
559
+ );
560
+ }
561
+ })}
562
+ </S.DoorStyleWrapper>
563
+ </S.ContentWrapper>
564
+ )
565
+ },
566
+ {
567
+ index: 6,
568
+ description: 'Select from the door collection for all cabinets.',
569
+ content: (
570
+ <S.ContentWrapper>
571
+ <span
572
+ style={{ fontSize: 20, fontWeight: 'bold', marginBottom: '15px' }}
573
+ >
574
+ Room Shape
575
+ </span>
576
+ <S.ContentWrapper1>
577
+ {roomShapeData
578
+ .filter(element => element.type === roomShape.name)
579
+ .map(item => {
580
+ return (
581
+ <S.ContentItem>
582
+ <S.RoomContentImage
583
+ src={item.url}
584
+ style={{ backgroundColor: 'rgb(217, 232, 255)' }}
585
+ />
586
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
587
+ {item.name}
588
+ </S.ContentItem>
589
+ );
590
+ })}
591
+ {roomShape.name === 'custom' && (
592
+ <S.ContentItem>
593
+ <S.RoomContentImage
594
+ src="/assets/img/svg/firstsetting/Square.svg"
595
+ style={{ backgroundColor: 'rgb(217, 232, 255)' }}
596
+ />
597
+ <img
598
+ src="/assets/img/svg/firstsetting/pencil.svg"
599
+ style={{
600
+ position: 'absolute',
601
+ top: 10,
602
+ right: 10,
603
+ height: 35
604
+ }}
605
+ />
606
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
607
+ Custom
608
+ </S.ContentItem>
609
+ )}
610
+ </S.ContentWrapper1>
611
+ <S.ContentWrapper1>
612
+ {doorColor.name && (
613
+ <S.ContentWrapper2>
614
+ <span
615
+ style={{
616
+ fontSize: 20,
617
+ fontWeight: 'bold',
618
+ marginBottom: '25px'
619
+ }}
620
+ >
621
+ Color
622
+ </span>
623
+ <S.ColorContentItem>
624
+ <S.ColorContentImage
625
+ style={{
626
+ backgroundColor: doorColor.color,
627
+ backgroundImage: `url(${doorColor.url})`,
628
+ border: '5px solid #4C12A1'
629
+ }}
630
+ />
631
+ {doorColor.name}
632
+ </S.ColorContentItem>
633
+ </S.ContentWrapper2>
634
+ )}
635
+ {installation && doorCategory.name && (
636
+ <S.ContentWrapper2>
637
+ <span
638
+ style={{
639
+ fontSize: 20,
640
+ fontWeight: 'bold',
641
+ marginBottom: '25px'
642
+ }}
643
+ >
644
+ {installation}
645
+ </span>
646
+ <S.DoorStyleContentItem>
647
+ <S.DoorCategoryContentImageWrapper
648
+ style={{
649
+ backgroundColor: 'rgb(217, 232, 255'
650
+ }}
651
+ >
652
+ <S.DoorCategoryContentImage src={doorCategory.url} />
653
+ </S.DoorCategoryContentImageWrapper>
654
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
655
+ {doorCategory.name}
656
+ </S.DoorStyleContentItem>
657
+ </S.ContentWrapper2>
658
+ )}
659
+ {installation && doorCategory.name && doorStyle.name && (
660
+ <S.ContentWrapper2>
661
+ <span
662
+ style={{
663
+ fontSize: 20,
664
+ fontWeight: 'bold',
665
+ marginBottom: '25px'
666
+ }}
667
+ >
668
+ Finish
669
+ </span>
670
+ <S.DoorStyleContentItem>
671
+ <S.DoorCategoryContentImage
672
+ src={doorStyle.thumbnail}
673
+ style={{
674
+ padding: '10px 40px',
675
+ backgroundColor: 'rgb(217, 232, 255)',
676
+ height: 150,
677
+ margin: 'unset'
678
+ }}
679
+ />
680
+ <S.ContentCheckImage src="/assets/img/svg/firstsetting/check-active.svg" />
681
+ {doorStyle.name}
682
+ </S.DoorStyleContentItem>
683
+ </S.ContentWrapper2>
684
+ )}
685
+ </S.ContentWrapper1>
686
+ </S.ContentWrapper>
687
+ )
688
+ }
689
+ ];
690
+
691
+ return (
692
+ <S.FirstSettingWrapper>
693
+ <S.TitleBarWrapper>
694
+ <S.TitleBar>
695
+ {step === 1
696
+ ? 'Choose your room shape'
697
+ : step === 6
698
+ ? 'Summary'
699
+ : 'Choose your door style'}
700
+ </S.TitleBar>
701
+ <S.TitleBarButtonWrapper>
702
+ <S.TitleBarButton
703
+ style={{ border: 'none' }}
704
+ onClick={() => {
705
+ step > 1 && this.setState({ step: step - 1 });
706
+ switch (step) {
707
+ case 6:
708
+ this.setState({ doorStyle: '' });
709
+ break;
710
+ case 5:
711
+ this.setState({
712
+ doorCategory: { name: '', url: '' },
713
+ doorStyle: ''
714
+ });
715
+ break;
716
+ case 4:
717
+ this.setState({
718
+ installation: '',
719
+ doorCategory: { name: '', url: '' }
720
+ });
721
+ break;
722
+ case 3:
723
+ this.setState({ installation: '' });
724
+ break;
725
+ case 2:
726
+ this.setState({
727
+ doorColor: { name: '', url: '', color: '' }
728
+ });
729
+ default:
730
+ break;
731
+ }
732
+ }}
733
+ >
734
+ Cancel
735
+ </S.TitleBarButton>
736
+ <S.TitleBarButton
737
+ style={{ backgroundColor: 'rgb(0,185,185)' }}
738
+ onClick={() => {
739
+ step < 6 ? this.setState({ step: step + 1 }) : this._confirm();
740
+ }}
741
+ >
742
+ <img height="25px" src="/assets/img/svg/headerbar/check.svg" />
743
+ {step > 5 ? 'Confirm' : 'OK'}
744
+ </S.TitleBarButton>
745
+ </S.TitleBarButtonWrapper>
746
+ </S.TitleBarWrapper>
747
+ <S.StepBarWrapper>
748
+ {stepBar.map(element => {
749
+ switch (element.index) {
750
+ case 1:
751
+ return (
752
+ <S.StepBullet>
753
+ <S.StepBulletLabel>{element.title}</S.StepBulletLabel>
754
+ <S.StepBulletIcon
755
+ src={
756
+ step === element.index
757
+ ? '/assets/img/svg/firstsetting/bullet-current.svg'
758
+ : '/assets/img/svg/firstsetting/bullet-done.svg'
759
+ }
760
+ />
761
+ </S.StepBullet>
762
+ );
763
+ case 6:
764
+ return null;
765
+ default:
766
+ return (
767
+ <S.StepBullet>
768
+ <S.StepBarIcon
769
+ src={
770
+ step >= element.index - 1
771
+ ? '/assets/img/svg/firstsetting/bar-active.svg'
772
+ : '/assets/img/svg/firstsetting/bar-normal.svg'
773
+ }
774
+ />
775
+ <S.StepBulletLabel>{element.title}</S.StepBulletLabel>
776
+ <S.StepBulletIcon
777
+ src={
778
+ step === element.index
779
+ ? '/assets/img/svg/firstsetting/bullet-current.svg'
780
+ : step > element.index
781
+ ? '/assets/img/svg/firstsetting/bullet-done.svg'
782
+ : '/assets/img/svg/firstsetting/bullet-not-done.svg'
783
+ }
784
+ />
785
+ </S.StepBullet>
786
+ );
787
+ }
788
+ })}
789
+ </S.StepBarWrapper>
790
+ <div>
791
+ {stepBar[step - 1].description}
792
+ <br />
793
+ To get professional help, click on the{' '}
794
+ <strong>Designer Assistance</strong> button.
795
+ </div>
796
+ {stepBar[step - 1].content}
797
+ </S.FirstSettingWrapper>
798
+ );
799
+ }
800
+ }
801
+
802
+ FirstSetting.propTypes = {
803
+ state: PropTypes.object.isRequired,
804
+ content: PropTypes.number.isRequired
805
+ };
806
+
807
+ FirstSetting.contextTypes = {
808
+ projectActions: PropTypes.object.isRequired,
809
+ viewer2DActions: PropTypes.object.isRequired,
810
+ viewer3DActions: PropTypes.object.isRequired,
811
+ linesActions: PropTypes.object.isRequired,
812
+ itemsActions: PropTypes.object.isRequired,
813
+ catalog: PropTypes.object.isRequired
814
+ };