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

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 (205) 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/components/BreatheAnimation/index.js +2 -2
  6. package/dist/components/TurntableAnimation/index.js +2 -2
  7. package/dist/components/containers/formInputContainer.js +3 -3
  8. package/dist/hooks/useAttribute/index.js +1 -5
  9. package/dist/hooks/useConfigurationChangeStatus/index.d.ts +2 -0
  10. package/dist/hooks/{usePlayerLoadingStatus → useConfigurationChangeStatus}/index.js +2 -2
  11. package/dist/hooks/useNestedConfigurator/index.js +1 -2
  12. package/dist/hooks/usePlayerReady/index.d.ts +2 -0
  13. package/dist/hooks/{useAnimationStart → usePlayerReady}/index.js +2 -2
  14. package/dist/hooks/useSpaces/Canvas.d.ts +37 -0
  15. package/dist/hooks/useSpaces/Canvas.js +199 -0
  16. package/dist/hooks/useSpaces/SpacesLayout.d.ts +11 -0
  17. package/dist/hooks/useSpaces/SpacesLayout.js +74 -0
  18. package/dist/hooks/useSpaces/SpacesState.d.ts +162 -0
  19. package/dist/hooks/useSpaces/SpacesState.js +1791 -0
  20. package/dist/hooks/useSpaces/constants.d.ts +44 -0
  21. package/dist/hooks/useSpaces/constants.js +105 -0
  22. package/dist/hooks/{useRoomBuilder → useSpaces}/dataHandlers.d.ts +6 -4
  23. package/dist/hooks/{useRoomBuilder → useSpaces}/dataHandlers.js +104 -42
  24. package/dist/hooks/useSpaces/draw/clearCanvas.d.ts +2 -0
  25. package/dist/hooks/useSpaces/draw/clearCanvas.js +9 -0
  26. package/dist/hooks/useSpaces/draw/drawBackground.d.ts +2 -0
  27. package/dist/hooks/useSpaces/draw/drawBackground.js +12 -0
  28. package/dist/hooks/useSpaces/draw/drawDimensions.d.ts +3 -0
  29. package/dist/hooks/useSpaces/draw/drawDimensions.js +53 -0
  30. package/dist/hooks/useSpaces/draw/drawDoors.d.ts +9 -0
  31. package/dist/hooks/useSpaces/draw/drawDoors.js +93 -0
  32. package/dist/hooks/useSpaces/draw/drawFloor.d.ts +3 -0
  33. package/dist/hooks/useSpaces/draw/drawFloor.js +36 -0
  34. package/dist/hooks/useSpaces/draw/drawGrid.d.ts +3 -0
  35. package/dist/hooks/useSpaces/draw/drawGrid.js +31 -0
  36. package/dist/hooks/useSpaces/draw/drawGuides.d.ts +3 -0
  37. package/dist/hooks/useSpaces/draw/drawGuides.js +23 -0
  38. package/dist/hooks/useSpaces/draw/drawOpenings.d.ts +9 -0
  39. package/dist/hooks/useSpaces/draw/drawOpenings.js +72 -0
  40. package/dist/hooks/useSpaces/draw/drawVertices.d.ts +8 -0
  41. package/dist/hooks/useSpaces/draw/drawVertices.js +61 -0
  42. package/dist/hooks/useSpaces/draw/drawWalls.d.ts +10 -0
  43. package/dist/hooks/useSpaces/draw/drawWalls.js +64 -0
  44. package/dist/hooks/useSpaces/draw/drawWindows.d.ts +9 -0
  45. package/dist/hooks/useSpaces/draw/drawWindows.js +82 -0
  46. package/dist/hooks/useSpaces/draw/index.d.ts +11 -0
  47. package/dist/hooks/useSpaces/draw/index.js +129 -0
  48. package/dist/hooks/useSpaces/geometry/addThicknessToLine.d.ts +3 -0
  49. package/dist/hooks/useSpaces/geometry/addThicknessToLine.js +13 -0
  50. package/dist/hooks/useSpaces/geometry/areLinesEqual.d.ts +3 -0
  51. package/dist/hooks/useSpaces/geometry/areLinesEqual.js +17 -0
  52. package/dist/hooks/useSpaces/geometry/arePointsEqual.d.ts +3 -0
  53. package/dist/hooks/useSpaces/geometry/arePointsEqual.js +8 -0
  54. package/dist/hooks/useSpaces/geometry/arePointsWithinProximity.d.ts +3 -0
  55. package/dist/hooks/useSpaces/geometry/arePointsWithinProximity.js +11 -0
  56. package/dist/hooks/useSpaces/geometry/closestPointOnLine.d.ts +3 -0
  57. package/dist/hooks/useSpaces/geometry/closestPointOnLine.js +13 -0
  58. package/dist/hooks/useSpaces/geometry/doLinesOverlap.d.ts +2 -0
  59. package/dist/hooks/useSpaces/geometry/doLinesOverlap.js +16 -0
  60. package/dist/hooks/useSpaces/geometry/euclideanMod.d.ts +2 -0
  61. package/dist/hooks/useSpaces/geometry/euclideanMod.js +6 -0
  62. package/dist/hooks/useSpaces/geometry/findLoops.d.ts +6 -0
  63. package/dist/hooks/{useRoomBuilder → useSpaces/geometry}/findLoops.js +14 -9
  64. package/dist/hooks/useSpaces/geometry/getAllLineIntersections.d.ts +6 -0
  65. package/dist/hooks/useSpaces/geometry/getAllLineIntersections.js +23 -0
  66. package/dist/hooks/useSpaces/geometry/getAngleOfLineSegment.d.ts +3 -0
  67. package/dist/hooks/useSpaces/geometry/getAngleOfLineSegment.js +7 -0
  68. package/dist/hooks/useSpaces/geometry/getClosestPointOnLineSegment.d.ts +3 -0
  69. package/dist/hooks/useSpaces/geometry/getClosestPointOnLineSegment.js +17 -0
  70. package/dist/hooks/useSpaces/geometry/getDistanceToLine.d.ts +3 -0
  71. package/dist/hooks/useSpaces/geometry/getDistanceToLine.js +10 -0
  72. package/dist/hooks/useSpaces/geometry/getLengthOfLineSegment.d.ts +3 -0
  73. package/dist/hooks/useSpaces/geometry/getLengthOfLineSegment.js +7 -0
  74. package/dist/hooks/useSpaces/geometry/getLineAtOffsetOnLineSegment.d.ts +3 -0
  75. package/dist/hooks/useSpaces/geometry/getLineAtOffsetOnLineSegment.js +17 -0
  76. package/dist/hooks/useSpaces/geometry/getLineOtherPoint.d.ts +3 -0
  77. package/dist/hooks/useSpaces/geometry/getLineOtherPoint.js +11 -0
  78. package/dist/hooks/useSpaces/geometry/getLineSegmentsIntersection.d.ts +3 -0
  79. package/dist/hooks/useSpaces/geometry/getLineSegmentsIntersection.js +43 -0
  80. package/dist/hooks/useSpaces/geometry/getMidpointOfLineSegment.d.ts +3 -0
  81. package/dist/hooks/useSpaces/geometry/getMidpointOfLineSegment.js +9 -0
  82. package/dist/hooks/useSpaces/geometry/getParallelLineSegmentAtDistance.d.ts +3 -0
  83. package/dist/hooks/useSpaces/geometry/getParallelLineSegmentAtDistance.js +20 -0
  84. package/dist/hooks/useSpaces/geometry/getPointAtOffsetOnLineSegment.d.ts +3 -0
  85. package/dist/hooks/useSpaces/geometry/getPointAtOffsetOnLineSegment.js +11 -0
  86. package/dist/hooks/useSpaces/geometry/getPolygonArea.d.ts +3 -0
  87. package/dist/hooks/useSpaces/geometry/getPolygonArea.js +15 -0
  88. package/dist/hooks/useSpaces/geometry/getQuadrilateralArea.d.ts +3 -0
  89. package/dist/hooks/useSpaces/geometry/getQuadrilateralArea.js +16 -0
  90. package/dist/hooks/useSpaces/geometry/getTangetIntersectionAndOffset.d.ts +6 -0
  91. package/dist/hooks/useSpaces/geometry/getTangetIntersectionAndOffset.js +17 -0
  92. package/dist/hooks/useSpaces/geometry/getTriangleArea.d.ts +3 -0
  93. package/dist/hooks/useSpaces/geometry/getTriangleArea.js +9 -0
  94. package/dist/hooks/useSpaces/geometry/getUnitVectorOfLineSegment.d.ts +3 -0
  95. package/dist/hooks/useSpaces/geometry/getUnitVectorOfLineSegment.js +12 -0
  96. package/dist/hooks/useSpaces/geometry/index.d.ts +30 -0
  97. package/dist/hooks/useSpaces/geometry/index.js +64 -0
  98. package/dist/hooks/useSpaces/geometry/isPointInPolygon.d.ts +3 -0
  99. package/dist/hooks/useSpaces/geometry/isPointInPolygon.js +21 -0
  100. package/dist/hooks/useSpaces/geometry/isPointInQuadrilateral.d.ts +3 -0
  101. package/dist/hooks/useSpaces/geometry/isPointInQuadrilateral.js +25 -0
  102. package/dist/hooks/useSpaces/geometry/orderCoordinatesOnLineSegment.d.ts +3 -0
  103. package/dist/hooks/useSpaces/geometry/orderCoordinatesOnLineSegment.js +11 -0
  104. package/dist/hooks/useSpaces/geometry/splitLineAtOffset.d.ts +3 -0
  105. package/dist/hooks/useSpaces/geometry/splitLineAtOffset.js +12 -0
  106. package/dist/hooks/useSpaces/geometry/splitLineAtPoint.d.ts +3 -0
  107. package/dist/hooks/useSpaces/geometry/splitLineAtPoint.js +9 -0
  108. package/dist/hooks/useSpaces/geometry/splitLineAtPoints.d.ts +3 -0
  109. package/dist/hooks/useSpaces/geometry/splitLineAtPoints.js +28 -0
  110. package/dist/hooks/useSpaces/index.d.ts +76 -0
  111. package/dist/hooks/useSpaces/index.js +475 -0
  112. package/dist/hooks/useSpaces/themes/blueprint.d.ts +3 -0
  113. package/dist/hooks/useSpaces/themes/blueprint.js +96 -0
  114. package/dist/hooks/useSpaces/themes/default.d.ts +3 -0
  115. package/dist/hooks/useSpaces/themes/default.js +96 -0
  116. package/dist/hooks/{useRoomBuilder/themes.d.ts → useSpaces/themes/index.d.ts} +3 -4
  117. package/dist/hooks/useSpaces/themes/index.js +21 -0
  118. package/dist/hooks/useSpaces/themes/light.d.ts +3 -0
  119. package/dist/hooks/useSpaces/themes/light.js +96 -0
  120. package/dist/hooks/{useRoomBuilder → useSpaces}/types.d.ts +131 -35
  121. package/dist/hooks/{useRoomBuilder → useSpaces}/types.js +13 -1
  122. package/dist/hooks/useSpaces/validators/areWallsDuplicated.d.ts +3 -0
  123. package/dist/hooks/useSpaces/validators/areWallsDuplicated.js +61 -0
  124. package/dist/hooks/useSpaces/validators/areWallsIntersecting.d.ts +3 -0
  125. package/dist/hooks/useSpaces/validators/areWallsIntersecting.js +42 -0
  126. package/dist/hooks/useSpaces/validators/areWallsOrphaningFeatures.d.ts +3 -0
  127. package/dist/hooks/useSpaces/validators/areWallsOrphaningFeatures.js +52 -0
  128. package/dist/hooks/useSpaces/validators/areWallsTooShort.d.ts +3 -0
  129. package/dist/hooks/useSpaces/validators/areWallsTooShort.js +37 -0
  130. package/dist/hooks/useSpaces/validators/index.d.ts +15 -0
  131. package/dist/hooks/useSpaces/validators/index.js +40 -0
  132. package/dist/hooks/useSpaces/validators/isFeatureCollidingWithExistingFeature.d.ts +3 -0
  133. package/dist/hooks/useSpaces/validators/isFeatureCollidingWithExistingFeature.js +31 -0
  134. package/dist/hooks/useSpaces/validators/isFeatureOutsideWallBounds.d.ts +3 -0
  135. package/dist/hooks/useSpaces/validators/isFeatureOutsideWallBounds.js +19 -0
  136. package/dist/hooks/useSpaces/validators/isLineTooShort.d.ts +3 -0
  137. package/dist/hooks/useSpaces/validators/isLineTooShort.js +26 -0
  138. package/dist/hooks/useSpaces/validators/isVertexLandingOnFeature.d.ts +4 -0
  139. package/dist/hooks/useSpaces/validators/isVertexLandingOnFeature.js +19 -0
  140. package/dist/hooks/useSpaces/validators/isWallEndingOnFeature.d.ts +3 -0
  141. package/dist/hooks/useSpaces/validators/isWallEndingOnFeature.js +19 -0
  142. package/dist/hooks/useSpaces/validators/isWallIntersectingFeature.d.ts +3 -0
  143. package/dist/hooks/useSpaces/validators/isWallIntersectingFeature.js +41 -0
  144. package/dist/hooks/useSpaces/validators/isWallOverlappingExisitingWalls.d.ts +3 -0
  145. package/dist/hooks/useSpaces/validators/isWallOverlappingExisitingWalls.js +54 -0
  146. package/dist/hooks/useSpaces/validators/isWallTooShort.d.ts +3 -0
  147. package/dist/hooks/useSpaces/validators/isWallTooShort.js +10 -0
  148. package/dist/hooks/{useRoomBuilder → useSpaces/validators}/messaging.js +1 -1
  149. package/dist/icons/AngleSnapping.d.ts +3 -0
  150. package/dist/icons/AngleSnapping.js +28 -0
  151. package/dist/icons/Center.d.ts +3 -0
  152. package/dist/icons/Center.js +24 -0
  153. package/dist/icons/Draw.js +3 -3
  154. package/dist/icons/GridSnapping.d.ts +3 -0
  155. package/dist/icons/GridSnapping.js +28 -0
  156. package/dist/icons/LayoutAlt.d.ts +3 -0
  157. package/dist/icons/LayoutAlt.js +21 -0
  158. package/dist/icons/Magnet.d.ts +3 -0
  159. package/dist/icons/Magnet.js +27 -0
  160. package/dist/icons/Player3D.d.ts +3 -0
  161. package/dist/icons/Player3D.js +21 -0
  162. package/dist/icons/Save.d.ts +3 -0
  163. package/dist/icons/Save.js +21 -0
  164. package/dist/icons/UnitCm.d.ts +3 -0
  165. package/dist/icons/UnitCm.js +22 -0
  166. package/dist/icons/UnitFeet.d.ts +3 -0
  167. package/dist/icons/UnitFeet.js +22 -0
  168. package/dist/icons/UnitInch.d.ts +3 -0
  169. package/dist/icons/UnitInch.js +22 -0
  170. package/dist/icons/UnitMeter.d.ts +3 -0
  171. package/dist/icons/UnitMeter.js +21 -0
  172. package/dist/icons/Window.js +4 -4
  173. package/dist/icons/index.js +22 -0
  174. package/dist/icons/types.d.ts +1 -1
  175. package/dist/index.d.ts +17 -3
  176. package/dist/index.js +35 -7
  177. package/dist/store/attributes.d.ts +1 -0
  178. package/dist/store/index.d.ts +39 -8
  179. package/dist/store/index.js +3 -1
  180. package/dist/store/product.js +4 -7
  181. package/dist/store/spaces.d.ts +47 -0
  182. package/dist/store/spaces.js +197 -0
  183. package/dist/store/treble.d.ts +1 -1
  184. package/dist/store/treble.js +24 -26
  185. package/dist/types.d.ts +6 -0
  186. package/package.json +1 -1
  187. package/dist/hooks/useAnimationStart/index.d.ts +0 -2
  188. package/dist/hooks/usePlayerLoadingStatus/index.d.ts +0 -2
  189. package/dist/hooks/useRoomBuilder/RoomBuilderState.d.ts +0 -95
  190. package/dist/hooks/useRoomBuilder/RoomBuilderState.js +0 -1237
  191. package/dist/hooks/useRoomBuilder/constants.d.ts +0 -41
  192. package/dist/hooks/useRoomBuilder/constants.js +0 -48
  193. package/dist/hooks/useRoomBuilder/draw.d.ts +0 -55
  194. package/dist/hooks/useRoomBuilder/draw.js +0 -573
  195. package/dist/hooks/useRoomBuilder/findLoops.d.ts +0 -5
  196. package/dist/hooks/useRoomBuilder/geometry.d.ts +0 -33
  197. package/dist/hooks/useRoomBuilder/geometry.js +0 -325
  198. package/dist/hooks/useRoomBuilder/index.d.ts +0 -40
  199. package/dist/hooks/useRoomBuilder/index.js +0 -303
  200. package/dist/hooks/useRoomBuilder/themes.js +0 -273
  201. package/dist/hooks/useRoomBuilder/validators.d.ts +0 -36
  202. package/dist/hooks/useRoomBuilder/validators.js +0 -362
  203. /package/dist/Treble/{snapshots.d.ts → snapshot.d.ts} +0 -0
  204. /package/dist/Treble/{snapshots.js → snapshot.js} +0 -0
  205. /package/dist/hooks/{useRoomBuilder → useSpaces/validators}/messaging.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import threekitAPI from '../api';
