kitchen-simulator 11.28.2 → 11.29.0

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 (87) hide show
  1. package/es/actions/items-actions.js +1 -12
  2. package/es/assets/img/svg/3d_item_move.svg +105 -9
  3. package/es/assets/img/svg/3d_item_rotation.svg +75 -3
  4. package/es/assets/img/svg/accessories.svg +4 -4
  5. package/es/assets/img/svg/bottombar/elevation-back.svg +6 -6
  6. package/es/assets/img/svg/bottombar/elevation-front.svg +6 -6
  7. package/es/assets/img/svg/bottombar/elevation-left.svg +6 -6
  8. package/es/assets/img/svg/bottombar/elevation-right.svg +7 -7
  9. package/es/assets/img/svg/bottombar/elevation.svg +13 -13
  10. package/es/assets/img/svg/delete.svg +2 -6
  11. package/es/assets/img/svg/detail.svg +77 -77
  12. package/es/assets/img/svg/duplicate.svg +6 -6
  13. package/es/assets/img/svg/filtersActive.svg +19 -19
  14. package/es/assets/img/svg/invert.svg +127 -12
  15. package/es/assets/img/svg/menubar/login.svg +84 -84
  16. package/es/assets/img/svg/menubar/my_projects.svg +85 -85
  17. package/es/assets/img/svg/menubar/new_project.svg +110 -110
  18. package/es/assets/img/svg/menubar/save_project.svg +84 -84
  19. package/es/assets/img/svg/options.svg +3 -3
  20. package/es/assets/img/svg/positioning.svg +3 -3
  21. package/es/assets/img/svg/toggleFilters.svg +19 -19
  22. package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -13
  23. package/es/assets/img/svg/wizardstep/detail_view.svg +87 -87
  24. package/es/assets/img/svg/wizardstep/tile_view.svg +95 -95
  25. package/es/catalog/utils/exporter.js +0 -4
  26. package/es/catalog/utils/item-loader.js +8 -18
  27. package/es/class/item.js +12 -39
  28. package/es/components/viewer2d/item.js +125 -139
  29. package/es/components/viewer2d/viewer2d.js +2 -5
  30. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
  31. package/es/components/viewer3d/scene-creator.js +0 -18
  32. package/es/components/viewer3d/viewer3d.js +49 -137
  33. package/es/constants.js +0 -4
  34. package/es/events/external/handleExternalEvent.js +33 -36
  35. package/es/events/external/handlers.elementOps.js +0 -8
  36. package/es/mappings/external-events/mapExternalEventPayload.js +4 -4
  37. package/es/mappings/external-events/mappers/addItemMapper.js +9 -9
  38. package/es/mappings/external-events/mappers/ccdfMapper.js +1 -1
  39. package/es/models.js +0 -4
  40. package/es/reducers/items-reducer.js +1 -8
  41. package/es/shared/domain/asset/sanitize-asset-url.js +5 -5
  42. package/es/utils/skinPanelEngine.js +14 -14
  43. package/lib/actions/items-actions.js +0 -12
  44. package/lib/assets/img/svg/3d_item_move.svg +105 -9
  45. package/lib/assets/img/svg/3d_item_rotation.svg +75 -3
  46. package/lib/assets/img/svg/accessories.svg +4 -4
  47. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -6
  48. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -6
  49. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -6
  50. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -7
  51. package/lib/assets/img/svg/bottombar/elevation.svg +13 -13
  52. package/lib/assets/img/svg/delete.svg +2 -6
  53. package/lib/assets/img/svg/detail.svg +77 -77
  54. package/lib/assets/img/svg/duplicate.svg +6 -6
  55. package/lib/assets/img/svg/filtersActive.svg +19 -19
  56. package/lib/assets/img/svg/invert.svg +127 -12
  57. package/lib/assets/img/svg/menubar/login.svg +84 -84
  58. package/lib/assets/img/svg/menubar/my_projects.svg +85 -85
  59. package/lib/assets/img/svg/menubar/new_project.svg +110 -110
  60. package/lib/assets/img/svg/menubar/save_project.svg +84 -84
  61. package/lib/assets/img/svg/options.svg +3 -3
  62. package/lib/assets/img/svg/positioning.svg +3 -3
  63. package/lib/assets/img/svg/toggleFilters.svg +19 -19
  64. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -13
  65. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -87
  66. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -95
  67. package/lib/catalog/utils/exporter.js +0 -4
  68. package/lib/catalog/utils/item-loader.js +8 -18
  69. package/lib/class/item.js +11 -38
  70. package/lib/components/viewer2d/item.js +124 -138
  71. package/lib/components/viewer2d/viewer2d.js +2 -5
  72. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
  73. package/lib/components/viewer3d/scene-creator.js +0 -18
  74. package/lib/components/viewer3d/viewer3d.js +49 -137
  75. package/lib/constants.js +4 -8
  76. package/lib/events/external/handleExternalEvent.js +31 -34
  77. package/lib/events/external/handlers.elementOps.js +0 -9
  78. package/lib/mappings/external-events/mapExternalEventPayload.js +4 -4
  79. package/lib/mappings/external-events/mappers/addItemMapper.js +9 -9
  80. package/lib/mappings/external-events/mappers/ccdfMapper.js +1 -1
  81. package/lib/models.js +0 -4
  82. package/lib/reducers/items-reducer.js +0 -7
  83. package/lib/shared/domain/asset/sanitize-asset-url.js +5 -5
  84. package/lib/utils/skinPanelEngine.js +14 -14
  85. package/package.json +1 -1
  86. package/es/shared/domain/cabinet-mirror.js +0 -7
  87. package/lib/shared/domain/cabinet-mirror.js +0 -13
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = Item;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
10
  var _react = _interopRequireWildcard(require("react"));
