hart-estate-widget 0.0.53 → 0.0.56

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.
@@ -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;background-color:#fff}.widget-application *,.widget-application *:before,.widget-application *:after{font-family:"Roboto Mono",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline:none;font-weight:700;text-decoration:none;color:#413e3e}.widget-application .widget-logo{position:absolute;left:45px;top:30px;z-index:3}@media only screen and (max-width: 900px){.widget-application .widget-logo{left:20px;top:20px}}.widget-application .widget-logo img{display:block;width:82px;height:82px;object-fit:contain;object-position:center}@media only screen and (max-width: 900px){.widget-application .widget-logo img{width:65px;height:65px}}.widget-application .widget-enter-fullscreen,.widget-application .widget-exit-fullscreen{position:absolute;right:45px;top:36px;z-index:3;ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;padding:10px}@media only screen and (max-width: 900px){.widget-application .widget-enter-fullscreen,.widget-application .widget-exit-fullscreen{right:20px;top:20px}}.widget-application .widget-enter-fullscreen img,.widget-application .widget-exit-fullscreen img{display:block;width:50px;height:50px;object-fit:contain;object-position:center}@media only screen and (max-width: 900px){.widget-application .widget-enter-fullscreen img,.widget-application .widget-exit-fullscreen img{width:40px;height:40px}}.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:#fac62d;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-buttons{position:absolute;z-index:3;right:44px;bottom:35px;display:flex;align-items:center;justify-content:flex-end}@media only screen and (max-width: 900px){.widget-application .widget-tab-buttons{flex-direction:column;right:20px;bottom:20px}}.widget-application .widget-tab-button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#eaeaea;color:#413e3e;font-size:28px;line-height:120%;font-weight:bold;margin-left:40px}@media only screen and (max-width: 900px){.widget-application .widget-tab-button{width:60px;height:60px;font-size:24px;margin-left:0px;margin-top:20px}}@media only screen and (max-width: 545px){.widget-application .widget-tab-button{margin-top:10px}}.widget-application .widget-tab-button--active{background-color:#fac62d}.widget-application .widget-tab{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px 30px}@media(max-width: 630px){.widget-application .widget-tab{padding:60px 15px}}.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-start{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;position:absolute;left:50%;bottom:35px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;padding:0 30px 0 27px;background-color:#eaeaea;border-radius:38px;height:72px}@media only screen and (max-width: 900px){.widget-application .widget-tab__threesixty-start{height:60px;width:60px;padding:0;left:20px;bottom:20px;transform:none}}.widget-application .widget-tab__threesixty-start img{display:block;margin-right:20px;position:relative;top:2px}@media only screen and (max-width: 900px){.widget-application .widget-tab__threesixty-start img{width:30px;margin-right:0}}.widget-application .widget-tab__threesixty-start span{font-size:24px;font-weight:bold;color:#413e3e;text-transform:uppercase}@media only screen and (max-width: 900px){.widget-application .widget-tab__threesixty-start span{display:none}}.widget-application .widget-tab__threesixty-container{width:100% !important;height:100% !important;position:relative;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%;width:600px;height:600px;object-fit:contain;opacity:0;pointer-events:none;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab__threesixty-container img.active{opacity:1}.widget-application .widget-tab__threesixty--active .widget-tab__threesixty-container{cursor:move}.widget-application .widget-tab-menu{position:absolute;z-index:3;left:15px;top:15px;max-height:100%;overflow-y:auto;padding-bottom:30px}.widget-application .widget-tab-menu__wallpapers{display:flex;flex-wrap:wrap;align-items:flex-start;margin-top:10px;width:100%}.widget-application .widget-tab-menu__wallpapers img{width:30px;height:30px;display:block;object-fit:cover;cursor:pointer;margin-right:10px;margin-block-end:10px}.widget-application .widget-tab-menu ul{list-style-type:none}.widget-application .widget-tab-menu ul li{color:#000;background-color:#fac62d;padding:5px 15px;border-radius:10px;font-size:.7rem;border:none;cursor:pointer;margin-bottom:15px;width:200px;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab-menu ul li label{display:flex;cursor:inherit;width:100%}.widget-application .widget-tab-menu ul li input[type=color]{cursor:pointer;margin-left:auto;width:50px;height:20px;border:0;border-radius:5px}.widget-application .widget-tab-menu ul li input[type=color]::-webkit-color-swatch-wrapper{display:none !important}.widget-application .widget-tab-menu ul li input[type=file]{display:none}.widget-application .widget-tab-menu ul li:nth-child(1){position:relative}.widget-application .widget-tab-menu ul li:nth-child(1)::after{--bar-width: 2px;content:"";width:20px;height:15px;display:block;background:repeating-linear-gradient(180deg, #000000, #000000 var(--bar-width), rgba(0, 0, 0, 0) var(--bar-width), rgba(0, 0, 0, 0) calc(var(--bar-width) * 3));position:absolute;right:10px;top:50%;transform:translateY(-50%)}.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-position:center;background-repeat:no-repeat;background-size:cover}.widget-application .widget-instructions__content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background-color:rgba(234,234,234,.85);border-radius:20px;overflow:hidden;width:400px;max-width:calc(100% - 60px);padding:36px 30px 30px 30px;backdrop-filter:blur(5px);-moz-backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.widget-application .widget-instructions__steps{display:flex;align-items:flex-start;justify-content:center}.widget-application .widget-instructions__step{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin:0 15px}@media only screen and (max-width: 900px){.widget-application .widget-instructions__step{margin:0 10px}}.widget-application .widget-instructions__step img{display:block;width:52px;height:80px;object-fit:contain;object-position:center}.widget-application .widget-instructions__step p{color:#413e3e;font-size:20px;font-weight:bold;text-align:center;margin-top:10px;max-width:135px}@media only screen and (max-width: 900px){.widget-application .widget-instructions__step p{font-size:18px}}.widget-application .widget-instructions button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;height:44px;padding:0 33px;border-radius:52px;background-color:#fac62d;color:#413e3e;font-size:24px;font-weight:bold;text-transform:uppercase;margin:25px auto 0 auto}.widget-application .widget-tab__panorama{width:100%;height:100%;position:absolute;left:0;top:0;z-index:2}.widget-application .widget-tab__panorama-overlay{width:100%;height:100%;overflow:hidden;background:#fff !important}.widget-application .widget-tab__panorama-overlay *{display:none !important}.widget-application .widget-tab__panorama-overlay canvas{display:block !important}.widget-application .widget-tab__panorama-controls{position:absolute;z-index:2;left:50%;bottom:35px;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:38px;background-color:rgba(0,0,0,.2);transform:translateX(-50%);backdrop-filter:blur(5px);-moz-backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-controls{bottom:20px}}.widget-application .widget-tab__panorama-controls-button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;width:55px;height:55px;border-radius:50%;background-color:#fff;display:flex;align-items:center;justify-content:center;margin-right:18px}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-controls-button{width:40px;height:40px}}@media only screen and (max-width: 545px){.widget-application .widget-tab__panorama-controls-button{margin-right:13px}}.widget-application .widget-tab__panorama-controls-button img{display:block}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-controls-button img{transform:scale(0.7)}}.widget-application .widget-tab__panorama-controls-button:nth-last-child(1){margin-right:0}.widget-application .widget-tab__panorama-map{position:absolute;left:45px;bottom:35px;z-index:3;border-radius:10px;border:8px solid #fff;background-color:#fff;opacity:1;transition:opacity .5s}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-map{left:20px;bottom:20px;transform:scale(0.6);transform-origin:0% 100%}.widget-application .widget-tab__panorama-map svg polygon{opacity:0}.widget-application .widget-tab__panorama-map--scaled{transform:scale(1) !important}.widget-application .widget-tab__panorama-map--scaled svg polygon:active{opacity:.3 !important}}@media only screen and (max-width: 545px){.widget-application .widget-tab__panorama-map{transform:scale(0.4)}}.widget-application .widget-tab__panorama-map--hidden{opacity:0;pointer-events:none}.widget-application .widget-tab__panorama-map img{width:195px;border-radius:none;display:block;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab__panorama-map img:hover{box-shadow:1px 1px 10px rgba(0,0,0,.15)}.widget-application .widget-tab__panorama-map svg{position:absolute;left:0;top:0;width:195px;height:100%;z-index:3;display:block;border-radius:inherit}.widget-application .widget-tab__panorama-map svg polygon{opacity:0;fill:#fac62d;cursor:pointer}.widget-application .widget-tab__panorama-map svg polygon:hover{opacity:.3}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-map svg polygon:hover{opacity:0}}.widget-application .widget-tab__panorama-map__fov{position:absolute;left:0;top:0;width:0px;height:0px;border-radius:50%;border:30px solid rgba(0,0,0,0);border-top:40px solid rgba(250,198,45,.4);transform:translate(-50%, -50%) rotate(0rad);transform-origin:50% 50%;z-index:4;pointer-events:none}.widget-application .widget-tab__panorama-map__fov::before{content:"";position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%, -50%) translateY(-5px);width:15px;height:15px;background-color:#fac62d;border-radius:50%;border:2px solid #fac62d;box-shadow:inset 0 0 0 2px #fff}.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--sm{transform:translate(-50%, -50%) scale(0.75)}.widget-loader div{position:absolute;top:33px;width:13px;height:13px;border-radius:50%;background:#fac62d;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;z-index:2}.widget-application .widget-tab__model-scene{width:100%;height:100%;display:block}.widget-application .widget-tab__model-joystick{position:absolute;left:100px;bottom:100px;opacity:0;pointer-events:none}@media only screen and (max-width: 545px){.widget-application .widget-tab__model-joystick{left:50%;transform:translateX(-50%)}}.widget-application .widget-tab__model-joystick--active{opacity:1;pointer-events:unset}/*# sourceMappingURL=app.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;background-color:#fff}.widget-application *,.widget-application *:before,.widget-application *:after{font-family:"Roboto Mono",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline:none;font-weight:700;text-decoration:none;color:#413e3e}.widget-application .widget-logo{position:absolute;left:45px;top:30px;z-index:3}@media only screen and (max-width: 900px){.widget-application .widget-logo{left:20px;top:20px}}.widget-application .widget-logo img{display:block;width:82px;height:82px;object-fit:contain;object-position:center}@media only screen and (max-width: 900px){.widget-application .widget-logo img{width:65px;height:65px}}@media only screen and (max-width: 545px){.widget-application .widget-logo img{width:40px;height:40px}}.widget-application .widget-enter-fullscreen,.widget-application .widget-exit-fullscreen{position:absolute;right:45px;top:36px;z-index:3;ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;padding:10px}@media only screen and (max-width: 900px){.widget-application .widget-enter-fullscreen,.widget-application .widget-exit-fullscreen{right:20px;top:23px}}@media only screen and (max-width: 545px){.widget-application .widget-enter-fullscreen,.widget-application .widget-exit-fullscreen{padding:5px}}.widget-application .widget-enter-fullscreen img,.widget-application .widget-exit-fullscreen img{display:block;width:50px;height:50px;object-fit:contain;object-position:center}@media only screen and (max-width: 900px){.widget-application .widget-enter-fullscreen img,.widget-application .widget-exit-fullscreen img{width:40px;height:40px}}@media only screen and (max-width: 545px){.widget-application .widget-enter-fullscreen img,.widget-application .widget-exit-fullscreen img{width:30px;height:30px}}.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:#fac62d;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-buttons{position:absolute;z-index:3;right:44px;bottom:35px;display:flex;align-items:center;justify-content:flex-end}@media only screen and (max-width: 900px){.widget-application .widget-tab-buttons{flex-direction:column;right:20px;bottom:20px}}.widget-application .widget-tab-button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#eaeaea;color:#413e3e;font-size:28px;line-height:120%;font-weight:bold;margin-left:40px}@media only screen and (max-width: 900px){.widget-application .widget-tab-button{width:60px;height:60px;font-size:24px;margin-left:0px;margin-top:20px}}@media only screen and (max-width: 545px){.widget-application .widget-tab-button{margin-top:15px;font-size:18px;width:45px;height:45px}}.widget-application .widget-tab-button--active{background-color:#fac62d}.widget-application .widget-tab{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px 30px}@media(max-width: 630px){.widget-application .widget-tab{padding:60px 15px}}.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-start{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;position:absolute;left:50%;bottom:35px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;padding:0 30px 0 27px;background-color:#eaeaea;border-radius:38px;height:72px}@media only screen and (max-width: 900px){.widget-application .widget-tab__threesixty-start{height:60px;width:60px;padding:0;left:20px;bottom:20px;transform:none}}@media only screen and (max-width: 545px){.widget-application .widget-tab__threesixty-start{width:45px;height:45px}}.widget-application .widget-tab__threesixty-start img{display:block;margin-right:20px;position:relative;top:2px}@media only screen and (max-width: 900px){.widget-application .widget-tab__threesixty-start img{top:0;width:30px;margin-right:0}}@media only screen and (max-width: 545px){.widget-application .widget-tab__threesixty-start img{width:20px}}.widget-application .widget-tab__threesixty-start span{font-size:24px;font-weight:bold;color:#413e3e;text-transform:uppercase}@media only screen and (max-width: 900px){.widget-application .widget-tab__threesixty-start span{display:none}}.widget-application .widget-tab__threesixty-container{width:100% !important;height:100% !important;position:relative;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%;width:600px;height:600px;object-fit:contain;opacity:0;pointer-events:none;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab__threesixty-container img.active{opacity:1}.widget-application .widget-tab__threesixty--active .widget-tab__threesixty-container{cursor:move}.widget-application .widget-tab-menu{position:absolute;z-index:3;left:15px;top:15px;max-height:100%;overflow-y:auto;padding-bottom:30px}.widget-application .widget-tab-menu__wallpapers{display:flex;flex-wrap:wrap;align-items:flex-start;margin-top:10px;width:100%}.widget-application .widget-tab-menu__wallpapers img{width:30px;height:30px;display:block;object-fit:cover;cursor:pointer;margin-right:10px;margin-block-end:10px}.widget-application .widget-tab-menu ul{list-style-type:none}.widget-application .widget-tab-menu ul li{color:#413e3e;background-color:#fac62d;padding:5px 15px;border-radius:10px;font-size:.7rem;border:none;cursor:pointer;margin-bottom:15px;width:200px;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab-menu ul li label{display:flex;cursor:inherit;width:100%}.widget-application .widget-tab-menu ul li input[type=color]{cursor:pointer;margin-left:auto;width:50px;height:20px;border:0;border-radius:5px}.widget-application .widget-tab-menu ul li input[type=color]::-webkit-color-swatch-wrapper{display:none !important}.widget-application .widget-tab-menu ul li input[type=file]{display:none}.widget-application .widget-tab-menu ul li:nth-child(1){position:relative}.widget-application .widget-tab-menu ul li:nth-child(1)::after{--bar-width: 2px;content:"";width:20px;height:15px;display:block;background:repeating-linear-gradient(180deg, #000000, #000000 var(--bar-width), rgba(0, 0, 0, 0) var(--bar-width), rgba(0, 0, 0, 0) calc(var(--bar-width) * 3));position:absolute;right:10px;top:50%;transform:translateY(-50%)}.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-position:center;background-repeat:no-repeat;background-size:cover}.widget-application .widget-instructions__content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background-color:rgba(234,234,234,.85);border-radius:20px;overflow:hidden;width:400px;max-width:calc(100% - 60px);padding:36px 30px 30px 30px;backdrop-filter:blur(5px);-moz-backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}@media only screen and (max-width: 545px){.widget-application .widget-instructions__content{width:280px;padding:26px 20px 20px 20px}}.widget-application .widget-instructions__steps{display:flex;align-items:flex-start;justify-content:center}.widget-application .widget-instructions__step{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin:0 15px}@media only screen and (max-width: 900px){.widget-application .widget-instructions__step{margin:0 10px}}.widget-application .widget-instructions__step img{display:block;width:52px;height:80px;object-fit:contain;object-position:center}@media only screen and (max-width: 545px){.widget-application .widget-instructions__step img{width:40px;height:60px}}.widget-application .widget-instructions__step p{color:#413e3e;font-size:20px;font-weight:bold;text-align:center;margin-top:10px;max-width:130px}@media only screen and (max-width: 900px){.widget-application .widget-instructions__step p{font-size:18px;max-width:115px}}@media only screen and (max-width: 545px){.widget-application .widget-instructions__step p{font-size:16px}}.widget-application .widget-instructions button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;height:44px;padding:0 33px;border-radius:52px;background-color:#fac62d;color:#413e3e;font-size:24px;font-weight:bold;text-transform:uppercase;margin:25px auto 0 auto}@media only screen and (max-width: 900px){.widget-application .widget-instructions button{font-size:18px;height:40px}}@media only screen and (max-width: 545px){.widget-application .widget-instructions button{font-size:16px;height:35px}}.widget-application .widget-tab__panorama{width:100%;height:100%;position:absolute;left:0;top:0;z-index:2}.widget-application .widget-tab__panorama-overlay{width:100%;height:100%;overflow:hidden;background:#fff !important}.widget-application .widget-tab__panorama-overlay *{display:none !important}.widget-application .widget-tab__panorama-overlay canvas{display:block !important}.widget-application .widget-tab__panorama-controls{position:absolute;z-index:2;left:50%;bottom:35px;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:38px;background-color:rgba(0,0,0,.2);transform:translateX(-50%);backdrop-filter:blur(5px);-moz-backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-controls{bottom:20px}}@media only screen and (max-width: 545px){.widget-application .widget-tab__panorama-controls{padding:5px}}.widget-application .widget-tab__panorama-controls-button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;width:55px;height:55px;border-radius:50%;background-color:#fff;display:flex;align-items:center;justify-content:center;margin-right:18px}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-controls-button{width:40px;height:40px}}@media only screen and (max-width: 545px){.widget-application .widget-tab__panorama-controls-button{margin-right:13px;width:35px;height:35px}}.widget-application .widget-tab__panorama-controls-button img{display:block}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-controls-button img{transform:scale(0.7)}}@media only screen and (max-width: 545px){.widget-application .widget-tab__panorama-controls-button img{transform:scale(0.55)}}.widget-application .widget-tab__panorama-controls-button:nth-last-child(1){margin-right:0}.widget-application .widget-tab__panorama-map{position:absolute;left:45px;bottom:35px;z-index:3;border-radius:10px;border:8px solid #fff;background-color:#fff;opacity:1;transition:opacity .5s}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-map{left:20px;bottom:20px;transform:scale(0.6);transform-origin:0% 100%}.widget-application .widget-tab__panorama-map svg polygon{opacity:0}.widget-application .widget-tab__panorama-map--scaled{transform:scale(1) !important}.widget-application .widget-tab__panorama-map--scaled svg polygon:active{opacity:.3 !important}}@media only screen and (max-width: 545px){.widget-application .widget-tab__panorama-map{transform:scale(0.4)}}.widget-application .widget-tab__panorama-map--hidden{opacity:0;pointer-events:none}.widget-application .widget-tab__panorama-map img{width:195px;border-radius:none;display:block;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none;-webkit-backface-visibility:hidden;-ms-transform:translateZ(0);-webkit-transform:translateZ(0);transform:translateZ(0)}.widget-application .widget-tab__panorama-map img:hover{box-shadow:1px 1px 10px rgba(0,0,0,.15)}.widget-application .widget-tab__panorama-map svg{position:absolute;left:0;top:0;width:195px;height:100%;z-index:3;display:block;border-radius:inherit}.widget-application .widget-tab__panorama-map svg polygon{opacity:0;fill:#fac62d;cursor:pointer}.widget-application .widget-tab__panorama-map svg polygon:hover{opacity:.3}@media only screen and (max-width: 900px){.widget-application .widget-tab__panorama-map svg polygon:hover{opacity:0}}.widget-application .widget-tab__panorama-map__fov{position:absolute;left:0;top:0;width:0px;height:0px;border-radius:50%;border-left:30px solid rgba(250,198,45,0);border-right:30px solid rgba(250,198,45,0);border-bottom:30px solid rgba(250,198,45,0);border-top:40px solid rgba(250,198,45,.4);transform:translate(-50%, -50%) rotate(0rad);transform-origin:50% 50%;z-index:4;pointer-events:none}.widget-application .widget-tab__panorama-map__fov::before{content:"";position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%, -50%) translateY(-5px);width:15px;height:15px;background-color:#fac62d;border-radius:50%;border:2px solid #fac62d;box-shadow:inset 0 0 0 2px #fff}.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--sm{transform:translate(-50%, -50%) scale(0.75)}.widget-loader div{position:absolute;top:33px;width:13px;height:13px;border-radius:50%;background:#fac62d;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;z-index:2}.widget-application .widget-tab__model-scene{width:100%;height:100%;display:block}.widget-application .widget-tab__model-joystick{position:absolute;left:100px;bottom:100px;opacity:0;pointer-events:none}@media only screen and (max-width: 545px){.widget-application .widget-tab__model-joystick{left:50%;transform:translateX(-50%)}}.widget-application .widget-tab__model-joystick--active{opacity:1;pointer-events:unset}/*# sourceMappingURL=app.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/assets/sass/index.sass","../../../src/assets/sass/vars.sass","../../../src/assets/sass/mixin.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":"AAGA,mBACE,sBACA,8BACA,SACA,UAEF,UACE,eAEF,oBACE,YAEA,WACA,2BACA,gBACA,kBACA,UACA,iBCfM,KDiBN,+EACE,qCACA,mCACA,kCACA,aACA,gBACA,qBACA,MClBQ,QDoBV,iCACE,kBACA,UACA,SACA,UACA,0CALF,iCAMI,UACA,UACF,qCACE,cACA,WACA,YACA,mBACA,uBACA,0CANF,qCAOI,WACA,aAEN,yFAEE,kBACA,WACA,SACA,UErDF,YACA,YACA,gBACA,yBACA,eFmDE,aACA,0CARF,yFASI,WACA,UACF,iGACE,cACA,WACA,YACA,mBACA,uBACA,0CANF,iGAOI,WACA,aAEN,kCACE,kBACA,aACA,mBACA,uBACA,UACA,WACA,SACA,MCxEI,KDyEJ,iBCtEQ,QDuER,iBACA,mBACA,gBACA,YACA,eACA,wCACE,wCGlFJ,wCACE,kBACA,UACA,WACA,YACA,aACA,mBACA,yBACA,0CARF,wCASI,sBACA,WACA,aACJ,uCDfA,YACA,YACA,gBACA,yBACA,eCaE,WACA,YACA,kBACA,aACA,mBACA,uBACA,iBFjBG,QEkBH,MFdQ,QEeR,eACA,iBACA,iBACA,iBACA,0CAdF,uCAeI,WACA,YACA,eACA,gBACA,iBACF,0CApBF,uCAqBI,iBACF,+CACE,iBF9BM,QEgCV,gCACE,WACA,YACA,aACA,mBACA,uBACA,kBACA,yBAPF,gCAQI,mBACF,uCACE,eACA,gBACA,mBACA,cACF,4CACE,WACA,YACA,kBACA,0BACA,kDD3DJ,YACA,YACA,gBACA,yBACA,eCyDM,kBACA,SACA,YACA,2BACA,aACA,mBACA,uBACA,sBACA,iBF/DD,QEgEC,mBACA,YACA,0CAbF,kDAcI,YACA,WACA,UACA,UACA,YACA,gBACF,sDACE,cACA,kBACA,kBACA,QACA,0CALF,sDAMI,WACA,gBACJ,uDACE,eACA,iBACA,MFhFE,QEiFF,yBACA,0CALF,uDAMI,cACN,sDACE,sBACA,uBACA,kBACA,iCACA,0DACE,kBACA,SACA,QACA,gCACA,eACA,gBACA,YACA,aACA,mBACA,UACA,oBFjGR,iBACA,yBACA,eACA,uBEgGQ,iEACE,UAEJ,sFACE,YAEN,qCACE,kBACA,UACA,UACA,SACA,gBACA,gBACA,oBACA,iDACE,aACA,eACA,uBACA,gBACA,WACA,qDACE,WACA,YACA,cACA,iBACA,eACA,kBACA,sBACJ,wCACE,qBACA,2CACE,MF1IF,KE2IE,iBFxIE,QEyIF,iBACA,mBACA,gBACA,YACA,eACA,mBACA,YF1IR,iBACA,yBACA,eACA,uBEyIQ,iDACE,aACA,eACA,WAEA,6DACE,eACA,iBACA,WACA,YACA,SACA,kBACA,2FACE,wBACJ,4DACE,aACJ,wDACE,kBACA,+DACE,iBACA,WACA,WACA,YACA,cACA,gKACA,kBACA,WACA,QACA,2BClLZ,yCACE,kBACA,UACA,OACA,MACA,WACA,YACA,aACA,mBACA,uBACA,2BACA,4BACA,sBAEA,kDACE,aACA,sBACA,mBACA,2BACA,uCACA,mBACA,gBACA,YACA,4BACA,4BFpBJ,0BACA,+BACA,kCEoBE,gDACE,aACA,uBACA,uBACF,+CACE,aACA,sBACA,mBACA,2BACA,cACA,0CANF,+CAOI,eACF,mDACE,cACA,WACA,YACA,mBACA,uBACF,iDACE,MHtCI,QGuCJ,eACA,iBACA,kBACA,gBACA,gBACA,0CAPF,iDAQI,gBACN,gDFxDF,YACA,YACA,gBACA,yBACA,eEsDI,aACA,mBACA,uBACA,YACA,eACA,mBACA,iBHxDM,QGyDN,MHvDM,QGwDN,eACA,iBACA,yBACA,wBCjEF,0CACE,WACA,YACA,kBACA,OACA,MACA,UACA,kDACE,WACA,YACA,gBACA,2BACA,oDACE,wBACF,yDACE,yBACJ,mDACE,kBACA,UACA,SACA,YACA,aACA,mBACA,uBACA,YACA,mBACA,gCACA,2BHxBN,0BACA,+BACA,kCGwBM,0CAbF,mDAcI,aACF,0DHnCN,YACA,YACA,gBACA,yBACA,eGiCQ,WACA,YACA,kBACA,iBJpCF,KIqCE,aACA,mBACA,uBACA,kBACA,0CAVF,0DAWI,WACA,aACF,0CAbF,0DAcI,mBACF,8DACE,cACA,0CAFF,8DAGI,sBACJ,4EACE,eACN,8CACE,kBACA,UACA,YACA,UACA,mBACA,sBACA,iBJ3DA,KI4DA,UACA,uBACA,0CAVF,8CAWI,UACA,YACA,qBACA,yBAEE,0DACE,UACJ,sDACE,8BAGI,yEACE,uBACV,0CAxBF,8CAyBI,sBACF,sDACE,UACA,oBACF,kDACE,YACA,mBACA,cJ3ER,iBACA,yBACA,eACA,uBI0EQ,wDACE,wCACJ,kDACE,kBACA,OACA,MACA,YACA,YACA,UACA,cACA,sBACA,0DACE,UACA,KJ/FA,QIgGA,eACA,gEACE,WACA,0CAFF,gEAGI,WACR,mDACE,kBACA,OACA,MACA,UACA,WACA,kBACA,gCACA,0CACA,6CACA,yBACA,UACA,oBACA,2DACE,WACA,kBACA,UACA,SACA,QACA,iDACA,WACA,YACA,iBJ3HA,QI4HA,kBACA,yBACA,gCCrIZ,eACE,cACA,kBACA,WACA,YACA,yBACE,kBACA,SACA,QACA,gCACF,mBACE,4CACF,mBACE,kBACA,SACA,WACA,YACA,kBACA,WLXQ,QKYR,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,8BChDA,uCACE,WACA,YACA,kBACA,OACA,MACA,UACA,6CACE,WACA,YACA,cACF,gDACE,kBACA,WACA,aACA,UACA,oBACA,0CANF,gDAOI,SACA,4BACF,wDACE,UACA","file":"app.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/assets/sass/index.sass","../../../src/assets/sass/vars.sass","../../../src/assets/sass/mixin.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":"AAGA,mBACE,sBACA,8BACA,SACA,UAEF,UACE,eAEF,oBACE,YAEA,WACA,2BACA,gBACA,kBACA,UACA,iBCfM,KDiBN,+EACE,qCACA,mCACA,kCACA,aACA,gBACA,qBACA,MClBQ,QDoBV,iCACE,kBACA,UACA,SACA,UACA,0CALF,iCAMI,UACA,UACF,qCACE,cACA,WACA,YACA,mBACA,uBACA,0CANF,qCAOI,WACA,aACF,0CATF,qCAUI,WACA,aAEN,yFAEE,kBACA,WACA,SACA,UExDF,YACA,YACA,gBACA,yBACA,eFsDE,aACA,0CARF,yFASI,WACA,UACF,0CAXF,yFAYI,aACF,iGACE,cACA,WACA,YACA,mBACA,uBACA,0CANF,iGAOI,WACA,aACF,0CATF,iGAUI,WACA,aAEN,kCACE,kBACA,aACA,mBACA,uBACA,UACA,WACA,SACA,MChFI,KDiFJ,iBC9EQ,QD+ER,iBACA,mBACA,gBACA,YACA,eACA,wCACE,wCG1FJ,wCACE,kBACA,UACA,WACA,YACA,aACA,mBACA,yBACA,0CARF,wCASI,sBACA,WACA,aACJ,uCDfA,YACA,YACA,gBACA,yBACA,eCaE,WACA,YACA,kBACA,aACA,mBACA,uBACA,iBFjBG,QEkBH,MFdQ,QEeR,eACA,iBACA,iBACA,iBACA,0CAdF,uCAeI,WACA,YACA,eACA,gBACA,iBACF,0CApBF,uCAqBI,gBACA,eACA,WACA,aACF,+CACE,iBFjCM,QEmCV,gCACE,WACA,YACA,aACA,mBACA,uBACA,kBACA,yBAPF,gCAQI,mBACF,uCACE,eACA,gBACA,mBACA,cACF,4CACE,WACA,YACA,kBACA,0BACA,kDD9DJ,YACA,YACA,gBACA,yBACA,eC4DM,kBACA,SACA,YACA,2BACA,aACA,mBACA,uBACA,sBACA,iBFlED,QEmEC,mBACA,YACA,0CAbF,kDAcI,YACA,WACA,UACA,UACA,YACA,gBACF,0CApBF,kDAqBI,WACA,aACF,sDACE,cACA,kBACA,kBACA,QACA,0CALF,sDAMI,MACA,WACA,gBACF,0CATF,sDAUI,YACJ,uDACE,eACA,iBACA,MFzFE,QE0FF,yBACA,0CALF,uDAMI,cACN,sDACE,sBACA,uBACA,kBACA,iCACA,0DACE,kBACA,SACA,QACA,gCACA,eACA,gBACA,YACA,aACA,mBACA,UACA,oBF1GR,iBACA,yBACA,eACA,uBEyGQ,iEACE,UAEJ,sFACE,YAEN,qCACE,kBACA,UACA,UACA,SACA,gBACA,gBACA,oBACA,iDACE,aACA,eACA,uBACA,gBACA,WACA,qDACE,WACA,YACA,cACA,iBACA,eACA,kBACA,sBACJ,wCACE,qBACA,2CACE,MF9IE,QE+IF,iBFjJE,QEkJF,iBACA,mBACA,gBACA,YACA,eACA,mBACA,YFnJR,iBACA,yBACA,eACA,uBEkJQ,iDACE,aACA,eACA,WAEA,6DACE,eACA,iBACA,WACA,YACA,SACA,kBACA,2FACE,wBACJ,4DACE,aACJ,wDACE,kBACA,+DACE,iBACA,WACA,WACA,YACA,cACA,gKACA,kBACA,WACA,QACA,2BC3LZ,yCACE,kBACA,UACA,OACA,MACA,WACA,YACA,aACA,mBACA,uBACA,2BACA,4BACA,sBAEA,kDACE,aACA,sBACA,mBACA,2BACA,uCACA,mBACA,gBACA,YACA,4BACA,4BFpBJ,0BACA,+BACA,kCEoBI,0CAZF,kDAaI,YACA,6BACJ,gDACE,aACA,uBACA,uBACF,+CACE,aACA,sBACA,mBACA,2BACA,cACA,0CANF,+CAOI,eACF,mDACE,cACA,WACA,YACA,mBACA,uBACA,0CANF,mDAOI,WACA,aACJ,iDACE,MH5CI,QG6CJ,eACA,iBACA,kBACA,gBACA,gBACA,0CAPF,iDAQI,eACA,iBACF,0CAVF,iDAWI,gBACN,gDFjEF,YACA,YACA,gBACA,yBACA,eE+DI,aACA,mBACA,uBACA,YACA,eACA,mBACA,iBHjEM,QGkEN,MHhEM,QGiEN,eACA,iBACA,yBACA,wBACA,0CAdF,gDAeI,eACA,aACF,0CAjBF,gDAkBI,eACA,aChFJ,0CACE,WACA,YACA,kBACA,OACA,MACA,UACA,kDACE,WACA,YACA,gBACA,2BACA,oDACE,wBACF,yDACE,yBACJ,mDACE,kBACA,UACA,SACA,YACA,aACA,mBACA,uBACA,YACA,mBACA,gCACA,2BHxBN,0BACA,+BACA,kCGwBM,0CAbF,mDAcI,aACF,0CAfF,mDAgBI,aACF,0DHrCN,YACA,YACA,gBACA,yBACA,eGmCQ,WACA,YACA,kBACA,iBJtCF,KIuCE,aACA,mBACA,uBACA,kBACA,0CAVF,0DAWI,WACA,aACF,0CAbF,0DAcI,kBACA,WACA,aACF,8DACE,cACA,0CAFF,8DAGI,sBACF,0CAJF,8DAKI,uBACJ,4EACE,eACN,8CACE,kBACA,UACA,YACA,UACA,mBACA,sBACA,iBJjEA,KIkEA,UACA,uBACA,0CAVF,8CAWI,UACA,YACA,qBACA,yBAEE,0DACE,UACJ,sDACE,8BAGI,yEACE,uBACV,0CAxBF,8CAyBI,sBACF,sDACE,UACA,oBACF,kDACE,YACA,mBACA,cJjFR,iBACA,yBACA,eACA,uBAGA,mCACA,4BACA,gCACA,wBI2EQ,wDACE,wCACJ,kDACE,kBACA,OACA,MACA,YACA,YACA,UACA,cACA,sBACA,0DACE,UACA,KJtGA,QIuGA,eACA,gEACE,WACA,0CAFF,gEAGI,WACR,mDACE,kBACA,OACA,MACA,UACA,WACA,kBACA,0CACA,2CACA,4CACA,0CACA,6CACA,yBACA,UACA,oBACA,2DACE,WACA,kBACA,UACA,SACA,QACA,iDACA,WACA,YACA,iBJpIA,QIqIA,kBACA,yBACA,gCC9IZ,eACE,cACA,kBACA,WACA,YACA,yBACE,kBACA,SACA,QACA,gCACF,mBACE,4CACF,mBACE,kBACA,SACA,WACA,YACA,kBACA,WLXQ,QKYR,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,8BChDA,uCACE,WACA,YACA,kBACA,OACA,MACA,UACA,6CACE,WACA,YACA,cACF,gDACE,kBACA,WACA,aACA,UACA,oBACA,0CANF,gDAOI,SACA,4BACF,wDACE,UACA","file":"app.css"}
@@ -28,6 +28,9 @@
28
28
  max-width: calc(100% - 60px)
