kitchen-simulator 3.1.15 → 4.0.0-alpha.12

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 (105) hide show
  1. package/es/LiteKitchenConfigurator.js +204 -21
  2. package/es/LiteRenderer.js +277 -12
  3. package/es/actions/items-actions.js +6 -10
  4. package/es/actions/lines-actions.js +1 -3
  5. package/es/actions/project-actions.js +5 -15
  6. package/es/assets/Window.hdr +2100 -0
  7. package/es/assets/gltf/door_sliding.bin +0 -0
  8. package/es/assets/img/1.jpg +0 -0
  9. package/es/catalog/areas/area/planner-element.js +5 -10
  10. package/es/catalog/catalog.js +4 -1
  11. package/es/catalog/factories/area-factory-3d.js +17 -18
  12. package/es/catalog/factories/wall-factory-3d.js +2 -2
  13. package/es/catalog/factories/wall-factory.js +8 -8
  14. package/es/catalog/lines/wall/planner-element.js +9 -18
  15. package/es/catalog/utils/exporter.js +3 -6
  16. package/es/catalog/utils/item-loader.js +197 -202
  17. package/es/catalog/utils/mtl-loader.js +2 -2
  18. package/es/catalog/utils/obj-loader.js +2 -2
  19. package/es/class/item.js +127 -107
  20. package/es/class/line.js +2 -14
  21. package/es/class/project.js +44 -150
  22. package/es/components/content.js +6 -19
  23. package/es/components/viewer2d/grids/grid-streak.js +1 -1
  24. package/es/components/viewer2d/item.js +51 -84
  25. package/es/components/viewer2d/line.js +243 -315
  26. package/es/components/viewer2d/ruler.js +36 -16
  27. package/es/components/viewer2d/rulerDist.js +75 -44
  28. package/es/components/viewer2d/utils.js +0 -6
  29. package/es/components/viewer2d/viewer2d.js +205 -301
  30. package/es/components/viewer3d/front3D.js +2 -3
  31. package/es/components/viewer3d/libs/mtl-loader.js +2 -2
  32. package/es/components/viewer3d/libs/obj-loader.js +2 -2
  33. package/es/components/viewer3d/libs/orbit-controls.js +4 -3
  34. package/es/components/viewer3d/libs/pointer-lock-controls.js +7 -6
  35. package/es/components/viewer3d/viewer3d.js +80 -127
  36. package/es/constants.js +3 -110
  37. package/es/devLiteRenderer.js +38 -597
  38. package/es/index.js +86 -16
  39. package/es/models.js +5 -8
  40. package/es/plugins/SVGLoader.js +5 -7
  41. package/es/plugins/keyboard.js +6 -15
  42. package/es/reducers/items-reducer.js +5 -5
  43. package/es/reducers/lines-reducer.js +1 -1
  44. package/es/reducers/project-reducer.js +3 -5
  45. package/es/shared-style.js +4 -4
  46. package/es/utils/geometry.js +0 -161
  47. package/es/utils/get-edges-of-subgraphs.js +1 -1
  48. package/es/utils/graph-cycles.js +1 -1
  49. package/es/utils/graph.js +1 -1
  50. package/es/utils/helper.js +2 -67
  51. package/es/utils/isolate-event-handler.js +124 -1367
  52. package/es/utils/molding.js +2 -238
  53. package/lib/LiteKitchenConfigurator.js +205 -22
  54. package/lib/LiteRenderer.js +278 -13
  55. package/lib/actions/items-actions.js +6 -10
  56. package/lib/actions/lines-actions.js +1 -3
  57. package/lib/actions/project-actions.js +4 -15
  58. package/lib/assets/Window.hdr +2100 -0
  59. package/lib/assets/gltf/door_sliding.bin +0 -0
  60. package/lib/assets/img/1.jpg +0 -0
  61. package/lib/catalog/areas/area/planner-element.js +5 -11
  62. package/lib/catalog/catalog.js +4 -1
  63. package/lib/catalog/factories/area-factory-3d.js +14 -15
  64. package/lib/catalog/factories/wall-factory-3d.js +2 -2
  65. package/lib/catalog/factories/wall-factory.js +8 -8
  66. package/lib/catalog/lines/wall/planner-element.js +9 -19
  67. package/lib/catalog/utils/exporter.js +3 -6
  68. package/lib/catalog/utils/item-loader.js +194 -199
  69. package/lib/catalog/utils/mtl-loader.js +2 -9
  70. package/lib/catalog/utils/obj-loader.js +2 -10
  71. package/lib/class/item.js +125 -105
  72. package/lib/class/line.js +1 -13
  73. package/lib/class/project.js +43 -149
  74. package/lib/components/content.js +6 -19
  75. package/lib/components/viewer2d/grids/grid-streak.js +1 -1
  76. package/lib/components/viewer2d/item.js +50 -83
  77. package/lib/components/viewer2d/line.js +242 -315
  78. package/lib/components/viewer2d/ruler.js +35 -15
  79. package/lib/components/viewer2d/rulerDist.js +75 -44
  80. package/lib/components/viewer2d/utils.js +0 -7
  81. package/lib/components/viewer2d/viewer2d.js +205 -299
  82. package/lib/components/viewer3d/front3D.js +2 -3
  83. package/lib/components/viewer3d/libs/mtl-loader.js +2 -9
  84. package/lib/components/viewer3d/libs/obj-loader.js +2 -9
  85. package/lib/components/viewer3d/libs/orbit-controls.js +5 -11
  86. package/lib/components/viewer3d/libs/pointer-lock-controls.js +7 -13
  87. package/lib/components/viewer3d/viewer3d.js +79 -125
  88. package/lib/constants.js +7 -115
  89. package/lib/devLiteRenderer.js +33 -592
  90. package/lib/index.js +86 -16
  91. package/lib/models.js +5 -8
  92. package/lib/plugins/SVGLoader.js +5 -7
  93. package/lib/plugins/keyboard.js +6 -15
  94. package/lib/reducers/items-reducer.js +5 -5
  95. package/lib/reducers/lines-reducer.js +1 -1
  96. package/lib/reducers/project-reducer.js +2 -4
  97. package/lib/shared-style.js +4 -4
  98. package/lib/utils/geometry.js +0 -162
  99. package/lib/utils/get-edges-of-subgraphs.js +1 -6
  100. package/lib/utils/graph-cycles.js +8 -7
  101. package/lib/utils/graph.js +1 -6
  102. package/lib/utils/helper.js +3 -70
  103. package/lib/utils/isolate-event-handler.js +121 -1364
  104. package/lib/utils/molding.js +0 -238
  105. package/package.json +1 -1