14
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -16,15 +13,23 @@ var _rulerDist = _interopRequireDefault(require("./rulerDist"));
16
13
  var _convertUnitsLite = require("../../utils/convert-units-lite");
17
14
  var _constants = require("../../constants");
18
15
  var _cabinetWarning = require("../../shared/domain/cabinet-warning");
19
- var _cabinetMirror = require("../../shared/domain/cabinet-mirror");
20
16
  var _geometry = require("../../utils/geometry");
21
17
  var _cabinetCorner = require("../../shared/domain/cabinet-corner");
22
18
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
23
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
- var ICON_WIDTH = 23;
26
- var ICON_HEIGHT = 23;
27
- var ICON_SPACING = 2.5;
19
+ var STYLE_LINE = {
20
+ fill: '#0096fd',
21
+ stroke: '#0096fd'
22
+ };
23
+ var STYLE_CIRCLE = {
24
+ fill: '#0096fd',
25
+ stroke: '#0096fd',
26
+ cursor: 'ew-resize'
27
+ };
28
+ var STYLE_CIRCLE2 = {
29
+ fill: 'none',
30
+ stroke: '#0096fd',
31
+ cursor: 'ew-resize'
32
+ };
28
33
  function Item(_ref, _ref2) {
29
34
  var _element$render2D;
30
35
  var layer = _ref.layer,
@@ -101,135 +106,116 @@ function Item(_ref, _ref2) {
101
106
  var isSmall = false;
102
107
  if (width < 40) isSmall = true;
103
108
  var parts = [];
104
- var canMirror = (0, _cabinetMirror.canMirrorCabinet)(item);
105
- var isMirrored = item.mirrored === true;
106
- if (item.selected) {
107
- var iconsCount = canMirror ? 3 : 2;
108
- var iconHeightStart = (ICON_HEIGHT * (iconsCount - 2) + ICON_SPACING * (iconsCount - 1)) / 2;
109
- var iconsData = [{
110
- key: 'duplicate',
111
- part: 'duplicate',
112
- href: '/assets/img/svg/duplicate.svg',
113
- imageProps: {
114
- x: ICON_WIDTH / 4,
115
- y: -(3 / 4) * ICON_HEIGHT,
116
- height: ICON_HEIGHT / 2,
117
- width: ICON_WIDTH / 2
118
- },
119
- disabled: (0, _cabinetWarning.isWarningCabinet)(item)
120
- }, canMirror && {
121
- key: 'mirror',
122
- part: 'mirror',
123
- href: '/assets/img/svg/invert.svg',
124
- wrapperStyle: {
125
- transformOrigin: 'center',
126
- transformBox: 'fill-box',
127
- transform: !isMirrored ? 'scaleX(-1)' : ''
128
- },
129
- imageProps: {
130
- x: ICON_WIDTH / 2 - 7.5,
131
- y: -ICON_HEIGHT / 2 - 7.5,
132
- height: '15px',
133
- width: '15px'
134
- }
135
- }, {
136
- key: 'remove',
137
- part: 'remove',
138
- href: '/assets/img/svg/delete.svg',
139
- imageProps: {
140
- x: ICON_WIDTH / 4,
141
- y: -(3 / 4) * ICON_HEIGHT,
142
- height: ICON_HEIGHT / 2,
143
- width: ICON_WIDTH / 2
144
- }
145
- }].filter(Boolean);
146
- var icons = iconsData.map(function (icon, index) {
147
- var translateY = iconHeightStart - index * (ICON_HEIGHT + ICON_SPACING);
148
- return /*#__PURE__*/_react["default"].createElement("g", {
149
- key: icon.key,
150
- style: {
151
- cursor: icon.disabled ? 'default' : 'pointer',
152
- transform: "rotate(".concat(360 - item.rotation, "deg)\n translate(").concat(-width / 2 - 27, "px, ").concat(translateY, "px)")
153
- },
154
- "data-element-root": true,
155
- "data-prototype": item.prototype,
156
- "data-id": item.id,
157
- "data-selected": item.selected,
158
- "data-layer": layer.id,
159
- "data-part": icon.part
160
- }, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("filter", {
161
- id: "shadow",
162
- x: "-20%",
163
- y: "-20%",
164
- width: "140%",
165
- height: "140%"
166
- }, /*#__PURE__*/_react["default"].createElement("feDropShadow", {
167
- dx: "0",
168
- dy: "-1",
169
- stdDeviation: "1.2",
170
- "flood-color": "#000",
171
- "flood-opacity": "0.16"
172
- }))), /*#__PURE__*/_react["default"].createElement("g", {
173
- style: icon.wrapperStyle
174
- }, /*#__PURE__*/_react["default"].createElement("rect", {
175
- rx: "100%",
176
- ry: "100%",
177
- height: ICON_HEIGHT,
178
- width: ICON_WIDTH,
179
- fill: "white",
180
- filter: "url(#shadow)"
181
- }), /*#__PURE__*/_react["default"].createElement("image", (0, _extends2["default"])({
182
- href: icon.href
183
- }, icon.imageProps, {
184
- style: _objectSpread({
185
- transform: 'rotateX(180deg)'
186
- }, icon.disabled ? {
187
- opacity: 0.3,
188
- filter: 'contrast(0)'
189
- } : {})
190
- }))));
191
- });
192
- parts = [/*#__PURE__*/_react["default"].createElement("g", {
193
- key: 0,
194
- "data-element-root": true,
195
- "data-prototype": item.prototype,
196
- "data-id": item.id,
197
- "data-selected": item.selected,
198
- "data-layer": layer.id,
199
- "data-part": "rotation-anchor",
200
- style: {
201
- cursor: 'w-resize'
202
- }
203
- }, /*#__PURE__*/_react["default"].createElement("image", {
204
- href: clockRotateState ? '/assets/img/svg/rotate.png' : '/assets/img/svg/blank_div.svg',
205
- style: {
206
- transform: "scale(-1, -1) translate(".concat(width / 2, "px, ").concat(height / 2, "px) rotate(25deg)")
207
- },
208
- height: "20",
209
- width: "20",
210
- onMouseEnter: function onMouseEnter() {
211
- setClockRotateState(true);
212
- setAntiClockRotateState(false);
213
- },
214
- onMouseLeave: function onMouseLeave() {
215
- return setClockRotateState(mode === _constants.MODE_ROTATING_ITEM ? true : false);
216
- }
217
- }), /*#__PURE__*/_react["default"].createElement("image", {
218
- href: antiClockRotateState ? '/assets/img/svg/rotate.png' : '/assets/img/svg/blank_div.svg',
219
- style: {
220
- transform: "scale(1, -1) translate(".concat(width / 2, "px, ").concat(height / 2, "px) rotate(25deg)")
221
- },
222
- height: "20",
223
- width: "20",
224
- onMouseEnter: function onMouseEnter() {
225
- setAntiClockRotateState(true);
226
- setClockRotateState(false);
227
- },
228
- onMouseLeave: function onMouseLeave() {
229
- return setAntiClockRotateState(mode === _constants.MODE_ROTATING_ITEM ? true : false);
230
- }
231
- }))].concat((0, _toConsumableArray2["default"])(icons));
232
- }
109
+ var newWidth = item.toJS().properties.width.length;
110
+ if (item.selected) parts = [/*#__PURE__*/_react["default"].createElement("g", {
111
+ key: 0,
112
+ "data-element-root": true,
113
+ "data-prototype": item.prototype,
114
+ "data-id": item.id,
115
+ "data-selected": item.selected,
116
+ "data-layer": layer.id,
117
+ "data-part": "rotation-anchor",
118
+ style: {
119
+ cursor: 'w-resize'
120
+ }
121
+ }, /*#__PURE__*/_react["default"].createElement("image", {
122
+ href: clockRotateState ? '/assets/img/svg/rotate.png' : '/assets/img/svg/blank_div.svg',
123
+ style: {
124
+ transform: "scale(-1, -1) translate(".concat(width / 2, "px, ").concat(height / 2, "px) rotate(25deg)")
125
+ },
126
+ height: "20",
127
+ width: "20",
128
+ onMouseEnter: function onMouseEnter() {
129
+ setClockRotateState(true);
130
+ setAntiClockRotateState(false);
131
+ },
132
+ onMouseLeave: function onMouseLeave() {
133
+ return setClockRotateState(mode === _constants.MODE_ROTATING_ITEM ? true : false);
134
+ }
135
+ }), /*#__PURE__*/_react["default"].createElement("image", {
136
+ href: antiClockRotateState ? '/assets/img/svg/rotate.png' : '/assets/img/svg/blank_div.svg',
137
+ style: {
138
+ transform: "scale(1, -1) translate(".concat(width / 2, "px, ").concat(height / 2, "px) rotate(25deg)")
139
+ },
140
+ height: "20",
141
+ width: "20",
142
+ onMouseEnter: function onMouseEnter() {
143
+ setAntiClockRotateState(true);
144
+ setClockRotateState(false);
145
+ },
146
+ onMouseLeave: function onMouseLeave() {
147
+ return setAntiClockRotateState(mode === _constants.MODE_ROTATING_ITEM ? true : false);
148
+ }
149
+ })), /*#__PURE__*/_react["default"].createElement("g", {
150
+ key: 1
151
+ // transform={`translate(${-width / 2 - (!isSmall ? 40 : 0)},${height / 2 + 40})`}
152
+ ,
153
+ style: {
154
+ cursor: 'pointer',
155
+ transform: "rotate(".concat(360 - item.rotation, "deg) translate(").concat(-width / 2 - 27, "px, ", 0, "px)")
156
+ },
157
+ "data-element-root": true,
158
+ "data-prototype": item.prototype,
159
+ "data-id": item.id,
160
+ "data-selected": item.selected,
161
+ "data-layer": layer.id,
162
+ "data-part": "duplicate"
163
+ }, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("filter", {
164
+ id: "shadow"
165
+ }, /*#__PURE__*/_react["default"].createElement("feDropShadow", {
166
+ dx: "0",
167
+ dy: "0",
168
+ stdDeviation: "0.6"
169
+ }))), /*#__PURE__*/_react["default"].createElement("rect", {
170
+ rx: "4",
171
+ ry: "4",
172
+ height: "22",
173
+ width: "22",
174
+ fill: "white",
175
+ filter: "url(#shadow)"
176
+ }), /*#__PURE__*/_react["default"].createElement("image", {
177
+ href: "/assets/img/svg/duplicate.svg",
178
+ x: "3",
179
+ y: "-19",
180
+ height: "16",
181
+ width: "16",
182
+ style: (0, _cabinetWarning.isWarningCabinet)(item) ? {
183
+ transform: 'rotateX(180deg)',
184
+ opacity: 0.5
185
+ } : {
186
+ transform: 'rotateX(180deg)'
187
+ }
188
+ })), /*#__PURE__*/_react["default"].createElement("g", {
189
+ key: 2
190
+ // transform={`translate(${-width / 2 - (!isSmall ? 40 : 0)},${height / 2})`}
191
+ ,
192
+ style: {
193
+ cursor: 'pointer',
194
+ transform: "rotate(".concat(360 - item.rotation, "deg) translate(").concat(-width / 2 - 27, "px, ").concat(-27, "px)")
195
+ },
196
+ "data-element-root": true,
197
+ "data-prototype": item.prototype,
198
+ "data-id": item.id,
199
+ "data-selected": item.selected,
200
+ "data-layer": layer.id,
201
+ "data-part": "remove"
202
+ }, /*#__PURE__*/_react["default"].createElement("rect", {
203
+ rx: "4",
204
+ ry: "4",
205
+ height: "22",
206
+ width: "22",
207
+ fill: "white",
208
+ filter: "url(#shadow)"
209
+ }), /*#__PURE__*/_react["default"].createElement("image", {
210
+ href: "/assets/img/svg/delete.svg",
211
+ x: "3",
212
+ y: "-19",
213
+ height: "16",
214
+ width: "16",
215
+ style: {
216
+ transform: 'rotateX(180deg)'
217
+ }
218
+ }))];
233
219
  var measure = item.layoutpos === _constants.WALL_CABINET_LAYOUTPOS ? showWallCabinetMeasure : showBaseCabinetMeasure;