29
29
  padding: 36px 30px 30px 30px
30
30
  @include blurBackground(5px)
31
+ @media #{$mobile}
32
+ width: 280px
33
+ padding: 26px 20px 20px 20px
31
34
  &__steps
32
35
  display: flex
33
36
  align-items: flex-start
@@ -46,15 +49,21 @@
46
49
  height: 80px
47
50
  object-fit: contain
48
51
  object-position: center
52
+ @media #{$mobile}
53
+ width: 40px
54
+ height: 60px
49
55
  p
50
56
  color: $text-dark
51
57
  font-size: 20px
52
58
  font-weight: bold
53
59
  text-align: center
54
60
  margin-top: 10px
55
- max-width: 135px
61
+ max-width: 130px
56
62
  @media #{$tablet}
57
63
  font-size: 18px
64
+ max-width: 115px
65
+ @media #{$mobile}
66
+ font-size: 16px
58
67
  button
59
68
  @include customButton
60
69
  display: flex
@@ -69,3 +78,9 @@
69
78
  font-weight: bold
70
79
  text-transform: uppercase
71
80
  margin: 25px auto 0 auto
81
+ @media #{$tablet}
82
+ font-size: 18px
83
+ height: 40px
84
+ @media #{$mobile}
85
+ font-size: 16px
86
+ height: 35px
@@ -34,6 +34,8 @@
34
34
  @include blurBackground(5px)
