@archilogic/embed-api 2.0.0 → 2.1.0

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/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ v16
package/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # Archilogic Embed API
2
+
3
+ The Archilogic Embed API enables you to create interactive, customizable 3d embeds in your website.
4
+
5
+ Documentation and examples can be found at https://developers.archilogic.com/3d-embed-api/guide.html
6
+
7
+ ### Development
8
+
9
+ To build the bundle and watch for changes:
10
+
11
+ ```bash
12
+ npm install
13
+ npm run dev
14
+ ```
15
+
16
+ To run the example app
17
+
18
+ ```bash
19
+ cd example
20
+ npm install
21
+ npm run dev
22
+ ```
23
+
24
+ ### Build
25
+
26
+ ```bash
27
+ npm run build
28
+ ```
29
+
30
+ ### Test
31
+
32
+ ```bash
33
+ npm run test
34
+ ```
35
+
36
+ #### [TODO]
37
+
38
+ - Add release + deployment details
package/dist/embed.d.ts CHANGED
@@ -25,6 +25,7 @@ export declare type EmbedEvent = 'sceneDefined' | 'loadingStart' | 'loadingDone'
25
25
  export declare type EmbedUIOptions = {
26
26
  birdMode: boolean;
27
27
  personMode: boolean;
28
+ floorPlanMode: boolean;
28
29
  fullscreen: boolean;
29
30
  bookmarkStrip: boolean;
30
31
  shareMenu: boolean;
@@ -33,6 +34,7 @@ export declare type EmbedUIOptions = {
33
34
  presentation: boolean;
34
35
  units: boolean;
35
36
  exportImage: boolean;
37
+ measureTool: boolean;
36
38
  };
37
39
  export declare type EmbedOptions = {
38
40
  transparentBackground: boolean;
package/dist/embed.js CHANGED
@@ -1 +1 @@
1
- function e(){return(e=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}const r={"http:":"80","https:":"443"},t=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,n=["file:","data:"];var o,i,s,a,c;!function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(i||(i={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(s||(s={})),function(e){e.DataCloneError="DataCloneError"}(a||(a={})),function(e){e.Message="message"}(c||(c={}));const l=({name:e,message:r,stack:t})=>({name:e,message:r,stack:t});let d=0;var u,m=()=>++d,h=window.__A_EMBED_API_VERSION__||"v2_0_0",v=(window.__A_VIEWER_URL__||"https://viewer.archilogic.com")+"/"+h+"?embedType=api",f=0,g=function(e){return JSON.parse(JSON.stringify(e))};(u=exports.PresentationMode||(exports.PresentationMode={}))[u.none=0]="none",u[u.goToCameraDefault=1]="goToCameraDefault",u[u.goToFirstBookmark=2]="goToFirstBookmark",u[u.jumpToCameraDefault=3]="jumpToCameraDefault",u[u.jumpToFirstBookmark=4]="jumpToFirstBookmark",u[u.tourOnce=5]="tourOnce",u[u.tourOnceAndGoBack=6]="tourOnceAndGoBack",u[u.tourLoop=7]="tourLoop";var p={transparentBackground:!0,presentationMode:exports.PresentationMode.jumpToCameraDefault,showTitle:!1,showLogo:!1,minimap:!1,lowResTexturesOnly:!1,bookmarksActive:!1,uiButtons:{birdMode:!1,personMode:!1,fullscreen:!1,bookmarkStrip:!1,share:!1,help:!1,presentation:!1,units:!1,exportImage:!1}};exports.default=function(){function d(d,u){var h=this,f=this,w=this;void 0===u&&(u={}),this.listeners=new Map,this.onFullscreenChange=function(){w.viewer.onFullscreenChange&&w.viewer.onFullscreenChange(w.getIsFullscreen())},this.toggleFullscreen=function(){try{var e=function(){return h.getIsFullscreen()},r=h.getIsFullscreen()?Promise.resolve(document.exitFullscreen()).then(function(){}):Promise.resolve(h.containerEl.requestFullscreen()).then(function(){});return Promise.resolve(r&&r.then?r.then(e):e())}catch(e){return Promise.reject(e)}},this.handleEvent=function(e,r){var t=w.listeners.get(e);if(t)return t(r);console.warn("Listener not found")},this.getIsFullscreen=function(){return Boolean(document.fullscreenElement&&document.fullscreenElement===w.containerEl)},this.options=g(e({},p,u)),this.containerEl=d,this.viewerEl=function(e){void 0===e&&(e=document.body);var r=document.createElement("iframe");return Object.assign(r,{src:v,width:"100%",height:"100%",title:"Archilogic Embed",frameBorder:"0",scrolling:"no",allowTransparency:"true",allowFullscreen:"true",style:"border: 0;"}),e.appendChild(r),r}(d),this.viewerConnection=(e=>{let{iframe:d,methods:u={},childOrigin:h,timeout:v,debug:f=!1}=e;const g=(e=>(...r)=>{e&&console.log("[Penpal]",...r)})(f),p=(()=>{const e=[];let r=!1;return{destroy(t){r=!0,e.forEach(e=>{e(t)})},onDestroy(t){r?t():e.push(t)}}})(),{onDestroy:w,destroy:y}=p;h||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=s.NoIframeSrc,e}})(d),h=(e=>{if(e&&n.find(r=>e.startsWith(r)))return"null";const o=document.location,i=t.exec(e);let s,a,c;return i?(s=i[1]?i[1]:o.protocol,a=i[2],c=i[4]):(s=o.protocol,a=o.hostname,c=o.port),`${s}//${a}${c&&c!==r[s]?":"+c:""}`})(d.src));const P="null"===h?"*":h,E=((e,r,t,n)=>i=>{if(i.origin!==t)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${t}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(r)};i.source.postMessage(s,n)})(g,u,h,P),k=((e,r,t,n,d)=>{const{destroy:u,onDestroy:h}=n;let v,f;const g={};return n=>{if(n.origin!==r)return void d(`Parent: Handshake - Received ACK message from origin ${n.origin} which did not match expected origin ${r}`);d("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:n.source,originForSending:t,originForReceiving:r};v&&v(),v=((e,r,t)=>{const{localName:n,local:s,remote:d,originForSending:u,originForReceiving:m}=e;let h=!1;const v=e=>{if(e.source!==d||e.data.penpal!==o.Call)return;if(e.origin!==m)return void t(`${n} received message from origin ${e.origin} which did not match expected origin ${m}`);const s=e.data,{methodName:c,args:v,id:f}=s;t(`${n}: Received ${c}() call`);const g=e=>r=>{if(t(`${n}: Sending ${c}() reply`),h)return void t(`${n}: Unable to send ${c}() reply due to destroyed connection`);const s={penpal:o.Reply,id:f,resolution:e,returnValue:r};e===i.Rejected&&r instanceof Error&&(s.returnValue=l(r),s.returnValueIsError=!0);try{d.postMessage(s,u)}catch(e){if(e.name===a.DataCloneError){const r={penpal:o.Reply,id:f,resolution:i.Rejected,returnValue:l(e),returnValueIsError:!0};d.postMessage(r,u)}throw e}};new Promise(e=>e(r[c].apply(r,v))).then(g(i.Fulfilled),g(i.Rejected))};return s.addEventListener(c.Message,v),()=>{h=!0,s.removeEventListener(c.Message,v)}})(p,e,d),h(v),f&&f.forEach(e=>{delete g[e]}),f=n.data.methodNames;const w=((e,r,t,n,a)=>{const{localName:l,local:d,remote:u,originForSending:h,originForReceiving:v}=r;let f=!1;return a(l+": Connecting call sender"),t.reduce((e,r)=>(e[r]=(e=>(...r)=>{let t;a(`${l}: Sending ${e}() call`);try{u.closed&&(t=!0)}catch(e){t=!0}if(t&&n(),f){const r=new Error(`Unable to send ${e}() call due to destroyed connection`);throw r.code=s.ConnectionDestroyed,r}return new Promise((t,n)=>{const s=m(),f=r=>{if(r.source!==u||r.data.penpal!==o.Reply||r.data.id!==s)return;if(r.origin!==v)return void a(`${l} received message from origin ${r.origin} which did not match expected origin ${v}`);const m=r.data;a(`${l}: Received ${e}() reply`),d.removeEventListener(c.Message,f);let h=m.returnValue;m.returnValueIsError&&(h=(e=>{const r=new Error;return Object.keys(e).forEach(t=>r[t]=e[t]),r})(h)),(m.resolution===i.Fulfilled?t:n)(h)};d.addEventListener(c.Message,f),u.postMessage({penpal:o.Call,id:s,methodName:e,args:r},h)})})(r),e),e),()=>{f=!0}})(g,p,f,u,d);return h(w),g}})(u,h,P,p,g);return{promise:new Promise((e,r)=>{const t=((e,r)=>{let t;return void 0!==e&&(t=window.setTimeout(()=>{const t=new Error(`Connection timed out after ${e}ms`);t.code=s.ConnectionTimeout,r(t)},e)),()=>{clearTimeout(t)}})(v,y),n=r=>{if(r.source===d.contentWindow&&r.data)if(r.data.penpal!==o.Syn)if(r.data.penpal!==o.Ack);else{const n=k(r);n&&(t(),e(n))}else E(r)};window.addEventListener(c.Message,n),g("Parent: Awaiting handshake"),((e,r)=>{const{destroy:t,onDestroy:n}=r,o=setInterval(()=>{document.contains(e)||(clearInterval(o),t())},6e4);n(()=>{clearInterval(o)})})(d,p),w(e=>{window.removeEventListener(c.Message,n),e||((e=new Error("Connection destroyed")).code=s.ConnectionDestroyed),r(e)})}),destroy(){y()}}})({timeout:1e4,iframe:this.viewerEl,methods:{handleEvent:this.handleEvent,getIsFullscreen:this.getIsFullscreen,toggleFullscreen:this.toggleFullscreen}}),this.viewerReadyPromise=this.viewerConnection.promise.then(function(e){try{return f.viewerInstance=e,document.addEventListener("fullscreenchange",f.onFullscreenChange),f.viewer.set(f.options),Promise.resolve(!0)}catch(e){return Promise.reject(e)}}).catch(function(e){return console.error(e),!1})}var u,h=d.prototype;return h.loadScene=function(e,r){try{var t=this;return Promise.resolve(t.viewerReadyPromise).then(function(){return t.viewer.loadSceneV2(e,r)})}catch(e){return Promise.reject(e)}},h.listBookmarks=function(){try{return Promise.resolve(this.viewer.listBookmarks())}catch(e){return Promise.reject(e)}},h.listSpaces=function(){try{return Promise.resolve(this.viewer.listSpaces())}catch(e){return Promise.reject(e)}},h.startPresentation=function(){try{var e=this;return Promise.resolve(e.viewerReadyPromise).then(function(){return e.viewer.startPresentation()})}catch(e){return Promise.reject(e)}},h.goToBookmark=function(e){var r=e.bookmarkId,t=e.animate,n=void 0===t||t;try{return Promise.resolve(this.viewer.goToBookmark({bookmarkId:r,animate:n}))}catch(e){return Promise.reject(e)}},h.goToBirdMode=function(e){var r=(void 0===e?{}:e).animate,t=void 0===r||r;try{return Promise.resolve(this.viewer.goToBirdMode({animate:t}))}catch(e){return Promise.reject(e)}},h.goToPersonMode=function(e){var r=void 0===e?{}:e,t=r.findSafeLanding,n=void 0===t||t,o=r.animate,i=void 0===o||o;try{return Promise.resolve(this.viewer.goToPersonMode({findSafeLanding:n,animate:i}))}catch(e){return Promise.reject(e)}},h.zoomExtents=function(e){var r=void 0===e?{}:e,t=r.spaceId,n=void 0===t?void 0:t,o=r.animate,i=void 0===o||o,s=r.zoomMin,a=void 0!==s&&s,c=r.zoomMax,l=void 0!==c&&c;try{var d=this.viewerEl.getBoundingClientRect();return Promise.resolve(this.viewer.zoomExtents({spaceId:n,animate:i,aspect:d.width/d.height,zoomMin:a,zoomMax:l}))}catch(e){return Promise.reject(e)}},h.set=function(e){this.viewer.set(g(e))},h.on=function(e,r){return f++,this.listeners.set(f,r),this.viewer.addListener(e,f),f},h.off=function(e){return this.viewer.removeListener(e)},h.destroy=function(){try{return document.removeEventListener("fullscreenchange",this.onFullscreenChange),Promise.resolve(this.viewerConnection.destroy())}catch(e){return Promise.reject(e)}},(u=[{key:"viewer",get:function(){if(!this.viewerInstance)throw new Error("Method called before viewer initialization. Wait for viewerReadyPromise to resolve before performing this action");return this.viewerInstance}}])&&function(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(d.prototype,u),d}(),exports.defaultEmbedOptions=p;
1
+ function e(){return(e=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}const r={"http:":"80","https:":"443"},t=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,n=["file:","data:"];var o,i,s,a,c;!function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(i||(i={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(s||(s={})),function(e){e.DataCloneError="DataCloneError"}(a||(a={})),function(e){e.Message="message"}(c||(c={}));const l=({name:e,message:r,stack:t})=>({name:e,message:r,stack:t});let d=0;var u,m=()=>++d,h=window.__A_EMBED_API_VERSION__||"v2_1_0",v=(window.__A_VIEWER_URL__||"https://viewer.archilogic.com")+"/"+h+"?embedType=api",f=0,g=function(e){return JSON.parse(JSON.stringify(e))};(u=exports.PresentationMode||(exports.PresentationMode={}))[u.none=0]="none",u[u.goToCameraDefault=1]="goToCameraDefault",u[u.goToFirstBookmark=2]="goToFirstBookmark",u[u.jumpToCameraDefault=3]="jumpToCameraDefault",u[u.jumpToFirstBookmark=4]="jumpToFirstBookmark",u[u.tourOnce=5]="tourOnce",u[u.tourOnceAndGoBack=6]="tourOnceAndGoBack",u[u.tourLoop=7]="tourLoop";var p={transparentBackground:!0,presentationMode:exports.PresentationMode.jumpToCameraDefault,showTitle:!1,showLogo:!1,minimap:!1,lowResTexturesOnly:!1,bookmarksActive:!1,uiButtons:{birdMode:!1,personMode:!1,floorPlanMode:!1,fullscreen:!1,bookmarkStrip:!1,share:!1,help:!1,presentation:!1,units:!1,exportImage:!1,measureTool:!1}};exports.default=function(){function d(d,u){var h=this,f=this,w=this;void 0===u&&(u={}),this.listeners=new Map,this.onFullscreenChange=function(){w.viewer.onFullscreenChange&&w.viewer.onFullscreenChange(w.getIsFullscreen())},this.toggleFullscreen=function(){try{var e=function(){return h.getIsFullscreen()},r=h.getIsFullscreen()?Promise.resolve(document.exitFullscreen()).then(function(){}):Promise.resolve(h.containerEl.requestFullscreen()).then(function(){});return Promise.resolve(r&&r.then?r.then(e):e())}catch(e){return Promise.reject(e)}},this.handleEvent=function(e,r){var t=w.listeners.get(e);if(t)return t(r);console.warn("Listener not found")},this.getIsFullscreen=function(){return Boolean(document.fullscreenElement&&document.fullscreenElement===w.containerEl)},this.options=g(e({},p,u)),this.containerEl=d,this.viewerEl=function(e){void 0===e&&(e=document.body);var r=document.createElement("iframe");return Object.assign(r,{src:v,width:"100%",height:"100%",title:"Archilogic Embed",frameBorder:"0",scrolling:"no",allowTransparency:"true",allowFullscreen:"true",style:"border: 0;"}),e.appendChild(r),r}(d),this.viewerConnection=(e=>{let{iframe:d,methods:u={},childOrigin:h,timeout:v,debug:f=!1}=e;const g=(e=>(...r)=>{e&&console.log("[Penpal]",...r)})(f),p=(()=>{const e=[];let r=!1;return{destroy(t){r=!0,e.forEach(e=>{e(t)})},onDestroy(t){r?t():e.push(t)}}})(),{onDestroy:w,destroy:y}=p;h||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=s.NoIframeSrc,e}})(d),h=(e=>{if(e&&n.find(r=>e.startsWith(r)))return"null";const o=document.location,i=t.exec(e);let s,a,c;return i?(s=i[1]?i[1]:o.protocol,a=i[2],c=i[4]):(s=o.protocol,a=o.hostname,c=o.port),`${s}//${a}${c&&c!==r[s]?":"+c:""}`})(d.src));const P="null"===h?"*":h,E=((e,r,t,n)=>i=>{if(i.origin!==t)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${t}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(r)};i.source.postMessage(s,n)})(g,u,h,P),k=((e,r,t,n,d)=>{const{destroy:u,onDestroy:h}=n;let v,f;const g={};return n=>{if(n.origin!==r)return void d(`Parent: Handshake - Received ACK message from origin ${n.origin} which did not match expected origin ${r}`);d("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:n.source,originForSending:t,originForReceiving:r};v&&v(),v=((e,r,t)=>{const{localName:n,local:s,remote:d,originForSending:u,originForReceiving:m}=e;let h=!1;const v=e=>{if(e.source!==d||e.data.penpal!==o.Call)return;if(e.origin!==m)return void t(`${n} received message from origin ${e.origin} which did not match expected origin ${m}`);const s=e.data,{methodName:c,args:v,id:f}=s;t(`${n}: Received ${c}() call`);const g=e=>r=>{if(t(`${n}: Sending ${c}() reply`),h)return void t(`${n}: Unable to send ${c}() reply due to destroyed connection`);const s={penpal:o.Reply,id:f,resolution:e,returnValue:r};e===i.Rejected&&r instanceof Error&&(s.returnValue=l(r),s.returnValueIsError=!0);try{d.postMessage(s,u)}catch(e){if(e.name===a.DataCloneError){const r={penpal:o.Reply,id:f,resolution:i.Rejected,returnValue:l(e),returnValueIsError:!0};d.postMessage(r,u)}throw e}};new Promise(e=>e(r[c].apply(r,v))).then(g(i.Fulfilled),g(i.Rejected))};return s.addEventListener(c.Message,v),()=>{h=!0,s.removeEventListener(c.Message,v)}})(p,e,d),h(v),f&&f.forEach(e=>{delete g[e]}),f=n.data.methodNames;const w=((e,r,t,n,a)=>{const{localName:l,local:d,remote:u,originForSending:h,originForReceiving:v}=r;let f=!1;return a(l+": Connecting call sender"),t.reduce((e,r)=>(e[r]=(e=>(...r)=>{let t;a(`${l}: Sending ${e}() call`);try{u.closed&&(t=!0)}catch(e){t=!0}if(t&&n(),f){const r=new Error(`Unable to send ${e}() call due to destroyed connection`);throw r.code=s.ConnectionDestroyed,r}return new Promise((t,n)=>{const s=m(),f=r=>{if(r.source!==u||r.data.penpal!==o.Reply||r.data.id!==s)return;if(r.origin!==v)return void a(`${l} received message from origin ${r.origin} which did not match expected origin ${v}`);const m=r.data;a(`${l}: Received ${e}() reply`),d.removeEventListener(c.Message,f);let h=m.returnValue;m.returnValueIsError&&(h=(e=>{const r=new Error;return Object.keys(e).forEach(t=>r[t]=e[t]),r})(h)),(m.resolution===i.Fulfilled?t:n)(h)};d.addEventListener(c.Message,f),u.postMessage({penpal:o.Call,id:s,methodName:e,args:r},h)})})(r),e),e),()=>{f=!0}})(g,p,f,u,d);return h(w),g}})(u,h,P,p,g);return{promise:new Promise((e,r)=>{const t=((e,r)=>{let t;return void 0!==e&&(t=window.setTimeout(()=>{const t=new Error(`Connection timed out after ${e}ms`);t.code=s.ConnectionTimeout,r(t)},e)),()=>{clearTimeout(t)}})(v,y),n=r=>{if(r.source===d.contentWindow&&r.data)if(r.data.penpal!==o.Syn)if(r.data.penpal!==o.Ack);else{const n=k(r);n&&(t(),e(n))}else E(r)};window.addEventListener(c.Message,n),g("Parent: Awaiting handshake"),((e,r)=>{const{destroy:t,onDestroy:n}=r,o=setInterval(()=>{document.contains(e)||(clearInterval(o),t())},6e4);n(()=>{clearInterval(o)})})(d,p),w(e=>{window.removeEventListener(c.Message,n),e||((e=new Error("Connection destroyed")).code=s.ConnectionDestroyed),r(e)})}),destroy(){y()}}})({timeout:1e4,iframe:this.viewerEl,methods:{handleEvent:this.handleEvent,getIsFullscreen:this.getIsFullscreen,toggleFullscreen:this.toggleFullscreen}}),this.viewerReadyPromise=this.viewerConnection.promise.then(function(e){try{return f.viewerInstance=e,document.addEventListener("fullscreenchange",f.onFullscreenChange),f.viewer.set(f.options),Promise.resolve(!0)}catch(e){return Promise.reject(e)}}).catch(function(e){return console.error(e),!1})}var u,h=d.prototype;return h.loadScene=function(e,r){try{var t=this;return Promise.resolve(t.viewerReadyPromise).then(function(){return t.viewer.loadSceneV2(e,r)})}catch(e){return Promise.reject(e)}},h.listBookmarks=function(){try{return Promise.resolve(this.viewer.listBookmarks())}catch(e){return Promise.reject(e)}},h.listSpaces=function(){try{return Promise.resolve(this.viewer.listSpaces())}catch(e){return Promise.reject(e)}},h.startPresentation=function(){try{var e=this;return Promise.resolve(e.viewerReadyPromise).then(function(){return e.viewer.startPresentation()})}catch(e){return Promise.reject(e)}},h.goToBookmark=function(e){var r=e.bookmarkId,t=e.animate,n=void 0===t||t;try{return Promise.resolve(this.viewer.goToBookmark({bookmarkId:r,animate:n}))}catch(e){return Promise.reject(e)}},h.goToBirdMode=function(e){var r=(void 0===e?{}:e).animate,t=void 0===r||r;try{return Promise.resolve(this.viewer.goToBirdMode({animate:t}))}catch(e){return Promise.reject(e)}},h.goToPersonMode=function(e){var r=void 0===e?{}:e,t=r.findSafeLanding,n=void 0===t||t,o=r.animate,i=void 0===o||o;try{return Promise.resolve(this.viewer.goToPersonMode({findSafeLanding:n,animate:i}))}catch(e){return Promise.reject(e)}},h.zoomExtents=function(e){var r=void 0===e?{}:e,t=r.spaceId,n=void 0===t?void 0:t,o=r.animate,i=void 0===o||o,s=r.zoomMin,a=void 0!==s&&s,c=r.zoomMax,l=void 0!==c&&c;try{var d=this.viewerEl.getBoundingClientRect();return Promise.resolve(this.viewer.zoomExtents({spaceId:n,animate:i,aspect:d.width/d.height,zoomMin:a,zoomMax:l}))}catch(e){return Promise.reject(e)}},h.set=function(e){this.viewer.set(g(e))},h.on=function(e,r){return f++,this.listeners.set(f,r),this.viewer.addListener(e,f),f},h.off=function(e){return this.viewer.removeListener(e)},h.destroy=function(){try{return document.removeEventListener("fullscreenchange",this.onFullscreenChange),Promise.resolve(this.viewerConnection.destroy())}catch(e){return Promise.reject(e)}},(u=[{key:"viewer",get:function(){if(!this.viewerInstance)throw new Error("Method called before viewer initialization. Wait for viewerReadyPromise to resolve before performing this action");return this.viewerInstance}}])&&function(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(d.prototype,u),d}(),exports.defaultEmbedOptions=p;
@@ -1 +1 @@
1
- const e={"http:":"80","https:":"443"},n=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,t=["file:","data:"];var o,r,i,s,a;!function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(r||(r={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(i||(i={})),function(e){e.DataCloneError="DataCloneError"}(s||(s={})),function(e){e.Message="message"}(a||(a={}));const c=({name:e,message:n,stack:t})=>({name:e,message:n,stack:t});let l=0;var d=()=>++l;const u=window.__A_EMBED_API_VERSION__||"v2_0_0",m=`${window.__A_VIEWER_URL__||"https://viewer.archilogic.com"}/${u}?embedType=api`;let h=0;const g=e=>JSON.parse(JSON.stringify(e));var p;!function(e){e[e.none=0]="none",e[e.goToCameraDefault=1]="goToCameraDefault",e[e.goToFirstBookmark=2]="goToFirstBookmark",e[e.jumpToCameraDefault=3]="jumpToCameraDefault",e[e.jumpToFirstBookmark=4]="jumpToFirstBookmark",e[e.tourOnce=5]="tourOnce",e[e.tourOnceAndGoBack=6]="tourOnceAndGoBack",e[e.tourLoop=7]="tourLoop"}(p||(p={}));const f={transparentBackground:!0,presentationMode:p.jumpToCameraDefault,showTitle:!1,showLogo:!1,minimap:!1,lowResTexturesOnly:!1,bookmarksActive:!1,uiButtons:{birdMode:!1,personMode:!1,fullscreen:!1,bookmarkStrip:!1,share:!1,help:!1,presentation:!1,units:!1,exportImage:!1}};export default class{constructor(l,u={}){var h=this;this.listeners=new Map,this.onFullscreenChange=()=>{this.viewer.onFullscreenChange&&this.viewer.onFullscreenChange(this.getIsFullscreen())},this.toggleFullscreen=async function(){return h.getIsFullscreen()?await document.exitFullscreen():await h.containerEl.requestFullscreen(),h.getIsFullscreen()},this.handleEvent=(e,n)=>{const t=this.listeners.get(e);if(t)return t(n);console.warn("Listener not found")},this.getIsFullscreen=()=>Boolean(document.fullscreenElement&&document.fullscreenElement===this.containerEl),this.options=g({...f,...u}),this.containerEl=l,this.viewerEl=function(e=document.body){const n=document.createElement("iframe");return Object.assign(n,{src:m,width:"100%",height:"100%",title:"Archilogic Embed",frameBorder:"0",scrolling:"no",allowTransparency:"true",allowFullscreen:"true",style:"border: 0;"}),e.appendChild(n),n}(l),this.viewerConnection=(l=>{let{iframe:u,methods:m={},childOrigin:h,timeout:g,debug:p=!1}=l;const f=(e=>(...n)=>{e&&console.log("[Penpal]",...n)})(p),w=(()=>{const e=[];let n=!1;return{destroy(t){n=!0,e.forEach(e=>{e(t)})},onDestroy(t){n?t():e.push(t)}}})(),{onDestroy:v,destroy:y}=w;h||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=i.NoIframeSrc,e}})(u),h=(o=>{if(o&&t.find(e=>o.startsWith(e)))return"null";const r=document.location,i=n.exec(o);let s,a,c;return i?(s=i[1]?i[1]:r.protocol,a=i[2],c=i[4]):(s=r.protocol,a=r.hostname,c=r.port),`${s}//${a}${c&&c!==e[s]?":"+c:""}`})(u.src));const E="null"===h?"*":h,k=((e,n,t,r)=>i=>{if(i.origin!==t)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${t}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(n)};i.source.postMessage(s,r)})(f,m,h,E),C=((e,n,t,l,u)=>{const{destroy:m,onDestroy:h}=l;let g,p;const f={};return l=>{if(l.origin!==n)return void u(`Parent: Handshake - Received ACK message from origin ${l.origin} which did not match expected origin ${n}`);u("Parent: Handshake - Received ACK");const w={localName:"Parent",local:window,remote:l.source,originForSending:t,originForReceiving:n};g&&g(),g=((e,n,t)=>{const{localName:i,local:l,remote:d,originForSending:u,originForReceiving:m}=e;let h=!1;const g=e=>{if(e.source!==d||e.data.penpal!==o.Call)return;if(e.origin!==m)return void t(`${i} received message from origin ${e.origin} which did not match expected origin ${m}`);const a=e.data,{methodName:l,args:g,id:p}=a;t(`${i}: Received ${l}() call`);const f=e=>n=>{if(t(`${i}: Sending ${l}() reply`),h)return void t(`${i}: Unable to send ${l}() reply due to destroyed connection`);const a={penpal:o.Reply,id:p,resolution:e,returnValue:n};e===r.Rejected&&n instanceof Error&&(a.returnValue=c(n),a.returnValueIsError=!0);try{d.postMessage(a,u)}catch(e){if(e.name===s.DataCloneError){const n={penpal:o.Reply,id:p,resolution:r.Rejected,returnValue:c(e),returnValueIsError:!0};d.postMessage(n,u)}throw e}};new Promise(e=>e(n[l].apply(n,g))).then(f(r.Fulfilled),f(r.Rejected))};return l.addEventListener(a.Message,g),()=>{h=!0,l.removeEventListener(a.Message,g)}})(w,e,u),h(g),p&&p.forEach(e=>{delete f[e]}),p=l.data.methodNames;const v=((e,n,t,s,c)=>{const{localName:l,local:u,remote:m,originForSending:h,originForReceiving:g}=n;let p=!1;return c(l+": Connecting call sender"),t.reduce((e,n)=>(e[n]=(e=>(...n)=>{let t;c(`${l}: Sending ${e}() call`);try{m.closed&&(t=!0)}catch(e){t=!0}if(t&&s(),p){const n=new Error(`Unable to send ${e}() call due to destroyed connection`);throw n.code=i.ConnectionDestroyed,n}return new Promise((t,i)=>{const s=d(),p=n=>{if(n.source!==m||n.data.penpal!==o.Reply||n.data.id!==s)return;if(n.origin!==g)return void c(`${l} received message from origin ${n.origin} which did not match expected origin ${g}`);const d=n.data;c(`${l}: Received ${e}() reply`),u.removeEventListener(a.Message,p);let h=d.returnValue;d.returnValueIsError&&(h=(e=>{const n=new Error;return Object.keys(e).forEach(t=>n[t]=e[t]),n})(h)),(d.resolution===r.Fulfilled?t:i)(h)};u.addEventListener(a.Message,p),m.postMessage({penpal:o.Call,id:s,methodName:e,args:n},h)})})(n),e),e),()=>{p=!0}})(f,w,p,m,u);return h(v),f}})(m,h,E,w,f);return{promise:new Promise((e,n)=>{const t=((e,n)=>{let t;return void 0!==e&&(t=window.setTimeout(()=>{const t=new Error(`Connection timed out after ${e}ms`);t.code=i.ConnectionTimeout,n(t)},e)),()=>{clearTimeout(t)}})(g,y),r=n=>{if(n.source===u.contentWindow&&n.data)if(n.data.penpal!==o.Syn)if(n.data.penpal!==o.Ack);else{const o=C(n);o&&(t(),e(o))}else k(n)};window.addEventListener(a.Message,r),f("Parent: Awaiting handshake"),((e,n)=>{const{destroy:t,onDestroy:o}=n,r=setInterval(()=>{document.contains(e)||(clearInterval(r),t())},6e4);o(()=>{clearInterval(r)})})(u,w),v(e=>{window.removeEventListener(a.Message,r),e||((e=new Error("Connection destroyed")).code=i.ConnectionDestroyed),n(e)})}),destroy(){y()}}})({timeout:1e4,iframe:this.viewerEl,methods:{handleEvent:this.handleEvent,getIsFullscreen:this.getIsFullscreen,toggleFullscreen:this.toggleFullscreen}}),this.viewerReadyPromise=this.viewerConnection.promise.then(async function(e){return h.viewerInstance=e,document.addEventListener("fullscreenchange",h.onFullscreenChange),h.viewer.set(h.options),!0}).catch(e=>(console.error(e),!1))}get viewer(){if(!this.viewerInstance)throw new Error("Method called before viewer initialization. Wait for viewerReadyPromise to resolve before performing this action");return this.viewerInstance}async loadScene(e,n){return await this.viewerReadyPromise,this.viewer.loadSceneV2(e,n)}async listBookmarks(){return this.viewer.listBookmarks()}async listSpaces(){return this.viewer.listSpaces()}async startPresentation(){return await this.viewerReadyPromise,this.viewer.startPresentation()}async goToBookmark({bookmarkId:e,animate:n=!0}){return this.viewer.goToBookmark({bookmarkId:e,animate:n})}async goToBirdMode({animate:e=!0}={}){return this.viewer.goToBirdMode({animate:e})}async goToPersonMode({findSafeLanding:e=!0,animate:n=!0}={}){return this.viewer.goToPersonMode({findSafeLanding:e,animate:n})}async zoomExtents({spaceId:e,animate:n=!0,zoomMin:t=!1,zoomMax:o=!1}={}){const r=this.viewerEl.getBoundingClientRect();return this.viewer.zoomExtents({spaceId:e,animate:n,aspect:r.width/r.height,zoomMin:t,zoomMax:o})}set(e){this.viewer.set(g(e))}on(e,n){return h++,this.listeners.set(h,n),this.viewer.addListener(e,h),h}off(e){return this.viewer.removeListener(e)}async destroy(){return document.removeEventListener("fullscreenchange",this.onFullscreenChange),this.viewerConnection.destroy()}}export{p as PresentationMode,f as defaultEmbedOptions};
1
+ const e={"http:":"80","https:":"443"},n=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,t=["file:","data:"];var o,r,i,s,a;!function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(r||(r={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(i||(i={})),function(e){e.DataCloneError="DataCloneError"}(s||(s={})),function(e){e.Message="message"}(a||(a={}));const c=({name:e,message:n,stack:t})=>({name:e,message:n,stack:t});let l=0;var d=()=>++l;const u=window.__A_EMBED_API_VERSION__||"v2_1_0",m=`${window.__A_VIEWER_URL__||"https://viewer.archilogic.com"}/${u}?embedType=api`;let h=0;const g=e=>JSON.parse(JSON.stringify(e));var p;!function(e){e[e.none=0]="none",e[e.goToCameraDefault=1]="goToCameraDefault",e[e.goToFirstBookmark=2]="goToFirstBookmark",e[e.jumpToCameraDefault=3]="jumpToCameraDefault",e[e.jumpToFirstBookmark=4]="jumpToFirstBookmark",e[e.tourOnce=5]="tourOnce",e[e.tourOnceAndGoBack=6]="tourOnceAndGoBack",e[e.tourLoop=7]="tourLoop"}(p||(p={}));const f={transparentBackground:!0,presentationMode:p.jumpToCameraDefault,showTitle:!1,showLogo:!1,minimap:!1,lowResTexturesOnly:!1,bookmarksActive:!1,uiButtons:{birdMode:!1,personMode:!1,floorPlanMode:!1,fullscreen:!1,bookmarkStrip:!1,share:!1,help:!1,presentation:!1,units:!1,exportImage:!1,measureTool:!1}};export default class{constructor(l,u={}){var h=this;this.listeners=new Map,this.onFullscreenChange=()=>{this.viewer.onFullscreenChange&&this.viewer.onFullscreenChange(this.getIsFullscreen())},this.toggleFullscreen=async function(){return h.getIsFullscreen()?await document.exitFullscreen():await h.containerEl.requestFullscreen(),h.getIsFullscreen()},this.handleEvent=(e,n)=>{const t=this.listeners.get(e);if(t)return t(n);console.warn("Listener not found")},this.getIsFullscreen=()=>Boolean(document.fullscreenElement&&document.fullscreenElement===this.containerEl),this.options=g({...f,...u}),this.containerEl=l,this.viewerEl=function(e=document.body){const n=document.createElement("iframe");return Object.assign(n,{src:m,width:"100%",height:"100%",title:"Archilogic Embed",frameBorder:"0",scrolling:"no",allowTransparency:"true",allowFullscreen:"true",style:"border: 0;"}),e.appendChild(n),n}(l),this.viewerConnection=(l=>{let{iframe:u,methods:m={},childOrigin:h,timeout:g,debug:p=!1}=l;const f=(e=>(...n)=>{e&&console.log("[Penpal]",...n)})(p),w=(()=>{const e=[];let n=!1;return{destroy(t){n=!0,e.forEach(e=>{e(t)})},onDestroy(t){n?t():e.push(t)}}})(),{onDestroy:v,destroy:y}=w;h||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=i.NoIframeSrc,e}})(u),h=(o=>{if(o&&t.find(e=>o.startsWith(e)))return"null";const r=document.location,i=n.exec(o);let s,a,c;return i?(s=i[1]?i[1]:r.protocol,a=i[2],c=i[4]):(s=r.protocol,a=r.hostname,c=r.port),`${s}//${a}${c&&c!==e[s]?":"+c:""}`})(u.src));const E="null"===h?"*":h,k=((e,n,t,r)=>i=>{if(i.origin!==t)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${t}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(n)};i.source.postMessage(s,r)})(f,m,h,E),C=((e,n,t,l,u)=>{const{destroy:m,onDestroy:h}=l;let g,p;const f={};return l=>{if(l.origin!==n)return void u(`Parent: Handshake - Received ACK message from origin ${l.origin} which did not match expected origin ${n}`);u("Parent: Handshake - Received ACK");const w={localName:"Parent",local:window,remote:l.source,originForSending:t,originForReceiving:n};g&&g(),g=((e,n,t)=>{const{localName:i,local:l,remote:d,originForSending:u,originForReceiving:m}=e;let h=!1;const g=e=>{if(e.source!==d||e.data.penpal!==o.Call)return;if(e.origin!==m)return void t(`${i} received message from origin ${e.origin} which did not match expected origin ${m}`);const a=e.data,{methodName:l,args:g,id:p}=a;t(`${i}: Received ${l}() call`);const f=e=>n=>{if(t(`${i}: Sending ${l}() reply`),h)return void t(`${i}: Unable to send ${l}() reply due to destroyed connection`);const a={penpal:o.Reply,id:p,resolution:e,returnValue:n};e===r.Rejected&&n instanceof Error&&(a.returnValue=c(n),a.returnValueIsError=!0);try{d.postMessage(a,u)}catch(e){if(e.name===s.DataCloneError){const n={penpal:o.Reply,id:p,resolution:r.Rejected,returnValue:c(e),returnValueIsError:!0};d.postMessage(n,u)}throw e}};new Promise(e=>e(n[l].apply(n,g))).then(f(r.Fulfilled),f(r.Rejected))};return l.addEventListener(a.Message,g),()=>{h=!0,l.removeEventListener(a.Message,g)}})(w,e,u),h(g),p&&p.forEach(e=>{delete f[e]}),p=l.data.methodNames;const v=((e,n,t,s,c)=>{const{localName:l,local:u,remote:m,originForSending:h,originForReceiving:g}=n;let p=!1;return c(l+": Connecting call sender"),t.reduce((e,n)=>(e[n]=(e=>(...n)=>{let t;c(`${l}: Sending ${e}() call`);try{m.closed&&(t=!0)}catch(e){t=!0}if(t&&s(),p){const n=new Error(`Unable to send ${e}() call due to destroyed connection`);throw n.code=i.ConnectionDestroyed,n}return new Promise((t,i)=>{const s=d(),p=n=>{if(n.source!==m||n.data.penpal!==o.Reply||n.data.id!==s)return;if(n.origin!==g)return void c(`${l} received message from origin ${n.origin} which did not match expected origin ${g}`);const d=n.data;c(`${l}: Received ${e}() reply`),u.removeEventListener(a.Message,p);let h=d.returnValue;d.returnValueIsError&&(h=(e=>{const n=new Error;return Object.keys(e).forEach(t=>n[t]=e[t]),n})(h)),(d.resolution===r.Fulfilled?t:i)(h)};u.addEventListener(a.Message,p),m.postMessage({penpal:o.Call,id:s,methodName:e,args:n},h)})})(n),e),e),()=>{p=!0}})(f,w,p,m,u);return h(v),f}})(m,h,E,w,f);return{promise:new Promise((e,n)=>{const t=((e,n)=>{let t;return void 0!==e&&(t=window.setTimeout(()=>{const t=new Error(`Connection timed out after ${e}ms`);t.code=i.ConnectionTimeout,n(t)},e)),()=>{clearTimeout(t)}})(g,y),r=n=>{if(n.source===u.contentWindow&&n.data)if(n.data.penpal!==o.Syn)if(n.data.penpal!==o.Ack);else{const o=C(n);o&&(t(),e(o))}else k(n)};window.addEventListener(a.Message,r),f("Parent: Awaiting handshake"),((e,n)=>{const{destroy:t,onDestroy:o}=n,r=setInterval(()=>{document.contains(e)||(clearInterval(r),t())},6e4);o(()=>{clearInterval(r)})})(u,w),v(e=>{window.removeEventListener(a.Message,r),e||((e=new Error("Connection destroyed")).code=i.ConnectionDestroyed),n(e)})}),destroy(){y()}}})({timeout:1e4,iframe:this.viewerEl,methods:{handleEvent:this.handleEvent,getIsFullscreen:this.getIsFullscreen,toggleFullscreen:this.toggleFullscreen}}),this.viewerReadyPromise=this.viewerConnection.promise.then(async function(e){return h.viewerInstance=e,document.addEventListener("fullscreenchange",h.onFullscreenChange),h.viewer.set(h.options),!0}).catch(e=>(console.error(e),!1))}get viewer(){if(!this.viewerInstance)throw new Error("Method called before viewer initialization. Wait for viewerReadyPromise to resolve before performing this action");return this.viewerInstance}async loadScene(e,n){return await this.viewerReadyPromise,this.viewer.loadSceneV2(e,n)}async listBookmarks(){return this.viewer.listBookmarks()}async listSpaces(){return this.viewer.listSpaces()}async startPresentation(){return await this.viewerReadyPromise,this.viewer.startPresentation()}async goToBookmark({bookmarkId:e,animate:n=!0}){return this.viewer.goToBookmark({bookmarkId:e,animate:n})}async goToBirdMode({animate:e=!0}={}){return this.viewer.goToBirdMode({animate:e})}async goToPersonMode({findSafeLanding:e=!0,animate:n=!0}={}){return this.viewer.goToPersonMode({findSafeLanding:e,animate:n})}async zoomExtents({spaceId:e,animate:n=!0,zoomMin:t=!1,zoomMax:o=!1}={}){const r=this.viewerEl.getBoundingClientRect();return this.viewer.zoomExtents({spaceId:e,animate:n,aspect:r.width/r.height,zoomMin:t,zoomMax:o})}set(e){this.viewer.set(g(e))}on(e,n){return h++,this.listeners.set(h,n),this.viewer.addListener(e,h),h}off(e){return this.viewer.removeListener(e)}async destroy(){return document.removeEventListener("fullscreenchange",this.onFullscreenChange),this.viewerConnection.destroy()}}export{p as PresentationMode,f as defaultEmbedOptions};
@@ -1 +1 @@
1
- function e(){return(e=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}const r={"http:":"80","https:":"443"},t=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,n=["file:","data:"];var o,i,s,a,c;!function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(i||(i={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(s||(s={})),function(e){e.DataCloneError="DataCloneError"}(a||(a={})),function(e){e.Message="message"}(c||(c={}));const l=({name:e,message:r,stack:t})=>({name:e,message:r,stack:t});let u=0;var d,m=()=>++u,h=window.__A_EMBED_API_VERSION__||"v2_0_0",v=(window.__A_VIEWER_URL__||"https://viewer.archilogic.com")+"/"+h+"?embedType=api",f=0,g=function(e){return JSON.parse(JSON.stringify(e))};!function(e){e[e.none=0]="none",e[e.goToCameraDefault=1]="goToCameraDefault",e[e.goToFirstBookmark=2]="goToFirstBookmark",e[e.jumpToCameraDefault=3]="jumpToCameraDefault",e[e.jumpToFirstBookmark=4]="jumpToFirstBookmark",e[e.tourOnce=5]="tourOnce",e[e.tourOnceAndGoBack=6]="tourOnceAndGoBack",e[e.tourLoop=7]="tourLoop"}(d||(d={}));var p={transparentBackground:!0,presentationMode:d.jumpToCameraDefault,showTitle:!1,showLogo:!1,minimap:!1,lowResTexturesOnly:!1,bookmarksActive:!1,uiButtons:{birdMode:!1,personMode:!1,fullscreen:!1,bookmarkStrip:!1,share:!1,help:!1,presentation:!1,units:!1,exportImage:!1}},w=function(){function u(u,d){var h=this,f=this,w=this;void 0===d&&(d={}),this.listeners=new Map,this.onFullscreenChange=function(){w.viewer.onFullscreenChange&&w.viewer.onFullscreenChange(w.getIsFullscreen())},this.toggleFullscreen=function(){try{var e=function(){return h.getIsFullscreen()},r=h.getIsFullscreen()?Promise.resolve(document.exitFullscreen()).then(function(){}):Promise.resolve(h.containerEl.requestFullscreen()).then(function(){});return Promise.resolve(r&&r.then?r.then(e):e())}catch(e){return Promise.reject(e)}},this.handleEvent=function(e,r){var t=w.listeners.get(e);if(t)return t(r);console.warn("Listener not found")},this.getIsFullscreen=function(){return Boolean(document.fullscreenElement&&document.fullscreenElement===w.containerEl)},this.options=g(e({},p,d)),this.containerEl=u,this.viewerEl=function(e){void 0===e&&(e=document.body);var r=document.createElement("iframe");return Object.assign(r,{src:v,width:"100%",height:"100%",title:"Archilogic Embed",frameBorder:"0",scrolling:"no",allowTransparency:"true",allowFullscreen:"true",style:"border: 0;"}),e.appendChild(r),r}(u),this.viewerConnection=(e=>{let{iframe:u,methods:d={},childOrigin:h,timeout:v,debug:f=!1}=e;const g=(e=>(...r)=>{e&&console.log("[Penpal]",...r)})(f),p=(()=>{const e=[];let r=!1;return{destroy(t){r=!0,e.forEach(e=>{e(t)})},onDestroy(t){r?t():e.push(t)}}})(),{onDestroy:w,destroy:y}=p;h||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=s.NoIframeSrc,e}})(u),h=(e=>{if(e&&n.find(r=>e.startsWith(r)))return"null";const o=document.location,i=t.exec(e);let s,a,c;return i?(s=i[1]?i[1]:o.protocol,a=i[2],c=i[4]):(s=o.protocol,a=o.hostname,c=o.port),`${s}//${a}${c&&c!==r[s]?":"+c:""}`})(u.src));const P="null"===h?"*":h,k=((e,r,t,n)=>i=>{if(i.origin!==t)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${t}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(r)};i.source.postMessage(s,n)})(g,d,h,P),E=((e,r,t,n,u)=>{const{destroy:d,onDestroy:h}=n;let v,f;const g={};return n=>{if(n.origin!==r)return void u(`Parent: Handshake - Received ACK message from origin ${n.origin} which did not match expected origin ${r}`);u("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:n.source,originForSending:t,originForReceiving:r};v&&v(),v=((e,r,t)=>{const{localName:n,local:s,remote:u,originForSending:d,originForReceiving:m}=e;let h=!1;const v=e=>{if(e.source!==u||e.data.penpal!==o.Call)return;if(e.origin!==m)return void t(`${n} received message from origin ${e.origin} which did not match expected origin ${m}`);const s=e.data,{methodName:c,args:v,id:f}=s;t(`${n}: Received ${c}() call`);const g=e=>r=>{if(t(`${n}: Sending ${c}() reply`),h)return void t(`${n}: Unable to send ${c}() reply due to destroyed connection`);const s={penpal:o.Reply,id:f,resolution:e,returnValue:r};e===i.Rejected&&r instanceof Error&&(s.returnValue=l(r),s.returnValueIsError=!0);try{u.postMessage(s,d)}catch(e){if(e.name===a.DataCloneError){const r={penpal:o.Reply,id:f,resolution:i.Rejected,returnValue:l(e),returnValueIsError:!0};u.postMessage(r,d)}throw e}};new Promise(e=>e(r[c].apply(r,v))).then(g(i.Fulfilled),g(i.Rejected))};return s.addEventListener(c.Message,v),()=>{h=!0,s.removeEventListener(c.Message,v)}})(p,e,u),h(v),f&&f.forEach(e=>{delete g[e]}),f=n.data.methodNames;const w=((e,r,t,n,a)=>{const{localName:l,local:u,remote:d,originForSending:h,originForReceiving:v}=r;let f=!1;return a(l+": Connecting call sender"),t.reduce((e,r)=>(e[r]=(e=>(...r)=>{let t;a(`${l}: Sending ${e}() call`);try{d.closed&&(t=!0)}catch(e){t=!0}if(t&&n(),f){const r=new Error(`Unable to send ${e}() call due to destroyed connection`);throw r.code=s.ConnectionDestroyed,r}return new Promise((t,n)=>{const s=m(),f=r=>{if(r.source!==d||r.data.penpal!==o.Reply||r.data.id!==s)return;if(r.origin!==v)return void a(`${l} received message from origin ${r.origin} which did not match expected origin ${v}`);const m=r.data;a(`${l}: Received ${e}() reply`),u.removeEventListener(c.Message,f);let h=m.returnValue;m.returnValueIsError&&(h=(e=>{const r=new Error;return Object.keys(e).forEach(t=>r[t]=e[t]),r})(h)),(m.resolution===i.Fulfilled?t:n)(h)};u.addEventListener(c.Message,f),d.postMessage({penpal:o.Call,id:s,methodName:e,args:r},h)})})(r),e),e),()=>{f=!0}})(g,p,f,d,u);return h(w),g}})(d,h,P,p,g);return{promise:new Promise((e,r)=>{const t=((e,r)=>{let t;return void 0!==e&&(t=window.setTimeout(()=>{const t=new Error(`Connection timed out after ${e}ms`);t.code=s.ConnectionTimeout,r(t)},e)),()=>{clearTimeout(t)}})(v,y),n=r=>{if(r.source===u.contentWindow&&r.data)if(r.data.penpal!==o.Syn)if(r.data.penpal!==o.Ack);else{const n=E(r);n&&(t(),e(n))}else k(r)};window.addEventListener(c.Message,n),g("Parent: Awaiting handshake"),((e,r)=>{const{destroy:t,onDestroy:n}=r,o=setInterval(()=>{document.contains(e)||(clearInterval(o),t())},6e4);n(()=>{clearInterval(o)})})(u,p),w(e=>{window.removeEventListener(c.Message,n),e||((e=new Error("Connection destroyed")).code=s.ConnectionDestroyed),r(e)})}),destroy(){y()}}})({timeout:1e4,iframe:this.viewerEl,methods:{handleEvent:this.handleEvent,getIsFullscreen:this.getIsFullscreen,toggleFullscreen:this.toggleFullscreen}}),this.viewerReadyPromise=this.viewerConnection.promise.then(function(e){try{return f.viewerInstance=e,document.addEventListener("fullscreenchange",f.onFullscreenChange),f.viewer.set(f.options),Promise.resolve(!0)}catch(e){return Promise.reject(e)}}).catch(function(e){return console.error(e),!1})}var d,h=u.prototype;return h.loadScene=function(e,r){try{var t=this;return Promise.resolve(t.viewerReadyPromise).then(function(){return t.viewer.loadSceneV2(e,r)})}catch(e){return Promise.reject(e)}},h.listBookmarks=function(){try{return Promise.resolve(this.viewer.listBookmarks())}catch(e){return Promise.reject(e)}},h.listSpaces=function(){try{return Promise.resolve(this.viewer.listSpaces())}catch(e){return Promise.reject(e)}},h.startPresentation=function(){try{var e=this;return Promise.resolve(e.viewerReadyPromise).then(function(){return e.viewer.startPresentation()})}catch(e){return Promise.reject(e)}},h.goToBookmark=function(e){var r=e.bookmarkId,t=e.animate,n=void 0===t||t;try{return Promise.resolve(this.viewer.goToBookmark({bookmarkId:r,animate:n}))}catch(e){return Promise.reject(e)}},h.goToBirdMode=function(e){var r=(void 0===e?{}:e).animate,t=void 0===r||r;try{return Promise.resolve(this.viewer.goToBirdMode({animate:t}))}catch(e){return Promise.reject(e)}},h.goToPersonMode=function(e){var r=void 0===e?{}:e,t=r.findSafeLanding,n=void 0===t||t,o=r.animate,i=void 0===o||o;try{return Promise.resolve(this.viewer.goToPersonMode({findSafeLanding:n,animate:i}))}catch(e){return Promise.reject(e)}},h.zoomExtents=function(e){var r=void 0===e?{}:e,t=r.spaceId,n=void 0===t?void 0:t,o=r.animate,i=void 0===o||o,s=r.zoomMin,a=void 0!==s&&s,c=r.zoomMax,l=void 0!==c&&c;try{var u=this.viewerEl.getBoundingClientRect();return Promise.resolve(this.viewer.zoomExtents({spaceId:n,animate:i,aspect:u.width/u.height,zoomMin:a,zoomMax:l}))}catch(e){return Promise.reject(e)}},h.set=function(e){this.viewer.set(g(e))},h.on=function(e,r){return f++,this.listeners.set(f,r),this.viewer.addListener(e,f),f},h.off=function(e){return this.viewer.removeListener(e)},h.destroy=function(){try{return document.removeEventListener("fullscreenchange",this.onFullscreenChange),Promise.resolve(this.viewerConnection.destroy())}catch(e){return Promise.reject(e)}},(d=[{key:"viewer",get:function(){if(!this.viewerInstance)throw new Error("Method called before viewer initialization. Wait for viewerReadyPromise to resolve before performing this action");return this.viewerInstance}}])&&function(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(u.prototype,d),u}();export default w;export{d as PresentationMode,p as defaultEmbedOptions};
1
+ function e(){return(e=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}const r={"http:":"80","https:":"443"},t=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,n=["file:","data:"];var o,i,s,a,c;!function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(i||(i={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(s||(s={})),function(e){e.DataCloneError="DataCloneError"}(a||(a={})),function(e){e.Message="message"}(c||(c={}));const l=({name:e,message:r,stack:t})=>({name:e,message:r,stack:t});let u=0;var d,m=()=>++u,h=window.__A_EMBED_API_VERSION__||"v2_1_0",v=(window.__A_VIEWER_URL__||"https://viewer.archilogic.com")+"/"+h+"?embedType=api",f=0,g=function(e){return JSON.parse(JSON.stringify(e))};!function(e){e[e.none=0]="none",e[e.goToCameraDefault=1]="goToCameraDefault",e[e.goToFirstBookmark=2]="goToFirstBookmark",e[e.jumpToCameraDefault=3]="jumpToCameraDefault",e[e.jumpToFirstBookmark=4]="jumpToFirstBookmark",e[e.tourOnce=5]="tourOnce",e[e.tourOnceAndGoBack=6]="tourOnceAndGoBack",e[e.tourLoop=7]="tourLoop"}(d||(d={}));var p={transparentBackground:!0,presentationMode:d.jumpToCameraDefault,showTitle:!1,showLogo:!1,minimap:!1,lowResTexturesOnly:!1,bookmarksActive:!1,uiButtons:{birdMode:!1,personMode:!1,floorPlanMode:!1,fullscreen:!1,bookmarkStrip:!1,share:!1,help:!1,presentation:!1,units:!1,exportImage:!1,measureTool:!1}},w=function(){function u(u,d){var h=this,f=this,w=this;void 0===d&&(d={}),this.listeners=new Map,this.onFullscreenChange=function(){w.viewer.onFullscreenChange&&w.viewer.onFullscreenChange(w.getIsFullscreen())},this.toggleFullscreen=function(){try{var e=function(){return h.getIsFullscreen()},r=h.getIsFullscreen()?Promise.resolve(document.exitFullscreen()).then(function(){}):Promise.resolve(h.containerEl.requestFullscreen()).then(function(){});return Promise.resolve(r&&r.then?r.then(e):e())}catch(e){return Promise.reject(e)}},this.handleEvent=function(e,r){var t=w.listeners.get(e);if(t)return t(r);console.warn("Listener not found")},this.getIsFullscreen=function(){return Boolean(document.fullscreenElement&&document.fullscreenElement===w.containerEl)},this.options=g(e({},p,d)),this.containerEl=u,this.viewerEl=function(e){void 0===e&&(e=document.body);var r=document.createElement("iframe");return Object.assign(r,{src:v,width:"100%",height:"100%",title:"Archilogic Embed",frameBorder:"0",scrolling:"no",allowTransparency:"true",allowFullscreen:"true",style:"border: 0;"}),e.appendChild(r),r}(u),this.viewerConnection=(e=>{let{iframe:u,methods:d={},childOrigin:h,timeout:v,debug:f=!1}=e;const g=(e=>(...r)=>{e&&console.log("[Penpal]",...r)})(f),p=(()=>{const e=[];let r=!1;return{destroy(t){r=!0,e.forEach(e=>{e(t)})},onDestroy(t){r?t():e.push(t)}}})(),{onDestroy:w,destroy:y}=p;h||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=s.NoIframeSrc,e}})(u),h=(e=>{if(e&&n.find(r=>e.startsWith(r)))return"null";const o=document.location,i=t.exec(e);let s,a,c;return i?(s=i[1]?i[1]:o.protocol,a=i[2],c=i[4]):(s=o.protocol,a=o.hostname,c=o.port),`${s}//${a}${c&&c!==r[s]?":"+c:""}`})(u.src));const P="null"===h?"*":h,k=((e,r,t,n)=>i=>{if(i.origin!==t)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${t}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(r)};i.source.postMessage(s,n)})(g,d,h,P),E=((e,r,t,n,u)=>{const{destroy:d,onDestroy:h}=n;let v,f;const g={};return n=>{if(n.origin!==r)return void u(`Parent: Handshake - Received ACK message from origin ${n.origin} which did not match expected origin ${r}`);u("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:n.source,originForSending:t,originForReceiving:r};v&&v(),v=((e,r,t)=>{const{localName:n,local:s,remote:u,originForSending:d,originForReceiving:m}=e;let h=!1;const v=e=>{if(e.source!==u||e.data.penpal!==o.Call)return;if(e.origin!==m)return void t(`${n} received message from origin ${e.origin} which did not match expected origin ${m}`);const s=e.data,{methodName:c,args:v,id:f}=s;t(`${n}: Received ${c}() call`);const g=e=>r=>{if(t(`${n}: Sending ${c}() reply`),h)return void t(`${n}: Unable to send ${c}() reply due to destroyed connection`);const s={penpal:o.Reply,id:f,resolution:e,returnValue:r};e===i.Rejected&&r instanceof Error&&(s.returnValue=l(r),s.returnValueIsError=!0);try{u.postMessage(s,d)}catch(e){if(e.name===a.DataCloneError){const r={penpal:o.Reply,id:f,resolution:i.Rejected,returnValue:l(e),returnValueIsError:!0};u.postMessage(r,d)}throw e}};new Promise(e=>e(r[c].apply(r,v))).then(g(i.Fulfilled),g(i.Rejected))};return s.addEventListener(c.Message,v),()=>{h=!0,s.removeEventListener(c.Message,v)}})(p,e,u),h(v),f&&f.forEach(e=>{delete g[e]}),f=n.data.methodNames;const w=((e,r,t,n,a)=>{const{localName:l,local:u,remote:d,originForSending:h,originForReceiving:v}=r;let f=!1;return a(l+": Connecting call sender"),t.reduce((e,r)=>(e[r]=(e=>(...r)=>{let t;a(`${l}: Sending ${e}() call`);try{d.closed&&(t=!0)}catch(e){t=!0}if(t&&n(),f){const r=new Error(`Unable to send ${e}() call due to destroyed connection`);throw r.code=s.ConnectionDestroyed,r}return new Promise((t,n)=>{const s=m(),f=r=>{if(r.source!==d||r.data.penpal!==o.Reply||r.data.id!==s)return;if(r.origin!==v)return void a(`${l} received message from origin ${r.origin} which did not match expected origin ${v}`);const m=r.data;a(`${l}: Received ${e}() reply`),u.removeEventListener(c.Message,f);let h=m.returnValue;m.returnValueIsError&&(h=(e=>{const r=new Error;return Object.keys(e).forEach(t=>r[t]=e[t]),r})(h)),(m.resolution===i.Fulfilled?t:n)(h)};u.addEventListener(c.Message,f),d.postMessage({penpal:o.Call,id:s,methodName:e,args:r},h)})})(r),e),e),()=>{f=!0}})(g,p,f,d,u);return h(w),g}})(d,h,P,p,g);return{promise:new Promise((e,r)=>{const t=((e,r)=>{let t;return void 0!==e&&(t=window.setTimeout(()=>{const t=new Error(`Connection timed out after ${e}ms`);t.code=s.ConnectionTimeout,r(t)},e)),()=>{clearTimeout(t)}})(v,y),n=r=>{if(r.source===u.contentWindow&&r.data)if(r.data.penpal!==o.Syn)if(r.data.penpal!==o.Ack);else{const n=E(r);n&&(t(),e(n))}else k(r)};window.addEventListener(c.Message,n),g("Parent: Awaiting handshake"),((e,r)=>{const{destroy:t,onDestroy:n}=r,o=setInterval(()=>{document.contains(e)||(clearInterval(o),t())},6e4);n(()=>{clearInterval(o)})})(u,p),w(e=>{window.removeEventListener(c.Message,n),e||((e=new Error("Connection destroyed")).code=s.ConnectionDestroyed),r(e)})}),destroy(){y()}}})({timeout:1e4,iframe:this.viewerEl,methods:{handleEvent:this.handleEvent,getIsFullscreen:this.getIsFullscreen,toggleFullscreen:this.toggleFullscreen}}),this.viewerReadyPromise=this.viewerConnection.promise.then(function(e){try{return f.viewerInstance=e,document.addEventListener("fullscreenchange",f.onFullscreenChange),f.viewer.set(f.options),Promise.resolve(!0)}catch(e){return Promise.reject(e)}}).catch(function(e){return console.error(e),!1})}var d,h=u.prototype;return h.loadScene=function(e,r){try{var t=this;return Promise.resolve(t.viewerReadyPromise).then(function(){return t.viewer.loadSceneV2(e,r)})}catch(e){return Promise.reject(e)}},h.listBookmarks=function(){try{return Promise.resolve(this.viewer.listBookmarks())}catch(e){return Promise.reject(e)}},h.listSpaces=function(){try{return Promise.resolve(this.viewer.listSpaces())}catch(e){return Promise.reject(e)}},h.startPresentation=function(){try{var e=this;return Promise.resolve(e.viewerReadyPromise).then(function(){return e.viewer.startPresentation()})}catch(e){return Promise.reject(e)}},h.goToBookmark=function(e){var r=e.bookmarkId,t=e.animate,n=void 0===t||t;try{return Promise.resolve(this.viewer.goToBookmark({bookmarkId:r,animate:n}))}catch(e){return Promise.reject(e)}},h.goToBirdMode=function(e){var r=(void 0===e?{}:e).animate,t=void 0===r||r;try{return Promise.resolve(this.viewer.goToBirdMode({animate:t}))}catch(e){return Promise.reject(e)}},h.goToPersonMode=function(e){var r=void 0===e?{}:e,t=r.findSafeLanding,n=void 0===t||t,o=r.animate,i=void 0===o||o;try{return Promise.resolve(this.viewer.goToPersonMode({findSafeLanding:n,animate:i}))}catch(e){return Promise.reject(e)}},h.zoomExtents=function(e){var r=void 0===e?{}:e,t=r.spaceId,n=void 0===t?void 0:t,o=r.animate,i=void 0===o||o,s=r.zoomMin,a=void 0!==s&&s,c=r.zoomMax,l=void 0!==c&&c;try{var u=this.viewerEl.getBoundingClientRect();return Promise.resolve(this.viewer.zoomExtents({spaceId:n,animate:i,aspect:u.width/u.height,zoomMin:a,zoomMax:l}))}catch(e){return Promise.reject(e)}},h.set=function(e){this.viewer.set(g(e))},h.on=function(e,r){return f++,this.listeners.set(f,r),this.viewer.addListener(e,f),f},h.off=function(e){return this.viewer.removeListener(e)},h.destroy=function(){try{return document.removeEventListener("fullscreenchange",this.onFullscreenChange),Promise.resolve(this.viewerConnection.destroy())}catch(e){return Promise.reject(e)}},(d=[{key:"viewer",get:function(){if(!this.viewerInstance)throw new Error("Method called before viewer initialization. Wait for viewerReadyPromise to resolve before performing this action");return this.viewerInstance}}])&&function(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(u.prototype,d),u}();export default w;export{d as PresentationMode,p as defaultEmbedOptions};
package/dist/embed.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e=e||self).embedApi={})}(this,function(e){function r(){return(r=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}const t={"http:":"80","https:":"443"},n=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,o=["file:","data:"];var i,s,a,c,l;!function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(i||(i={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(s||(s={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(a||(a={})),function(e){e.DataCloneError="DataCloneError"}(c||(c={})),function(e){e.Message="message"}(l||(l={}));const d=({name:e,message:r,stack:t})=>({name:e,message:r,stack:t});let u=0;var m,h=()=>++u,f=window.__A_EMBED_API_VERSION__||"v2_0_0",v=(window.__A_VIEWER_URL__||"https://viewer.archilogic.com")+"/"+f+"?embedType=api",g=0,p=function(e){return JSON.parse(JSON.stringify(e))};(m=e.PresentationMode||(e.PresentationMode={}))[m.none=0]="none",m[m.goToCameraDefault=1]="goToCameraDefault",m[m.goToFirstBookmark=2]="goToFirstBookmark",m[m.jumpToCameraDefault=3]="jumpToCameraDefault",m[m.jumpToFirstBookmark=4]="jumpToFirstBookmark",m[m.tourOnce=5]="tourOnce",m[m.tourOnceAndGoBack=6]="tourOnceAndGoBack",m[m.tourLoop=7]="tourLoop";var w={transparentBackground:!0,presentationMode:e.PresentationMode.jumpToCameraDefault,showTitle:!1,showLogo:!1,minimap:!1,lowResTexturesOnly:!1,bookmarksActive:!1,uiButtons:{birdMode:!1,personMode:!1,fullscreen:!1,bookmarkStrip:!1,share:!1,help:!1,presentation:!1,units:!1,exportImage:!1}};e.default=function(){function e(e,u){var m=this,f=this,g=this;void 0===u&&(u={}),this.listeners=new Map,this.onFullscreenChange=function(){g.viewer.onFullscreenChange&&g.viewer.onFullscreenChange(g.getIsFullscreen())},this.toggleFullscreen=function(){try{var e=function(){return m.getIsFullscreen()},r=m.getIsFullscreen()?Promise.resolve(document.exitFullscreen()).then(function(){}):Promise.resolve(m.containerEl.requestFullscreen()).then(function(){});return Promise.resolve(r&&r.then?r.then(e):e())}catch(e){return Promise.reject(e)}},this.handleEvent=function(e,r){var t=g.listeners.get(e);if(t)return t(r);console.warn("Listener not found")},this.getIsFullscreen=function(){return Boolean(document.fullscreenElement&&document.fullscreenElement===g.containerEl)},this.options=p(r({},w,u)),this.containerEl=e,this.viewerEl=function(e){void 0===e&&(e=document.body);var r=document.createElement("iframe");return Object.assign(r,{src:v,width:"100%",height:"100%",title:"Archilogic Embed",frameBorder:"0",scrolling:"no",allowTransparency:"true",allowFullscreen:"true",style:"border: 0;"}),e.appendChild(r),r}(e),this.viewerConnection=(e=>{let{iframe:r,methods:u={},childOrigin:m,timeout:f,debug:v=!1}=e;const g=(e=>(...r)=>{e&&console.log("[Penpal]",...r)})(v),p=(()=>{const e=[];let r=!1;return{destroy(t){r=!0,e.forEach(e=>{e(t)})},onDestroy(t){r?t():e.push(t)}}})(),{onDestroy:w,destroy:y}=p;m||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=a.NoIframeSrc,e}})(r),m=(e=>{if(e&&o.find(r=>e.startsWith(r)))return"null";const r=document.location,i=n.exec(e);let s,a,c;return i?(s=i[1]?i[1]:r.protocol,a=i[2],c=i[4]):(s=r.protocol,a=r.hostname,c=r.port),`${s}//${a}${c&&c!==t[s]?":"+c:""}`})(r.src));const P="null"===m?"*":m,E=((e,r,t,n)=>o=>{if(o.origin!==t)return void e(`Parent: Handshake - Received SYN message from origin ${o.origin} which did not match expected origin ${t}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:i.SynAck,methodNames:Object.keys(r)};o.source.postMessage(s,n)})(g,u,m,P),k=((e,r,t,n,o)=>{const{destroy:u,onDestroy:m}=n;let f,v;const g={};return n=>{if(n.origin!==r)return void o(`Parent: Handshake - Received ACK message from origin ${n.origin} which did not match expected origin ${r}`);o("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:n.source,originForSending:t,originForReceiving:r};f&&f(),f=((e,r,t)=>{const{localName:n,local:o,remote:a,originForSending:u,originForReceiving:m}=e;let h=!1;const f=e=>{if(e.source!==a||e.data.penpal!==i.Call)return;if(e.origin!==m)return void t(`${n} received message from origin ${e.origin} which did not match expected origin ${m}`);const o=e.data,{methodName:l,args:f,id:v}=o;t(`${n}: Received ${l}() call`);const g=e=>r=>{if(t(`${n}: Sending ${l}() reply`),h)return void t(`${n}: Unable to send ${l}() reply due to destroyed connection`);const o={penpal:i.Reply,id:v,resolution:e,returnValue:r};e===s.Rejected&&r instanceof Error&&(o.returnValue=d(r),o.returnValueIsError=!0);try{a.postMessage(o,u)}catch(e){if(e.name===c.DataCloneError){const r={penpal:i.Reply,id:v,resolution:s.Rejected,returnValue:d(e),returnValueIsError:!0};a.postMessage(r,u)}throw e}};new Promise(e=>e(r[l].apply(r,f))).then(g(s.Fulfilled),g(s.Rejected))};return o.addEventListener(l.Message,f),()=>{h=!0,o.removeEventListener(l.Message,f)}})(p,e,o),m(f),v&&v.forEach(e=>{delete g[e]}),v=n.data.methodNames;const w=((e,r,t,n,o)=>{const{localName:c,local:d,remote:u,originForSending:m,originForReceiving:f}=r;let v=!1;return o(c+": Connecting call sender"),t.reduce((e,r)=>(e[r]=(e=>(...r)=>{let t;o(`${c}: Sending ${e}() call`);try{u.closed&&(t=!0)}catch(e){t=!0}if(t&&n(),v){const r=new Error(`Unable to send ${e}() call due to destroyed connection`);throw r.code=a.ConnectionDestroyed,r}return new Promise((t,n)=>{const a=h(),v=r=>{if(r.source!==u||r.data.penpal!==i.Reply||r.data.id!==a)return;if(r.origin!==f)return void o(`${c} received message from origin ${r.origin} which did not match expected origin ${f}`);const m=r.data;o(`${c}: Received ${e}() reply`),d.removeEventListener(l.Message,v);let h=m.returnValue;m.returnValueIsError&&(h=(e=>{const r=new Error;return Object.keys(e).forEach(t=>r[t]=e[t]),r})(h)),(m.resolution===s.Fulfilled?t:n)(h)};d.addEventListener(l.Message,v),u.postMessage({penpal:i.Call,id:a,methodName:e,args:r},m)})})(r),e),e),()=>{v=!0}})(g,p,v,u,o);return m(w),g}})(u,m,P,p,g);return{promise:new Promise((e,t)=>{const n=((e,r)=>{let t;return void 0!==e&&(t=window.setTimeout(()=>{const t=new Error(`Connection timed out after ${e}ms`);t.code=a.ConnectionTimeout,r(t)},e)),()=>{clearTimeout(t)}})(f,y),o=t=>{if(t.source===r.contentWindow&&t.data)if(t.data.penpal!==i.Syn)if(t.data.penpal!==i.Ack);else{const r=k(t);r&&(n(),e(r))}else E(t)};window.addEventListener(l.Message,o),g("Parent: Awaiting handshake"),((e,r)=>{const{destroy:t,onDestroy:n}=r,o=setInterval(()=>{document.contains(e)||(clearInterval(o),t())},6e4);n(()=>{clearInterval(o)})})(r,p),w(e=>{window.removeEventListener(l.Message,o),e||((e=new Error("Connection destroyed")).code=a.ConnectionDestroyed),t(e)})}),destroy(){y()}}})({timeout:1e4,iframe:this.viewerEl,methods:{handleEvent:this.handleEvent,getIsFullscreen:this.getIsFullscreen,toggleFullscreen:this.toggleFullscreen}}),this.viewerReadyPromise=this.viewerConnection.promise.then(function(e){try{return f.viewerInstance=e,document.addEventListener("fullscreenchange",f.onFullscreenChange),f.viewer.set(f.options),Promise.resolve(!0)}catch(e){return Promise.reject(e)}}).catch(function(e){return console.error(e),!1})}var u,m=e.prototype;return m.loadScene=function(e,r){try{var t=this;return Promise.resolve(t.viewerReadyPromise).then(function(){return t.viewer.loadSceneV2(e,r)})}catch(e){return Promise.reject(e)}},m.listBookmarks=function(){try{return Promise.resolve(this.viewer.listBookmarks())}catch(e){return Promise.reject(e)}},m.listSpaces=function(){try{return Promise.resolve(this.viewer.listSpaces())}catch(e){return Promise.reject(e)}},m.startPresentation=function(){try{var e=this;return Promise.resolve(e.viewerReadyPromise).then(function(){return e.viewer.startPresentation()})}catch(e){return Promise.reject(e)}},m.goToBookmark=function(e){var r=e.bookmarkId,t=e.animate,n=void 0===t||t;try{return Promise.resolve(this.viewer.goToBookmark({bookmarkId:r,animate:n}))}catch(e){return Promise.reject(e)}},m.goToBirdMode=function(e){var r=(void 0===e?{}:e).animate,t=void 0===r||r;try{return Promise.resolve(this.viewer.goToBirdMode({animate:t}))}catch(e){return Promise.reject(e)}},m.goToPersonMode=function(e){var r=void 0===e?{}:e,t=r.findSafeLanding,n=void 0===t||t,o=r.animate,i=void 0===o||o;try{return Promise.resolve(this.viewer.goToPersonMode({findSafeLanding:n,animate:i}))}catch(e){return Promise.reject(e)}},m.zoomExtents=function(e){var r=void 0===e?{}:e,t=r.spaceId,n=void 0===t?void 0:t,o=r.animate,i=void 0===o||o,s=r.zoomMin,a=void 0!==s&&s,c=r.zoomMax,l=void 0!==c&&c;try{var d=this.viewerEl.getBoundingClientRect();return Promise.resolve(this.viewer.zoomExtents({spaceId:n,animate:i,aspect:d.width/d.height,zoomMin:a,zoomMax:l}))}catch(e){return Promise.reject(e)}},m.set=function(e){this.viewer.set(p(e))},m.on=function(e,r){return g++,this.listeners.set(g,r),this.viewer.addListener(e,g),g},m.off=function(e){return this.viewer.removeListener(e)},m.destroy=function(){try{return document.removeEventListener("fullscreenchange",this.onFullscreenChange),Promise.resolve(this.viewerConnection.destroy())}catch(e){return Promise.reject(e)}},(u=[{key:"viewer",get:function(){if(!this.viewerInstance)throw new Error("Method called before viewer initialization. Wait for viewerReadyPromise to resolve before performing this action");return this.viewerInstance}}])&&function(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,u),e}(),e.defaultEmbedOptions=w});
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e=e||self).embedApi={})}(this,function(e){function r(){return(r=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}const t={"http:":"80","https:":"443"},n=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,o=["file:","data:"];var i,s,a,c,l;!function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(i||(i={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(s||(s={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(a||(a={})),function(e){e.DataCloneError="DataCloneError"}(c||(c={})),function(e){e.Message="message"}(l||(l={}));const d=({name:e,message:r,stack:t})=>({name:e,message:r,stack:t});let u=0;var m,h=()=>++u,f=window.__A_EMBED_API_VERSION__||"v2_1_0",v=(window.__A_VIEWER_URL__||"https://viewer.archilogic.com")+"/"+f+"?embedType=api",g=0,p=function(e){return JSON.parse(JSON.stringify(e))};(m=e.PresentationMode||(e.PresentationMode={}))[m.none=0]="none",m[m.goToCameraDefault=1]="goToCameraDefault",m[m.goToFirstBookmark=2]="goToFirstBookmark",m[m.jumpToCameraDefault=3]="jumpToCameraDefault",m[m.jumpToFirstBookmark=4]="jumpToFirstBookmark",m[m.tourOnce=5]="tourOnce",m[m.tourOnceAndGoBack=6]="tourOnceAndGoBack",m[m.tourLoop=7]="tourLoop";var w={transparentBackground:!0,presentationMode:e.PresentationMode.jumpToCameraDefault,showTitle:!1,showLogo:!1,minimap:!1,lowResTexturesOnly:!1,bookmarksActive:!1,uiButtons:{birdMode:!1,personMode:!1,floorPlanMode:!1,fullscreen:!1,bookmarkStrip:!1,share:!1,help:!1,presentation:!1,units:!1,exportImage:!1,measureTool:!1}};e.default=function(){function e(e,u){var m=this,f=this,g=this;void 0===u&&(u={}),this.listeners=new Map,this.onFullscreenChange=function(){g.viewer.onFullscreenChange&&g.viewer.onFullscreenChange(g.getIsFullscreen())},this.toggleFullscreen=function(){try{var e=function(){return m.getIsFullscreen()},r=m.getIsFullscreen()?Promise.resolve(document.exitFullscreen()).then(function(){}):Promise.resolve(m.containerEl.requestFullscreen()).then(function(){});return Promise.resolve(r&&r.then?r.then(e):e())}catch(e){return Promise.reject(e)}},this.handleEvent=function(e,r){var t=g.listeners.get(e);if(t)return t(r);console.warn("Listener not found")},this.getIsFullscreen=function(){return Boolean(document.fullscreenElement&&document.fullscreenElement===g.containerEl)},this.options=p(r({},w,u)),this.containerEl=e,this.viewerEl=function(e){void 0===e&&(e=document.body);var r=document.createElement("iframe");return Object.assign(r,{src:v,width:"100%",height:"100%",title:"Archilogic Embed",frameBorder:"0",scrolling:"no",allowTransparency:"true",allowFullscreen:"true",style:"border: 0;"}),e.appendChild(r),r}(e),this.viewerConnection=(e=>{let{iframe:r,methods:u={},childOrigin:m,timeout:f,debug:v=!1}=e;const g=(e=>(...r)=>{e&&console.log("[Penpal]",...r)})(v),p=(()=>{const e=[];let r=!1;return{destroy(t){r=!0,e.forEach(e=>{e(t)})},onDestroy(t){r?t():e.push(t)}}})(),{onDestroy:w,destroy:y}=p;m||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=a.NoIframeSrc,e}})(r),m=(e=>{if(e&&o.find(r=>e.startsWith(r)))return"null";const r=document.location,i=n.exec(e);let s,a,c;return i?(s=i[1]?i[1]:r.protocol,a=i[2],c=i[4]):(s=r.protocol,a=r.hostname,c=r.port),`${s}//${a}${c&&c!==t[s]?":"+c:""}`})(r.src));const P="null"===m?"*":m,E=((e,r,t,n)=>o=>{if(o.origin!==t)return void e(`Parent: Handshake - Received SYN message from origin ${o.origin} which did not match expected origin ${t}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:i.SynAck,methodNames:Object.keys(r)};o.source.postMessage(s,n)})(g,u,m,P),k=((e,r,t,n,o)=>{const{destroy:u,onDestroy:m}=n;let f,v;const g={};return n=>{if(n.origin!==r)return void o(`Parent: Handshake - Received ACK message from origin ${n.origin} which did not match expected origin ${r}`);o("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:n.source,originForSending:t,originForReceiving:r};f&&f(),f=((e,r,t)=>{const{localName:n,local:o,remote:a,originForSending:u,originForReceiving:m}=e;let h=!1;const f=e=>{if(e.source!==a||e.data.penpal!==i.Call)return;if(e.origin!==m)return void t(`${n} received message from origin ${e.origin} which did not match expected origin ${m}`);const o=e.data,{methodName:l,args:f,id:v}=o;t(`${n}: Received ${l}() call`);const g=e=>r=>{if(t(`${n}: Sending ${l}() reply`),h)return void t(`${n}: Unable to send ${l}() reply due to destroyed connection`);const o={penpal:i.Reply,id:v,resolution:e,returnValue:r};e===s.Rejected&&r instanceof Error&&(o.returnValue=d(r),o.returnValueIsError=!0);try{a.postMessage(o,u)}catch(e){if(e.name===c.DataCloneError){const r={penpal:i.Reply,id:v,resolution:s.Rejected,returnValue:d(e),returnValueIsError:!0};a.postMessage(r,u)}throw e}};new Promise(e=>e(r[l].apply(r,f))).then(g(s.Fulfilled),g(s.Rejected))};return o.addEventListener(l.Message,f),()=>{h=!0,o.removeEventListener(l.Message,f)}})(p,e,o),m(f),v&&v.forEach(e=>{delete g[e]}),v=n.data.methodNames;const w=((e,r,t,n,o)=>{const{localName:c,local:d,remote:u,originForSending:m,originForReceiving:f}=r;let v=!1;return o(c+": Connecting call sender"),t.reduce((e,r)=>(e[r]=(e=>(...r)=>{let t;o(`${c}: Sending ${e}() call`);try{u.closed&&(t=!0)}catch(e){t=!0}if(t&&n(),v){const r=new Error(`Unable to send ${e}() call due to destroyed connection`);throw r.code=a.ConnectionDestroyed,r}return new Promise((t,n)=>{const a=h(),v=r=>{if(r.source!==u||r.data.penpal!==i.Reply||r.data.id!==a)return;if(r.origin!==f)return void o(`${c} received message from origin ${r.origin} which did not match expected origin ${f}`);const m=r.data;o(`${c}: Received ${e}() reply`),d.removeEventListener(l.Message,v);let h=m.returnValue;m.returnValueIsError&&(h=(e=>{const r=new Error;return Object.keys(e).forEach(t=>r[t]=e[t]),r})(h)),(m.resolution===s.Fulfilled?t:n)(h)};d.addEventListener(l.Message,v),u.postMessage({penpal:i.Call,id:a,methodName:e,args:r},m)})})(r),e),e),()=>{v=!0}})(g,p,v,u,o);return m(w),g}})(u,m,P,p,g);return{promise:new Promise((e,t)=>{const n=((e,r)=>{let t;return void 0!==e&&(t=window.setTimeout(()=>{const t=new Error(`Connection timed out after ${e}ms`);t.code=a.ConnectionTimeout,r(t)},e)),()=>{clearTimeout(t)}})(f,y),o=t=>{if(t.source===r.contentWindow&&t.data)if(t.data.penpal!==i.Syn)if(t.data.penpal!==i.Ack);else{const r=k(t);r&&(n(),e(r))}else E(t)};window.addEventListener(l.Message,o),g("Parent: Awaiting handshake"),((e,r)=>{const{destroy:t,onDestroy:n}=r,o=setInterval(()=>{document.contains(e)||(clearInterval(o),t())},6e4);n(()=>{clearInterval(o)})})(r,p),w(e=>{window.removeEventListener(l.Message,o),e||((e=new Error("Connection destroyed")).code=a.ConnectionDestroyed),t(e)})}),destroy(){y()}}})({timeout:1e4,iframe:this.viewerEl,methods:{handleEvent:this.handleEvent,getIsFullscreen:this.getIsFullscreen,toggleFullscreen:this.toggleFullscreen}}),this.viewerReadyPromise=this.viewerConnection.promise.then(function(e){try{return f.viewerInstance=e,document.addEventListener("fullscreenchange",f.onFullscreenChange),f.viewer.set(f.options),Promise.resolve(!0)}catch(e){return Promise.reject(e)}}).catch(function(e){return console.error(e),!1})}var u,m=e.prototype;return m.loadScene=function(e,r){try{var t=this;return Promise.resolve(t.viewerReadyPromise).then(function(){return t.viewer.loadSceneV2(e,r)})}catch(e){return Promise.reject(e)}},m.listBookmarks=function(){try{return Promise.resolve(this.viewer.listBookmarks())}catch(e){return Promise.reject(e)}},m.listSpaces=function(){try{return Promise.resolve(this.viewer.listSpaces())}catch(e){return Promise.reject(e)}},m.startPresentation=function(){try{var e=this;return Promise.resolve(e.viewerReadyPromise).then(function(){return e.viewer.startPresentation()})}catch(e){return Promise.reject(e)}},m.goToBookmark=function(e){var r=e.bookmarkId,t=e.animate,n=void 0===t||t;try{return Promise.resolve(this.viewer.goToBookmark({bookmarkId:r,animate:n}))}catch(e){return Promise.reject(e)}},m.goToBirdMode=function(e){var r=(void 0===e?{}:e).animate,t=void 0===r||r;try{return Promise.resolve(this.viewer.goToBirdMode({animate:t}))}catch(e){return Promise.reject(e)}},m.goToPersonMode=function(e){var r=void 0===e?{}:e,t=r.findSafeLanding,n=void 0===t||t,o=r.animate,i=void 0===o||o;try{return Promise.resolve(this.viewer.goToPersonMode({findSafeLanding:n,animate:i}))}catch(e){return Promise.reject(e)}},m.zoomExtents=function(e){var r=void 0===e?{}:e,t=r.spaceId,n=void 0===t?void 0:t,o=r.animate,i=void 0===o||o,s=r.zoomMin,a=void 0!==s&&s,c=r.zoomMax,l=void 0!==c&&c;try{var d=this.viewerEl.getBoundingClientRect();return Promise.resolve(this.viewer.zoomExtents({spaceId:n,animate:i,aspect:d.width/d.height,zoomMin:a,zoomMax:l}))}catch(e){return Promise.reject(e)}},m.set=function(e){this.viewer.set(p(e))},m.on=function(e,r){return g++,this.listeners.set(g,r),this.viewer.addListener(e,g),g},m.off=function(e){return this.viewer.removeListener(e)},m.destroy=function(){try{return document.removeEventListener("fullscreenchange",this.onFullscreenChange),Promise.resolve(this.viewerConnection.destroy())}catch(e){return Promise.reject(e)}},(u=[{key:"viewer",get:function(){if(!this.viewerInstance)throw new Error("Method called before viewer initialization. Wait for viewerReadyPromise to resolve before performing this action");return this.viewerInstance}}])&&function(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,u),e}(),e.defaultEmbedOptions=w});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archilogic/embed-api",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "",
5
5
  "source": "src/embed.ts",
6
6
  "main": "dist/embed.js",
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <excludeFolder url="file://$MODULE_DIR$/temp" />
6
- <excludeFolder url="file://$MODULE_DIR$/.tmp" />
7
- <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
- </content>
9
- <orderEntry type="inheritedJdk" />
10
- <orderEntry type="sourceFolder" forTests="false" />
11
- </component>
12
- </module>
@@ -1,63 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <code_scheme name="Project" version="173">
3
- <HTMLCodeStyleSettings>
4
- <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
5
- <option name="HTML_QUOTE_STYLE" value="Single" />
6
- <option name="HTML_ENFORCE_QUOTES" value="true" />
7
- </HTMLCodeStyleSettings>
8
- <JSCodeStyleSettings version="0">
9
- <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
10
- <option name="FORCE_SEMICOLON_STYLE" value="true" />
11
- <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
12
- <option name="USE_DOUBLE_QUOTES" value="false" />
13
- <option name="FORCE_QUOTE_STYlE" value="true" />
14
- <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
15
- <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
16
- <option name="SPACES_WITHIN_IMPORTS" value="true" />
17
- </JSCodeStyleSettings>
18
- <TypeScriptCodeStyleSettings version="0">
19
- <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
20
- <option name="FORCE_SEMICOLON_STYLE" value="true" />
21
- <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
22
- <option name="USE_DOUBLE_QUOTES" value="false" />
23
- <option name="FORCE_QUOTE_STYlE" value="true" />
24
- <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
25
- <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
26
- <option name="SPACES_WITHIN_IMPORTS" value="true" />
27
- </TypeScriptCodeStyleSettings>
28
- <VueCodeStyleSettings>
29
- <option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
30
- <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
31
- </VueCodeStyleSettings>
32
- <codeStyleSettings language="HTML">
33
- <option name="SOFT_MARGINS" value="100" />
34
- <indentOptions>
35
- <option name="INDENT_SIZE" value="2" />
36
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
37
- <option name="TAB_SIZE" value="2" />
38
- </indentOptions>
39
- </codeStyleSettings>
40
- <codeStyleSettings language="JavaScript">
41
- <option name="SOFT_MARGINS" value="100" />
42
- <indentOptions>
43
- <option name="INDENT_SIZE" value="2" />
44
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
45
- <option name="TAB_SIZE" value="2" />
46
- </indentOptions>
47
- </codeStyleSettings>
48
- <codeStyleSettings language="TypeScript">
49
- <option name="SOFT_MARGINS" value="100" />
50
- <indentOptions>
51
- <option name="INDENT_SIZE" value="2" />
52
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
53
- <option name="TAB_SIZE" value="2" />
54
- </indentOptions>
55
- </codeStyleSettings>
56
- <codeStyleSettings language="Vue">
57
- <option name="SOFT_MARGINS" value="100" />
58
- <indentOptions>
59
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
60
- </indentOptions>
61
- </codeStyleSettings>
62
- </code_scheme>
63
- </component>
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="USE_PER_PROJECT_SETTINGS" value="true" />
4
- </state>
5
- </component>
@@ -1,272 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <profile version="1.0">
3
- <option name="myName" value="Project Default" />
4
- <inspection_tool class="Annotator" enabled="false" level="ERROR" enabled_by_default="false" />
5
- <inspection_tool class="AnonymousFunctionJS" enabled="false" level="ERROR" enabled_by_default="false" />
6
- <inspection_tool class="AssignmentResultUsedJS" enabled="false" level="ERROR" enabled_by_default="false" />
7
- <inspection_tool class="AssignmentToForLoopParameterJS" enabled="false" level="ERROR" enabled_by_default="false" />
8
- <inspection_tool class="AssignmentToFunctionParameterJS" enabled="false" level="ERROR" enabled_by_default="false" />
9
- <inspection_tool class="BadExpressionStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
10
- <inspection_tool class="BlockStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
11
- <inspection_tool class="BreakStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
12
- <inspection_tool class="BreakStatementWithLabelJS" enabled="false" level="ERROR" enabled_by_default="false" />
13
- <inspection_tool class="CallerJS" enabled="false" level="ERROR" enabled_by_default="false" />
14
- <inspection_tool class="ChainedEqualityJS" enabled="false" level="ERROR" enabled_by_default="false" />
15
- <inspection_tool class="ChainedFunctionCallJS" enabled="false" level="ERROR" enabled_by_default="false" />
16
- <inspection_tool class="CoffeeScriptUnusedLocalSymbols" enabled="false" level="WARNING" enabled_by_default="false" />
17
- <inspection_tool class="CommaExpressionJS" enabled="false" level="ERROR" enabled_by_default="false" />
18
- <inspection_tool class="ConditionalExpressionJS" enabled="false" level="ERROR" enabled_by_default="false" />
19
- <inspection_tool class="ConditionalExpressionWithIdenticalBranchesJS" enabled="false" level="ERROR" enabled_by_default="false" />
20
- <inspection_tool class="ConfusingFloatingPointLiteralJS" enabled="false" level="ERROR" enabled_by_default="false" />
21
- <inspection_tool class="ConfusingPlusesOrMinusesJS" enabled="false" level="ERROR" enabled_by_default="false" />
22
- <inspection_tool class="ConstantConditionalExpressionJS" enabled="false" level="ERROR" enabled_by_default="false" />
23
- <inspection_tool class="ConstantOnLHSOfComparisonJS" enabled="false" level="ERROR" enabled_by_default="false" />
24
- <inspection_tool class="ConstantOnRHSOfComparisonJS" enabled="false" level="ERROR" enabled_by_default="false" />
25
- <inspection_tool class="ContinueOrBreakFromFinallyBlockJS" enabled="false" level="ERROR" enabled_by_default="false" />
26
- <inspection_tool class="ContinueStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
27
- <inspection_tool class="ContinueStatementWithLabelJS" enabled="false" level="ERROR" enabled_by_default="false" />
28
- <inspection_tool class="CyclomaticComplexityJS" enabled="false" level="ERROR" enabled_by_default="false">
29
- <option name="m_limit" value="10" />
30
- </inspection_tool>
31
- <inspection_tool class="DebuggerStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
32
- <inspection_tool class="DefaultNotLastCaseInSwitchJS" enabled="false" level="ERROR" enabled_by_default="false" />
33
- <inspection_tool class="DivideByZeroJS" enabled="false" level="ERROR" enabled_by_default="false" />
34
- <inspection_tool class="DocumentWriteJS" enabled="false" level="ERROR" enabled_by_default="false" />
35
- <inspection_tool class="DuplicateConditionJS" enabled="false" level="ERROR" enabled_by_default="false" />
36
- <inspection_tool class="DuplicatedCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
37
- <inspection_tool class="DynamicallyGeneratedCodeJS" enabled="false" level="ERROR" enabled_by_default="false" />
38
- <inspection_tool class="ES6BindWithArrowFunction" enabled="false" level="ERROR" enabled_by_default="false" />
39
- <inspection_tool class="ES6CheckImport" enabled="false" level="ERROR" enabled_by_default="false" />
40
- <inspection_tool class="ES6ClassMemberInitializationOrder" enabled="false" level="ERROR" enabled_by_default="false" />
41
- <inspection_tool class="ES6ConvertIndexedForToForOf" enabled="false" level="ERROR" enabled_by_default="false" />
42
- <inspection_tool class="ES6ConvertLetToConst" enabled="false" level="ERROR" enabled_by_default="false" />
43
- <inspection_tool class="ES6ConvertModuleExportToExport" enabled="false" level="ERROR" enabled_by_default="false" />
44
- <inspection_tool class="ES6ConvertRequireIntoImport" enabled="false" level="ERROR" enabled_by_default="false" />
45
- <inspection_tool class="ES6ConvertToForOf" enabled="false" level="ERROR" enabled_by_default="false" />
46
- <inspection_tool class="ES6ConvertVarToLetConst" enabled="false" level="ERROR" enabled_by_default="false" />
47
- <inspection_tool class="ES6DestructuringVariablesMerge" enabled="false" level="ERROR" enabled_by_default="false" />
48
- <inspection_tool class="ES6MissingAwait" enabled="false" level="ERROR" enabled_by_default="false" />
49
- <inspection_tool class="ES6PossiblyAsyncFunction" enabled="false" level="ERROR" enabled_by_default="false" />
50
- <inspection_tool class="ES6PreferShortImport" enabled="false" level="ERROR" enabled_by_default="false" />
51
- <inspection_tool class="ES6RedundantAwait" enabled="false" level="ERROR" enabled_by_default="false" />
52
- <inspection_tool class="ES6RedundantNestingInTemplateLiteral" enabled="false" level="ERROR" enabled_by_default="false" />
53
- <inspection_tool class="ES6ShorthandObjectProperty" enabled="false" level="ERROR" enabled_by_default="false" />
54
- <inspection_tool class="ES6UnusedImports" enabled="false" level="ERROR" enabled_by_default="false" />
55
- <inspection_tool class="EmptyCatchBlockJS" enabled="false" level="ERROR" enabled_by_default="false" />
56
- <inspection_tool class="EmptyFinallyBlockJS" enabled="false" level="ERROR" enabled_by_default="false" />
57
- <inspection_tool class="EmptyStatementBodyJS" enabled="false" level="ERROR" enabled_by_default="false">
58
- <option name="m_reportEmptyBlocks" value="false" />
59
- </inspection_tool>
60
- <inspection_tool class="EmptyTryBlockJS" enabled="false" level="ERROR" enabled_by_default="false" />
61
- <inspection_tool class="Eslint" enabled="false" level="ERROR" enabled_by_default="false" />
62
- <inspection_tool class="ExceptionCaughtLocallyJS" enabled="false" level="ERROR" enabled_by_default="false" />
63
- <inspection_tool class="FallThroughInSwitchStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
64
- <inspection_tool class="FlowJSConfig" enabled="false" level="ERROR" enabled_by_default="false" />
65
- <inspection_tool class="FlowJSCoverage" enabled="false" level="ERROR" enabled_by_default="false" />
66
- <inspection_tool class="FlowJSFlagCommentPlacement" enabled="false" level="ERROR" enabled_by_default="false" />
67
- <inspection_tool class="ForLoopReplaceableByWhileJS" enabled="false" level="ERROR" enabled_by_default="false">
68
- <option name="m_ignoreLoopsWithoutConditions" value="false" />
69
- </inspection_tool>
70
- <inspection_tool class="ForLoopThatDoesntUseLoopVariableJS" enabled="false" level="ERROR" enabled_by_default="false" />
71
- <inspection_tool class="FunctionNamingConventionJS" enabled="false" level="ERROR" enabled_by_default="false">
72
- <option name="m_regex" value="[a-z][A-Za-z]*" />
73
- <option name="m_minLength" value="4" />
74
- <option name="m_maxLength" value="32" />
75
- </inspection_tool>
76
- <inspection_tool class="FunctionWithInconsistentReturnsJS" enabled="false" level="ERROR" enabled_by_default="false" />
77
- <inspection_tool class="FunctionWithMultipleLoopsJS" enabled="false" level="ERROR" enabled_by_default="false" />
78
- <inspection_tool class="FunctionWithMultipleReturnPointsJS" enabled="false" level="ERROR" enabled_by_default="false" />
79
- <inspection_tool class="IfStatementWithIdenticalBranchesJS" enabled="false" level="ERROR" enabled_by_default="false" />
80
- <inspection_tool class="IfStatementWithTooManyBranchesJS" enabled="false" level="ERROR" enabled_by_default="false">
81
- <option name="m_limit" value="3" />
82
- </inspection_tool>
83
- <inspection_tool class="IncompatibleMaskJS" enabled="false" level="ERROR" enabled_by_default="false" />
84
- <inspection_tool class="IncrementDecrementResultUsedJS" enabled="false" level="ERROR" enabled_by_default="false" />
85
- <inspection_tool class="InfiniteLoopJS" enabled="false" level="ERROR" enabled_by_default="false" />
86
- <inspection_tool class="InfiniteRecursionJS" enabled="false" level="ERROR" enabled_by_default="false" />
87
- <inspection_tool class="InjectedReferences" enabled="false" level="ERROR" enabled_by_default="false" />
88
- <inspection_tool class="InnerHTMLJS" enabled="false" level="ERROR" enabled_by_default="false" />
89
- <inspection_tool class="JSAccessibilityCheck" enabled="false" level="ERROR" enabled_by_default="false" />
90
- <inspection_tool class="JSAnnotator" enabled="false" level="ERROR" enabled_by_default="false" />
91
- <inspection_tool class="JSArrowFunctionBracesCanBeRemoved" enabled="false" level="ERROR" enabled_by_default="false" />
92
- <inspection_tool class="JSAssignmentUsedAsCondition" enabled="false" level="ERROR" enabled_by_default="false" />
93
- <inspection_tool class="JSBitwiseOperatorUsage" enabled="false" level="ERROR" enabled_by_default="false" />
94
- <inspection_tool class="JSCheckFunctionSignatures" enabled="false" level="ERROR" enabled_by_default="false" />
95
- <inspection_tool class="JSClassNamingConvention" enabled="false" level="ERROR" enabled_by_default="false" />
96
- <inspection_tool class="JSClosureCompilerSyntax" enabled="false" level="ERROR" enabled_by_default="false" />
97
- <inspection_tool class="JSCommentMatchesSignature" enabled="false" level="ERROR" enabled_by_default="false" />
98
- <inspection_tool class="JSComparisonWithNaN" enabled="false" level="ERROR" enabled_by_default="false" />
99
- <inspection_tool class="JSConsecutiveCommasInArrayLiteral" enabled="false" level="ERROR" enabled_by_default="false" />
100
- <inspection_tool class="JSConstantReassignment" enabled="false" level="ERROR" enabled_by_default="false" />
101
- <inspection_tool class="JSConstructorReturnsPrimitive" enabled="false" level="ERROR" enabled_by_default="false" />
102
- <inspection_tool class="JSDeclarationsAtScopeStart" enabled="false" level="ERROR" enabled_by_default="false" />
103
- <inspection_tool class="JSDeprecatedSymbols" enabled="false" level="ERROR" enabled_by_default="false" />
104
- <inspection_tool class="JSDuplicateCaseLabel" enabled="false" level="ERROR" enabled_by_default="false" />
105
- <inspection_tool class="JSDuplicatedDeclaration" enabled="false" level="ERROR" enabled_by_default="false" />
106
- <inspection_tool class="JSEqualityComparisonWithCoercion" enabled="false" level="ERROR" enabled_by_default="false" />
107
- <inspection_tool class="JSEqualityComparisonWithCoercion.TS" enabled="false" level="ERROR" enabled_by_default="false" />
108
- <inspection_tool class="JSFileReferences" enabled="false" level="ERROR" enabled_by_default="false" />
109
- <inspection_tool class="JSFunctionExpressionToArrowFunction" enabled="false" level="ERROR" enabled_by_default="false" />
110
- <inspection_tool class="JSIgnoredPromiseFromCall" enabled="false" level="ERROR" enabled_by_default="false" />
111
- <inspection_tool class="JSIncompatibleTypesComparison" enabled="false" level="ERROR" enabled_by_default="false" />
112
- <inspection_tool class="JSJQueryEfficiency" enabled="false" level="ERROR" enabled_by_default="false" />
113
- <inspection_tool class="JSJoinVariableDeclarationAndAssignment" enabled="false" level="ERROR" enabled_by_default="false" />
114
- <inspection_tool class="JSLastCommaInArrayLiteral" enabled="false" level="ERROR" enabled_by_default="false" />
115
- <inspection_tool class="JSLastCommaInObjectLiteral" enabled="false" level="ERROR" enabled_by_default="false" />
116
- <inspection_tool class="JSMethodCanBeStatic" enabled="false" level="ERROR" enabled_by_default="false" />
117
- <inspection_tool class="JSMismatchedCollectionQueryUpdate" enabled="false" level="ERROR" enabled_by_default="false">
118
- <option name="queries" value="trace,write,forEach,length,size" />
119
- <option name="updates" value="pop,push,shift,splice,unshift,add,insert,remove,reverse,copyWithin,fill,sort" />
120
- </inspection_tool>
121
- <inspection_tool class="JSMissingSwitchBranches" enabled="false" level="ERROR" enabled_by_default="false" />
122
- <inspection_tool class="JSMissingSwitchDefault" enabled="false" level="ERROR" enabled_by_default="false" />
123
- <inspection_tool class="JSNonASCIINames" enabled="false" level="ERROR" enabled_by_default="false" />
124
- <inspection_tool class="JSNonStrictModeUsed" enabled="false" level="ERROR" enabled_by_default="false" />
125
- <inspection_tool class="JSObjectNullOrUndefined" enabled="false" level="ERROR" enabled_by_default="false" />
126
- <inspection_tool class="JSObsoletePrivateAccessSyntax" enabled="false" level="ERROR" enabled_by_default="false" />
127
- <inspection_tool class="JSOctalInteger" enabled="false" level="ERROR" enabled_by_default="false" />
128
- <inspection_tool class="JSPotentiallyInvalidConstructorUsage" enabled="false" level="ERROR" enabled_by_default="false">
129
- <option name="myConsiderUppercaseFunctionsToBeConstructors" value="true" />
130
- </inspection_tool>
131
- <inspection_tool class="JSPotentiallyInvalidTargetOfIndexedPropertyAccess" enabled="false" level="ERROR" enabled_by_default="false" />
132
- <inspection_tool class="JSPotentiallyInvalidUsageOfClassThis" enabled="false" level="ERROR" enabled_by_default="false" />
133
- <inspection_tool class="JSPotentiallyInvalidUsageOfThis" enabled="false" level="ERROR" enabled_by_default="false" />
134
- <inspection_tool class="JSPrimitiveTypeWrapperUsage" enabled="false" level="ERROR" enabled_by_default="false" />
135
- <inspection_tool class="JSRedundantSwitchStatement" enabled="false" level="ERROR" enabled_by_default="false" />
136
- <inspection_tool class="JSReferencingArgumentsOutsideOfFunction" enabled="false" level="ERROR" enabled_by_default="false" />
137
- <inspection_tool class="JSReferencingMutableVariableFromClosure" enabled="false" level="ERROR" enabled_by_default="false" />
138
- <inspection_tool class="JSRemoveUnnecessaryParentheses" enabled="false" level="ERROR" enabled_by_default="false" />
139
- <inspection_tool class="JSStringConcatenationToES6Template" enabled="false" level="ERROR" enabled_by_default="false" />
140
- <inspection_tool class="JSSuspiciousEqPlus" enabled="false" level="ERROR" enabled_by_default="false" />
141
- <inspection_tool class="JSSuspiciousNameCombination" enabled="false" level="ERROR" enabled_by_default="false">
142
- <group names="x,width,left,right" />
143
- <group names="y,height,top,bottom" />
144
- <exclude classes="Math" />
145
- </inspection_tool>
146
- <inspection_tool class="JSSwitchVariableDeclarationIssue" enabled="false" level="ERROR" enabled_by_default="false" />
147
- <inspection_tool class="JSTestFailedLine" enabled="false" level="ERROR" enabled_by_default="false" />
148
- <inspection_tool class="JSTypeOfValues" enabled="false" level="ERROR" enabled_by_default="false" />
149
- <inspection_tool class="JSUndeclaredVariable" enabled="false" level="ERROR" enabled_by_default="false" />
150
- <inspection_tool class="JSUndefinedPropertyAssignment" enabled="false" level="ERROR" enabled_by_default="false" />
151
- <inspection_tool class="JSUnfilteredForInLoop" enabled="false" level="ERROR" enabled_by_default="false" />
152
- <inspection_tool class="JSUnnecessarySemicolon" enabled="false" level="ERROR" enabled_by_default="false" />
153
- <inspection_tool class="JSUnreachableSwitchBranches" enabled="false" level="ERROR" enabled_by_default="false" />
154
- <inspection_tool class="JSUnresolvedExtXType" enabled="false" level="ERROR" enabled_by_default="false" />
155
- <inspection_tool class="JSUnresolvedFunction" enabled="false" level="ERROR" enabled_by_default="false" />
156
- <inspection_tool class="JSUnresolvedLibraryURL" enabled="false" level="ERROR" enabled_by_default="false" />
157
- <inspection_tool class="JSUnresolvedReactComponent" enabled="false" level="ERROR" enabled_by_default="false" />
158
- <inspection_tool class="JSUnresolvedVariable" enabled="false" level="ERROR" enabled_by_default="false" />
159
- <inspection_tool class="JSUnusedAssignment" enabled="false" level="ERROR" enabled_by_default="false" />
160
- <inspection_tool class="JSUnusedGlobalSymbols" enabled="false" level="ERROR" enabled_by_default="false" />
161
- <inspection_tool class="JSUnusedLocalSymbols" enabled="false" level="ERROR" enabled_by_default="false" />
162
- <inspection_tool class="JSValidateJSDoc" enabled="false" level="ERROR" enabled_by_default="false" />
163
- <inspection_tool class="JSValidateTypes" enabled="false" level="ERROR" enabled_by_default="false" />
164
- <inspection_tool class="JSXNamespaceValidation" enabled="false" level="ERROR" enabled_by_default="false" />
165
- <inspection_tool class="KarmaConfigFile" enabled="false" level="ERROR" enabled_by_default="false" />
166
- <inspection_tool class="LabeledStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
167
- <inspection_tool class="LocalVariableNamingConventionJS" enabled="false" level="ERROR" enabled_by_default="false">
168
- <option name="m_regex" value="[a-z][A-Za-z]*" />
169
- <option name="m_minLength" value="1" />
170
- <option name="m_maxLength" value="32" />
171
- </inspection_tool>
172
- <inspection_tool class="LoopStatementThatDoesntLoopJS" enabled="false" level="ERROR" enabled_by_default="false" />
173
- <inspection_tool class="MagicNumberJS" enabled="false" level="ERROR" enabled_by_default="false" />
174
- <inspection_tool class="NegatedConditionalExpressionJS" enabled="false" level="ERROR" enabled_by_default="false" />
175
- <inspection_tool class="NegatedIfStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
176
- <inspection_tool class="NestedAssignmentJS" enabled="false" level="ERROR" enabled_by_default="false" />
177
- <inspection_tool class="NestedConditionalExpressionJS" enabled="false" level="ERROR" enabled_by_default="false" />
178
- <inspection_tool class="NestedFunctionCallJS" enabled="false" level="ERROR" enabled_by_default="false" />
179
- <inspection_tool class="NestedFunctionJS" enabled="false" level="ERROR" enabled_by_default="false">
180
- <option name="m_includeAnonymousFunctions" value="false" />
181
- </inspection_tool>
182
- <inspection_tool class="NestedSwitchStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
183
- <inspection_tool class="NestingDepthJS" enabled="false" level="ERROR" enabled_by_default="false">
184
- <option name="m_limit" value="5" />
185
- </inspection_tool>
186
- <inspection_tool class="NodeCoreCodingAssistance" enabled="false" level="ERROR" enabled_by_default="false" />
187
- <inspection_tool class="NonBlockStatementBodyJS" enabled="false" level="ERROR" enabled_by_default="false" />
188
- <inspection_tool class="NpmUsedModulesInstalled" enabled="false" level="ERROR" enabled_by_default="false" />
189
- <inspection_tool class="ObjectAllocationIgnoredJS" enabled="false" level="ERROR" enabled_by_default="false" />
190
- <inspection_tool class="OverlyComplexArithmeticExpressionJS" enabled="false" level="ERROR" enabled_by_default="false">
191
- <option name="m_limit" value="6" />
192
- </inspection_tool>
193
- <inspection_tool class="OverlyComplexBooleanExpressionJS" enabled="false" level="ERROR" enabled_by_default="false">
194
- <option name="m_limit" value="3" />
195
- </inspection_tool>
196
- <inspection_tool class="PackageJsonMismatchedDependency" enabled="false" level="ERROR" enabled_by_default="false" />
197
- <inspection_tool class="ParameterNamingConventionJS" enabled="false" level="ERROR" enabled_by_default="false">
198
- <option name="m_regex" value="[a-z][A-Za-z]*" />
199
- <option name="m_minLength" value="1" />
200
- <option name="m_maxLength" value="32" />
201
- </inspection_tool>
202
- <inspection_tool class="ParametersPerFunctionJS" enabled="false" level="ERROR" enabled_by_default="false">
203
- <option name="m_limit" value="5" />
204
- </inspection_tool>
205
- <inspection_tool class="PlatformDetectionJS" enabled="false" level="ERROR" enabled_by_default="false" />
206
- <inspection_tool class="PointlessArithmeticExpressionJS" enabled="false" level="ERROR" enabled_by_default="false" />
207
- <inspection_tool class="PointlessBitwiseExpressionJS" enabled="false" level="ERROR" enabled_by_default="false">
208
- <option name="m_ignoreExpressionsContainingConstants" value="false" />
209
- </inspection_tool>
210
- <inspection_tool class="PointlessBooleanExpressionJS" enabled="false" level="ERROR" enabled_by_default="false" />
211
- <inspection_tool class="RedundantSuppression" enabled="false" level="WARNING" enabled_by_default="false" />
212
- <inspection_tool class="ReplaceAssignmentWithOperatorAssignmentJS" enabled="false" level="ERROR" enabled_by_default="false" />
213
- <inspection_tool class="ReservedWordUsedAsNameJS" enabled="false" level="ERROR" enabled_by_default="false" />
214
- <inspection_tool class="ReturnFromFinallyBlockJS" enabled="false" level="ERROR" enabled_by_default="false" />
215
- <inspection_tool class="ReuseOfLocalVariableJS" enabled="false" level="ERROR" enabled_by_default="false" />
216
- <inspection_tool class="ShiftOutOfRangeJS" enabled="false" level="ERROR" enabled_by_default="false" />
217
- <inspection_tool class="SillyAssignmentJS" enabled="false" level="ERROR" enabled_by_default="false" />
218
- <inspection_tool class="StatementsPerFunctionJS" enabled="false" level="ERROR" enabled_by_default="false">
219
- <option name="m_limit" value="30" />
220
- </inspection_tool>
221
- <inspection_tool class="StringLiteralBreaksHTMLJS" enabled="false" level="ERROR" enabled_by_default="false" />
222
- <inspection_tool class="SuspiciousTypeOfGuard" enabled="false" level="ERROR" enabled_by_default="false" />
223
- <inspection_tool class="SyntaxError" enabled="false" level="ERROR" enabled_by_default="false" />
224
- <inspection_tool class="TailRecursionJS" enabled="false" level="ERROR" enabled_by_default="false" />
225
- <inspection_tool class="TextLabelInSwitchStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
226
- <inspection_tool class="ThisExpressionReferencesGlobalObjectJS" enabled="false" level="ERROR" enabled_by_default="false" />
227
- <inspection_tool class="ThreeNegationsPerFunctionJS" enabled="false" level="ERROR" enabled_by_default="false" />
228
- <inspection_tool class="ThrowFromFinallyBlockJS" enabled="false" level="ERROR" enabled_by_default="false" />
229
- <inspection_tool class="TrivialConditionalJS" enabled="false" level="ERROR" enabled_by_default="false" />
230
- <inspection_tool class="TrivialIfJS" enabled="false" level="ERROR" enabled_by_default="false" />
231
- <inspection_tool class="TsLint" enabled="false" level="ERROR" enabled_by_default="false" />
232
- <inspection_tool class="TypeScriptAbstractClassConstructorCanBeMadeProtected" enabled="false" level="ERROR" enabled_by_default="false" />
233
- <inspection_tool class="TypeScriptCheckImport" enabled="false" level="ERROR" enabled_by_default="false" />
234
- <inspection_tool class="TypeScriptConfig" enabled="false" level="ERROR" enabled_by_default="false" />
235
- <inspection_tool class="TypeScriptDuplicateUnionOrIntersectionType" enabled="false" level="ERROR" enabled_by_default="false" />
236
- <inspection_tool class="TypeScriptExplicitMemberType" enabled="false" level="ERROR" enabled_by_default="false" />
237
- <inspection_tool class="TypeScriptFieldCanBeMadeReadonly" enabled="false" level="ERROR" enabled_by_default="false" />
238
- <inspection_tool class="TypeScriptLibrary" enabled="false" level="ERROR" enabled_by_default="false" />
239
- <inspection_tool class="TypeScriptMissingAugmentationImport" enabled="false" level="ERROR" enabled_by_default="false" />
240
- <inspection_tool class="TypeScriptMissingConfigOption" enabled="false" level="ERROR" enabled_by_default="false" />
241
- <inspection_tool class="TypeScriptRedundantGenericType" enabled="false" level="ERROR" enabled_by_default="false" />
242
- <inspection_tool class="TypeScriptSmartCast" enabled="false" level="ERROR" enabled_by_default="false" />
243
- <inspection_tool class="TypeScriptSuspiciousConstructorParameterAssignment" enabled="false" level="ERROR" enabled_by_default="false" />
244
- <inspection_tool class="TypeScriptUMDGlobal" enabled="false" level="ERROR" enabled_by_default="false" />
245
- <inspection_tool class="TypeScriptUnresolvedFunction" enabled="false" level="ERROR" enabled_by_default="false" />
246
- <inspection_tool class="TypeScriptUnresolvedReactComponent" enabled="false" level="ERROR" enabled_by_default="false" />
247
- <inspection_tool class="TypeScriptUnresolvedVariable" enabled="false" level="ERROR" enabled_by_default="false" />
248
- <inspection_tool class="TypeScriptValidateGenericTypes" enabled="false" level="ERROR" enabled_by_default="false" />
249
- <inspection_tool class="TypeScriptValidateJSTypes" enabled="false" level="ERROR" enabled_by_default="false" />
250
- <inspection_tool class="TypeScriptValidateTypes" enabled="false" level="ERROR" enabled_by_default="false" />
251
- <inspection_tool class="UnnecessaryContinueJS" enabled="false" level="ERROR" enabled_by_default="false" />
252
- <inspection_tool class="UnnecessaryLabelJS" enabled="false" level="ERROR" enabled_by_default="false" />
253
- <inspection_tool class="UnnecessaryLabelOnBreakStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
254
- <inspection_tool class="UnnecessaryLabelOnContinueStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
255
- <inspection_tool class="UnnecessaryLocalVariableJS" enabled="false" level="ERROR" enabled_by_default="false">
256
- <option name="m_ignoreImmediatelyReturnedVariables" value="false" />
257
- <option name="m_ignoreAnnotatedVariables" value="false" />
258
- </inspection_tool>
259
- <inspection_tool class="UnnecessaryReturnJS" enabled="false" level="ERROR" enabled_by_default="false" />
260
- <inspection_tool class="UnreachableCodeJS" enabled="false" level="ERROR" enabled_by_default="false" />
261
- <inspection_tool class="UnterminatedStatementJS" enabled="false" level="ERROR" enabled_by_default="false">
262
- <option name="ignoreSemicolonAtEndOfBlock" value="true" />
263
- </inspection_tool>
264
- <inspection_tool class="UnusedCatchParameterJS" enabled="false" level="ERROR" enabled_by_default="false">
265
- <option name="m_ignoreCatchBlocksWithComments" value="false" />
266
- </inspection_tool>
267
- <inspection_tool class="VoidExpressionJS" enabled="false" level="ERROR" enabled_by_default="false" />
268
- <inspection_tool class="WebpackConfigHighlighting" enabled="false" level="ERROR" enabled_by_default="false" />
269
- <inspection_tool class="WithStatementJS" enabled="false" level="ERROR" enabled_by_default="false" />
270
- <inspection_tool class="XHTMLIncompatabilitiesJS" enabled="false" level="ERROR" enabled_by_default="false" />
271
- </profile>
272
- </component>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/archilogic-embed-api.iml" filepath="$PROJECT_DIR$/.idea/archilogic-embed-api.iml" />
6
- </modules>
7
- </component>
8
- </project>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,142 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ChangeListManager">
4
- <list default="true" id="45b655c0-3376-4f37-ab32-8748a94d6cd5" name="Default Changelist" comment="" />
5
- <option name="SHOW_DIALOG" value="false" />
6
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
7
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
8
- <option name="LAST_RESOLUTION" value="IGNORE" />
9
- </component>
10
- <component name="FileTemplateManagerImpl">
11
- <option name="RECENT_TEMPLATES">
12
- <list>
13
- <option value="HTML File" />
14
- </list>
15
- </option>
16
- </component>
17
- <component name="Git.Settings">
18
- <option name="RECENT_BRANCH_BY_REPOSITORY">
19
- <map>
20
- <entry key="$PROJECT_DIR$" value="master" />
21
- </map>
22
- </option>
23
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
24
- </component>
25
- <component name="ProjectId" id="1qZVOLvJaSdtu0oV0Gd4wPPUzki" />
26
- <component name="ProjectViewState">
27
- <option name="hideEmptyMiddlePackages" value="true" />
28
- <option name="showLibraryContents" value="true" />
29
- </component>
30
- <component name="PropertiesComponent">
31
- <property name="DefaultHtmlFileTemplate" value="HTML File" />
32
- <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
33
- <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
34
- <property name="WebServerToolWindowFactoryState" value="false" />
35
- <property name="last_opened_file_path" value="$PROJECT_DIR$" />
36
- <property name="nodejs_package_manager_path" value="npm" />
37
- <property name="ts.external.directory.path" value="$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/jsLanguageServicesImpl/external" />
38
- <property name="vue.rearranger.settings.migration" value="true" />
39
- </component>
40
- <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
41
- <component name="TaskManager">
42
- <task active="true" id="Default" summary="Default task">
43
- <changelist id="45b655c0-3376-4f37-ab32-8748a94d6cd5" name="Default Changelist" comment="" />
44
- <created>1617287065526</created>
45
- <option name="number" value="Default" />
46
- <option name="presentableId" value="Default" />
47
- <updated>1617287065526</updated>
48
- <workItem from="1617287066636" duration="3974000" />
49
- <workItem from="1617605200900" duration="598000" />
50
- <workItem from="1617873507179" duration="11403000" />
51
- <workItem from="1617947317866" duration="2803000" />
52
- <workItem from="1617982220285" duration="2736000" />
53
- <workItem from="1618298892267" duration="1611000" />
54
- <workItem from="1618302262270" duration="2396000" />
55
- </task>
56
- <task id="LOCAL-00001" summary="Add IDE folder to gitignore">
57
- <created>1617290265415</created>
58
- <option name="number" value="00001" />
59
- <option name="presentableId" value="LOCAL-00001" />
60
- <option name="project" value="LOCAL" />
61
- <updated>1617290265415</updated>
62
- </task>
63
- <task id="LOCAL-00002" summary="Fix npm audit warnings">
64
- <created>1617290274612</created>
65
- <option name="number" value="00002" />
66
- <option name="presentableId" value="LOCAL-00002" />
67
- <option name="project" value="LOCAL" />
68
- <updated>1617290274612</updated>
69
- </task>
70
- <task id="LOCAL-00003" summary="Remove access token">
71
- <created>1617290296038</created>
72
- <option name="number" value="00003" />
73
- <option name="presentableId" value="LOCAL-00003" />
74
- <option name="project" value="LOCAL" />
75
- <updated>1617290296038</updated>
76
- </task>
77
- <task id="LOCAL-00004" summary="Remove access token">
78
- <created>1617896915585</created>
79
- <option name="number" value="00004" />
80
- <option name="presentableId" value="LOCAL-00004" />
81
- <option name="project" value="LOCAL" />
82
- <updated>1617896915585</updated>
83
- </task>
84
- <task id="LOCAL-00005" summary="Add Space API v2 access tokens">
85
- <created>1617985718153</created>
86
- <option name="number" value="00005" />
87
- <option name="presentableId" value="LOCAL-00005" />
88
- <option name="project" value="LOCAL" />
89
- <updated>1617985718153</updated>
90
- </task>
91
- <task id="LOCAL-00006" summary="Bump v2">
92
- <created>1617985744958</created>
93
- <option name="number" value="00006" />
94
- <option name="presentableId" value="LOCAL-00006" />
95
- <option name="project" value="LOCAL" />
96
- <updated>1617985744958</updated>
97
- </task>
98
- <task id="LOCAL-00007" summary="Revert &quot;Bump v2&quot;&#10;&#10;This reverts commit d7e96349">
99
- <created>1618300642083</created>
100
- <option name="number" value="00007" />
101
- <option name="presentableId" value="LOCAL-00007" />
102
- <option name="project" value="LOCAL" />
103
- <updated>1618300642083</updated>
104
- </task>
105
- <option name="localTasksCounter" value="8" />
106
- <servers />
107
- </component>
108
- <component name="TypeScriptGeneratedFilesManager">
109
- <option name="version" value="3" />
110
- </component>
111
- <component name="Vcs.Log.History.Properties">
112
- <option name="COLUMN_ID_ORDER">
113
- <list>
114
- <option value="Default.Root" />
115
- <option value="Default.Author" />
116
- <option value="Default.Date" />
117
- <option value="Default.Subject" />
118
- </list>
119
- </option>
120
- </component>
121
- <component name="Vcs.Log.Tabs.Properties">
122
- <option name="TAB_STATES">
123
- <map>
124
- <entry key="MAIN">
125
- <value>
126
- <State />
127
- </value>
128
- </entry>
129
- </map>
130
- </option>
131
- <option name="oldMeFiltersMigrated" value="true" />
132
- </component>
133
- <component name="VcsManagerConfiguration">
134
- <MESSAGE value="Add IDE folder to gitignore" />
135
- <MESSAGE value="Fix npm audit warnings" />
136
- <MESSAGE value="Remove access token" />
137
- <MESSAGE value="Add Space API v2 access tokens" />
138
- <MESSAGE value="Bump v2" />
139
- <MESSAGE value="Revert &quot;Bump v2&quot;&#10;&#10;This reverts commit d7e96349" />
140
- <option name="LAST_COMMIT_MESSAGE" value="Revert &quot;Bump v2&quot;&#10;&#10;This reverts commit d7e96349" />
141
- </component>
142
- </project>