kitchen-simulator 4.0.6-react-18 → 4.0.6
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.
- package/README.md +3 -0
- package/es/AppContext.js +1 -1
- package/es/LiteKitchenConfigurator.js +162 -107
- package/es/LiteRenderer.js +162 -137
- package/es/actions/export.js +25 -12
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/img/png/helper/video_preview_start.png +0 -0
- package/es/assets/img/svg/bottombar/elevation.svg +12 -5
- package/es/catalog/catalog.js +21 -5
- package/es/catalog/holes/window-clear/planner-element.js +2 -2
- package/es/catalog/properties/export.js +21 -0
- package/es/catalog/properties/property-checkbox.js +68 -0
- package/es/catalog/properties/property-color.js +39 -0
- package/es/catalog/properties/property-enum.js +50 -0
- package/es/catalog/properties/property-hidden.js +19 -0
- package/es/catalog/properties/property-lenght-measure.js +100 -0
- package/es/catalog/properties/property-length-measure.js +84 -0
- package/es/catalog/properties/property-length-measure_hole.js +100 -0
- package/es/catalog/properties/property-number.js +48 -0
- package/es/catalog/properties/property-read-only.js +26 -0
- package/es/catalog/properties/property-string.js +48 -0
- package/es/catalog/properties/property-toggle.js +39 -0
- package/es/catalog/properties/shared-property-style.js +14 -0
- package/es/catalog/utils/exporter.js +1 -0
- package/es/catalog/utils/item-loader.js +35 -26
- package/es/class/hole.js +0 -2
- package/es/class/item.js +96 -70
- package/es/class/line.js +4 -8
- package/es/class/project.js +93 -80
- package/es/components/content.js +5 -93
- package/es/components/export.js +4 -6
- package/es/components/style/button.js +106 -0
- package/es/components/style/cancel-button.js +21 -0
- package/es/components/style/content-container.js +30 -0
- package/es/components/style/content-title.js +25 -0
- package/es/components/style/delete-button.js +24 -0
- package/es/components/style/export.js +28 -2
- package/es/components/style/form-block.js +20 -0
- package/es/components/style/form-color-input.js +26 -0
- package/es/components/style/form-label.js +22 -0
- package/es/components/style/form-number-input.js +29 -27
- package/es/components/style/form-number-input_2.js +200 -0
- package/es/components/style/form-select.js +19 -0
- package/es/components/style/form-slider.js +60 -0
- package/es/components/style/form-submit-button.js +25 -0
- package/es/components/style/form-text-input.js +69 -0
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/group.js +5 -4
- package/es/components/viewer2d/item.js +155 -359
- package/es/components/viewer2d/layer.js +1 -1
- package/es/components/viewer2d/line.js +17 -47
- package/es/components/viewer2d/ruler.js +5 -3
- package/es/components/viewer2d/rulerDist.js +8 -7
- package/es/components/viewer2d/rulerX.js +4 -2
- package/es/components/viewer2d/rulerY.js +3 -0
- package/es/components/viewer2d/scene.js +17 -12
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +2 -2
- package/es/components/viewer2d/vertex.js +3 -2
- package/es/components/viewer2d/viewer2d.js +51 -87
- package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/es/components/viewer3d/scene-creator.js +59 -18
- package/es/components/viewer3d/viewer3d-first-person.js +24 -26
- package/es/components/viewer3d/viewer3d.js +100 -112
- package/es/constants.js +6 -2
- package/es/devLiteRenderer.js +491 -150
- package/es/index.js +606 -1
- package/es/models.js +3 -2
- package/es/plugins/SVGLoader.js +1414 -0
- package/es/plugins/console-debugger.js +34 -0
- package/es/plugins/export.js +7 -0
- package/es/plugins/keyboard.js +110 -0
- package/es/reducers/project-reducer.js +3 -0
- package/es/styles/export.js +5 -0
- package/es/styles/tabs.css +40 -0
- package/es/utils/geometry.js +72 -114
- package/es/utils/helper.js +38 -1
- package/es/utils/isolate-event-handler.js +826 -606
- package/es/utils/molding.js +457 -11
- package/lib/AppContext.js +1 -1
- package/lib/LiteKitchenConfigurator.js +161 -107
- package/lib/LiteRenderer.js +161 -137
- package/lib/actions/export.js +35 -39
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/img/png/helper/video_preview_start.png +0 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
- package/lib/catalog/catalog.js +20 -4
- package/lib/catalog/holes/window-clear/planner-element.js +2 -2
- package/lib/catalog/properties/export.js +81 -0
- package/lib/catalog/properties/property-checkbox.js +76 -0
- package/lib/catalog/properties/property-color.js +47 -0
- package/lib/catalog/properties/property-enum.js +58 -0
- package/lib/catalog/properties/property-hidden.js +27 -0
- package/lib/catalog/properties/property-lenght-measure.js +108 -0
- package/lib/catalog/properties/property-length-measure.js +92 -0
- package/lib/catalog/properties/property-length-measure_hole.js +108 -0
- package/lib/catalog/properties/property-number.js +56 -0
- package/lib/catalog/properties/property-read-only.js +34 -0
- package/lib/catalog/properties/property-string.js +56 -0
- package/lib/catalog/properties/property-toggle.js +47 -0
- package/lib/catalog/properties/shared-property-style.js +21 -0
- package/lib/catalog/utils/exporter.js +1 -0
- package/lib/catalog/utils/item-loader.js +35 -26
- package/lib/class/hole.js +0 -2
- package/lib/class/item.js +94 -68
- package/lib/class/line.js +3 -7
- package/lib/class/project.js +93 -80
- package/lib/components/content.js +5 -93
- package/lib/components/export.js +6 -26
- package/lib/components/style/button.js +115 -0
- package/lib/components/style/cancel-button.js +29 -0
- package/lib/components/style/content-container.js +38 -0
- package/lib/components/style/content-title.js +35 -0
- package/lib/components/style/delete-button.js +34 -0
- package/lib/components/style/export.js +105 -1
- package/lib/components/style/form-block.js +28 -0
- package/lib/components/style/form-color-input.js +34 -0
- package/lib/components/style/form-label.js +30 -0
- package/lib/components/style/form-number-input.js +29 -27
- package/lib/components/style/form-number-input_2.js +209 -0
- package/lib/components/style/form-select.js +29 -0
- package/lib/components/style/form-slider.js +68 -0
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/style/form-text-input.js +78 -0
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/group.js +5 -4
- package/lib/components/viewer2d/item.js +152 -356
- package/lib/components/viewer2d/layer.js +1 -1
- package/lib/components/viewer2d/line.js +17 -47
- package/lib/components/viewer2d/ruler.js +4 -2
- package/lib/components/viewer2d/rulerDist.js +8 -7
- package/lib/components/viewer2d/rulerX.js +4 -2
- package/lib/components/viewer2d/rulerY.js +3 -0
- package/lib/components/viewer2d/scene.js +17 -12
- package/lib/components/viewer2d/state.js +1 -1
- package/lib/components/viewer2d/utils.js +2 -2
- package/lib/components/viewer2d/vertex.js +3 -2
- package/lib/components/viewer2d/viewer2d.js +49 -84
- package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/lib/components/viewer3d/scene-creator.js +57 -16
- package/lib/components/viewer3d/viewer3d-first-person.js +24 -26
- package/lib/components/viewer3d/viewer3d.js +97 -108
- package/lib/constants.js +11 -7
- package/lib/devLiteRenderer.js +489 -148
- package/lib/index.js +607 -6
- package/lib/models.js +3 -2
- package/lib/plugins/SVGLoader.js +1419 -0
- package/lib/plugins/console-debugger.js +42 -0
- package/lib/plugins/export.js +25 -0
- package/lib/plugins/keyboard.js +117 -0
- package/lib/reducers/project-reducer.js +3 -0
- package/lib/styles/export.js +13 -0
- package/lib/styles/tabs.css +40 -0
- package/lib/utils/geometry.js +72 -114
- package/lib/utils/helper.js +40 -1
- package/lib/utils/isolate-event-handler.js +826 -605
- package/lib/utils/molding.js +458 -9
- package/package.json +21 -20
- package/es/mocks/appliancePayload.json +0 -27
- package/es/mocks/cabinetPayload.json +0 -1914
- package/es/mocks/cabinetPayload2.json +0 -76
- package/es/mocks/dataBundle2.json +0 -4
- package/es/mocks/distancePayload.json +0 -6
- package/es/mocks/doorStylePayload2.json +0 -84
- package/es/mocks/furnishingPayload.json +0 -23
- package/es/mocks/itemCDSPayload.json +0 -27
- package/es/mocks/lightingPayload.json +0 -23
- package/es/mocks/mockProps.json +0 -43
- package/es/mocks/mockProps2.json +0 -9
- package/es/mocks/moldingPayload.json +0 -19
- package/es/mocks/projectItemsCatalog.json +0 -133
- package/es/mocks/rectangleShape.json +0 -238
- package/es/mocks/replaceCabinetPayload.json +0 -81
- package/es/mocks/roomShapePayload.json +0 -5
- package/es/useAppContext.js +0 -8
- package/lib/mocks/appliancePayload.json +0 -27
- package/lib/mocks/cabinetPayload.json +0 -1914
- package/lib/mocks/cabinetPayload2.json +0 -76
- package/lib/mocks/dataBundle2.json +0 -4
- package/lib/mocks/distancePayload.json +0 -6
- package/lib/mocks/doorStylePayload2.json +0 -84
- package/lib/mocks/furnishingPayload.json +0 -23
- package/lib/mocks/itemCDSPayload.json +0 -27
- package/lib/mocks/lightingPayload.json +0 -23
- package/lib/mocks/mockProps.json +0 -43
- package/lib/mocks/mockProps2.json +0 -9
- package/lib/mocks/moldingPayload.json +0 -19
- package/lib/mocks/projectItemsCatalog.json +0 -133
- package/lib/mocks/rectangleShape.json +0 -238
- package/lib/mocks/replaceCabinetPayload.json +0 -81
- package/lib/mocks/roomShapePayload.json +0 -5
- package/lib/useAppContext.js +0 -16
package/lib/LiteRenderer.js
CHANGED
|
@@ -6,9 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = LiteRenderer;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
14
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -20,70 +18,53 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
20
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
21
19
|
var _reactRedux = require("react-redux");
|
|
22
20
|
var _redux = require("redux");
|
|
21
|
+
var _immutable = require("immutable");
|
|
22
|
+
var Sentry = _interopRequireWildcard(require("@sentry/react"));
|
|
23
|
+
var THREE = _interopRequireWildcard(require("three"));
|
|
23
24
|
var _models = _interopRequireWildcard(require("./models"));
|
|
24
25
|
var Models = _models;
|
|
25
26
|
var _reducer = _interopRequireDefault(require("./reducers/reducer"));
|
|
27
|
+
var _AppContext = _interopRequireDefault(require("./AppContext"));
|
|
26
28
|
var _catalog = _interopRequireDefault(require("./catalog/catalog"));
|
|
27
29
|
var Areas = _interopRequireWildcard(require("./catalog/areas/area/planner-element"));
|
|
28
30
|
var Lines = _interopRequireWildcard(require("./catalog/lines/wall/planner-element"));
|
|
29
31
|
var Holes = _interopRequireWildcard(require("./catalog/holes/export"));
|
|
30
|
-
var
|
|
31
|
-
var Sentry = _interopRequireWildcard(require("@sentry/react"));
|
|
32
|
-
var THREE = _interopRequireWildcard(require("three"));
|
|
32
|
+
var _export2 = require("./plugins/export");
|
|
33
33
|
var _LiteKitchenConfigurator = _interopRequireDefault(require("./LiteKitchenConfigurator"));
|
|
34
|
-
var _excluded = ["width", "height", "configData", "
|
|
34
|
+
var _excluded = ["width", "height", "configData", "externalEvent", "onInternalEvent", "onError"];
|
|
35
35
|
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); }
|
|
36
36
|
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; }
|
|
37
37
|
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; }
|
|
38
|
+
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; } } }; }
|
|
39
|
+
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; } }
|
|
40
|
+
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
41
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
39
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
/* ============================== component ============================= */
|
|
43
|
-
var MyCatalog = new _catalog["default"]();
|
|
44
|
-
var AppState = (0, _immutable.Map)({
|
|
45
|
-
KitchenConfigurator: new _models.State()
|
|
46
|
-
});
|
|
47
|
-
console.log('Version: 378.45-202509_DIY-364-mbox-crash');
|
|
48
|
-
isProduction && Sentry.init({
|
|
49
|
-
dsn: process.env.SENTRY_DSN,
|
|
50
|
-
environment: process.env.SENTRY_ENVIRONMENT
|
|
51
|
-
});
|
|
42
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } // LiteRenderer.jsx
|
|
43
|
+
var isBrowser = typeof window !== 'undefined';
|
|
44
|
+
if (isBrowser) window.THREE = THREE;
|
|
52
45
|
|
|
53
|
-
//
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
46
|
+
// ---- Keep prior Sentry behavior but ensure it only initializes once ----
|
|
47
|
+
var __sentryInited = false;
|
|
48
|
+
function ensureSentryInit() {
|
|
49
|
+
if (!isBrowser) return;
|
|
50
|
+
// assumes isProduction exists in your build just like today
|
|
51
|
+
if (!isProduction) return;
|
|
52
|
+
if (__sentryInited) return;
|
|
53
|
+
__sentryInited = true;
|
|
54
|
+
Sentry.init({
|
|
55
|
+
dsn: process.env.SENTRY_DSN,
|
|
56
|
+
environment: process.env.SENTRY_ENVIRONMENT
|
|
58
57
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"export": true,
|
|
70
|
-
// export history of actions in a file
|
|
71
|
-
"import": 'custom',
|
|
72
|
-
// import history of actions from a file
|
|
73
|
-
jump: true,
|
|
74
|
-
// jump back and forth (time travelling)
|
|
75
|
-
skip: true,
|
|
76
|
-
// skip (cancel) actions
|
|
77
|
-
reorder: true,
|
|
78
|
-
// drag and drop actions in the history list
|
|
79
|
-
dispatch: true,
|
|
80
|
-
// dispatch custom actions or action creators
|
|
81
|
-
test: true // generate tests for the selected actions
|
|
82
|
-
},
|
|
83
|
-
maxAge: 999999
|
|
84
|
-
}) : function (f) {
|
|
85
|
-
return f;
|
|
86
|
-
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// ---------------- error helpers ----------------
|
|
61
|
+
function safeJson(v) {
|
|
62
|
+
try {
|
|
63
|
+
return JSON.parse(JSON.stringify(v));
|
|
64
|
+
} catch (_unused) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
87
68
|
function serializeError(err) {
|
|
88
69
|
try {
|
|
89
70
|
if (!err) return {
|
|
@@ -100,19 +81,12 @@ function serializeError(err) {
|
|
|
100
81
|
message: String(err),
|
|
101
82
|
raw: safeJson(err)
|
|
102
83
|
};
|
|
103
|
-
} catch (
|
|
84
|
+
} catch (_unused2) {
|
|
104
85
|
return {
|
|
105
86
|
message: 'Error serializing error'
|
|
106
87
|
};
|
|
107
88
|
}
|
|
108
89
|
}
|
|
109
|
-
function safeJson(v) {
|
|
110
|
-
try {
|
|
111
|
-
return JSON.parse(JSON.stringify(v));
|
|
112
|
-
} catch (_unused2) {
|
|
113
|
-
return undefined;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
90
|
|
|
117
91
|
/* ---------- Error Boundary that pushes into buffer ---------- */
|
|
118
92
|
var ToolErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
@@ -140,42 +114,139 @@ var ToolErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
|
140
114
|
}
|
|
141
115
|
}]);
|
|
142
116
|
}(_react["default"].Component);
|
|
117
|
+
ToolErrorBoundary.propTypes = {
|
|
118
|
+
pushError: _propTypes["default"].func.isRequired,
|
|
119
|
+
children: _propTypes["default"].any
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
// ----------------- catalog init -----------------
|
|
123
|
+
function initCatalogOnce(catalog) {
|
|
124
|
+
if (!catalog) return;
|
|
125
|
+
if (catalog.__ksInitialized) return;
|
|
126
|
+
for (var x in Areas) catalog.registerElement(Areas[x]);
|
|
127
|
+
for (var _x in Lines) catalog.registerElement(Lines[_x]);
|
|
128
|
+
for (var _x2 in Holes) catalog.registerElement(Holes[_x2]);
|
|
129
|
+
catalog.registerCategory('Windows', 'Windows', [Holes.windowClear, Holes.windowCross, Holes.windowDoubleHung, Holes.windowVertical]);
|
|
130
|
+
catalog.registerCategory('Doors', 'Doors', [Holes.doorInterior, Holes.doorExterior, Holes.doorCloset, Holes.doorSliding, Holes.doorwayFramed, Holes.doorwayFrameless]);
|
|
131
|
+
catalog.__ksInitialized = true;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// ----------------- store factory -----------------
|
|
135
|
+
function createInstanceStore() {
|
|
136
|
+
var AppState = (0, _immutable.Map)({
|
|
137
|
+
KitchenConfigurator: new _models.State()
|
|
138
|
+
});
|
|
139
|
+
var reducer = function reducer(state, action) {
|
|
140
|
+
state = state || AppState;
|
|
141
|
+
return state.update('KitchenConfigurator', function (plannerState) {
|
|
142
|
+
return (0, _reducer["default"])(plannerState, action);
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
var enhancer = !isProduction && isBrowser && window.devToolsExtension ? window.devToolsExtension({
|
|
146
|
+
features: {
|
|
147
|
+
pause: true,
|
|
148
|
+
lock: true,
|
|
149
|
+
persist: true,
|
|
150
|
+
"export": true,
|
|
151
|
+
"import": 'custom',
|
|
152
|
+
jump: true,
|
|
153
|
+
skip: true,
|
|
154
|
+
reorder: true,
|
|
155
|
+
dispatch: true,
|
|
156
|
+
test: true
|
|
157
|
+
},
|
|
158
|
+
maxAge: 999999
|
|
159
|
+
}) : function (f) {
|
|
160
|
+
return f;
|
|
161
|
+
};
|
|
162
|
+
return (0, _redux.createStore)(reducer, null, enhancer);
|
|
163
|
+
}
|
|
164
|
+
function createPlugins() {
|
|
165
|
+
return [(0, _export2.Keyboard)(), (0, _export2.ConsoleDebugger)()];
|
|
166
|
+
}
|
|
143
167
|
function LiteRenderer(props) {
|
|
168
|
+
ensureSentryInit();
|
|
144
169
|
var width = props.width,
|
|
145
170
|
height = props.height,
|
|
146
171
|
configData = props.configData,
|
|
147
|
-
options = props.options,
|
|
148
|
-
user = props.user,
|
|
149
|
-
auth = props.auth,
|
|
150
|
-
featureFlags = props.featureFlags,
|
|
151
|
-
sentry = props.sentry,
|
|
152
|
-
analytics = props.analytics,
|
|
153
172
|
externalEvent = props.externalEvent,
|
|
154
173
|
onInternalEvent = props.onInternalEvent,
|
|
155
174
|
onError = props.onError,
|
|
156
175
|
passThrough = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
176
|
+
|
|
177
|
+
// ✅ instance-scoped store (no module singleton)
|
|
178
|
+
var storeRef = (0, _react.useRef)(null);
|
|
179
|
+
if (!storeRef.current) storeRef.current = createInstanceStore();
|
|
180
|
+
|
|
181
|
+
// ✅ instance-scoped catalog (no module singleton)
|
|
182
|
+
var catalogRef = (0, _react.useRef)(null);
|
|
183
|
+
if (!catalogRef.current) {
|
|
184
|
+
catalogRef.current = new _catalog["default"]();
|
|
185
|
+
initCatalogOnce(catalogRef.current);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// ✅ stable plugins array
|
|
189
|
+
var plugins = (0, _react.useMemo)(function () {
|
|
190
|
+
return createPlugins();
|
|
191
|
+
}, []);
|
|
192
|
+
|
|
193
|
+
// ✅ plugin lifecycle: supports cleanup if plugin returns function
|
|
194
|
+
var pluginCleanupsRef = (0, _react.useRef)([]);
|
|
195
|
+
(0, _react.useEffect)(function () {
|
|
196
|
+
var store = storeRef.current;
|
|
197
|
+
var stateExtractor = function stateExtractor(state) {
|
|
198
|
+
return state.get('KitchenConfigurator');
|
|
199
|
+
};
|
|
200
|
+
var cleanups = [];
|
|
201
|
+
var _iterator = _createForOfIteratorHelper(plugins),
|
|
202
|
+
_step;
|
|
203
|
+
try {
|
|
204
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
205
|
+
var p = _step.value;
|
|
206
|
+
try {
|
|
207
|
+
var maybeCleanup = p === null || p === void 0 ? void 0 : p(store, stateExtractor);
|
|
208
|
+
if (typeof maybeCleanup === 'function') cleanups.push(maybeCleanup);
|
|
209
|
+
} catch (_unused4) {
|
|
210
|
+
// keep prior behavior: do not crash
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
} catch (err) {
|
|
214
|
+
_iterator.e(err);
|
|
215
|
+
} finally {
|
|
216
|
+
_iterator.f();
|
|
217
|
+
}
|
|
218
|
+
pluginCleanupsRef.current = cleanups;
|
|
219
|
+
return function () {
|
|
220
|
+
var _iterator2 = _createForOfIteratorHelper(pluginCleanupsRef.current),
|
|
221
|
+
_step2;
|
|
222
|
+
try {
|
|
223
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
224
|
+
var fn = _step2.value;
|
|
225
|
+
try {
|
|
226
|
+
fn();
|
|
227
|
+
} catch (_unused3) {}
|
|
228
|
+
}
|
|
229
|
+
} catch (err) {
|
|
230
|
+
_iterator2.e(err);
|
|
231
|
+
} finally {
|
|
232
|
+
_iterator2.f();
|
|
233
|
+
}
|
|
234
|
+
pluginCleanupsRef.current = [];
|
|
235
|
+
};
|
|
236
|
+
}, [plugins]);
|
|
164
237
|
|
|
165
238
|
/* ---------- track last external event ---------- */
|
|
166
239
|
var lastExternalEventRef = (0, _react.useRef)(null);
|
|
167
240
|
(0, _react.useEffect)(function () {
|
|
168
|
-
if (externalEvent)
|
|
169
|
-
lastExternalEventRef.current = externalEvent;
|
|
170
|
-
}
|
|
241
|
+
if (externalEvent) lastExternalEventRef.current = externalEvent;
|
|
171
242
|
}, [externalEvent]);
|
|
172
243
|
|
|
173
244
|
/* ---------- error buffer + last emitted bundle ---------- */
|
|
174
|
-
var errorsBufferRef = (0, _react.useRef)([]);
|
|
245
|
+
var errorsBufferRef = (0, _react.useRef)([]);
|
|
175
246
|
var lastEmittedRef = (0, _react.useRef)({
|
|
176
247
|
externalEvent: null,
|
|
177
248
|
errors: []
|
|
178
|
-
});
|
|
249
|
+
});
|
|
179
250
|
var flushTimerRef = (0, _react.useRef)(null);
|
|
180
251
|
var emit = (0, _react.useCallback)(function (external, errors) {
|
|
181
252
|
var payload = {
|
|
@@ -184,13 +255,11 @@ function LiteRenderer(props) {
|
|
|
184
255
|
};
|
|
185
256
|
try {
|
|
186
257
|
onError === null || onError === void 0 || onError(payload);
|
|
187
|
-
} catch (
|
|
258
|
+
} catch (_unused5) {}
|
|
188
259
|
// eslint-disable-next-line no-console
|
|
189
260
|
console.debug('[LiteRenderer:onError]', payload);
|
|
190
261
|
lastEmittedRef.current = payload;
|
|
191
262
|
}, [onError]);
|
|
192
|
-
|
|
193
|
-
// batch short bursts (e.g., multiple async errors in same tick)
|
|
194
263
|
var scheduleFlush = (0, _react.useCallback)(function () {
|
|
195
264
|
if (flushTimerRef.current) return;
|
|
196
265
|
flushTimerRef.current = setTimeout(function () {
|
|
@@ -199,7 +268,7 @@ function LiteRenderer(props) {
|
|
|
199
268
|
if (!errors.length) return;
|
|
200
269
|
errorsBufferRef.current = [];
|
|
201
270
|
emit(lastExternalEventRef.current, errors);
|
|
202
|
-
}, 0);
|
|
271
|
+
}, 0);
|
|
203
272
|
}, [emit]);
|
|
204
273
|
var pushError = (0, _react.useCallback)(function (errPayload) {
|
|
205
274
|
errorsBufferRef.current.push(_objectSpread({
|
|
@@ -210,6 +279,7 @@ function LiteRenderer(props) {
|
|
|
210
279
|
|
|
211
280
|
/* ---------- global runtime + async error capture ---------- */
|
|
212
281
|
(0, _react.useEffect)(function () {
|
|
282
|
+
if (!isBrowser) return;
|
|
213
283
|
var onWindowError = function onWindowError(event) {
|
|
214
284
|
pushError({
|
|
215
285
|
type: 'runtime-error',
|
|
@@ -241,79 +311,33 @@ function LiteRenderer(props) {
|
|
|
241
311
|
var prev = prevExternalEventRef.current;
|
|
242
312
|
if (prev === externalEvent) return;
|
|
243
313
|
prevExternalEventRef.current = externalEvent;
|
|
244
|
-
|
|
245
|
-
// if we already emitted something before, re-send it with the new event context
|
|
246
314
|
var last = lastEmittedRef.current;
|
|
247
315
|
if (last && last.errors && last.errors.length) {
|
|
248
316
|
emit(lastExternalEventRef.current, last.errors);
|
|
249
317
|
}
|
|
250
318
|
}, [externalEvent, emit]);
|
|
251
|
-
var
|
|
252
|
-
logoImg =
|
|
253
|
-
companyUrl =
|
|
254
|
-
(
|
|
255
|
-
|
|
256
|
-
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
257
|
-
var x, _x, _x2;
|
|
258
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
259
|
-
while (1) switch (_context.prev = _context.next) {
|
|
260
|
-
case 0:
|
|
261
|
-
for (x in Areas) MyCatalog.registerElement(Areas[x]);
|
|
262
|
-
for (_x in Lines) MyCatalog.registerElement(Lines[_x]);
|
|
263
|
-
for (_x2 in Holes) MyCatalog.registerElement(Holes[_x2]);
|
|
264
|
-
MyCatalog.registerCategory('Windows', 'Windows', [Holes.windowClear, Holes.windowCross, Holes.windowDoubleHung, Holes.windowVertical]);
|
|
265
|
-
MyCatalog.registerCategory('Doors', 'Doors', [Holes.doorInterior, Holes.doorExterior, Holes.doorCloset, Holes.doorSliding, Holes.doorwayFramed, Holes.doorwayFrameless]);
|
|
266
|
-
case 1:
|
|
267
|
-
case "end":
|
|
268
|
-
return _context.stop();
|
|
269
|
-
}
|
|
270
|
-
}, _callee);
|
|
271
|
-
}));
|
|
272
|
-
return function initMyCatalog() {
|
|
273
|
-
return _ref.apply(this, arguments);
|
|
274
|
-
};
|
|
275
|
-
}();
|
|
276
|
-
var initCatalog = /*#__PURE__*/function () {
|
|
277
|
-
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
278
|
-
return _regenerator["default"].wrap(function (_context2) {
|
|
279
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
280
|
-
case 0:
|
|
281
|
-
_context2.next = 1;
|
|
282
|
-
return initMyCatalog();
|
|
283
|
-
case 1:
|
|
284
|
-
case "end":
|
|
285
|
-
return _context2.stop();
|
|
286
|
-
}
|
|
287
|
-
}, _callee2);
|
|
288
|
-
}));
|
|
289
|
-
return function initCatalog() {
|
|
290
|
-
return _ref2.apply(this, arguments);
|
|
291
|
-
};
|
|
292
|
-
}();
|
|
293
|
-
initCatalog();
|
|
294
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
295
|
-
}, [id]);
|
|
296
|
-
return /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, {
|
|
297
|
-
store: store
|
|
319
|
+
var _ref = configData || {},
|
|
320
|
+
logoImg = _ref.logoImg,
|
|
321
|
+
companyUrl = _ref.companyUrl;
|
|
322
|
+
return /*#__PURE__*/_react["default"].createElement(_AppContext["default"].Provider, null, /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, {
|
|
323
|
+
store: storeRef.current
|
|
298
324
|
}, /*#__PURE__*/_react["default"].createElement(ToolErrorBoundary, {
|
|
299
325
|
pushError: pushError
|
|
300
326
|
}, /*#__PURE__*/_react["default"].createElement(_LiteKitchenConfigurator["default"], (0, _extends2["default"])({
|
|
301
|
-
catalog:
|
|
327
|
+
catalog: catalogRef.current,
|
|
302
328
|
width: width,
|
|
303
329
|
height: height,
|
|
304
330
|
logoImage: logoImg,
|
|
305
331
|
companyURL: companyUrl,
|
|
332
|
+
plugins: plugins,
|
|
306
333
|
stateExtractor: function stateExtractor(state) {
|
|
307
334
|
return state.get('KitchenConfigurator');
|
|
308
335
|
},
|
|
309
336
|
configData: configData,
|
|
310
|
-
externalEvent:
|
|
337
|
+
externalEvent: externalEvent,
|
|
311
338
|
onInternalEvent: onInternalEvent
|
|
312
|
-
}, passThrough))));
|
|
339
|
+
}, passThrough)))));
|
|
313
340
|
}
|
|
314
|
-
|
|
315
|
-
/* ============================== prop types ============================== */
|
|
316
|
-
|
|
317
341
|
LiteRenderer.propTypes = {
|
|
318
342
|
width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
319
343
|
height: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
package/lib/actions/export.js
CHANGED
|
@@ -1,40 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
import * as projectActions from "./project-actions";
|
|
2
|
+
import * as viewer2DActions from "./viewer2d-actions";
|
|
3
|
+
import * as viewer3DActions from "./viewer3d-actions";
|
|
4
|
+
import * as linesActions from "./lines-actions";
|
|
5
|
+
import * as holesActions from "./holes-actions";
|
|
6
|
+
import * as sceneActions from "./scene-actions";
|
|
7
|
+
import * as verticesActions from "./vertices-actions";
|
|
8
|
+
import * as itemsActions from "./items-actions";
|
|
9
|
+
import * as areaActions from "./area-actions";
|
|
10
|
+
import * as groupsActions from "./groups-actions";
|
|
2
11
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
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); }
|
|
29
|
-
var _default = exports["default"] = {
|
|
30
|
-
projectActions: projectActions,
|
|
31
|
-
viewer2DActions: viewer2DActions,
|
|
32
|
-
viewer3DActions: viewer3DActions,
|
|
33
|
-
linesActions: linesActions,
|
|
34
|
-
holesActions: holesActions,
|
|
35
|
-
sceneActions: sceneActions,
|
|
36
|
-
verticesActions: verticesActions,
|
|
37
|
-
itemsActions: itemsActions,
|
|
38
|
-
areaActions: areaActions,
|
|
39
|
-
groupsActions: groupsActions
|
|
40
|
-
};
|
|
12
|
+
export {
|
|
13
|
+
projectActions,
|
|
14
|
+
viewer2DActions,
|
|
15
|
+
viewer3DActions,
|
|
16
|
+
linesActions,
|
|
17
|
+
holesActions,
|
|
18
|
+
sceneActions,
|
|
19
|
+
verticesActions,
|
|
20
|
+
itemsActions,
|
|
21
|
+
areaActions,
|
|
22
|
+
groupsActions
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default {
|
|
26
|
+
projectActions,
|
|
27
|
+
viewer2DActions,
|
|
28
|
+
viewer3DActions,
|
|
29
|
+
linesActions,
|
|
30
|
+
holesActions,
|
|
31
|
+
sceneActions,
|
|
32
|
+
verticesActions,
|
|
33
|
+
itemsActions,
|
|
34
|
+
areaActions,
|
|
35
|
+
groupsActions
|
|
36
|
+
};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<path
|
|
3
|
-
<path d="
|
|
4
|
-
<path d="
|
|
5
|
-
<path d="M8
|
|
1
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_1516_100789)">
|
|
3
|
+
<path d="M4.25 6L2 7.125L8 10.125L14 7.125L11.75 6" stroke="rgba(58, 11, 128, 1)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M2 10.125L8 13.125L14 10.125" stroke="rgba(58, 11, 128, 1)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
<path d="M8 7.125V1.875" stroke="rgba(58, 11, 128, 1)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6
|
+
<path d="M5.75 4.125L8 1.875L10.25 4.125" stroke="rgba(58, 11, 128, 1)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
</g>
|
|
8
|
+
<defs>
|
|
9
|
+
<clipPath id="clip0_1516_100789">
|
|
10
|
+
<rect width="16" height="16" fill="white"/>
|
|
11
|
+
</clipPath>
|
|
12
|
+
</defs>
|
|
6
13
|
</svg>
|
package/lib/catalog/catalog.js
CHANGED
|
@@ -8,6 +8,7 @@ exports["default"] = void 0;
|
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _export = require("./properties/export");
|
|
11
12
|
var _constants = require("../constants");
|
|
12
13
|
var _utils = require("../components/viewer2d/utils");
|
|
13
14
|
var Catalog = exports["default"] = /*#__PURE__*/function () {
|
|
@@ -25,6 +26,7 @@ var Catalog = exports["default"] = /*#__PURE__*/function () {
|
|
|
25
26
|
};
|
|
26
27
|
this.propertyTypes = {};
|
|
27
28
|
this.unit = unit;
|
|
29
|
+
this.registerMultiplePropertyType([['color', _export.PropertyColor, _export.PropertyColor], ['enum', _export.PropertyEnum, _export.PropertyEnum], ['string', _export.PropertyString, _export.PropertyString], ['number', _export.PropertyNumber, _export.PropertyNumber], ['length-measure', _export.PropertyLengthMeasure, _export.PropertyLengthMeasure], ['toggle', _export.PropertyToggle, _export.PropertyToggle], ['checkbox', _export.PropertyCheckbox, _export.PropertyCheckbox], ['hidden', _export.PropertyHidden, _export.PropertyHidden], ['read-only', _export.PropertyReadOnly, _export.PropertyReadOnly]]);
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
/**
|
|
@@ -90,6 +92,20 @@ var Catalog = exports["default"] = /*#__PURE__*/function () {
|
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
94
|
|
|
95
|
+
/**
|
|
96
|
+
* @description Register multiple elements
|
|
97
|
+
* @param {array} [elementArray] Array of elements
|
|
98
|
+
* @return {void}
|
|
99
|
+
*/
|
|
100
|
+
}, {
|
|
101
|
+
key: "registerMultipleElements",
|
|
102
|
+
value: function registerMultipleElements(elementArray) {
|
|
103
|
+
var _this = this;
|
|
104
|
+
elementArray.forEach(function (el) {
|
|
105
|
+
return _this.registerElement(el);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
93
109
|
/**
|
|
94
110
|
* @description Register a new property
|
|
95
111
|
* @param {string} type Type of property
|
|
@@ -115,9 +131,9 @@ var Catalog = exports["default"] = /*#__PURE__*/function () {
|
|
|
115
131
|
}, {
|
|
116
132
|
key: "registerMultiplePropertyType",
|
|
117
133
|
value: function registerMultiplePropertyType(propertyTypeArray) {
|
|
118
|
-
var
|
|
134
|
+
var _this2 = this;
|
|
119
135
|
propertyTypeArray.forEach(function (el) {
|
|
120
|
-
return
|
|
136
|
+
return _this2.registerPropertyType.apply(_this2, (0, _toConsumableArray2["default"])(el));
|
|
121
137
|
});
|
|
122
138
|
}
|
|
123
139
|
|
|
@@ -170,7 +186,7 @@ var Catalog = exports["default"] = /*#__PURE__*/function () {
|
|
|
170
186
|
}, {
|
|
171
187
|
key: "registerCategory",
|
|
172
188
|
value: function registerCategory(name, label, childs) {
|
|
173
|
-
var
|
|
189
|
+
var _this3 = this;
|
|
174
190
|
if (this.validateCategory(name, label)) {
|
|
175
191
|
this.categories[name] = {
|
|
176
192
|
name: name,
|
|
@@ -181,7 +197,7 @@ var Catalog = exports["default"] = /*#__PURE__*/function () {
|
|
|
181
197
|
this.categories.root.categories.push(this.categories[name]);
|
|
182
198
|
if (childs && childs.length) {
|
|
183
199
|
childs.forEach(function (el) {
|
|
184
|
-
return
|
|
200
|
+
return _this3.addToCategory(name, el);
|
|
185
201
|
});
|
|
186
202
|
}
|
|
187
203
|
return this.categories[name];
|
|
@@ -13,12 +13,12 @@ var _constants = require("../../../constants");
|
|
|
13
13
|
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); }
|
|
14
14
|
var cached3DWindow = null;
|
|
15
15
|
var _default = exports["default"] = {
|
|
16
|
-
name: '
|
|
16
|
+
name: 'Window',
|
|
17
17
|
prototype: 'holes',
|
|
18
18
|
info: {
|
|
19
19
|
title: 'Clear',
|
|
20
20
|
tag: ['window'],
|
|
21
|
-
description: '
|
|
21
|
+
description: 'Window',
|
|
22
22
|
image: '/assets/img/svg/window/Clear.svg',
|
|
23
23
|
url: '/assets/gltf/window_clear.gltf'
|
|
24
24
|
},
|