35
35
  @media #{$tablet}
36
36
  bottom: 20px
37
+ @media #{$mobile}
38
+ padding: 5px
37
39
  &-button
38
40
  @include customButton
39
41
  width: 55px
@@ -49,10 +51,14 @@
49
51
  height: 40px
50
52
  @media #{$mobile}
51
53
  margin-right: 13px
54
+ width: 35px
55
+ height: 35px
52
56
  img
53
57
  display: block
54
58
  @media #{$tablet}
55
59
  transform: scale(.7)
60
+ @media #{$mobile}
61
+ transform: scale(.55)
56
62
  &:nth-last-child(1)
57
63
  margin-right: 0
58
64
  &-map
@@ -89,6 +95,7 @@
89
95
  border-radius: none
90
96
  display: block
91
97
  @include noSelect
98
+ @include highResolution
92
99
  &:hover
93
100
  box-shadow: 1px 1px 10px rgba(0,0,0,0.15)
94
101
  svg
@@ -115,7 +122,9 @@
115
122
  width: 0px
116
123
  height: 0px
117
124
  border-radius: 50%
118
- border: 30px solid transparent
125
+ border-left: 30px solid transparentize($mainColor, 1)
126
+ border-right: 30px solid transparentize($mainColor, 1)
127
+ border-bottom: 30px solid transparentize($mainColor, 1)
119
128
  border-top: 40px solid transparentize($mainColor, .6)
