@threekit-tools/treble 0.0.90-next-09 → 0.0.91

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 (193) 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/{useSpaces → useRoomBuilder}/dataHandlers.d.ts +4 -6
  11. package/dist/hooks/{useSpaces → useRoomBuilder}/dataHandlers.js +40 -102
  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 +9 -14
  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/{useSpaces → useRoomBuilder}/types.d.ts +35 -130
  24. package/dist/hooks/{useSpaces → useRoomBuilder}/types.js +1 -13
  25. package/dist/hooks/useRoomBuilder/validators.d.ts +36 -0
  26. package/dist/hooks/useRoomBuilder/validators.js +362 -0
  27. package/dist/hooks/useSpaces/Canvas.d.ts +37 -0
  28. package/dist/hooks/useSpaces/Canvas.js +199 -0
  29. package/dist/icons/AngleSnapping.d.ts +3 -0
  30. package/dist/icons/AngleSnapping.js +28 -0
  31. package/dist/icons/Center.d.ts +3 -0
  32. package/dist/icons/Center.js +24 -0
  33. package/dist/icons/Draw.js +3 -3
  34. package/dist/icons/GridSnapping.d.ts +3 -0
  35. package/dist/icons/GridSnapping.js +28 -0
  36. package/dist/icons/LayoutAlt.d.ts +3 -0
  37. package/dist/icons/LayoutAlt.js +21 -0
  38. package/dist/icons/Magnet.d.ts +3 -0
  39. package/dist/icons/Magnet.js +27 -0
  40. package/dist/icons/Save.d.ts +3 -0
  41. package/dist/icons/Save.js +21 -0
  42. package/dist/icons/UnitCm.d.ts +3 -0
  43. package/dist/icons/UnitCm.js +22 -0
  44. package/dist/icons/UnitFeet.d.ts +3 -0
  45. package/dist/icons/UnitFeet.js +22 -0
  46. package/dist/icons/UnitInch.d.ts +3 -0
  47. package/dist/icons/UnitInch.js +22 -0
  48. package/dist/icons/UnitMeter.d.ts +3 -0
  49. package/dist/icons/UnitMeter.js +21 -0
  50. package/dist/icons/Window.js +4 -4
  51. package/dist/icons/index.js +0 -2
  52. package/dist/icons/types.d.ts +1 -1
  53. package/dist/index.d.ts +2 -4
  54. package/dist/index.js +5 -9
  55. package/dist/store/attributes.d.ts +0 -1
  56. package/dist/store/index.d.ts +0 -10
  57. package/dist/store/index.js +1 -3
  58. package/dist/store/treble.js +17 -21
  59. package/dist/types.d.ts +3 -5
  60. package/package.json +1 -1
  61. package/dist/hooks/useSpaces/SpacesLayout.d.ts +0 -11
  62. package/dist/hooks/useSpaces/SpacesLayout.js +0 -74
  63. package/dist/hooks/useSpaces/SpacesState.d.ts +0 -162
  64. package/dist/hooks/useSpaces/SpacesState.js +0 -1759
  65. package/dist/hooks/useSpaces/constants.d.ts +0 -44
  66. package/dist/hooks/useSpaces/constants.js +0 -105
  67. package/dist/hooks/useSpaces/draw/clearCanvas.d.ts +0 -2
  68. package/dist/hooks/useSpaces/draw/clearCanvas.js +0 -9
  69. package/dist/hooks/useSpaces/draw/drawBackground.d.ts +0 -2
  70. package/dist/hooks/useSpaces/draw/drawBackground.js +0 -12
  71. package/dist/hooks/useSpaces/draw/drawDimensions.d.ts +0 -3
  72. package/dist/hooks/useSpaces/draw/drawDimensions.js +0 -53
  73. package/dist/hooks/useSpaces/draw/drawDoors.d.ts +0 -9
  74. package/dist/hooks/useSpaces/draw/drawDoors.js +0 -93
  75. package/dist/hooks/useSpaces/draw/drawFloor.d.ts +0 -3
  76. package/dist/hooks/useSpaces/draw/drawFloor.js +0 -36
  77. package/dist/hooks/useSpaces/draw/drawGrid.d.ts +0 -3
  78. package/dist/hooks/useSpaces/draw/drawGrid.js +0 -33
  79. package/dist/hooks/useSpaces/draw/drawGuides.d.ts +0 -3
  80. package/dist/hooks/useSpaces/draw/drawGuides.js +0 -23
  81. package/dist/hooks/useSpaces/draw/drawOpenings.d.ts +0 -9
  82. package/dist/hooks/useSpaces/draw/drawOpenings.js +0 -72
  83. package/dist/hooks/useSpaces/draw/drawVertices.d.ts +0 -8
  84. package/dist/hooks/useSpaces/draw/drawVertices.js +0 -61
  85. package/dist/hooks/useSpaces/draw/drawWalls.d.ts +0 -10
  86. package/dist/hooks/useSpaces/draw/drawWalls.js +0 -64
  87. package/dist/hooks/useSpaces/draw/drawWindows.d.ts +0 -9
  88. package/dist/hooks/useSpaces/draw/drawWindows.js +0 -82
  89. package/dist/hooks/useSpaces/draw/index.d.ts +0 -11
  90. package/dist/hooks/useSpaces/draw/index.js +0 -129
  91. package/dist/hooks/useSpaces/geometry/addThicknessToLine.d.ts +0 -3
  92. package/dist/hooks/useSpaces/geometry/addThicknessToLine.js +0 -13
  93. package/dist/hooks/useSpaces/geometry/areLinesEqual.d.ts +0 -3
  94. package/dist/hooks/useSpaces/geometry/areLinesEqual.js +0 -17
  95. package/dist/hooks/useSpaces/geometry/arePointsEqual.d.ts +0 -3
  96. package/dist/hooks/useSpaces/geometry/arePointsEqual.js +0 -8
  97. package/dist/hooks/useSpaces/geometry/arePointsWithinProximity.d.ts +0 -3
  98. package/dist/hooks/useSpaces/geometry/arePointsWithinProximity.js +0 -11
  99. package/dist/hooks/useSpaces/geometry/closestPointOnLine.d.ts +0 -3
  100. package/dist/hooks/useSpaces/geometry/closestPointOnLine.js +0 -13
  101. package/dist/hooks/useSpaces/geometry/doLinesOverlap.d.ts +0 -2
  102. package/dist/hooks/useSpaces/geometry/doLinesOverlap.js +0 -16
  103. package/dist/hooks/useSpaces/geometry/euclideanMod.d.ts +0 -2
  104. package/dist/hooks/useSpaces/geometry/euclideanMod.js +0 -6
  105. package/dist/hooks/useSpaces/geometry/findLoops.d.ts +0 -6
  106. package/dist/hooks/useSpaces/geometry/getAllLineIntersections.d.ts +0 -6
  107. package/dist/hooks/useSpaces/geometry/getAllLineIntersections.js +0 -23
  108. package/dist/hooks/useSpaces/geometry/getAngleOfLineSegment.d.ts +0 -3
  109. package/dist/hooks/useSpaces/geometry/getAngleOfLineSegment.js +0 -7
  110. package/dist/hooks/useSpaces/geometry/getClosestPointOnLineSegment.d.ts +0 -3
  111. package/dist/hooks/useSpaces/geometry/getClosestPointOnLineSegment.js +0 -17
  112. package/dist/hooks/useSpaces/geometry/getDistanceToLine.d.ts +0 -3
  113. package/dist/hooks/useSpaces/geometry/getDistanceToLine.js +0 -10
  114. package/dist/hooks/useSpaces/geometry/getLengthOfLineSegment.d.ts +0 -3
  115. package/dist/hooks/useSpaces/geometry/getLengthOfLineSegment.js +0 -7
  116. package/dist/hooks/useSpaces/geometry/getLineAtOffsetOnLineSegment.d.ts +0 -3
  117. package/dist/hooks/useSpaces/geometry/getLineAtOffsetOnLineSegment.js +0 -17
  118. package/dist/hooks/useSpaces/geometry/getLineOtherPoint.d.ts +0 -3
  119. package/dist/hooks/useSpaces/geometry/getLineOtherPoint.js +0 -11
  120. package/dist/hooks/useSpaces/geometry/getLineSegmentsIntersection.d.ts +0 -3
  121. package/dist/hooks/useSpaces/geometry/getLineSegmentsIntersection.js +0 -43
  122. package/dist/hooks/useSpaces/geometry/getMidpointOfLineSegment.d.ts +0 -3
  123. package/dist/hooks/useSpaces/geometry/getMidpointOfLineSegment.js +0 -9
  124. package/dist/hooks/useSpaces/geometry/getParallelLineSegmentAtDistance.d.ts +0 -3
  125. package/dist/hooks/useSpaces/geometry/getParallelLineSegmentAtDistance.js +0 -20
  126. package/dist/hooks/useSpaces/geometry/getPointAtOffsetOnLineSegment.d.ts +0 -3
  127. package/dist/hooks/useSpaces/geometry/getPointAtOffsetOnLineSegment.js +0 -11
  128. package/dist/hooks/useSpaces/geometry/getPolygonArea.d.ts +0 -3
  129. package/dist/hooks/useSpaces/geometry/getPolygonArea.js +0 -15
  130. package/dist/hooks/useSpaces/geometry/getQuadrilateralArea.d.ts +0 -3
  131. package/dist/hooks/useSpaces/geometry/getQuadrilateralArea.js +0 -16
  132. package/dist/hooks/useSpaces/geometry/getTangetIntersectionAndOffset.d.ts +0 -6
  133. package/dist/hooks/useSpaces/geometry/getTangetIntersectionAndOffset.js +0 -17
  134. package/dist/hooks/useSpaces/geometry/getTriangleArea.d.ts +0 -3
  135. package/dist/hooks/useSpaces/geometry/getTriangleArea.js +0 -9
  136. package/dist/hooks/useSpaces/geometry/getUnitVectorOfLineSegment.d.ts +0 -3
  137. package/dist/hooks/useSpaces/geometry/getUnitVectorOfLineSegment.js +0 -12
  138. package/dist/hooks/useSpaces/geometry/index.d.ts +0 -30
  139. package/dist/hooks/useSpaces/geometry/index.js +0 -64
  140. package/dist/hooks/useSpaces/geometry/isPointInPolygon.d.ts +0 -3
  141. package/dist/hooks/useSpaces/geometry/isPointInPolygon.js +0 -21
  142. package/dist/hooks/useSpaces/geometry/isPointInQuadrilateral.d.ts +0 -3
  143. package/dist/hooks/useSpaces/geometry/isPointInQuadrilateral.js +0 -25
  144. package/dist/hooks/useSpaces/geometry/orderCoordinatesOnLineSegment.d.ts +0 -3
  145. package/dist/hooks/useSpaces/geometry/orderCoordinatesOnLineSegment.js +0 -11
  146. package/dist/hooks/useSpaces/geometry/splitLineAtOffset.d.ts +0 -3
  147. package/dist/hooks/useSpaces/geometry/splitLineAtOffset.js +0 -12
  148. package/dist/hooks/useSpaces/geometry/splitLineAtPoint.d.ts +0 -3
  149. package/dist/hooks/useSpaces/geometry/splitLineAtPoint.js +0 -9
  150. package/dist/hooks/useSpaces/geometry/splitLineAtPoints.d.ts +0 -3
  151. package/dist/hooks/useSpaces/geometry/splitLineAtPoints.js +0 -28
  152. package/dist/hooks/useSpaces/index.d.ts +0 -76
  153. package/dist/hooks/useSpaces/index.js +0 -474
  154. package/dist/hooks/useSpaces/themes/blueprint.d.ts +0 -3
  155. package/dist/hooks/useSpaces/themes/blueprint.js +0 -96
  156. package/dist/hooks/useSpaces/themes/default.d.ts +0 -3
  157. package/dist/hooks/useSpaces/themes/default.js +0 -96
  158. package/dist/hooks/useSpaces/themes/index.js +0 -21
  159. package/dist/hooks/useSpaces/themes/light.d.ts +0 -3
  160. package/dist/hooks/useSpaces/themes/light.js +0 -96
  161. package/dist/hooks/useSpaces/validators/areWallsDuplicated.d.ts +0 -3
  162. package/dist/hooks/useSpaces/validators/areWallsDuplicated.js +0 -61
  163. package/dist/hooks/useSpaces/validators/areWallsIntersecting.d.ts +0 -3
  164. package/dist/hooks/useSpaces/validators/areWallsIntersecting.js +0 -42
  165. package/dist/hooks/useSpaces/validators/areWallsOrphaningFeatures.d.ts +0 -3
  166. package/dist/hooks/useSpaces/validators/areWallsOrphaningFeatures.js +0 -52
  167. package/dist/hooks/useSpaces/validators/areWallsTooShort.d.ts +0 -3
  168. package/dist/hooks/useSpaces/validators/areWallsTooShort.js +0 -37
  169. package/dist/hooks/useSpaces/validators/index.d.ts +0 -15
  170. package/dist/hooks/useSpaces/validators/index.js +0 -40
  171. package/dist/hooks/useSpaces/validators/isFeatureCollidingWithExistingFeature.d.ts +0 -3
  172. package/dist/hooks/useSpaces/validators/isFeatureCollidingWithExistingFeature.js +0 -31
  173. package/dist/hooks/useSpaces/validators/isFeatureOutsideWallBounds.d.ts +0 -3
  174. package/dist/hooks/useSpaces/validators/isFeatureOutsideWallBounds.js +0 -19
  175. package/dist/hooks/useSpaces/validators/isLineTooShort.d.ts +0 -3
  176. package/dist/hooks/useSpaces/validators/isLineTooShort.js +0 -26
  177. package/dist/hooks/useSpaces/validators/isVertexLandingOnFeature.d.ts +0 -4
  178. package/dist/hooks/useSpaces/validators/isVertexLandingOnFeature.js +0 -19
  179. package/dist/hooks/useSpaces/validators/isWallEndingOnFeature.d.ts +0 -3
  180. package/dist/hooks/useSpaces/validators/isWallEndingOnFeature.js +0 -19
  181. package/dist/hooks/useSpaces/validators/isWallIntersectingFeature.d.ts +0 -3
  182. package/dist/hooks/useSpaces/validators/isWallIntersectingFeature.js +0 -41
  183. package/dist/hooks/useSpaces/validators/isWallOverlappingExisitingWalls.d.ts +0 -3
  184. package/dist/hooks/useSpaces/validators/isWallOverlappingExisitingWalls.js +0 -54
  185. package/dist/hooks/useSpaces/validators/isWallTooShort.d.ts +0 -3
  186. package/dist/hooks/useSpaces/validators/isWallTooShort.js +0 -10
  187. package/dist/icons/Player3D.d.ts +0 -3
  188. package/dist/icons/Player3D.js +0 -21
  189. package/dist/store/spaces.d.ts +0 -47
  190. package/dist/store/spaces.js +0 -197
  191. /package/dist/Treble/{snapshot.d.ts → snapshots.d.ts} +0 -0
  192. /package/dist/Treble/{snapshot.js → snapshots.js} +0 -0
  193. /package/dist/hooks/{useSpaces/validators → useRoomBuilder}/messaging.d.ts +0 -0