@@ -2,8 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { convert } from "../../utils/convert-units-lite";
4
4
  import IDBroker from "../../utils/id-broker";
5
- import { LINE_THICKNESS, TEXT_COLOR_NEUTRAL_7 } from "../../constants";
6
- import { STYLE_ROOM_SHAPE } from "./line";
5
+ import { LINE_THICKNESS, SHADE_LIGHT_BLUE_COLOR, TEXT_COLOR_NEUTRAL_7 } from "../../constants";
7
6
  var STYLE = {
8
7
  stroke: TEXT_COLOR_NEUTRAL_7,
9
8
  strokeWidth: '1px'
@@ -16,7 +15,6 @@ var STYLE_TEXT = {
16
15
  textAnchor: 'middle',
17
16
  fontSize: '12px',
18
17
  pointerEvents: 'none',
19
- fill: '#455A64',
20
18
  //http://stackoverflow.com/questions/826782/how-to-disable-text-selection-highlighting-using-css
21
19
  WebkitTouchCallout: 'none' /* iOS Safari */,
22
20
  WebkitUserSelect: 'none' /* Chrome/Safari/Opera */,
@@ -30,9 +28,37 @@ export default function Ruler(_ref) {
30
28
  unit = _ref.unit,
31
29
  rulerUnit = _ref.rulerUnit,
32
30
  transform = _ref.transform,
33
- style = _ref.style;
31
+ flag = _ref.flag;
32
+ var update = function update(lengthInput, unitInput, type) {
33
+ var newLength = toFixedFloat(lengthInput);
34
+ var merged = null;
35
+ if (type === 0) {
36
+ merged = value.merge({
37
+ _length: newLength,
38
+ length: convert(newLength).from(unitInput).to('cm')
39
+ });
40
+ } else {
41
+ merged = value.merge({
42
+ _length: convert(newLength).from(UNIT_INCH).to(unitInput),
43
+ _unit: unitInput
44
+ });
45
+ }
46
+ // if (hook) {
47
+ // return hook(merged, sourceElement, internalState, state).then(val => {
48
+ // return onUpdate(val);
49
+ // });
50
+ // }
51
+ // return onUpdate(merged);
52
+ };
53
+ // let _unit = "in";
54
+ // let distanceText = convert(length).from(unit).to(rulerUnit);
34
55
  var distanceText = convert(length).from(unit).to(rulerUnit).toFixed(0);
35
- var textLength = (distanceText.length + layer.unit.length) * 9;
56
+ var thickness = convert(LINE_THICKNESS).from(unit).to(rulerUnit).toFixed(0);
57
+ // let _ft_len = convert(_length).from('in').to('ft');
58
+ // let _ft_val = Math.floor(_ft_len); _ft_len -= _ft_val;
59
+ // let _in_val = convert(_ft_len).from('ft').to('in').toFixed(0);
60
+ // let distanceText = `${_ft_val}'${_in_val}"`;
61
+ var textLength = (distanceText.length + layer.unit.length) * 18;
36
62
  return /*#__PURE__*/React.createElement("g", {
37
63
  transform: transform
38
64
  }, /*#__PURE__*/React.createElement("g", {
@@ -53,24 +79,18 @@ export default function Ruler(_ref) {
53
79
  style: STYLE_TEXT,
54
80
  fill: TEXT_COLOR_NEUTRAL_7
55
81
  }, Math.round(convert(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/React.createElement("line", {
56
- x1: style === STYLE_ROOM_SHAPE ? 0 : 4,
82
+ x1: "0",
57
83
  y1: "0",
58
84
  x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
59
85
  y2: "0",
60
- style: style
86
+ style: STYLE
61
87
  }), /*#__PURE__*/React.createElement("line", {
62
88
  x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
63
89
  y1: "0",
64
- x2: style === STYLE_ROOM_SHAPE ? length : length - 4,
90
+ x2: length,
65
91
  y2: "0",
66
- style: style
67
- }), style !== STYLE_ROOM_SHAPE && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("polygon", {
68
- points: "3, 0, 6.5, -2, 6.5, 2 ",
69
- style: style
70
- }), /*#__PURE__*/React.createElement("polygon", {
71
- points: "".concat(length - 3, ", 0, ").concat(length - 6.5, ", 2, ").concat(length - 6.5, ", -2"),
72
- style: style
73
- })));
92
+ style: STYLE
93
+ }));
74
94
  }
75
95
  Ruler.propTypes = {
76
96
  length: PropTypes.number.isRequired,
@@ -7,15 +7,13 @@ var ARROW_STYLE = {
7
7
  strokeLinecap: 'round'
8
8
  };
9
9
  var STYLE = {
10
- stroke: '#455A64',
11
- fill: '#455A64',
12
- strokeWidth: '1.5px'
10
+ stroke: 'black',
11
+ strokeWidth: '1.1px'
13
12
  };
14
13
  var STYLE_TEXT = {
15
14
  textAnchor: 'middle',
16
15
  fontSize: '10px',
17
16
  pointerEvents: 'none',
18
- fill: '#455A64',
19
17
  //http://stackoverflow.com/questions/826782/how-to-disable-text-selection-highlighting-using-css
20
18
  WebkitTouchCallout: 'none' /* iOS Safari */,
21
19
  WebkitUserSelect: 'none' /* Chrome/Safari/Opera */,
@@ -34,7 +32,7 @@ export default function RulerDist(_ref) {
34
32
  var _unit = 'in';
35
33
  // let _length = convert(length).from(unit).to(rulerUnit);
36
34
  var distanceText = "".concat(convert(length).from('cm').to(rulerUnit).toFixed(0));
37
- var textLength = (distanceText.length + layer.unit.length) * 8;
35
+ var textLength = (distanceText.length + layer.unit.length) * 18;
38
36
  var textangle = angle + 90;
39
37
  var textRotation = 1;
40
38
  var ay = 2;
@@ -66,46 +64,79 @@ export default function RulerDist(_ref) {
66
64
  textRotation = 180;
67
65
  ay = 5;
68
66
  }
69
- if (distanceText > 0) {
70
- if (distanceText < 28) {
71
- return /*#__PURE__*/React.createElement("g", {
72
- transform: transform
73
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("text", {
74
- x: "0",
75
- y: "0",
76
- transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
77
- style: STYLE_TEXT
78
- }, Math.round(convert(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit === 'in' ? '"' : layer.unit)));
79
- } else {
80
- return /*#__PURE__*/React.createElement("g", {
81
- transform: transform
82
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("text", {
83
- x: "0",
84
- y: "0",
85
- transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
86
- style: STYLE_TEXT
87
- }, Math.round(convert(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/React.createElement("line", {
88
- x1: "2",
89
- y1: "0",
90
- x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
91
- y2: "0",
92
- style: STYLE
93
- }), /*#__PURE__*/React.createElement("polygon", {
94
- points: "1, 0, 4.5, -2, 4.5, 2 ",
95
- style: STYLE
96
- }), /*#__PURE__*/React.createElement("line", {
97
- x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
98
- y1: "0",
99
- x2: length,
100
- y2: "0",
101
- style: STYLE
102
- }), /*#__PURE__*/React.createElement("polygon", {
103
- points: "".concat(length - 1, ", 0, ").concat(length - 4.5, ", 2, ").concat(length - 4.5, ", -2"),
104
- style: STYLE
105
- }));
106
- }
67
+ if (Math.abs(length - textLength) / 2 <= 16) {
68
+ var dy = textRotation == 0 ? 15 : -15;
69
+ return /*#__PURE__*/React.createElement("g", {
70
+ transform: transform
71
+ }, /*#__PURE__*/React.createElement("g", {
72
+ transform: "translate(0, ".concat(dy, ")")
73
+ }, /*#__PURE__*/React.createElement("text", {
74
+ x: "0",
75
+ y: "0",
76
+ transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
77
+ style: STYLE_TEXT
78
+ }, Math.round(convert(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit)), /*#__PURE__*/React.createElement("circle", {
79
+ cx: "1",
80
+ cy: "0",
81
+ fill: "white",
82
+ r: "1.1",
83
+ stroke: "black",
84
+ strokeWidth: "0.6"
85
+ }), /*#__PURE__*/React.createElement("line", {
86
+ x1: "2",
87
+ y1: "0",
88
+ x2: (length - textLength) / 2 < 0 ? 0 : length,
89
+ y2: "0",
90
+ style: STYLE
91
+ }), /*#__PURE__*/React.createElement("line", {
92
+ x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
93
+ y1: "0",
94
+ x2: length,
95
+ y2: "0",
96
+ style: STYLE
97
+ }), /*#__PURE__*/React.createElement("circle", {
98
+ cx: length - 1,
99
+ cy: "0",
100
+ fill: "white",
101
+ r: "1.1",
102
+ stroke: "black",
103
+ strokeWidth: "0.6"
104
+ }));
107
105
  } else {
108
- return null;
106
+ return /*#__PURE__*/React.createElement("g", {
107
+ transform: transform
108
+ }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("text", {
109
+ x: "0",
110
+ y: "0",
111
+ transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
112
+ style: STYLE_TEXT
113
+ }, Math.round(convert(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit)), /*#__PURE__*/React.createElement("circle", {
114
+ cx: "1",
115
+ cy: "0",
116
+ fill: "white",
117
+ r: "1.1",
118
+ stroke: "black",
119
+ strokeWidth: "0.6"
120
+ }), /*#__PURE__*/React.createElement("line", {
121
+ x1: "2",
122
+ y1: "0",
123
+ x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
124
+ y2: "0",
125
+ style: STYLE
126
+ }), /*#__PURE__*/React.createElement("line", {
127
+ x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
128
+ y1: "0",
129
+ x2: length,
130
+ y2: "0",
131
+ style: STYLE
132
+ }), /*#__PURE__*/React.createElement("circle", {
133
+ cx: length - 1,
134
+ cy: "0",
135
+ fill: "white",
136
+ r: "1.1",
137
+ stroke: "black",
138
+ strokeWidth: "0.6"
139
+ }));
109
140
  }
110
141
  }
111
142
  RulerDist.propTypes = {
@@ -184,10 +184,4 @@ export var areaPolygon = function areaPolygon(points) {
184
184
  }
185
185
  var area = det / 2;
186
186
  return signed ? area : Math.abs(area);
187
- };
188
- export var isWarningItem = function isWarningItem(item) {
189
- var _item$toJS$doorStyle;
190
- if (item.category === 'cabinet') return !(item !== null && item !== void 0 && (_item$toJS$doorStyle = item.toJS().doorStyle) !== null && _item$toJS$doorStyle !== void 0 && (_item$toJS$doorStyle = _item$toJS$doorStyle.doorStyles) !== null && _item$toJS$doorStyle !== void 0 && (_item$toJS$doorStyle = _item$toJS$doorStyle.cds) !== null && _item$toJS$doorStyle !== void 0 && _item$toJS$doorStyle.filter(function (cd) {
191
- return cd.itemID == (item === null || item === void 0 ? void 0 : item.getIn(['itemID']));
192
- }).length) > 0;else return false;
193
187
  };