@threekit-tools/treble 0.0.95-next-01 → 0.0.96

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 (202) hide show
  1. package/dist/Treble/Treble.d.ts +2 -2
  2. package/dist/Treble/Treble.js +2 -2
  3. package/dist/Treble/index.d.ts +1 -1
  4. package/dist/Treble/index.js +1 -1
  5. package/dist/hooks/useNestedConfigurator/index.js +2 -1
  6. package/dist/hooks/useRoomBuilder/RoomBuilderState.d.ts +95 -0
  7. package/dist/hooks/useRoomBuilder/RoomBuilderState.js +1237 -0
  8. package/dist/hooks/useRoomBuilder/constants.d.ts +41 -0
  9. package/dist/hooks/useRoomBuilder/constants.js +48 -0
  10. package/dist/hooks/useRoomBuilder/dataHandlers.d.ts +18 -0
  11. package/dist/hooks/useRoomBuilder/dataHandlers.js +187 -0
  12. package/dist/hooks/useRoomBuilder/draw.d.ts +55 -0
  13. package/dist/hooks/useRoomBuilder/draw.js +573 -0
  14. package/dist/hooks/useRoomBuilder/findLoops.d.ts +5 -0
  15. package/dist/hooks/{useSpaces/geometry → useRoomBuilder}/findLoops.js +13 -31
  16. package/dist/hooks/useRoomBuilder/geometry.d.ts +33 -0
  17. package/dist/hooks/useRoomBuilder/geometry.js +325 -0
  18. package/dist/hooks/useRoomBuilder/index.d.ts +40 -0
  19. package/dist/hooks/useRoomBuilder/index.js +303 -0
  20. package/dist/hooks/{useSpaces/validators → useRoomBuilder}/messaging.js +1 -1
  21. package/dist/hooks/{useSpaces/themes/index.d.ts → useRoomBuilder/themes.d.ts} +4 -3
  22. package/dist/hooks/useRoomBuilder/themes.js +273 -0
  23. package/dist/hooks/useRoomBuilder/types.d.ts +238 -0
  24. package/dist/hooks/{useSpaces → useRoomBuilder}/types.js +1 -19
  25. package/dist/hooks/useRoomBuilder/validators.d.ts +36 -0
  26. package/dist/hooks/useRoomBuilder/validators.js +362 -0
  27. package/dist/icons/Draw.js +3 -3
  28. package/dist/icons/Window.js +4 -4
  29. package/dist/icons/index.js +0 -28
  30. package/dist/icons/types.d.ts +1 -1
  31. package/dist/index.d.ts +2 -17
  32. package/dist/index.js +5 -35
  33. package/dist/store/attributes.d.ts +0 -1
  34. package/dist/store/index.d.ts +0 -10
  35. package/dist/store/index.js +1 -3
  36. package/dist/store/product.js +7 -4
  37. package/dist/store/treble.d.ts +1 -1
  38. package/dist/store/treble.js +21 -14
  39. package/dist/types.d.ts +1 -3
  40. package/package.json +1 -1
  41. package/dist/hooks/useSpaces/SpacesLayout.d.ts +0 -11
  42. package/dist/hooks/useSpaces/SpacesLayout.js +0 -74
  43. package/dist/hooks/useSpaces/SpacesState.d.ts +0 -177
  44. package/dist/hooks/useSpaces/SpacesState.js +0 -1816
  45. package/dist/hooks/useSpaces/constants.d.ts +0 -79
  46. package/dist/hooks/useSpaces/constants.js +0 -130
  47. package/dist/hooks/useSpaces/dataHandlers.d.ts +0 -38
  48. package/dist/hooks/useSpaces/dataHandlers.js +0 -411
  49. package/dist/hooks/useSpaces/draw/clearCanvas.d.ts +0 -2
  50. package/dist/hooks/useSpaces/draw/clearCanvas.js +0 -9
  51. package/dist/hooks/useSpaces/draw/drawBackground.d.ts +0 -2
  52. package/dist/hooks/useSpaces/draw/drawBackground.js +0 -12
  53. package/dist/hooks/useSpaces/draw/drawDimensions.d.ts +0 -3
  54. package/dist/hooks/useSpaces/draw/drawDimensions.js +0 -53
  55. package/dist/hooks/useSpaces/draw/drawDoors.d.ts +0 -9
  56. package/dist/hooks/useSpaces/draw/drawDoors.js +0 -99
  57. package/dist/hooks/useSpaces/draw/drawFloor.d.ts +0 -3
  58. package/dist/hooks/useSpaces/draw/drawFloor.js +0 -36
  59. package/dist/hooks/useSpaces/draw/drawGrid.d.ts +0 -3
  60. package/dist/hooks/useSpaces/draw/drawGrid.js +0 -36
  61. package/dist/hooks/useSpaces/draw/drawGuides.d.ts +0 -3
  62. package/dist/hooks/useSpaces/draw/drawGuides.js +0 -23
  63. package/dist/hooks/useSpaces/draw/drawOpenings.d.ts +0 -9
  64. package/dist/hooks/useSpaces/draw/drawOpenings.js +0 -72
  65. package/dist/hooks/useSpaces/draw/drawVertices.d.ts +0 -8
  66. package/dist/hooks/useSpaces/draw/drawVertices.js +0 -61
  67. package/dist/hooks/useSpaces/draw/drawWalls.d.ts +0 -11
  68. package/dist/hooks/useSpaces/draw/drawWalls.js +0 -90
  69. package/dist/hooks/useSpaces/draw/drawWindows.d.ts +0 -9
  70. package/dist/hooks/useSpaces/draw/drawWindows.js +0 -82
  71. package/dist/hooks/useSpaces/draw/index.d.ts +0 -11
  72. package/dist/hooks/useSpaces/draw/index.js +0 -129
  73. package/dist/hooks/useSpaces/geometry/addThicknessToLine.d.ts +0 -3
  74. package/dist/hooks/useSpaces/geometry/addThicknessToLine.js +0 -13
  75. package/dist/hooks/useSpaces/geometry/areLinesEqual.d.ts +0 -3
  76. package/dist/hooks/useSpaces/geometry/areLinesEqual.js +0 -17
  77. package/dist/hooks/useSpaces/geometry/arePointsEqual.d.ts +0 -3
  78. package/dist/hooks/useSpaces/geometry/arePointsEqual.js +0 -8
  79. package/dist/hooks/useSpaces/geometry/arePointsWithinProximity.d.ts +0 -3
  80. package/dist/hooks/useSpaces/geometry/arePointsWithinProximity.js +0 -11
  81. package/dist/hooks/useSpaces/geometry/closestPointOnLine.d.ts +0 -3
  82. package/dist/hooks/useSpaces/geometry/closestPointOnLine.js +0 -13
  83. package/dist/hooks/useSpaces/geometry/doLinesOverlap.d.ts +0 -2
  84. package/dist/hooks/useSpaces/geometry/doLinesOverlap.js +0 -16
  85. package/dist/hooks/useSpaces/geometry/euclideanMod.d.ts +0 -2
  86. package/dist/hooks/useSpaces/geometry/euclideanMod.js +0 -6
  87. package/dist/hooks/useSpaces/geometry/findLoops.d.ts +0 -6
  88. package/dist/hooks/useSpaces/geometry/getAllLineIntersections.d.ts +0 -6
  89. package/dist/hooks/useSpaces/geometry/getAllLineIntersections.js +0 -23
  90. package/dist/hooks/useSpaces/geometry/getAngleOfLineSegment.d.ts +0 -3
  91. package/dist/hooks/useSpaces/geometry/getAngleOfLineSegment.js +0 -7
  92. package/dist/hooks/useSpaces/geometry/getClosestPointOnLineSegment.d.ts +0 -3
  93. package/dist/hooks/useSpaces/geometry/getClosestPointOnLineSegment.js +0 -17
  94. package/dist/hooks/useSpaces/geometry/getDistanceToLine.d.ts +0 -3
  95. package/dist/hooks/useSpaces/geometry/getDistanceToLine.js +0 -10
  96. package/dist/hooks/useSpaces/geometry/getLengthOfLineSegment.d.ts +0 -3
  97. package/dist/hooks/useSpaces/geometry/getLengthOfLineSegment.js +0 -7
  98. package/dist/hooks/useSpaces/geometry/getLineAtOffsetOnLineSegment.d.ts +0 -3
  99. package/dist/hooks/useSpaces/geometry/getLineAtOffsetOnLineSegment.js +0 -17
  100. package/dist/hooks/useSpaces/geometry/getLineOtherPoint.d.ts +0 -3
  101. package/dist/hooks/useSpaces/geometry/getLineOtherPoint.js +0 -11
  102. package/dist/hooks/useSpaces/geometry/getLineSegmentsIntersection.d.ts +0 -3
  103. package/dist/hooks/useSpaces/geometry/getLineSegmentsIntersection.js +0 -43
  104. package/dist/hooks/useSpaces/geometry/getMidpointOfLineSegment.d.ts +0 -3
  105. package/dist/hooks/useSpaces/geometry/getMidpointOfLineSegment.js +0 -9
  106. package/dist/hooks/useSpaces/geometry/getParallelLineSegmentAtDistance.d.ts +0 -3
  107. package/dist/hooks/useSpaces/geometry/getParallelLineSegmentAtDistance.js +0 -20
  108. package/dist/hooks/useSpaces/geometry/getPointAtOffsetOnLineSegment.d.ts +0 -3
  109. package/dist/hooks/useSpaces/geometry/getPointAtOffsetOnLineSegment.js +0 -11
  110. package/dist/hooks/useSpaces/geometry/getPolygonArea.d.ts +0 -3
  111. package/dist/hooks/useSpaces/geometry/getPolygonArea.js +0 -15
  112. package/dist/hooks/useSpaces/geometry/getQuadrilateralArea.d.ts +0 -3
  113. package/dist/hooks/useSpaces/geometry/getQuadrilateralArea.js +0 -16
  114. package/dist/hooks/useSpaces/geometry/getTangetIntersectionAndOffset.d.ts +0 -6
  115. package/dist/hooks/useSpaces/geometry/getTangetIntersectionAndOffset.js +0 -17
  116. package/dist/hooks/useSpaces/geometry/getTriangleArea.d.ts +0 -3
  117. package/dist/hooks/useSpaces/geometry/getTriangleArea.js +0 -9
  118. package/dist/hooks/useSpaces/geometry/getUnitVectorOfLineSegment.d.ts +0 -3
  119. package/dist/hooks/useSpaces/geometry/getUnitVectorOfLineSegment.js +0 -12
  120. package/dist/hooks/useSpaces/geometry/index.d.ts +0 -30
  121. package/dist/hooks/useSpaces/geometry/index.js +0 -64
  122. package/dist/hooks/useSpaces/geometry/isPointInPolygon.d.ts +0 -3
  123. package/dist/hooks/useSpaces/geometry/isPointInPolygon.js +0 -21
  124. package/dist/hooks/useSpaces/geometry/isPointInQuadrilateral.d.ts +0 -3
  125. package/dist/hooks/useSpaces/geometry/isPointInQuadrilateral.js +0 -25
  126. package/dist/hooks/useSpaces/geometry/orderCoordinatesOnLineSegment.d.ts +0 -3
  127. package/dist/hooks/useSpaces/geometry/orderCoordinatesOnLineSegment.js +0 -11
  128. package/dist/hooks/useSpaces/geometry/splitLineAtOffset.d.ts +0 -3
  129. package/dist/hooks/useSpaces/geometry/splitLineAtOffset.js +0 -12
  130. package/dist/hooks/useSpaces/geometry/splitLineAtPoint.d.ts +0 -3
  131. package/dist/hooks/useSpaces/geometry/splitLineAtPoint.js +0 -9
  132. package/dist/hooks/useSpaces/geometry/splitLineAtPoints.d.ts +0 -3
  133. package/dist/hooks/useSpaces/geometry/splitLineAtPoints.js +0 -28
  134. package/dist/hooks/useSpaces/index.d.ts +0 -95
  135. package/dist/hooks/useSpaces/index.js +0 -625
  136. package/dist/hooks/useSpaces/themes/blueprint.d.ts +0 -3
  137. package/dist/hooks/useSpaces/themes/blueprint.js +0 -96
  138. package/dist/hooks/useSpaces/themes/default.d.ts +0 -3
  139. package/dist/hooks/useSpaces/themes/default.js +0 -96
  140. package/dist/hooks/useSpaces/themes/index.js +0 -21
  141. package/dist/hooks/useSpaces/themes/light.d.ts +0 -3
  142. package/dist/hooks/useSpaces/themes/light.js +0 -96
  143. package/dist/hooks/useSpaces/types.d.ts +0 -378
  144. package/dist/hooks/useSpaces/validators/areWallsDuplicated.d.ts +0 -3
  145. package/dist/hooks/useSpaces/validators/areWallsDuplicated.js +0 -61
  146. package/dist/hooks/useSpaces/validators/areWallsIntersecting.d.ts +0 -3
  147. package/dist/hooks/useSpaces/validators/areWallsIntersecting.js +0 -42
  148. package/dist/hooks/useSpaces/validators/areWallsOrphaningFeatures.d.ts +0 -3
  149. package/dist/hooks/useSpaces/validators/areWallsOrphaningFeatures.js +0 -52
  150. package/dist/hooks/useSpaces/validators/areWallsTooShort.d.ts +0 -3
  151. package/dist/hooks/useSpaces/validators/areWallsTooShort.js +0 -37
  152. package/dist/hooks/useSpaces/validators/index.d.ts +0 -15
  153. package/dist/hooks/useSpaces/validators/index.js +0 -40
  154. package/dist/hooks/useSpaces/validators/isFeatureCollidingWithExistingFeature.d.ts +0 -3
  155. package/dist/hooks/useSpaces/validators/isFeatureCollidingWithExistingFeature.js +0 -31
  156. package/dist/hooks/useSpaces/validators/isFeatureOutsideWallBounds.d.ts +0 -3
  157. package/dist/hooks/useSpaces/validators/isFeatureOutsideWallBounds.js +0 -19
  158. package/dist/hooks/useSpaces/validators/isLineTooShort.d.ts +0 -3
  159. package/dist/hooks/useSpaces/validators/isLineTooShort.js +0 -26
  160. package/dist/hooks/useSpaces/validators/isVertexLandingOnFeature.d.ts +0 -4
  161. package/dist/hooks/useSpaces/validators/isVertexLandingOnFeature.js +0 -19
  162. package/dist/hooks/useSpaces/validators/isWallEndingOnFeature.d.ts +0 -3
  163. package/dist/hooks/useSpaces/validators/isWallEndingOnFeature.js +0 -19
  164. package/dist/hooks/useSpaces/validators/isWallIntersectingFeature.d.ts +0 -3
  165. package/dist/hooks/useSpaces/validators/isWallIntersectingFeature.js +0 -41
  166. package/dist/hooks/useSpaces/validators/isWallOverlappingExisitingWalls.d.ts +0 -3
  167. package/dist/hooks/useSpaces/validators/isWallOverlappingExisitingWalls.js +0 -54
  168. package/dist/hooks/useSpaces/validators/isWallTooShort.d.ts +0 -3
  169. package/dist/hooks/useSpaces/validators/isWallTooShort.js +0 -10
  170. package/dist/icons/AngleSnapping.d.ts +0 -3
  171. package/dist/icons/AngleSnapping.js +0 -28
  172. package/dist/icons/Boundary.d.ts +0 -3
  173. package/dist/icons/Boundary.js +0 -21
  174. package/dist/icons/Center.d.ts +0 -3
  175. package/dist/icons/Center.js +0 -24
  176. package/dist/icons/GridSnapping.d.ts +0 -3
  177. package/dist/icons/GridSnapping.js +0 -28
  178. package/dist/icons/LayoutAlt.d.ts +0 -3
  179. package/dist/icons/LayoutAlt.js +0 -21
  180. package/dist/icons/Magnet.d.ts +0 -3
  181. package/dist/icons/Magnet.js +0 -27
  182. package/dist/icons/Player3D.d.ts +0 -3
  183. package/dist/icons/Player3D.js +0 -21
  184. package/dist/icons/RulerBlank.d.ts +0 -3
  185. package/dist/icons/RulerBlank.js +0 -25
  186. package/dist/icons/RulerDetailed.d.ts +0 -3
  187. package/dist/icons/RulerDetailed.js +0 -27
  188. package/dist/icons/Save.d.ts +0 -3
  189. package/dist/icons/Save.js +0 -21
  190. package/dist/icons/UnitCm.d.ts +0 -3
  191. package/dist/icons/UnitCm.js +0 -22
  192. package/dist/icons/UnitFeet.d.ts +0 -3
  193. package/dist/icons/UnitFeet.js +0 -22
  194. package/dist/icons/UnitInch.d.ts +0 -3
  195. package/dist/icons/UnitInch.js +0 -22
  196. package/dist/icons/UnitMeter.d.ts +0 -3
  197. package/dist/icons/UnitMeter.js +0 -21
  198. package/dist/store/spaces.d.ts +0 -74
  199. package/dist/store/spaces.js +0 -354
  200. /package/dist/Treble/{snapshot.d.ts → snapshots.d.ts} +0 -0
  201. /package/dist/Treble/{snapshot.js → snapshots.js} +0 -0
  202. /package/dist/hooks/{useSpaces/validators → useRoomBuilder}/messaging.d.ts +0 -0