120
129
  transform: translate(-50%, -50%) rotate(0rad)
121
130
  transform-origin: 50% 50%
@@ -35,7 +35,10 @@
35
35
  margin-left: 0px
36
36
  margin-top: 20px
37
37
  @media #{$mobile}
38
- margin-top: 10px
38
+ margin-top: 15px
39
+ font-size: 18px
40
+ width: 45px
41
+ height: 45px
39
42
  &--active
40
43
  background-color: $mainColor
41
44
 
@@ -78,14 +81,20 @@
78
81
  left: 20px
79
82
  bottom: 20px
80
83
  transform: none
84
+ @media #{$mobile}
85
+ width: 45px
86
+ height: 45px
81
87
  img
82
88
  display: block
83
89
  margin-right: 20px
84
90
  position: relative
85
91
  top: 2px
86
92
  @media #{$tablet}
93
+ top: 0
87
94
  width: 30px
88
95
  margin-right: 0
96
+ @media #{$mobile}
97
+ width: 20px
89
98
  span
90
99
  font-size: 24px
91
100
  font-weight: bold
@@ -142,7 +151,7 @@
142
151
  ul
143
152
  list-style-type: none
144
153
  li
145
- color: $black
154
+ color: $text-dark
146
155
  background-color: $mainColor
147
156
  padding: 5px 15px