234
220
  return /*#__PURE__*/_react["default"].createElement("g", {
235
221
  "data-element-root": true,
@@ -812,7 +812,7 @@ function Viewer2D(_ref, _ref2) {
812
812
  case 'items':
813
813
  setToolbar('');
814
814
  current_sel_obj_id = elementData.id;
815
- if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'mirror') break;else if (elementData.part === 'warning_edit') break;else {
815
+ if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
816
816
  // closes the setting dialog
817
817
  if (document.getElementById('setting_dialog')) {
818
818
  document.getElementById('setting_dialog').style.display = 'none';
@@ -960,10 +960,7 @@ function Viewer2D(_ref, _ref2) {
960
960
  holesActions.selectHole(elementData.layer, elementData.id);
961
961
  break;
962
962
  case 'items':
963
- if (elementData.part === 'mirror') {
964
- itemsActions.toggleItemMirror(elementData.layer, elementData.id, null, onInternalEvent);
965
- break;
966
- } else if (elementData.part === 'duplicate') {
963
+ if (elementData.part === 'duplicate') {
967
964
  var currentObject = state.getIn(['scene', 'layers', layerID, 'items', elementData.id]);
968
965
  if (!(0, _cabinetWarning.isWarningCabinet)(currentObject)) itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
969
966
  break;