2
2
  import { IThreekitPlayer, IThreekitPrivatePlayer, IThreekitPrivateConfigurator } from '../types';
3
3
  import { IWishlist } from './wishlist';
4
- import snapshots from './snapshots';
4
+ import snapshot from './snapshot';
5
5
  import { ISaveConfiguration } from '../api/configurations';
6
6
  import { ICreateOrder } from '../api/orders';
7
7
  import { ICartItem } from '../http/orders';
@@ -22,7 +22,7 @@ declare class Treble {
22
22
  _player: IThreekitPrivatePlayer;
23
23
  wishlist: IWishlist;
24
24
  private _snapshots;
25
- takeSnapshots: typeof snapshots['takeSnapshots'];
25
+ takeSnapshots: typeof snapshot['takeSnapshots'];
26
26
  _debugMode: boolean;
27
27
  constructor({ player, orgId }: ITreble);
28
28
  createOrder: (order?: IOrder) => Promise<import("../http/orders").IOrderResponse>;
@@ -45,7 +45,7 @@ var types_1 = require("../types");
45
45
  var constants_1 = require("../constants");
46
46
  var utils_1 = require("../utils");
47
47
  var wishlist_1 = __importDefault(require("./wishlist"));
48
- var snapshots_1 = __importDefault(require("./snapshots"));
48
+ var snapshot_1 = __importDefault(require("./snapshot"));
49
49
  var Treble = (function () {
50
50
  function Treble(_a) {
51
51
  var player = _a.player, orgId = _a.orgId;
@@ -147,7 +147,7 @@ var Treble = (function () {
147
147
  };
148
148
  this._api = api_1.default;
149
149
  this.wishlist = (0, wishlist_1.default)(orgId);
150
- this._snapshots = snapshots_1.default;
150
+ this._snapshots = snapshot_1.default;
151
151
  this.takeSnapshots = this._snapshots.takeSnapshots;
152
152
  this._player = player.enableApi(types_1.PRIVATE_APIS.PLAYER);
153
153
  this._debugMode = constants_1.TREBLE_DEBUG;
@@ -1,5 +1,5 @@
1
1
  import Treble from './Treble';
2
2
  export * from './Treble';
3
- export * from './snapshots';
3
+ export * from './snapshot';
4
4
  export * from './wishlist';
5
5
  export default Treble;
@@ -19,6 +19,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  var Treble_1 = __importDefault(require("./Treble"));
21
21
  __exportStar(require("./Treble"), exports);
22
- __exportStar(require("./snapshots"), exports);
22
+ __exportStar(require("./snapshot"), exports);
23
23
  __exportStar(require("./wishlist"), exports);
24
24
  exports.default = Treble_1.default;
@@ -40,10 +40,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var react_1 = require("react");
43
- var useAnimationStart_1 = __importDefault(require("../../hooks/useAnimationStart"));
43
+ var usePlayerReady_1 = __importDefault(require("../../hooks/usePlayerReady"));
44
44
  var types_1 = require("../../types");
45
45
  var BreatheAnimation = function (props) {
46
- var readyToAnimate = (0, useAnimationStart_1.default)();
46
+ var readyToAnimate = (0, usePlayerReady_1.default)();
47
47
  var initialTranslation = (0, react_1.useRef)(null);
48
48
  var initialRotation = (0, react_1.useRef)(null);
49
49
  var animationInProgress = (0, react_1.useRef)(false);
@@ -40,7 +40,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var react_1 = require("react");
43
- var useAnimationStart_1 = __importDefault(require("../../hooks/useAnimationStart"));
43
+ var usePlayerReady_1 = __importDefault(require("../../hooks/usePlayerReady"));
44
44
  var types_1 = require("../../types");
45
45
  var RotationDirections;
46
46
  (function (RotationDirections) {
@@ -48,7 +48,7 @@ var RotationDirections;
48
48
  RotationDirections["COUNTER_CLOCKWISE"] = "counter-clockwise";
49
49
  })(RotationDirections || (RotationDirections = {}));
50
50
  var TurntableAnimation = function (props) {
51
- var readyToAnimate = (0, useAnimationStart_1.default)();
51
+ var readyToAnimate = (0, usePlayerReady_1.default)();
52
52
  var initialRotation = (0, react_1.useRef)(null);
53
53
  var animationInProgress = (0, react_1.useRef)(false);
54
54
  var rotationNodeId = (0, react_1.useRef)(undefined);
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.hydrateAttributeForComponent = void 0;
18
18
  var react_1 = __importDefault(require("react"));
19
19
  var useAttribute_1 = __importDefault(require("../../hooks/useAttribute"));
20
- var usePlayerLoadingStatus_1 = __importDefault(require("../../hooks/usePlayerLoadingStatus"));
20
+ var useConfigurationChangeStatus_1 = __importDefault(require("../../hooks/useConfigurationChangeStatus"));
21
21
  var utils_1 = require("../../utils");
22
22
  var constants_1 = require("../../constants");
23
23
  var hydrateAttributeForComponent = function (attribute, config) {
@@ -80,7 +80,7 @@ exports.hydrateAttributeForComponent = hydrateAttributeForComponent;
80
80
  function formComponentContainer(FormComponent) {
81
81
  return function (props) {
82
82
  var attribute = props.attribute, metadataKeyThumbnail = props.metadataKeyThumbnail, metadataKeyDescription = props.metadataKeyDescription, metadataKeyPrice = props.metadataKeyPrice, hideAttributeTitle = props.hideAttributeTitle, sort = props.sort;
83
- var isLoading = (0, usePlayerLoadingStatus_1.default)();
83
+ var isConfigurationChanging = (0, useConfigurationChangeStatus_1.default)();
84
84
  var _a = (0, useAttribute_1.default)(attribute), attributeData = _a[0], setAttribute = _a[1];
85
85
  if (!attribute)
86
86
  return react_1.default.createElement(FormComponent, __assign({}, props));
@@ -104,7 +104,7 @@ function formComponentContainer(FormComponent) {
104
104
  var preppedProps = __assign({}, props);
105
105
  if (!hideAttributeTitle && !preppedProps.title)
106
106
  preppedProps.title = attributeData.label;
107
- return (react_1.default.createElement(FormComponent, __assign({}, preppedProps, { value: selected, onClick: handleSetAttribute, onChange: handleSetAttribute, options: options, isPlayerLoading: isLoading })));
107
+ return (react_1.default.createElement(FormComponent, __assign({}, preppedProps, { value: selected, onClick: handleSetAttribute, onChange: handleSetAttribute, options: options, isPlayerLoading: isConfigurationChanging })));
108
108
  };
109
109
  }
110
110
  exports.default = formComponentContainer;
@@ -35,14 +35,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
38
  Object.defineProperty(exports, "__esModule", { value: true });
42
39
  var store_1 = require("../../store");
43
40
  var attributes_1 = require("../../store/attributes");
44
41
  var utils_1 = require("../../utils");
45
- var api_1 = __importDefault(require("../../api"));
46
42
  var utils_2 = require("../../utils");
47
43
  var useAttribute = function (attributeName) {
48
44
  var _a;
@@ -66,7 +62,7 @@ var useAttribute = function (attributeName) {
66
62
  if (!!value) return [3, 1];
67
63
  preppedValue = (0, utils_1.selectionToConfiguration)('', attribute.type);
68
64
  return [3, 3];
69
- case 1: return [4, api_1.default.catalog.uploadAsset(value)];
65
+ case 1: return [4, window.threekit.player.uploadImage(value)];
70
66
  case 2:
71
67
  assetId = _b.sent();
72
68
  if (assetId)
@@ -0,0 +1,2 @@
1
+ declare const useConfigurationChangeStatus: () => boolean;
2
+ export default useConfigurationChangeStatus;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var store_1 = require("../../store");
4
4
  var treble_1 = require("../../store/treble");
5
- var usePlayerLoadingStatus = function () {
5
+ var useConfigurationChangeStatus = function () {
6
6
  return (0, store_1.useThreekitSelector)(treble_1.isPlayerLoading);
7
7
  };
8
- exports.default = usePlayerLoadingStatus;
8
+ exports.default = useConfigurationChangeStatus;
@@ -57,8 +57,7 @@ var useNestedConfigurator = function (address) {
57
57
  return;
58
58
  if (playerLoading)
59
59
  return;
60
- configurator.current =
61
- window.threekit.treble.getNestedConfigurator(address);
60
+ configurator.current = window.threekit.configurator.getNestedConfigurator([address].flat());
62
61
  if (!configurator.current)
63
62
  return;
64
63
  var updatedAttrs = configurator.current.getDisplayAttributes();
@@ -0,0 +1,2 @@
1
+ declare const usePlayerReady: () => boolean;
2
+ export default usePlayerReady;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var store_1 = require("../../store");
4
4
  var treble_1 = require("../../store/treble");
5
- var useAnimationStart = function () {
5
+ var usePlayerReady = function () {
6
6
  return (0, store_1.useThreekitSelector)(treble_1.isFirstRenderComplete);
7
7
  };
8
- exports.default = useAnimationStart;
8
+ exports.default = usePlayerReady;
@@ -0,0 +1,37 @@
1
+ import { ICoordinate2D, ICoordinatesLine, IGridToDraw, IUnits } from './types';
2
+ declare class Canvas {
3
+ private _scale;
4
+ private _dimensions;
5
+ private _zoom;
6
+ private _zoomLimits;
7
+ private _translate;
8
+ private _translateLimits;
9
+ private _unit;
10
+ constructor(scale: number, dimensions: ICoordinate2D, zoom: number, translate: ICoordinate2D, unit: IUnits);
11
+ get dimensions(): ICoordinate2D;
12
+ set dimensions(dimensions: ICoordinate2D);
13
+ get width(): number;
14
+ get height(): number;
15
+ get zoom(): number;
16
+ set zoom(delta: number);
17
+ get zoomFactor(): number;
18
+ set zoomFactor(val: number);
19
+ get zoomMin(): number;
20
+ get zoomMax(): number;
21
+ get translate(): ICoordinate2D;
22
+ get translateMin(): ICoordinate2D;
23
+ get translateMax(): ICoordinate2D;
24
+ set translate(position: ICoordinate2D);
25
+ get unit(): IUnits;
26
+ set unit(unit: IUnits);
27
+ get gridUnitLength(): number;
28
+ get gridUnitLengthToDraw(): number;
29
+ get gridOffset(): ICoordinate2D;
30
+ get gridToDraw(): IGridToDraw;
31
+ transformLengthFromCanvas(length: number): number;
32
+ transformLengthToCanvas(length: number): number;
33
+ transformPointToCanvas(point: ICoordinate2D): ICoordinate2D;
34
+ transformPointFromCanvas(point: ICoordinate2D): ICoordinate2D;
35
+ transformLineToCanvas(line: ICoordinatesLine): ICoordinatesLine;
36
+ }
37
+ export default Canvas;
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var constants_1 = require("./constants");
4
+ var dataHandlers_1 = require("./dataHandlers");
5
+ var types_1 = require("./types");
6
+ var Canvas = (function () {
7
+ function Canvas(scale, dimensions, zoom, translate, unit) {
8
+ this._scale = scale;
9
+ this._dimensions = dimensions;
10
+ this._zoom = zoom;
11
+ this._zoomLimits = [constants_1.ZOOM_MIN, constants_1.ZOOM_MAX];
12
+ this._translate = translate;
13
+ this._translateLimits = [constants_1.TRANSLATE_MIN, constants_1.TRANSLATE_MAX];
14
+ this._unit = unit;
15
+ }
16
+ Object.defineProperty(Canvas.prototype, "dimensions", {
17
+ get: function () {
18
+ return this._dimensions;
19
+ },
20
+ set: function (dimensions) {
21
+ this._dimensions = dimensions;
22
+ },
23
+ enumerable: false,
24
+ configurable: true
25
+ });
26
+ Object.defineProperty(Canvas.prototype, "width", {
27
+ get: function () {
28
+ return this._dimensions[0];
29
+ },
30
+ enumerable: false,
31
+ configurable: true
32
+ });
33
+ Object.defineProperty(Canvas.prototype, "height", {
34
+ get: function () {
35
+ return this._dimensions[1];
36
+ },
37
+ enumerable: false,
38
+ configurable: true
39
+ });
40
+ Object.defineProperty(Canvas.prototype, "zoom", {
41
+ get: function () {
42
+ return this._zoom;
43
+ },
44
+ set: function (delta) {
45
+ var newZoom = this.zoom + delta;
46
+ var preppedZoom = newZoom < this.zoomMin
47
+ ? this.zoomMin
48
+ : newZoom > this.zoomMax
49
+ ? this.zoomMax
50
+ : newZoom;
51
+ if (preppedZoom === this.zoom)
52
+ return;
53
+ this._zoom = preppedZoom;
54
+ },
55
+ enumerable: false,
56
+ configurable: true
57
+ });
58
+ Object.defineProperty(Canvas.prototype, "zoomFactor", {
59
+ get: function () {
60
+ return this._zoom / this.zoomMin;
61
+ },
62
+ set: function (val) {
63
+ var updatedZoom = val * this.zoomMin;
64
+ if (updatedZoom < this.zoomMin)
65
+ this._zoom = this.zoomMin;
66
+ else if (updatedZoom > this.zoomMax)
67
+ this._zoom = this.zoomMax;
68
+ else
69
+ this._zoom = updatedZoom;
70
+ },
71
+ enumerable: false,
72
+ configurable: true
73
+ });
74
+ Object.defineProperty(Canvas.prototype, "zoomMin", {
75
+ get: function () {
76
+ return this._zoomLimits[0];
77
+ },
78
+ enumerable: false,
79
+ configurable: true
80
+ });
81
+ Object.defineProperty(Canvas.prototype, "zoomMax", {
82
+ get: function () {
83
+ return this._zoomLimits[1];
84
+ },
85
+ enumerable: false,
86
+ configurable: true
87
+ });
88
+ Object.defineProperty(Canvas.prototype, "translate", {
89
+ get: function () {
90
+ return this._translate;
91
+ },
92
+ set: function (position) {
93
+ var zoomFactor = this._zoom / this.zoomMin;
94
+ var delta = [
95
+ (position[0] - this._translate[0]) / zoomFactor,
96
+ (position[1] - this._translate[1]) / zoomFactor,
97
+ ];
98
+ this._translate = [
99
+ this._translate[0] + delta[0],
100
+ this._translate[1] + delta[1],
101
+ ];
102
+ },
103
+ enumerable: false,
104
+ configurable: true
105
+ });
106
+ Object.defineProperty(Canvas.prototype, "translateMin", {
107
+ get: function () {
108
+ return this._translateLimits[0];
109
+ },
110
+ enumerable: false,
111
+ configurable: true
112
+ });
113
+ Object.defineProperty(Canvas.prototype, "translateMax", {
114
+ get: function () {
115
+ return this._translateLimits[1];
116
+ },
117
+ enumerable: false,
118
+ configurable: true
119
+ });
120
+ Object.defineProperty(Canvas.prototype, "unit", {
121
+ get: function () {
122
+ return this._unit;
123
+ },
124
+ set: function (unit) {
125
+ this._unit = unit;
126
+ },
127
+ enumerable: false,
128
+ configurable: true
129
+ });
130
+ Object.defineProperty(Canvas.prototype, "gridUnitLength", {
131
+ get: function () {
132
+ var length = [types_1.IUnits.FEET, types_1.IUnits.INCH].includes(this.unit)
133
+ ? (0, dataHandlers_1.convertLengthUnit)(1, types_1.IUnits.FEET, types_1.IUnits.METER)
134
+ : 1;
135
+ return length / this._scale;
136
+ },
137
+ enumerable: false,
138
+ configurable: true
139
+ });
140
+ Object.defineProperty(Canvas.prototype, "gridUnitLengthToDraw", {
141
+ get: function () {
142
+ return this.transformLengthToCanvas(this.gridUnitLength);
143
+ },
144
+ enumerable: false,
145
+ configurable: true
146
+ });
147
+ Object.defineProperty(Canvas.prototype, "gridOffset", {
148
+ get: function () {
149
+ var gridLength = this.gridUnitLengthToDraw;
150
+ var translate = this.transformPointToCanvas([0, 0]);
151
+ return [translate[0] % gridLength, translate[1] % gridLength];
152
+ },
153
+ enumerable: false,
154
+ configurable: true
155
+ });
156
+ Object.defineProperty(Canvas.prototype, "gridToDraw", {
157
+ get: function () {
158
+ return {
159
+ unitLength: this.gridUnitLengthToDraw,
160
+ offset: this.gridOffset,
161
+ subdivisions: [types_1.IUnits.FEET, types_1.IUnits.INCH].includes(this.unit) ? 4 : 5,
162
+ };
163
+ },
164
+ enumerable: false,
165
+ configurable: true
166
+ });
167
+ Canvas.prototype.transformLengthFromCanvas = function (length) {
168
+ return length / this.zoomFactor;
169
+ };
170
+ Canvas.prototype.transformLengthToCanvas = function (length) {
171
+ return length * this.zoomFactor;
172
+ };
173
+ Canvas.prototype.transformPointToCanvas = function (point) {
174
+ var widthOffset = this.width / 2;
175
+ var heightOffset = this.height / 2;
176
+ return [
177
+ this.transformLengthToCanvas(point[0] + this.translate[0]) -
178
+ widthOffset * (this.zoomFactor - 1),
179
+ this.transformLengthToCanvas(point[1] + this.translate[1]) -
180
+ heightOffset * (this.zoomFactor - 1),
181
+ ];
182
+ };
183
+ Canvas.prototype.transformPointFromCanvas = function (point) {
184
+ var widthOffset = this.width / 2;
185
+ var heightOffset = this.height / 2;
186
+ return [
187
+ this.transformLengthFromCanvas(point[0] + widthOffset * (this.zoomFactor - 1)) - this.translate[0],
188
+ this.transformLengthFromCanvas(point[1] + heightOffset * (this.zoomFactor - 1)) - this.translate[1],
189
+ ];
190
+ };
191
+ Canvas.prototype.transformLineToCanvas = function (line) {
192
+ return [
193
+ this.transformPointToCanvas(line[0]),
194
+ this.transformPointToCanvas(line[1]),
195
+ ];
196
+ };
197
+ return Canvas;
198
+ }());
199
+ exports.default = Canvas;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import type { ICoordinate2D } from './types';
3
+ interface ISpacesLayout {
4
+ loops?: Array<ICoordinate2D[]>;
5
+ size?: number;
6
+ color?: string;
7
+ padding?: number;
8
+ strokeWidth?: number;
9
+ }
10
+ export default function SpacesLayout(props: ISpacesLayout): JSX.Element;
11
+ export {};
@@ -0,0 +1,74 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var react_1 = __importDefault(require("react"));
18
+ function SpacesLayout(props) {
19
+ var loops = props.loops;
20
+ var size = props.size || 20;
21
+ var padding = props.padding || 2;
22
+ var strokeWidth = props.strokeWidth || 2;
23
+ if (!(loops === null || loops === void 0 ? void 0 : loops.length))
24
+ return react_1.default.createElement(react_1.default.Fragment, null);
25
+ var _a = loops.reduce(function (output, loop, i) {
26
+ loop.forEach(function (_a, j) {
27
+ var x = _a[0], y = _a[1];
28
+ if (!i && !j) {
29
+ output = {
30
+ xMin: x,
31
+ yMin: y,
32
+ xMax: x,
33
+ yMax: y,
34
+ };
35
+ }
36
+ else {
37
+ if (x < output.xMin)
38
+ output.xMin = x;
39
+ else if (x > output.xMax)
40
+ output.xMax = x;
41
+ if (y < output.yMin)
42
+ output.yMin = y;
43
+ else if (y > output.yMax)
44
+ output.yMax = y;
45
+ }
46
+ });
47
+ return output;
48
+ }, {
49
+ xMin: 0,
50
+ yMin: 0,
51
+ xMax: 0,
52
+ yMax: 0,
53
+ }), xMin = _a.xMin, yMin = _a.yMin, xMax = _a.xMax, yMax = _a.yMax;
54
+ var xSpan = xMax - xMin;
55
+ var ySpan = yMax - yMin;
56
+ var xCenter = xMin + xSpan / 2;
57
+ var yCenter = yMin + ySpan / 2;
58
+ var scaleFactor = (size - 2 * padding) / Math.max(xSpan, ySpan);
59
+ var translate = [
60
+ xCenter * scaleFactor - size / 2,
61
+ yCenter * scaleFactor - size / 2,
62
+ ];
63
+ return (react_1.default.createElement("svg", __assign({ width: size, height: size, fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props), loops.map(function (loop, i) {
64
+ var path = loop
65
+ .map(function (point, i) {
66
+ var x = point[0] * scaleFactor - translate[0];
67
+ var y = point[1] * scaleFactor - translate[1];
68
+ return (!i ? 'M ' : 'L ') + x + ' ' + y;
69
+ })
70
+ .join(' ') + ' Z';
71
+ return (react_1.default.createElement("path", { key: "path-".concat(i), d: path, stroke: props.color, strokeWidth: strokeWidth }));
72
+ })));
73
+ }
74
+ exports.default = SpacesLayout;
@@ -0,0 +1,162 @@
1
+ import type { IWalls, IVerticesState, ICoordinate2D, IFeature, IFeatures, ICoordinatesLine, ISpacesStateProps, IElementAddress, IFeatureName, IVertex, IFeaturesHydrated, IElementUi, IElementName, IActiveElement, IEnclosedSpace, IFeatureDoor, IWallsValidationConfig, IGuides, IAttributeDefaults, IGridToDraw } from './types';
2
+ import { IUnits } from './types';
3
+ import type { IHydratedAttribute } from '../../types';
4
+ export declare class SpacesState {
5
+ private _config;
6
+ private _attributesState;
7
+ private _attributeDefaults;
8
+ private _newWall;
9
+ private _activeElement;
10
+ private _selectedElement;
11
+ private _highlightedElement;
12
+ private _errorElement;
13
+ private _showDimensions;
14
+ private _angleSnappingEnabled;
15
+ private _guideSnappingEnabled;
16
+ private _guides;
17
+ private _gridSnappingEnabled;
18
+ private _zoom;
19
+ private _zoomLimits;
20
+ private _canvasDimensions;
21
+ private _translate;
22
+ private _translateLimits;
23
+ private _unit;
24
+ private _validationConfig;
25
+ private _state;
26
+ constructor(config: ISpacesStateProps);
27
+ get styles(): import("./types").ISpacesStyles;
28
+ get attributeDefaults(): IAttributeDefaults;
29
+ set attributeDefaults(val: IAttributeDefaults);
30
+ get scale(): number;
31
+ get snapProximity(): number;
32
+ get gridUnitLength(): number;
33
+ get gridUnitLengthToDraw(): number;
34
+ get gridOffset(): ICoordinate2D;
35
+ get gridToDraw(): IGridToDraw;
36
+ get walls(): IWalls;
37
+ get wallsToDraw(): {
38
+ line: ICoordinatesLine;
39
+ path: undefined;
40
+ assetId: string;
41
+ connections: [elementType: IFeatureName, index: number][];
42
+ restConfiguration: string;
43
+ }[];
44
+ set walls(walls: IWalls);
45
+ get wallCount(): number;
46
+ get wallLines(): ICoordinatesLine[];
47
+ get vertices(): IVerticesState;
48
+ get verticesToDraw(): IVerticesState;
49
+ set vertices(vertices: IVerticesState);
50
+ get verticesList(): Array<IVertex>;
51
+ get verticesListToDraw(): Array<IVertex>;
52
+ get features(): IFeatures;
53
+ get featuresToDraw(): Record<string, IFeature[] | IFeatureDoor[]>;
54
+ set features(features: IFeatures);
55
+ get getHydratedFeatures(): undefined | IFeaturesHydrated;
56
+ get featureCount(): number;
57
+ get activeElement(): IActiveElement | null;
58
+ get selectedElement(): null | IElementAddress;
59
+ set selectedElement(element: null | IElementAddress);
60
+ get showDimensions(): boolean;
61
+ set showDimensions(val: boolean);
62
+ get angleSnappingEnabled(): boolean;
63
+ set angleSnappingEnabled(val: boolean);
64
+ get guideSnappingEnabled(): boolean;
65
+ set guideSnappingEnabled(val: boolean);
66
+ get gridSnappingEnabled(): boolean;
67
+ set gridSnappingEnabled(val: boolean);
68
+ get guides(): IGuides | null;
69
+ set guides(val: IGuides | null);
70
+ get enclosedSpacesToDraw(): Array<IEnclosedSpace>;
71
+ get canvasDimensions(): ICoordinate2D;
72
+ get canvasWidth(): number;
73
+ get canvasHeight(): number;
74
+ set canvasDimensions(dimensions: ICoordinate2D);
75
+ get zoom(): number;
76
+ get zoomFactor(): number;
77
+ set zoomFactor(val: number);
78
+ get zoomMin(): number;
79
+ get zoomMax(): number;
80
+ set zoom(delta: number);
81
+ get unit(): IUnits;
82
+ set unit(unit: IUnits);
83
+ get translate(): ICoordinate2D;
84
+ get translateMin(): ICoordinate2D;
85
+ get translateMax(): ICoordinate2D;
86
+ set translate(position: ICoordinate2D);
87
+ get isDrawWallActive(): boolean;
88
+ get validationConfig(): IWallsValidationConfig;
89
+ set validationConfig(config: IWallsValidationConfig);
90
+ private transformLengthFromCanvas;
91
+ private transformLengthToCanvas;
92
+ private transformPointToCanvas;
93
+ private transformPointFromCanvas;
94
+ private transformLineToCanvas;
95
+ private getWall;
96
+ private addWall;
97
+ private addWalls;
98
+ private updateWall;
99
+ private getWallConnectionCount;
100
+ private getWallConnectionsHydrated;
101
+ private getWallDimensions;
102
+ private getWallDimensionsByIndex;
103
+ private getWallDetailedDimensionsByIndex;
104
+ private getAllWallDimensionsToDraw;
105
+ private shiftAllFeaturesOnWall;
106
+ private addFeatureToWall;
107
+ private removeFeatureFromWall;
108
+ splitWallAtOffset(wallIndex: number, offset?: number): void;
109
+ private splitWallAtPoint;
110
+ deleteWall(index: number): void;
111
+ private getFirstVacantLocationOnWallIndex;
112
+ private getFirstVacantLocation;
113
+ getWallUiAnchorPoint(index: number): undefined | ICoordinate2D;
114
+ private getVertex;
115
+ private getWallsConnectedToVertex;
116
+ private repositionVertex;
117
+ private getFeatureType;
118
+ private setFeatureType;
119
+ private getFeature;
120
+ private updateFeature;
121
+ private repositionFeature;
122
+ addFeature(type: IFeatureName, addToWallIndex?: number, feature?: Partial<Pick<IFeature, 'assetId' | 'offset' | 'length' | 'height' | 'altitude'>>): void;
123
+ deleteFeature(type: IFeatureName, index: number): void;
124
+ private getHydratedFeature;
125
+ getFeatureUiAnchorPoint(type: IFeatureName, index: number): undefined | ICoordinate2D;
126
+ deleteElement(type: IElementName, index: number): void;
127
+ private getVertexIndexInProximity;
128
+ private getWallIndexInProximity;
129
+ private getSnapPointToVertexInProximity;
130
+ private getSnapPointToWallInProximity;
131
+ private getSnapPointToAngleInProximity;
132
+ private getSnapVertexToGuideInProximity;
133
+ private getSnapActiveVertexToGuideInProximity;
134
+ private getSnapPointToGridInProximity;
135
+ private getFeatureAtPoint;
136
+ private getElementAddressAtPoint;
137
+ getElementUiAtPoint(cursorPoint: ICoordinate2D): undefined | IElementUi;
138
+ private getSnapPointToElementInProximity;
139
+ private runValidators;
140
+ private reevaluateFeatureConnections;
141
+ private pushStateToConfigurator;
142
+ setAttributesToState(attributes?: Record<string, IHydratedAttribute>): void;
143
+ deleteAll(): void;
144
+ private resetInternalState;
145
+ highlightElementIfInProximity(canvas: HTMLCanvasElement, cursorPoint: ICoordinate2D): void;
146
+ centerSpace(canvas: HTMLCanvasElement | null, zoomToFit?: boolean): void;
147
+ showNewWallAnchor(canvas: HTMLCanvasElement, cursorPoint: ICoordinate2D): void;
148
+ startDrawNewWall(startPoint: ICoordinate2D): void;
149
+ drawNewWall(canvas: HTMLCanvasElement, endPoint: ICoordinate2D): void;
150
+ cancelDrawNewWall(canvas: HTMLCanvasElement): void;
151
+ finishDrawNewWall(canvas: HTMLCanvasElement, assetId?: string): Promise<void>;
152
+ private moveActiveVertex;
153
+ private finishMoveActiveVertex;
154
+ private moveActiveFeature;
155
+ private finishMoveActiveFeature;
156
+ selectElementIfInProximity(canvas: HTMLCanvasElement, cursorPoint: ICoordinate2D): void;
157
+ moveActiveElement(canvas: HTMLCanvasElement, moveToPoint: ICoordinate2D): void;
158
+ finishMoveActiveElement(canvas: HTMLCanvasElement): void;
159
+ cancelMoveActiveElement(canvas: HTMLCanvasElement): void;
160
+ drawSpaces(canvas: HTMLCanvasElement | null): void;
161
+ }
162
+ export default SpacesState;