@@ -1,354 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __generator = (this && this.__generator) || function (thisArg, body) {
46
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (_) try {
52
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
66
- }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
- }
71
- };
72
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
73
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
74
- if (ar || !(i in from)) {
75
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
76
- ar[i] = from[i];
77
- }
78
- }
79
- return to.concat(ar || Array.prototype.slice.call(from));
80
- };
81
- var __importDefault = (this && this.__importDefault) || function (mod) {
82
- return (mod && mod.__esModule) ? mod : { "default": mod };
83
- };
84
- var _a;
85
- Object.defineProperty(exports, "__esModule", { value: true });
86
- exports.initSpaces = exports.hydrateLayouts = exports.getWallMode = exports.getDefaults = exports.getGridSnappingEnabled = exports.getGuideSnappingEnabled = exports.getAngleSnappingEnabled = exports.getShowDimensions = exports.getTranslation = exports.getZoom = exports.getUnit = exports.getLayouts = exports.getMode = exports.getInitialized = exports.setWallModeValue = exports.setWallModeAssetIds = exports.setWallModeOptions = exports.setDefaults = exports.setGridSnappingEnabled = exports.setGuideSnappingEnabled = exports.setAngleSnappingEnabled = exports.setShowDimensions = exports.setMode = exports.setTranslation = exports.setUnit = exports.setZoom = exports.setLayouts = exports.setInitialized = void 0;
87
- var toolkit_1 = require("@reduxjs/toolkit");
88
- var api_1 = __importDefault(require("../api"));
89
- var types_1 = require("../hooks/useSpaces/types");
90
- var geometry_1 = require("../hooks/useSpaces/geometry");
91
- var constants_1 = require("../hooks/useSpaces/constants");
92
- var SpacesState_1 = __importDefault(require("../hooks/useSpaces/SpacesState"));
93
- var attributes_1 = require("./attributes");
94
- var themes_1 = __importStar(require("../hooks/useSpaces/themes"));
95
- var dataHandlers_1 = require("../hooks/useSpaces/dataHandlers");
96
- exports.setInitialized = (0, toolkit_1.createAction)('treble/spaces/set-initialized');
97
- exports.setLayouts = (0, toolkit_1.createAction)('treble/spaces/set-layouts');
98
- exports.setZoom = (0, toolkit_1.createAction)('treble/spaces/set-zoom');
99
- exports.setUnit = (0, toolkit_1.createAction)('treble/spaces/set-unit');
100
- exports.setTranslation = (0, toolkit_1.createAction)('treble/spaces/set-translation');
101
- exports.setMode = (0, toolkit_1.createAction)('treble/spaces/set-mode');
102
- exports.setShowDimensions = (0, toolkit_1.createAction)('treble/spaces/set-show-dimensions');
103
- exports.setAngleSnappingEnabled = (0, toolkit_1.createAction)('treble/spaces/set-angle-snapping-enabled');
104
- exports.setGuideSnappingEnabled = (0, toolkit_1.createAction)('treble/spaces/set-guide-snapping-enabled');
105
- exports.setGridSnappingEnabled = (0, toolkit_1.createAction)('treble/spaces/set-grid-snapping-enabled');
106
- exports.setDefaults = (0, toolkit_1.createAction)('treble/spaces/set-defaults');
107
- exports.setWallModeOptions = (0, toolkit_1.createAction)('treble/spaces/set-wall-mode-options');
108
- exports.setWallModeAssetIds = (0, toolkit_1.createAction)('treble/spaces/set-wall-mode-assetIds');
109
- exports.setWallModeValue = (0, toolkit_1.createAction)('treble/spaces/set-wall-mode-value');
110
- var initialState = {
111
- initialized: false,
112
- mode: types_1.IModes.SELECT,
113
- layouts: [],
114
- unit: types_1.IUnits.FEET,
115
- zoom: constants_1.ZOOM_DEFAULT,
116
- translation: constants_1.TRANSLATE_DEFAULT,
117
- showDimensions: types_1.IDimensionOptions.DEFAULT,
118
- angleSnappingEnabled: constants_1.ANGLE_SNAPPING_ENABLED,
119
- guideSnappingEnabled: constants_1.GUIDE_SNAPPING_ENABLED,
120
- gridSnappingEnabled: constants_1.GRID_SNAPPING_ENABLED,
121
- defaults: {
122
- walls: '',
123
- windows: '',
124
- openings: '',
125
- doors: '',
126
- doorOpeningDirection: constants_1.DoorOpeningDirections.INSIDE,
127
- doorOrientation: constants_1.DoorOrientations.LEFT,
128
- doorShowSwing: constants_1.DoorShowSwing.HIDE,
129
- },
130
- wallModeOptions: [],
131
- wallModeAssetIds: (_a = {},
132
- _a[constants_1.WallModes.WALL] = '',
133
- _a[constants_1.WallModes.BOUNDARY] = '',
134
- _a),
135
- wallModeValue: constants_1.WallModes.WALL,
136
- };
137
- var reducer = (0, toolkit_1.createSlice)({
138
- name: 'spaces',
139
- initialState: initialState,
140
- extraReducers: function (builder) {
141
- builder.addCase(exports.setInitialized, function (state, action) {
142
- return __assign(__assign({}, state), { initialized: action.payload });
143
- });
144
- builder.addCase(exports.setMode, function (state, action) {
145
- return __assign(__assign({}, state), { mode: action.payload });
146
- });
147
- builder.addCase(exports.setLayouts, function (state, action) {
148
- return __assign(__assign({}, state), { layouts: action.payload });
149
- });
150
- builder.addCase(exports.setUnit, function (state, action) {
151
- return __assign(__assign({}, state), { unit: action.payload });
152
- });
153
- builder.addCase(exports.setZoom, function (state, action) {
154
- return __assign(__assign({}, state), { zoom: action.payload });
155
- });
156
- builder.addCase(exports.setTranslation, function (state, action) {
157
- return __assign(__assign({}, state), { translation: action.payload });
158
- });
159
- builder.addCase(exports.setShowDimensions, function (state, action) {
160
- return __assign(__assign({}, state), { showDimensions: action.payload });
161
- });
162
- builder.addCase(exports.setAngleSnappingEnabled, function (state, action) {
163
- return __assign(__assign({}, state), { angleSnappingEnabled: action.payload });
164
- });
165
- builder.addCase(exports.setGuideSnappingEnabled, function (state, action) {
166
- return __assign(__assign({}, state), { guideSnappingEnabled: action.payload });
167
- });
168
- builder.addCase(exports.setGridSnappingEnabled, function (state, action) {
169
- return __assign(__assign({}, state), { gridSnappingEnabled: action.payload });
170
- });
171
- builder.addCase(exports.setDefaults, function (state, action) {
172
- return __assign(__assign({}, state), { defaults: action.payload });
173
- });
174
- builder.addCase(exports.setWallModeOptions, function (state, action) {
175
- return __assign(__assign({}, state), { wallModeOptions: action.payload });
176
- });
177
- builder.addCase(exports.setWallModeValue, function (state, action) {
178
- return __assign(__assign({}, state), { wallModeValue: action.payload });
179
- });
180
- builder.addCase(exports.setWallModeAssetIds, function (state, action) {
181
- return __assign(__assign({}, state), { wallModeAssetIds: action.payload });
182
- });
183
- },
184
- reducers: {},
185
- }).reducer;
186
- var getInitialized = function (state) { return state.spaces.initialized; };
187
- exports.getInitialized = getInitialized;
188
- var getMode = function (state) { return state.spaces.mode; };
189
- exports.getMode = getMode;
190
- var getLayouts = function (state) {
191
- return state.spaces.layouts;
192
- };
193
- exports.getLayouts = getLayouts;
194
- var getUnit = function (state) { return state.spaces.unit; };
195
- exports.getUnit = getUnit;
196
- var getZoom = function (state) { return state.spaces.zoom; };
197
- exports.getZoom = getZoom;
198
- var getTranslation = function (state) { return state.spaces.translation; };
199
- exports.getTranslation = getTranslation;
200
- var getShowDimensions = function (state) {
201
- return state.spaces.showDimensions;
202
- };
203
- exports.getShowDimensions = getShowDimensions;
204
- var getAngleSnappingEnabled = function (state) {
205
- return state.spaces.angleSnappingEnabled;
206
- };
207
- exports.getAngleSnappingEnabled = getAngleSnappingEnabled;
208
- var getGuideSnappingEnabled = function (state) {
209
- return state.spaces.guideSnappingEnabled;
210
- };
211
- exports.getGuideSnappingEnabled = getGuideSnappingEnabled;
212
- var getGridSnappingEnabled = function (state) {
213
- return state.spaces.gridSnappingEnabled;
214
- };
215
- exports.getGridSnappingEnabled = getGridSnappingEnabled;
216
- var getDefaults = function (state) { return state.spaces.defaults; };
217
- exports.getDefaults = getDefaults;
218
- var getWallMode = function (state) { return ({
219
- options: state.spaces.wallModeOptions,
220
- value: state.spaces.wallModeValue,
221
- assetId: state.spaces.wallModeAssetIds[state.spaces.wallModeValue],
222
- }); };
223
- exports.getWallMode = getWallMode;
224
- var hydrateLayouts = function (configurationIds, attributeMap) {
225
- return function (dispatch, getState) { return __awaiter(void 0, void 0, void 0, function () {
226
- var state, layoutIds, configurationResponses, prepped;
227
- var _a;
228
- return __generator(this, function (_b) {
229
- switch (_b.label) {
230
- case 0:
231
- state = getState();
232
- if (state.spaces.layouts.length)
233
- return [2];
234
- layoutIds = __spreadArray([], configurationIds, true);
235
- if ((_a = state.product.metadata) === null || _a === void 0 ? void 0 : _a._layouts)
236
- state.product.metadata._layouts
237
- .split(',')
238
- .forEach(function (id) { return layoutIds.push(id.trim()); });
239
- return [4, Promise.all(layoutIds.map(function (configId) { return api_1.default.configurations.fetch(configId); }))];
240
- case 1:
241
- configurationResponses = _b.sent();
242
- prepped = configurationResponses.map(function (response) {
243
- var _a;
244
- var wallsAttribute = response.data.variant[attributeMap.walls];
245
- var walls = wallsAttribute.map(function (wallAttribute) {
246
- var wallConfig = wallAttribute.configuration;
247
- var wall = [
248
- [
249
- wallConfig[attributeMap.startX],
250
- wallConfig[attributeMap.startZ],
251
- ],
252
- [
253
- wallConfig[attributeMap.endX],
254
- wallConfig[attributeMap.endZ],
255
- ],
256
- ];
257
- return wall;
258
- });
259
- return {
260
- label: ((_a = response.data.metadata) === null || _a === void 0 ? void 0 : _a.label) || 'Layout',
261
- configuration: response.data.variant,
262
- loop: (0, geometry_1.findLoops)(walls).inner,
263
- };
264
- });
265
- dispatch((0, exports.setLayouts)(prepped));
266
- return [2];
267
- }
268
- });
269
- }); };
270
- };
271
- exports.hydrateLayouts = hydrateLayouts;
272
- var initSpaces = function (initConfig) {
273
- return function (dispatch, getState) { return __awaiter(void 0, void 0, void 0, function () {
274
- var parameters, layoutIds, attributeNames, canvasDimensions, setPendingStatus, hasInitialized, configurator, attributeDefaults, defaults, wallModes, state, spaces, config, attributesState;
275
- return __generator(this, function (_a) {
276
- switch (_a.label) {
277
- case 0:
278
- parameters = initConfig.parameters, layoutIds = initConfig.layoutIds, attributeNames = initConfig.attributeNames, canvasDimensions = initConfig.canvasDimensions, setPendingStatus = initConfig.setPendingStatus;
279
- hasInitialized = (0, exports.getInitialized)(getState());
280
- if (!!hasInitialized) return [3, 3];
281
- if (parameters.unit)
282
- dispatch((0, exports.setUnit)(parameters.unit));
283
- if (parameters.showDimensions)
284
- dispatch((0, exports.setShowDimensions)(parameters.showDimensions));
285
- if (parameters.zoomDefault)
286
- dispatch((0, exports.setZoom)(parameters.zoomDefault));
287
- if (parameters.translateDefault)
288
- dispatch((0, exports.setTranslation)(parameters.translateDefault));
289
- if (parameters.enableAngleSnapping)
290
- dispatch((0, exports.setAngleSnappingEnabled)(parameters.enableAngleSnapping));
291
- if (parameters.enableGridSnapping)
292
- dispatch((0, exports.setAngleSnappingEnabled)(parameters.enableGridSnapping));
293
- if (parameters.enableGuideSnapping)
294
- dispatch((0, exports.setAngleSnappingEnabled)(parameters.enableGuideSnapping));
295
- dispatch((0, exports.hydrateLayouts)(layoutIds !== null && layoutIds !== void 0 ? layoutIds : [], {
296
- walls: attributeNames[types_1.IElements.WALL],
297
- startX: attributeNames.wallStartX,
298
- startZ: attributeNames.wallStartZ,
299
- endX: attributeNames.wallEndX,
300
- endZ: attributeNames.wallEndZ,
301
- }));
302
- return [4, window.threekit.configurator.clone()];
303
- case 1:
304
- configurator = _a.sent();
305
- return [4, (0, dataHandlers_1.getAttributeData)(configurator, attributeNames)];
306
- case 2:
307
- attributeDefaults = _a.sent();
308
- if (attributeDefaults) {
309
- defaults = attributeDefaults.defaults, wallModes = attributeDefaults.wallModes;
310
- dispatch((0, exports.setDefaults)(defaults));
311
- dispatch((0, exports.setWallModeOptions)(wallModes.options));
312
- dispatch((0, exports.setWallModeValue)(wallModes.value));
313
- dispatch((0, exports.setWallModeAssetIds)(wallModes.assetIds));
314
- }
315
- dispatch((0, exports.setInitialized)(true));
316
- _a.label = 3;
317
- case 3:
318
- state = getState();
319
- spaces = state.spaces;
320
- config = {
321
- unit: spaces.unit,
322
- scale: constants_1.SCALE,
323
- snapProximity: constants_1.SNAP_PROXIMITY,
324
- zoomMin: constants_1.ZOOM_MIN,
325
- zoomMax: constants_1.ZOOM_MAX,
326
- zoomDefault: spaces.zoom,
327
- translateDefault: spaces.translation,
328
- enableAngleSnapping: spaces.angleSnappingEnabled,
329
- enableGuideSnapping: spaces.guideSnappingEnabled,
330
- enableGridSnapping: spaces.gridSnappingEnabled,
331
- showDimensions: spaces.showDimensions,
332
- styles: parameters.theme && themes_1.default[parameters.theme]
333
- ? themes_1.default[parameters.theme]
334
- : themes_1.default[themes_1.IThemes.DEFAULT],
335
- };
336
- attributesState = (0, attributes_1.getHydrationData)(state)[0];
337
- return [2, new SpacesState_1.default({
338
- config: config,
339
- attributes: attributeNames,
340
- attributeDefaults: spaces.defaults,
341
- attributesState: JSON.parse(JSON.stringify(attributesState)),
342
- canvasDimensions: canvasDimensions,
343
- wallMode: {
344
- value: spaces.wallModeValue,
345
- assetId: spaces.wallModeAssetIds[spaces.wallModeValue],
346
- },
347
- setPendingStatus: setPendingStatus,
348
- })];
349
- }
350
- });
351
- }); };
352
- };
353
- exports.initSpaces = initSpaces;
354
- exports.default = reducer;
File without changes
File without changes