kitchen-simulator 4.4.3 → 4.4.4

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.
@@ -0,0 +1,9 @@
1
+ // skin panel SKU
2
+ export var SKIN_SKU_BSV_24 = 'BSV'; // 23.25" x 34.5" : For base cabinets
3
+ export var SKIN_SKU_BSV_48 = 'BSV48'; // 48" x 34.5" : For base cabinets back-to-back or island backs
4
+ export var SKIN_SKU_WSV_1242 = 'WSV1242'; // 11.25" x 42" : For 12" deep wall cabinets
5
+ export var SKIN_SKU_WSV_2442 = 'WSV2442'; // 23.25" x 42" : For 24" deep wall cabinets
6
+ export var SKIN_SKU_WSV_2460 = 'WSV2460'; // Usually used for CT3DR or CT2DR SKUs + stacked wall cabinets
7
+ export var SKIN_SKU_USV245325 = 'USV2453.25'; // 23.25" x 53.25" : For tall cabinets
8
+
9
+ export var SKIN_HEIGHT_53_25 = 53.25; // in inch, height of the skin with SKU USV245325
package/es/constants.js CHANGED
@@ -771,13 +771,4 @@ export var ROOM_SHAPE_TYPE = {
771
771
  export var DOORSTYLE_SCOPE_ALL = 'all';
772
772
  export var DOORSTYLE_SCOPE_SINGLE = 'single';
773
773
  export var DOORSTYLE_SCOPE_MULTIPLE = 'multiple';
774
-
775
- // skin panel SKU
776
- export var SKIN_SKU_BSV_24 = 'BSV'; // 23.25" x 34.5" : For base cabinets
777
- export var SKIN_SKU_BSV_48 = 'BSV48'; // 48" x 34.5" : For base cabinets back-to-back or island backs
778
- export var SKIN_SKU_WSV_1242 = 'WSV1242'; // 11.25" x 42" : For 12" deep wall cabinets
779
- export var SKIN_SKU_WSV_2442 = 'WSV2442'; // 23.25" x 42" : For 24" deep wall cabinets
780
- export var SKIN_SKU_WSV_2460 = 'WSV2460'; // Usually used for CT3DR or CT2DR SKUs + stacked wall cabinets
781
- export var SKIN_SKU_USV245325 = 'USV2453.25'; // 23.25" x 53.25" : For tall cabinets
782
-
783
774
  export var DEFAULT_MOLDING_PIECE_LENGTH = 96; // in inch, 8 feet, standard length for molding pieces
@@ -2,11 +2,12 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
2
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
3
3
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
4
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
- import { BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS, OVERLAP_INCLUDED, OVERLAP_SAME, OVERLAP_LINK, OVERLAP_SOME, EPSILON, SKIN_SKU_BSV_24, SKIN_SKU_BSV_48, SKIN_SKU_WSV_1242, SKIN_SKU_WSV_2442, SKIN_SKU_WSV_2460, SKIN_SKU_USV245325 } from "../constants";
5
+ import { BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS, OVERLAP_INCLUDED, OVERLAP_SAME, OVERLAP_LINK, OVERLAP_SOME, EPSILON } from "../constants";
6
6
  import { buildRectFromLines, getAllLines, pointsDistance, relationshipOfTwoOverlappedLines, rotatePointAroundPoint } from "./geometry";
7
7
  import { MathUtils } from "./export";
8
8
  import { convert } from "./convert-units-lite";
9
9
  import { getSkuAliasFromCatalog, isEmpty } from "./helper";
10
+ import { SKIN_SKU_BSV_24, SKIN_SKU_BSV_48, SKIN_SKU_WSV_1242, SKIN_SKU_WSV_2442, SKIN_SKU_WSV_2460, SKIN_SKU_USV245325, SKIN_HEIGHT_53_25 } from "../constants/catalog/skinPanel";
10
11
  function toCm(item, prop) {
11
12
  var unit = item.properties.get(prop).get('_unit') || 'cm';
12
13
  var value = item.properties.get(prop).get('_length');
@@ -30,7 +31,8 @@ export function getSideFaces(item, layer) {
30
31
  var overlapList = [OVERLAP_INCLUDED, OVERLAP_SAME, OVERLAP_SOME];
31
32
  var pos = [[-1, -1], [1, -1], [1, 1], [-1, 1]];
32
33
  for (var i = 0; i < 4; i++) {
33
- if (i === 0 || i === 2) continue; // only left & right
34
+ if (i === 0) continue; // only left & right & base cabinet's back
35
+ if (i === 2 && item.layoutpos !== BASE_CABINET_LAYOUTPOS) continue;
34
36
  var isSnappedToWall = false;
35
37
  var v0 = rotateCorner(pos[i], item, widthCm, depthCm);
36
38
  var v1 = rotateCorner(pos[(i + 1) % 4], item, widthCm, depthCm);
@@ -64,7 +66,7 @@ export function getSideFaces(item, layer) {
64
66
  var skinPanelSKU = 'unknown';
65
67
  switch (item.layoutpos) {
66
68
  case BASE_CABINET_LAYOUTPOS:
67
- skinPanelSKU = SKIN_SKU_BSV_24;
69
+ skinPanelSKU = i === 2 ? 'unknown' : SKIN_SKU_BSV_24;
68
70
  break;
69
71
  case WALL_CABINET_LAYOUTPOS:
70
72
  if (Math.abs(depthInch - 12) <= 1) skinPanelSKU = SKIN_SKU_WSV_1242;else if (Math.abs(depthInch - 24) <= 1) skinPanelSKU = SKIN_SKU_WSV_2442;
@@ -84,6 +86,7 @@ export function getSideFaces(item, layer) {
84
86
  // inch unit
85
87
  height: heightInch,
86
88
  // inch unit
89
+ isBackFace: i === 2 ? true : false,
87
90
  skinPanelSKU: skinPanelSKU,
88
91
  itemInfo: item.toJS()
89
92
  });
@@ -113,26 +116,138 @@ function collectFaces(items, layer) {
113
116
  }
114
117
  return faces;
115
118
  }
119
+
120
+ /**
121
+ * @param {*} faceSegs
122
+ * @param {*} otherFaces
123
+ * @returns
124
+ */
125
+ function getTrimmedFaceSegs(faceSegs, otherFaces, cnt) {
126
+ try {
127
+ cnt++;
128
+ if (cnt > 5000) {
129
+ console.log('getTrimmedFaceSegs has limited!');
130
+ return [];
131
+ }
132
+ var returnSegs = [];
133
+ var _loop = function _loop() {
134
+ var iFace = faceSegs[i];
135
+ var srcLine = iFace.sectionLine;
136
+ var bContourSeg = true;
137
+ var _loop2 = function _loop2(j) {
138
+ var destLine = otherFaces[j].sectionLine;
139
+ var rst = relationshipOfTwoOverlappedLines(srcLine, destLine);
140
+ if (rst.result == OVERLAP_SAME || rst.result == OVERLAP_INCLUDED) {
141
+ bContourSeg = false;
142
+ return 0; // break
143
+ } else if (rst.result == OVERLAP_SOME) {
144
+ var trimmedFaceSegs = [];
145
+ rst.trimmedSegs.forEach(function (lineSeg) {
146
+ trimmedFaceSegs.push({
147
+ sectionLine: lineSeg,
148
+ // cm unit
149
+ zBottom: iFace.zBottom,
150
+ // cm unit
151
+ zTop: iFace.zTop,
152
+ // cm unit
153
+ depth: iFace.depthInch,
154
+ // inch unit
155
+ height: iFace.heightInch,
156
+ // inch unit
157
+ isBackFace: iFace.isBackFace,
158
+ skinPanelSKU: iFace.skinPanelSKU,
159
+ itemInfo: iFace.itemInfo
160
+ });
161
+ });
162
+ var tFaceSegs = getTrimmedFaceSegs(trimmedFaceSegs, otherFaces.filter(function (v, idx) {
163
+ return idx !== j;
164
+ }), cnt);
165
+ if (tFaceSegs.length > 0) returnSegs = [].concat(_toConsumableArray(returnSegs), _toConsumableArray(tFaceSegs));
166
+ bContourSeg = false;
167
+ return 0; // break
168
+ }
169
+ },
170
+ _ret;
171
+ for (var j = 0; j < otherFaces.length; j++) {
172
+ _ret = _loop2(j);
173
+ if (_ret === 0) break;
174
+ }
175
+ if (bContourSeg) returnSegs.push(faceSegs[i]);
176
+ };
177
+ for (var i = 0; i < faceSegs.length; i++) {
178
+ _loop();
179
+ }
180
+ return returnSegs;
181
+ } catch (e) {
182
+ console.log('getTrimmedFaceSegs catched :', e);
183
+ return [];
184
+ }
185
+ }
116
186
  function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
117
187
  var overlapList = [OVERLAP_INCLUDED, OVERLAP_SAME];
118
188
  var removeIdxs = [];
189
+ var newFaces = []; // new countour edge segment that except the overlapped part
190
+
119
191
  for (var i = 0; i < sourceFaces.length; i++) {
120
192
  var iFace = sourceFaces[i];
121
193
  for (var j = 0; j < blockingFaces.length; j++) {
194
+ var _relationship$trimmed;
122
195
  if (sourceFaces === blockingFaces && i === j) continue;
123
196
  var jFace = blockingFaces[j];
124
- if (overlapList.includes(relationshipOfTwoOverlappedLines(iFace.sectionLine, jFace.sectionLine).result)) {
125
- var verticallyIncluded = (iFace.zBottom > jFace.zBottom || Math.abs(iFace.zBottom - jFace.zBottom) < EPSILON) && (iFace.zTop < jFace.zTop || Math.abs(iFace.zTop - jFace.zTop) < EPSILON);
126
- if (verticallyIncluded) {
197
+ var verticallyIncluded = (iFace.zBottom > jFace.zBottom || Math.abs(iFace.zBottom - jFace.zBottom) < EPSILON) && (iFace.zTop < jFace.zTop || Math.abs(iFace.zTop - jFace.zTop) < EPSILON);
198
+ var verticallyOverlappedTopPart = jFace.zBottom < iFace.zTop && jFace.zBottom > iFace.zBottom && Math.abs(jFace.zBottom - iFace.zTop) > EPSILON && Math.abs(jFace.zBottom - iFace.zBottom) > EPSILON;
199
+ var verticallyOverlappedBottomPart = jFace.zTop < iFace.zTop && jFace.zTop > iFace.zBottom && Math.abs(jFace.zTop - iFace.zTop) > EPSILON && Math.abs(jFace.zTop - iFace.zBottom) > EPSILON;
200
+ var relationship = relationshipOfTwoOverlappedLines(iFace.sectionLine, jFace.sectionLine);
201
+ if (overlapList.includes(relationship.result)) {
202
+ if (verticallyIncluded) removeIdxs.push(i);else if (verticallyOverlappedTopPart) {
127
203
  removeIdxs.push(i);
128
- break;
204
+ newFaces.push({
205
+ sectionLine: iFace.sectionLine,
206
+ // cm unit
207
+ zBottom: iFace.zBottom,
208
+ // cm unit
209
+ zTop: jFace.zBottom,
210
+ // cm unit
211
+ depth: iFace.depthInch,
212
+ // inch unit
213
+ height: toIn(jFace.zBottom - iFace.zBottom),
214
+ // inch unit
215
+ isBackFace: iFace.isBackFace,
216
+ skinPanelSKU: iFace.skinPanelSKU,
217
+ itemInfo: iFace.itemInfo
218
+ });
219
+ } else if (verticallyOverlappedBottomPart) {
220
+ removeIdxs.push(i);
221
+ newFaces.push({
222
+ sectionLine: iFace.sectionLine,
223
+ // cm unit
224
+ zBottom: jFace.zTop,
225
+ // cm unit
226
+ zTop: iFace.zTop,
227
+ // cm unit
228
+ depth: iFace.depthInch,
229
+ // inch unit
230
+ height: toIn(iFace.zTop - jFace.zTop),
231
+ // inch unit
232
+ isBackFace: iFace.isBackFace,
233
+ skinPanelSKU: iFace.skinPanelSKU,
234
+ itemInfo: iFace.itemInfo
235
+ });
129
236
  }
237
+ break;
238
+ } else if (relationship.result === OVERLAP_SOME && ((_relationship$trimmed = relationship.trimmedSegs) === null || _relationship$trimmed === void 0 ? void 0 : _relationship$trimmed.length) > 0 && verticallyIncluded) {
239
+ removeIdxs.push(i);
240
+ var tFaceSegs = getTrimmedFaceSegs([iFace], blockingFaces, 0);
241
+ if (tFaceSegs.length > 0) newFaces = [].concat(_toConsumableArray(newFaces), _toConsumableArray(tFaceSegs));
242
+ break;
130
243
  }
131
244
  }
132
245
  }
133
- return sourceFaces.filter(function (face, idx) {
246
+ sourceFaces = sourceFaces.filter(function (face, idx) {
134
247
  return !removeIdxs.includes(idx);
135
248
  });
249
+ if (newFaces.length > 0) sourceFaces = [].concat(_toConsumableArray(sourceFaces), _toConsumableArray(newFaces));
250
+ return sourceFaces;
136
251
  }
137
252
  function applyGroupingRules(faces) {
138
253
  var _applyHorizontalGroup = applyHorizontalGrouping(faces),
@@ -173,7 +288,8 @@ function applyHorizontalGrouping(faces) {
173
288
  // inch unit
174
289
  height: jFace.height,
175
290
  // inch unit
176
- skinPanelSKU: SKIN_SKU_BSV_48,
291
+ isBackFace: jFace.isBackFace,
292
+ skinPanelSKU: jFace.isBackFace ? 'unknown' : SKIN_SKU_BSV_48,
177
293
  itemInfo: jFace.itemInfo // [TODO] how to select the doorstyle of grouped skin
178
294
  });
179
295
  removeIdxs.push(i);
@@ -216,6 +332,7 @@ function applyVerticalGrouping(faces) {
216
332
  // inch unit
217
333
  height: jFace.height,
218
334
  // inch unit
335
+ isBackFace: jFace.isBackFace,
219
336
  skinPanelSKU: SKIN_SKU_WSV_2460,
220
337
  itemInfo: jFace.itemInfo // [TODO] how to select the doorstyle of grouped skin
221
338
  });
@@ -243,9 +360,10 @@ function resolveTallCabinetBundle(face) {
243
360
  if (isMP3TallCabinet(item.sku_number)) {
244
361
  return [SKIN_SKU_BSV_24, SKIN_SKU_BSV_24, SKIN_SKU_WSV_2442];
245
362
  }
246
-
247
- // fallback
248
- return [SKIN_SKU_USV245325, SKIN_SKU_WSV_2442];
363
+ if (face.height > SKIN_HEIGHT_53_25) {
364
+ return [SKIN_SKU_USV245325, SKIN_SKU_WSV_2442];
365
+ }
366
+ return face !== null && face !== void 0 && face.skinPanelSKU ? [face.skinPanelSKU] : [];
249
367
  }
250
368
 
251
369
  /**
@@ -263,34 +381,38 @@ function resolveSkinPanelSKU(face) {
263
381
  * Make skin panel data with grouping skinPanelSKU & doorStyle
264
382
  */
265
383
  function buildSkinPanelData(faces) {
266
- var result = [];
267
- var _loop = function _loop() {
384
+ var tempResult = [];
385
+ var _loop3 = function _loop3() {
268
386
  var sf = faces[i];
269
387
  var skus = resolveSkinPanelSKU(sf);
270
388
  var _iterator = _createForOfIteratorHelper(skus),
271
389
  _step;
272
390
  try {
273
- var _loop2 = function _loop2() {
391
+ var _loop5 = function _loop5() {
274
392
  var sku = _step.value;
275
- var idx = result.findIndex(function (v) {
393
+ var idx = tempResult.findIndex(function (v) {
276
394
  var _sf$itemInfo;
277
- return v.itemSKU === sku && v.doorStyleId === ((_sf$itemInfo = sf.itemInfo) === null || _sf$itemInfo === void 0 || (_sf$itemInfo = _sf$itemInfo.doorStyle) === null || _sf$itemInfo === void 0 ? void 0 : _sf$itemInfo.id);
395
+ return v.itemSKU === sku && v.doorStyleId === ((_sf$itemInfo = sf.itemInfo) === null || _sf$itemInfo === void 0 || (_sf$itemInfo = _sf$itemInfo.doorStyle) === null || _sf$itemInfo === void 0 ? void 0 : _sf$itemInfo.id) && v.isBackFace === sf.isBackFace;
278
396
  });
279
397
  if (idx < 0) {
280
398
  var _sf$itemInfo$doorStyl, _sf$itemInfo2, _sf$itemInfo$doorStyl2, _sf$itemInfo3;
281
- result.push({
399
+ tempResult.push({
282
400
  itemSKU: sku,
283
401
  doorStyle: (_sf$itemInfo$doorStyl = (_sf$itemInfo2 = sf.itemInfo) === null || _sf$itemInfo2 === void 0 || (_sf$itemInfo2 = _sf$itemInfo2.doorStyle) === null || _sf$itemInfo2 === void 0 ? void 0 : _sf$itemInfo2.name) !== null && _sf$itemInfo$doorStyl !== void 0 ? _sf$itemInfo$doorStyl : '',
284
402
  doorStyleId: (_sf$itemInfo$doorStyl2 = (_sf$itemInfo3 = sf.itemInfo) === null || _sf$itemInfo3 === void 0 || (_sf$itemInfo3 = _sf$itemInfo3.doorStyle) === null || _sf$itemInfo3 === void 0 ? void 0 : _sf$itemInfo3.id) !== null && _sf$itemInfo$doorStyl2 !== void 0 ? _sf$itemInfo$doorStyl2 : '',
285
403
  installationType: 'standard',
286
- quantity: 1
404
+ quantity: 1,
405
+ totalLength: toIn(pointsDistance(sf.sectionLine.x1, sf.sectionLine.y1, sf.sectionLine.x2, sf.sectionLine.y2)),
406
+ isBackFace: sf.isBackFace
287
407
  });
288
408
  } else {
289
- result[idx].quantity += 1;
409
+ var faceLength = pointsDistance(sf.sectionLine.x1, sf.sectionLine.y1, sf.sectionLine.x2, sf.sectionLine.y2);
410
+ tempResult[idx].totalLength += toIn(faceLength);
411
+ tempResult[idx].quantity += 1;
290
412
  }
291
413
  };
292
414
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
293
- _loop2();
415
+ _loop5();
294
416
  }
295
417
  } catch (err) {
296
418
  _iterator.e(err);
@@ -299,8 +421,71 @@ function buildSkinPanelData(faces) {
299
421
  }
300
422
  };
301
423
  for (var i = 0; i < faces.length; i++) {
302
- _loop();
424
+ _loop3();
425
+ }
426
+
427
+ // calculate back face panel quantity of island base cabinets
428
+ var removeIdxs = [];
429
+ var newDatas = [];
430
+ var _loop4 = function _loop4() {
431
+ var iData = tempResult[_i];
432
+ if (iData.isBackFace) {
433
+ removeIdxs.push(_i);
434
+ var count48 = Math.floor(iData.totalLength / 48);
435
+ var count24 = iData.totalLength % 48 > 0 ? 1 : 0;
436
+ var idx48 = tempResult.findIndex(function (v) {
437
+ return v.itemSKU === SKIN_SKU_BSV_48 && v.doorStyleId === iData.doorStyleId;
438
+ });
439
+ var idx24 = tempResult.findIndex(function (v) {
440
+ return v.itemSKU === SKIN_SKU_BSV_24 && v.doorStyleId === iData.doorStyleId;
441
+ });
442
+ if (idx48 < 0) {
443
+ if (count48 > 0) newDatas.push({
444
+ itemSKU: SKIN_SKU_BSV_48,
445
+ doorStyle: iData.doorStyle,
446
+ doorStyleId: iData.doorStyleId,
447
+ installationType: iData.installationType,
448
+ quantity: count48,
449
+ totalLength: count48 * 48,
450
+ isBackFace: iData.isBackFace
451
+ });
452
+ } else {
453
+ tempResult[idx48].quantity += count48;
454
+ tempResult[idx48].totalLength += count48 * 48;
455
+ }
456
+ if (idx24 < 0) {
457
+ if (count24 > 0) newDatas.push({
458
+ itemSKU: SKIN_SKU_BSV_24,
459
+ doorStyle: iData.doorStyle,
460
+ doorStyleId: iData.doorStyleId,
461
+ installationType: iData.installationType,
462
+ quantity: count24,
463
+ totalLength: count24 * 24,
464
+ isBackFace: iData.isBackFace
465
+ });
466
+ } else {
467
+ tempResult[idx24].quantity += count24;
468
+ tempResult[idx24].totalLength += count24 * 24;
469
+ }
470
+ }
471
+ };
472
+ for (var _i = 0; _i < tempResult.length; _i++) {
473
+ _loop4();
303
474
  }
475
+ tempResult = tempResult.filter(function (data, idx) {
476
+ return !removeIdxs.includes(idx);
477
+ });
478
+ if (newDatas.length > 0) tempResult = [].concat(_toConsumableArray(tempResult), newDatas);
479
+ var result = [];
480
+ tempResult.forEach(function (v) {
481
+ return result.push({
482
+ itemSKU: v.itemSKU,
483
+ doorStyle: v.doorStyle,
484
+ doorStyleId: v.doorStyleId,
485
+ installationType: v.installationType,
486
+ quantity: v.quantity
487
+ });
488
+ });
304
489
  return result;
305
490
  }
306
491
  function shouldExcludeSkinPanel(itemJS, exclusionSet, catalog) {
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SKIN_SKU_WSV_2460 = exports.SKIN_SKU_WSV_2442 = exports.SKIN_SKU_WSV_1242 = exports.SKIN_SKU_USV245325 = exports.SKIN_SKU_BSV_48 = exports.SKIN_SKU_BSV_24 = exports.SKIN_HEIGHT_53_25 = void 0;
7
+ // skin panel SKU
8
+ var SKIN_SKU_BSV_24 = exports.SKIN_SKU_BSV_24 = 'BSV'; // 23.25" x 34.5" : For base cabinets
9
+ var SKIN_SKU_BSV_48 = exports.SKIN_SKU_BSV_48 = 'BSV48'; // 48" x 34.5" : For base cabinets back-to-back or island backs
10
+ var SKIN_SKU_WSV_1242 = exports.SKIN_SKU_WSV_1242 = 'WSV1242'; // 11.25" x 42" : For 12" deep wall cabinets
11
+ var SKIN_SKU_WSV_2442 = exports.SKIN_SKU_WSV_2442 = 'WSV2442'; // 23.25" x 42" : For 24" deep wall cabinets
12
+ var SKIN_SKU_WSV_2460 = exports.SKIN_SKU_WSV_2460 = 'WSV2460'; // Usually used for CT3DR or CT2DR SKUs + stacked wall cabinets
13
+ var SKIN_SKU_USV245325 = exports.SKIN_SKU_USV245325 = 'USV2453.25'; // 23.25" x 53.25" : For tall cabinets
14
+
15
+ var SKIN_HEIGHT_53_25 = exports.SKIN_HEIGHT_53_25 = 53.25; // in inch, height of the skin with SKU USV245325
package/lib/constants.js CHANGED
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.END_DRAWING_ITEM = exports.END_DRAWING_HOLE_3D = exports.END_DRAWING_HOLE = exports.END_DRAGGING_VERTEX = exports.END_DRAGGING_LINE = exports.END_DRAGGING_ITEM_3D = exports.END_DRAGGING_ITEM = exports.END_DRAGGING_HOLE_3D = exports.END_DRAGGING_HOLE = exports.END_CREATING_HOLE = exports.END_CREATING_CABINET = exports.ELEVATION_VIEW_TITLE = exports.ELEVATION_VIEW_RIGHT = exports.ELEVATION_VIEW_LEFT = exports.ELEVATION_VIEW_KEYWORD = exports.ELEVATION_VIEW_FRONT = exports.ELEVATION_VIEW_BACK = exports.ELEVATION_VIEW = exports.ELEMENT_VERTEX = exports.ELEMENT_LINE = exports.ELEMENT_ITEM = exports.ELEMENT_HOLE = exports.ELEMENT_AREA = exports.EDIT_WIDTH = exports.EDIT = exports.DUPLICATE_SELECTED = exports.DOORSTYLE_SCOPE_SINGLE = exports.DOORSTYLE_SCOPE_MULTIPLE = exports.DOORSTYLE_SCOPE_ALL = exports.DISTANCE_MEASUREMENT_LINE_COLOR = exports.DISTANCE_EPSILON = exports.DIFFERENT_VALUES_PATH_LENGTH = exports.DELTA = exports.DEFAULT_MOLDING_PIECE_LENGTH = exports.DEFAULT_FONT_FAMILY = exports.DECIMAL_PLACES_3 = exports.DECIMAL_PLACES_2 = exports.DASH_LINE_COLOR = exports.CREATE_ROOM_WITH_SHAPE = exports.COPY_PROPERTIES = exports.CLIENTS_NAME = exports.CHANGE_WINDOW_DOOR_MEASURE = exports.CHANGE_WALL_LENGTH_MEASURE = exports.CHANGE_WALL_CABINET_MEASURE = exports.CHANGE_MEASUREMENT_UNIT = exports.CHANGE_CATALOG_PAGE = exports.CHANGE_BASE_CABINET_MEASURE = exports.CEIL_UNITS_LENGTH = exports.BROWN_COLOR = exports.BOTTOM_MOLDING_LOCATION = exports.BOTTOM = exports.BG_COLOR_OVERLAY = exports.BG_COLOR_HOVER = exports.BG_COLOR_1 = exports.BG_COLOR_0 = exports.BEGIN_UPLOADING_IMAGE = exports.BEGIN_ROTATING_ITEM_3D = exports.BEGIN_ROTATING_ITEM = exports.BEGIN_FITTING_IMAGE = exports.BEGIN_DRAWING_LINE = exports.BEGIN_DRAGGING_VERTEX = exports.BEGIN_DRAGGING_LINE = exports.BEGIN_DRAGGING_ITEM_3D = exports.BEGIN_DRAGGING_ITEM = exports.BEGIN_DRAGGING_HOLE_3D = exports.BEGIN_DRAGGING_HOLE = exports.BASE_ITEM_MEASUREMENT_LINE_COLOR = exports.BASE_CABINET_LAYOUTPOS = exports.BACK_DIST_ANG = exports.ATT_VERTEXT_TWO = exports.ATT_VERTEXT_ONE = exports.ATT_LINE_LENGTH = exports.ATT_ITEM_ROTATION = exports.ATT_ITEM_POS = exports.ATT_HOLE_OFFSET_B = exports.ATT_HOLE_OFFSET_A = exports.ARROW_TEXT_FORECOLOR = exports.ARROW_TEXT_FONTFACE = exports.ARROW_TEXT_BACKCOLOR = exports.ARROW_COLOR = exports.ARRAY_ELEVATION_VIEW_MODES = exports.ARRAY_3D_MODES = exports.AREA_ACTIONS = exports.API_SERVER_URL = exports.ANIMATE_STEP_MIN = exports.ANIMATE_STEP_MAX = exports.ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT = exports.ANIMATE_OBJECT = exports.ALTERATE_STATE = exports.ADD_VERTICAL_GUIDE = exports.ADD_TO_GROUP = exports.ADD_LAYER = exports.ADD_HORIZONTAL_GUIDE = exports.ADD_GROUP_FROM_SELECTED = exports.ADD_GROUP = exports.ADD_ELEMENT_TO_CATALOG = exports.ADD_CIRCULAR_GUIDE = exports.ADD_CABINETS = exports.ADD_APPLIANCES = exports.ACCENT_COLOR = void 0;
7
7
  exports.MODE_DRAGGING_LINE = exports.MODE_DRAGGING_ITEM_3D = exports.MODE_DRAGGING_ITEM = exports.MODE_DRAGGING_HOLE_3D = exports.MODE_DRAGGING_HOLE = exports.MODE_CONFIGURING_PROJECT = exports.MODE_BACK_ELEVATION_VIEW = exports.MODE_3D_VIEW = exports.MODE_3D_FIRST_PERSON = exports.MODE_2D_ZOOM_OUT = exports.MODE_2D_ZOOM_IN = exports.MODE_2D_PAN = exports.MODE = exports.MIN_ANGLE_DISALLOW_DRAW_WALL = exports.MIDDLE_MOLDING_LOCATION = exports.MEPSILON = exports.MAX_ZOOM_IN_SCALE = exports.MAX_ANGLE_SCALE = exports.MAKE_FLOOR_PLAN = exports.LOGOUT = exports.LOGIN_SUCCESS = exports.LOGIN_ERROR = exports.LOCAL_STORAGE_TOKEN_VALUE = exports.LOCAL_STORAGE_TOKEN_NAME = exports.LOCAL_STORAGE_ORIGINAL_TOKEN = exports.LOCAL_STORAGE_CUSTOMER_INFO = exports.LOCAL_STORAGE_CART_ACTION = exports.LOAD_PROJECT = exports.LIST_QUANTITIES = exports.LIST_PARTS = exports.LINE_THICKNESS = exports.LINE_ACTIONS = exports.LEFT_DIST_ANG = exports.LEFT = exports.LABEL_COLOR = exports.KITCHEN_KONFIGURATOR = exports.KEYBOARD_BUTTON_CODE = exports.ITEM_TYPE = exports.ITEM_MOVE_UP = exports.ITEMS_ACTIONS = exports.INVERT = exports.INTERNAL_EVENT_UNSELECT_ALL = exports.INTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.INTERNAL_EVENT_SYNC_SCENE = exports.INTERNAL_EVENT_START_DRAW_WALL = exports.INTERNAL_EVENT_SELECT_ELEMENT = exports.INTERNAL_EVENT_ROTATE_ELEMENT = exports.INTERNAL_EVENT_REPLACE_CABINET = exports.INTERNAL_EVENT_ITEMS_CATALOG = exports.INTERNAL_EVENT_DRAW_ELEMENT = exports.INTERNAL_EVENT_DRAG_ELEMENT = exports.INSTALLATION_TYPE_SKU_SUFFIX = exports.INSTALLATION_TYPE_NAME = exports.INSTALLATION_SUFFIX_TYPE = exports.INIT_CATALOG = exports.HOLE_NAMES = exports.HOLE_ACTIONS = exports.HDR_URLS = exports.HAS_LOADINGBAR = exports.GROUP_TRANSLATE = exports.GROUP_ROTATE = exports.GROUP_ACTIONS = exports.GO_BACK_TO_CATALOG_PAGE = exports.FRONT_DIST_ANG = exports.FINISHING_TYPE = exports.FINISHING_TOUCH = exports.EXTERNAL_EVENT_ZOOM_OUT = exports.EXTERNAL_EVENT_ZOOM_IN = exports.EXTERNAL_EVENT_UPDATE_PROPERTY = exports.EXTERNAL_EVENT_UPDATE_ATTRIBUTE = exports.EXTERNAL_EVENT_UNDO = exports.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.EXTERNAL_EVENT_TOGGLE_TO_3D = exports.EXTERNAL_EVENT_TOGGLE_TO_2D = exports.EXTERNAL_EVENT_SYNC_SCENE = exports.EXTERNAL_EVENT_SET_MOLDING = exports.EXTERNAL_EVENT_SET_FINISHING = exports.EXTERNAL_EVENT_ROTATE_PAN = exports.EXTERNAL_EVENT_REPLACE_CABINET = exports.EXTERNAL_EVENT_REDO = exports.EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_NEW_PROJECT = exports.EXTERNAL_EVENT_MOVE_PAN = exports.EXTERNAL_EVENT_LOAD_PROJECT = exports.EXTERNAL_EVENT_DUPLICATE_ELEMENT = exports.EXTERNAL_EVENT_DELETE_ELEMENT = exports.EXTERNAL_EVENT_CHANGE_DOORSTYLE = exports.EXTERNAL_EVENT_CENTERING_2D = exports.EXTERNAL_EVENT_ADD_WALL = exports.EXTERNAL_EVENT_ADD_ROOM_SHAPE = exports.EXTERNAL_EVENT_ADD_ITEM = exports.EXTERNAL_EVENT_ADD_HOLE = exports.ERROR_DATABASE = exports.EPSILON = exports.END_UPLOADING_IMAGE = exports.END_ROTATING_ITEM_3D = exports.END_ROTATING_ITEM = exports.END_LOADING = exports.END_FITTING_IMAGE = exports.END_DRAWING_LINE = void 0;
8
8
  exports.SET_BACKSPLASH = exports.SET_APPLIANCE_MATERIAL = exports.SELECT_TOOL_ZOOM_OUT = exports.SELECT_TOOL_ZOOM_IN = exports.SELECT_TOOL_UPLOAD_IMAGE = exports.SELECT_TOOL_PAN = exports.SELECT_TOOL_EDIT = exports.SELECT_TOOL_DRAWING_LINE = exports.SELECT_TOOL_DRAWING_ITEM_3D = exports.SELECT_TOOL_DRAWING_ITEM = exports.SELECT_TOOL_DRAWING_HOLE_3D = exports.SELECT_TOOL_DRAWING_HOLE = exports.SELECT_TOOL_3D_VIEW = exports.SELECT_TOOL_3D_FIRST_PERSON = exports.SELECT_LINE = exports.SELECT_LAYER = exports.SELECT_ITEM = exports.SELECT_HOLE = exports.SELECT_GROUP = exports.SELECT_DOOR_STYLE = exports.SELECT_AREA = exports.SELECT_ALL = exports.SELECTALL = exports.SECONDARY_PURPLE_COLOR = exports.SECONDARY_BLUE_COLOR = exports.SCENE_ACTIONS = exports.SAVE_PROJECT = exports.SAVE_DESIGN = exports.ROOM_SHAPE_TYPE = exports.ROOM_SHAPE_MEASUREMENT_LINE_COLOR = exports.ROOM_ELEMENT_MEASUREMENT_LINE_COLOR = exports.ROLLBACK = exports.RIGHT_DIST_ANG = exports.RIGHT = exports.REVIEW_AND_QUOTE = exports.REQUEST_ASSISTANCE = exports.REPLACE_SUBMODULE = exports.REPLACE_ITEM = exports.REMOVE_VERTICAL_GUIDE = exports.REMOVE_REPLACE_SUBMODULE = exports.REMOVE_LINEAR = exports.REMOVE_LAYER = exports.REMOVE_HORIZONTAL_GUIDE = exports.REMOVE_GROUP_AND_DELETE_ELEMENTS = exports.REMOVE_GROUP = exports.REMOVE_FROM_GROUP = exports.REMOVE_DRAWING_SUPPORT = exports.REMOVE_CIRCULAR_GUIDE = exports.REMOVE = exports.REDO = exports.RECREATE = exports.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY = exports.PROP_RESIZE_WIDTH = exports.PROP_RESIZE_HEIGHT = exports.PROP_RESIZE_DEPTH = exports.PROP_OPEN_DOORS = exports.PROP_FLIP_DOOR_HANDLE = exports.PROP_ALTITUDE = exports.PROJECT_SETTING_OPTION = exports.PROJECT_RE_NAME = exports.PROJECT_NAME_LENGTH_LIMIT = exports.PROJECT_ACTIONS = exports.PRODUCT = exports.PRIMARY_GREEN_COLOR = exports.PASTE_PROPERTIES = exports.OVERLAP_SOME = exports.OVERLAP_SAME = exports.OVERLAP_NONE = exports.OVERLAP_LINK = exports.OVERLAP_INCLUDED = exports.OPEN_PROJECT_CONFIGURATOR = exports.OPEN_CATALOG = exports.OBJTYPE_MESH = exports.OBJTYPE_GROUP = exports.NO_DATA_DATABASE = exports.NEW_PROJECT_BTN = exports.NEW_PROJECT = exports.NEW_DESIGN = exports.MOVE_COMPONENT = exports.MOLDING_LOCATIONS = exports.MODE_WAITING_DRAWING_LINE = exports.MODE_VIEWING_CATALOG = exports.MODE_UPLOADING_IMAGE = exports.MODE_SNAPPING = exports.MODE_ROTATING_ITEM_3D = exports.MODE_ROTATING_ITEM = exports.MODE_RIGHT_ELEVATION_VIEW = exports.MODE_LEFT_ELEVATION_VIEW = exports.MODE_IDLE_3D = exports.MODE_IDLE = exports.MODE_FRONT_VIEW = exports.MODE_FRONT_ELEVATION_VIEW = exports.MODE_FITTING_IMAGE = exports.MODE_ELEVATION_VIEW = exports.MODE_DRAWING_LINE = exports.MODE_DRAWING_ITEM_3D = exports.MODE_DRAWING_ITEM = exports.MODE_DRAWING_HOLE_3D = exports.MODE_DRAWING_HOLE = exports.MODE_DRAGGING_VERTEX = void 0;
9
- exports.UPDATE_3D_CEIL_HEIGHT = exports.UPDATE_2D_CAMERA = exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH_LONG = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = exports.TEXT_COLOR_NEUTRAL_6 = exports.TEXT_COLOR_NEUTRAL_5 = exports.TEXT_COLOR_NEUTRAL_4 = exports.TEXT_COLOR_NEUTRAL_3 = exports.TEXT_COLOR_NEUTRAL_2 = exports.TEXT_COLOR_NEUTRAL_1 = exports.TEXT_COLOR_NEUTRAL_0 = exports.TEXT_COLOR = exports.TECHNICAL_VIEW = exports.TALL_CABINET_LAYOUTPOS = exports.TAKE_PICTURE = exports.SUBTOTAL = exports.SUBMIT_REQUEST_ASSIST = exports.SUBMIT_DESIGN = exports.SUBMIT_ADD_CART = exports.STORE_DIST_ARRAY = exports.STOP_DRAWING_LINE = exports.STEP_CABINET_CHOOSE_PRODUCT = exports.STATUS_WARNING_LIGHT_COLOR = exports.STATUS_WARNING_COLOR = exports.STATUS_POSITIVE_LIGHT_COLOR = exports.STATUS_POSITIVE_COLOR = exports.STATUS_OVERDUE_LIGHT_COLOR = exports.STATUS_OVERDUE_COLOR = exports.STATUS_NEGATIVE_LIGHT_COLOR = exports.STATUS_NEGATIVE_COLOR = exports.STATUS_INFO_LIGHT_COLOR = exports.STATUS_INFO_COLOR = exports.SKIN_SKU_WSV_2460 = exports.SKIN_SKU_WSV_2442 = exports.SKIN_SKU_WSV_1242 = exports.SKIN_SKU_USV245325 = exports.SKIN_SKU_BSV_48 = exports.SKIN_SKU_BSV_24 = exports.SHIFT2DON = exports.SHIFT2DOFF = exports.SHAPE_SVG_WIDTH = exports.SHAPE_SVG_PADDING = exports.SHAPE_SVG_DEPTH = exports.SHADE_LIGHT_PURPLE_COLOR = exports.SHADE_LIGHT_GREEN_COLOR = exports.SHADE_LIGHT_BLUE_COLOR = exports.SHADE_DARK_PURPLE_COLOR = exports.SHADE_DARK_GREEN_COLOR = exports.SHADE_DARK_BLUE_COLOR = exports.SET_WALL_COLOR = exports.SET_USER_DATA = exports.SET_STATE_PROPERTIES = exports.SET_ROTATE_STATUS = exports.SET_RELATED_LINE = exports.SET_PROPERTIES = exports.SET_PROJECT_PROPERTIES = exports.SET_PROJECT_ID = exports.SET_MOVE_STATUS = exports.SET_MOLDING = exports.SET_MODELLING = exports.SET_MODE = exports.SET_LINES_ATTRIBUTES = exports.SET_LAYER_PROPERTIES = exports.SET_ITEMS_ATTRIBUTES = exports.SET_IS_HELP = exports.SET_IS_CABINET_DRAWING = exports.SET_INITIAL_DOOR_STYLE = exports.SET_HOLES_ATTRIBUTES = exports.SET_HANDLE_MATERIAL = exports.SET_GROUP_PROPERTIES = exports.SET_GROUP_BARYCENTER = exports.SET_GROUP_ATTRIBUTES = exports.SET_FLOOR_STYLES = exports.SET_DOOR_STYLE = exports.SET_DOOR_HANDLE = exports.SET_DISTANT = exports.SET_COUNTER_TOP = exports.SET_BACKSPLASH_VISIBLE = void 0;
10
- exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_ITEM_MEASUREMENT_LINE_COLOR = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VANITY_CABINET_LAYOUTPOS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = void 0;
9
+ exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = exports.UPDATE_3D_CEIL_HEIGHT = exports.UPDATE_2D_CAMERA = exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH_LONG = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = exports.TEXT_COLOR_NEUTRAL_6 = exports.TEXT_COLOR_NEUTRAL_5 = exports.TEXT_COLOR_NEUTRAL_4 = exports.TEXT_COLOR_NEUTRAL_3 = exports.TEXT_COLOR_NEUTRAL_2 = exports.TEXT_COLOR_NEUTRAL_1 = exports.TEXT_COLOR_NEUTRAL_0 = exports.TEXT_COLOR = exports.TECHNICAL_VIEW = exports.TALL_CABINET_LAYOUTPOS = exports.TAKE_PICTURE = exports.SUBTOTAL = exports.SUBMIT_REQUEST_ASSIST = exports.SUBMIT_DESIGN = exports.SUBMIT_ADD_CART = exports.STORE_DIST_ARRAY = exports.STOP_DRAWING_LINE = exports.STEP_CABINET_CHOOSE_PRODUCT = exports.STATUS_WARNING_LIGHT_COLOR = exports.STATUS_WARNING_COLOR = exports.STATUS_POSITIVE_LIGHT_COLOR = exports.STATUS_POSITIVE_COLOR = exports.STATUS_OVERDUE_LIGHT_COLOR = exports.STATUS_OVERDUE_COLOR = exports.STATUS_NEGATIVE_LIGHT_COLOR = exports.STATUS_NEGATIVE_COLOR = exports.STATUS_INFO_LIGHT_COLOR = exports.STATUS_INFO_COLOR = exports.SHIFT2DON = exports.SHIFT2DOFF = exports.SHAPE_SVG_WIDTH = exports.SHAPE_SVG_PADDING = exports.SHAPE_SVG_DEPTH = exports.SHADE_LIGHT_PURPLE_COLOR = exports.SHADE_LIGHT_GREEN_COLOR = exports.SHADE_LIGHT_BLUE_COLOR = exports.SHADE_DARK_PURPLE_COLOR = exports.SHADE_DARK_GREEN_COLOR = exports.SHADE_DARK_BLUE_COLOR = exports.SET_WALL_COLOR = exports.SET_USER_DATA = exports.SET_STATE_PROPERTIES = exports.SET_ROTATE_STATUS = exports.SET_RELATED_LINE = exports.SET_PROPERTIES = exports.SET_PROJECT_PROPERTIES = exports.SET_PROJECT_ID = exports.SET_MOVE_STATUS = exports.SET_MOLDING = exports.SET_MODELLING = exports.SET_MODE = exports.SET_LINES_ATTRIBUTES = exports.SET_LAYER_PROPERTIES = exports.SET_ITEMS_ATTRIBUTES = exports.SET_IS_HELP = exports.SET_IS_CABINET_DRAWING = exports.SET_INITIAL_DOOR_STYLE = exports.SET_HOLES_ATTRIBUTES = exports.SET_HANDLE_MATERIAL = exports.SET_GROUP_PROPERTIES = exports.SET_GROUP_BARYCENTER = exports.SET_GROUP_ATTRIBUTES = exports.SET_FLOOR_STYLES = exports.SET_DOOR_STYLE = exports.SET_DOOR_HANDLE = exports.SET_DISTANT = exports.SET_COUNTER_TOP = exports.SET_BACKSPLASH_VISIBLE = void 0;
10
+ exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_ITEM_MEASUREMENT_LINE_COLOR = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VANITY_CABINET_LAYOUTPOS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = void 0;
11
11
  //API server
12
12
  // export const API_SERVER = 'http://localhost:3000/';
13
13
  // ACTIONS project
@@ -781,13 +781,4 @@ var ROOM_SHAPE_TYPE = exports.ROOM_SHAPE_TYPE = {
781
781
  var DOORSTYLE_SCOPE_ALL = exports.DOORSTYLE_SCOPE_ALL = 'all';
782
782
  var DOORSTYLE_SCOPE_SINGLE = exports.DOORSTYLE_SCOPE_SINGLE = 'single';
783
783
  var DOORSTYLE_SCOPE_MULTIPLE = exports.DOORSTYLE_SCOPE_MULTIPLE = 'multiple';
784
-
785
- // skin panel SKU
786
- var SKIN_SKU_BSV_24 = exports.SKIN_SKU_BSV_24 = 'BSV'; // 23.25" x 34.5" : For base cabinets
787
- var SKIN_SKU_BSV_48 = exports.SKIN_SKU_BSV_48 = 'BSV48'; // 48" x 34.5" : For base cabinets back-to-back or island backs
788
- var SKIN_SKU_WSV_1242 = exports.SKIN_SKU_WSV_1242 = 'WSV1242'; // 11.25" x 42" : For 12" deep wall cabinets
789
- var SKIN_SKU_WSV_2442 = exports.SKIN_SKU_WSV_2442 = 'WSV2442'; // 23.25" x 42" : For 24" deep wall cabinets
790
- var SKIN_SKU_WSV_2460 = exports.SKIN_SKU_WSV_2460 = 'WSV2460'; // Usually used for CT3DR or CT2DR SKUs + stacked wall cabinets
791
- var SKIN_SKU_USV245325 = exports.SKIN_SKU_USV245325 = 'USV2453.25'; // 23.25" x 53.25" : For tall cabinets
792
-
793
784
  var DEFAULT_MOLDING_PIECE_LENGTH = exports.DEFAULT_MOLDING_PIECE_LENGTH = 96; // in inch, 8 feet, standard length for molding pieces
@@ -12,6 +12,7 @@ var _geometry = require("./geometry");
12
12
  var _export = require("./export");
13
13
  var _convertUnitsLite = require("./convert-units-lite");
14
14
  var _helper = require("./helper");
15
+ var _skinPanel = require("../constants/catalog/skinPanel");
15
16
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
16
17
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
17
18
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -38,7 +39,8 @@ function getSideFaces(item, layer) {
38
39
  var overlapList = [_constants.OVERLAP_INCLUDED, _constants.OVERLAP_SAME, _constants.OVERLAP_SOME];
39
40
  var pos = [[-1, -1], [1, -1], [1, 1], [-1, 1]];
40
41
  for (var i = 0; i < 4; i++) {
41
- if (i === 0 || i === 2) continue; // only left & right
42
+ if (i === 0) continue; // only left & right & base cabinet's back
43
+ if (i === 2 && item.layoutpos !== _constants.BASE_CABINET_LAYOUTPOS) continue;
42
44
  var isSnappedToWall = false;
43
45
  var v0 = rotateCorner(pos[i], item, widthCm, depthCm);
44
46
  var v1 = rotateCorner(pos[(i + 1) % 4], item, widthCm, depthCm);
@@ -72,13 +74,13 @@ function getSideFaces(item, layer) {
72
74
  var skinPanelSKU = 'unknown';
73
75
  switch (item.layoutpos) {
74
76
  case _constants.BASE_CABINET_LAYOUTPOS:
75
- skinPanelSKU = _constants.SKIN_SKU_BSV_24;
77
+ skinPanelSKU = i === 2 ? 'unknown' : _skinPanel.SKIN_SKU_BSV_24;
76
78
  break;
77
79
  case _constants.WALL_CABINET_LAYOUTPOS:
78
- if (Math.abs(depthInch - 12) <= 1) skinPanelSKU = _constants.SKIN_SKU_WSV_1242;else if (Math.abs(depthInch - 24) <= 1) skinPanelSKU = _constants.SKIN_SKU_WSV_2442;
80
+ if (Math.abs(depthInch - 12) <= 1) skinPanelSKU = _skinPanel.SKIN_SKU_WSV_1242;else if (Math.abs(depthInch - 24) <= 1) skinPanelSKU = _skinPanel.SKIN_SKU_WSV_2442;
79
81
  break;
80
82
  case _constants.TALL_CABINET_LAYOUTPOS:
81
- skinPanelSKU = _constants.SKIN_SKU_USV245325;
83
+ skinPanelSKU = _skinPanel.SKIN_SKU_USV245325;
82
84
  break;
83
85
  }
84
86
  sideFaces.push({
@@ -92,6 +94,7 @@ function getSideFaces(item, layer) {
92
94
  // inch unit
93
95
  height: heightInch,
94
96
  // inch unit
97
+ isBackFace: i === 2 ? true : false,
95
98
  skinPanelSKU: skinPanelSKU,
96
99
  itemInfo: item.toJS()
97
100
  });
@@ -121,26 +124,138 @@ function collectFaces(items, layer) {
121
124
  }
122
125
  return faces;
123
126
  }
127
+
128
+ /**
129
+ * @param {*} faceSegs
130
+ * @param {*} otherFaces
131
+ * @returns
132
+ */
133
+ function getTrimmedFaceSegs(faceSegs, otherFaces, cnt) {
134
+ try {
135
+ cnt++;
136
+ if (cnt > 5000) {
137
+ console.log('getTrimmedFaceSegs has limited!');
138
+ return [];
139
+ }
140
+ var returnSegs = [];
141
+ var _loop = function _loop() {
142
+ var iFace = faceSegs[i];
143
+ var srcLine = iFace.sectionLine;
144
+ var bContourSeg = true;
145
+ var _loop2 = function _loop2(j) {
146
+ var destLine = otherFaces[j].sectionLine;
147
+ var rst = (0, _geometry.relationshipOfTwoOverlappedLines)(srcLine, destLine);
148
+ if (rst.result == _constants.OVERLAP_SAME || rst.result == _constants.OVERLAP_INCLUDED) {
149
+ bContourSeg = false;
150
+ return 0; // break
151
+ } else if (rst.result == _constants.OVERLAP_SOME) {
152
+ var trimmedFaceSegs = [];
153
+ rst.trimmedSegs.forEach(function (lineSeg) {
154
+ trimmedFaceSegs.push({
155
+ sectionLine: lineSeg,
156
+ // cm unit
157
+ zBottom: iFace.zBottom,
158
+ // cm unit
159
+ zTop: iFace.zTop,
160
+ // cm unit
161
+ depth: iFace.depthInch,
162
+ // inch unit
163
+ height: iFace.heightInch,
164
+ // inch unit
165
+ isBackFace: iFace.isBackFace,
166
+ skinPanelSKU: iFace.skinPanelSKU,
167
+ itemInfo: iFace.itemInfo
168
+ });
169
+ });
170
+ var tFaceSegs = getTrimmedFaceSegs(trimmedFaceSegs, otherFaces.filter(function (v, idx) {
171
+ return idx !== j;
172
+ }), cnt);
173
+ if (tFaceSegs.length > 0) returnSegs = [].concat((0, _toConsumableArray2["default"])(returnSegs), (0, _toConsumableArray2["default"])(tFaceSegs));
174
+ bContourSeg = false;
175
+ return 0; // break
176
+ }
177
+ },
178
+ _ret;
179
+ for (var j = 0; j < otherFaces.length; j++) {
180
+ _ret = _loop2(j);
181
+ if (_ret === 0) break;
182
+ }
183
+ if (bContourSeg) returnSegs.push(faceSegs[i]);
184
+ };
185
+ for (var i = 0; i < faceSegs.length; i++) {
186
+ _loop();
187
+ }
188
+ return returnSegs;
189
+ } catch (e) {
190
+ console.log('getTrimmedFaceSegs catched :', e);
191
+ return [];
192
+ }
193
+ }
124
194
  function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
125
195
  var overlapList = [_constants.OVERLAP_INCLUDED, _constants.OVERLAP_SAME];
126
196
  var removeIdxs = [];
197
+ var newFaces = []; // new countour edge segment that except the overlapped part
198
+
127
199
  for (var i = 0; i < sourceFaces.length; i++) {
128
200
  var iFace = sourceFaces[i];
129
201
  for (var j = 0; j < blockingFaces.length; j++) {
202
+ var _relationship$trimmed;
130
203
  if (sourceFaces === blockingFaces && i === j) continue;
131
204
  var jFace = blockingFaces[j];
132
- if (overlapList.includes((0, _geometry.relationshipOfTwoOverlappedLines)(iFace.sectionLine, jFace.sectionLine).result)) {
133
- var verticallyIncluded = (iFace.zBottom > jFace.zBottom || Math.abs(iFace.zBottom - jFace.zBottom) < _constants.EPSILON) && (iFace.zTop < jFace.zTop || Math.abs(iFace.zTop - jFace.zTop) < _constants.EPSILON);
134
- if (verticallyIncluded) {
205
+ var verticallyIncluded = (iFace.zBottom > jFace.zBottom || Math.abs(iFace.zBottom - jFace.zBottom) < _constants.EPSILON) && (iFace.zTop < jFace.zTop || Math.abs(iFace.zTop - jFace.zTop) < _constants.EPSILON);
206
+ var verticallyOverlappedTopPart = jFace.zBottom < iFace.zTop && jFace.zBottom > iFace.zBottom && Math.abs(jFace.zBottom - iFace.zTop) > _constants.EPSILON && Math.abs(jFace.zBottom - iFace.zBottom) > _constants.EPSILON;
207
+ var verticallyOverlappedBottomPart = jFace.zTop < iFace.zTop && jFace.zTop > iFace.zBottom && Math.abs(jFace.zTop - iFace.zTop) > _constants.EPSILON && Math.abs(jFace.zTop - iFace.zBottom) > _constants.EPSILON;
208
+ var relationship = (0, _geometry.relationshipOfTwoOverlappedLines)(iFace.sectionLine, jFace.sectionLine);
209
+ if (overlapList.includes(relationship.result)) {
210
+ if (verticallyIncluded) removeIdxs.push(i);else if (verticallyOverlappedTopPart) {
135
211
  removeIdxs.push(i);
136
- break;
212
+ newFaces.push({
213
+ sectionLine: iFace.sectionLine,
214
+ // cm unit
215
+ zBottom: iFace.zBottom,
216
+ // cm unit
217
+ zTop: jFace.zBottom,
218
+ // cm unit
219
+ depth: iFace.depthInch,
220
+ // inch unit
221
+ height: toIn(jFace.zBottom - iFace.zBottom),
222
+ // inch unit
223
+ isBackFace: iFace.isBackFace,
224
+ skinPanelSKU: iFace.skinPanelSKU,
225
+ itemInfo: iFace.itemInfo
226
+ });
227
+ } else if (verticallyOverlappedBottomPart) {
228
+ removeIdxs.push(i);
229
+ newFaces.push({
230
+ sectionLine: iFace.sectionLine,
231
+ // cm unit
232
+ zBottom: jFace.zTop,
233
+ // cm unit
234
+ zTop: iFace.zTop,
235
+ // cm unit
236
+ depth: iFace.depthInch,
237
+ // inch unit
238
+ height: toIn(iFace.zTop - jFace.zTop),
239
+ // inch unit
240
+ isBackFace: iFace.isBackFace,
241
+ skinPanelSKU: iFace.skinPanelSKU,
242
+ itemInfo: iFace.itemInfo
243
+ });
137
244
  }
245
+ break;
246
+ } else if (relationship.result === _constants.OVERLAP_SOME && ((_relationship$trimmed = relationship.trimmedSegs) === null || _relationship$trimmed === void 0 ? void 0 : _relationship$trimmed.length) > 0 && verticallyIncluded) {
247
+ removeIdxs.push(i);
248
+ var tFaceSegs = getTrimmedFaceSegs([iFace], blockingFaces, 0);
249
+ if (tFaceSegs.length > 0) newFaces = [].concat((0, _toConsumableArray2["default"])(newFaces), (0, _toConsumableArray2["default"])(tFaceSegs));
250
+ break;
138
251
  }
139
252
  }
140
253
  }
141
- return sourceFaces.filter(function (face, idx) {
254
+ sourceFaces = sourceFaces.filter(function (face, idx) {
142
255
  return !removeIdxs.includes(idx);
143
256
  });
257
+ if (newFaces.length > 0) sourceFaces = [].concat((0, _toConsumableArray2["default"])(sourceFaces), (0, _toConsumableArray2["default"])(newFaces));
258
+ return sourceFaces;
144
259
  }
145
260
  function applyGroupingRules(faces) {
146
261
  var _applyHorizontalGroup = applyHorizontalGrouping(faces),
@@ -181,7 +296,8 @@ function applyHorizontalGrouping(faces) {
181
296
  // inch unit
182
297
  height: jFace.height,
183
298
  // inch unit
184
- skinPanelSKU: _constants.SKIN_SKU_BSV_48,
299
+ isBackFace: jFace.isBackFace,
300
+ skinPanelSKU: jFace.isBackFace ? 'unknown' : _skinPanel.SKIN_SKU_BSV_48,
185
301
  itemInfo: jFace.itemInfo // [TODO] how to select the doorstyle of grouped skin
186
302
  });
187
303
  removeIdxs.push(i);
@@ -224,7 +340,8 @@ function applyVerticalGrouping(faces) {
224
340
  // inch unit
225
341
  height: jFace.height,
226
342
  // inch unit
227
- skinPanelSKU: _constants.SKIN_SKU_WSV_2460,
343
+ isBackFace: jFace.isBackFace,
344
+ skinPanelSKU: _skinPanel.SKIN_SKU_WSV_2460,
228
345
  itemInfo: jFace.itemInfo // [TODO] how to select the doorstyle of grouped skin
229
346
  });
230
347
  removeIdxs.push(i);
@@ -249,11 +366,12 @@ function isMP3TallCabinet(sku) {
249
366
  function resolveTallCabinetBundle(face) {
250
367
  var item = face.itemInfo;
251
368
  if (isMP3TallCabinet(item.sku_number)) {
252
- return [_constants.SKIN_SKU_BSV_24, _constants.SKIN_SKU_BSV_24, _constants.SKIN_SKU_WSV_2442];
369
+ return [_skinPanel.SKIN_SKU_BSV_24, _skinPanel.SKIN_SKU_BSV_24, _skinPanel.SKIN_SKU_WSV_2442];
253
370
  }
254
-
255
- // fallback
256
- return [_constants.SKIN_SKU_USV245325, _constants.SKIN_SKU_WSV_2442];
371
+ if (face.height > _skinPanel.SKIN_HEIGHT_53_25) {
372
+ return [_skinPanel.SKIN_SKU_USV245325, _skinPanel.SKIN_SKU_WSV_2442];
373
+ }
374
+ return face !== null && face !== void 0 && face.skinPanelSKU ? [face.skinPanelSKU] : [];
257
375
  }
258
376
 
259
377
  /**
@@ -271,34 +389,38 @@ function resolveSkinPanelSKU(face) {
271
389
  * Make skin panel data with grouping skinPanelSKU & doorStyle
272
390
  */
273
391
  function buildSkinPanelData(faces) {
274
- var result = [];
275
- var _loop = function _loop() {
392
+ var tempResult = [];
393
+ var _loop3 = function _loop3() {
276
394
  var sf = faces[i];
277
395
  var skus = resolveSkinPanelSKU(sf);
278
396
  var _iterator = _createForOfIteratorHelper(skus),
279
397
  _step;
280
398
  try {
281
- var _loop2 = function _loop2() {
399
+ var _loop5 = function _loop5() {
282
400
  var sku = _step.value;
283
- var idx = result.findIndex(function (v) {
401
+ var idx = tempResult.findIndex(function (v) {
284
402
  var _sf$itemInfo;
285
- return v.itemSKU === sku && v.doorStyleId === ((_sf$itemInfo = sf.itemInfo) === null || _sf$itemInfo === void 0 || (_sf$itemInfo = _sf$itemInfo.doorStyle) === null || _sf$itemInfo === void 0 ? void 0 : _sf$itemInfo.id);
403
+ return v.itemSKU === sku && v.doorStyleId === ((_sf$itemInfo = sf.itemInfo) === null || _sf$itemInfo === void 0 || (_sf$itemInfo = _sf$itemInfo.doorStyle) === null || _sf$itemInfo === void 0 ? void 0 : _sf$itemInfo.id) && v.isBackFace === sf.isBackFace;
286
404
  });
287
405
  if (idx < 0) {
288
406
  var _sf$itemInfo$doorStyl, _sf$itemInfo2, _sf$itemInfo$doorStyl2, _sf$itemInfo3;
289
- result.push({
407
+ tempResult.push({
290
408
  itemSKU: sku,
291
409
  doorStyle: (_sf$itemInfo$doorStyl = (_sf$itemInfo2 = sf.itemInfo) === null || _sf$itemInfo2 === void 0 || (_sf$itemInfo2 = _sf$itemInfo2.doorStyle) === null || _sf$itemInfo2 === void 0 ? void 0 : _sf$itemInfo2.name) !== null && _sf$itemInfo$doorStyl !== void 0 ? _sf$itemInfo$doorStyl : '',
292
410
  doorStyleId: (_sf$itemInfo$doorStyl2 = (_sf$itemInfo3 = sf.itemInfo) === null || _sf$itemInfo3 === void 0 || (_sf$itemInfo3 = _sf$itemInfo3.doorStyle) === null || _sf$itemInfo3 === void 0 ? void 0 : _sf$itemInfo3.id) !== null && _sf$itemInfo$doorStyl2 !== void 0 ? _sf$itemInfo$doorStyl2 : '',
293
411
  installationType: 'standard',
294
- quantity: 1
412
+ quantity: 1,
413
+ totalLength: toIn((0, _geometry.pointsDistance)(sf.sectionLine.x1, sf.sectionLine.y1, sf.sectionLine.x2, sf.sectionLine.y2)),
414
+ isBackFace: sf.isBackFace
295
415
  });
296
416
  } else {
297
- result[idx].quantity += 1;
417
+ var faceLength = (0, _geometry.pointsDistance)(sf.sectionLine.x1, sf.sectionLine.y1, sf.sectionLine.x2, sf.sectionLine.y2);
418
+ tempResult[idx].totalLength += toIn(faceLength);
419
+ tempResult[idx].quantity += 1;
298
420
  }
299
421
  };
300
422
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
301
- _loop2();
423
+ _loop5();
302
424
  }
303
425
  } catch (err) {
304
426
  _iterator.e(err);
@@ -307,8 +429,71 @@ function buildSkinPanelData(faces) {
307
429
  }
308
430
  };
309
431
  for (var i = 0; i < faces.length; i++) {
310
- _loop();
432
+ _loop3();
433
+ }
434
+
435
+ // calculate back face panel quantity of island base cabinets
436
+ var removeIdxs = [];
437
+ var newDatas = [];
438
+ var _loop4 = function _loop4() {
439
+ var iData = tempResult[_i];
440
+ if (iData.isBackFace) {
441
+ removeIdxs.push(_i);
442
+ var count48 = Math.floor(iData.totalLength / 48);
443
+ var count24 = iData.totalLength % 48 > 0 ? 1 : 0;
444
+ var idx48 = tempResult.findIndex(function (v) {
445
+ return v.itemSKU === _skinPanel.SKIN_SKU_BSV_48 && v.doorStyleId === iData.doorStyleId;
446
+ });
447
+ var idx24 = tempResult.findIndex(function (v) {
448
+ return v.itemSKU === _skinPanel.SKIN_SKU_BSV_24 && v.doorStyleId === iData.doorStyleId;
449
+ });
450
+ if (idx48 < 0) {
451
+ if (count48 > 0) newDatas.push({
452
+ itemSKU: _skinPanel.SKIN_SKU_BSV_48,
453
+ doorStyle: iData.doorStyle,
454
+ doorStyleId: iData.doorStyleId,
455
+ installationType: iData.installationType,
456
+ quantity: count48,
457
+ totalLength: count48 * 48,
458
+ isBackFace: iData.isBackFace
459
+ });
460
+ } else {
461
+ tempResult[idx48].quantity += count48;
462
+ tempResult[idx48].totalLength += count48 * 48;
463
+ }
464
+ if (idx24 < 0) {
465
+ if (count24 > 0) newDatas.push({
466
+ itemSKU: _skinPanel.SKIN_SKU_BSV_24,
467
+ doorStyle: iData.doorStyle,
468
+ doorStyleId: iData.doorStyleId,
469
+ installationType: iData.installationType,
470
+ quantity: count24,
471
+ totalLength: count24 * 24,
472
+ isBackFace: iData.isBackFace
473
+ });
474
+ } else {
475
+ tempResult[idx24].quantity += count24;
476
+ tempResult[idx24].totalLength += count24 * 24;
477
+ }
478
+ }
479
+ };
480
+ for (var _i = 0; _i < tempResult.length; _i++) {
481
+ _loop4();
311
482
  }
483
+ tempResult = tempResult.filter(function (data, idx) {
484
+ return !removeIdxs.includes(idx);
485
+ });
486
+ if (newDatas.length > 0) tempResult = [].concat((0, _toConsumableArray2["default"])(tempResult), newDatas);
487
+ var result = [];
488
+ tempResult.forEach(function (v) {
489
+ return result.push({
490
+ itemSKU: v.itemSKU,
491
+ doorStyle: v.doorStyle,
492
+ doorStyleId: v.doorStyleId,
493
+ installationType: v.installationType,
494
+ quantity: v.quantity
495
+ });
496
+ });
312
497
  return result;
313
498
  }
314
499
  function shouldExcludeSkinPanel(itemJS, exclusionSet, catalog) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "4.4.3",
3
+ "version": "4.4.4",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",