@@ -1,3 +0,0 @@
1
- import type { IAddWallValidatorInput, ISharedValidatorInput, IErrorElement, IWallsValidationConfig } from '../types';
2
- declare function isWallTooShort(input: IAddWallValidatorInput, _: ISharedValidatorInput, validationConfig: IWallsValidationConfig): false | IErrorElement;
3
- export default isWallTooShort;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var isLineTooShort_1 = __importDefault(require("./isLineTooShort"));
7
- function isWallTooShort(input, _, validationConfig) {
8
- return (0, isLineTooShort_1.default)(input.newWall.line, validationConfig);
9
- }
10
- exports.default = isWallTooShort;
@@ -1,3 +0,0 @@
1
- import { IIcon } from './types';
2
- export declare const Player3D: IIcon;
3
- export default Player3D;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Player3D = void 0;
11
- var react_1 = __importDefault(require("react"));
12
- var styled_components_1 = __importDefault(require("styled-components"));
13
- var SVG = styled_components_1.default.svg(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n .tk-icon {\n fill: ", ";\n }\n"], ["\n .tk-icon {\n fill: ", ";\n }\n"])), function (props) { return props.color || props.theme.textColor; });
14
- var Player3D = function (props) {
15
- return (react_1.default.createElement(SVG, { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", color: props.color },
16
- react_1.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.1678 1.05955L10.0003 1L9.83285 1.05955L3.5161 3.30527L3.18359 3.42348V3.77638V11.6364V11.9893L3.5161 12.1075L9.83285 14.3533L10.0003 14.4128L10.1678 14.3533L16.4845 12.1075L16.817 11.9893V11.6364V3.77638V3.42348L16.4845 3.30527L10.1678 1.05955ZM9.50034 6.375L4.18359 4.4848V11.2835L9.50034 13.1738V6.375ZM15.817 11.2835L10.5003 13.1737V6.375L15.817 4.4848V11.2835ZM14.8244 3.77638L10.0003 5.49144L5.17622 3.77638L10.0003 2.06132L14.8244 3.77638ZM2.21438 8.32289C0.919876 9.24063 0 10.4827 0 11.9723C0 13.8117 1.40245 15.2735 3.1809 16.2135C4.71477 17.0242 6.6857 17.5461 8.83542 17.6854L8.17982 18.126C7.95064 18.28 7.88972 18.5907 8.04376 18.8199C8.1978 19.0491 8.50847 19.11 8.73766 18.956L10.7929 17.5746L11.4103 17.1596L10.7929 16.7447L10.5744 16.5978V16.579L10.5477 16.5799L8.73767 15.3632C8.50849 15.2091 8.19782 15.2701 8.04377 15.4992C7.88972 15.7284 7.95063 16.0391 8.17981 16.1931L8.69201 16.5374C4.48846 16.2038 1.26536 14.287 1.26536 11.9723C1.26536 11.2181 1.60756 10.5062 2.21438 9.87745V8.32289ZM18.3477 10.6094C18.5992 11.0402 18.7346 11.4979 18.7346 11.9723C18.7346 13.9903 16.2848 15.7059 12.8714 16.3336V17.489C14.3526 17.2412 15.7018 16.804 16.8191 16.2135C18.5975 15.2735 20 13.8117 20 11.9723C20 10.709 19.3383 9.6237 18.3477 8.76332V10.6094Z", className: "tk-icon" })));
17
- };
18
- exports.Player3D = Player3D;
19
- exports.Player3D.iconName = 'player-3d';
20
- exports.default = exports.Player3D;
21
- var templateObject_1;
@@ -1,47 +0,0 @@
1
- import { RootState, ThreekitDispatch } from './index';
2
- import { IConfiguration } from '../types';
3
- import { ICoordinate2D, IModes, IUnits } from '../hooks/useSpaces/types';
4
- interface ILayout {
5
- label: string;
6
- configuration: IConfiguration;
7
- loop: Array<ICoordinate2D[]>;
8
- }
9
- interface IAttributeMap {
10
- walls: string;
11
- startX: string;
12
- startZ: string;
13
- endX: string;
14
- endZ: string;
15
- }
16
- export interface SpacesState {
17
- mode: IModes;
18
- layouts: Array<ILayout>;
19
- unit: IUnits;
20
- zoom: null | number;
21
- translation: null | ICoordinate2D;
22
- showDimensions: boolean;
23
- angleSnappingEnabled: boolean;
24
- guideSnappingEnabled: boolean;
25
- gridSnappingEnabled: boolean;
26
- }
27
- export declare const setLayouts: import("@reduxjs/toolkit").ActionCreatorWithPayload<ILayout[], string>;
28
- export declare const setZoom: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, string>;
29
- export declare const setUnit: import("@reduxjs/toolkit").ActionCreatorWithPayload<IUnits, string>;
30
- export declare const setTranslation: import("@reduxjs/toolkit").ActionCreatorWithPayload<ICoordinate2D, string>;
31
- export declare const setMode: import("@reduxjs/toolkit").ActionCreatorWithPayload<IModes, string>;
32
- export declare const setShowDimensions: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>;
33
- export declare const setAngleSnappingEnabled: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>;
34
- export declare const setGuideSnappingEnabled: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>;
35
- export declare const setGridSnappingEnabled: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>;
36
- declare const reducer: import("redux").Reducer<SpacesState, import("redux").AnyAction>;
37
- export declare const getMode: (state: RootState) => IModes;
38
- export declare const getLayouts: (state: RootState) => Array<ILayout>;
39
- export declare const getUnit: (state: RootState) => IUnits;
40
- export declare const getZoom: (state: RootState) => number | null;
41
- export declare const getTranslation: (state: RootState) => ICoordinate2D | null;
42
- export declare const getShowDimensions: (state: RootState) => boolean;
43
- export declare const getAngleSnappingEnabled: (state: RootState) => boolean;
44
- export declare const getGuideSnappingEnabled: (state: RootState) => boolean;
45
- export declare const getGridSnappingEnabled: (state: RootState) => boolean;
46
- export declare const hydrateLayouts: (configurationIds: Array<string>, attributeMap: IAttributeMap) => (dispatch: ThreekitDispatch, getState: () => RootState) => Promise<void>;
47
- export default reducer;
@@ -1,197 +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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- 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;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
- if (ar || !(i in from)) {
52
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
- ar[i] = from[i];
54
- }
55
- }
56
- return to.concat(ar || Array.prototype.slice.call(from));
57
- };
58
- var __importDefault = (this && this.__importDefault) || function (mod) {
59
- return (mod && mod.__esModule) ? mod : { "default": mod };
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.hydrateLayouts = exports.getGridSnappingEnabled = exports.getGuideSnappingEnabled = exports.getAngleSnappingEnabled = exports.getShowDimensions = exports.getTranslation = exports.getZoom = exports.getUnit = exports.getLayouts = exports.getMode = exports.setGridSnappingEnabled = exports.setGuideSnappingEnabled = exports.setAngleSnappingEnabled = exports.setShowDimensions = exports.setMode = exports.setTranslation = exports.setUnit = exports.setZoom = exports.setLayouts = void 0;
63
- var toolkit_1 = require("@reduxjs/toolkit");
64
- var api_1 = __importDefault(require("../api"));
65
- var types_1 = require("../hooks/useSpaces/types");
66
- var geometry_1 = require("../hooks/useSpaces/geometry");
67
- exports.setLayouts = (0, toolkit_1.createAction)('treble/spaces/set-layouts');
68
- exports.setZoom = (0, toolkit_1.createAction)('treble/spaces/set-zoom');
69
- exports.setUnit = (0, toolkit_1.createAction)('treble/spaces/set-unit');
70
- exports.setTranslation = (0, toolkit_1.createAction)('treble/spaces/set-translation');
71
- exports.setMode = (0, toolkit_1.createAction)('treble/spaces/set-mode');
72
- exports.setShowDimensions = (0, toolkit_1.createAction)('treble/spaces/set-show-dimensions');
73
- exports.setAngleSnappingEnabled = (0, toolkit_1.createAction)('treble/spaces/set-angle-snapping-enabled');
74
- exports.setGuideSnappingEnabled = (0, toolkit_1.createAction)('treble/spaces/set-guide-snapping-enabled');
75
- exports.setGridSnappingEnabled = (0, toolkit_1.createAction)('treble/spaces/set-grid-snapping-enabled');
76
- var initialState = {
77
- mode: types_1.IModes.SELECT,
78
- layouts: [],
79
- unit: types_1.IUnits.FEET,
80
- zoom: null,
81
- translation: null,
82
- showDimensions: true,
83
- angleSnappingEnabled: true,
84
- guideSnappingEnabled: true,
85
- gridSnappingEnabled: true,
86
- };
87
- var reducer = (0, toolkit_1.createSlice)({
88
- name: 'spaces',
89
- initialState: initialState,
90
- extraReducers: function (builder) {
91
- builder.addCase(exports.setMode, function (state, action) {
92
- return __assign(__assign({}, state), { mode: action.payload });
93
- });
94
- builder.addCase(exports.setLayouts, function (state, action) {
95
- return __assign(__assign({}, state), { layouts: action.payload });
96
- });
97
- builder.addCase(exports.setUnit, function (state, action) {
98
- return __assign(__assign({}, state), { unit: action.payload });
99
- });
100
- builder.addCase(exports.setZoom, function (state, action) {
101
- return __assign(__assign({}, state), { zoom: action.payload });
102
- });
103
- builder.addCase(exports.setTranslation, function (state, action) {
104
- return __assign(__assign({}, state), { translation: action.payload });
105
- });
106
- builder.addCase(exports.setShowDimensions, function (state, action) {
107
- return __assign(__assign({}, state), { showDimensions: action.payload });
108
- });
109
- builder.addCase(exports.setAngleSnappingEnabled, function (state, action) {
110
- return __assign(__assign({}, state), { angleSnappingEnabled: action.payload });
111
- });
112
- builder.addCase(exports.setGuideSnappingEnabled, function (state, action) {
113
- return __assign(__assign({}, state), { guideSnappingEnabled: action.payload });
114
- });
115
- builder.addCase(exports.setGridSnappingEnabled, function (state, action) {
116
- return __assign(__assign({}, state), { gridSnappingEnabled: action.payload });
117
- });
118
- },
119
- reducers: {},
120
- }).reducer;
121
- var getMode = function (state) { return state.spaces.mode; };
122
- exports.getMode = getMode;
123
- var getLayouts = function (state) {
124
- return state.spaces.layouts;
125
- };
126
- exports.getLayouts = getLayouts;
127
- var getUnit = function (state) { return state.spaces.unit; };
128
- exports.getUnit = getUnit;
129
- var getZoom = function (state) { return state.spaces.zoom; };
130
- exports.getZoom = getZoom;
131
- var getTranslation = function (state) { return state.spaces.translation; };
132
- exports.getTranslation = getTranslation;
133
- var getShowDimensions = function (state) {
134
- return state.spaces.showDimensions;
135
- };
136
- exports.getShowDimensions = getShowDimensions;
137
- var getAngleSnappingEnabled = function (state) {
138
- return state.spaces.angleSnappingEnabled;
139
- };
140
- exports.getAngleSnappingEnabled = getAngleSnappingEnabled;
141
- var getGuideSnappingEnabled = function (state) {
142
- return state.spaces.guideSnappingEnabled;
143
- };
144
- exports.getGuideSnappingEnabled = getGuideSnappingEnabled;
145
- var getGridSnappingEnabled = function (state) {
146
- return state.spaces.gridSnappingEnabled;
147
- };
148
- exports.getGridSnappingEnabled = getGridSnappingEnabled;
149
- var hydrateLayouts = function (configurationIds, attributeMap) {
150
- return function (dispatch, getState) { return __awaiter(void 0, void 0, void 0, function () {
151
- var state, layoutIds, configurationResponses, prepped;
152
- var _a;
153
- return __generator(this, function (_b) {
154
- switch (_b.label) {
155
- case 0:
156
- state = getState();
157
- if (state.spaces.layouts.length)
158
- return [2];
159
- layoutIds = __spreadArray([], configurationIds, true);
160
- if ((_a = state.product.metadata) === null || _a === void 0 ? void 0 : _a._layouts)
161
- state.product.metadata._layouts
162
- .split(',')
163
- .forEach(function (id) { return layoutIds.push(id.trim()); });
164
- return [4, Promise.all(layoutIds.map(function (configId) { return api_1.default.configurations.fetch(configId); }))];
165
- case 1:
166
- configurationResponses = _b.sent();
167
- prepped = configurationResponses.map(function (response) {
168
- var _a;
169
- var wallsAttribute = response.data.variant[attributeMap.walls];
170
- var walls = wallsAttribute.map(function (wallAttribute) {
171
- var wallConfig = wallAttribute.configuration;
172
- var wall = [
173
- [
174
- wallConfig[attributeMap.startX],
175
- wallConfig[attributeMap.startZ],
176
- ],
177
- [
178
- wallConfig[attributeMap.endX],
179
- wallConfig[attributeMap.endZ],
180
- ],
181
- ];
182
- return wall;
183
- });
184
- return {
185
- label: ((_a = response.data.metadata) === null || _a === void 0 ? void 0 : _a.label) || 'Layout',
186
- configuration: response.data.variant,
187
- loop: (0, geometry_1.findLoops)(walls).inner,
188
- };
189
- });
190
- dispatch((0, exports.setLayouts)(prepped));
191
- return [2];
192
- }
193
- });
194
- }); };
195
- };
196
- exports.hydrateLayouts = hydrateLayouts;
197
- exports.default = reducer;
File without changes
File without changes