148
157
  border-radius: 10px
@@ -46,6 +46,9 @@ html, body
46
46
  @media #{$tablet}
47
47
  width: 65px
48
48
  height: 65px
49
+ @media #{$mobile}
50
+ width: 40px
51
+ height: 40px
49
52
 
50
53
  .widget-enter-fullscreen,
51
54
  .widget-exit-fullscreen
@@ -57,7 +60,9 @@ html, body
57
60
  padding: 10px
58
61
  @media #{$tablet}
59
62
  right: 20px
60
- top: 20px
63
+ top: 23px
64
+ @media #{$mobile}
65
+ padding: 5px
61
66
  img
62
67
  display: block
63
68
  width: 50px
@@ -67,6 +72,9 @@ html, body
67
72
  @media #{$tablet}
68
73
  width: 40px
69
74
  height: 40px
75
+ @media #{$mobile}
76
+ width: 30px
77
+ height: 30px
70
78
 
71
79
  .widget-close
72
80
  position: absolute
@@ -16,3 +16,9 @@ $text-dark: #413E3E
16
16
  -webkit-user-select: none
17
17
  user-drag: none
18
18
  -webkit-user-drag: none
19
+
20
+ @mixin highResolution
21
+ -webkit-backface-visibility: hidden
22
+ -ms-transform: translateZ(0)
23
+ -webkit-transform: translateZ(0)
24
+ transform: translateZ(0)
@@ -15,8 +15,6 @@ var _store = _interopRequireDefault(require("../store"));
15
15
 
