hart-estate-widget 0.0.9 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/build/api/index.js +33 -0
- package/build/assets/img/bricks.jpeg +0 -0
- package/build/assets/img/door-texture.jpeg +0 -0
- package/build/assets/img/door.jpeg +0 -0
- package/build/assets/img/exterior-wall-texture.jpeg +0 -0
- package/build/assets/img/floor-bathroom.jpg +0 -0
- package/build/assets/img/floor-dark.png +0 -0
- package/build/assets/img/floor-white.png +0 -0
- package/build/assets/img/floor.jpg +0 -0
- package/build/assets/img/grass.png +0 -0
- package/build/assets/img/ground.svg +9 -0
- package/build/assets/img/wall-texture.jpg +0 -0
- package/build/assets/sass/animation.sass +5 -0
- package/build/assets/sass/components/instructions.sass +3 -0
- package/build/assets/sass/components/loader.sass +2 -0
- package/build/assets/sass/components/model.sass +26 -0
- package/build/assets/sass/components/panorama.sass +4 -35
- package/build/assets/sass/components/tabs.sass +66 -0
- package/build/assets/sass/index.sass +1 -0
- package/build/components/Application.js +18 -4
- package/build/components/ImageTab.js +3 -2
- package/build/components/Instructions.js +2 -0
- package/build/components/Loader.js +3 -2
- package/build/components/ModelTab.js +148 -0
- package/build/components/PanoramaTab.js +36 -24
- package/build/components/TabPanes.js +7 -2
- package/build/components/TabWrapper.js +2 -0
- package/build/components/Widget.js +17 -3
- package/build/config/defaultConfig.js +7 -8
- package/build/index.css +1 -1
- package/build/index.css.map +1 -1
- package/build/index.js +24 -0
- package/build/store/apiStore.js +63 -0
- package/build/store/houseStore.js +679 -0
- package/build/store/modelStore.js +228 -0
- package/build/utils/csg/csg-lib.js +387 -0
- package/build/utils/csg/csg-worker.js +94 -0
- package/build/utils/csg/three-csg.js +280 -0
- package/build/utils/modelHelpers.js +151 -0
- package/build/utils/{helpers.js → panoramaHelpers.js} +8 -0
- package/package.json +13 -2
@@ -11,6 +11,8 @@ var _mobxReactLite = require("mobx-react-lite");
|
|
11
11
|
|
12
12
|
var _store = _interopRequireDefault(require("../store"));
|
13
13
|
|
14
|
+
var _Loader = _interopRequireDefault(require("./Loader"));
|
15
|
+
|
14
16
|
var _refreshIcon = _interopRequireDefault(require("../assets/img/refresh-icon.svg"));
|
15
17
|
|
16
18
|
var _D = _interopRequireDefault(require("../assets/img/3D.jpg"));
|
@@ -77,7 +79,10 @@ const TabPane = _ref2 => {
|
|
77
79
|
return /*#__PURE__*/_react.default.createElement("div", {
|
78
80
|
className: "widget-tab-pane ".concat(active ? 'widget-tab-pane--active' : ''),
|
79
81
|
onClick: onClick
|
80
|
-
}, /*#__PURE__*/_react.default.createElement(
|
82
|
+
}, !image && /*#__PURE__*/_react.default.createElement(_Loader.default, {
|
83
|
+
absolute: true,
|
84
|
+
size: "sm"
|
85
|
+
}), image && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("img", {
|
81
86
|
className: "widget-tab-pane__image",
|
82
87
|
src: image,
|
83
88
|
alt: "tab-pane"
|
@@ -85,7 +90,7 @@ const TabPane = _ref2 => {
|
|
85
90
|
className: "widget-tab-pane__icon",
|
86
91
|
src: icon,
|
87
92
|
alt: "tab-pane-icon"
|
88
|
-
}));
|
93
|
+
})));
|
89
94
|
};
|
90
95
|
|
91
96
|
var _default = TabPanes;
|
@@ -19,6 +19,7 @@ const TabWrapper = _ref => {
|
|
19
19
|
image,
|
20
20
|
title,
|
21
21
|
text,
|
22
|
+
disabled,
|
22
23
|
onStart,
|
23
24
|
children
|
24
25
|
} = _ref;
|
@@ -27,6 +28,7 @@ const TabWrapper = _ref => {
|
|
27
28
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ImageTab.default, {
|
28
29
|
image: image
|
29
30
|
}), /*#__PURE__*/_react.default.createElement(_Instructions.default, {
|
31
|
+
disabled: disabled,
|
30
32
|
title: title,
|
31
33
|
text: text,
|
32
34
|
onClick: onStart
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
7
|
|
8
|
-
require("core-js/modules/es.object.assign.js");
|
9
|
-
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
11
9
|
|
12
10
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
@@ -19,10 +17,18 @@ var _defaultConfig = _interopRequireDefault(require("../config/defaultConfig"));
|
|
19
17
|
|
20
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
21
19
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
21
|
+
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
23
|
+
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
25
|
+
|
22
26
|
class Widget {
|
23
27
|
constructor(container) {
|
24
28
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
25
|
-
|
29
|
+
|
30
|
+
const config = _objectSpread(_objectSpread({}, _defaultConfig.default), options);
|
31
|
+
|
26
32
|
const widgetContainer = document.querySelector(container);
|
27
33
|
if (!widgetContainer) throw new Error("\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0439\u0442\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442: #".concat(container));
|
28
34
|
config.containerElement = widgetContainer;
|
@@ -35,6 +41,14 @@ class Widget {
|
|
35
41
|
}), widgetContainer);
|
36
42
|
}
|
37
43
|
|
44
|
+
get options() {
|
45
|
+
return _store.default.config;
|
46
|
+
}
|
47
|
+
|
48
|
+
updateOptions(config) {
|
49
|
+
_store.default.setConfig(_objectSpread(_objectSpread({}, this.options), config));
|
50
|
+
}
|
51
|
+
|
38
52
|
}
|
39
53
|
|
40
54
|
var _default = Widget;
|
@@ -7,8 +7,6 @@ exports.default = void 0;
|
|
7
7
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
9
9
|
|
10
|
-
var _defaultJSON = _interopRequireDefault(require("./defaultJSON"));
|
11
|
-
|
12
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
11
|
|
14
12
|
const defaultConfig = {
|
@@ -16,12 +14,13 @@ const defaultConfig = {
|
|
16
14
|
tabPanes: true,
|
17
15
|
width: null,
|
18
16
|
height: null,
|
19
|
-
planImage:
|
20
|
-
topView:
|
21
|
-
topDownView:
|
22
|
-
rotationImages: [
|
23
|
-
panoramaImages: [
|
24
|
-
json:
|
17
|
+
planImage: null,
|
18
|
+
topView: null,
|
19
|
+
topDownView: null,
|
20
|
+
rotationImages: [],
|
21
|
+
panoramaImages: [],
|
22
|
+
json: null,
|
23
|
+
env: 'production'
|
25
24
|
};
|
26
25
|
var _default = defaultConfig;
|
27
26
|
exports.default = _default;
|
package/build/index.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
*,*:before,*:after{box-sizing:border-box;-webkit-box-sizing:border-box;margin:0;padding:0}html,body{font-size:20px}.widget-application{--vh: 100vh;width:100%;height:calc(100*var(--vh));overflow:hidden;position:relative;z-index:1}.widget-application *,.widget-application *:before,.widget-application *:after{font-family:"Lato",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline:none;font-weight:400;text-decoration:none}.widget-application .widget-close{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3;right:15px;top:15px;color:#000;background-color:#fad436;padding:5px 15px;border-radius:10px;font-size:.8rem;border:none;cursor:pointer}.widget-application .widget-close:hover{box-shadow:1px 1px 10px rgba(0,0,0,.15)}.widget-application .widget-tab{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px 30px 125px 30px}@media(max-width: 630px){.widget-application .widget-tab{padding:60px 15px 90px 15px}}.widget-application .widget-tab--panes-hidden{padding:60px 30px}.widget-application .widget-tab__image{max-width:100%;max-height:100%;object-fit:contain;display:block}.widget-application .widget-tab__threesixty{width:100%;height:100%;touch-action:none;-webkit-touch-action:none}.widget-application .widget-tab__threesixty-container{width:100% !important;height:100% !important;position:relative;cursor:move;background-image:none !important}.widget-application .widget-tab__threesixty-container img{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab--panorama .widget-tab__image,.widget-application .widget-tab--model .widget-tab__image{position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;object-fit:cover}.widget-application .widget-tab-panes{position:absolute;z-index:3;left:50%;bottom:5px;max-width:100%;padding:0 30px 15px 30px;transform:translateX(-50%);display:flex;align-items:center;justify-content:flex-start;overflow-x:auto}@media(max-width: 630px){.widget-application .widget-tab-panes{padding:0 15px 15px 15px}}.widget-application .widget-tab-panes .widget-tab-pane{width:85px;height:85px;border-radius:5px;margin:0 10px;background-color:#f4f7f7;cursor:pointer;border-width:3px;border-style:solid;border-color:#f4f7f7;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:none;transition:border .3s ease;position:relative;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}@media(max-width: 630px){.widget-application .widget-tab-panes .widget-tab-pane{width:50px;height:50px;margin:0 5px}}.widget-application .widget-tab-panes .widget-tab-pane::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;box-shadow:inset 1px 1px 10px rgba(0,0,0,.3)}.widget-application .widget-tab-panes .widget-tab-pane--active,.widget-application .widget-tab-panes .widget-tab-pane:hover{border-color:#fad436}.widget-application .widget-tab-panes .widget-tab-pane__image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.widget-application .widget-tab-panes .widget-tab-pane__icon{width:16px;height:16px;object-fit:contain;object-position:center;display:block;position:absolute;left:10px;bottom:8px}@media(max-width: 630px){.widget-application .widget-tab-panes .widget-tab-pane__icon{width:12px;height:12px;left:5px;bottom:3px}}.widget-application .widget-instructions{position:absolute;z-index:2;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.3)}.widget-application .widget-instructions__content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background-color:#fff;box-shadow:1px 1px 10px rgba(0,0,0,.5);border-radius:5px;overflow:hidden;width:350px}.widget-application .widget-instructions__head{width:100%;padding:10px;border-bottom:1px solid #d1d1d1;color:rgba(74,74,74,.7);text-align:center;font-size:.8rem}.widget-application .widget-instructions__body{width:100%;padding:10px;text-align:center;font-size:.7rem}.widget-application .widget-instructions__body p{margin:10px 0}.widget-application .widget-instructions__footer{width:100%}.widget-application .widget-instructions__footer button{width:100%;background-color:#fad436;font-size:.8rem;font-weight:500;text-align:center;color:#000;cursor:pointer;border:none;padding:10px 5px}/*# sourceMappingURL=index.css.map */
|
1
|
+
*,*:before,*:after{box-sizing:border-box;-webkit-box-sizing:border-box;margin:0;padding:0}html,body{font-size:20px}.widget-application{--vh: 100vh;width:100%;height:calc(100*var(--vh));overflow:hidden;position:relative;z-index:1}.widget-application *,.widget-application *:before,.widget-application *:after{font-family:"Lato",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline:none;font-weight:400;text-decoration:none}.widget-application .widget-close{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3;right:15px;top:15px;color:#000;background-color:#fad436;padding:5px 15px;border-radius:10px;font-size:.8rem;border:none;cursor:pointer}.widget-application .widget-close:hover{box-shadow:1px 1px 10px rgba(0,0,0,.15)}.widget-application .widget-tab{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px 30px 125px 30px}@media(max-width: 630px){.widget-application .widget-tab{padding:60px 15px 90px 15px}}.widget-application .widget-tab--panes-hidden{padding:60px 30px}.widget-application .widget-tab__image{max-width:100%;max-height:100%;object-fit:contain;display:block}.widget-application .widget-tab__threesixty{width:100%;height:100%;touch-action:none;-webkit-touch-action:none}.widget-application .widget-tab__threesixty-container{width:100% !important;height:100% !important;position:relative;cursor:move;background-image:none !important}.widget-application .widget-tab__threesixty-container img{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab--panorama .widget-tab__image,.widget-application .widget-tab--model .widget-tab__image{position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;object-fit:cover}.widget-application-menu{position:absolute;z-index:3;left:15px;top:15px;max-height:100%;overflow-y:auto;padding-bottom:30px}.widget-application-menu__wallpapers{display:flex;flex-wrap:wrap;align-items:flex-start;margin-top:10px;width:100%}.widget-application-menu__wallpapers img{width:30px;height:30px;display:block;object-fit:cover;cursor:pointer}.widget-application-menu ul{list-style-type:none}.widget-application-menu ul li{color:#000;background-color:#fad436;padding:5px 15px;border-radius:10px;font-size:.8rem;border:none;cursor:pointer;margin-bottom:15px;width:150px;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application-menu ul li:hover{box-shadow:1px 1px 10px rgba(0,0,0,.15)}.widget-application-menu ul li:nth-child(1){position:relative}.widget-application-menu ul li:nth-child(1)::after{content:"|||";transform:translateY(-50%) rotate(90deg);font-size:20px;line-height:20px;margin-left:10px;display:block;position:absolute;right:10px;top:50%}.widget-application .widget-tab-panes{position:absolute;z-index:3;left:50%;bottom:5px;max-width:100%;padding:0 30px 15px 30px;transform:translateX(-50%);display:flex;align-items:center;justify-content:flex-start;overflow-x:auto}@media(max-width: 630px){.widget-application .widget-tab-panes{padding:0 15px 15px 15px}}.widget-application .widget-tab-panes .widget-tab-pane{width:85px;height:85px;border-radius:5px;margin:0 10px;background-color:#f4f7f7;cursor:pointer;border-width:3px;border-style:solid;border-color:#f4f7f7;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:none;transition:border .3s ease;position:relative;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}@media(max-width: 630px){.widget-application .widget-tab-panes .widget-tab-pane{width:50px;height:50px;margin:0 5px}}.widget-application .widget-tab-panes .widget-tab-pane::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;box-shadow:inset 1px 1px 10px rgba(0,0,0,.3)}.widget-application .widget-tab-panes .widget-tab-pane--active,.widget-application .widget-tab-panes .widget-tab-pane:hover{border-color:#fad436}.widget-application .widget-tab-panes .widget-tab-pane__image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.widget-application .widget-tab-panes .widget-tab-pane__icon{width:16px;height:16px;object-fit:contain;object-position:center;display:block;position:absolute;left:10px;bottom:8px}@media(max-width: 630px){.widget-application .widget-tab-panes .widget-tab-pane__icon{width:12px;height:12px;left:5px;bottom:3px}}.widget-application .widget-instructions{position:absolute;z-index:2;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.3)}.widget-application .widget-instructions__content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background-color:#fff;box-shadow:1px 1px 10px rgba(0,0,0,.5);border-radius:5px;overflow:hidden;width:350px}.widget-application .widget-instructions__head{width:100%;padding:10px;border-bottom:1px solid #d1d1d1;color:rgba(74,74,74,.7);text-align:center;font-size:.8rem}.widget-application .widget-instructions__body{width:100%;padding:10px;text-align:center;font-size:.7rem}.widget-application .widget-instructions__body p{margin:10px 0}.widget-application .widget-instructions__footer{width:100%}.widget-application .widget-instructions__footer button{width:100%;background-color:#fad436;font-size:.8rem;font-weight:500;text-align:center;color:#000;cursor:pointer;border:none;padding:10px 5px}.widget-application .widget-tab__panorama{width:100%;height:100%;position:absolute;left:0;top:0}.widget-application .widget-tab__panorama-overlay{width:100%;height:100%;overflow:hidden}.widget-application .widget-tab__panorama-mode,.widget-application .widget-tab__panorama-standart{position:absolute;right:15px;bottom:20px;color:#000;background-color:#fad436;padding:5px 15px;border-radius:10px;font-size:1rem;font-weight:bold;border:none;cursor:pointer;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab__panorama-mode:hover,.widget-application .widget-tab__panorama-standart:hover{box-shadow:1px 1px 10px rgba(0,0,0,.15)}.widget-application .widget-tab__panorama-standart{right:100px}.widget-application .widget-tab__panorama-map{position:absolute;right:15px;bottom:70px;z-index:10000}.widget-application .widget-tab__panorama-map--hidden{display:none !important}.widget-application .widget-tab__panorama-map img{width:100px;border-radius:10px}.widget-application .widget-tab__panorama-map img.active{width:240px}.widget-application .widget-tab__panorama-map img:hover{box-shadow:1px 1px 10px rgba(0,0,0,.15)}.widget-application .widget-tab__panorama-map__dot{position:absolute;left:0;top:0;transform:translate(-50%, -50%);width:5px;height:5px;background-color:#fad436;border-radius:50%;cursor:pointer;z-index:10}.widget-application .widget-tab__panorama-map__dot--big{border:2px solid #fad436;box-shadow:inset 0 0 0 2px #fff;width:15px;height:15px}.widget-application .widget-tab__panorama-map__dot--active{background-color:red;border:2px solid red}.widget-loader{display:block;position:relative;width:80px;height:80px}.widget-loader--absolute{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.widget-loader div{position:absolute;top:33px;width:13px;height:13px;border-radius:50%;background:#fad436;animation-timing-function:cubic-bezier(0, 1, 1, 0)}.widget-loader div:nth-child(1){left:8px;animation:widget-loader-1 .6s infinite}.widget-loader div:nth-child(2){left:8px;animation:widget-loader-2 .6s infinite}.widget-loader div:nth-child(3){left:32px;animation:widget-loader-2 .6s infinite}.widget-loader div:nth-child(4){left:56px;animation:widget-loader-3 .6s infinite}@keyframes widget-loader-1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes widget-loader-3{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes widget-loader-2{0%{transform:translate(0, 0)}100%{transform:translate(24px, 0)}}.widget-application .widget-tab__model{width:100%;height:100%;position:absolute;left:0;top:0}.widget-application .widget-tab__model-scene{width:100%;height:100%;display:block}/*# sourceMappingURL=index.css.map */
|
package/build/index.css.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/assets/sass/index.sass","../src/assets/sass/vars.sass","../src/assets/sass/components/tabs.sass","../src/assets/sass/components/instructions.sass"],"names":[],"mappings":"AAEA,mBACE,sBACA,8BACA,SACA,UAEF,UACE,eAEF,oBACE,YAEA,WACA,2BACA,gBACA,kBACA,UAEA,+EACE,8BACA,mCACA,kCACA,aACA,gBACA,qBAEF,kCACE,kBACA,aACA,mBACA,uBACA,UACA,WACA,SACA,MC9BI,KD+BJ,iBC7BQ,QD8BR,iBACA,mBACA,gBACA,YACA,eACA,wCACE,wCEzCJ,gCACE,WACA,YACA,aACA,mBACA,uBACA,6BACA,yBAPF,gCAQI,6BACF,8CACE,kBACF,uCACE,eACA,gBACA,mBACA,cACF,4CACE,WACA,YACA,kBACA,0BACA,sDACE,sBACA,uBACA,kBACA,YACA,iCACA,0DACE,kBACA,SACA,QACA,gCACA,eACA,gBACA,mBD1BR,iBACA,yBACA,eACA,uBC2BI,uHACE,kBACA,UACA,OACA,MACA,WACA,YACA,iBAEN,sCACE,kBACA,UACA,SACA,WACA,eACA,yBACA,2BACA,aACA,mBACA,2BACA,gBACA,yBAZF,sCAaI,0BACF,uDACE,WACA,YACA,kBACA,cACA,
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/assets/sass/index.sass","../src/assets/sass/vars.sass","../src/assets/sass/components/tabs.sass","../src/assets/sass/components/instructions.sass","../src/assets/sass/components/panorama.sass","../src/assets/sass/components/loader.sass","../src/assets/sass/components/model.sass"],"names":[],"mappings":"AAEA,mBACE,sBACA,8BACA,SACA,UAEF,UACE,eAEF,oBACE,YAEA,WACA,2BACA,gBACA,kBACA,UAEA,+EACE,8BACA,mCACA,kCACA,aACA,gBACA,qBAEF,kCACE,kBACA,aACA,mBACA,uBACA,UACA,WACA,SACA,MC9BI,KD+BJ,iBC7BQ,QD8BR,iBACA,mBACA,gBACA,YACA,eACA,wCACE,wCEzCJ,gCACE,WACA,YACA,aACA,mBACA,uBACA,6BACA,yBAPF,gCAQI,6BACF,8CACE,kBACF,uCACE,eACA,gBACA,mBACA,cACF,4CACE,WACA,YACA,kBACA,0BACA,sDACE,sBACA,uBACA,kBACA,YACA,iCACA,0DACE,kBACA,SACA,QACA,gCACA,eACA,gBACA,mBD1BR,iBACA,yBACA,eACA,uBC2BI,uHACE,kBACA,UACA,OACA,MACA,WACA,YACA,iBAEN,yBACE,kBACA,UACA,UACA,SACA,gBACA,gBACA,oBACA,qCACE,aACA,eACA,uBACA,gBACA,WACA,yCACE,WACA,YACA,cACA,iBACA,eACJ,4BACE,qBACA,+BACE,MDnEA,KCoEA,iBDlEI,QCmEJ,iBACA,mBACA,gBACA,YACA,eACA,mBACA,YDtEN,iBACA,yBACA,eACA,uBCqEM,qCACE,wCACF,4CACE,kBACA,mDACE,cACA,yCACA,eACA,iBACA,iBACA,cACA,kBACA,WACA,QAEV,sCACE,kBACA,UACA,SACA,WACA,eACA,yBACA,2BACA,aACA,mBACA,2BACA,gBACA,yBAZF,sCAaI,0BACF,uDACE,WACA,YACA,kBACA,cACA,iBD9GM,QC+GN,eACA,iBACA,mBACA,aDlHM,QCmHN,gBACA,aACA,mBACA,uBACA,UACA,2BACA,kBDrHJ,iBACA,yBACA,eACA,uBCoHI,yBAlBF,uDAmBI,WACA,YACA,cACF,+DACE,WACA,kBACA,OACA,MACA,WACA,YACA,6CACF,4HAEE,aDxII,QCyIN,8DACE,WACA,YACA,iBACA,uBACA,cACF,6DACE,WACA,YACA,mBACA,uBACA,cACA,kBACA,UACA,WACA,yBATF,6DAUI,WACA,YACA,SACA,YCjKR,yCACE,kBACA,UACA,OACA,MACA,WACA,YACA,aACA,mBACA,uBACA,gCACA,kDACE,aACA,sBACA,uBACA,2BACA,iBFdE,KEeF,uCACA,kBACA,gBACA,YACF,+CACE,WACA,aACA,gCACA,wBACA,kBACA,gBACF,+CACE,WACA,aACA,kBACA,gBACA,iDACE,cACJ,iDACE,WACA,wDACE,WACA,iBFlCI,QEmCJ,gBACA,gBACA,kBACA,WACA,eACA,YACA,iBC7CJ,0CACE,WACA,YACA,kBACA,OACA,MACA,kDACE,WACA,YACA,gBACF,kGAEE,kBACA,WACA,YACA,MHbA,KGcA,iBHZI,QGaJ,iBACA,mBACA,eACA,iBACA,YACA,eHfN,iBACA,yBACA,eACA,uBGcM,8GACE,wCACJ,mDACE,YACF,8CACE,kBACA,WACA,YACA,cACA,sDACE,wBACF,kDACE,YACA,mBACA,yDACE,YACF,wDACE,wCACJ,mDACE,kBACA,OACA,MACA,gCACA,UACA,WACA,iBH7CE,QG8CF,kBACA,eACA,WACA,wDACE,yBACA,gCACA,WACA,YACF,2DACE,qBACA,qBC9DZ,eACE,cACA,kBACA,WACA,YACA,yBACE,kBACA,SACA,QACA,gCACF,mBACE,kBACA,SACA,WACA,YACA,kBACA,WJVQ,QIWR,mDACA,gCACE,SACA,uCACF,gCACE,SACA,uCACF,gCACE,UACA,uCACF,gCACE,UACA,uCAEN,2BACE,GACE,mBACF,KACE,oBAEJ,2BACE,GACE,mBACF,KACE,oBAEJ,2BACE,GACE,0BAEF,KACE,8BC9CA,uCACE,WACA,YACA,kBACA,OACA,MACA,6CACE,WACA,YACA","file":"index.css"}
|
package/build/index.js
CHANGED
@@ -3,6 +3,12 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
+
Object.defineProperty(exports, "ApiStore", {
|
7
|
+
enumerable: true,
|
8
|
+
get: function get() {
|
9
|
+
return _apiStore.default;
|
10
|
+
}
|
11
|
+
});
|
6
12
|
Object.defineProperty(exports, "ImageTab", {
|
7
13
|
enumerable: true,
|
8
14
|
get: function get() {
|
@@ -15,6 +21,18 @@ Object.defineProperty(exports, "Instructions", {
|
|
15
21
|
return _Instructions.default;
|
16
22
|
}
|
17
23
|
});
|
24
|
+
Object.defineProperty(exports, "Loader", {
|
25
|
+
enumerable: true,
|
26
|
+
get: function get() {
|
27
|
+
return _Loader.default;
|
28
|
+
}
|
29
|
+
});
|
30
|
+
Object.defineProperty(exports, "ModelTab", {
|
31
|
+
enumerable: true,
|
32
|
+
get: function get() {
|
33
|
+
return _ModelTab.default;
|
34
|
+
}
|
35
|
+
});
|
18
36
|
Object.defineProperty(exports, "PanoramaTab", {
|
19
37
|
enumerable: true,
|
20
38
|
get: function get() {
|
@@ -54,4 +72,10 @@ var _PanoramaTab = _interopRequireDefault(require("./components/PanoramaTab"));
|
|
54
72
|
|
55
73
|
var _TabWrapper = _interopRequireDefault(require("./components/TabWrapper"));
|
56
74
|
|
75
|
+
var _ModelTab = _interopRequireDefault(require("./components/ModelTab"));
|
76
|
+
|
77
|
+
var _Loader = _interopRequireDefault(require("./components/Loader"));
|
78
|
+
|
79
|
+
var _apiStore = _interopRequireDefault(require("./store/apiStore"));
|
80
|
+
|
57
81
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -0,0 +1,63 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
require("core-js/modules/es.promise.js");
|
9
|
+
|
10
|
+
require("core-js/modules/es.array.reduce.js");
|
11
|
+
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
13
|
+
|
14
|
+
var _mobx = require("mobx");
|
15
|
+
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
|
+
|
18
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
19
|
+
|
20
|
+
(0, _mobx.configure)({
|
21
|
+
useProxies: 'never'
|
22
|
+
});
|
23
|
+
|
24
|
+
class ApiStore {
|
25
|
+
constructor() {
|
26
|
+
let env = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'production';
|
27
|
+
|
28
|
+
_defineProperty(this, "PRODUCTION_API_URL", 'https://backend.estate.myhart.ru');
|
29
|
+
|
30
|
+
_defineProperty(this, "STAGE_API_URL", 'https://backend-stage.estate.myhart.ru');
|
31
|
+
|
32
|
+
_defineProperty(this, "env", null);
|
33
|
+
|
34
|
+
_defineProperty(this, "loadFurnitureData", async furniture => {
|
35
|
+
const furnitureQuery = furniture.reduce((acc, item, i) => acc += "".concat(i === 0 ? '' : ',').concat(item.Model), '');
|
36
|
+
const path = "".concat(this.API_URL, "/api/furniture?only=").concat(furnitureQuery);
|
37
|
+
const response = await fetch(path);
|
38
|
+
return await response.json();
|
39
|
+
});
|
40
|
+
|
41
|
+
_defineProperty(this, "loadWidgetData", async planId => {
|
42
|
+
const path = "".concat(this.API_URL, "/api/plans/").concat(planId, "/widget");
|
43
|
+
const response = await fetch(path);
|
44
|
+
return await response.json();
|
45
|
+
});
|
46
|
+
|
47
|
+
_defineProperty(this, "loadJson", async path => {
|
48
|
+
const response = await fetch(path);
|
49
|
+
return await response.json();
|
50
|
+
});
|
51
|
+
|
52
|
+
(0, _mobx.makeAutoObservable)(this);
|
53
|
+
this.env = env;
|
54
|
+
}
|
55
|
+
|
56
|
+
get API_URL() {
|
57
|
+
return this.env === 'stage' ? this.STAGE_API_URL : this.PRODUCTION_API_URL;
|
58
|
+
}
|
59
|
+
|
60
|
+
}
|
61
|
+
|
62
|
+
var _default = ApiStore;
|
63
|
+
exports.default = _default;
|