kitchen-simulator 5.0.0-test.18 → 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 (179) hide show
  1. package/package.json +8 -26
  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 -3
  7. package/src/components/catalog-view/catalog-breadcrumb.jsx +53 -0
  8. package/src/components/catalog-view/catalog-item.jsx +229 -0
  9. package/src/components/catalog-view/catalog-list.jsx +173 -0
  10. package/src/components/catalog-view/catalog-page-item.jsx +110 -0
  11. package/src/components/catalog-view/catalog-turn-back-page-item.jsx +80 -0
  12. package/src/components/configurator/custom-configurator.jsx +77 -0
  13. package/src/components/configurator/project-configurator.jsx +120 -0
  14. package/src/components/export.js +36 -0
  15. package/src/components/firstsetting/button/styles.js +223 -0
  16. package/src/components/firstsetting/export.js +9 -0
  17. package/src/components/firstsetting/firstsetting-content-button.jsx +198 -0
  18. package/src/components/firstsetting/firstsetting-toggle-button.jsx +101 -0
  19. package/src/components/firstsetting/firstsetting.jsx +814 -0
  20. package/src/components/footerbar/button/ControlButton.jsx +43 -0
  21. package/src/components/footerbar/button/DirectionButton.jsx +54 -0
  22. package/src/components/footerbar/button/DirectionPanSpinButton.jsx +36 -0
  23. package/src/components/footerbar/button/ToggleButton.jsx +58 -0
  24. package/src/components/footerbar/button/ToggleConvertButton.jsx +48 -0
  25. package/src/components/footerbar/button/ToggleMeasureButton.jsx +33 -0
  26. package/src/components/footerbar/button/styles.js +217 -0
  27. package/src/components/footerbar/export.js +9 -0
  28. package/src/components/footerbar/footer-content-button.jsx +198 -0
  29. package/src/components/footerbar/footer-toggle-button.jsx +101 -0
  30. package/src/components/footerbar/footerbar.jsx +1103 -0
  31. package/src/components/footerbar/styles.js +263 -0
  32. package/src/components/header/button/MenuButton.jsx +46 -0
  33. package/src/components/header/button/SaveButton.jsx +54 -0
  34. package/src/components/header/button/styles.js +181 -0
  35. package/src/components/header/export.js +5 -0
  36. package/src/components/header/header.jsx +631 -0
  37. package/src/components/header/header.style.css +47 -0
  38. package/src/components/header/styles.js +320 -0
  39. package/src/components/login/Login.js +77 -0
  40. package/src/components/login/LoginForm/index.js +108 -0
  41. package/src/components/login/Register.js +82 -0
  42. package/src/components/login/RegisterForm/index.js +171 -0
  43. package/src/components/login/jwtService.js +201 -0
  44. package/src/components/login/style.css +158 -0
  45. package/src/components/login/style.scss +260 -0
  46. package/src/components/myprojects/export.js +5 -0
  47. package/src/components/myprojects/index.jsx +445 -0
  48. package/src/components/myprojects/styles.js +241 -0
  49. package/src/components/sidebar/custom-accordion.jsx +48 -0
  50. package/src/components/sidebar/export.js +15 -0
  51. package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +73 -0
  52. package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +101 -0
  53. package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +149 -0
  54. package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +316 -0
  55. package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +108 -0
  56. package/src/components/sidebar/panel-element-editor/element-editor.jsx +1070 -0
  57. package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
  58. package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +104 -0
  59. package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +155 -0
  60. package/src/components/sidebar/panel-group-editor.jsx +272 -0
  61. package/src/components/sidebar/panel-groups.jsx +310 -0
  62. package/src/components/sidebar/panel-guides.jsx +192 -0
  63. package/src/components/sidebar/panel-layer-elements.jsx +298 -0
  64. package/src/components/sidebar/panel-layers.jsx +381 -0
  65. package/src/components/sidebar/panel.jsx +71 -0
  66. package/src/components/sidebar/sidebar.jsx +106 -0
  67. package/src/components/sidebar/toolbar-panel.jsx +139 -0
  68. package/src/components/sign/export.js +7 -0
  69. package/src/components/sign/main/index.jsx +523 -0
  70. package/src/components/sign/main/styles.js +163 -0
  71. package/src/components/toolbar/button/ControlButton.jsx +41 -0
  72. package/src/components/toolbar/button/DirectionButton.jsx +34 -0
  73. package/src/components/toolbar/button/RightButton.jsx +103 -0
  74. package/src/components/toolbar/button/ToggleButton.jsx +41 -0
  75. package/src/components/toolbar/button/index.jsx +55 -0
  76. package/src/components/toolbar/button/styles.js +127 -0
  77. package/src/components/toolbar/components/DoorStyleMenu.jsx +103 -0
  78. package/src/components/toolbar/components/Pricing.jsx +126 -0
  79. package/src/components/toolbar/components/ReviewForQuote.jsx +635 -0
  80. package/src/components/toolbar/export.js +21 -0
  81. package/src/components/toolbar/main/Alert.js +122 -0
  82. package/src/components/toolbar/main/TakePictureModal.jsx +104 -0
  83. package/src/components/toolbar/main/confirm-popup.jsx +99 -0
  84. package/src/components/toolbar/main/index.jsx +5627 -0
  85. package/src/components/toolbar/main/lShaped.json +311 -0
  86. package/src/components/toolbar/main/longNarrow.json +238 -0
  87. package/src/components/toolbar/main/myComponents.js +123 -0
  88. package/src/components/toolbar/main/oRectangle.json +220 -0
  89. package/src/components/toolbar/main/rectangle.json +238 -0
  90. package/src/components/toolbar/main/style.css +107 -0
  91. package/src/components/toolbar/main/styles.js +696 -0
  92. package/src/components/toolbar/plugin-item.jsx +123 -0
  93. package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +73 -0
  94. package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +102 -0
  95. package/src/components/toolbar/popup/appliance/index.jsx +83 -0
  96. package/src/components/toolbar/popup/autosaveprompt/index.jsx +150 -0
  97. package/src/components/toolbar/popup/autosaveprompt/styles.css +64 -0
  98. package/src/components/toolbar/popup/autosaveprompt/styles.js +40 -0
  99. package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +73 -0
  100. package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +119 -0
  101. package/src/components/toolbar/popup/cabinet/index.jsx +85 -0
  102. package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +63 -0
  103. package/src/components/toolbar/popup/doorStyle/index.jsx +71 -0
  104. package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +139 -0
  105. package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +2 -0
  106. package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +157 -0
  107. package/src/components/toolbar/popup/downloadsummary/index.jsx +643 -0
  108. package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +51 -0
  109. package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +175 -0
  110. package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +283 -0
  111. package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +2257 -0
  112. package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +93 -0
  113. package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +132 -0
  114. package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +2198 -0
  115. package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +152 -0
  116. package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +149 -0
  117. package/src/components/toolbar/popup/downloadsummary/styles.css +177 -0
  118. package/src/components/toolbar/popup/downloadsummary/styles.js +453 -0
  119. package/src/components/toolbar/popup/finishingtouch/category/index.jsx +34 -0
  120. package/src/components/toolbar/popup/finishingtouch/index.jsx +58 -0
  121. package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +112 -0
  122. package/src/components/toolbar/popup/finishingtouch/product/index.jsx +116 -0
  123. package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +101 -0
  124. package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +254 -0
  125. package/src/components/toolbar/popup/floorplan/choose-floor/lShaped.json +311 -0
  126. package/src/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +238 -0
  127. package/src/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +220 -0
  128. package/src/components/toolbar/popup/floorplan/choose-floor/rectangle.json +238 -0
  129. package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +86 -0
  130. package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +109 -0
  131. package/src/components/toolbar/popup/floorplan/index.jsx +60 -0
  132. package/src/components/toolbar/popup/index.jsx +241 -0
  133. package/src/components/toolbar/popup/newproject/index.jsx +59 -0
  134. package/src/components/toolbar/popup/newproject/styles.css +64 -0
  135. package/src/components/toolbar/popup/newproject/styles.js +41 -0
  136. package/src/components/toolbar/popup/product/appliance.jsx +54 -0
  137. package/src/components/toolbar/popup/product/cabinetproduct.jsx +15 -0
  138. package/src/components/toolbar/popup/product/doorstyle.jsx +58 -0
  139. package/src/components/toolbar/popup/product/doorstyleproduct.jsx +47 -0
  140. package/src/components/toolbar/popup/product/floor.jsx +36 -0
  141. package/src/components/toolbar/popup/product/floorproduct.jsx +42 -0
  142. package/src/components/toolbar/popup/product/index.jsx +36 -0
  143. package/src/components/toolbar/popup/product/primary.jsx +77 -0
  144. package/src/components/toolbar/popup/product/productline.jsx +93 -0
  145. package/src/components/toolbar/popup/product/reviewItem.jsx +427 -0
  146. package/src/components/toolbar/popup/product/reviewMolding.jsx +310 -0
  147. package/src/components/toolbar/popup/product/style.css +54 -0
  148. package/src/components/toolbar/popup/product/styles.js +260 -0
  149. package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +146 -0
  150. package/src/components/toolbar/popup/savedesign/index.jsx +495 -0
  151. package/src/components/toolbar/popup/savedesign/savedesign.style.css +16 -0
  152. package/src/components/toolbar/popup/savedesign/styles.js +151 -0
  153. package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +87 -0
  154. package/src/components/toolbar/popup/styles.js +909 -0
  155. package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +192 -0
  156. package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +96 -0
  157. package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +54 -0
  158. package/src/components/toolbar/popup/submitforquote/StepDots.jsx +25 -0
  159. package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +116 -0
  160. package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +38 -0
  161. package/src/components/toolbar/popup/submitforquote/index.jsx +698 -0
  162. package/src/components/toolbar/popup/submitforquote/styles.css +105 -0
  163. package/src/components/toolbar/popup/submitforquote/styles.js +294 -0
  164. package/src/components/toolbar/popup/submitprompt/index.jsx +89 -0
  165. package/src/components/toolbar/popup/submitprompt/styles.css +64 -0
  166. package/src/components/toolbar/popup/submitprompt/styles.js +42 -0
  167. package/src/components/toolbar/toolbar-button.jsx +90 -0
  168. package/src/components/toolbar/toolbar-load-button.jsx +36 -0
  169. package/src/components/toolbar/toolbar-save-button.jsx +32 -0
  170. package/src/components/wizardstep/button/styles.js +677 -0
  171. package/src/components/wizardstep/export.js +5 -0
  172. package/src/components/wizardstep/index.jsx +1372 -0
  173. package/src/components/wizardstep/styles.js +688 -0
  174. package/src/components/wizardstep/wizardstep-content-button.jsx +198 -0
  175. package/src/components/wizardstep/wizardstep-toggle-button.jsx +101 -0
  176. package/src/{_index.js → index.js} +4 -4
  177. package/src/renderer.jsx +466 -0
  178. package/src/actions/_export.js +0 -35
  179. package/src/components/_export.js +0 -11
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+
3
+ // import { FaSearch, FaPlus } from 'react-icons/fa';
4
+
5
+ // import * as S from '../styles';
6
+ import { FloorCategory } from './floor-category';
7
+ import { FloorChooseProduct } from './choose-floor';
8
+
9
+ import { DoubleToolbarButtonWithPopup } from '../';
10
+
11
+ const FloorplanToolbarButton = ({
12
+ props,
13
+ action,
14
+ drawAction,
15
+ dataSource,
16
+ subData,
17
+ trigger,
18
+ categoryCollapse,
19
+ productCollapse,
20
+ collapseAction,
21
+ mode,
22
+ closeAction,
23
+ isOpen
24
+ }) => {
25
+ let content = (
26
+ <FloorCategory
27
+ props={props}
28
+ action={action}
29
+ dataSource={dataSource.categories}
30
+ ></FloorCategory>
31
+ );
32
+ let content1 = (
33
+ <FloorChooseProduct
34
+ drawAction={drawAction}
35
+ closeAction={closeAction}
36
+ props={props}
37
+ dataSource={subData}
38
+ isExpand={!productCollapse}
39
+ mode={mode}
40
+ ></FloorChooseProduct>
41
+ );
42
+ return (
43
+ <DoubleToolbarButtonWithPopup
44
+ closeAction={closeAction}
45
+ mode={mode}
46
+ order={0}
47
+ isDouble={subData.length || subData === -1 || subData === -2}
48
+ collapse1={categoryCollapse}
49
+ collapse2={productCollapse}
50
+ collapseAction={collapseAction}
51
+ trigger={trigger}
52
+ children1={content1}
53
+ isOpen={isOpen}
54
+ >
55
+ {content}
56
+ </DoubleToolbarButtonWithPopup>
57
+ );
58
+ };
59
+
60
+ export default FloorplanToolbarButton;
@@ -0,0 +1,241 @@
1
+ import React, { useState } from 'react';
2
+ import { Popup as BasePopup } from 'reactjs-popup';
3
+ import { ZoomInOutlined, ZoomOutOutlined } from '@ant-design/icons';
4
+ import {
5
+ FaAngleDoubleLeft,
6
+ FaTimes,
7
+ FaTrash,
8
+ FaCopy,
9
+ FaExpand
10
+ } from 'react-icons/fa';
11
+ import {
12
+ // API_SERVER,
13
+ ARRAY_3D_MODES
14
+ } from '../../../constants';
15
+
16
+ import MaterialEdit from './finishingtouch/material-edit';
17
+ import * as S from './styles';
18
+
19
+ const Popup = ({
20
+ mode,
21
+ trigger,
22
+ children,
23
+ collapse,
24
+ collapseAction,
25
+ order,
26
+ isOpened,
27
+ closeAction
28
+ }) => {
29
+ let title = trigger.props.title;
30
+ return (
31
+ <BasePopup
32
+ onClose={closeAction}
33
+ open={isOpened}
34
+ closeOnDocumentClick
35
+ trigger={<div>{trigger}</div>}
36
+ position="right top"
37
+ offsetX={!ARRAY_3D_MODES.includes(mode) ? 99 : 10}
38
+ offsetY={-90.15 * order}
39
+ on={['click']}
40
+ mouseLeaveDelay={100}
41
+ arrow={false}
42
+ >
43
+ {closePopup => (
44
+ <S.Wrapper style={{ background: '#3e3e3f' }}>
45
+ <S.TitleBar>
46
+ <S.Title>{title}</S.Title>
47
+ <S.TitleBarIconButton onClick={closePopup}>
48
+ <S.IconButton>
49
+ <FaTimes />
50
+ </S.IconButton>
51
+ </S.TitleBarIconButton>
52
+ </S.TitleBar>
53
+ <S.ContentWrapper>{children}</S.ContentWrapper>
54
+ </S.Wrapper>
55
+ )}
56
+ </BasePopup>
57
+ );
58
+ };
59
+
60
+ const DoublePopup = ({
61
+ mode,
62
+ isDouble,
63
+ trigger,
64
+ children,
65
+ children1,
66
+ collapse1,
67
+ collapse2,
68
+ order,
69
+ isExpand,
70
+ expandAction,
71
+ isOpen,
72
+ closeAction,
73
+ applyMaterial
74
+ }) => {
75
+ function capitalize(s) {
76
+ return s.toLowerCase().replace(/\b./g, function (a) {
77
+ return a.toUpperCase();
78
+ });
79
+ }
80
+ let pathTitle1 = trigger.props.title1;
81
+ let pathTitle2 = trigger.props.title2;
82
+ let title1 = trigger.props.title;
83
+ let title2 = trigger.props.title;
84
+ if (pathTitle1.length > 0 && collapse1) {
85
+ title1 = '';
86
+ for (let i = 0; i < pathTitle1.length; i++) {
87
+ pathTitle1[i] = capitalize(pathTitle1[i]);
88
+ title1 += pathTitle1[i];
89
+ title1 += '/';
90
+ }
91
+ }
92
+ if (pathTitle2.length > 0 && collapse2) {
93
+ title2 = '';
94
+ for (let i = 0; i < pathTitle2.length; i++) {
95
+ title2 += pathTitle2[i];
96
+ title2 += '/';
97
+ }
98
+ }
99
+
100
+ return (
101
+ <BasePopup
102
+ closeOnDocumentClick
103
+ trigger={<div>{trigger}</div>}
104
+ position="right top"
105
+ offsetX={!ARRAY_3D_MODES.includes(mode) ? 99 : 10}
106
+ offsetY={-90.15 * order}
107
+ on={['click']}
108
+ mouseLeaveDelay={100}
109
+ arrow={false}
110
+ contentStyle={{ top: '110px!important' }}
111
+ open={isOpen}
112
+ onClose={closeAction}
113
+ >
114
+ {closePopup => (
115
+ <S.Wrapper>
116
+ <S.TitlesRow>
117
+ <S.TitleBar>
118
+ <S.Title>{title1}</S.Title>
119
+ <S.TitleBarIconButton
120
+ className={'popup-exit'}
121
+ onClick={closePopup}
122
+ >
123
+ <S.IconButton>
124
+ <FaTimes />
125
+ </S.IconButton>
126
+ </S.TitleBarIconButton>
127
+ {isExpand > -1 && (
128
+ <S.TitleBarIconButton>
129
+ <S.IconButton onClick={() => expandAction()}>
130
+ {title1 === 'Select Door Style' ? (
131
+ isExpand === 1 ? (
132
+ <ZoomOutOutlined style={{ fontSize: '14px' }} />
133
+ ) : (
134
+ <ZoomInOutlined style={{ fontSize: '14px' }} />
135
+ )
136
+ ) : (
137
+ <FaAngleDoubleLeft
138
+ style={{
139
+ transform:
140
+ isExpand === 1 ? 'rotate(0deg)' : 'rotate(180deg)'
141
+ }}
142
+ />
143
+ )}
144
+ </S.IconButton>
145
+ </S.TitleBarIconButton>
146
+ )}
147
+ </S.TitleBar>
148
+ <div style={{ display: 'grid', gridAutoFlow: 'column' }}>
149
+ <section>
150
+ <div style={{ backgroundColor: '#3e3e3f' }}>
151
+ {collapse2 ? children : ''}
152
+ <S.ClearFix />
153
+ </div>
154
+ </section>
155
+ <section style={{ display: isDouble ? 'block' : 'none' }}>
156
+ <div
157
+ style={{
158
+ backgroundColor: '#3e3e3f',
159
+ display: !collapse2 ? 'none' : 'block'
160
+ }}
161
+ >
162
+ {collapse2 ? children1 : ''}
163
+ <S.ClearFix />
164
+ {(title1.includes('Finishing Touch') ||
165
+ title1.includes('Appliance')) &&
166
+ process.env.MODE == 'staging' ? (
167
+ <MaterialEdit applyMaterial={applyMaterial} />
168
+ ) : null}
169
+ </div>
170
+ </section>
171
+ </div>
172
+ </S.TitlesRow>
173
+ </S.Wrapper>
174
+ )}
175
+ </BasePopup>
176
+ );
177
+ };
178
+
179
+ export const ToolbarButtonWithPopup = ({
180
+ mode,
181
+ order,
182
+ trigger,
183
+ children,
184
+ props,
185
+ collapseFlag,
186
+ collapseAction,
187
+ isOpened,
188
+ closeAction
189
+ }) => {
190
+ return (
191
+ <Popup
192
+ closeAction={closeAction}
193
+ mode={mode}
194
+ trigger={trigger}
195
+ props={props}
196
+ collapse1={collapseFlag}
197
+ collapseAction={collapseAction}
198
+ order={order}
199
+ isOpened={isOpened}
200
+ >
201
+ {children}
202
+ </Popup>
203
+ );
204
+ };
205
+
206
+ export const DoubleToolbarButtonWithPopup = ({
207
+ mode,
208
+ isOpen,
209
+ isExpand,
210
+ expandAction,
211
+ trigger,
212
+ children,
213
+ children1,
214
+ collapse1,
215
+ collapse2,
216
+ collapseAction,
217
+ isDouble,
218
+ order,
219
+ closeAction,
220
+ applyMaterial
221
+ }) => {
222
+ return (
223
+ <DoublePopup
224
+ closeAction={closeAction}
225
+ mode={mode}
226
+ isOpen={isOpen}
227
+ isExpand={isExpand}
228
+ expandAction={expandAction}
229
+ isDouble={isDouble}
230
+ trigger={trigger}
231
+ children1={children1}
232
+ collapse1={collapse1}
233
+ collapse2={collapse2}
234
+ collapseAction={collapseAction}
235
+ order={order}
236
+ applyMaterial={applyMaterial}
237
+ >
238
+ {children}
239
+ </DoublePopup>
240
+ );
241
+ };
@@ -0,0 +1,59 @@
1
+ import React from 'react';
2
+ import * as S from './styles';
3
+ import Dialog from '@material-ui/core/Dialog';
4
+ import styled from 'styled-components';
5
+
6
+ const StyledDialog = styled(Dialog)`
7
+ .MuiDialog-paperWidthSm {
8
+ border-radius: 10px;
9
+ }
10
+ `;
11
+ class NewProjectPopup extends React.Component {
12
+ constructor(props) {
13
+ super(props);
14
+ this.state = {
15
+ asking: sessionStorage.getItem('asking')
16
+ ? sessionStorage.getItem('asking')
17
+ : false
18
+ };
19
+ }
20
+
21
+ _submit() {
22
+ if (this.state.asking) sessionStorage.setItem('asking', true);
23
+ this.props.newProject();
24
+ this.closePanel();
25
+ }
26
+ closePanel() {
27
+ this.props.handleNewProject(false);
28
+ }
29
+
30
+ render() {
31
+ let { visible } = this.props;
32
+
33
+ return (
34
+ <StyledDialog open={visible} onClose={() => this.closePanel()}>
35
+ <S.DialogTitle>New Project</S.DialogTitle>
36
+ <S.DialogContent>
37
+ Would you like to <strong>start a new project</strong>?
38
+ {!this.props.isSaved && this.props.areas.size > 0 && (
39
+ <div>
40
+ <br />
41
+ <div>
42
+ <span>
43
+ It seems you have unsaved changes which will be lost if you
44
+ start a new project.
45
+ </span>
46
+ </div>
47
+ </div>
48
+ )}
49
+ </S.DialogContent>
50
+ <S.DialogAction>
51
+ <S.Button onClick={() => this.closePanel()}>Cancel</S.Button>
52
+ <S.Button onClick={() => this._submit()}>OK</S.Button>
53
+ </S.DialogAction>
54
+ </StyledDialog>
55
+ );
56
+ }
57
+ }
58
+
59
+ export default NewProjectPopup;
@@ -0,0 +1,64 @@
1
+ .container {
2
+ width: 60px;
3
+ position: relative;
4
+ padding-left: 20px;
5
+ cursor: pointer;
6
+ -webkit-user-select: none;
7
+ -moz-user-select: none;
8
+ -ms-user-select: none;
9
+ user-select: none;
10
+ }
11
+
12
+ /* Hide the browser's default checkbox */
13
+ .container input {
14
+ position: absolute;
15
+ opacity: 0;
16
+ cursor: pointer;
17
+ height: 0;
18
+ width: 0;
19
+ }
20
+
21
+ /* Create a custom checkbox */
22
+ .checkmark {
23
+ position: absolute;
24
+ top: 0;
25
+ left: 0;
26
+ height: 13px;
27
+ width: 13px;
28
+ background-color: #eee;
29
+ }
30
+
31
+ /* On mouse-over, add a grey background color */
32
+ .container:hover input ~ .checkmark {
33
+ background-color: #ccc;
34
+ }
35
+
36
+ /* When the checkbox is checked, add a blue background */
37
+ .container input:checked ~ .checkmark {
38
+ background-color: #2196f3;
39
+ }
40
+
41
+ /* Create the checkmark/indicator (hidden when not checked) */
42
+ .checkmark:after {
43
+ content: '';
44
+ position: absolute;
45
+ display: none;
46
+ }
47
+
48
+ /* Show the checkmark when checked */
49
+ .container input:checked ~ .checkmark:after {
50
+ display: block;
51
+ }
52
+
53
+ /* Style the checkmark/indicator */
54
+ .container .checkmark:after {
55
+ left: 4px;
56
+ top: 1px;
57
+ width: 3px;
58
+ height: 7px;
59
+ border: solid white;
60
+ border-width: 0 2px 2px 0;
61
+ -webkit-transform: rotate(45deg);
62
+ -ms-transform: rotate(45deg);
63
+ transform: rotate(45deg);
64
+ }
@@ -0,0 +1,41 @@
1
+ import styled from 'styled-components';
2
+ import {
3
+ BG_COLOR_HOVER,
4
+ DEFAULT_FONT_FAMILY,
5
+ SECONDARY_PURPLE_COLOR,
6
+ TEXT_COLOR_NEUTRAL_1
7
+ } from '../../../../constants';
8
+
9
+ export const DialogTitle = styled.span`
10
+ font-weight: bold;
11
+ color: ${TEXT_COLOR_NEUTRAL_1};
12
+ font-family: ${DEFAULT_FONT_FAMILY};
13
+ font-size: 26px;
14
+ padding: 25px 30px;
15
+ `;
16
+
17
+ export const DialogContent = styled.span`
18
+ font-family: ${DEFAULT_FONT_FAMILY};
19
+ color: ${TEXT_COLOR_NEUTRAL_1};
20
+ padding: 10px 30px;
21
+ `;
22
+
23
+ export const DialogAction = styled.div`
24
+ display: flex;
25
+ justify-content: flex-end;
26
+ padding: 15px 30px 25px;
27
+ `;
28
+
29
+ export const Button = styled.div`
30
+ padding: 10px 20px;
31
+ cursor: pointer;
32
+ margin-right: 10px;
33
+ color: ${SECONDARY_PURPLE_COLOR};
34
+ font-weight: bold;
35
+ font-family: ${DEFAULT_FONT_FAMILY};
36
+ font-size: 16px;
37
+ border-radius: 20px;
38
+ :hover {
39
+ background-color: ${BG_COLOR_HOVER};
40
+ }
41
+ `;
@@ -0,0 +1,54 @@
1
+ import React from 'react';
2
+
3
+ import * as S from './styles';
4
+ import * as MS from '../styles';
5
+
6
+ const lineWrapperStyle = {
7
+ padding: '5px 15px 8px'
8
+ };
9
+
10
+ const lineImageStyle = {
11
+ maxWidth: '100%'
12
+ };
13
+
14
+ const msButtonTitleStyle = {
15
+ top: '39%',
16
+ fontSize: '12'
17
+ };
18
+
19
+ export default function Appliance({ url, title, selected, onClick, name }) {
20
+ title = title.charAt(0).toUpperCase() + title.substr(1);
21
+ let isUrl = true;
22
+ if (url !== undefined && url.charAt(0) === '#') isUrl = false;
23
+ return (
24
+ <S.LineWrapper style={{ ...lineWrapperStyle }}>
25
+ <S.Control onClick={onClick}>
26
+ <S.LineImage>
27
+ {isUrl && (
28
+ <img
29
+ name={name}
30
+ src={url}
31
+ style={{ width: 75, height: 75, ...lineImageStyle }}
32
+ />
33
+ )}
34
+ {!isUrl && (
35
+ <div style={{ width: 75, height: 75, backgroundColor: url }}></div>
36
+ )}
37
+ </S.LineImage>
38
+ <div style={{ display: 'grid', marginLeft: '10px' }}>
39
+ <h4 style={{ width: 104 }}>{title}</h4>
40
+ <S.ControlIcon key={name}>
41
+ <img
42
+ width={'72px'}
43
+ name={name}
44
+ src={'/assets/img/svg/toolbar/use_button.svg'}
45
+ />
46
+ <MS.ButtonTitle style={{ ...msButtonTitleStyle }}>
47
+ {selected ? 'APPLIED' : 'USE'}
48
+ </MS.ButtonTitle>
49
+ </S.ControlIcon>
50
+ </div>
51
+ </S.Control>
52
+ </S.LineWrapper>
53
+ );
54
+ }
@@ -0,0 +1,15 @@
1
+ import React, { useState } from 'react';
2
+
3
+ import * as S from './styles';
4
+
5
+ export default function Product({ url, title, onClick, name }) {
6
+ const [newstate, setNewstate] = useState(false);
7
+ return (
8
+ <S.CabinetWrapper onClick={onClick}>
9
+ <div>
10
+ <img name={name} src={url} />
11
+ </div>
12
+ <S.Title>{title}</S.Title>
13
+ </S.CabinetWrapper>
14
+ );
15
+ }
@@ -0,0 +1,58 @@
1
+ import React, { useState } from 'react';
2
+ import styled from 'styled-components';
3
+
4
+ import * as S from './styles';
5
+ import * as SharedStyle from '../../../../shared-style';
6
+
7
+ const StyledSpan = styled.span`
8
+ color: ${props =>
9
+ props.idx === props.selOption && props.selSubOption === props.subOptionIdx
10
+ ? SharedStyle.SECONDARY_COLOR.main
11
+ : '#fff'};
12
+ margin-left: 23px;
13
+ font-size: 12px;
14
+ `;
15
+
16
+ export default function DoorStyle({
17
+ idx,
18
+ url,
19
+ onClick,
20
+ name,
21
+ selOption,
22
+ selSubOption,
23
+ subOptionIdx
24
+ }) {
25
+ name = name.charAt(0).toUpperCase() + name.substr(1);
26
+
27
+ return (
28
+ <S.PrimayDoorStyleLineWrapper
29
+ style={{
30
+ padding: '5px 5px 5px 20px',
31
+ borderBottom: '1px solid #2f2f2f',
32
+ height: 90
33
+ }}
34
+ onClick={onClick}
35
+ >
36
+ <div style={{ width: '100%', marginLeft: '10px', marginTop: '10px' }}>
37
+ <h4
38
+ style={{
39
+ display: 'flex',
40
+ alignItems: 'center',
41
+ marginTop: '3px',
42
+ marginBottom: '9px'
43
+ }}
44
+ >
45
+ <img height={'50'} name={name} src={url} />
46
+ <StyledSpan
47
+ idx={idx}
48
+ selOption={selOption}
49
+ subOptionIdx={subOptionIdx}
50
+ selSubOption={selSubOption}
51
+ >
52
+ {name}
53
+ </StyledSpan>
54
+ </h4>
55
+ </div>
56
+ </S.PrimayDoorStyleLineWrapper>
57
+ );
58
+ }
@@ -0,0 +1,47 @@
1
+ import React, { useState } from 'react';
2
+
3
+ import * as S from './styles';
4
+ import * as MS from '../styles';
5
+
6
+ export default function DoorStyleProduct({
7
+ url,
8
+ onClick,
9
+ name,
10
+ doorId,
11
+ isExpand,
12
+ selected,
13
+ currentTexture
14
+ }) {
15
+ name = name.charAt(0).toUpperCase() + name.substr(1);
16
+
17
+ return (
18
+ <S.PrimayDoorStyleLineWrapper style={{ padding: '5px 15px 5px' }}>
19
+ <S.Control onClick={onClick}>
20
+ <div
21
+ style={{
22
+ width: '100%',
23
+ display: 'grid',
24
+ justifyItems: isExpand === 1 ? 'center' : 'left'
25
+ }}
26
+ >
27
+ <S.LineImage>
28
+ <img width={isExpand === 1 ? 196 : 85} name={name} src={url} />
29
+ </S.LineImage>
30
+ <h4 style={{ marginTop: '4px', marginBottom: '4px' }}>
31
+ <span style={{ fontSize: isExpand === 1 ? 18 : 10 }}>{name}</span>
32
+ </h4>
33
+ <S.ControlIcon key={name}>
34
+ <img
35
+ width={isExpand === 1 ? 100 : 72}
36
+ name={name}
37
+ src={'/assets/img/svg/toolbar/apply_button.svg'}
38
+ />
39
+ <MS.ButtonTitle style={{ top: '37%', fontSize: 10.5 }}>
40
+ {selected(doorId) ? 'APPLIED' : 'USE'}
41
+ </MS.ButtonTitle>
42
+ </S.ControlIcon>
43
+ </div>
44
+ </S.Control>
45
+ </S.PrimayDoorStyleLineWrapper>
46
+ );
47
+ }
@@ -0,0 +1,36 @@
1
+ import React, { useState } from 'react';
2
+
3
+ import * as S from './styles';
4
+
5
+ const STYLE_TITLE = {
6
+ fontSize: '12px',
7
+ color: '#fff',
8
+ padding: '10px',
9
+ // backgroundColor: '#3e3e3f',
10
+ margin: '0px',
11
+ cursor: 'pointer',
12
+ display: 'flex',
13
+ height: '85px',
14
+ justifyContent: 'start',
15
+ alignItems: 'center'
16
+ };
17
+ // const STYLE_CONTENT = {
18
+ // fontSize: '10px',
19
+ // color: 'rgba(222, 222, 222, 1)',
20
+ // padding: '0px',
21
+ // backgroundColor: '#28292d',
22
+ // };
23
+ // const STYLE_ARROW = {
24
+ // float: 'right'
25
+ // };
26
+
27
+ export default function Floor({ url, title, onClick, name }) {
28
+ return (
29
+ <S.PlanWraper onClick={onClick}>
30
+ <h3 style={{ ...STYLE_TITLE, paddingLeft: url ? 15 : 0 }}>
31
+ {url !== null && <img name={name} src={url} height={48} />}
32
+ <span style={{ marginLeft: 23 }}> {title} </span>
33
+ </h3>
34
+ </S.PlanWraper>
35
+ );
36
+ }