16
16
  var _fullScreenStore = _interopRequireDefault(require("../store/fullScreenStore"));
17
17
 
18
- var _ImageTab = _interopRequireDefault(require("./ImageTab"));
19
-
20
18
  var _RotationTab = _interopRequireDefault(require("./RotationTab"));
21
19
 
22
20
  var _PanoramaTab = _interopRequireDefault(require("./PanoramaTab"));
@@ -49,6 +47,10 @@ var Application = (0, _mobxReactLite.observer)(function (_ref) {
49
47
  var width = _ref.width,
50
48
  height = _ref.height;
51
49
  var config = _store.default.config;
50
+ var appStyle = {
51
+ width: width,
52
+ height: height
53
+ };
52
54
 
53
55
  var _useState = (0, _react.useState)(config.tabs[0]),
54
56
  _useState2 = _slicedToArray(_useState, 2),
@@ -56,18 +58,6 @@ var Application = (0, _mobxReactLite.observer)(function (_ref) {
56
58
  setCurrentTab = _useState2[1];
57
59
 
58
60
  var tabsList = {
59
- 'planImage': /*#__PURE__*/_react.default.createElement(_ImageTab.default, {
60
- image: config.planImage,
61
- alt: "plan-view"
62
- }),
63
- 'topView': /*#__PURE__*/_react.default.createElement(_ImageTab.default, {
64
- image: config.topView,
65
- alt: "top-view"
66
- }),
67
- 'topDownView': /*#__PURE__*/_react.default.createElement(_ImageTab.default, {
68
- image: config.topDownView,
69
- alt: "top-down-view"
70
- }),
71
61
  'rotation': /*#__PURE__*/_react.default.createElement(_RotationTab.default, {
72
62
  images: config.rotationImages,
73
63
  disabled: !config.rotationImages[0]
@@ -90,10 +80,6 @@ var Application = (0, _mobxReactLite.observer)(function (_ref) {
90
80
  tab: 'panorama',
91
81
  text: '3D'
92
82
  }];
93
- var appStyle = {
94
- width: width,
95
- height: height
96
- };
97
83
 
98
84
  var setWindowHeight = function setWindowHeight() {
99
85
  document.querySelector('.widget-application').style.setProperty('--vh', window.innerHeight / 100 + 'px');
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _locale = _interopRequireDefault(require("../locale"));
11
+
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
13
 
12
14
  var Instructions = function Instructions(_ref) {
@@ -45,7 +47,7 @@ var Instructions = function Instructions(_ref) {
45
47
  disabled: disabled,
46
48
  onClick: onClick,
47
49
  type: "button"
48
- }, "\u041E\u043A")));
50
+ }, _locale.default.getLocaleText('ok'))));
49
51
  };
50
52
 
51
53
  var _default = Instructions;
@@ -13,6 +13,8 @@ var _mobxReactLite = require("mobx-react-lite");
13
13
 
14
14
  var _modelStore = _interopRequireDefault(require("../store/modelStore"));
15
15
 
16
+ var _locale = _interopRequireDefault(require("../locale"));
17
+
16
18
  var _modelHelpers = require("../utils/modelHelpers");
17
19
 
18
20
  var _nipplejs = _interopRequireDefault(require("nipplejs"));
@@ -41,13 +43,13 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
41
43
 
42
44
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
43
45
 
44
- var instructionSteps = [{
45
- icon: _handMove.default,
46
- text: 'Вращать планировку'
47
- }];
48
46
  var ModelTab = (0, _mobxReactLite.observer)(function (_ref) {
49
47
  var json = _ref.json,
50
48
  disabled = _ref.disabled;
49
+ var instructionSteps = [{
50
+ icon: _handMove.default,
51
+ text: _locale.default.getLocaleText('rotate-plan')
52
+ }];
51
53
 
52
54
  var _useState = (0, _react.useState)(true),
53
55
  _useState2 = _slicedToArray(_useState, 2),
@@ -141,39 +143,39 @@ var ModelTab = (0, _mobxReactLite.observer)(function (_ref) {
141
143
  onClick: function onClick() {
142
144
  return setMenuState(!menuState);
143
145
  }
144
- }, "Menu"), menuState && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("li", {
146
+ }, _locale.default.getLocaleText('menu')), menuState && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("li", {
145
147
  onClick: function onClick() {
146
148
  return _modelStore.default.setCurrentControlsType('wasd');
147
149
  }
148
- }, "WASD"), /*#__PURE__*/_react.default.createElement("li", {
150
+ }, _locale.default.getLocaleText('wasd')), /*#__PURE__*/_react.default.createElement("li", {
149
151
  onClick: function onClick() {
150
152
  return _modelStore.default.setCurrentControlsType('plan');
151
153
  }
152
- }, "View from above"), /*#__PURE__*/_react.default.createElement("li", {
154
+ }, _locale.default.getLocaleText('view-from-above')), /*#__PURE__*/_react.default.createElement("li", {
153
155
  onClick: function onClick() {
154
156
  return _modelStore.default.setCurrentControlsType('orbit');
155
157
  }
156
- }, "Free camera"), /*#__PURE__*/_react.default.createElement("li", {
158
+ }, _locale.default.getLocaleText('free-camera')), /*#__PURE__*/_react.default.createElement("li", {
157
159
  onClick: function onClick() {
158
160
  return houseStore.setShadowsVisibility(!houseStore.isShadowsVisible);
159
161
  }
160
- }, "Shadows: ", houseStore.isShadowsVisible ? 'On' : 'Off'), /*#__PURE__*/_react.default.createElement("li", {
162
+ }, _locale.default.getLocaleText('shadows'), ":", houseStore.isShadowsVisible ? _locale.default.getLocaleText('on') : _locale.default.getLocaleText('off')), /*#__PURE__*/_react.default.createElement("li", {
161
163
  onClick: function onClick() {
162
164
  return houseStore.setPlanMode();
163
165
  }
164
- }, "Plan"), /*#__PURE__*/_react.default.createElement("li", {
166
+ }, _locale.default.getLocaleText('plan')), /*#__PURE__*/_react.default.createElement("li", {
165
167
  onClick: function onClick() {
166
168
  return houseStore.setFullBuildingVisibility(!houseStore.isFullBuildingVisible);
167
169
  }
168
- }, houseStore.isFullBuildingVisible ? 'Hide walls' : 'Show walls'), /*#__PURE__*/_react.default.createElement("li", {
170
+ }, houseStore.isFullBuildingVisible ? _locale.default.getLocaleText('hide-walls') : _locale.default.getLocaleText('show-walls')), /*#__PURE__*/_react.default.createElement("li", {
169
171
  onClick: function onClick() {
170
172
  return houseStore.setDoorsVisibility(!houseStore.isDoorsVisible);
171
173
  }
172
- }, houseStore.isDoorsVisible ? 'Hide doors' : 'Show doors'), /*#__PURE__*/_react.default.createElement("li", {
174
+ }, houseStore.isDoorsVisible ? _locale.default.getLocaleText('hide-doors') : _locale.default.getLocaleText('show-doors')), /*#__PURE__*/_react.default.createElement("li", {
173
175
  onClick: function onClick() {
174
176
  return houseStore.setCurrentWallsMaterialType(getNextWallsMaterialType());
175
177
  }
176
- }, "Material: ", houseStore.wallsMaterialType === 'texture' ? 'Texture' : 'Color'), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("label", null, "Wall color:", /*#__PURE__*/_react.default.createElement("input", {
178
+ }, _locale.default.getLocaleText('material'), ":", houseStore.wallsMaterialType === 'texture' ? _locale.default.getLocaleText('texture') : _locale.default.getLocaleText('color')), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("label", null, _locale.default.getLocaleText('wall-color'), ":", /*#__PURE__*/_react.default.createElement("input", {
177
179
  type: "color",
178
180
  onChange: function onChange(_ref4) {
179
181
  var target = _ref4.target;
@@ -183,7 +185,7 @@ var ModelTab = (0, _mobxReactLite.observer)(function (_ref) {
183
185
  background: houseStore.wallsColor
184
186
  },
185
187
  value: houseStore.wallsColor
186
- }))), /*#__PURE__*/_react.default.createElement("li", null, "Wall texture:", /*#__PURE__*/_react.default.createElement("div", {
188
+ }))), /*#__PURE__*/_react.default.createElement("li", null, _locale.default.getLocaleText('wall-texture'), ":", /*#__PURE__*/_react.default.createElement("div", {
187
189
  className: "widget-tab-menu__wallpapers"
188
190
  }, houseStore && houseStore.wallsTextures.map(function (_ref5, index) {
189
191
  var image = _ref5.image,
@@ -196,7 +198,7 @@ var ModelTab = (0, _mobxReactLite.observer)(function (_ref) {
196
198
  },
197
199
  alt: "texture=".concat(index)
198
200
  });
199
- }))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("label", null, "Upload wall texture", /*#__PURE__*/_react.default.createElement("input", {
201
+ }))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("label", null, _locale.default.getLocaleText('upload-wall-texture'), /*#__PURE__*/_react.default.createElement("input", {
200
202
  onChange: onImageUploaded,
201
203
  type: "file",
202
204
  accept: ".jpg, .jpeg, .png"
@@ -9,6 +9,8 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _locale = _interopRequireDefault(require("../locale"));
13
+
12
14
  var _store = _interopRequireDefault(require("../store"));
13
15
 
14
16
  var THREE = _interopRequireWildcard(require("three"));
@@ -67,13 +69,6 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
67
69
 
68
70
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
69
71
 
70
- var instructionSteps = [{
71
- icon: _handMove.default,
72
- text: 'Вращать планировку'
73
- }, {
74
- icon: _handResearch.default,
75
- text: 'Исследовать планировку'
76
- }];
77
72
  var _PANOLENS$CONTROLS = PANOLENS.CONTROLS,
78
73
  DEVICEORIENTATION = _PANOLENS$CONTROLS.DEVICEORIENTATION,
79
74
  ORBIT = _PANOLENS$CONTROLS.ORBIT;
@@ -245,6 +240,13 @@ var PanoramaTab = function PanoramaTab(_ref4) {
245
240
  planImage = _ref4.planImage,
246
241
  images = _ref4.images,
247
242
  disabled = _ref4.disabled;
243
+ var instructionSteps = [{
244
+ icon: _handMove.default,
245
+ text: _locale.default.getLocaleText('rotate-plan')
246
+ }, {
247
+ icon: _handResearch.default,
248
+ text: _locale.default.getLocaleText('research-plan')
249
+ }];
248
250
 
249
251
  var _useState = (0, _react.useState)(_deviceOrientationStatuses.deviceOrientationStatuses.DENIED),
250
252
  _useState2 = _slicedToArray(_useState, 2),
@@ -380,6 +382,14 @@ var PanoramaTab = function PanoramaTab(_ref4) {
380
382
  updateCameraFov(cameraFovValues.x1);
381
383
  };
382
384
 
385
+ var getAngle = function getAngle(control) {
386
+ if (control.alpha) {
387
+ return control.alpha - THREE.MathUtils.degToRad(control.screenOrientation);
388
+ }
389
+
390
+ return control.getAzimuthalAngle();
391
+ };
392
+
383
393
  var toggleAutoplay = function toggleAutoplay() {
384
394
  setAutoplayState(!autoplayEnabled);
385
395
 
@@ -407,12 +417,6 @@ var PanoramaTab = function PanoramaTab(_ref4) {
407
417
  });
408
418
  };
409
419
 
410
- var rescaleMap = function rescaleMap() {
411
- var map = document.querySelector('.widget-tab__panorama-map');
412
- if (!map) return;
413
- map.classList.remove('widget-tab__panorama-map--scaled');
414
- };
415
-
416
420
  (0, _react.useEffect)(function () {
417
421
  window.addEventListener('resize', updateWindowWidth);
418
422
  updateWindowWidth();
@@ -454,14 +458,6 @@ var PanoramaTab = function PanoramaTab(_ref4) {
454
458
  var camera = new THREE.PerspectiveCamera(75, container.clientWidth / container.clientHeight, 1, 1000);
455
459
  var orientationControls = new _threeDeviceOrientation.default(camera);
456
460
 
457
- var getAngle = function getAngle(control) {
458
- if (control.alpha) {
459
- return control.alpha - THREE.MathUtils.degToRad(control.screenOrientation);
460
- }
461
-
462
- return control.getAzimuthalAngle();
463
- };
464
-
465
461
  var animate = function animate() {
466
462
  window.requestAnimationFrame(animate);
467
463
  orientationControls.update();
@@ -493,9 +489,20 @@ var PanoramaTab = function PanoramaTab(_ref4) {
493
489
 
494
490
  var onStart = function onStart() {
495
491
  setInstructionsState(false);
492
+ if (windowSize.width >= _deviceWidth.deviceWidth.laptop) return;
493
+
494
+ var allowDeviceOrientation = function allowDeviceOrientation() {
495
+ window.removeEventListener('deviceorientation', allowDeviceOrientation);
496
+ setDeviceOrientationStatus(_deviceOrientationStatuses.deviceOrientationStatuses.GRANTED);
497
+ viewer.enableControl(DEVICEORIENTATION);
498
+ };
496
499
 
497
500
  try {
498
- if (!DeviceOrientationEvent.requestPermission) return;
501
+ if (!DeviceOrientationEvent.requestPermission) {
502
+ window.addEventListener('deviceorientation', allowDeviceOrientation);
503
+ return;
504
+ }
505
+
499
506
  return requestDeviceOrientation();
500
507
  } catch (error) {
501
508
  console.error(error.message);
@@ -525,12 +532,12 @@ var PanoramaTab = function PanoramaTab(_ref4) {
525
532
  }
526
533
  }
527
534
 
528
- rescaleMap();
529
535
  var image = document.querySelector('.widget-tab__panorama-map img');
536
+ var offset = image.getBoundingClientRect();
530
537
  var clientX = event.clientX,
531
538
  clientY = event.clientY;
532
- var x = (clientX - image.x) / planScale.X;
533
- var y = (clientY - image.y) / planScale.Y;
539
+ var x = (clientX - offset.left) / planScale.X;
540
+ var y = (clientY - offset.top) / planScale.Y;
534
541
  var availablePanoramas = panoramas.filter(function (_ref9) {
535
542
  var userData = _ref9.userData;
536
543
  return (0, _geometric.pointInPolygon)([x, y], userData.points);
@@ -539,6 +546,7 @@ var PanoramaTab = function PanoramaTab(_ref4) {
539
546
  var _getClosestPanorama2 = (0, _panoramaHelpers.getClosestPanorama)([x, y], availablePanoramas),
540
547
  panorama = _getClosestPanorama2.panorama;
541
548
 
549
+ map.classList.remove('widget-tab__panorama-map--scaled');
542
550
  if (!panorama) return;
543
551
  changePanorama(panorama);
544
552
  };
@@ -15,6 +15,8 @@ var _threesixty = _interopRequireDefault(require("../threesixty"));
15
15
 
16
16
  var _helpers = require("../utils/helpers");
17
17
 
18
+ var _locale = _interopRequireDefault(require("../locale"));
19
+
18
20
  var _Instructions = _interopRequireDefault(require("./Instructions"));
19
21
 
20
22
  var _handMove = _interopRequireDefault(require("../assets/icons/hand-move.svg"));
@@ -47,15 +49,14 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
47
49
 
48
50
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
49
51
 
50
- var instructionSteps = [{
51
- icon: _handMove.default,
52
- text: 'Вращать планировку'
53
- }];
54
-
55
52
  var RotationTab = function RotationTab(_ref) {
56
53
  var images = _ref.images,
57
54
  _ref$disabled = _ref.disabled,
58
55
  disabled = _ref$disabled === void 0 ? false : _ref$disabled;
56
+ var instructionSteps = [{
57
+ icon: _handMove.default,
58
+ text: _locale.default.getLocaleText('rotate-plan')
59
+ }];
59
60
 
60
61
  var _useState = (0, _react.useState)(false),
61
62
  _useState2 = _slicedToArray(_useState, 2),
@@ -131,7 +132,7 @@ var RotationTab = function RotationTab(_ref) {
131
132
  }, /*#__PURE__*/_react.default.createElement("img", {
132
133
  src: _rotation.default,
133
134
  alt: "start-icon"
134
- }), /*#__PURE__*/_react.default.createElement("span", null, "\u0412\u0440\u0430\u0449\u0430\u0442\u044C")), showInstructions && /*#__PURE__*/_react.default.createElement(_Instructions.default, {
135
+ }), /*#__PURE__*/_react.default.createElement("span", null, _locale.default.getLocaleText('rotate'))), showInstructions && /*#__PURE__*/_react.default.createElement(_Instructions.default, {
135
136
  disabled: disabled,
136
137
  steps: instructionSteps,
137
138
  onClick: onStart
@@ -13,6 +13,8 @@ var _store = _interopRequireDefault(require("../store"));
13
13
 
14
14
  var _modelStore = _interopRequireDefault(require("../store/modelStore"));
15
15
 
16
+ var _locale = _interopRequireDefault(require("../locale"));
17
+
16
18
  var _Application = _interopRequireDefault(require("./Application"));
17
19
 
18
20
  var _defaultConfig = _interopRequireDefault(require("../config/defaultConfig"));
@@ -37,7 +39,7 @@ var Widget = /*#__PURE__*/function () {
37
39
 
38
40
  _classCallCheck(this, Widget);
39
41
 
40
- _defineProperty(this, "requiredParams", ['tabs', 'width', 'height', 'API_URL']);
42
+ _defineProperty(this, "requiredParams", ['tabs', 'width', 'height', 'locale', 'API_URL']);
41
43
 
42
44
  var config = _objectSpread(_objectSpread({}, _defaultConfig.default), options);
43
45
 
@@ -47,6 +49,8 @@ var Widget = /*#__PURE__*/function () {
47
49
 
48
50
  _store.default.setConfig(config);
49
51
 
52
+ _locale.default.setCurrentLocale(config.locale);
53
+
50
54
  _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_Application.default, {
51
55
  width: config.width,
52
56
  height: config.height
@@ -73,6 +77,8 @@ var Widget = /*#__PURE__*/function () {
73
77
  _modelStore.default.removeHouse();
74
78
 
75
79
  _store.default.setConfig(newConfig);
80
+
81
+ _locale.default.setCurrentLocale(config.locale);
76
82
  }
77
83
  }, {
78
84
  key: "on",
@@ -21,6 +21,7 @@ var defaultConfig = {
21
21
  rotationImages: [],
22
22
  panoramaImages: [],
23
23
  json: null,
24
+ locale: 'en-US',
24
25
  API_URL: 'https://backend.estate.hart-digital.com'
25
26
  };
26
27
  var _default = defaultConfig;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.deviceWidth = void 0;
7
7
  var deviceWidth = {
8
8
  mobile: 545,
9
- tablet: 900
9
+ tablet: 900,
10
+ laptop: 1440
10
11
  };
11
12
  exports.deviceWidth = deviceWidth;
@@ -0,0 +1,24 @@
1
+ {
2
+ "research-plan": "Research plan",
3
+ "rotate-plan": "Rotate plan",
4
+ "rotate": "Rotate",
5
+ "plan": "Plan",
6
+ "off": "Off",
7
+ "on": "On",
8
+ "ok": "Ok",
9
+ "menu": "Menu",
10
+ "wasd": "WASD",
11
+ "view-from-above": "View from above",
12
+ "free-camera": "Free camera",
13
+ "shadows": "Shadows",
14
+ "hide-walls": "Hide walls",
15
+ "show-walls": "Show walls",
16
+ "hide-doors": "Hide doors",
17
+ "show-doors": "Show doors",
18
+ "material": "Material",
19
+ "texture": "Texture",
20
+ "color": "Color",
21
+ "wall-color": "Wall color",
22
+ "wall-texture": "Wall texture",
23
+ "upload-wall-texture": "Upload wall texture"
24
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _mobx = require("mobx");
11
+
12
+ var _data = _interopRequireDefault(require("./ru_RU/data.json"));
13
+
14
+ var _data2 = _interopRequireDefault(require("./en_US/data.json"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19
+
20
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21
+
22
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
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
+
26
+ (0, _mobx.configure)({
27
+ useProxies: 'never'
28
+ });
29
+
30
+ var LocaleStore = /*#__PURE__*/function () {
31
+ function LocaleStore() {
32
+ var _this = this;
33
+
34
+ _classCallCheck(this, LocaleStore);
35
+
36
+ _defineProperty(this, "availableLocales", ['ru-RU', 'en-US']);
37
+
38
+ _defineProperty(this, "locales", {
39
+ 'ru-RU': _data.default,
40
+ 'en-US': _data2.default
41
+ });
42
+
43
+ _defineProperty(this, "currentLocale", 'en-US');
44
+
45
+ _defineProperty(this, "getLocaleText", function (key) {
46
+ return _this.localeData[key];
47
+ });
48
+
49
+ _defineProperty(this, "setCurrentLocale", function (locale) {
50
+ if (!_this.availableLocales.some(function (l) {
51
+ return l === locale;
52
+ })) return;
53
+ _this.currentLocale = locale;
54
+ });
55
+
56
+ (0, _mobx.makeAutoObservable)(this);
57
+ }
58
+
59
+ _createClass(LocaleStore, [{
60
+ key: "localeData",
61
+ get: function get() {
62
+ return this.locales[this.currentLocale];
63
+ }
64
+ }]);
65
+
66
+ return LocaleStore;
67
+ }();
68
+
69
+ var _default = new LocaleStore();
70
+
71
+ exports.default = _default;
@@ -0,0 +1,24 @@
1
+ {
2
+ "research-plan": "Исследовать планировку",
3
+ "rotate-plan": "Вращать планировку",
4
+ "rotate": "Вращать",
5
+ "plan": "Планировка",
6
+ "off": "Выкл",
7
+ "on": "Вкл",
8
+ "ok": "Ок",
9
+ "menu": "Меню",
10
+ "wasd": "WASD",
11
+ "view-from-above": "Обзор сверху",
12
+ "free-camera": "Свободный обзор",
13
+ "shadows": "Тени",
14
+ "hide-walls": "Скрыть стены",
15
+ "show-walls": "Показать стены",
16
+ "hide-doors": "Скрыть двери",
17
+ "show-doors": "Показать двери",
18
+ "material": "Материал",
19
+ "texture": "Текстура",
20
+ "color": "Цвет",
21
+ "wall-color": "Цвет стен",
22
+ "wall-texture": "Текстура стен",
23
+ "upload-wall-texture": "Загрузить текстуру стен"
24
+ }
@@ -9,10 +9,10 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _screenfull = _interopRequireDefault(require("screenfull"));
13
-
14
12
  var _mobx = require("mobx");
15
13
 
14
+ var _screenfull = _interopRequireDefault(require("screenfull"));
15
+
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "HART Estate widget",
4
4
  "author": "HART",
5
5
  "keywords": [],
6
- "version": "0.0.53",
6
+ "version": "0.0.56",
7
7
  "private": false,
8
8
  "main": "build/index.js",
9
9
  "module": "build/index.js",