@realsee/dnalogel 2.14.0-dev.1 → 2.14.0-dev.2
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/dist/index.cjs.js +2 -2
- package/dist/index.js +6 -8
- package/dist/index.umd.js +2 -2
- package/docs/classes/CSS3DRender.html +4 -4
- package/docs/classes/CruisePluginController.html +4 -4
- package/docs/classes/Magnifier.html +4 -4
- package/docs/classes/ModelRoomLabelController.html +4 -4
- package/docs/classes/Object3DHelperController.html +4 -4
- package/docs/classes/PaintBrush.html +4 -4
- package/docs/classes/PanoMeasurePluginLine.html +4 -4
- package/docs/classes/PanoMeasurePluginModel.html +4 -4
- package/docs/classes/PanoMeasurePluginPoint.html +4 -4
- package/docs/classes/PanoMeasurePluginPolyline.html +4 -4
- package/docs/classes/PanoTagPluginController.html +4 -4
- package/docs/classes/Util.BetterTween.html +4 -4
- package/docs/classes/Util.FivePointSelector.html +4 -4
- package/docs/classes/Util.Interval.html +4 -4
- package/docs/classes/Util.Magnifier.html +4 -4
- package/docs/classes/Util.PointDomHelper.html +4 -4
- package/docs/classes/Util.PointHelper.html +4 -4
- package/docs/classes/Util.Rectangle.html +4 -4
- package/docs/enums/CameraMovementEffect.html +4 -4
- package/docs/enums/ContentType.html +4 -4
- package/docs/enums/DIRECTION.html +4 -4
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +4 -4
- package/docs/enums/DimensionType.html +4 -4
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +4 -4
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +4 -4
- package/docs/enums/PaintBrushTypeEnum.html +4 -4
- package/docs/enums/Rotation.html +4 -4
- package/docs/functions/CSS3DRenderPlugin.html +4 -4
- package/docs/functions/CameraMovementPlugin.html +4 -4
- package/docs/functions/CruisePlugin.html +4 -4
- package/docs/functions/GuideLinePlugin.html +4 -4
- package/docs/functions/ItemLabelPlugin.html +4 -4
- package/docs/functions/MapviewFloorplanPlugin.html +4 -4
- package/docs/functions/ModelChassisCompassPlugin.html +4 -4
- package/docs/functions/ModelEntryDoorGuidePlugin.html +4 -4
- package/docs/functions/ModelFloorplanPlugin.html +4 -4
- package/docs/functions/ModelItemLabelPlugin.html +4 -4
- package/docs/functions/ModelRoomLabelPlugin.html +4 -4
- package/docs/functions/ModelTVVideoPlugin.html +4 -4
- package/docs/functions/ModelViewPlugin.html +4 -4
- package/docs/functions/Object3DHelperPlugin.html +4 -4
- package/docs/functions/PanoCompassPlugin.html +4 -4
- package/docs/functions/PanoCursorRaycasterPlugin.html +4 -4
- package/docs/functions/PanoDoorLabelPlugin.html +4 -4
- package/docs/functions/PanoFloorplanRadarPlugin.html +4 -4
- package/docs/functions/PanoMeasurePlugin.html +4 -4
- package/docs/functions/PanoRulerPlugin.html +4 -4
- package/docs/functions/PanoRulerProPlugin.html +4 -4
- package/docs/functions/PanoSpatialTagPlugin.html +4 -4
- package/docs/functions/PanoTagPlugin.html +4 -4
- package/docs/functions/PanoVideoPlugin.html +4 -4
- package/docs/functions/TopviewFloorplanPlugin.html +4 -4
- package/docs/functions/Util.getCoordsFromClient.html +4 -4
- package/docs/functions/Util.getCoordsFromElement.html +4 -4
- package/docs/functions/Util.getFrameTime.html +4 -4
- package/docs/functions/Util.getIntersectFromRelativePosition.html +4 -4
- package/docs/functions/Util.getRaycasterFromFivePointer.html +4 -4
- package/docs/functions/Util.isNil.html +4 -4
- package/docs/functions/Util.nextFrame.html +4 -4
- package/docs/functions/Util.notNil.html +4 -4
- package/docs/functions/Util.requestAnimationFrameInterval.html +4 -4
- package/docs/functions/Util.tweenProgress.html +4 -4
- package/docs/functions/pluginFlag.html +4 -4
- package/docs/index.html +4 -4
- package/docs/interfaces/AddTagConfig.html +4 -4
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +4 -4
- package/docs/interfaces/CSS3DRenderPluginState.html +4 -4
- package/docs/interfaces/CameraMovementPluginExportType.html +4 -4
- package/docs/interfaces/EventMap.html +4 -4
- package/docs/interfaces/FloorplanBounding.html +4 -4
- package/docs/interfaces/FloorplanData.html +4 -4
- package/docs/interfaces/FloorplanEntrance.html +4 -4
- package/docs/interfaces/FloorplanExtraObject.html +4 -4
- package/docs/interfaces/FloorplanExtraObject3D.html +4 -4
- package/docs/interfaces/FloorplanFloorData.html +4 -4
- package/docs/interfaces/FloorplanImagePosition.html +4 -4
- package/docs/interfaces/FloorplanObserver.html +4 -4
- package/docs/interfaces/FloorplanOutlineItem.html +4 -4
- package/docs/interfaces/FloorplanPosition.html +4 -4
- package/docs/interfaces/FloorplanRoomItem.html +4 -4
- package/docs/interfaces/FloorplanRoomLabelItem.html +4 -4
- package/docs/interfaces/FloorplanServerBounding.html +4 -4
- package/docs/interfaces/FloorplanServerComputedData.html +4 -4
- package/docs/interfaces/FloorplanServerData.html +4 -4
- package/docs/interfaces/FloorplanServerDoorItem.html +4 -4
- package/docs/interfaces/FloorplanServerDoorPosition.html +4 -4
- package/docs/interfaces/FloorplanServerEntrance.html +4 -4
- package/docs/interfaces/FloorplanServerFloorData.html +4 -4
- package/docs/interfaces/FloorplanServerImagePosition.html +4 -4
- package/docs/interfaces/FloorplanServerObserver.html +4 -4
- package/docs/interfaces/FloorplanServerOutlineItem.html +4 -4
- package/docs/interfaces/FloorplanServerPosition.html +4 -4
- package/docs/interfaces/FloorplanServerRoomItem.html +4 -4
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +4 -4
- package/docs/interfaces/HelperOffset.html +4 -4
- package/docs/interfaces/ImagePlaneGroup.html +4 -4
- package/docs/interfaces/ItemLabelPluginData.html +4 -4
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +4 -4
- package/docs/interfaces/ItemLabelPluginParametersType.html +4 -4
- package/docs/interfaces/MinMax.html +4 -4
- package/docs/interfaces/ModelChassisCompassPluginData.html +4 -4
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +4 -4
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +4 -4
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +4 -4
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +4 -4
- package/docs/interfaces/ModelItemLabelPluginData.html +4 -4
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +4 -4
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +4 -4
- package/docs/interfaces/ModelRoomLabelPluginData.html +4 -4
- package/docs/interfaces/ModelTVVideoPluginData.html +4 -4
- package/docs/interfaces/ModelTVVideoPluginExportType.html +4 -4
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +4 -4
- package/docs/interfaces/ModelViewPluginExportType.html +4 -4
- package/docs/interfaces/Object3DHelperState.html +4 -4
- package/docs/interfaces/ObjectHelperControllers.html +4 -4
- package/docs/interfaces/PaintBrushAction.html +4 -4
- package/docs/interfaces/PaintBrushConfigs.html +4 -4
- package/docs/interfaces/PaintBrushState.html +4 -4
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +4 -4
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +4 -4
- package/docs/interfaces/PanoMeasureParameterType.html +4 -4
- package/docs/interfaces/PanoMeasurePluginLineJson.html +4 -4
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +4 -4
- package/docs/interfaces/PanoMeasurePluginPointJson.html +4 -4
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +4 -4
- package/docs/interfaces/PanoRulerPluginExportType.html +4 -4
- package/docs/interfaces/PanoRulerPluginOptions.html +4 -4
- package/docs/interfaces/PanoRulerPluginParameterType.html +4 -4
- package/docs/interfaces/PanoRulerProPluginExportType.html +4 -4
- package/docs/interfaces/PanoRulerProPluginOptions.html +4 -4
- package/docs/interfaces/PanoRulerProPluginParameterType.html +4 -4
- package/docs/interfaces/PanoRulerProPluginState.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginData.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +4 -4
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +4 -4
- package/docs/interfaces/PanoVideoPluginType.LoadParams.html +4 -4
- package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +4 -4
- package/docs/interfaces/PanoVideoPluginType.PluginData.html +4 -4
- package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +4 -4
- package/docs/interfaces/PanoVideoPluginType.PluginState.html +4 -4
- package/docs/interfaces/PanoVideoPluginType.VideoItem.html +4 -4
- package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +4 -4
- package/docs/interfaces/Point.html +4 -4
- package/docs/interfaces/Room.html +4 -4
- package/docs/interfaces/RoomInfo.html +4 -4
- package/docs/interfaces/RoomLabel.html +4 -4
- package/docs/interfaces/RoomRules.html +4 -4
- package/docs/interfaces/Rooms.html +4 -4
- package/docs/interfaces/Scissor.html +4 -4
- package/docs/interfaces/State.html +4 -4
- package/docs/interfaces/TagCacheInterface.html +4 -4
- package/docs/interfaces/TagConfig.html +4 -4
- package/docs/interfaces/TagGLTFObjectGroup.html +4 -4
- package/docs/interfaces/TagIconUrl.html +4 -4
- package/docs/interfaces/TagObjectGroup.html +4 -4
- package/docs/interfaces/TagStyle.html +4 -4
- package/docs/interfaces/Tags.html +4 -4
- package/docs/interfaces/TemporaryState.html +4 -4
- package/docs/interfaces/Util.MagnifierParameter.html +4 -4
- package/docs/interfaces/Util.MouseGroupParameter.html +4 -4
- package/docs/modules/PanoVideoPluginType.html +4 -4
- package/docs/modules/Util.html +4 -4
- package/docs/modules.html +4 -4
- package/docs/types/ArrayPosition.html +4 -4
- package/docs/types/AudioAppearance.html +4 -4
- package/docs/types/AudioTagTypeConfigKey.html +4 -4
- package/docs/types/CSS3DRenderExportType.html +4 -4
- package/docs/types/CSS3DRenderPluginExportType.html +4 -4
- package/docs/types/CSS3DRenderPluginParameterType.html +4 -4
- package/docs/types/ClassFunctionParameters.html +4 -4
- package/docs/types/Color.html +4 -4
- package/docs/types/ContentTypeConfigKey.html +4 -4
- package/docs/types/ContentTypeConfigKeySplit.html +4 -4
- package/docs/types/ContentTypeMap.html +4 -4
- package/docs/types/Create3DDomContainerReturnType.html +4 -4
- package/docs/types/Create3DElementReturnType.html +4 -4
- package/docs/types/CruisePluginExportType.html +4 -4
- package/docs/types/Direction-1.html +4 -4
- package/docs/types/Direction4.html +4 -4
- package/docs/types/FloorplanRuleLabels.html +4 -4
- package/docs/types/FloorplanServerRuleLabels.html +4 -4
- package/docs/types/GuideLinePluginExportType.html +4 -4
- package/docs/types/HelperEventMap.html +4 -4
- package/docs/types/LoadTagConfig.html +4 -4
- package/docs/types/MapviewFloorplanPluginParameterType.html +4 -4
- package/docs/types/MapviewFloorplanPluginReturnType.html +4 -4
- package/docs/types/MediaData.html +4 -4
- package/docs/types/MediaStore.html +4 -4
- package/docs/types/ModelElement.html +4 -4
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +4 -4
- package/docs/types/ModelFloorplanPluginParameterType.html +4 -4
- package/docs/types/ModelFloorplanPluginReturnType.html +4 -4
- package/docs/types/ModelRoomLabelPluginParameters.html +4 -4
- package/docs/types/ModelRoomLabelPluginReturnType.html +4 -4
- package/docs/types/MoveArgs.html +4 -4
- package/docs/types/MoveOpts.html +4 -4
- package/docs/types/Object3DHelperEventMap.html +4 -4
- package/docs/types/ObjectFit.html +4 -4
- package/docs/types/PaintBrushEventMap.html +4 -4
- package/docs/types/PanoCompassPluginData.html +4 -4
- package/docs/types/PanoCompassPluginExportType.html +4 -4
- package/docs/types/PanoCompassPluginParameterType.html +4 -4
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +4 -4
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +4 -4
- package/docs/types/PanoIndex.html +4 -4
- package/docs/types/PanoMeasurePluginEvent.html +4 -4
- package/docs/types/PanoMeasureReturnType.html +4 -4
- package/docs/types/PanoSpatialTagPluginId.html +4 -4
- package/docs/types/PanoTagPluginExportInterface.html +4 -4
- package/docs/types/PanoTagPluginParamsInterface.html +4 -4
- package/docs/types/PanoVideoPluginParameterType.html +4 -4
- package/docs/types/PanoVideoPluginReturnType.html +4 -4
- package/docs/types/PlaneTag.html +4 -4
- package/docs/types/PlaneTagElement.html +4 -4
- package/docs/types/Point2DElement.html +4 -4
- package/docs/types/Point2DTag.html +4 -4
- package/docs/types/Point3DElement.html +4 -4
- package/docs/types/Point3DTag.html +4 -4
- package/docs/types/PointTag.html +4 -4
- package/docs/types/PointTagElement.html +4 -4
- package/docs/types/Position.html +4 -4
- package/docs/types/RotateArgs.html +4 -4
- package/docs/types/RotateOpts.html +4 -4
- package/docs/types/RuleLabelsKey.html +4 -4
- package/docs/types/RuleLabelsValue.html +4 -4
- package/docs/types/StickType.html +4 -4
- package/docs/types/Tag.html +4 -4
- package/docs/types/Tag2D.html +4 -4
- package/docs/types/Tag3D.html +4 -4
- package/docs/types/TagContentType.html +4 -4
- package/docs/types/TagDimensionType.html +4 -4
- package/docs/types/TagElement.html +4 -4
- package/docs/types/TagEvents.html +4 -4
- package/docs/types/TagGLTFObject.html +4 -4
- package/docs/types/TagHooks.html +4 -4
- package/docs/types/TagIconSize.html +4 -4
- package/docs/types/TagId.html +4 -4
- package/docs/types/TopviewFloorplanPluginParameterType.html +4 -4
- package/docs/types/TopviewFloorplanPluginReturnType.html +4 -4
- package/docs/types/WorkCode.html +4 -4
- package/docs/variables/FLOOR_TYPE_MAP.html +4 -4
- package/docs/variables/PLUGIN.html +4 -4
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +4 -4
- package/docs/variables/ROOM_TYPE_MAP.html +4 -4
- package/docs/variables/itemLabelPluginServerParams.html +4 -4
- package/docs/variables/modelItemLabelPluginServerParams.html +4 -4
- package/docs/variables/modelRoomLabelPluginServerParams.html +4 -4
- package/libs/PanoTagPlugin/controller/TagUtil.js +5 -7
- package/libs/base/BasePlugin.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -112,7 +112,7 @@ transition: all 500ms;
|
|
|
112
112
|
svg [type='lineItemGroup'] g g g g {
|
|
113
113
|
stroke: #ffffff;
|
|
114
114
|
}</style>
|
|
115
|
-
`;return i.$$set=s=>{"content"in s&&e(0,n=s.content)},[n,o]}class ad extends oe{constructor(t){super(),ie(this,t,rd,sd,ne,{content:0},od)}}function ld(i){le(i,"svelte-ozpg4a",".floorplan-plugin__base-image.svelte-ozpg4a{position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}")}function cd(i){let t,e;return t=new id({props:{url:i[1].url}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&2&&(s.url=n[1].url),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function ud(i){let t,e;return t=new ad({props:{content:i[0]}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&1&&(s.content=n[0]),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function dd(i){let t,e,n,o;const s=[ud,cd],r=[];function a(l,c){return l[0]?0:l[1]?1:-1}return~(e=a(i))&&(n=r[e]=s[e](i)),{c(){t=z("div"),n&&n.c(),y(t,"class","floorplan-plugin__base-image svelte-ozpg4a")},m(l,c){M(l,t,c),~e&&r[e].m(t,null),o=!0},p(l,[c]){let u=e;e=a(l),e===u?~e&&r[e].p(l,c):(n&&(se(),x(r[u],1,1,()=>{r[u]=null}),re()),~e?(n=r[e],n?n.p(l,c):(n=r[e]=s[e](l),n.c()),C(n,1),n.m(t,null)):n=null)},i(l){o||(C(n),o=!0)},o(l){x(n),o=!1},d(l){l&&S(t),~e&&r[e].d()}}}function hd(i,t,e){let n,o,{floorIndex:s}=t,{floorplanData:r}=t;return i.$$set=a=>{"floorIndex"in a&&e(2,s=a.floorIndex),"floorplanData"in a&&e(3,r=a.floorplanData)},i.$$.update=()=>{var a,l;i.$$.dirty&12&&e(1,n=r.outlines[s]),i.$$.dirty&12&&e(0,o=(l=(a=r.outlines)==null?void 0:a[s])==null?void 0:l.svgContent)},[o,n,s,r]}class Ua extends oe{constructor(t){super(),ie(this,t,hd,dd,ne,{floorIndex:2,floorplanData:3},ld)}}function fd(i){le(i,"svelte-12pzct5",".floorplan-plugin__room-label-item.svelte-12pzct5{position:absolute;display:flex;flex-flow:column;align-items:center;line-height:1;color:#fff;transform:translate(-50%, -50%);white-space:nowrap;will-change:opacity;transition:opacity 300ms}.floorplan-plugin__room-size.svelte-12pzct5{opacity:0.45}")}function md(i){let t,e=i[8].outerHTML+"",n;return{c(){t=new ti(!1),n=me(),t.a=n},m(o,s){t.m(e,o,s),M(o,n,s)},p(o,s){s&256&&e!==(e=o[8].outerHTML+"")&&t.p(e)},d(o){o&&S(n),o&&t.d()}}}function pd(i){let t,e,n=i[1]&&_o(i),o=i[0]&&No(i);return{c(){n&&n.c(),t=$(),o&&o.c(),e=me()},m(s,r){n&&n.m(s,r),M(s,t,r),o&&o.m(s,r),M(s,e,r)},p(s,r){s[1]?n?n.p(s,r):(n=_o(s),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null),s[0]?o?o.p(s,r):(o=No(s),o.c(),o.m(e.parentNode,e)):o&&(o.d(1),o=null)},d(s){n&&n.d(s),s&&S(t),o&&o.d(s),s&&S(e)}}}function _o(i){let t,e=i[2].name+"",n;return{c(){t=z("span"),n=ke(e),y(t,"class","floorplan-plugin__room-name")},m(o,s){M(o,t,s),V(t,n)},p(o,s){s&4&&e!==(e=o[2].name+"")&&Se(n,e)},d(o){o&&S(t)}}}function No(i){let t,e;return{c(){t=z("span"),e=ke(i[7]),y(t,"class","floorplan-plugin__room-size svelte-12pzct5")},m(n,o){M(n,t,o),V(t,e)},p(n,o){o&128&&Se(e,n[7])},d(n){n&&S(t)}}}function gd(i){let t,e,n;function o(a,l){if(a[3]===void 0)return pd;if(a[8])return md}let s=o(i),r=s&&s(i);return{c(){t=z("div"),r&&r.c(),y(t,"class","floorplan-plugin__room-label-item svelte-12pzct5"),T(t,"left",i[9]),T(t,"top",i[10]),T(t,"font-size",i[11]),T(t,"opacity",i[6]?"1":"0")},m(a,l){M(a,t,l),r&&r.m(t,null),e||(n=[lt(an.call(null,t)),ge(t,"clientWidth",i[19]),ge(t,"clientHeight",i[20])],e=!0)},p(a,[l]){s===(s=o(a))&&r?r.p(a,l):(r&&r.d(1),r=s&&s(a),r&&(r.c(),r.m(t,null))),l&64&&T(t,"opacity",a[6]?"1":"0")},i:X,o:X,d(a){a&&S(t),r&&r.d(),e=!1,He(n)}}}function Ad(i,t){const e=i[0],n=i[1];let o=!1;for(let s=0,r=t.length-1;s<t.length;r=s++){const a=t[s][0],l=t[s][1],c=t[r][0],u=t[r][1];l>n!=u>n&&e<(c-a)*(n-l)/(u-l)+a&&(o=!o)}return o}function vd(i,t,e){let n,o,s,r,a,{pxmm:l}=t,{roomAreaEnable:c}=t,{roomNameEnable:u}=t,{room:d}=t,{hoveredRoom:h}=t,{getRoomAreaText:f}=t,{getLabelElement:v}=t,{adaptiveRoomLabelVisibleEnable:g}=t;function p(H,B){if(B.width===0||B.height===0)return()=>!1;const F=H.path.map(({x:de,y:pe})=>[de,pe]),_=H.roomLabel.position,{x:Y,y:W}=_,{width:ee,height:U}=B,ae=ee/2,he=U/2;return function(pe){const Pe=Y*pe,Ie=W*pe,Me=F.map(([Ae,Ce])=>[Ae*pe,Ce*pe]);return[[Pe+ae,Ie-he],[Pe-ae,Ie-he],[Pe-ae,Ie+he],[Pe+ae,Ie+he]].every(Ae=>Ad(Ae,Me))}}const A=document.body.clientWidth,b=document.body.clientHeight,w=d.roomLabel,E=w.positionInImage.x*100+"%",L=w.positionInImage.y*100+"%",P=(A<500||b<500?10:14)+"px";let D=0,k=0,O=!1;h.subscribe(function(B){e(16,O=!!B&&B.id===d.id)});const N=H=>{e(4,D=H.detail)},R=H=>{e(5,k=H.detail)};return i.$$set=H=>{"pxmm"in H&&e(12,l=H.pxmm),"roomAreaEnable"in H&&e(0,c=H.roomAreaEnable),"roomNameEnable"in H&&e(1,u=H.roomNameEnable),"room"in H&&e(2,d=H.room),"hoveredRoom"in H&&e(13,h=H.hoveredRoom),"getRoomAreaText"in H&&e(14,f=H.getRoomAreaText),"getLabelElement"in H&&e(3,v=H.getLabelElement),"adaptiveRoomLabelVisibleEnable"in H&&e(15,g=H.adaptiveRoomLabelVisibleEnable)},i.$$.update=()=>{i.$$.dirty&12&&e(8,n=v==null?void 0:v(d)),i.$$.dirty&16388&&e(7,o=d.size?f(d.size):""),i.$$.dirty&48&&e(18,s={width:D,height:k}),i.$$.dirty&262148&&e(17,r=s?p(d,s):void 0),i.$$.dirty&233472&&e(6,a=g?O?!0:!!(r!=null&&r(l)):!0)},[c,u,d,v,D,k,a,o,n,E,L,P,l,h,f,g,O,r,s,N,R]}class bd extends oe{constructor(t){super(),ie(this,t,vd,gd,ne,{pxmm:12,roomAreaEnable:0,roomNameEnable:1,room:2,hoveredRoom:13,getRoomAreaText:14,getLabelElement:3,adaptiveRoomLabelVisibleEnable:15},fd)}}function yd(i){le(i,"svelte-13xux0b",".floorplan-plugin__room-labels.svelte-13xux0b{width:100%;height:100%;position:absolute;left:0;top:0;z-index:20;pointer-events:none}")}function Xo(i,t,e){const n=i.slice();return n[12]=t[e],n}function Yo(i){let t,e=[],n=new Map,o,s,r,a=i[8];const l=c=>c[12].id;for(let c=0;c<a.length;c+=1){let u=Xo(i,a,c),d=l(u);n.set(d,e[c]=Uo(d,u))}return{c(){t=z("div");for(let c=0;c<e.length;c+=1)e[c].c();y(t,"class","floorplan-plugin__room-labels svelte-13xux0b")},m(c,u){M(c,t,u);for(let d=0;d<e.length;d+=1)e[d].m(t,null);o=!0,s||(r=[lt(an.call(null,t)),ge(t,"clientWidth",i[11])],s=!0)},p(c,u){u&447&&(a=c[8],se(),e=Ze(e,u,l,1,c,a,n,t,It,Uo,null,Xo),re())},i(c){if(!o){for(let u=0;u<a.length;u+=1)C(e[u]);o=!0}},o(c){for(let u=0;u<e.length;u+=1)x(e[u]);o=!1},d(c){c&&S(t);for(let u=0;u<e.length;u+=1)e[u].d();s=!1,He(r)}}}function Uo(i,t){let e,n,o;const s=[{pxmm:t[7],room:t[12],hoveredRoom:t[2],roomAreaEnable:t[0],roomNameEnable:t[1],getLabelElement:t[4],getRoomAreaText:t[3],adaptiveRoomLabelVisibleEnable:t[5]}];let r={};for(let a=0;a<s.length;a+=1)r=Be(r,s[a]);return n=new bd({props:r}),{key:i,first:null,c(){e=me(),K(n.$$.fragment),this.first=e},m(a,l){M(a,e,l),J(n,a,l),o=!0},p(a,l){t=a;const c=l&447?Qe(s,[{pxmm:t[7],room:t[12],hoveredRoom:t[2],roomAreaEnable:t[0],roomNameEnable:t[1],getLabelElement:t[4],getRoomAreaText:t[3],adaptiveRoomLabelVisibleEnable:t[5]}]):{};n.$set(c)},i(a){o||(C(n.$$.fragment,a),o=!0)},o(a){x(n.$$.fragment,a),o=!1},d(a){a&&S(e),Z(n,a)}}}function wd(i){let t,e,n=i[8]&&Yo(i);return{c(){n&&n.c(),t=me()},m(o,s){n&&n.m(o,s),M(o,t,s),e=!0},p(o,[s]){o[8]?n?(n.p(o,s),s&256&&C(n,1)):(n=Yo(o),n.c(),C(n,1),n.m(t.parentNode,t)):n&&(se(),x(n,1,1,()=>{n=null}),re())},i(o){e||(C(n),e=!0)},o(o){x(n),e=!1},d(o){n&&n.d(o),o&&S(t)}}}function Ed(i,t,e){let n,{floorIndex:o}=t,{roomAreaEnable:s}=t,{roomNameEnable:r}=t,{floorplanData:a}=t,{hoveredRoom:l}=t,{getRoomAreaText:c}=t,{getLabelElement:u}=t,{adaptiveRoomLabelVisibleEnable:d}=t,h=0,f=0;const v=g=>{e(6,h=g.detail)};return i.$$set=g=>{"floorIndex"in g&&e(9,o=g.floorIndex),"roomAreaEnable"in g&&e(0,s=g.roomAreaEnable),"roomNameEnable"in g&&e(1,r=g.roomNameEnable),"floorplanData"in g&&e(10,a=g.floorplanData),"hoveredRoom"in g&&e(2,l=g.hoveredRoom),"getRoomAreaText"in g&&e(3,c=g.getRoomAreaText),"getLabelElement"in g&&e(4,u=g.getLabelElement),"adaptiveRoomLabelVisibleEnable"in g&&e(5,d=g.adaptiveRoomLabelVisibleEnable)},i.$$.update=()=>{if(i.$$.dirty&1536&&e(8,n=a.floorDatas[o].rooms),i.$$.dirty&1088){const{max:g,min:p}=a.bounding,A=g.x-p.x;e(7,f=h/A)}},[s,r,l,c,u,d,h,f,n,o,a,v]}class Cd extends oe{constructor(t){super(),ie(this,t,Ed,wd,ne,{floorIndex:9,roomAreaEnable:0,roomNameEnable:1,floorplanData:10,hoveredRoom:2,getRoomAreaText:3,getLabelElement:4,adaptiveRoomLabelVisibleEnable:5},yd)}}function Pd(i){le(i,"svelte-djlmk4",".floorplan-plugin__rule-labels.svelte-djlmk4.svelte-djlmk4{position:absolute;display:flex}.floorplan-plugin__rule-labels--top.svelte-djlmk4.svelte-djlmk4{left:0;top:-1.25rem}.floorplan-plugin__rule-labels--bottom.svelte-djlmk4.svelte-djlmk4{left:0;bottom:-1.25rem}.floorplan-plugin__rule-labels--left.svelte-djlmk4.svelte-djlmk4{top:0;left:-1.25rem}.floorplan-plugin__rule-labels--right.svelte-djlmk4.svelte-djlmk4{top:0;right:-1.25rem}.floorplan-plugin__rule-line.svelte-djlmk4.svelte-djlmk4{background:#fff;opacity:0.05;width:100%;height:100%}.floorplan-plugin__rule-scale-wrapper.svelte-djlmk4.svelte-djlmk4{position:absolute;width:0.3125rem;height:100%;left:50%;top:0;transform:translateX(-50%)}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-scale-wrapper.svelte-djlmk4{width:100%;height:0.3125rem;top:50%;left:0;transform:translateY(-50%)}.floorplan-plugin__rule-scale.svelte-djlmk4.svelte-djlmk4{position:absolute;background:#fff;opacity:0.05;width:100%;height:0.0625rem}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-scale.svelte-djlmk4{width:0.0625rem;height:100%}.floorplan-plugin__rule-text-wrapper.svelte-djlmk4.svelte-djlmk4{position:absolute}.floorplan-plugin__rule-labels--top.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:100%;height:0;top:0.625rem}.floorplan-plugin__rule-labels--bottom.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:100%;height:0;bottom:0.625rem}.floorplan-plugin__rule-labels--left.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:0;height:100%;left:0.625rem}.floorplan-plugin__rule-labels--right.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:0;height:100%;right:0.625rem}.floorplan-plugin__rule-text-item.svelte-djlmk4.svelte-djlmk4{width:0;height:0;position:absolute;transform:rotate(90deg)}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-text-item.svelte-djlmk4{transform:rotate(0)}.floorplan-plugin__rule-text.svelte-djlmk4.svelte-djlmk4{width:-moz-max-content;width:max-content;transform:translate(-50%, -50%);font-size:0.625rem;color:#fff;opacity:0.2}")}function qo(i,t,e){const n=i.slice();return n[11]=t[e],n[13]=e,n}function Jo(i,t,e){const n=i.slice();return n[14]=t[e],n}function Zo(i){let t;return{c(){t=z("div"),y(t,"class","floorplan-plugin__rule-scale svelte-djlmk4"),T(t,"left",i[14].left*100+"%"),T(t,"bottom",i[14].bottom*100+"%")},m(e,n){M(e,t,n)},p:X,d(e){e&&S(t)}}}function Ko(i,t){let e,n,o=t[1](t[11].distance)+"",s,r;return{key:i,first:null,c(){e=z("div"),n=z("div"),s=ke(o),r=$(),y(n,"class","floorplan-plugin__rule-text svelte-djlmk4"),q(n,"is-row",t[2]),y(e,"class","floorplan-plugin__rule-text-item svelte-djlmk4"),T(e,"left",t[11].left*100+"%"),T(e,"bottom",t[11].bottom*100+"%"),this.first=e},m(a,l){M(a,e,l),V(e,n),V(n,s),V(e,r)},p(a,l){t=a,l&2&&o!==(o=t[1](t[11].distance)+"")&&Se(s,o)},d(a){a&&S(e)}}}function Id(i){let t,e,n,o,s,r,a=[],l=new Map,c,u=i[3],d=[];for(let v=0;v<u.length;v+=1)d[v]=Zo(Jo(i,u,v));let h=i[4];const f=v=>v[13];for(let v=0;v<h.length;v+=1){let g=qo(i,h,v),p=f(g);l.set(p,a[v]=Ko(p,g))}return{c(){t=z("div"),e=z("div"),n=$(),o=z("div");for(let v=0;v<d.length;v+=1)d[v].c();s=$(),r=z("div");for(let v=0;v<a.length;v+=1)a[v].c();y(e,"class","floorplan-plugin__rule-line svelte-djlmk4"),y(o,"class","floorplan-plugin__rule-scale-wrapper svelte-djlmk4"),q(o,"is-row",i[2]),y(r,"class","floorplan-plugin__rule-text-wrapper svelte-djlmk4"),y(t,"class",c="floorplan-plugin__rule-labels floorplan-plugin__rule-labels--"+i[0]+" svelte-djlmk4"),q(t,"is-row",i[2]),T(t,"width",i[2]?"100%":1/16+"rem"),T(t,"height",i[2]?1/16+"rem":"100%")},m(v,g){M(v,t,g),V(t,e),V(t,n),V(t,o);for(let p=0;p<d.length;p+=1)d[p].m(o,null);V(t,s),V(t,r);for(let p=0;p<a.length;p+=1)a[p].m(r,null)},p(v,[g]){if(g&8){u=v[3];let p;for(p=0;p<u.length;p+=1){const A=Jo(v,u,p);d[p]?d[p].p(A,g):(d[p]=Zo(A),d[p].c(),d[p].m(o,null))}for(;p<d.length;p+=1)d[p].d(1);d.length=u.length}g&22&&(h=v[4],a=Ze(a,g,f,1,v,h,l,r,fo,Ko,null,qo)),g&1&&c!==(c="floorplan-plugin__rule-labels floorplan-plugin__rule-labels--"+v[0]+" svelte-djlmk4")&&y(t,"class",c),g&5&&q(t,"is-row",v[2])},i:X,o:X,d(v){v&&S(t),ct(d,v);for(let g=0;g<a.length;g+=1)a[g].d()}}}const Rt=1e3,Qt=180;function kd(i,t,e){let{type:n}=t,{data:o}=t,{bounding:s}=t,{getRuleDistanceText:r}=t;const a=n==="top"||n==="bottom",l=s.max.x-s.min.x-(Rt-Qt)*2,c=s.max.y-s.min.y-(Rt-Qt)*2,u=o.map(([v,g])=>a?[v.x,g.x]:[v.y,g.y]).flat().sort().filter((v,g,p)=>g===0?!0:v!==p[g-1]),d=u.map(v=>{const g=a?(v-s.min.x-Rt+Qt)/l:0,p=a?0:(v-s.min.y-Rt+Qt)/c;return{left:g,bottom:p}});d.unshift({left:0,bottom:0}),d.push(a?{left:1,bottom:0}:{left:0,bottom:1});const h=u[u.length-1]-u[0],f=u.map((v,g,p)=>{const A=g===0?0:v-p[g-1],b=g===0?0:(v+p[g-1])/2,w=a?(b-s.min.x-Rt+Qt)/l:0,E=a?0:(b-s.min.y-Rt+Qt)/c;return{left:w,bottom:E,distance:A}}).filter(({distance:v})=>v/h>.1);return i.$$set=v=>{"type"in v&&e(0,n=v.type),"data"in v&&e(5,o=v.data),"bounding"in v&&e(6,s=v.bounding),"getRuleDistanceText"in v&&e(1,r=v.getRuleDistanceText)},[n,r,a,d,f,o,s]}class xd extends oe{constructor(t){super(),ie(this,t,kd,Id,ne,{type:0,data:5,bounding:6,getRuleDistanceText:1},Pd)}}function Dd(i){le(i,"svelte-1mzj9p3",".floorplan-plugin__rule-labels-wrapper.svelte-1mzj9p3{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}")}function $o(i,t,e){const n=i.slice();return n[13]=t[e][0],n[14]=t[e][1],n}function es(i,t){let e,n,o;const s=[{type:t[13],data:t[14],bounding:t[1],getRuleDistanceText:t[0]}];let r={};for(let a=0;a<s.length;a+=1)r=Be(r,s[a]);return n=new xd({props:r}),{key:i,first:null,c(){e=me(),K(n.$$.fragment),this.first=e},m(a,l){M(a,e,l),J(n,a,l),o=!0},p(a,l){t=a;const c=l&19?Qe(s,[{type:t[13],data:t[14],bounding:t[1],getRuleDistanceText:t[0]}]):{};n.$set(c)},i(a){o||(C(n.$$.fragment,a),o=!0)},o(a){x(n.$$.fragment,a),o=!1},d(a){a&&S(e),Z(n,a)}}}function Ld(i){let t,e=[],n=new Map,o,s=i[4];const r=a=>a[13];for(let a=0;a<s.length;a+=1){let l=$o(i,s,a),c=r(l);n.set(c,e[a]=es(c,l))}return{c(){t=z("div");for(let a=0;a<e.length;a+=1)e[a].c();y(t,"class","floorplan-plugin__rule-labels-wrapper svelte-1mzj9p3"),T(t,"width",i[3]),T(t,"height",i[2])},m(a,l){M(a,t,l);for(let c=0;c<e.length;c+=1)e[c].m(t,null);o=!0},p(a,[l]){l&19&&(s=a[4],se(),e=Ze(e,l,r,1,a,s,n,t,It,es,null,$o),re()),l&8&&T(t,"width",a[3]),l&4&&T(t,"height",a[2])},i(a){if(!o){for(let l=0;l<s.length;l+=1)C(e[l]);o=!0}},o(a){for(let l=0;l<e.length;l+=1)x(e[l]);o=!1},d(a){a&&S(t);for(let l=0;l<e.length;l+=1)e[l].d()}}}const ts=1e3,ns=180;function Sd(i,t,e){let n,o,s,r,a,l,c,u,d,h,{floorIndex:f}=t,{floorplanData:v}=t,{getRuleDistanceText:g}=t;return i.$$set=p=>{"floorIndex"in p&&e(5,f=p.floorIndex),"floorplanData"in p&&e(6,v=p.floorplanData),"getRuleDistanceText"in p&&e(0,g=p.getRuleDistanceText)},i.$$.update=()=>{i.$$.dirty&64&&e(1,n=v.bounding),i.$$.dirty&96&&e(11,o=v.floorDatas[f].rules),i.$$.dirty&2048&&e(12,s=Object.keys(o)),i.$$.dirty&6144&&e(4,r=s.map(p=>[p,o[p]])),i.$$.dirty&2&&e(9,a=n.max.x-n.min.x),i.$$.dirty&2&&e(7,l=n.max.y-n.min.y),i.$$.dirty&2&&e(10,c=n.max.x-n.min.x-(ts-ns)*2),i.$$.dirty&2&&e(8,u=n.max.y-n.min.y-(ts-ns)*2),i.$$.dirty&1536&&e(3,d=c/a*100+"%"),i.$$.dirty&384&&e(2,h=u/l*100+"%")},[g,n,h,d,r,f,v,l,u,a,c,o,s]}class Md extends oe{constructor(t){super(),ie(this,t,Sd,Ld,ne,{floorIndex:5,floorplanData:6,getRuleDistanceText:0},Dd)}}function vi(i,t={}){let e="";const{needZ:n,needA:o}=t;return(n?i.slice().concat(i[0]):i.slice()).forEach((r,a)=>{const{x:l,y:c}=t.format?t.format(r):r,u=l+","+c;return a===0?(e+="M"+u,e):o!=null&&o[a]?(e+="A"+o[a]+","+u,e):(e+="L"+u,e)}),e+(n?"Z":"")}function qa({x:i,y:t},e){const{max:n,min:o}=e;return{x:i-o.x,y:n.y-t}}function Td(i,t){const e=i.x*1e3+t.bounding.origin.x,n=-i.z*1e3+t.bounding.origin.y;return{x:e,y:n}}function zd(i,t){const e=t.bounding,n=e.max.x-e.min.x,o=e.max.y-e.min.y;return{x:(i.x-e.min.x)/n,y:(e.max.y-i.y)/o}}function Bd(i,t){return Math.max(...t.work.observers.map(n=>i.z>=n.standingPosition.z?n.floorIndex:0))}function Vd(i){let t;return{c(){t=we("path"),y(t,"d",i[0]),y(t,"fill","#2F313A")},m(e,n){M(e,t,n)},p(e,[n]){n&1&&y(t,"d",e[0])},i:X,o:X,d(e){e&&S(t)}}}function jd(i,t,e){let n,{path:o}=t;return i.$$set=s=>{"path"in s&&e(1,o=s.path)},i.$$.update=()=>{i.$$.dirty&2&&e(0,n=vi(o,{needZ:!0}))},[n,o]}class Od extends oe{constructor(t){super(),ie(this,t,jd,Vd,ne,{path:1})}}function Rd(i){let t,e,n,o,s,r;return{c(){t=we("defs"),e=we("pattern"),n=we("rect"),o=we("path"),s=$(),r=we("path"),y(n,"x","0"),y(n,"y","0"),y(n,"width",i[1]),y(n,"height",i[1]),y(n,"fill","#323747"),y(o,"d",i[2]),y(o,"stroke","#ffffff"),y(o,"stroke-opacity","0.06"),y(o,"stroke-width","0.5"),y(o,"fill","none"),y(e,"id","fpm-room-pattern-0"),y(e,"x","0"),y(e,"y","0"),y(e,"width",i[1]),y(e,"height",i[1]),y(e,"patternUnits","userSpaceOnUse"),y(e,"patternTransform","scale(50 50)"),y(r,"d",i[0]),y(r,"fill","url(#fpm-room-pattern-0)")},m(a,l){M(a,t,l),V(t,e),V(e,n),V(e,o),M(a,s,l),M(a,r,l)},p(a,[l]){l&1&&y(r,"d",a[0])},i:X,o:X,d(a){a&&S(t),a&&S(s),a&&S(r)}}}const zi=6;function Qd(i,t,e){let n,{path:o}=t;const s=zi*2,r=`M0 ${zi} h ${s} M${zi} 0 v ${s}`;return i.$$set=a=>{"path"in a&&e(3,o=a.path)},i.$$.update=()=>{i.$$.dirty&8&&e(0,n=vi(o,{needZ:!0}))},[n,s,r,o]}class Fd extends oe{constructor(t){super(),ie(this,t,Qd,Rd,ne,{path:3})}}function Hd(i){let t,e,n,o,s,r,a,l,c,u,d;return{c(){t=we("defs"),e=we("pattern"),n=we("rect"),o=we("pattern"),s=we("rect"),r=$(),a=we("path"),l=$(),c=we("path"),u=$(),d=we("path"),y(n,"x","0"),y(n,"y","0"),y(n,"width","6"),y(n,"height","50"),y(n,"fill","none"),y(n,"stroke","#4B4B57"),y(n,"stroke-width","0.5"),y(e,"id","room-material-pattern-1"),y(e,"x","0"),y(e,"y","0"),y(e,"width","12"),y(e,"height","50"),y(e,"patternUnits","userSpaceOnUse"),y(e,"patternTransform","scale(50 50)"),y(s,"x","0"),y(s,"y","0"),y(s,"width","6"),y(s,"height","50"),y(s,"fill","none"),y(s,"stroke","#4B4B57"),y(s,"stroke-width","0.5"),y(o,"id","room-material-pattern-2"),y(o,"x","6"),y(o,"y","25"),y(o,"width","12"),y(o,"height","50"),y(o,"patternUnits","userSpaceOnUse"),y(o,"patternTransform","scale(50 50)"),y(a,"d",i[0]),y(a,"fill","#43434D"),y(c,"d",i[0]),y(c,"fill","url(#room-material-pattern-1)"),y(d,"d",i[0]),y(d,"fill","url(#room-material-pattern-2)")},m(h,f){M(h,t,f),V(t,e),V(e,n),V(t,o),V(o,s),M(h,r,f),M(h,a,f),M(h,l,f),M(h,c,f),M(h,u,f),M(h,d,f)},p(h,[f]){f&1&&y(a,"d",h[0]),f&1&&y(c,"d",h[0]),f&1&&y(d,"d",h[0])},i:X,o:X,d(h){h&&S(t),h&&S(r),h&&S(a),h&&S(l),h&&S(c),h&&S(u),h&&S(d)}}}function Gd(i,t,e){let n,{path:o}=t;return i.$$set=s=>{"path"in s&&e(1,o=s.path)},i.$$.update=()=>{i.$$.dirty&2&&e(0,n=vi(o,{needZ:!0}))},[n,o]}class Wd extends oe{constructor(t){super(),ie(this,t,Gd,Hd,ne,{path:1})}}function _d(i){le(i,"svelte-1dykexu",".floorplan-plugin__room-material.svelte-1dykexu{position:absolute;left:0;top:0;width:100%;height:100%}svg.svelte-1dykexu{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}")}function is(i,t,e){const n=i.slice();return n[5]=t[e],n}function Nd(i){let t,e;return t=new Fd({props:{path:i[5].path}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&1&&(s.path=n[5].path),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function Xd(i){let t,e;return t=new Wd({props:{path:i[5].path}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&1&&(s.path=n[5].path),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function Yd(i){let t,e;return t=new Od({props:{path:i[5].path}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&1&&(s.path=n[5].path),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function os(i){let t,e,n,o;const s=[Yd,Xd,Nd],r=[];function a(l,c){return l[5].floorType===1?0:l[5].floorType===0?1:2}return e=a(i),n=r[e]=s[e](i),{c(){t=we("svg"),n.c(),y(t,"width","100%"),y(t,"height","100%"),y(t,"viewBox",`0 0 ${i[1]} ${i[2]}`),y(t,"class","svelte-1dykexu")},m(l,c){M(l,t,c),r[e].m(t,null),o=!0},p(l,c){let u=e;e=a(l),e===u?r[e].p(l,c):(se(),x(r[u],1,1,()=>{r[u]=null}),re(),n=r[e],n?n.p(l,c):(n=r[e]=s[e](l),n.c()),C(n,1),n.m(t,null))},i(l){o||(C(n),o=!0)},o(l){x(n),o=!1},d(l){l&&S(t),r[e].d()}}}function Ud(i){let t,e,n=i[0],o=[];for(let r=0;r<n.length;r+=1)o[r]=os(is(i,n,r));const s=r=>x(o[r],1,1,()=>{o[r]=null});return{c(){t=z("div");for(let r=0;r<o.length;r+=1)o[r].c();y(t,"class","floorplan-plugin__room-material svelte-1dykexu")},m(r,a){M(r,t,a);for(let l=0;l<o.length;l+=1)o[l].m(t,null);e=!0},p(r,[a]){if(a&7){n=r[0];let l;for(l=0;l<n.length;l+=1){const c=is(r,n,l);o[l]?(o[l].p(c,a),C(o[l],1)):(o[l]=os(c),o[l].c(),C(o[l],1),o[l].m(t,null))}for(se(),l=n.length;l<o.length;l+=1)s(l);re()}},i(r){if(!e){for(let a=0;a<n.length;a+=1)C(o[a]);e=!0}},o(r){o=o.filter(Boolean);for(let a=0;a<o.length;a+=1)x(o[a]);e=!1},d(r){r&&S(t),ct(o,r)}}}function qd(i,t,e){let n,{floorIndex:o}=t,{floorplanData:s}=t;const r=s.bounding.max.x-s.bounding.min.x,a=s.bounding.max.y-s.bounding.min.y;return i.$$set=l=>{"floorIndex"in l&&e(3,o=l.floorIndex),"floorplanData"in l&&e(4,s=l.floorplanData)},i.$$.update=()=>{i.$$.dirty&24&&e(0,n=s.floorDatas[o].rooms.map(l=>fe(Q({},l),{path:l.path.map(c=>qa(c,s.bounding))})))},[n,r,a,o,s]}class Jd extends oe{constructor(t){super(),ie(this,t,qd,Ud,ne,{floorIndex:3,floorplanData:4},_d)}}function Zd(i){le(i,"svelte-qq2273","path.svelte-qq2273{--opacity:0;opacity:var(--opacity)}path.svelte-qq2273:hover{opacity:calc(var(--opacity) + 0.1)}")}function Kd(i){let t,e,n,o;return{c(){t=we("path"),y(t,"d",i[5]),y(t,"fill","#fff"),y(t,"style",i[2]),y(t,"id",e=`${i[1]}_${i[0].id}`),y(t,"class","svelte-qq2273")},m(s,r){M(s,t,r),n||(o=[ge(t,"mouseenter",i[3]),ge(t,"mouseleave",i[4])],n=!0)},p(s,[r]){r&4&&y(t,"style",s[2]),r&3&&e!==(e=`${s[1]}_${s[0].id}`)&&y(t,"id",e)},i:X,o:X,d(s){s&&S(t),n=!1,He(o)}}}function $d(i,t,e){let n,o,{room:s}=t,{floorIndex:r}=t,{floorplanData:a}=t,{hoveredRoom:l}=t,{highlightData:c}=t;function u(){l.set(s)}function d(){l.set(void 0)}const{bounding:h}=a,f=vi(s.path,{needZ:!0,format:v=>qa(v,h)});return i.$$set=v=>{"room"in v&&e(0,s=v.room),"floorIndex"in v&&e(1,r=v.floorIndex),"floorplanData"in v&&e(6,a=v.floorplanData),"hoveredRoom"in v&&e(7,l=v.hoveredRoom),"highlightData"in v&&e(8,c=v.highlightData)},i.$$.update=()=>{i.$$.dirty&259&&e(9,n=c[`${r}_${s.id}`]),i.$$.dirty&512&&e(2,o=n?`fill: ${n.color}; --opacity: ${n.opacity}; pointer-events: ${n.disabled?"none":"auto"}`:null)},[s,r,o,u,d,f,a,l,c,n]}class eh extends oe{constructor(t){super(),ie(this,t,$d,Kd,ne,{room:0,floorIndex:1,floorplanData:6,hoveredRoom:7,highlightData:8},Zd)}}function th(i){le(i,"svelte-1kqo6e4",".floorplan-plugin__room-highlight.svelte-1kqo6e4{position:absolute;width:100%;height:100%}svg.svelte-1kqo6e4{width:100%;height:100%;overflow:visible}")}function ss(i,t,e){const n=i.slice();return n[6]=t[e],n}function rs(i,t){let e,n,o;const s=[{room:t[6],floorplanData:t[1],hoveredRoom:t[2],floorIndex:t[0],highlightData:t[3]}];let r={};for(let a=0;a<s.length;a+=1)r=Be(r,s[a]);return n=new eh({props:r}),{key:i,first:null,c(){e=me(),K(n.$$.fragment),this.first=e},m(a,l){M(a,e,l),J(n,a,l),o=!0},p(a,l){t=a;const c=l&15?Qe(s,[{room:t[6],floorplanData:t[1],hoveredRoom:t[2],floorIndex:t[0],highlightData:t[3]}]):{};n.$set(c)},i(a){o||(C(n.$$.fragment,a),o=!0)},o(a){x(n.$$.fragment,a),o=!1},d(a){a&&S(e),Z(n,a)}}}function nh(i){let t,e,n=[],o=new Map,s,r=i[1].floorDatas[i[0]].rooms;const a=l=>l[6].id;for(let l=0;l<r.length;l+=1){let c=ss(i,r,l),u=a(c);o.set(u,n[l]=rs(u,c))}return{c(){t=z("div"),e=we("svg");for(let l=0;l<n.length;l+=1)n[l].c();y(e,"width","100%"),y(e,"height","100%"),y(e,"viewBox",`0 0 ${i[4]} ${i[5]}`),y(e,"class","svelte-1kqo6e4"),y(t,"class","floorplan-plugin__room-highlight svelte-1kqo6e4")},m(l,c){M(l,t,c),V(t,e);for(let u=0;u<n.length;u+=1)n[u].m(e,null);s=!0},p(l,[c]){c&15&&(r=l[1].floorDatas[l[0]].rooms,se(),n=Ze(n,c,a,1,l,r,o,e,It,rs,null,ss),re())},i(l){if(!s){for(let c=0;c<r.length;c+=1)C(n[c]);s=!0}},o(l){for(let c=0;c<n.length;c+=1)x(n[c]);s=!1},d(l){l&&S(t);for(let c=0;c<n.length;c+=1)n[c].d()}}}function ih(i,t,e){let{floorIndex:n}=t,{floorplanData:o}=t,{hoveredRoom:s}=t,{highlightData:r}=t;const a=o.bounding.max.x-o.bounding.min.x,l=o.bounding.max.y-o.bounding.min.y;return i.$$set=c=>{"floorIndex"in c&&e(0,n=c.floorIndex),"floorplanData"in c&&e(1,o=c.floorplanData),"hoveredRoom"in c&&e(2,s=c.hoveredRoom),"highlightData"in c&&e(3,r=c.highlightData)},[n,o,s,r,a,l]}class Ja extends oe{constructor(t){super(),ie(this,t,ih,nh,ne,{floorIndex:0,floorplanData:1,hoveredRoom:2,highlightData:3},th)}}function oh(i){le(i,"svelte-bl8zrz",".floorplan-plugin__floor.svelte-bl8zrz{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;pointer-events:none}.floorplan-plugin__floor--is-current.svelte-bl8zrz{opacity:1;pointer-events:auto}")}function as(i){let t,e;const n=[{floorIndex:i[1],floorplanData:i[8],hoveredRoom:i[14],highlightData:i[13]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Ja({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&24834?Qe(n,[{floorIndex:s[1],floorplanData:s[8],hoveredRoom:s[14],highlightData:s[13]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function ls(i){let t,e;const n=[{floorplanData:i[8],roomAreaEnable:i[5],roomNameEnable:i[6],floorIndex:i[1],getRoomAreaText:i[9],getLabelElement:i[10],hoveredRoom:i[14],adaptiveRoomLabelVisibleEnable:i[12]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Cd({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&22370?Qe(n,[{floorplanData:s[8],roomAreaEnable:s[5],roomNameEnable:s[6],floorIndex:s[1],getRoomAreaText:s[9],getLabelElement:s[10],hoveredRoom:s[14],adaptiveRoomLabelVisibleEnable:s[12]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function cs(i){let t,e;const n=[{floorplanData:i[8],floorIndex:i[1],getRuleDistanceText:i[11]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Md({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&2306?Qe(n,[{floorplanData:s[8],floorIndex:s[1],getRuleDistanceText:s[11]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function sh(i){let t,e,n,o,s,r,a,l,c;const u=[{floorIndex:i[1],floorplanData:i[8]}];let d={};for(let A=0;A<u.length;A+=1)d=Be(d,u[A]);e=new Jd({props:d});let h=(i[2]||i[3])&&as(i);const f=[{floorplanData:i[8],floorIndex:i[1]}];let v={};for(let A=0;A<f.length;A+=1)v=Be(v,f[A]);s=new Ua({props:v});let g=i[4]&&ls(i),p=i[7]&&cs(i);return{c(){t=z("div"),K(e.$$.fragment),n=$(),h&&h.c(),o=$(),K(s.$$.fragment),r=$(),g&&g.c(),a=$(),p&&p.c(),y(t,"class",l=Te(`floorplan-plugin__floor${i[0]?" floorplan-plugin__floor--is-current":""}`)+" svelte-bl8zrz")},m(A,b){M(A,t,b),J(e,t,null),V(t,n),h&&h.m(t,null),V(t,o),J(s,t,null),V(t,r),g&&g.m(t,null),V(t,a),p&&p.m(t,null),c=!0},p(A,[b]){const w=b&258?Qe(u,[{floorIndex:A[1],floorplanData:A[8]}]):{};e.$set(w),A[2]||A[3]?h?(h.p(A,b),b&12&&C(h,1)):(h=as(A),h.c(),C(h,1),h.m(t,o)):h&&(se(),x(h,1,1,()=>{h=null}),re());const E=b&258?Qe(f,[{floorplanData:A[8],floorIndex:A[1]}]):{};s.$set(E),A[4]?g?(g.p(A,b),b&16&&C(g,1)):(g=ls(A),g.c(),C(g,1),g.m(t,a)):g&&(se(),x(g,1,1,()=>{g=null}),re()),A[7]?p?(p.p(A,b),b&128&&C(p,1)):(p=cs(A),p.c(),C(p,1),p.m(t,null)):p&&(se(),x(p,1,1,()=>{p=null}),re()),(!c||b&1&&l!==(l=Te(`floorplan-plugin__floor${A[0]?" floorplan-plugin__floor--is-current":""}`)+" svelte-bl8zrz"))&&y(t,"class",l)},i(A){c||(C(e.$$.fragment,A),C(h),C(s.$$.fragment,A),C(g),C(p),c=!0)},o(A){x(e.$$.fragment,A),x(h),x(s.$$.fragment,A),x(g),x(p),c=!1},d(A){A&&S(t),Z(e),h&&h.d(),Z(s),g&&g.d(),p&&p.d()}}}function rh(i,t,e){let{isCurrent:n}=t,{floorIndex:o}=t,{highlightEnable:s}=t,{hoverEnable:r}=t,{roomLabelsEnable:a}=t,{roomAreaEnable:l}=t,{roomNameEnable:c}=t,{ruleLabelsEnable:u}=t,{floorplanData:d}=t,{getRoomAreaText:h}=t,{getLabelElement:f}=t,{getRuleDistanceText:v}=t,{adaptiveRoomLabelVisibleEnable:g}=t,{highlightData:p}=t;const A=po(void 0);return i.$$set=b=>{"isCurrent"in b&&e(0,n=b.isCurrent),"floorIndex"in b&&e(1,o=b.floorIndex),"highlightEnable"in b&&e(2,s=b.highlightEnable),"hoverEnable"in b&&e(3,r=b.hoverEnable),"roomLabelsEnable"in b&&e(4,a=b.roomLabelsEnable),"roomAreaEnable"in b&&e(5,l=b.roomAreaEnable),"roomNameEnable"in b&&e(6,c=b.roomNameEnable),"ruleLabelsEnable"in b&&e(7,u=b.ruleLabelsEnable),"floorplanData"in b&&e(8,d=b.floorplanData),"getRoomAreaText"in b&&e(9,h=b.getRoomAreaText),"getLabelElement"in b&&e(10,f=b.getLabelElement),"getRuleDistanceText"in b&&e(11,v=b.getRuleDistanceText),"adaptiveRoomLabelVisibleEnable"in b&&e(12,g=b.adaptiveRoomLabelVisibleEnable),"highlightData"in b&&e(13,p=b.highlightData)},[n,o,s,r,a,l,c,u,d,h,f,v,g,p,A]}class ah extends oe{constructor(t){super(),ie(this,t,rh,sh,ne,{isCurrent:0,floorIndex:1,highlightEnable:2,hoverEnable:3,roomLabelsEnable:4,roomAreaEnable:5,roomNameEnable:6,ruleLabelsEnable:7,floorplanData:8,getRoomAreaText:9,getLabelElement:10,getRuleDistanceText:11,adaptiveRoomLabelVisibleEnable:12,highlightData:13},oh)}}function lh(i){le(i,"svelte-86bqav",".floorplan-main.svelte-86bqav{width:100%;height:100%;pointer-events:none}")}function us(i,t,e){const n=i.slice();return n[21]=t[e],n}function ds(i){let t,e,n,o,s,r=i[13].floorDatas,a=[];for(let d=0;d<r.length;d+=1)a[d]=hs(us(i,r,d));const l=d=>x(a[d],1,1,()=>{a[d]=null});let c=i[5]&&fs(i),u=i[8]&&ms(i);return{c(){t=z("div");for(let d=0;d<a.length;d+=1)a[d].c();e=$(),c&&c.c(),n=$(),u&&u.c(),y(t,"class","floorplan-main svelte-86bqav")},m(d,h){M(d,t,h);for(let f=0;f<a.length;f+=1)a[f].m(t,null);V(t,e),c&&c.m(t,null),V(t,n),u&&u.m(t,null),s=!0},p(d,h){if(i=d,h&2047696){r=i[13].floorDatas;let f;for(f=0;f<r.length;f+=1){const v=us(i,r,f);a[f]?(a[f].p(v,h),C(a[f],1)):(a[f]=hs(v),a[f].c(),C(a[f],1),a[f].m(t,e))}for(se(),f=r.length;f<a.length;f+=1)l(f);re()}i[5]?c?(c.p(i,h),h&32&&C(c,1)):(c=fs(i),c.c(),C(c,1),c.m(t,n)):c&&(se(),x(c,1,1,()=>{c=null}),re()),i[8]?u?(u.p(i,h),h&256&&C(u,1)):(u=ms(i),u.c(),C(u,1),u.m(t,null)):u&&(se(),x(u,1,1,()=>{u=null}),re())},i(d){if(!s){for(let h=0;h<r.length;h+=1)C(a[h]);C(c),C(u),o||Re(()=>{o=Tt(t,Mt,{duration:i[0],easing:At}),o.start()}),s=!0}},o(d){a=a.filter(Boolean);for(let h=0;h<a.length;h+=1)x(a[h]);x(c),x(u),s=!1},d(d){d&&S(t),ct(a,d),c&&c.d(),u&&u.d()}}}function hs(i){let t,e;const n=[{hoverEnable:i[6],highlightEnable:i[7],floorplanData:i[13],getRoomAreaText:i[16],getLabelElement:i[17],getRuleDistanceText:i[18],roomLabelsEnable:i[9],roomAreaEnable:i[10],roomNameEnable:i[11],ruleLabelsEnable:i[12],adaptiveRoomLabelVisibleEnable:i[19],highlightData:i[20]},{floorIndex:i[21].floorIndex},{isCurrent:i[21].floorIndex===i[4]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new ah({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&2047696?Qe(n,[r&2047680&&{hoverEnable:s[6],highlightEnable:s[7],floorplanData:s[13],getRoomAreaText:s[16],getLabelElement:s[17],getRuleDistanceText:s[18],roomLabelsEnable:s[9],roomAreaEnable:s[10],roomNameEnable:s[11],ruleLabelsEnable:s[12],adaptiveRoomLabelVisibleEnable:s[19],highlightData:s[20]},r&8192&&{floorIndex:s[21].floorIndex},r&8208&&{isCurrent:s[21].floorIndex===s[4]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function fs(i){let t,e;const n=[{panoIndex:i[3],floorplanData:i[13],lastPanoramaLongitude:i[14],cameraImageUrl:i[15]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Xu({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&57352?Qe(n,[{panoIndex:s[3],floorplanData:s[13],lastPanoramaLongitude:s[14],cameraImageUrl:s[15]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function ms(i){let t,e;return t=new $u({props:{floorplanData:i[13],northDesc:i[2]}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&8192&&(s.floorplanData=n[13]),o&4&&(s.northDesc=n[2]),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function ch(i){let t,e,n=i[1]&&ds(i);return{c(){n&&n.c(),t=me()},m(o,s){n&&n.m(o,s),M(o,t,s),e=!0},p(o,[s]){o[1]?n?(n.p(o,s),s&2&&C(n,1)):(n=ds(o),n.c(),C(n,1),n.m(t.parentNode,t)):n&&(se(),x(n,1,1,()=>{n=null}),re())},i(o){e||(C(n),e=!0)},o(o){x(n),e=!1},d(o){n&&n.d(o),o&&S(t)}}}function uh(i,t,e){let{duration:n=0}=t,{visible:o}=t,{northDesc:s}=t,{panoIndex:r}=t,{floorIndex:a}=t,{cameraEnable:l}=t,{hoverEnable:c}=t,{highlightEnable:u}=t,{compassEnable:d}=t,{roomLabelsEnable:h}=t,{roomAreaEnable:f}=t,{roomNameEnable:v}=t,{ruleLabelsEnable:g}=t,{floorplanData:p}=t,{lastPanoramaLongitude:A}=t,{cameraImageUrl:b}=t,{getRoomAreaText:w}=t,{getLabelElement:E}=t,{getRuleDistanceText:L}=t,{adaptiveRoomLabelVisibleEnable:P}=t,{highlightData:D}=t;return i.$$set=k=>{"duration"in k&&e(0,n=k.duration),"visible"in k&&e(1,o=k.visible),"northDesc"in k&&e(2,s=k.northDesc),"panoIndex"in k&&e(3,r=k.panoIndex),"floorIndex"in k&&e(4,a=k.floorIndex),"cameraEnable"in k&&e(5,l=k.cameraEnable),"hoverEnable"in k&&e(6,c=k.hoverEnable),"highlightEnable"in k&&e(7,u=k.highlightEnable),"compassEnable"in k&&e(8,d=k.compassEnable),"roomLabelsEnable"in k&&e(9,h=k.roomLabelsEnable),"roomAreaEnable"in k&&e(10,f=k.roomAreaEnable),"roomNameEnable"in k&&e(11,v=k.roomNameEnable),"ruleLabelsEnable"in k&&e(12,g=k.ruleLabelsEnable),"floorplanData"in k&&e(13,p=k.floorplanData),"lastPanoramaLongitude"in k&&e(14,A=k.lastPanoramaLongitude),"cameraImageUrl"in k&&e(15,b=k.cameraImageUrl),"getRoomAreaText"in k&&e(16,w=k.getRoomAreaText),"getLabelElement"in k&&e(17,E=k.getLabelElement),"getRuleDistanceText"in k&&e(18,L=k.getRuleDistanceText),"adaptiveRoomLabelVisibleEnable"in k&&e(19,P=k.adaptiveRoomLabelVisibleEnable),"highlightData"in k&&e(20,D=k.highlightData)},[n,o,s,r,a,l,c,u,d,h,f,v,g,p,A,b,w,E,L,P,D]}class go extends oe{constructor(t){super(),ie(this,t,uh,ch,ne,{duration:0,visible:1,northDesc:2,panoIndex:3,floorIndex:4,cameraEnable:5,hoverEnable:6,highlightEnable:7,compassEnable:8,roomLabelsEnable:9,roomAreaEnable:10,roomNameEnable:11,ruleLabelsEnable:12,floorplanData:13,lastPanoramaLongitude:14,cameraImageUrl:15,getRoomAreaText:16,getLabelElement:17,getRuleDistanceText:18,adaptiveRoomLabelVisibleEnable:19,highlightData:20},lh)}}const dh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAALaADAAQAAAABAAAAMAAAAADe2FZjAAAEF0lEQVRoBe2WzWskRRiHf13V092TxI2oEzYeVDwITtyDuCiihwiCePGgxIM3vYgHL4J4UIhBRA8i/gPqyUvWg7AiIuIeloDiYUHJLOK6BPwIk9nNODM9Xf1RVe1b3elJRjCZmQ6euqGmuqer33rq4e23GqiOykBloDJQGagMVAYqA5WBykBlYFYD1qwP/tdzaZqOx9zYOLxeX0+L5yzLGp0X/03a25MOnGRcBtx+6Rlo9SL08G4EooFnxa8Yiivox5/h5Ys/4cl7NVorNDRnngX+0MIkVMeMSf23zyKML8J7/Dy8hwF2Buh9CnS+AEQIdLspBuGb+M7/qLW4qJrNpsLapjYhpwVnx3BMfCtNNx3Etc9xywvnMf80wG8HmQainw0RxSGrnmeBp+8k5/j9S0HbvXb5io0Lz880/0wPHV1NlhLd316He+4xOCv5ragF7L9PrH1qBJyB0626x/lC+qrSvH5r/W+n1WpxUM5nMY4GPeH8lHJaPgfeAFQHCL+ntkXT+vnUc3W6pvTIwC0wy3rA4dwLmK2avZ7Eo9uKBuYJfgJscbs8dLCxDMt+EOEPBEZNEWyBYHqTz6bPXrzUnNrSShxHIsYiOL69zrCGLLcLqJP68tB+9w5wj+YhWDafQ2s61wNqxjZhmrQ2pvMFCEvXuCUZ7wqH794ZWs28LJqlTXSUyuksF2M/yOwqgkx2c1ADa4wLAQRk2sAGQQakhN6yFC2hltfz5kSY44NKQeeh+vtI/SSzWhg2CzCgmWISmKUGmaYFBDfCSymnfxJ6/+ospVcWOLLp5DGP/y0P/Rp66O99DQNq7Po3Ds0a0wY+My2QSv2N2mO/OyxR2o6UQk+Lv7yJ06JYSnnolZVU9cUn2O9SmaMWGFBqYXRwbqAJWIi94TX5biotpcGl1DXZ6LnqIbNDTnmUgi52Mv5l5ysMxIcZcGjy2DTK4ZHlcBC14zeSge4qphICjj3bS0A7o9nSp2TOkm7aZ8bGZy/jxhO87V91G0+dfY/Z7BWIIK9KYUi5qy/Hf8YfBG3sqJTHiQWhmTVkbip+wX3x6volVSx+LPAxF+VLXhZ8VQ+iP2Rta/iWe5v42Fngj0BbdnRTXh12ZIcKhTaGbcYjybRwXBU1lu9KlndXp04NM52poKWO0RZsviNaP9a6grkO972+st05pXhE5c1hTEluJy7XUejGUQNLMbAmTdWY1rKBLW3aTJqBZ7nZkb36DhYCreeYHbMUXHvaYi5XDK70EcgulmRjm77wNtenzuXCbmnTRaAx493rbGf3Jr/njMzj920CnKdUaFCjlDioy7NYNvOdGrQJNgI32/L2tkXfFPlxgToqjWVhD6KdLnQRdARf/HHQz2r2X2Gqy8pAZaAyUBmoDFQGKgP/q4F/AJYg9/s0ZoABAAAAAElFTkSuQmCC";function hh(i){return G(this,null,function*(){const t=new Headers({"Content-Type":"text/plain"}),e=function(o){return G(this,null,function*(){const s={index:o.index,url:o.url,svgUrl:o.svg_url};if(o.svg_url){const r=yield fetch(o.svg_url,{headers:t}).then(a=>a.text());s.svgContent=r}return s})};return yield Promise.all(i.map(e))})}function fh(i){return{id:i.id,size:i.size,name:i.name,path:i.path,roomType:i.room_type,floorType:i.floor_type,roomLabel:{position:i.room_label.position,positionInImage:i.room_label.position_in_image},observerIndexs:i.observer_indexs}}function mh(i){return{floorName:i.floor_name,floorIndex:i.floor_index,rooms:i.rooms.map(fh),rules:i.rules}}function ph(i){return{index:i.index,floorIndex:i.floor_index,position:i.position,positionInImage:i.position_in_image}}function gh(i){return{rad:i.rad,position:i.position,positionInImage:i.position_in_image,northRad:i.north_rad,roomId:i.room_id,floorIndex:i.floor_index}}function yt(i){return G(this,null,function*(){const t=yield hh(i.outlines),e=i.computed_data.bounding,n=i.computed_data.floor_datas.map(mh),o=i.computed_data.entrance?gh(i.computed_data.entrance):null;return{outlines:t,entrance:o,bounding:e,floorDatas:n,observers:i.computed_data.observers.map(ph)}})}function Ah(i,t,e){return i.map(o=>{const s=o.position,r=o.icon?o.icon:{url:dh,width:45,height:48},a=Bd(s,t),l=Td(s,e),c=zd(l,e);return{floorIndex:a,icon:r,id:o.id,position:l,positionInImage:c}})}function vh(i,t){return t(i),i}function bi(i,t){return vh({},e=>{for(const n in i)t.indexOf(n)===-1&&(e[n]=i[n])})}function ps(i,t){const e=Math.max(...i.work.observers.map(n=>n.floorIndex));return t>e?i.model.bounding.max.y:Math.max(...i.work.observers.filter(n=>n.floorIndex===t).map(n=>n.standingPosition.y))}function Ao(i,t,e=pt.BOUNDING_CENTER){const n=ps(i,t),o=ps(i,t+1);return e===pt.BOUNDING_CENTER?(i.model.bounding.max.y+i.model.bounding.min.y)/2:e===pt.CEILING?o:n}function vo(i,t,e,n){const o=Ao(i,e,n==null?void 0:n.attachedTo),s=new I.Vector3(0,o,0),r=new I.Vector3(1,o,0),a=s.clone().project(i.camera),l=r.clone().project(i.camera);return Math.abs((l.x-a.x)/1e3)*(t.getBoundingClientRect().width/2)}class kn{constructor(t,e){m(this,"VERSION","2.14.0-dev.1");m(this,"five");m(this,"hooks",new Zt);m(this,"staticPrefix","//vrlab-static.ljcdn.com");this.five=t,e!=null&&e.staticPrefix&&(this.staticPrefix=e.staticPrefix)}getCurrentState(){return this.state}}class zt extends kn{}var We=(i=>(i.UnknownError="UnknownError",i.DataNotLoaded="DataNotLoaded",i.BreakOffByHide="BreakOffByHide",i.BreakOffByDisable="BreakOffByDisable",i.ModelNotLoaded="ModelNotLoaded",i.ChangeModeError="ChangeModeError",i.UpdateCameraError="UpdateCameraError",i))(We||{});const Za=500,bh=80;function eo(i,t,e=4){return Math.floor(i*Math.pow(10,e))===Math.floor(t*Math.pow(10,e))}function Ka(i,t){return G(this,null,function*(){yield new Promise((e,n)=>{i.changeMode(...t).catch(o=>n(o)),i.once("initAnimationEnded",()=>{const o=i.getCurrentState(),s=t[0];o.mode!==s&&n(new Error("mode \u4E0E\u9884\u671F\u4E0D\u7B26")),(()=>{const l=t[1];return l?Object.keys(l).every(c=>{const u=o[c];if(u===void 0)return!0;const d=l[c];return typeof u=="number"&&typeof d=="number"?eo(u,d,2):u===d}):!0})()||n(new Error("five pose \u4E0E\u9884\u671F\u4E0D\u7B26")),e()})})})}function bo(i,t){if(i.currentMode!==t.mode)return!1;const{latitude:e,longitude:n,fov:o}=t,{latitude:s,longitude:r}=i.getCurrentState(),a=i.camera.fov;return!(!eo(e,s,2)||!eo(n,r,2)||o!==a)}function $a(i,t,e=!0){return G(this,null,function*(){if(bo(i,t)===!0)return;const o=i.getCurrentState();if(o.mode!==t.mode){const[u]=yield li(Ka(i,[t.mode,t,void 0,e]));if(u)throw new Error(We.ChangeModeError);return}const{latitude:s,longitude:r,fov:a}=o,l=Math.min(1e3,Math.max(200,Math.abs(s-Math.PI/2)*1e3,(r>Math.PI?2*Math.PI-r:r)*500,Math.abs(a-t.fov)*10)),[c]=yield li(i.updateCamera(t,l,e));if(c)throw new Error(We.UpdateCameraError)})}function Ut(i,t,e=300){const n=i.getElement();!n||(n.style.opacity=t+"",n.style.transition=e===0?"none":`opacity ${e}ms linear`,e!==0&&Promise.race([new Promise(o=>n.addEventListener("transitionend",o,{once:!0})),new Promise(o=>setTimeout(o,e))]).then(()=>{n.style.transition="none"}))}function yh(i){const{latitude:t,longitude:e}=i,n=Math.abs(t-Math.PI/2)>5*Math.PI/180,o=e>5*(Math.PI/180)&&e<355*(Math.PI/180);return n||o}function wh(i){const{latitude:t,longitude:e}=i,n=Math.abs(t-Math.PI/2)<10*Math.PI/180,o=e<30*(Math.PI/180)||e>330*(Math.PI/180);return n&&o}class Eh extends zt{constructor(e,n){var a;super(e);m(this,"name","modelFloorplanPlugin");m(this,"state");m(this,"data");m(this,"showState");m(this,"showPromise");m(this,"app");m(this,"panoIndex",0);m(this,"floorIndex",0);m(this,"selector");m(this,"showRejection");m(this,"wrapper");m(this,"container",document.createElement("div"));m(this,"lastPanoramaLongitude",0);m(this,"size",{width:0,height:0});m(this,"hasAddedEventListener",!1);m(this,"isHiddenByHideFunc",!1);m(this,"highlightData",{});m(this,"dispose",()=>{var e,n;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(n=this.container)==null||n.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});m(this,"show",(...n)=>G(this,[...n],function*(e={}){if(!this.state.enabled||!this.showPromise&&this.state.visible)return;const o=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},o),this._show(e)}));m(this,"hide",(...n)=>G(this,[...n],function*(e={}){!this.state.enabled||(this.isHiddenByHideFunc=!0,this.state.visible!==!1&&(this.updateState({visible:!1},e.userAction||!0),this._hide(e)))}));m(this,"updateSize",()=>{if(!this.data||!bo(this.five,this.showState)||!this.container||!this.wrapper)return;const{min:e,max:n}=this.data.bounding,o=n.x-e.x,s=n.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,a=vo(this.five,this.wrapper,this.floorIndex,r),l=Math.ceil(o*a),c=Math.ceil(s*a);this.size.width===l&&this.size.height===c||(this.container.style.width=l+"px",this.container.style.height=c+"px",this.size={width:l,height:c})});m(this,"highlight",e=>{!this.state.config.highlightEnable||(this.highlightData=e,this.render())});m(this,"unhighlight",()=>{this.highlightData={},this.render()});m(this,"_disable",e=>{var o,s,r;const{userAction:n}=e;this.hooks.emit("disable",{userAction:n}),(o=this.showRejection)==null||o.call(this,We.BreakOffByDisable),this.showPromise=void 0,(s=this.app)==null||s.$destroy(),this.app=void 0,(r=this.container)==null||r.remove(),this.removeEventListener()});m(this,"_enable",e=>{const{userAction:n}=e;this.addEventListener(),this.wrapper&&(this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:n}),this.state.visible&&this._show({userAction:n}))});m(this,"_show",e=>G(this,null,function*(){var r;if(!this.state.enabled)return;if(!((r=this.five.model)!=null&&r.loaded))throw new Error(We.ModelNotLoaded);if(!this.data)throw new Error(We.DataNotLoaded);this.isHiddenByHideFunc=!1;const n={floorIndex:this.floorIndex,modelOpacity:this.state.config.modelOpacity,immediately:!1,isAutoShow:!1,userAction:!0},o=Q(Q({},n),e),s=()=>G(this,null,function*(){this.hooks.emit("show",{userAction:o.userAction,auto:o.isAutoShow});let a=!1,l;this.showRejection=h=>{a=!0,l=h};const[c]=yield li($a(this.five,this.showState,o.userAction));if(c)throw c;if(a)throw l?new Error(l):new Error(We.UnknownError);this.updateSize(),this.floorIndex=o.floorIndex,this.five.model.show(this.floorIndex);const u=o.modelOpacity,d=o.immediately?0:Za;Ut(this.five,u,d),this.render(d)});return this.showPromise=s().then(()=>{this.hooks.emit("showAnimationEnded",{auto:o.isAutoShow,userAction:o.userAction})}).catch(a=>{if(this.updateState({visible:!1},o.userAction),!o.isAutoShow&&a instanceof Error)throw a}).finally(()=>{this.showPromise=void 0,this.showRejection=void 0}),this.showPromise}));m(this,"_hide",e=>{var s;(s=this.showRejection)==null||s.call(this,We.BreakOffByHide),this.showPromise=void 0;const o=Q(Q({},{userAction:!0,isAutoHide:!1}),e);Ut(this.five,1,0),this.hooks.emit("hide",{auto:o.isAutoHide,userAction:o.userAction}),this.render()});m(this,"handleClick",()=>{if(!this.state.visible)return;if(this.hooks.emit("click"))return!1});m(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});m(this,"onFiveModeChange",e=>{e!==this.showState.mode&&(this.updateState({visible:!1},!1),this._hide({userAction:!1}))});m(this,"onFiveInteriaPan",(e,n)=>{if(!n||this.state.config.autoShowEnable===!1||this.isHiddenByHideFunc)return;const o=this.five.getCurrentState();o.mode==="Floorplan"&&(this.state.visible||wh(o)&&(this.updateState({visible:!0},!0),this._show({isAutoShow:!0})))});m(this,"onFivePanoArrived",e=>{var n;!((n=this.five)!=null&&n.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});m(this,"onFiveCameraUpdate",(e,n)=>{if(!this.state.visible||this.showPromise)return;const o=this.five.getCurrentState();yh(o)&&(this.updateState({visible:!1},n),this._hide({userAction:n,isAutoHide:!0}))});m(this,"onFiveWantsGesture",(e,n)=>{if(!!this.state.visible&&(n.length>1||e==="mouseWheel"))return!1});m(this,"onFiveWantsPanGesture",(e,n)=>{if(this.five.getCurrentState().mode==="Floorplan"&&this.state.config.autoShowEnable!==!1&&n&&this.state.visible)return this.five.updateCamera(this.showState,0),!1});m(this,"onFiveWantsTapGesture",()=>this.handleClick());m(this,"onFiveWantsChangeMode",(e,n)=>{n==="Panorama"&&e==="Floorplan"&&(this.lastPanoramaLongitude=this.five.getCurrentState().longitude)});m(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const n=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[n].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});n!=null&&n.selector&&(this.selector=n.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5")),this.showState={mode:"Floorplan",longitude:0,latitude:Math.PI/2,fov:bh/((a=n==null?void 0:n.scale)!=null?a:1)};const o={northDesc:"\u5317",modelOpacity:1,cameraEnable:!0,highlightEnable:!1,hoverEnable:!0,compassEnable:!0,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,roomAreaEnable:!0,roomNameEnable:!0,adaptiveRoomLabelVisibleEnable:!0,cameraImageUrl:bt,attachedTo:pt.BOUNDING_CENTER,getLabelElement:void 0,getRoomAreaText:l=>(l/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:l=>l.toString()},s=n?bi(n,["selector","scale"]):{},r=Q(Q({},o),s);this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}load(e,n,o=!0){return G(this,null,function*(){function s(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const a=JSON.parse(JSON.stringify(e)),l=s(a)?a.data:a,c=this.data;this.data=yield yt(l),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),n&&this.updateState(n,o),this.render()})}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}enable(e={}){if(this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||n),this._enable({userAction:n})}disable(e={}){if(!this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||n),this._disable({userAction:n})}setState(e,n={}){const o=this.state,s=n.userAction!==void 0?n.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&o.enabled!==e.enabled&&(e.enabled?this._enable({userAction:s}):this._disable({userAction:s})),e.visible!==void 0&&o.visible!==e.visible){const r={userAction:s};e.visible?this._show(r):this._hide(r)}this.render()}changeConfigs(e,n=!0){this.updateState({config:e},n),this.render()}formatData(e){return G(this,null,function*(){return yield yt(e.data)})}updateState(e,n){const o=this.state,s=e.config?Q(Q({},o.config),e.config):o.config;this.state=fe(Q(Q({},this.state),e),{config:s}),!nt(this.state,o,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:o,userAction:n})}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",zIndex:10,pointerEvents:"none"}),this.five.addExtraElement(this.container)}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("interiaPan",this.onFiveInteriaPan),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsGesture",this.onFiveWantsGesture),e.on("wantsPanGesture",this.onFiveWantsPanGesture),e.on("wantsTapGesture",this.onFiveWantsTapGesture),e.on("wantsChangeMode",this.onFiveWantsChangeMode),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modelLoaded",this.onFiveModelLoaded),e.off("modeChange",this.onFiveModeChange),e.off("interiaPan",this.onFiveInteriaPan),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsGesture",this.onFiveWantsGesture),e.off("wantsPanGesture",this.onFiveWantsPanGesture),e.off("wantsTapGesture",this.onFiveWantsTapGesture),e.off("wantsChangeMode",this.onFiveWantsChangeMode),e.off("modelShownFloorChange",this.onModelShownFloorChange)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const n=fe(Q({},this.state.config),{visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude,highlightData:this.highlightData});if(this.app)return this.app.$set(n);this.app=new go({target:this.container,intro:!0,props:n})}}const Ch=(i,t)=>new Eh(i,t);function Ph(i){const{latitude:t,longitude:e}=i,n=Math.abs(t-Math.PI/2)>5*Math.PI/180,o=e>5*(Math.PI/180)&&e<355*(Math.PI/180);return n||o}function Ih(i){const{latitude:t,longitude:e}=i,n=Math.abs(t-Math.PI/2)<10*Math.PI/180,o=e<30*(Math.PI/180)||e>330*(Math.PI/180);return n&&o}class kh extends zt{constructor(e,n){super(e);m(this,"name","modelFloorplanPlugin");m(this,"state");m(this,"data");m(this,"showState");m(this,"showPromise");m(this,"app");m(this,"panoIndex",0);m(this,"floorIndex",0);m(this,"selector");m(this,"showRejection");m(this,"wrapper");m(this,"container",document.createElement("div"));m(this,"lastPanoramaLongitude",0);m(this,"size",{width:0,height:0});m(this,"hasAddedEventListener",!1);m(this,"isHiddenByHideFunc",!1);m(this,"highlightData",{});m(this,"dispose",()=>{var e,n;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(n=this.container)==null||n.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});m(this,"show",(...n)=>G(this,[...n],function*(e={}){if(!this.state.enabled||!this.showPromise&&this.state.visible)return;const o=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},o),this._show(e)}));m(this,"hide",(...n)=>G(this,[...n],function*(e={}){!this.state.enabled||(this.isHiddenByHideFunc=!0,this.state.visible!==!1&&(this.updateState({visible:!1},e.userAction||!0),this._hide(e)))}));m(this,"updateSize",()=>{if(!this.data||!bo(this.five,this.showState)||!this.container||!this.wrapper)return;const{min:e,max:n}=this.data.bounding,o=n.x-e.x,s=n.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,a=vo(this.five,this.wrapper,this.floorIndex,r),l=Math.ceil(o*a),c=Math.ceil(s*a);this.size.width===l&&this.size.height===c||(this.container.style.width=l+"px",this.container.style.height=c+"px",this.size={width:l,height:c})});m(this,"highlight",e=>{!this.state.config.highlightEnable||(this.highlightData=e,this.render())});m(this,"unhighlight",()=>{this.highlightData={},this.render()});m(this,"_disable",e=>{var o,s,r;const{userAction:n}=e;this.hooks.emit("disable",{userAction:n}),(o=this.showRejection)==null||o.call(this,We.BreakOffByDisable),this.showPromise=void 0,(s=this.app)==null||s.$destroy(),this.app=void 0,(r=this.container)==null||r.remove(),this.removeEventListener()});m(this,"_enable",e=>{const{userAction:n}=e;this.addEventListener(),this.wrapper&&(this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:n}),this.state.visible&&this._show({userAction:n}))});m(this,"_show",e=>G(this,null,function*(){var r;if(!this.state.enabled)return;if(!((r=this.five.model)!=null&&r.loaded))throw new Error(We.ModelNotLoaded);if(!this.data)throw new Error(We.DataNotLoaded);this.isHiddenByHideFunc=!1;const n={floorIndex:this.floorIndex,modelOpacity:this.state.config.modelOpacity,immediately:!1,isAutoShow:!1,userAction:!0},o=Q(Q({},n),e),s=()=>G(this,null,function*(){this.hooks.emit("show",{userAction:o.userAction,auto:o.isAutoShow});let a=!1,l;this.showRejection=h=>{a=!0,l=h};const[c]=yield li($a(this.five,this.showState,o.userAction));if(c)throw c;if(a)throw l?new Error(l):new Error(We.UnknownError);this.updateSize(),this.updatePosition(),this.floorIndex=o.floorIndex,this.five.model.show(this.floorIndex);const u=o.modelOpacity,d=o.immediately?0:Za;Ut(this.five,u,d),this.render(d)});return this.showPromise=s().then(()=>{this.hooks.emit("showAnimationEnded",{auto:o.isAutoShow,userAction:o.userAction})}).catch(a=>{if(this.updateState({visible:!1},o.userAction),!o.isAutoShow&&a instanceof Error)throw a}).finally(()=>{this.showPromise=void 0,this.showRejection=void 0}),this.showPromise}));m(this,"_hide",e=>{var s;(s=this.showRejection)==null||s.call(this,We.BreakOffByHide),this.showPromise=void 0;const o=Q(Q({},{userAction:!0,isAutoHide:!1}),e);Ut(this.five,1,0),this.hooks.emit("hide",{auto:o.isAutoHide,userAction:o.userAction}),this.render()});m(this,"handleClick",()=>{if(!this.state.visible)return;if(this.hooks.emit("click"))return!1});m(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});m(this,"onFiveModeChange",e=>{e!==this.showState.mode&&(this.updateState({visible:!1},!1),this._hide({userAction:!1}))});m(this,"onFivePanoArrived",e=>{var n;!((n=this.five)!=null&&n.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});m(this,"onFiveCameraUpdate",(e,n)=>{if(!this.state.visible||this.showPromise)return;const o=this.five.getCurrentState();this.updatePosition(),this.updateSize(),Ph(o)&&(this.updateState({visible:!1},n),this._hide({userAction:n}))});m(this,"onFiveWantsPanGesture",(e,n)=>{if(this.five.getCurrentState().mode===this.showState.mode&&this.state.config.autoShowEnable!==!1){if(n&&this.state.visible)return this.five.updateCamera(this.showState,0),!1;if(n&&!this.state.visible){if(this.isHiddenByHideFunc)return;const o=this.five.getCurrentState();return o.mode!==this.showState.mode||this.state.visible?void 0:(Ih(o)&&(this.updateState({visible:!0},!0),this._show({isAutoShow:!0})),!1)}}});m(this,"onFiveWantsTapGesture",()=>this.handleClick());m(this,"onFiveWantsChangeMode",(e,n)=>{n==="Panorama"&&e===this.showState.mode&&(this.lastPanoramaLongitude=this.five.getCurrentState().longitude)});m(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const n=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[n].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});n!=null&&n.selector&&(this.selector=n.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5")),this.showState={mode:"Mapview",longitude:0,latitude:Math.PI/2,fov:90};const o={northDesc:"\u5317",modelOpacity:1,cameraEnable:!0,highlightEnable:!1,hoverEnable:!0,compassEnable:!0,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,roomAreaEnable:!0,roomNameEnable:!0,cameraImageUrl:bt,attachedTo:pt.BOUNDING_CENTER,getLabelElement:void 0,adaptiveRoomLabelVisibleEnable:!0,getRoomAreaText:a=>(a/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:a=>a.toString()},s=n?bi(n,["selector","scale"]):{},r=Q(Q({},o),s);this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}load(e,n,o=!0){return G(this,null,function*(){function s(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const a=JSON.parse(JSON.stringify(e)),l=s(a)?a.data:a,c=this.data;this.data=yield yt(l),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),n&&this.updateState(n,o),this.render()})}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}enable(e={}){if(this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||n),this._enable({userAction:n})}disable(e={}){if(!this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||n),this._disable({userAction:n})}setState(e,n={}){const o=this.state,s=n.userAction!==void 0?n.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&o.enabled!==e.enabled&&(e.enabled?this._enable({userAction:s}):this._disable({userAction:s})),e.visible!==void 0&&o.visible!==e.visible){const r={userAction:s};e.visible?this._show(r):this._hide(r)}}changeConfigs(e,n=!0){this.updateState({config:e},n),this.render()}updatePosition(){var a;const e=Ao(this.five,this.floorIndex,this.state.config.attachedTo),n=(a=this.five.model)==null?void 0:a.bounding.getCenter(new I.Vector3).setY(e);if(!n)return;const o=n.clone().project(this.five.camera),s=(o.x+1)/2,r=-(o.y-1)/2;this.container.style.left=s*100+"%",this.container.style.top=r*100+"%"}formatData(e){return G(this,null,function*(){return yield yt(e.data)})}updateState(e,n){const o=this.state,s=e.config?Q(Q({},o.config),e.config):o.config;this.state=fe(Q(Q({},this.state),e),{config:s}),!nt(this.state,o,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:o,userAction:n})}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",zIndex:10,pointerEvents:"none"}),this.five.addExtraElement(this.container)}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsPanGesture",this.onFiveWantsPanGesture),e.on("wantsTapGesture",this.onFiveWantsTapGesture),e.on("wantsChangeMode",this.onFiveWantsChangeMode),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modelLoaded",this.onFiveModelLoaded),e.off("modeChange",this.onFiveModeChange),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsPanGesture",this.onFiveWantsPanGesture),e.off("wantsTapGesture",this.onFiveWantsTapGesture),e.off("wantsChangeMode",this.onFiveWantsChangeMode),e.off("modelShownFloorChange",this.onModelShownFloorChange)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const n=fe(Q({},this.state.config),{visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude,highlightData:this.highlightData});if(this.app)return this.app.$set(n);this.app=new go({target:this.container,intro:!0,props:n})}}const xh=(i,t)=>new kh(i,t);class Dh extends zt{constructor(e,n){super(e);m(this,"name","topviewFloorplanPlugin");m(this,"state");m(this,"data");m(this,"app");m(this,"selector");m(this,"panoIndex",0);m(this,"floorIndex",0);m(this,"wrapper");m(this,"container",document.createElement("div"));m(this,"lastPanoramaLongitude",0);m(this,"size",{width:0,height:0});m(this,"hasAddedEventListener",!1);m(this,"isHiddenByHideFunc",!1);m(this,"highlightData",{});m(this,"updateSize",()=>{if(!this.data||!this.container||!this.wrapper||this.five.getCurrentState().mode!=="Topview")return;const{min:e,max:n}=this.data.bounding,o=n.x-e.x,s=n.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,a=vo(this.five,this.wrapper,this.floorIndex,r),l=Math.ceil(o*a),c=Math.ceil(s*a);this.size.width===l&&this.size.height===c||(this.container.style.width=l+"px",this.container.style.height=c+"px",this.size={width:l,height:c})});m(this,"dispose",()=>{var e,n;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(n=this.container)==null||n.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});m(this,"highlight",e=>{!this.state.config.highlightEnable||(this.highlightData=e,this.render())});m(this,"unhighlight",()=>{this.highlightData={},this.render()});m(this,"_disable",e=>{var o,s;const{userAction:n}=e;(o=this.app)==null||o.$destroy(),this.app=void 0,(s=this.container)==null||s.remove(),this.removeEventListener(),this.hooks.emit("disable",{userAction:n})});m(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});m(this,"onFiveModeChange",(...[e,,,,n])=>{e!=="Topview"&&this.state.visible&&(this.updateState({visible:!1},n),this._hide({userAction:n}))});m(this,"onFivePanoArrived",e=>{var n;!((n=this.five)!=null&&n.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});m(this,"onFiveCameraUpdate",(e,n)=>{!this.state.visible||(this.updatePosition(),this.updateSize())});m(this,"onFiveWantsGesture",e=>{if(!(e!=="pan"&&e!=="pinch"&&e!=="mouseWheel")&&this.state.visible&&!this.state.config.gestureEnable)return!1});m(this,"onFiveWantsMoveToPano",()=>{if(this.state.visible&&this.state.config.preventRoomClick)return!1});m(this,"onFiveInitAnimationEnded",(...[,,e])=>{const{mode:n}=this.five.getCurrentState();n==="Topview"&&!this.isHiddenByHideFunc&&!this.state.visible&&this.state.config.autoShowEnable&&(this.updateState({visible:!0},e),this._show({userAction:e}))});m(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const n=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[n].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});n!=null&&n.selector&&(this.selector=n.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5"));const o={northDesc:"\u5317",modelOpacity:1,cameraEnable:!0,hoverEnable:!0,highlightEnable:!1,compassEnable:!0,gestureEnable:!1,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,roomAreaEnable:!0,roomNameEnable:!0,cameraImageUrl:bt,attachedTo:pt.BOUNDING_CENTER,getLabelElement:void 0,adaptiveRoomLabelVisibleEnable:!0,getRoomAreaText:a=>(a/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:a=>a.toString()},s=n?bi(n,["selector","scale"]):{},r=Q(Q({},o),s);this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}load(e,n,o=!0){return G(this,null,function*(){function s(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const a=JSON.parse(JSON.stringify(e)),l=s(a)?a.data:a,c=this.data;this.data=yield yt(l),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),n&&this.updateState(n,o),this.render()})}updatePosition(){var a;const e=Ao(this.five,this.floorIndex,this.state.config.attachedTo),n=(a=this.five.model)==null?void 0:a.bounding.getCenter(new I.Vector3).setY(e);if(!n)return;const o=n.clone().project(this.five.camera),s=(o.x+1)/2,r=-(o.y-1)/2;this.container.style.left=s*100+"%",this.container.style.top=r*100+"%"}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}show(){return G(this,arguments,function*(e={}){if(this.state.visible)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},n),this._show({userAction:n})})}hide(){return G(this,arguments,function*(e={}){if(this.isHiddenByHideFunc=!0,!this.state.visible)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!1},n),this._hide({userAction:n})})}enable(e={}){if(this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||n),this._enable({userAction:n})}disable(e={}){if(!this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||n),this._disable({userAction:n})}setState(e,n={}){const o=this.state,s=n.userAction!==void 0?n.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&o.enabled!==e.enabled){const r={userAction:s};e.enabled?this._enable(r):this._disable(r)}if(e.visible!==void 0&&o.visible!==e.visible){const r={userAction:s};e.visible?this._show(r):this._hide(r)}}changeConfigs(e,n=!0){this.updateState({config:e},n),this.render()}formatData(e){return G(this,null,function*(){return yield yt(e.data)})}_show(e){return G(this,null,function*(){if(!this.state.enabled)return;this.isHiddenByHideFunc=!1;const{userAction:n}=e;this.hooks.emit("show",{userAction:n,auto:!1}),this.five.getCurrentState().mode!=="Topview"&&(yield Ka(this.five,["Topview",void 0,void 0,n])),this.five.model.show(this.floorIndex),this.updatePosition(),this.updateSize();const o=500,s=this.state.config.modelOpacity;Ut(this.five,s,o),this.hooks.emit("showAnimationEnded",{userAction:n,auto:!1}),this.render()})}_hide(e){return G(this,null,function*(){if(!this.state.enabled)return;const{userAction:n}=e;this.hooks.emit("hide",{userAction:n,auto:!1});const o=1,s=0;Ut(this.five,o,s),this.render()})}_enable(e){const{userAction:n}=e;this.addEventListener(),this.wrapper&&this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:n}),this.state.visible&&this._show({userAction:n})}updateState(e,n){const o=this.state,s=e.config?Q(Q({},o.config),e.config):o.config;this.state=fe(Q(Q({},this.state),e),{config:s}),!nt(this.state,o,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:o,userAction:n})}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsGesture",this.onFiveWantsGesture),e.on("wantsMoveToPano",this.onFiveWantsMoveToPano),e.on("initAnimationEnded",this.onFiveInitAnimationEnded),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modeChange",this.onFiveModeChange),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsGesture",this.onFiveWantsGesture),e.off("wantsMoveToPano",this.onFiveWantsMoveToPano),e.off("initAnimationEnded",this.onFiveInitAnimationEnded),e.off("modelShownFloorChange",this.onModelShownFloorChange)}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate3d(-50%, -50%, 10px)",zIndex:10,pointerEvents:"none","will-change":"width, height"}),this.five.addExtraElement(this.container)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const n=fe(Q({},this.state.config),{visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude,highlightData:this.highlightData});if(this.app)return this.app.$set(n);this.app=new go({target:this.container,intro:!0,props:n})}}const Lh=(i,t)=>new Dh(i,t);function yo(i,t=200){let e;return function(...n){e||(i(...n),e=setTimeout(function(){e=null},t))}}function Sh(i){le(i,"svelte-1nqrlxd",".plugin-radar__camera-wrapper.svelte-1nqrlxd{width:100%;height:100%;position:absolute;pointer-events:none}.plugin-radar__camera-position.svelte-1nqrlxd{position:absolute;left:0;top:0;width:0;height:0;transform:none;pointer-events:none;transition:transform 1s linear}.plugin-radar__camera-rotate.svelte-1nqrlxd{position:absolute;left:-0.9375rem;top:-0.9375rem;width:1.0625rem;height:1.0625rem;transform-origin:0.9375rem 0.9375rem;transform:rotate(45deg);background-repeat:no-repeat;background-size:100%}")}function Mh(i){let t,e,n;return{c(){t=z("div"),e=z("div"),n=z("div"),y(n,"class","plugin-radar__camera-rotate svelte-1nqrlxd"),T(n,"background-image","url("+(i[0]||bt)+")"),T(n,"transform",i[1]),y(e,"class","plugin-radar__camera-position svelte-1nqrlxd"),T(e,"transform",i[2]),y(t,"class","plugin-radar__camera-wrapper svelte-1nqrlxd")},m(o,s){M(o,t,s),V(t,e),V(e,n)},p(o,[s]){s&1&&T(n,"background-image","url("+(o[0]||bt)+")"),s&2&&T(n,"transform",o[1]),s&4&&T(e,"transform",o[2])},i:X,o:X,d(o){o&&S(t)}}}function Th(i){return`rotate(${Math.floor(i/Math.PI*180)*-1+45}deg)`}function zh(i,t,e){let n,o,{five:s}=t,{pxmm:r}=t,{floorplanData:a}=t,{cameraImageUrl:l}=t,c=s.getCurrentState().panoIndex,u=s.getCurrentState().longitude;function d(v,g){const p=v.bounding,A=v.observers[g];if(!A)return"";const b=(p.max.x-p.min.x)*r,w=(p.max.y-p.min.y)*r,E=Math.floor(A.positionInImage.x*b),L=Math.floor(A.positionInImage.y*w);return`translate(${E}px, ${L}px)`}function h(v){e(6,c=v)}const f=yo(v=>{e(7,u=v.longitude)},1e3/60);return Je(()=>(s.on("panoWillArrive",h),s.on("cameraDirectionUpdate",f),function(){s.off("panoWillArrive",h),s.off("cameraDirectionUpdate",f)})),i.$$set=v=>{"five"in v&&e(3,s=v.five),"pxmm"in v&&e(4,r=v.pxmm),"floorplanData"in v&&e(5,a=v.floorplanData),"cameraImageUrl"in v&&e(0,l=v.cameraImageUrl)},i.$$.update=()=>{i.$$.dirty&96&&e(2,n=d(a,c)),i.$$.dirty&128&&e(1,o=Th(u))},[l,o,n,s,r,a,c,u]}class Bh extends oe{constructor(t){super(),ie(this,t,zh,Mh,ne,{five:3,pxmm:4,floorplanData:5,cameraImageUrl:0},Sh)}}function Vh(i){le(i,"svelte-1i87fz7",".plugin-pano-floorplan__extra-objects.svelte-1i87fz7{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.plugin-pano-floorplan__extra-object-item--position.svelte-1i87fz7{position:absolute;width:0;height:0}.plugin-pano-floorplan__extra-object-item.svelte-1i87fz7{transform:translate(-50%, -50%)}")}function gs(i,t,e){const n=i.slice();return n[1]=t[e],n}function As(i,t){let e,n,o=`${t[1].icon.width/16}rem`,s=`${t[1].icon.height/16}rem`,r,a=`${t[1].positionInImage.y*100}%`,l=`${t[1].positionInImage.x*100}%`;return{key:i,first:null,c(){e=z("div"),n=z("div"),r=$(),y(n,"class","plugin-pano-floorplan__extra-object-item svelte-1i87fz7"),T(n,"background-image",`url(${t[1].icon.url})`),T(n,"width",o),T(n,"height",s),y(e,"class","plugin-pano-floorplan__extra-object-item--position svelte-1i87fz7"),T(e,"top",a),T(e,"left",l),this.first=e},m(c,u){M(c,e,u),V(e,n),V(e,r)},p(c,u){t=c,u&1&&T(n,"background-image",`url(${t[1].icon.url})`),u&1&&o!==(o=`${t[1].icon.width/16}rem`)&&T(n,"width",o),u&1&&s!==(s=`${t[1].icon.height/16}rem`)&&T(n,"height",s),u&1&&a!==(a=`${t[1].positionInImage.y*100}%`)&&T(e,"top",a),u&1&&l!==(l=`${t[1].positionInImage.x*100}%`)&&T(e,"left",l)},d(c){c&&S(e)}}}function jh(i){let t,e=[],n=new Map,o=i[0];const s=r=>r[1].id;for(let r=0;r<o.length;r+=1){let a=gs(i,o,r),l=s(a);n.set(l,e[r]=As(l,a))}return{c(){t=z("div");for(let r=0;r<e.length;r+=1)e[r].c();y(t,"class","plugin-pano-floorplan__extra-objects svelte-1i87fz7")},m(r,a){M(r,t,a);for(let l=0;l<e.length;l+=1)e[l].m(t,null)},p(r,[a]){a&1&&(o=r[0],e=Ze(e,a,s,1,r,o,n,t,fo,As,null,gs))},i:X,o:X,d(r){r&&S(t);for(let a=0;a<e.length;a+=1)e[a].d()}}}function Oh(i,t,e){let{extraObjects:n=[]}=t;return i.$$set=o=>{"extraObjects"in o&&e(0,n=o.extraObjects)},[n]}class Rh extends oe{constructor(t){super(),ie(this,t,Oh,jh,ne,{extraObjects:0},Vh)}}function vs(i){let t,e;const n=[{five:i[0],pxmm:i[1],floorIndex:i[2],floorplanData:i[4],onRoomHeightClick:i[6]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Ja({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&87?Qe(n,[{five:s[0],pxmm:s[1],floorIndex:s[2],floorplanData:s[4],onRoomHeightClick:s[6]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function Qh(i){let t,e,n,o,s,r;const a=[{floorIndex:i[2],floorplanData:i[4]}];let l={};for(let u=0;u<a.length;u+=1)l=Be(l,a[u]);t=new Ua({props:l}),n=new Rh({props:{extraObjects:i[5]}});let c=i[3]&&vs(i);return{c(){K(t.$$.fragment),e=$(),K(n.$$.fragment),o=$(),c&&c.c(),s=me()},m(u,d){J(t,u,d),M(u,e,d),J(n,u,d),M(u,o,d),c&&c.m(u,d),M(u,s,d),r=!0},p(u,[d]){const h=d&20?Qe(a,[{floorIndex:u[2],floorplanData:u[4]}]):{};t.$set(h);const f={};d&32&&(f.extraObjects=u[5]),n.$set(f),u[3]?c?(c.p(u,d),d&8&&C(c,1)):(c=vs(u),c.c(),C(c,1),c.m(s.parentNode,s)):c&&(se(),x(c,1,1,()=>{c=null}),re())},i(u){r||(C(t.$$.fragment,u),C(n.$$.fragment,u),C(c),r=!0)},o(u){x(t.$$.fragment,u),x(n.$$.fragment,u),x(c),r=!1},d(u){Z(t,u),u&&S(e),Z(n,u),u&&S(o),c&&c.d(u),u&&S(s)}}}function Fh(i,t,e){let n,{five:o}=t,{pxmm:s}=t,{floorIndex:r}=t,{hoverEnable:a}=t,{floorplanData:l}=t,{extraObjects:c=[]}=t;const u=void 0;return i.$$set=d=>{"five"in d&&e(0,o=d.five),"pxmm"in d&&e(1,s=d.pxmm),"floorIndex"in d&&e(2,r=d.floorIndex),"hoverEnable"in d&&e(3,a=d.hoverEnable),"floorplanData"in d&&e(4,l=d.floorplanData),"extraObjects"in d&&e(7,c=d.extraObjects)},i.$$.update=()=>{i.$$.dirty&132&&e(5,n=c==null?void 0:c.filter(d=>d.floorIndex===r))},[o,s,r,a,l,n,u,c]}class Hh extends oe{constructor(t){super(),ie(this,t,Fh,Qh,ne,{five:0,pxmm:1,floorIndex:2,hoverEnable:3,floorplanData:4,extraObjects:7})}}function Gh(i){le(i,"svelte-1mvqyqq",".plugin-floorplan-radar.svelte-1mvqyqq{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.plugin-floorplan-radar-container.svelte-1mvqyqq{position:relative}")}function bs(i){let t,e,n,o,s=i[6]!==0&&ys(i);return{c(){t=z("div"),s&&s.c(),y(t,"class","plugin-floorplan-radar svelte-1mvqyqq")},m(r,a){M(r,t,a),s&&s.m(t,null),e=!0,n||(o=[lt(an.call(null,t)),ge(t,"clientWidth",i[12]),ge(t,"clientHeight",i[13])],n=!0)},p(r,a){r[6]!==0?s?(s.p(r,a),a&64&&C(s,1)):(s=ys(r),s.c(),C(s,1),s.m(t,null)):s&&(se(),x(s,1,1,()=>{s=null}),re())},i(r){e||(C(s),e=!0)},o(r){x(s),e=!1},d(r){r&&S(t),s&&s.d(),n=!1,He(o)}}}function ys(i){let t,e,n,o,s=`${i[8]}px`,r=`${i[11]}px`,a;const l=[{five:i[0],pxmm:i[9],floorIndex:i[10],floorplanData:i[3],hoverEnable:i[2],extraObjects:i[5]}];let c={};for(let h=0;h<l.length;h+=1)c=Be(c,l[h]);e=new Hh({props:c});const u=[{pxmm:i[9],five:i[0],floorplanData:i[3],cameraImageUrl:i[4]}];let d={};for(let h=0;h<u.length;h+=1)d=Be(d,u[h]);return o=new Bh({props:d}),{c(){t=z("div"),K(e.$$.fragment),n=$(),K(o.$$.fragment),y(t,"class","plugin-floorplan-radar-container svelte-1mvqyqq"),T(t,"width",s),T(t,"height",r)},m(h,f){M(h,t,f),J(e,t,null),V(t,n),J(o,t,null),a=!0},p(h,f){const v=f&1581?Qe(l,[{five:h[0],pxmm:h[9],floorIndex:h[10],floorplanData:h[3],hoverEnable:h[2],extraObjects:h[5]}]):{};e.$set(v);const g=f&537?Qe(u,[{pxmm:h[9],five:h[0],floorplanData:h[3],cameraImageUrl:h[4]}]):{};o.$set(g),f&256&&s!==(s=`${h[8]}px`)&&T(t,"width",s),f&2048&&r!==(r=`${h[11]}px`)&&T(t,"height",r)},i(h){a||(C(e.$$.fragment,h),C(o.$$.fragment,h),a=!0)},o(h){x(e.$$.fragment,h),x(o.$$.fragment,h),a=!1},d(h){h&&S(t),Z(e),Z(o)}}}function Wh(i){let t,e,n=i[1]&&bs(i);return{c(){n&&n.c(),t=me()},m(o,s){n&&n.m(o,s),M(o,t,s),e=!0},p(o,[s]){o[1]?n?(n.p(o,s),s&2&&C(n,1)):(n=bs(o),n.c(),C(n,1),n.m(t.parentNode,t)):n&&(se(),x(n,1,1,()=>{n=null}),re())},i(o){e||(C(n),e=!0)},o(o){x(n),e=!1},d(o){n&&n.d(o),o&&S(t)}}}function _h(i,t,e){var b,w;let{five:n}=t,{visible:o}=t,{hoverEnable:s}=t,{floorplanData:r}=t,{cameraImageUrl:a}=t,{extraObjects:l=[]}=t,c=0,u=(w=(b=n.work.observers[n.getCurrentState().panoIndex])==null?void 0:b.floorIndex)!=null?w:0,d=0,h=0,f=0,v=0;function g(E){e(10,u=n.work.observers[E].floorIndex)}Je(()=>(n.on("panoArrived",g),()=>{n.off("panoArrived",g)}));const p=E=>{e(6,d=E.detail)},A=E=>{e(7,h=E.detail)};return i.$$set=E=>{"five"in E&&e(0,n=E.five),"visible"in E&&e(1,o=E.visible),"hoverEnable"in E&&e(2,s=E.hoverEnable),"floorplanData"in E&&e(3,r=E.floorplanData),"cameraImageUrl"in E&&e(4,a=E.cameraImageUrl),"extraObjects"in E&&e(5,l=E.extraObjects)},i.$$.update=()=>{if(i.$$.dirty&456){const E=Math.min(d,h),{max:L,min:P}=r.bounding,D=L.x-P.x,k=L.y-P.y,O=function(){return D>k?[E,E/D*k]:[E/k*D,E]}();e(8,f=O[0]),e(11,v=O[1]),e(9,c=f/D)}},[n,o,s,r,a,l,d,h,f,c,u,v,p,A]}class Nh extends oe{constructor(t){super(),ie(this,t,_h,Wh,ne,{five:0,visible:1,hoverEnable:2,floorplanData:3,cameraImageUrl:4,extraObjects:5},Gh)}}class Xh extends zt{constructor(e,n){super(e);m(this,"name","panoFloorplanRadarPlugin");m(this,"state");m(this,"data");m(this,"app");m(this,"wrapperSelector","");m(this,"wrapper",null);m(this,"disposed",!1);m(this,"extraObjects",[]);m(this,"dispose",()=>{var e;this.disposed=!0,(e=this.app)==null||e.$destroy(),this.wrapper=null,this.wrapperSelector="",this.hooks.emit("dispose")});m(this,"_disable",e=>{var o;const{userAction:n}=e;(o=this.app)==null||o.$destroy(),this.app=void 0,this.hooks.emit("disable",{userAction:n})});this.five=e;const o={hoverEnable:!1,cameraImageUrl:bt},s=n!=null&&n.configs?n.configs:{},r=Q(Q({},o),s);this.state={enabled:!0,visible:!0,config:r},n!=null&&n.wrapper&&console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5"),typeof(n==null?void 0:n.wrapper)=="string"?this.wrapperSelector=n.wrapper:(n==null?void 0:n.wrapper)instanceof Element&&(this.wrapper=n.wrapper),e.once("dispose",this.dispose)}load(e,n,o=!0){return G(this,null,function*(){function s(c){return Object.prototype.hasOwnProperty.apply(c,["version"])}const r=JSON.parse(JSON.stringify(e)),a=s(r)?r.data:r,l=this.data;this.data=yield yt(a),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,l),n&&this.updateState(n,o),this.render()})}show(){return G(this,arguments,function*(e={}){if(this.state.visible)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},n),this._show({userAction:n})})}hide(){return G(this,arguments,function*(e={}){if(!this.state.visible)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!1},n),this._hide({userAction:n})})}enable(e={}){if(this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||n),this._enable({userAction:n})}disable(e={}){if(!this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||n),this._disable({userAction:n})}setState(e,n={}){const o=this.state,s=n.userAction!==void 0?n.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&o.enabled!==e.enabled){const r={userAction:s};e.enabled?this._enable(r):this._disable(r)}if(e.visible!==void 0&&o.visible!==e.visible){const r={userAction:s};e.visible?this._show(r):this._hide(r)}}appendTo(e){this.wrapper=e,this.render()}changeConfigs(e,n=!0){this.setState({config:e},{userAction:n}),this.render()}setExtraObjectsWith3DPositions(e){!this.data||(this.extraObjects=Ah(e,this.five,this.data),this.render())}formatData(e){return G(this,null,function*(){return yield yt(e.data)})}_enable(e){const{userAction:n}=e;this.hooks.emit("enable",{userAction:n}),this.state.visible&&this._show({userAction:n})}_show(e){if(this.disposed||!this.state.enabled)return;const{userAction:n}=e;this.hooks.emit("show",{userAction:n}),this.render()}_hide(e){if(this.disposed||!this.state.enabled)return;const{userAction:n}=e;this.hooks.emit("hide",{userAction:n}),this.render()}updateState(e,n){const o=this.state;this.state=Q(Q({},this.state),e),!nt(this.state,o,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:o,userAction:n})}render(){if(this.disposed||!this.state.enabled)return;if(!this.wrapper&&this.wrapperSelector){const n=document.querySelector(this.wrapperSelector);this.wrapper=n}if(!this.data||!this.wrapper)return;const e=fe(Q({},this.state.config),{five:this.five,floorplanData:this.data,visible:this.state.visible,extraObjects:this.extraObjects});this.app?this.app.$set(e):this.app=new Nh({target:this.wrapper,props:e})}}const Yh=(i,t)=>new Xh(i,t),Uh=[{type:0,floorType:1,roomType:"100900000012",name:"\u5176\u4ED6"},{type:1,floorType:1,roomType:"100900000002",name:"\u5BA2\u5385"},{type:2,floorType:1,roomType:"100900000002",name:"\u9910\u5385"},{type:3,floorType:0,roomType:"100900000001",name:"\u5367\u5BA4"},{type:4,floorType:0,roomType:"100900000001",name:"\u4E66\u623F"},{type:5,floorType:3,roomType:"100900000004",name:"\u536B\u751F\u95F4"},{type:6,floorType:3,roomType:"100900000004",name:"\u6DCB\u6D74\u95F4"},{type:7,floorType:3,roomType:"100900000004",name:"\u6D17\u624B\u95F4"},{type:8,floorType:3,roomType:"100900000003",name:"\u53A8\u623F"},{type:9,floorType:1,roomType:"100900000003",name:"\u5F00\u653E\u53A8\u623F",onlySubArea:!0},{type:10,floorType:0,roomType:"100900000001",name:"\u591A\u529F\u80FD\u95F4"},{type:11,floorType:0,roomType:"100900000009",name:"\u4FDD\u59C6\u95F4"},{type:12,floorType:4,roomType:"100900000005",name:"\u9633\u53F0"},{type:13,floorType:4,roomType:"100900000006",name:"\u9732\u53F0"},{type:14,floorType:0,roomType:"100900000008",name:"\u50A8\u7269\u95F4"},{type:15,floorType:0,roomType:"100900000013",name:"\u8863\u5E3D\u95F4"},{type:16,floorType:0,roomType:"100900000011",name:"\u9601\u697C"},{type:17,floorType:2,roomType:"100900000007",name:"\u82B1\u56ED"},{type:18,floorType:5,roomType:"100900000010",name:"\u8F66\u5E93"},{type:19,floorType:1,roomType:"100900000012",name:"\u7535\u68AF"},{type:20,floorType:1,roomType:"100900000012",name:"\u5730\u4E0B\u5BA4"},{type:21,floorType:1,roomType:"100900000012",name:"\u5929\u4E95"},{type:22,floorType:1,roomType:"100900000012",name:"\u9633\u5149\u623F"},{type:23,floorType:1,roomType:"100900000012",name:"\u8FC7\u9053"},{type:24,floorType:1,roomType:"100900000012",name:"\u697C\u68AF\u95F4"},{type:25,floorType:1,roomType:"100900000012",name:"\u95E8\u5385"},{type:26,floorType:2,roomType:"100900000012",name:"\u5165\u6237\u82B1\u56ED"},{type:27,floorType:1,roomType:"100900000012",name:"\u7384\u5173"},{type:28,floorType:1,roomType:"100900000012",name:"\u6311\u7A7A"},{type:29,floorType:4,roomType:"100900000012",name:"\u667E\u6652\u533A"},{type:30,floorType:4,roomType:"100900000012",name:"\u6D17\u8863\u623F"},{type:31,floorType:0,roomType:"100900000012",name:"\u5A31\u4E50\u533A"},{type:32,floorType:0,roomType:"100900000012",name:"\u5065\u8EAB\u533A"},{type:33,floorType:0,roomType:"100900000012",name:"\u63A5\u5F85\u533A"},{type:34,floorType:0,roomType:"100900000012",name:"\u5F71\u97F3\u533A"},{type:35,floorType:1,roomType:"100900000012",name:"\u9910\u996E\u533A"},{type:36,floorType:1,roomType:"100900000012",name:"\u5176\u4ED6",onlySubArea:!0},{type:37,floorType:1,roomType:"100900000002",name:"\u8D77\u5C45\u5BA4"},{type:38,floorType:0,roomType:"100900000001",name:"\u4E3B\u5367"},{type:39,floorType:0,roomType:"100900000001",name:"\u6B21\u5367"},{type:40,floorType:0,roomType:"100900000001",name:"\u4F18\u5316\u95F4"},{type:41,floorType:0,roomType:"100900000001",name:"\u529E\u516C\u5BA4"},{type:42,floorType:0,roomType:"100900000001",name:"\u4F1A\u8BAE\u5BA4"},{type:43,floorType:0,roomType:"100900000001",name:"\u6D3D\u8C08\u95F4"},{type:44,floorType:1,roomType:"100900000002",name:"\u5171\u4EAB\u5927\u5385"},{type:45,floorType:1,roomType:"100900000012",name:"\u6C34\u5427"},{type:46,floorType:0,roomType:"100900000015",name:"\u51FA\u5165\u53E3"},{type:47,floorType:0,roomType:"100900000015",name:"\u5927\u5385"},{type:48,floorType:0,roomType:"100900000015",name:"\u5305\u53A2"},{type:49,floorType:0,roomType:"100900000015",name:"\u5176\u4ED6"},{type:50,floorType:0,roomType:"100900000016",name:"\u51FA\u5165\u53E3"},{type:51,floorType:0,roomType:"100900000016",name:"\u529E\u516C\u533A"},{type:52,floorType:0,roomType:"100900000016",name:"\u8001\u677F\u95F4"},{type:53,floorType:0,roomType:"100900000016",name:"\u4F1A\u8BAE\u5BA4"},{type:54,floorType:0,roomType:"100900000016",name:"\u4F11\u606F\u533A/\u6C34\u5427"},{type:55,floorType:0,roomType:"100900000016",name:"\u5176\u4ED6"},{type:56,floorType:2,roomType:"100900000012",name:"\u7A7A\u4E2D\u82B1\u56ED"},{type:57,floorType:0,roomType:"100900000001",name:"\u6D0B\u5BA4"},{type:58,floorType:0,roomType:"100900000001",name:"\u548C\u5BA4"}],qh=[{type:0,description:"\u6728\u8D28\u5730\u677F"},{type:1,description:"\u74F7\u7816\u5730\u9762"},{type:2,description:"\u6237\u5916\u5730\u9762"},{type:3,description:"\u536B\u751F\u95F4\u5730\u9762"},{type:4,description:"\u9633\u53F0\u5730\u9762"},{type:5,description:"\u8F66\u5E93\u5730\u9762"}],Jh=[{roomType:"100900000001",description:"\u5BA4"},{roomType:"100900000002",description:"\u5385"},{roomType:"100900000003",description:"\u53A8"},{roomType:"100900000004",description:"\u536B"},{roomType:"100900000005",description:"\u9633\u53F0"},{roomType:"100900000006",description:"\u9732\u53F0"},{roomType:"100900000007",description:"\u82B1\u56ED"},{roomType:"100900000008",description:"\u50A8"},{roomType:"100900000009",description:"\u4FDD\u59C6\u95F4"},{roomType:"100900000010",description:"\u8F66\u5E93"},{roomType:"100900000011",description:"\u9601\u697C"},{roomType:"100900000012",description:"\u5176\u4ED6"},{roomType:"100900000013",description:"\u8863"},{roomType:"100900000015",description:"\u5546\u94FA"},{roomType:"100900000016",description:"\u5199\u5B57\u697C"}],Bi=(i,t,e)=>{const n=new I.Matrix4,o=new I.Euler(i,t,e,"YXZ");return n.makeRotationFromEuler(o),n},Zh=(i,{scale:t,rotation:e,position:n})=>{if(t&&i.scale.set(t,t,t),e){const[o,s,r]=e;o&&i.applyMatrix4(Bi(o,0,0)),s&&i.applyMatrix4(Bi(0,s,0)),r&&i.applyMatrix4(Bi(0,0,r))}return n&&i.position.set(n.x,n.y,n.z),i};function el(i,t){i.traverse(e=>{var n;if(e.type==="Mesh"){const o=e,s=Q({map:o.material.map||{}},t);o.material=new j.MeshBasicMaterial(s),o.renderOrder=1,((n=e.parent)==null?void 0:n.type)==="Mesh"&&(e.renderOrder=e.parent.renderOrder+1)}})}const Kh=(i,t)=>{var u;const e=t.fbx_url||"//vrlab-static.ljcdn.com/release/web/v3/dipan3/dipan.FBX",n=(u=t.north_rad)!=null?u:void 0,o={},s=d=>G(exports,null,function*(){var H;const h=(d==null?void 0:d.fbx_url)||e,f=(H=d==null?void 0:d.north_rad)!=null?H:n;if(typeof f!="number")throw new Error('"northRad"\u914D\u7F6E\u53C2\u6570\u7F3A\u5931\uFF1A\u672A\u914D\u7F6E\u6307\u5357\u9488\u6307\u5411\uFF01');const v=i.model.bounding,g=v.max.x-v.min.x,p=v.max.z-v.min.z,A=Math.max(g,p),w=yield new pa.FBXLoader().loadAsync(h);el(w,{transparent:!0,side:I.DoubleSide,blending:I.AdditiveBlending});const E=[0,f-Math.PI/2,0],{model:{bounding:{max:{x:L,z:P},min:{x:D,y:k,z:O}}}}=i;o.yBase=k;const N={x:(L+D)/2,y:k-1.6,z:(P+O)/2},R=.0045*A;return Zh(w,{position:N,rotation:E,scale:R}),o.object=w,!0}),r=({latitude:d})=>{if(!o.object)return;const h=a(d);h&&(o.object.position.y=h)},a=d=>{if(o.yBase===void 0)return;const h=.6;if(d>=Math.PI/4)return o.yBase-(h+1.6);const f=d*(4/Math.PI);return o.yBase-(h*f+1.6)};return{load:s,disable:()=>{!o.object||(i.scene.remove(o.object),i.needsRender=!0,i.off("cameraDirectionUpdate",r))},enable:()=>{if(!o.object)return;const d=a(i.getPose().latitude);d&&(o.object.position.y=d),i.scene.add(o.object),i.needsRender=!0,i.on("cameraDirectionUpdate",r)}}};function $h(i,t){var c,u,d,h,f;const e=(c=t==null?void 0:t.size)!=null?c:512,n=(u=t==null?void 0:t.fontSize)!=null?u:e*(35/256)*1.2,o=(d=t==null?void 0:t.backgroundColor)!=null?d:"rgba(0,0,0,0)",s=(h=t==null?void 0:t.fontColor)!=null?h:"#fff",r=(f=t==null?void 0:t.textAlign)!=null?f:"center",a=document.createElement("canvas");a.setAttribute("width",e+""),a.setAttribute("height",e+"");const l=a.getContext("2d");return l.fillStyle=o,l.fillRect(0,0,e,e),l.font=`${n}px "\u5FAE\u8F6F\u96C5\u9ED1"`,l.textAlign=r,l.fillStyle=s,l.fillText(i,e/2,e*.7),new j.CanvasTexture(a)}const ef=({x:i,y:t,z:e})=>new j.Vector3(i,t,e),tf=(i,t)=>{var g,p,A;const e={},n=(g=t.animationEnabled)!=null?g:!0,o=(p=t.position)!=null?p:void 0,s=(A=t.rad)!=null?A:void 0,r=t.fbx_url||"//vrlab-image4.ljcdn.com/release/web/entryDoorMini/Anim_Door1.fbx",a=[],l=b=>G(exports,null,function*(){var N,R,H,B,F,_,Y,W;const w=(N=b==null?void 0:b.position)!=null?N:o;if(!w)return Promise.reject(new Error("ModelEntryDoorGuidePlugin.load(): position is undefined"));const E=ef(w),L=(R=b==null?void 0:b.rad)!=null?R:s,P=(H=b==null?void 0:b.fbx_url)!=null?H:r;if(e.rad=L,L===void 0)return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): rad is ${L}`));const D=yield new pa.FBXLoader().loadAsync(P);D.position.copy(E),D.rotation.z=L,D.scale.set(.8,.8,.8),el(D,{transparent:!0,side:I.DoubleSide});const k=(Y=(_=(F=(B=D.children)==null?void 0:B[0])==null?void 0:F.children)==null?void 0:_[3])==null?void 0:Y.clone();if(!k)return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): textMesh is ${k}`));const O=(W=t.name)!=null?W:"\u5165\u6237\u95E8";return k.material=new j.MeshBasicMaterial({transparent:!0,map:$h(O)}),k.renderOrder=3,D.children[0].add(k),e.object=D,!0}),c=()=>{if(e.animation)return;if(!e.object)return console.error("ModelEntryDoorGuidePlugin.initAnimation(): state.object is ",e.object);const b=1,w=new j.AnimationMixer(e.object);a.push(w);const E=w.clipAction(e.object.animations[0]);E.timeScale=b;let L;const P=()=>{let N=0,R=0;const H=1e3/30,B=F=>{N=requestAnimationFrame(B);const _=F-R;_<H||(R=F,a.forEach(Y=>Y.update(_/1e3)),i.needsRender=!0)};return N=requestAnimationFrame(B),()=>{cancelAnimationFrame(N)}},O={play:()=>{L||(E.play(),L=P(),requestAnimationFrame(()=>{e.object&&e.object.rotation.z!==e.rad&&(e.object.rotation.z=e.rad)}))},stop:()=>{E.stop(),L==null||L(),L=void 0}};e.animation=O},u=b=>{var E;if(!e.object)return console.error("ModelEntryDoorGuidePlugin.enable(): object is ",e.object);((E=b==null?void 0:b.animationEnable)!=null?E:n)&&(e.animation||c(),e.animation.play()),i.scene.add(e.object),i.needsRender=!0},d=()=>{!e.object||(e.animation&&e.animation.stop(),i.scene.remove(e.object),i.needsRender=!0)},h=b=>b==="Floorplan"?u():d();return{load:l,enable:b=>(e.enabled||(e.enabled=!0,h(i.currentMode),i.on("modeChange",h),u(b)),!0),disable:()=>(e.enabled&&(e.enabled=!1,d(),i.off("modeChange",h)),!0)}};class wo extends bn.default.Tween{constructor(){super(...arguments);m(this,"disposeMethods",[]);m(this,"animationFrameDisposer");m(this,"onDispose",e=>(this.disposeMethods.push(e),this));m(this,"play",()=>(this.start(0),this.animationFrameDisposer=xn(e=>this.update(e)),this));m(this,"dispose",()=>{var e;this.stop(),(e=this.animationFrameDisposer)==null||e.call(this),this.disposeMethods.forEach(n=>n()),this.disposeMethods=[],bn.default.remove(this)})}}function tl(i,t=bn.default.Easing.Linear.None){const e=new wo({progress:0}).to({progress:1});return i!==void 0&&e.duration(i),t!==void 0&&e.easing(t),e}const En=window.requestAnimationFrame||(i=>setTimeout(i,16)),nf=window.cancelAnimationFrame||clearTimeout;function yi(i,t=0){t<=0?En(i):En(()=>yi(i,t-1))}function xn(i,t=60){let e=-1,n=0,o=-1;const s=1e3/t;function r(a){o===-1&&(o=a),e=En(r),!(a-n<s)&&(n=a,i&&i(a-o))}return e=En(r),function(){nf(e)}}function of(){const i=Date.now();return new Promise(t=>{En(()=>{t(Date.now()-i)})})}const sf=fi.Easing;function rf(i,t,e,n=sf.Linear.None){const o=new fi.Tween(i).to(t,e).easing(n);yi(()=>o.start(0));const s=xn(a=>{o.update(a)===!1&&s()}),r=[];return o.onDestroy=a=>(r.push(a),o),o.destroy=function(){this.stop(),Object.assign(o,{_onStartCallback:null,_onUpdateCallback:null,_onCompleteCallback:null,_onStopCallbackL:null});let a;for(;a=r.shift();)a();s()},o}function af(i,t){return rf({progress:0},{progress:1},i,t)}var nl=(i=>(i.Move="Move",i.Rotate="Rotate",i))(nl||{}),tt=(i=>(i.Clockwise="Clockwise",i.Anticlockwise="Anticlockwise",i.Loop="Loop",i))(tt||{});const Zn=Math.PI*2;function ws(i){return(i%Zn+Zn)%Zn}function Es(i){return i%Zn}function Vi(i,t,e){return i+(t-i)*e}const to=(i,t,e)=>{const n=Math.PI,o=n*2;return i=ws(i),t=ws(t),e===tt.Anticlockwise&&i<t&&(i+=o),e===tt.Clockwise&&t<i&&(t+=o),e===tt.Loop&&t-i>n?to(i,t,tt.Anticlockwise):e===tt.Loop&&i-t>n?to(i,t,tt.Clockwise):{from:i,to:t}},lf=i=>{const t={},e=(l,c,...u)=>G(exports,[l,c,...u],function*(s,r,a={preload:!0}){return t.interruptCallback&&t.interruptCallback(!1),a.asyncStartCallback&&(yield a.asyncStartCallback()),s.mode&&s.mode!==i.currentMode&&(yield i.changeMode(s.mode)),a.preload&&s.panoIndex!==void 0&&s.panoIndex!==i.panoIndex&&(yield i.preloadPano(s.panoIndex)),a.asyncEndCallback&&(yield a.asyncEndCallback()),s.panoIndex===void 0&&s.fov===void 0&&s.latitude===void 0&&s.longitude===void 0?!0:yield new Promise((d,h)=>{const f=s.panoIndex!==void 0?s.panoIndex:i.panoIndex;f!==void 0?i.moveToPano(f,Object.assign({duration:r,moveEndCallback:()=>d(!0),moveCancelCallback:()=>h(!1)},s)):h(!1)})}),n=s=>{const r=i.state,a=Es(r.latitude),l=Es(s.latitude),{from:c,to:u}=to(r.longitude,s.longitude,s.rotation||tt.Loop),d=r.fov,h=s.fov;return{from:{latitude:a,longitude:c,fov:d},to:{latitude:l,longitude:u,fov:h}}};return{move:e,rotate:(l,c,...u)=>G(exports,[l,c,...u],function*(s,r,a={}){t.interruptCallback&&t.interruptCallback(!1),a.asyncStartCallback&&(yield a.asyncStartCallback()),i.currentMode!==Ee.Five.Mode.Panorama&&(yield i.changeMode(Ee.Five.Mode.Panorama)),s.panoIndex!==void 0&&s.panoIndex!==i.panoIndex&&(a.preload&&(yield i.preloadPano(s.panoIndex)),yield new Promise((f,v)=>{if(!s.panoIndex){f(!0);return}i.moveToPano(s.panoIndex,{moveEndCallback:()=>f(!0),moveCancelCallback:()=>v(!1)})})),a.asyncEndCallback&&(yield a.asyncEndCallback());const{from:d,to:h}=n(s);return yield new Promise(f=>{const v=({progress:w})=>{const E={};E.longitude=Vi(d.longitude,h.longitude,w),E.latitude=Vi(d.latitude,h.latitude,w),E.fov=Vi(d.fov,h.fov,w),i.setState(E,!0)},g=()=>{f(!0)},p=()=>{f(!1)},A=s.rotateSpeed?Math.ceil(Math.abs(h.longitude-d.longitude)/s.rotateSpeed*1e3):r,b=af(A,fi.Easing.Linear.None).onUpdate(v).onComplete(g).onDestroy(p);s.rotation===tt.Loop&&b.repeat(1/0).yoyo(!0),t.interruptCallback=(w=!0)=>{b.destroy(),t.interruptCallback=void 0,t.timeoutId&&(clearTimeout(t.timeoutId),t.timeoutId=void 0),f(w)},t.timeoutId=setTimeout(()=>{t.interruptCallback&&t.interruptCallback(!0)},r)})})}};function Cs(i,t){return i.x===t.x&&i.y===t.y}function il(i,t){return Math.abs(i)===1/0&&Math.abs(t)===1/0?!0:Math.abs(i-t)<.001}function di(i,t){return(t.y-i.y)/(t.x-i.x)}function ol(i,t,e){const n=di(i[1],i[0]),o=di(t[1],t[0]);if(isNaN(n)||isNaN(o)||il(n,o))return!1;if(Rn(i[0],t))return i[0];if(Rn(i[1],t))return i[1];if(Rn(t[0],i))return t[0];if(Rn(t[1],i))return t[1];if(e&&!cf(i,t))return!1;const s=i[0],r=t[0];if(Math.abs(n)===1/0)return{x:s.x,y:t[1].y-(t[1].x-s.x)*o};if(Math.abs(o)===1/0)return{x:r.x,y:i[1].y-(i[1].x-r.x)*n};const a=(r.y-s.y+n*s.x-o*r.x)/(n-o),l=n*a-n*s.x+s.y;return{x:a,y:l}}function Rn(i,t){return Cs(i,t[0])||Cs(i,t[1])?!0:(t[0].x-i.x)*(i.x-t[1].x)>=0&&(t[0].y-i.y)*(i.y-t[1].y)>=0&&il(di(t[0],i),di(i,t[1]))}function Qn(i,t,e){return(i.x-e.x)*(t.y-e.y)-(t.x-e.x)*(i.y-e.y)}function cf(i,t){return Math.max(i[0].x,i[1].x)>=Math.min(t[0].x,t[1].x)&&Math.max(t[0].x,t[1].x)>=Math.min(i[0].x,i[1].x)&&Math.max(i[0].y,i[1].y)>=Math.min(t[0].y,t[1].y)&&Qn(t[0],i[1],i[0])*Qn(i[1],t[1],i[0])>0&&Qn(i[0],t[1],t[0])*Qn(t[1],i[1],t[0])>0?1:0}function sl(i,t=0){t<=0?requestAnimationFrame(i):requestAnimationFrame(()=>sl(i,t-1))}const uf=`<style type="text/css">
|
|
115
|
+
`;return i.$$set=s=>{"content"in s&&e(0,n=s.content)},[n,o]}class ad extends oe{constructor(t){super(),ie(this,t,rd,sd,ne,{content:0},od)}}function ld(i){le(i,"svelte-ozpg4a",".floorplan-plugin__base-image.svelte-ozpg4a{position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}")}function cd(i){let t,e;return t=new id({props:{url:i[1].url}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&2&&(s.url=n[1].url),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function ud(i){let t,e;return t=new ad({props:{content:i[0]}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&1&&(s.content=n[0]),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function dd(i){let t,e,n,o;const s=[ud,cd],r=[];function a(l,c){return l[0]?0:l[1]?1:-1}return~(e=a(i))&&(n=r[e]=s[e](i)),{c(){t=z("div"),n&&n.c(),y(t,"class","floorplan-plugin__base-image svelte-ozpg4a")},m(l,c){M(l,t,c),~e&&r[e].m(t,null),o=!0},p(l,[c]){let u=e;e=a(l),e===u?~e&&r[e].p(l,c):(n&&(se(),x(r[u],1,1,()=>{r[u]=null}),re()),~e?(n=r[e],n?n.p(l,c):(n=r[e]=s[e](l),n.c()),C(n,1),n.m(t,null)):n=null)},i(l){o||(C(n),o=!0)},o(l){x(n),o=!1},d(l){l&&S(t),~e&&r[e].d()}}}function hd(i,t,e){let n,o,{floorIndex:s}=t,{floorplanData:r}=t;return i.$$set=a=>{"floorIndex"in a&&e(2,s=a.floorIndex),"floorplanData"in a&&e(3,r=a.floorplanData)},i.$$.update=()=>{var a,l;i.$$.dirty&12&&e(1,n=r.outlines[s]),i.$$.dirty&12&&e(0,o=(l=(a=r.outlines)==null?void 0:a[s])==null?void 0:l.svgContent)},[o,n,s,r]}class Ua extends oe{constructor(t){super(),ie(this,t,hd,dd,ne,{floorIndex:2,floorplanData:3},ld)}}function fd(i){le(i,"svelte-12pzct5",".floorplan-plugin__room-label-item.svelte-12pzct5{position:absolute;display:flex;flex-flow:column;align-items:center;line-height:1;color:#fff;transform:translate(-50%, -50%);white-space:nowrap;will-change:opacity;transition:opacity 300ms}.floorplan-plugin__room-size.svelte-12pzct5{opacity:0.45}")}function md(i){let t,e=i[8].outerHTML+"",n;return{c(){t=new ti(!1),n=me(),t.a=n},m(o,s){t.m(e,o,s),M(o,n,s)},p(o,s){s&256&&e!==(e=o[8].outerHTML+"")&&t.p(e)},d(o){o&&S(n),o&&t.d()}}}function pd(i){let t,e,n=i[1]&&_o(i),o=i[0]&&No(i);return{c(){n&&n.c(),t=$(),o&&o.c(),e=me()},m(s,r){n&&n.m(s,r),M(s,t,r),o&&o.m(s,r),M(s,e,r)},p(s,r){s[1]?n?n.p(s,r):(n=_o(s),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null),s[0]?o?o.p(s,r):(o=No(s),o.c(),o.m(e.parentNode,e)):o&&(o.d(1),o=null)},d(s){n&&n.d(s),s&&S(t),o&&o.d(s),s&&S(e)}}}function _o(i){let t,e=i[2].name+"",n;return{c(){t=z("span"),n=ke(e),y(t,"class","floorplan-plugin__room-name")},m(o,s){M(o,t,s),V(t,n)},p(o,s){s&4&&e!==(e=o[2].name+"")&&Se(n,e)},d(o){o&&S(t)}}}function No(i){let t,e;return{c(){t=z("span"),e=ke(i[7]),y(t,"class","floorplan-plugin__room-size svelte-12pzct5")},m(n,o){M(n,t,o),V(t,e)},p(n,o){o&128&&Se(e,n[7])},d(n){n&&S(t)}}}function gd(i){let t,e,n;function o(a,l){if(a[3]===void 0)return pd;if(a[8])return md}let s=o(i),r=s&&s(i);return{c(){t=z("div"),r&&r.c(),y(t,"class","floorplan-plugin__room-label-item svelte-12pzct5"),T(t,"left",i[9]),T(t,"top",i[10]),T(t,"font-size",i[11]),T(t,"opacity",i[6]?"1":"0")},m(a,l){M(a,t,l),r&&r.m(t,null),e||(n=[lt(an.call(null,t)),ge(t,"clientWidth",i[19]),ge(t,"clientHeight",i[20])],e=!0)},p(a,[l]){s===(s=o(a))&&r?r.p(a,l):(r&&r.d(1),r=s&&s(a),r&&(r.c(),r.m(t,null))),l&64&&T(t,"opacity",a[6]?"1":"0")},i:X,o:X,d(a){a&&S(t),r&&r.d(),e=!1,He(n)}}}function Ad(i,t){const e=i[0],n=i[1];let o=!1;for(let s=0,r=t.length-1;s<t.length;r=s++){const a=t[s][0],l=t[s][1],c=t[r][0],u=t[r][1];l>n!=u>n&&e<(c-a)*(n-l)/(u-l)+a&&(o=!o)}return o}function vd(i,t,e){let n,o,s,r,a,{pxmm:l}=t,{roomAreaEnable:c}=t,{roomNameEnable:u}=t,{room:d}=t,{hoveredRoom:h}=t,{getRoomAreaText:f}=t,{getLabelElement:v}=t,{adaptiveRoomLabelVisibleEnable:g}=t;function p(H,B){if(B.width===0||B.height===0)return()=>!1;const F=H.path.map(({x:de,y:pe})=>[de,pe]),_=H.roomLabel.position,{x:Y,y:W}=_,{width:ee,height:U}=B,ae=ee/2,he=U/2;return function(pe){const Pe=Y*pe,Ie=W*pe,Me=F.map(([Ae,Ce])=>[Ae*pe,Ce*pe]);return[[Pe+ae,Ie-he],[Pe-ae,Ie-he],[Pe-ae,Ie+he],[Pe+ae,Ie+he]].every(Ae=>Ad(Ae,Me))}}const A=document.body.clientWidth,b=document.body.clientHeight,w=d.roomLabel,E=w.positionInImage.x*100+"%",L=w.positionInImage.y*100+"%",P=(A<500||b<500?10:14)+"px";let D=0,k=0,O=!1;h.subscribe(function(B){e(16,O=!!B&&B.id===d.id)});const N=H=>{e(4,D=H.detail)},R=H=>{e(5,k=H.detail)};return i.$$set=H=>{"pxmm"in H&&e(12,l=H.pxmm),"roomAreaEnable"in H&&e(0,c=H.roomAreaEnable),"roomNameEnable"in H&&e(1,u=H.roomNameEnable),"room"in H&&e(2,d=H.room),"hoveredRoom"in H&&e(13,h=H.hoveredRoom),"getRoomAreaText"in H&&e(14,f=H.getRoomAreaText),"getLabelElement"in H&&e(3,v=H.getLabelElement),"adaptiveRoomLabelVisibleEnable"in H&&e(15,g=H.adaptiveRoomLabelVisibleEnable)},i.$$.update=()=>{i.$$.dirty&12&&e(8,n=v==null?void 0:v(d)),i.$$.dirty&16388&&e(7,o=d.size?f(d.size):""),i.$$.dirty&48&&e(18,s={width:D,height:k}),i.$$.dirty&262148&&e(17,r=s?p(d,s):void 0),i.$$.dirty&233472&&e(6,a=g?O?!0:!!(r!=null&&r(l)):!0)},[c,u,d,v,D,k,a,o,n,E,L,P,l,h,f,g,O,r,s,N,R]}class bd extends oe{constructor(t){super(),ie(this,t,vd,gd,ne,{pxmm:12,roomAreaEnable:0,roomNameEnable:1,room:2,hoveredRoom:13,getRoomAreaText:14,getLabelElement:3,adaptiveRoomLabelVisibleEnable:15},fd)}}function yd(i){le(i,"svelte-13xux0b",".floorplan-plugin__room-labels.svelte-13xux0b{width:100%;height:100%;position:absolute;left:0;top:0;z-index:20;pointer-events:none}")}function Xo(i,t,e){const n=i.slice();return n[12]=t[e],n}function Yo(i){let t,e=[],n=new Map,o,s,r,a=i[8];const l=c=>c[12].id;for(let c=0;c<a.length;c+=1){let u=Xo(i,a,c),d=l(u);n.set(d,e[c]=Uo(d,u))}return{c(){t=z("div");for(let c=0;c<e.length;c+=1)e[c].c();y(t,"class","floorplan-plugin__room-labels svelte-13xux0b")},m(c,u){M(c,t,u);for(let d=0;d<e.length;d+=1)e[d].m(t,null);o=!0,s||(r=[lt(an.call(null,t)),ge(t,"clientWidth",i[11])],s=!0)},p(c,u){u&447&&(a=c[8],se(),e=Ze(e,u,l,1,c,a,n,t,It,Uo,null,Xo),re())},i(c){if(!o){for(let u=0;u<a.length;u+=1)C(e[u]);o=!0}},o(c){for(let u=0;u<e.length;u+=1)x(e[u]);o=!1},d(c){c&&S(t);for(let u=0;u<e.length;u+=1)e[u].d();s=!1,He(r)}}}function Uo(i,t){let e,n,o;const s=[{pxmm:t[7],room:t[12],hoveredRoom:t[2],roomAreaEnable:t[0],roomNameEnable:t[1],getLabelElement:t[4],getRoomAreaText:t[3],adaptiveRoomLabelVisibleEnable:t[5]}];let r={};for(let a=0;a<s.length;a+=1)r=Be(r,s[a]);return n=new bd({props:r}),{key:i,first:null,c(){e=me(),K(n.$$.fragment),this.first=e},m(a,l){M(a,e,l),J(n,a,l),o=!0},p(a,l){t=a;const c=l&447?Qe(s,[{pxmm:t[7],room:t[12],hoveredRoom:t[2],roomAreaEnable:t[0],roomNameEnable:t[1],getLabelElement:t[4],getRoomAreaText:t[3],adaptiveRoomLabelVisibleEnable:t[5]}]):{};n.$set(c)},i(a){o||(C(n.$$.fragment,a),o=!0)},o(a){x(n.$$.fragment,a),o=!1},d(a){a&&S(e),Z(n,a)}}}function wd(i){let t,e,n=i[8]&&Yo(i);return{c(){n&&n.c(),t=me()},m(o,s){n&&n.m(o,s),M(o,t,s),e=!0},p(o,[s]){o[8]?n?(n.p(o,s),s&256&&C(n,1)):(n=Yo(o),n.c(),C(n,1),n.m(t.parentNode,t)):n&&(se(),x(n,1,1,()=>{n=null}),re())},i(o){e||(C(n),e=!0)},o(o){x(n),e=!1},d(o){n&&n.d(o),o&&S(t)}}}function Ed(i,t,e){let n,{floorIndex:o}=t,{roomAreaEnable:s}=t,{roomNameEnable:r}=t,{floorplanData:a}=t,{hoveredRoom:l}=t,{getRoomAreaText:c}=t,{getLabelElement:u}=t,{adaptiveRoomLabelVisibleEnable:d}=t,h=0,f=0;const v=g=>{e(6,h=g.detail)};return i.$$set=g=>{"floorIndex"in g&&e(9,o=g.floorIndex),"roomAreaEnable"in g&&e(0,s=g.roomAreaEnable),"roomNameEnable"in g&&e(1,r=g.roomNameEnable),"floorplanData"in g&&e(10,a=g.floorplanData),"hoveredRoom"in g&&e(2,l=g.hoveredRoom),"getRoomAreaText"in g&&e(3,c=g.getRoomAreaText),"getLabelElement"in g&&e(4,u=g.getLabelElement),"adaptiveRoomLabelVisibleEnable"in g&&e(5,d=g.adaptiveRoomLabelVisibleEnable)},i.$$.update=()=>{if(i.$$.dirty&1536&&e(8,n=a.floorDatas[o].rooms),i.$$.dirty&1088){const{max:g,min:p}=a.bounding,A=g.x-p.x;e(7,f=h/A)}},[s,r,l,c,u,d,h,f,n,o,a,v]}class Cd extends oe{constructor(t){super(),ie(this,t,Ed,wd,ne,{floorIndex:9,roomAreaEnable:0,roomNameEnable:1,floorplanData:10,hoveredRoom:2,getRoomAreaText:3,getLabelElement:4,adaptiveRoomLabelVisibleEnable:5},yd)}}function Pd(i){le(i,"svelte-djlmk4",".floorplan-plugin__rule-labels.svelte-djlmk4.svelte-djlmk4{position:absolute;display:flex}.floorplan-plugin__rule-labels--top.svelte-djlmk4.svelte-djlmk4{left:0;top:-1.25rem}.floorplan-plugin__rule-labels--bottom.svelte-djlmk4.svelte-djlmk4{left:0;bottom:-1.25rem}.floorplan-plugin__rule-labels--left.svelte-djlmk4.svelte-djlmk4{top:0;left:-1.25rem}.floorplan-plugin__rule-labels--right.svelte-djlmk4.svelte-djlmk4{top:0;right:-1.25rem}.floorplan-plugin__rule-line.svelte-djlmk4.svelte-djlmk4{background:#fff;opacity:0.05;width:100%;height:100%}.floorplan-plugin__rule-scale-wrapper.svelte-djlmk4.svelte-djlmk4{position:absolute;width:0.3125rem;height:100%;left:50%;top:0;transform:translateX(-50%)}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-scale-wrapper.svelte-djlmk4{width:100%;height:0.3125rem;top:50%;left:0;transform:translateY(-50%)}.floorplan-plugin__rule-scale.svelte-djlmk4.svelte-djlmk4{position:absolute;background:#fff;opacity:0.05;width:100%;height:0.0625rem}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-scale.svelte-djlmk4{width:0.0625rem;height:100%}.floorplan-plugin__rule-text-wrapper.svelte-djlmk4.svelte-djlmk4{position:absolute}.floorplan-plugin__rule-labels--top.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:100%;height:0;top:0.625rem}.floorplan-plugin__rule-labels--bottom.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:100%;height:0;bottom:0.625rem}.floorplan-plugin__rule-labels--left.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:0;height:100%;left:0.625rem}.floorplan-plugin__rule-labels--right.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:0;height:100%;right:0.625rem}.floorplan-plugin__rule-text-item.svelte-djlmk4.svelte-djlmk4{width:0;height:0;position:absolute;transform:rotate(90deg)}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-text-item.svelte-djlmk4{transform:rotate(0)}.floorplan-plugin__rule-text.svelte-djlmk4.svelte-djlmk4{width:-moz-max-content;width:max-content;transform:translate(-50%, -50%);font-size:0.625rem;color:#fff;opacity:0.2}")}function qo(i,t,e){const n=i.slice();return n[11]=t[e],n[13]=e,n}function Jo(i,t,e){const n=i.slice();return n[14]=t[e],n}function Zo(i){let t;return{c(){t=z("div"),y(t,"class","floorplan-plugin__rule-scale svelte-djlmk4"),T(t,"left",i[14].left*100+"%"),T(t,"bottom",i[14].bottom*100+"%")},m(e,n){M(e,t,n)},p:X,d(e){e&&S(t)}}}function Ko(i,t){let e,n,o=t[1](t[11].distance)+"",s,r;return{key:i,first:null,c(){e=z("div"),n=z("div"),s=ke(o),r=$(),y(n,"class","floorplan-plugin__rule-text svelte-djlmk4"),q(n,"is-row",t[2]),y(e,"class","floorplan-plugin__rule-text-item svelte-djlmk4"),T(e,"left",t[11].left*100+"%"),T(e,"bottom",t[11].bottom*100+"%"),this.first=e},m(a,l){M(a,e,l),V(e,n),V(n,s),V(e,r)},p(a,l){t=a,l&2&&o!==(o=t[1](t[11].distance)+"")&&Se(s,o)},d(a){a&&S(e)}}}function Id(i){let t,e,n,o,s,r,a=[],l=new Map,c,u=i[3],d=[];for(let v=0;v<u.length;v+=1)d[v]=Zo(Jo(i,u,v));let h=i[4];const f=v=>v[13];for(let v=0;v<h.length;v+=1){let g=qo(i,h,v),p=f(g);l.set(p,a[v]=Ko(p,g))}return{c(){t=z("div"),e=z("div"),n=$(),o=z("div");for(let v=0;v<d.length;v+=1)d[v].c();s=$(),r=z("div");for(let v=0;v<a.length;v+=1)a[v].c();y(e,"class","floorplan-plugin__rule-line svelte-djlmk4"),y(o,"class","floorplan-plugin__rule-scale-wrapper svelte-djlmk4"),q(o,"is-row",i[2]),y(r,"class","floorplan-plugin__rule-text-wrapper svelte-djlmk4"),y(t,"class",c="floorplan-plugin__rule-labels floorplan-plugin__rule-labels--"+i[0]+" svelte-djlmk4"),q(t,"is-row",i[2]),T(t,"width",i[2]?"100%":1/16+"rem"),T(t,"height",i[2]?1/16+"rem":"100%")},m(v,g){M(v,t,g),V(t,e),V(t,n),V(t,o);for(let p=0;p<d.length;p+=1)d[p].m(o,null);V(t,s),V(t,r);for(let p=0;p<a.length;p+=1)a[p].m(r,null)},p(v,[g]){if(g&8){u=v[3];let p;for(p=0;p<u.length;p+=1){const A=Jo(v,u,p);d[p]?d[p].p(A,g):(d[p]=Zo(A),d[p].c(),d[p].m(o,null))}for(;p<d.length;p+=1)d[p].d(1);d.length=u.length}g&22&&(h=v[4],a=Ze(a,g,f,1,v,h,l,r,fo,Ko,null,qo)),g&1&&c!==(c="floorplan-plugin__rule-labels floorplan-plugin__rule-labels--"+v[0]+" svelte-djlmk4")&&y(t,"class",c),g&5&&q(t,"is-row",v[2])},i:X,o:X,d(v){v&&S(t),ct(d,v);for(let g=0;g<a.length;g+=1)a[g].d()}}}const Rt=1e3,Qt=180;function kd(i,t,e){let{type:n}=t,{data:o}=t,{bounding:s}=t,{getRuleDistanceText:r}=t;const a=n==="top"||n==="bottom",l=s.max.x-s.min.x-(Rt-Qt)*2,c=s.max.y-s.min.y-(Rt-Qt)*2,u=o.map(([v,g])=>a?[v.x,g.x]:[v.y,g.y]).flat().sort().filter((v,g,p)=>g===0?!0:v!==p[g-1]),d=u.map(v=>{const g=a?(v-s.min.x-Rt+Qt)/l:0,p=a?0:(v-s.min.y-Rt+Qt)/c;return{left:g,bottom:p}});d.unshift({left:0,bottom:0}),d.push(a?{left:1,bottom:0}:{left:0,bottom:1});const h=u[u.length-1]-u[0],f=u.map((v,g,p)=>{const A=g===0?0:v-p[g-1],b=g===0?0:(v+p[g-1])/2,w=a?(b-s.min.x-Rt+Qt)/l:0,E=a?0:(b-s.min.y-Rt+Qt)/c;return{left:w,bottom:E,distance:A}}).filter(({distance:v})=>v/h>.1);return i.$$set=v=>{"type"in v&&e(0,n=v.type),"data"in v&&e(5,o=v.data),"bounding"in v&&e(6,s=v.bounding),"getRuleDistanceText"in v&&e(1,r=v.getRuleDistanceText)},[n,r,a,d,f,o,s]}class xd extends oe{constructor(t){super(),ie(this,t,kd,Id,ne,{type:0,data:5,bounding:6,getRuleDistanceText:1},Pd)}}function Dd(i){le(i,"svelte-1mzj9p3",".floorplan-plugin__rule-labels-wrapper.svelte-1mzj9p3{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}")}function $o(i,t,e){const n=i.slice();return n[13]=t[e][0],n[14]=t[e][1],n}function es(i,t){let e,n,o;const s=[{type:t[13],data:t[14],bounding:t[1],getRuleDistanceText:t[0]}];let r={};for(let a=0;a<s.length;a+=1)r=Be(r,s[a]);return n=new xd({props:r}),{key:i,first:null,c(){e=me(),K(n.$$.fragment),this.first=e},m(a,l){M(a,e,l),J(n,a,l),o=!0},p(a,l){t=a;const c=l&19?Qe(s,[{type:t[13],data:t[14],bounding:t[1],getRuleDistanceText:t[0]}]):{};n.$set(c)},i(a){o||(C(n.$$.fragment,a),o=!0)},o(a){x(n.$$.fragment,a),o=!1},d(a){a&&S(e),Z(n,a)}}}function Ld(i){let t,e=[],n=new Map,o,s=i[4];const r=a=>a[13];for(let a=0;a<s.length;a+=1){let l=$o(i,s,a),c=r(l);n.set(c,e[a]=es(c,l))}return{c(){t=z("div");for(let a=0;a<e.length;a+=1)e[a].c();y(t,"class","floorplan-plugin__rule-labels-wrapper svelte-1mzj9p3"),T(t,"width",i[3]),T(t,"height",i[2])},m(a,l){M(a,t,l);for(let c=0;c<e.length;c+=1)e[c].m(t,null);o=!0},p(a,[l]){l&19&&(s=a[4],se(),e=Ze(e,l,r,1,a,s,n,t,It,es,null,$o),re()),l&8&&T(t,"width",a[3]),l&4&&T(t,"height",a[2])},i(a){if(!o){for(let l=0;l<s.length;l+=1)C(e[l]);o=!0}},o(a){for(let l=0;l<e.length;l+=1)x(e[l]);o=!1},d(a){a&&S(t);for(let l=0;l<e.length;l+=1)e[l].d()}}}const ts=1e3,ns=180;function Sd(i,t,e){let n,o,s,r,a,l,c,u,d,h,{floorIndex:f}=t,{floorplanData:v}=t,{getRuleDistanceText:g}=t;return i.$$set=p=>{"floorIndex"in p&&e(5,f=p.floorIndex),"floorplanData"in p&&e(6,v=p.floorplanData),"getRuleDistanceText"in p&&e(0,g=p.getRuleDistanceText)},i.$$.update=()=>{i.$$.dirty&64&&e(1,n=v.bounding),i.$$.dirty&96&&e(11,o=v.floorDatas[f].rules),i.$$.dirty&2048&&e(12,s=Object.keys(o)),i.$$.dirty&6144&&e(4,r=s.map(p=>[p,o[p]])),i.$$.dirty&2&&e(9,a=n.max.x-n.min.x),i.$$.dirty&2&&e(7,l=n.max.y-n.min.y),i.$$.dirty&2&&e(10,c=n.max.x-n.min.x-(ts-ns)*2),i.$$.dirty&2&&e(8,u=n.max.y-n.min.y-(ts-ns)*2),i.$$.dirty&1536&&e(3,d=c/a*100+"%"),i.$$.dirty&384&&e(2,h=u/l*100+"%")},[g,n,h,d,r,f,v,l,u,a,c,o,s]}class Md extends oe{constructor(t){super(),ie(this,t,Sd,Ld,ne,{floorIndex:5,floorplanData:6,getRuleDistanceText:0},Dd)}}function vi(i,t={}){let e="";const{needZ:n,needA:o}=t;return(n?i.slice().concat(i[0]):i.slice()).forEach((r,a)=>{const{x:l,y:c}=t.format?t.format(r):r,u=l+","+c;return a===0?(e+="M"+u,e):o!=null&&o[a]?(e+="A"+o[a]+","+u,e):(e+="L"+u,e)}),e+(n?"Z":"")}function qa({x:i,y:t},e){const{max:n,min:o}=e;return{x:i-o.x,y:n.y-t}}function Td(i,t){const e=i.x*1e3+t.bounding.origin.x,n=-i.z*1e3+t.bounding.origin.y;return{x:e,y:n}}function zd(i,t){const e=t.bounding,n=e.max.x-e.min.x,o=e.max.y-e.min.y;return{x:(i.x-e.min.x)/n,y:(e.max.y-i.y)/o}}function Bd(i,t){return Math.max(...t.work.observers.map(n=>i.z>=n.standingPosition.z?n.floorIndex:0))}function Vd(i){let t;return{c(){t=we("path"),y(t,"d",i[0]),y(t,"fill","#2F313A")},m(e,n){M(e,t,n)},p(e,[n]){n&1&&y(t,"d",e[0])},i:X,o:X,d(e){e&&S(t)}}}function jd(i,t,e){let n,{path:o}=t;return i.$$set=s=>{"path"in s&&e(1,o=s.path)},i.$$.update=()=>{i.$$.dirty&2&&e(0,n=vi(o,{needZ:!0}))},[n,o]}class Od extends oe{constructor(t){super(),ie(this,t,jd,Vd,ne,{path:1})}}function Rd(i){let t,e,n,o,s,r;return{c(){t=we("defs"),e=we("pattern"),n=we("rect"),o=we("path"),s=$(),r=we("path"),y(n,"x","0"),y(n,"y","0"),y(n,"width",i[1]),y(n,"height",i[1]),y(n,"fill","#323747"),y(o,"d",i[2]),y(o,"stroke","#ffffff"),y(o,"stroke-opacity","0.06"),y(o,"stroke-width","0.5"),y(o,"fill","none"),y(e,"id","fpm-room-pattern-0"),y(e,"x","0"),y(e,"y","0"),y(e,"width",i[1]),y(e,"height",i[1]),y(e,"patternUnits","userSpaceOnUse"),y(e,"patternTransform","scale(50 50)"),y(r,"d",i[0]),y(r,"fill","url(#fpm-room-pattern-0)")},m(a,l){M(a,t,l),V(t,e),V(e,n),V(e,o),M(a,s,l),M(a,r,l)},p(a,[l]){l&1&&y(r,"d",a[0])},i:X,o:X,d(a){a&&S(t),a&&S(s),a&&S(r)}}}const zi=6;function Qd(i,t,e){let n,{path:o}=t;const s=zi*2,r=`M0 ${zi} h ${s} M${zi} 0 v ${s}`;return i.$$set=a=>{"path"in a&&e(3,o=a.path)},i.$$.update=()=>{i.$$.dirty&8&&e(0,n=vi(o,{needZ:!0}))},[n,s,r,o]}class Fd extends oe{constructor(t){super(),ie(this,t,Qd,Rd,ne,{path:3})}}function Hd(i){let t,e,n,o,s,r,a,l,c,u,d;return{c(){t=we("defs"),e=we("pattern"),n=we("rect"),o=we("pattern"),s=we("rect"),r=$(),a=we("path"),l=$(),c=we("path"),u=$(),d=we("path"),y(n,"x","0"),y(n,"y","0"),y(n,"width","6"),y(n,"height","50"),y(n,"fill","none"),y(n,"stroke","#4B4B57"),y(n,"stroke-width","0.5"),y(e,"id","room-material-pattern-1"),y(e,"x","0"),y(e,"y","0"),y(e,"width","12"),y(e,"height","50"),y(e,"patternUnits","userSpaceOnUse"),y(e,"patternTransform","scale(50 50)"),y(s,"x","0"),y(s,"y","0"),y(s,"width","6"),y(s,"height","50"),y(s,"fill","none"),y(s,"stroke","#4B4B57"),y(s,"stroke-width","0.5"),y(o,"id","room-material-pattern-2"),y(o,"x","6"),y(o,"y","25"),y(o,"width","12"),y(o,"height","50"),y(o,"patternUnits","userSpaceOnUse"),y(o,"patternTransform","scale(50 50)"),y(a,"d",i[0]),y(a,"fill","#43434D"),y(c,"d",i[0]),y(c,"fill","url(#room-material-pattern-1)"),y(d,"d",i[0]),y(d,"fill","url(#room-material-pattern-2)")},m(h,f){M(h,t,f),V(t,e),V(e,n),V(t,o),V(o,s),M(h,r,f),M(h,a,f),M(h,l,f),M(h,c,f),M(h,u,f),M(h,d,f)},p(h,[f]){f&1&&y(a,"d",h[0]),f&1&&y(c,"d",h[0]),f&1&&y(d,"d",h[0])},i:X,o:X,d(h){h&&S(t),h&&S(r),h&&S(a),h&&S(l),h&&S(c),h&&S(u),h&&S(d)}}}function Gd(i,t,e){let n,{path:o}=t;return i.$$set=s=>{"path"in s&&e(1,o=s.path)},i.$$.update=()=>{i.$$.dirty&2&&e(0,n=vi(o,{needZ:!0}))},[n,o]}class Wd extends oe{constructor(t){super(),ie(this,t,Gd,Hd,ne,{path:1})}}function _d(i){le(i,"svelte-1dykexu",".floorplan-plugin__room-material.svelte-1dykexu{position:absolute;left:0;top:0;width:100%;height:100%}svg.svelte-1dykexu{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}")}function is(i,t,e){const n=i.slice();return n[5]=t[e],n}function Nd(i){let t,e;return t=new Fd({props:{path:i[5].path}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&1&&(s.path=n[5].path),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function Xd(i){let t,e;return t=new Wd({props:{path:i[5].path}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&1&&(s.path=n[5].path),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function Yd(i){let t,e;return t=new Od({props:{path:i[5].path}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&1&&(s.path=n[5].path),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function os(i){let t,e,n,o;const s=[Yd,Xd,Nd],r=[];function a(l,c){return l[5].floorType===1?0:l[5].floorType===0?1:2}return e=a(i),n=r[e]=s[e](i),{c(){t=we("svg"),n.c(),y(t,"width","100%"),y(t,"height","100%"),y(t,"viewBox",`0 0 ${i[1]} ${i[2]}`),y(t,"class","svelte-1dykexu")},m(l,c){M(l,t,c),r[e].m(t,null),o=!0},p(l,c){let u=e;e=a(l),e===u?r[e].p(l,c):(se(),x(r[u],1,1,()=>{r[u]=null}),re(),n=r[e],n?n.p(l,c):(n=r[e]=s[e](l),n.c()),C(n,1),n.m(t,null))},i(l){o||(C(n),o=!0)},o(l){x(n),o=!1},d(l){l&&S(t),r[e].d()}}}function Ud(i){let t,e,n=i[0],o=[];for(let r=0;r<n.length;r+=1)o[r]=os(is(i,n,r));const s=r=>x(o[r],1,1,()=>{o[r]=null});return{c(){t=z("div");for(let r=0;r<o.length;r+=1)o[r].c();y(t,"class","floorplan-plugin__room-material svelte-1dykexu")},m(r,a){M(r,t,a);for(let l=0;l<o.length;l+=1)o[l].m(t,null);e=!0},p(r,[a]){if(a&7){n=r[0];let l;for(l=0;l<n.length;l+=1){const c=is(r,n,l);o[l]?(o[l].p(c,a),C(o[l],1)):(o[l]=os(c),o[l].c(),C(o[l],1),o[l].m(t,null))}for(se(),l=n.length;l<o.length;l+=1)s(l);re()}},i(r){if(!e){for(let a=0;a<n.length;a+=1)C(o[a]);e=!0}},o(r){o=o.filter(Boolean);for(let a=0;a<o.length;a+=1)x(o[a]);e=!1},d(r){r&&S(t),ct(o,r)}}}function qd(i,t,e){let n,{floorIndex:o}=t,{floorplanData:s}=t;const r=s.bounding.max.x-s.bounding.min.x,a=s.bounding.max.y-s.bounding.min.y;return i.$$set=l=>{"floorIndex"in l&&e(3,o=l.floorIndex),"floorplanData"in l&&e(4,s=l.floorplanData)},i.$$.update=()=>{i.$$.dirty&24&&e(0,n=s.floorDatas[o].rooms.map(l=>fe(Q({},l),{path:l.path.map(c=>qa(c,s.bounding))})))},[n,r,a,o,s]}class Jd extends oe{constructor(t){super(),ie(this,t,qd,Ud,ne,{floorIndex:3,floorplanData:4},_d)}}function Zd(i){le(i,"svelte-qq2273","path.svelte-qq2273{--opacity:0;opacity:var(--opacity)}path.svelte-qq2273:hover{opacity:calc(var(--opacity) + 0.1)}")}function Kd(i){let t,e,n,o;return{c(){t=we("path"),y(t,"d",i[5]),y(t,"fill","#fff"),y(t,"style",i[2]),y(t,"id",e=`${i[1]}_${i[0].id}`),y(t,"class","svelte-qq2273")},m(s,r){M(s,t,r),n||(o=[ge(t,"mouseenter",i[3]),ge(t,"mouseleave",i[4])],n=!0)},p(s,[r]){r&4&&y(t,"style",s[2]),r&3&&e!==(e=`${s[1]}_${s[0].id}`)&&y(t,"id",e)},i:X,o:X,d(s){s&&S(t),n=!1,He(o)}}}function $d(i,t,e){let n,o,{room:s}=t,{floorIndex:r}=t,{floorplanData:a}=t,{hoveredRoom:l}=t,{highlightData:c}=t;function u(){l.set(s)}function d(){l.set(void 0)}const{bounding:h}=a,f=vi(s.path,{needZ:!0,format:v=>qa(v,h)});return i.$$set=v=>{"room"in v&&e(0,s=v.room),"floorIndex"in v&&e(1,r=v.floorIndex),"floorplanData"in v&&e(6,a=v.floorplanData),"hoveredRoom"in v&&e(7,l=v.hoveredRoom),"highlightData"in v&&e(8,c=v.highlightData)},i.$$.update=()=>{i.$$.dirty&259&&e(9,n=c[`${r}_${s.id}`]),i.$$.dirty&512&&e(2,o=n?`fill: ${n.color}; --opacity: ${n.opacity}; pointer-events: ${n.disabled?"none":"auto"}`:null)},[s,r,o,u,d,f,a,l,c,n]}class eh extends oe{constructor(t){super(),ie(this,t,$d,Kd,ne,{room:0,floorIndex:1,floorplanData:6,hoveredRoom:7,highlightData:8},Zd)}}function th(i){le(i,"svelte-1kqo6e4",".floorplan-plugin__room-highlight.svelte-1kqo6e4{position:absolute;width:100%;height:100%}svg.svelte-1kqo6e4{width:100%;height:100%;overflow:visible}")}function ss(i,t,e){const n=i.slice();return n[6]=t[e],n}function rs(i,t){let e,n,o;const s=[{room:t[6],floorplanData:t[1],hoveredRoom:t[2],floorIndex:t[0],highlightData:t[3]}];let r={};for(let a=0;a<s.length;a+=1)r=Be(r,s[a]);return n=new eh({props:r}),{key:i,first:null,c(){e=me(),K(n.$$.fragment),this.first=e},m(a,l){M(a,e,l),J(n,a,l),o=!0},p(a,l){t=a;const c=l&15?Qe(s,[{room:t[6],floorplanData:t[1],hoveredRoom:t[2],floorIndex:t[0],highlightData:t[3]}]):{};n.$set(c)},i(a){o||(C(n.$$.fragment,a),o=!0)},o(a){x(n.$$.fragment,a),o=!1},d(a){a&&S(e),Z(n,a)}}}function nh(i){let t,e,n=[],o=new Map,s,r=i[1].floorDatas[i[0]].rooms;const a=l=>l[6].id;for(let l=0;l<r.length;l+=1){let c=ss(i,r,l),u=a(c);o.set(u,n[l]=rs(u,c))}return{c(){t=z("div"),e=we("svg");for(let l=0;l<n.length;l+=1)n[l].c();y(e,"width","100%"),y(e,"height","100%"),y(e,"viewBox",`0 0 ${i[4]} ${i[5]}`),y(e,"class","svelte-1kqo6e4"),y(t,"class","floorplan-plugin__room-highlight svelte-1kqo6e4")},m(l,c){M(l,t,c),V(t,e);for(let u=0;u<n.length;u+=1)n[u].m(e,null);s=!0},p(l,[c]){c&15&&(r=l[1].floorDatas[l[0]].rooms,se(),n=Ze(n,c,a,1,l,r,o,e,It,rs,null,ss),re())},i(l){if(!s){for(let c=0;c<r.length;c+=1)C(n[c]);s=!0}},o(l){for(let c=0;c<n.length;c+=1)x(n[c]);s=!1},d(l){l&&S(t);for(let c=0;c<n.length;c+=1)n[c].d()}}}function ih(i,t,e){let{floorIndex:n}=t,{floorplanData:o}=t,{hoveredRoom:s}=t,{highlightData:r}=t;const a=o.bounding.max.x-o.bounding.min.x,l=o.bounding.max.y-o.bounding.min.y;return i.$$set=c=>{"floorIndex"in c&&e(0,n=c.floorIndex),"floorplanData"in c&&e(1,o=c.floorplanData),"hoveredRoom"in c&&e(2,s=c.hoveredRoom),"highlightData"in c&&e(3,r=c.highlightData)},[n,o,s,r,a,l]}class Ja extends oe{constructor(t){super(),ie(this,t,ih,nh,ne,{floorIndex:0,floorplanData:1,hoveredRoom:2,highlightData:3},th)}}function oh(i){le(i,"svelte-bl8zrz",".floorplan-plugin__floor.svelte-bl8zrz{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;pointer-events:none}.floorplan-plugin__floor--is-current.svelte-bl8zrz{opacity:1;pointer-events:auto}")}function as(i){let t,e;const n=[{floorIndex:i[1],floorplanData:i[8],hoveredRoom:i[14],highlightData:i[13]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Ja({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&24834?Qe(n,[{floorIndex:s[1],floorplanData:s[8],hoveredRoom:s[14],highlightData:s[13]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function ls(i){let t,e;const n=[{floorplanData:i[8],roomAreaEnable:i[5],roomNameEnable:i[6],floorIndex:i[1],getRoomAreaText:i[9],getLabelElement:i[10],hoveredRoom:i[14],adaptiveRoomLabelVisibleEnable:i[12]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Cd({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&22370?Qe(n,[{floorplanData:s[8],roomAreaEnable:s[5],roomNameEnable:s[6],floorIndex:s[1],getRoomAreaText:s[9],getLabelElement:s[10],hoveredRoom:s[14],adaptiveRoomLabelVisibleEnable:s[12]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function cs(i){let t,e;const n=[{floorplanData:i[8],floorIndex:i[1],getRuleDistanceText:i[11]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Md({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&2306?Qe(n,[{floorplanData:s[8],floorIndex:s[1],getRuleDistanceText:s[11]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function sh(i){let t,e,n,o,s,r,a,l,c;const u=[{floorIndex:i[1],floorplanData:i[8]}];let d={};for(let A=0;A<u.length;A+=1)d=Be(d,u[A]);e=new Jd({props:d});let h=(i[2]||i[3])&&as(i);const f=[{floorplanData:i[8],floorIndex:i[1]}];let v={};for(let A=0;A<f.length;A+=1)v=Be(v,f[A]);s=new Ua({props:v});let g=i[4]&&ls(i),p=i[7]&&cs(i);return{c(){t=z("div"),K(e.$$.fragment),n=$(),h&&h.c(),o=$(),K(s.$$.fragment),r=$(),g&&g.c(),a=$(),p&&p.c(),y(t,"class",l=Te(`floorplan-plugin__floor${i[0]?" floorplan-plugin__floor--is-current":""}`)+" svelte-bl8zrz")},m(A,b){M(A,t,b),J(e,t,null),V(t,n),h&&h.m(t,null),V(t,o),J(s,t,null),V(t,r),g&&g.m(t,null),V(t,a),p&&p.m(t,null),c=!0},p(A,[b]){const w=b&258?Qe(u,[{floorIndex:A[1],floorplanData:A[8]}]):{};e.$set(w),A[2]||A[3]?h?(h.p(A,b),b&12&&C(h,1)):(h=as(A),h.c(),C(h,1),h.m(t,o)):h&&(se(),x(h,1,1,()=>{h=null}),re());const E=b&258?Qe(f,[{floorplanData:A[8],floorIndex:A[1]}]):{};s.$set(E),A[4]?g?(g.p(A,b),b&16&&C(g,1)):(g=ls(A),g.c(),C(g,1),g.m(t,a)):g&&(se(),x(g,1,1,()=>{g=null}),re()),A[7]?p?(p.p(A,b),b&128&&C(p,1)):(p=cs(A),p.c(),C(p,1),p.m(t,null)):p&&(se(),x(p,1,1,()=>{p=null}),re()),(!c||b&1&&l!==(l=Te(`floorplan-plugin__floor${A[0]?" floorplan-plugin__floor--is-current":""}`)+" svelte-bl8zrz"))&&y(t,"class",l)},i(A){c||(C(e.$$.fragment,A),C(h),C(s.$$.fragment,A),C(g),C(p),c=!0)},o(A){x(e.$$.fragment,A),x(h),x(s.$$.fragment,A),x(g),x(p),c=!1},d(A){A&&S(t),Z(e),h&&h.d(),Z(s),g&&g.d(),p&&p.d()}}}function rh(i,t,e){let{isCurrent:n}=t,{floorIndex:o}=t,{highlightEnable:s}=t,{hoverEnable:r}=t,{roomLabelsEnable:a}=t,{roomAreaEnable:l}=t,{roomNameEnable:c}=t,{ruleLabelsEnable:u}=t,{floorplanData:d}=t,{getRoomAreaText:h}=t,{getLabelElement:f}=t,{getRuleDistanceText:v}=t,{adaptiveRoomLabelVisibleEnable:g}=t,{highlightData:p}=t;const A=po(void 0);return i.$$set=b=>{"isCurrent"in b&&e(0,n=b.isCurrent),"floorIndex"in b&&e(1,o=b.floorIndex),"highlightEnable"in b&&e(2,s=b.highlightEnable),"hoverEnable"in b&&e(3,r=b.hoverEnable),"roomLabelsEnable"in b&&e(4,a=b.roomLabelsEnable),"roomAreaEnable"in b&&e(5,l=b.roomAreaEnable),"roomNameEnable"in b&&e(6,c=b.roomNameEnable),"ruleLabelsEnable"in b&&e(7,u=b.ruleLabelsEnable),"floorplanData"in b&&e(8,d=b.floorplanData),"getRoomAreaText"in b&&e(9,h=b.getRoomAreaText),"getLabelElement"in b&&e(10,f=b.getLabelElement),"getRuleDistanceText"in b&&e(11,v=b.getRuleDistanceText),"adaptiveRoomLabelVisibleEnable"in b&&e(12,g=b.adaptiveRoomLabelVisibleEnable),"highlightData"in b&&e(13,p=b.highlightData)},[n,o,s,r,a,l,c,u,d,h,f,v,g,p,A]}class ah extends oe{constructor(t){super(),ie(this,t,rh,sh,ne,{isCurrent:0,floorIndex:1,highlightEnable:2,hoverEnable:3,roomLabelsEnable:4,roomAreaEnable:5,roomNameEnable:6,ruleLabelsEnable:7,floorplanData:8,getRoomAreaText:9,getLabelElement:10,getRuleDistanceText:11,adaptiveRoomLabelVisibleEnable:12,highlightData:13},oh)}}function lh(i){le(i,"svelte-86bqav",".floorplan-main.svelte-86bqav{width:100%;height:100%;pointer-events:none}")}function us(i,t,e){const n=i.slice();return n[21]=t[e],n}function ds(i){let t,e,n,o,s,r=i[13].floorDatas,a=[];for(let d=0;d<r.length;d+=1)a[d]=hs(us(i,r,d));const l=d=>x(a[d],1,1,()=>{a[d]=null});let c=i[5]&&fs(i),u=i[8]&&ms(i);return{c(){t=z("div");for(let d=0;d<a.length;d+=1)a[d].c();e=$(),c&&c.c(),n=$(),u&&u.c(),y(t,"class","floorplan-main svelte-86bqav")},m(d,h){M(d,t,h);for(let f=0;f<a.length;f+=1)a[f].m(t,null);V(t,e),c&&c.m(t,null),V(t,n),u&&u.m(t,null),s=!0},p(d,h){if(i=d,h&2047696){r=i[13].floorDatas;let f;for(f=0;f<r.length;f+=1){const v=us(i,r,f);a[f]?(a[f].p(v,h),C(a[f],1)):(a[f]=hs(v),a[f].c(),C(a[f],1),a[f].m(t,e))}for(se(),f=r.length;f<a.length;f+=1)l(f);re()}i[5]?c?(c.p(i,h),h&32&&C(c,1)):(c=fs(i),c.c(),C(c,1),c.m(t,n)):c&&(se(),x(c,1,1,()=>{c=null}),re()),i[8]?u?(u.p(i,h),h&256&&C(u,1)):(u=ms(i),u.c(),C(u,1),u.m(t,null)):u&&(se(),x(u,1,1,()=>{u=null}),re())},i(d){if(!s){for(let h=0;h<r.length;h+=1)C(a[h]);C(c),C(u),o||Re(()=>{o=Tt(t,Mt,{duration:i[0],easing:At}),o.start()}),s=!0}},o(d){a=a.filter(Boolean);for(let h=0;h<a.length;h+=1)x(a[h]);x(c),x(u),s=!1},d(d){d&&S(t),ct(a,d),c&&c.d(),u&&u.d()}}}function hs(i){let t,e;const n=[{hoverEnable:i[6],highlightEnable:i[7],floorplanData:i[13],getRoomAreaText:i[16],getLabelElement:i[17],getRuleDistanceText:i[18],roomLabelsEnable:i[9],roomAreaEnable:i[10],roomNameEnable:i[11],ruleLabelsEnable:i[12],adaptiveRoomLabelVisibleEnable:i[19],highlightData:i[20]},{floorIndex:i[21].floorIndex},{isCurrent:i[21].floorIndex===i[4]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new ah({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&2047696?Qe(n,[r&2047680&&{hoverEnable:s[6],highlightEnable:s[7],floorplanData:s[13],getRoomAreaText:s[16],getLabelElement:s[17],getRuleDistanceText:s[18],roomLabelsEnable:s[9],roomAreaEnable:s[10],roomNameEnable:s[11],ruleLabelsEnable:s[12],adaptiveRoomLabelVisibleEnable:s[19],highlightData:s[20]},r&8192&&{floorIndex:s[21].floorIndex},r&8208&&{isCurrent:s[21].floorIndex===s[4]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function fs(i){let t,e;const n=[{panoIndex:i[3],floorplanData:i[13],lastPanoramaLongitude:i[14],cameraImageUrl:i[15]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Xu({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&57352?Qe(n,[{panoIndex:s[3],floorplanData:s[13],lastPanoramaLongitude:s[14],cameraImageUrl:s[15]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function ms(i){let t,e;return t=new $u({props:{floorplanData:i[13],northDesc:i[2]}}),{c(){K(t.$$.fragment)},m(n,o){J(t,n,o),e=!0},p(n,o){const s={};o&8192&&(s.floorplanData=n[13]),o&4&&(s.northDesc=n[2]),t.$set(s)},i(n){e||(C(t.$$.fragment,n),e=!0)},o(n){x(t.$$.fragment,n),e=!1},d(n){Z(t,n)}}}function ch(i){let t,e,n=i[1]&&ds(i);return{c(){n&&n.c(),t=me()},m(o,s){n&&n.m(o,s),M(o,t,s),e=!0},p(o,[s]){o[1]?n?(n.p(o,s),s&2&&C(n,1)):(n=ds(o),n.c(),C(n,1),n.m(t.parentNode,t)):n&&(se(),x(n,1,1,()=>{n=null}),re())},i(o){e||(C(n),e=!0)},o(o){x(n),e=!1},d(o){n&&n.d(o),o&&S(t)}}}function uh(i,t,e){let{duration:n=0}=t,{visible:o}=t,{northDesc:s}=t,{panoIndex:r}=t,{floorIndex:a}=t,{cameraEnable:l}=t,{hoverEnable:c}=t,{highlightEnable:u}=t,{compassEnable:d}=t,{roomLabelsEnable:h}=t,{roomAreaEnable:f}=t,{roomNameEnable:v}=t,{ruleLabelsEnable:g}=t,{floorplanData:p}=t,{lastPanoramaLongitude:A}=t,{cameraImageUrl:b}=t,{getRoomAreaText:w}=t,{getLabelElement:E}=t,{getRuleDistanceText:L}=t,{adaptiveRoomLabelVisibleEnable:P}=t,{highlightData:D}=t;return i.$$set=k=>{"duration"in k&&e(0,n=k.duration),"visible"in k&&e(1,o=k.visible),"northDesc"in k&&e(2,s=k.northDesc),"panoIndex"in k&&e(3,r=k.panoIndex),"floorIndex"in k&&e(4,a=k.floorIndex),"cameraEnable"in k&&e(5,l=k.cameraEnable),"hoverEnable"in k&&e(6,c=k.hoverEnable),"highlightEnable"in k&&e(7,u=k.highlightEnable),"compassEnable"in k&&e(8,d=k.compassEnable),"roomLabelsEnable"in k&&e(9,h=k.roomLabelsEnable),"roomAreaEnable"in k&&e(10,f=k.roomAreaEnable),"roomNameEnable"in k&&e(11,v=k.roomNameEnable),"ruleLabelsEnable"in k&&e(12,g=k.ruleLabelsEnable),"floorplanData"in k&&e(13,p=k.floorplanData),"lastPanoramaLongitude"in k&&e(14,A=k.lastPanoramaLongitude),"cameraImageUrl"in k&&e(15,b=k.cameraImageUrl),"getRoomAreaText"in k&&e(16,w=k.getRoomAreaText),"getLabelElement"in k&&e(17,E=k.getLabelElement),"getRuleDistanceText"in k&&e(18,L=k.getRuleDistanceText),"adaptiveRoomLabelVisibleEnable"in k&&e(19,P=k.adaptiveRoomLabelVisibleEnable),"highlightData"in k&&e(20,D=k.highlightData)},[n,o,s,r,a,l,c,u,d,h,f,v,g,p,A,b,w,E,L,P,D]}class go extends oe{constructor(t){super(),ie(this,t,uh,ch,ne,{duration:0,visible:1,northDesc:2,panoIndex:3,floorIndex:4,cameraEnable:5,hoverEnable:6,highlightEnable:7,compassEnable:8,roomLabelsEnable:9,roomAreaEnable:10,roomNameEnable:11,ruleLabelsEnable:12,floorplanData:13,lastPanoramaLongitude:14,cameraImageUrl:15,getRoomAreaText:16,getLabelElement:17,getRuleDistanceText:18,adaptiveRoomLabelVisibleEnable:19,highlightData:20},lh)}}const dh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAALaADAAQAAAABAAAAMAAAAADe2FZjAAAEF0lEQVRoBe2WzWskRRiHf13V092TxI2oEzYeVDwITtyDuCiihwiCePGgxIM3vYgHL4J4UIhBRA8i/gPqyUvWg7AiIuIeloDiYUHJLOK6BPwIk9nNODM9Xf1RVe1b3elJRjCZmQ6euqGmuqer33rq4e23GqiOykBloDJQGagMVAYqA5WBykBlYFYD1qwP/tdzaZqOx9zYOLxeX0+L5yzLGp0X/03a25MOnGRcBtx+6Rlo9SL08G4EooFnxa8Yiivox5/h5Ys/4cl7NVorNDRnngX+0MIkVMeMSf23zyKML8J7/Dy8hwF2Buh9CnS+AEQIdLspBuGb+M7/qLW4qJrNpsLapjYhpwVnx3BMfCtNNx3Etc9xywvnMf80wG8HmQainw0RxSGrnmeBp+8k5/j9S0HbvXb5io0Lz880/0wPHV1NlhLd316He+4xOCv5ragF7L9PrH1qBJyB0626x/lC+qrSvH5r/W+n1WpxUM5nMY4GPeH8lHJaPgfeAFQHCL+ntkXT+vnUc3W6pvTIwC0wy3rA4dwLmK2avZ7Eo9uKBuYJfgJscbs8dLCxDMt+EOEPBEZNEWyBYHqTz6bPXrzUnNrSShxHIsYiOL69zrCGLLcLqJP68tB+9w5wj+YhWDafQ2s61wNqxjZhmrQ2pvMFCEvXuCUZ7wqH794ZWs28LJqlTXSUyuksF2M/yOwqgkx2c1ADa4wLAQRk2sAGQQakhN6yFC2hltfz5kSY44NKQeeh+vtI/SSzWhg2CzCgmWISmKUGmaYFBDfCSymnfxJ6/+ospVcWOLLp5DGP/y0P/Rp66O99DQNq7Po3Ds0a0wY+My2QSv2N2mO/OyxR2o6UQk+Lv7yJ06JYSnnolZVU9cUn2O9SmaMWGFBqYXRwbqAJWIi94TX5biotpcGl1DXZ6LnqIbNDTnmUgi52Mv5l5ysMxIcZcGjy2DTK4ZHlcBC14zeSge4qphICjj3bS0A7o9nSp2TOkm7aZ8bGZy/jxhO87V91G0+dfY/Z7BWIIK9KYUi5qy/Hf8YfBG3sqJTHiQWhmTVkbip+wX3x6volVSx+LPAxF+VLXhZ8VQ+iP2Rta/iWe5v42Fngj0BbdnRTXh12ZIcKhTaGbcYjybRwXBU1lu9KlndXp04NM52poKWO0RZsviNaP9a6grkO972+st05pXhE5c1hTEluJy7XUejGUQNLMbAmTdWY1rKBLW3aTJqBZ7nZkb36DhYCreeYHbMUXHvaYi5XDK70EcgulmRjm77wNtenzuXCbmnTRaAx493rbGf3Jr/njMzj920CnKdUaFCjlDioy7NYNvOdGrQJNgI32/L2tkXfFPlxgToqjWVhD6KdLnQRdARf/HHQz2r2X2Gqy8pAZaAyUBmoDFQGKgP/q4F/AJYg9/s0ZoABAAAAAElFTkSuQmCC";function hh(i){return G(this,null,function*(){const t=new Headers({"Content-Type":"text/plain"}),e=function(o){return G(this,null,function*(){const s={index:o.index,url:o.url,svgUrl:o.svg_url};if(o.svg_url){const r=yield fetch(o.svg_url,{headers:t}).then(a=>a.text());s.svgContent=r}return s})};return yield Promise.all(i.map(e))})}function fh(i){return{id:i.id,size:i.size,name:i.name,path:i.path,roomType:i.room_type,floorType:i.floor_type,roomLabel:{position:i.room_label.position,positionInImage:i.room_label.position_in_image},observerIndexs:i.observer_indexs}}function mh(i){return{floorName:i.floor_name,floorIndex:i.floor_index,rooms:i.rooms.map(fh),rules:i.rules}}function ph(i){return{index:i.index,floorIndex:i.floor_index,position:i.position,positionInImage:i.position_in_image}}function gh(i){return{rad:i.rad,position:i.position,positionInImage:i.position_in_image,northRad:i.north_rad,roomId:i.room_id,floorIndex:i.floor_index}}function yt(i){return G(this,null,function*(){const t=yield hh(i.outlines),e=i.computed_data.bounding,n=i.computed_data.floor_datas.map(mh),o=i.computed_data.entrance?gh(i.computed_data.entrance):null;return{outlines:t,entrance:o,bounding:e,floorDatas:n,observers:i.computed_data.observers.map(ph)}})}function Ah(i,t,e){return i.map(o=>{const s=o.position,r=o.icon?o.icon:{url:dh,width:45,height:48},a=Bd(s,t),l=Td(s,e),c=zd(l,e);return{floorIndex:a,icon:r,id:o.id,position:l,positionInImage:c}})}function vh(i,t){return t(i),i}function bi(i,t){return vh({},e=>{for(const n in i)t.indexOf(n)===-1&&(e[n]=i[n])})}function ps(i,t){const e=Math.max(...i.work.observers.map(n=>n.floorIndex));return t>e?i.model.bounding.max.y:Math.max(...i.work.observers.filter(n=>n.floorIndex===t).map(n=>n.standingPosition.y))}function Ao(i,t,e=pt.BOUNDING_CENTER){const n=ps(i,t),o=ps(i,t+1);return e===pt.BOUNDING_CENTER?(i.model.bounding.max.y+i.model.bounding.min.y)/2:e===pt.CEILING?o:n}function vo(i,t,e,n){const o=Ao(i,e,n==null?void 0:n.attachedTo),s=new I.Vector3(0,o,0),r=new I.Vector3(1,o,0),a=s.clone().project(i.camera),l=r.clone().project(i.camera);return Math.abs((l.x-a.x)/1e3)*(t.getBoundingClientRect().width/2)}class kn{constructor(t,e){m(this,"VERSION","2.14.0-dev.2");m(this,"five");m(this,"hooks",new Zt);m(this,"staticPrefix","//vrlab-static.ljcdn.com");this.five=t,e!=null&&e.staticPrefix&&(this.staticPrefix=e.staticPrefix)}getCurrentState(){return this.state}}class zt extends kn{}var We=(i=>(i.UnknownError="UnknownError",i.DataNotLoaded="DataNotLoaded",i.BreakOffByHide="BreakOffByHide",i.BreakOffByDisable="BreakOffByDisable",i.ModelNotLoaded="ModelNotLoaded",i.ChangeModeError="ChangeModeError",i.UpdateCameraError="UpdateCameraError",i))(We||{});const Za=500,bh=80;function eo(i,t,e=4){return Math.floor(i*Math.pow(10,e))===Math.floor(t*Math.pow(10,e))}function Ka(i,t){return G(this,null,function*(){yield new Promise((e,n)=>{i.changeMode(...t).catch(o=>n(o)),i.once("initAnimationEnded",()=>{const o=i.getCurrentState(),s=t[0];o.mode!==s&&n(new Error("mode \u4E0E\u9884\u671F\u4E0D\u7B26")),(()=>{const l=t[1];return l?Object.keys(l).every(c=>{const u=o[c];if(u===void 0)return!0;const d=l[c];return typeof u=="number"&&typeof d=="number"?eo(u,d,2):u===d}):!0})()||n(new Error("five pose \u4E0E\u9884\u671F\u4E0D\u7B26")),e()})})})}function bo(i,t){if(i.currentMode!==t.mode)return!1;const{latitude:e,longitude:n,fov:o}=t,{latitude:s,longitude:r}=i.getCurrentState(),a=i.camera.fov;return!(!eo(e,s,2)||!eo(n,r,2)||o!==a)}function $a(i,t,e=!0){return G(this,null,function*(){if(bo(i,t)===!0)return;const o=i.getCurrentState();if(o.mode!==t.mode){const[u]=yield li(Ka(i,[t.mode,t,void 0,e]));if(u)throw new Error(We.ChangeModeError);return}const{latitude:s,longitude:r,fov:a}=o,l=Math.min(1e3,Math.max(200,Math.abs(s-Math.PI/2)*1e3,(r>Math.PI?2*Math.PI-r:r)*500,Math.abs(a-t.fov)*10)),[c]=yield li(i.updateCamera(t,l,e));if(c)throw new Error(We.UpdateCameraError)})}function Ut(i,t,e=300){const n=i.getElement();!n||(n.style.opacity=t+"",n.style.transition=e===0?"none":`opacity ${e}ms linear`,e!==0&&Promise.race([new Promise(o=>n.addEventListener("transitionend",o,{once:!0})),new Promise(o=>setTimeout(o,e))]).then(()=>{n.style.transition="none"}))}function yh(i){const{latitude:t,longitude:e}=i,n=Math.abs(t-Math.PI/2)>5*Math.PI/180,o=e>5*(Math.PI/180)&&e<355*(Math.PI/180);return n||o}function wh(i){const{latitude:t,longitude:e}=i,n=Math.abs(t-Math.PI/2)<10*Math.PI/180,o=e<30*(Math.PI/180)||e>330*(Math.PI/180);return n&&o}class Eh extends zt{constructor(e,n){var a;super(e);m(this,"name","modelFloorplanPlugin");m(this,"state");m(this,"data");m(this,"showState");m(this,"showPromise");m(this,"app");m(this,"panoIndex",0);m(this,"floorIndex",0);m(this,"selector");m(this,"showRejection");m(this,"wrapper");m(this,"container",document.createElement("div"));m(this,"lastPanoramaLongitude",0);m(this,"size",{width:0,height:0});m(this,"hasAddedEventListener",!1);m(this,"isHiddenByHideFunc",!1);m(this,"highlightData",{});m(this,"dispose",()=>{var e,n;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(n=this.container)==null||n.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});m(this,"show",(...n)=>G(this,[...n],function*(e={}){if(!this.state.enabled||!this.showPromise&&this.state.visible)return;const o=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},o),this._show(e)}));m(this,"hide",(...n)=>G(this,[...n],function*(e={}){!this.state.enabled||(this.isHiddenByHideFunc=!0,this.state.visible!==!1&&(this.updateState({visible:!1},e.userAction||!0),this._hide(e)))}));m(this,"updateSize",()=>{if(!this.data||!bo(this.five,this.showState)||!this.container||!this.wrapper)return;const{min:e,max:n}=this.data.bounding,o=n.x-e.x,s=n.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,a=vo(this.five,this.wrapper,this.floorIndex,r),l=Math.ceil(o*a),c=Math.ceil(s*a);this.size.width===l&&this.size.height===c||(this.container.style.width=l+"px",this.container.style.height=c+"px",this.size={width:l,height:c})});m(this,"highlight",e=>{!this.state.config.highlightEnable||(this.highlightData=e,this.render())});m(this,"unhighlight",()=>{this.highlightData={},this.render()});m(this,"_disable",e=>{var o,s,r;const{userAction:n}=e;this.hooks.emit("disable",{userAction:n}),(o=this.showRejection)==null||o.call(this,We.BreakOffByDisable),this.showPromise=void 0,(s=this.app)==null||s.$destroy(),this.app=void 0,(r=this.container)==null||r.remove(),this.removeEventListener()});m(this,"_enable",e=>{const{userAction:n}=e;this.addEventListener(),this.wrapper&&(this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:n}),this.state.visible&&this._show({userAction:n}))});m(this,"_show",e=>G(this,null,function*(){var r;if(!this.state.enabled)return;if(!((r=this.five.model)!=null&&r.loaded))throw new Error(We.ModelNotLoaded);if(!this.data)throw new Error(We.DataNotLoaded);this.isHiddenByHideFunc=!1;const n={floorIndex:this.floorIndex,modelOpacity:this.state.config.modelOpacity,immediately:!1,isAutoShow:!1,userAction:!0},o=Q(Q({},n),e),s=()=>G(this,null,function*(){this.hooks.emit("show",{userAction:o.userAction,auto:o.isAutoShow});let a=!1,l;this.showRejection=h=>{a=!0,l=h};const[c]=yield li($a(this.five,this.showState,o.userAction));if(c)throw c;if(a)throw l?new Error(l):new Error(We.UnknownError);this.updateSize(),this.floorIndex=o.floorIndex,this.five.model.show(this.floorIndex);const u=o.modelOpacity,d=o.immediately?0:Za;Ut(this.five,u,d),this.render(d)});return this.showPromise=s().then(()=>{this.hooks.emit("showAnimationEnded",{auto:o.isAutoShow,userAction:o.userAction})}).catch(a=>{if(this.updateState({visible:!1},o.userAction),!o.isAutoShow&&a instanceof Error)throw a}).finally(()=>{this.showPromise=void 0,this.showRejection=void 0}),this.showPromise}));m(this,"_hide",e=>{var s;(s=this.showRejection)==null||s.call(this,We.BreakOffByHide),this.showPromise=void 0;const o=Q(Q({},{userAction:!0,isAutoHide:!1}),e);Ut(this.five,1,0),this.hooks.emit("hide",{auto:o.isAutoHide,userAction:o.userAction}),this.render()});m(this,"handleClick",()=>{if(!this.state.visible)return;if(this.hooks.emit("click"))return!1});m(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});m(this,"onFiveModeChange",e=>{e!==this.showState.mode&&(this.updateState({visible:!1},!1),this._hide({userAction:!1}))});m(this,"onFiveInteriaPan",(e,n)=>{if(!n||this.state.config.autoShowEnable===!1||this.isHiddenByHideFunc)return;const o=this.five.getCurrentState();o.mode==="Floorplan"&&(this.state.visible||wh(o)&&(this.updateState({visible:!0},!0),this._show({isAutoShow:!0})))});m(this,"onFivePanoArrived",e=>{var n;!((n=this.five)!=null&&n.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});m(this,"onFiveCameraUpdate",(e,n)=>{if(!this.state.visible||this.showPromise)return;const o=this.five.getCurrentState();yh(o)&&(this.updateState({visible:!1},n),this._hide({userAction:n,isAutoHide:!0}))});m(this,"onFiveWantsGesture",(e,n)=>{if(!!this.state.visible&&(n.length>1||e==="mouseWheel"))return!1});m(this,"onFiveWantsPanGesture",(e,n)=>{if(this.five.getCurrentState().mode==="Floorplan"&&this.state.config.autoShowEnable!==!1&&n&&this.state.visible)return this.five.updateCamera(this.showState,0),!1});m(this,"onFiveWantsTapGesture",()=>this.handleClick());m(this,"onFiveWantsChangeMode",(e,n)=>{n==="Panorama"&&e==="Floorplan"&&(this.lastPanoramaLongitude=this.five.getCurrentState().longitude)});m(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const n=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[n].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});n!=null&&n.selector&&(this.selector=n.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5")),this.showState={mode:"Floorplan",longitude:0,latitude:Math.PI/2,fov:bh/((a=n==null?void 0:n.scale)!=null?a:1)};const o={northDesc:"\u5317",modelOpacity:1,cameraEnable:!0,highlightEnable:!1,hoverEnable:!0,compassEnable:!0,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,roomAreaEnable:!0,roomNameEnable:!0,adaptiveRoomLabelVisibleEnable:!0,cameraImageUrl:bt,attachedTo:pt.BOUNDING_CENTER,getLabelElement:void 0,getRoomAreaText:l=>(l/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:l=>l.toString()},s=n?bi(n,["selector","scale"]):{},r=Q(Q({},o),s);this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}load(e,n,o=!0){return G(this,null,function*(){function s(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const a=JSON.parse(JSON.stringify(e)),l=s(a)?a.data:a,c=this.data;this.data=yield yt(l),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),n&&this.updateState(n,o),this.render()})}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}enable(e={}){if(this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||n),this._enable({userAction:n})}disable(e={}){if(!this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||n),this._disable({userAction:n})}setState(e,n={}){const o=this.state,s=n.userAction!==void 0?n.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&o.enabled!==e.enabled&&(e.enabled?this._enable({userAction:s}):this._disable({userAction:s})),e.visible!==void 0&&o.visible!==e.visible){const r={userAction:s};e.visible?this._show(r):this._hide(r)}this.render()}changeConfigs(e,n=!0){this.updateState({config:e},n),this.render()}formatData(e){return G(this,null,function*(){return yield yt(e.data)})}updateState(e,n){const o=this.state,s=e.config?Q(Q({},o.config),e.config):o.config;this.state=fe(Q(Q({},this.state),e),{config:s}),!nt(this.state,o,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:o,userAction:n})}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",zIndex:10,pointerEvents:"none"}),this.five.addExtraElement(this.container)}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("interiaPan",this.onFiveInteriaPan),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsGesture",this.onFiveWantsGesture),e.on("wantsPanGesture",this.onFiveWantsPanGesture),e.on("wantsTapGesture",this.onFiveWantsTapGesture),e.on("wantsChangeMode",this.onFiveWantsChangeMode),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modelLoaded",this.onFiveModelLoaded),e.off("modeChange",this.onFiveModeChange),e.off("interiaPan",this.onFiveInteriaPan),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsGesture",this.onFiveWantsGesture),e.off("wantsPanGesture",this.onFiveWantsPanGesture),e.off("wantsTapGesture",this.onFiveWantsTapGesture),e.off("wantsChangeMode",this.onFiveWantsChangeMode),e.off("modelShownFloorChange",this.onModelShownFloorChange)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const n=fe(Q({},this.state.config),{visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude,highlightData:this.highlightData});if(this.app)return this.app.$set(n);this.app=new go({target:this.container,intro:!0,props:n})}}const Ch=(i,t)=>new Eh(i,t);function Ph(i){const{latitude:t,longitude:e}=i,n=Math.abs(t-Math.PI/2)>5*Math.PI/180,o=e>5*(Math.PI/180)&&e<355*(Math.PI/180);return n||o}function Ih(i){const{latitude:t,longitude:e}=i,n=Math.abs(t-Math.PI/2)<10*Math.PI/180,o=e<30*(Math.PI/180)||e>330*(Math.PI/180);return n&&o}class kh extends zt{constructor(e,n){super(e);m(this,"name","modelFloorplanPlugin");m(this,"state");m(this,"data");m(this,"showState");m(this,"showPromise");m(this,"app");m(this,"panoIndex",0);m(this,"floorIndex",0);m(this,"selector");m(this,"showRejection");m(this,"wrapper");m(this,"container",document.createElement("div"));m(this,"lastPanoramaLongitude",0);m(this,"size",{width:0,height:0});m(this,"hasAddedEventListener",!1);m(this,"isHiddenByHideFunc",!1);m(this,"highlightData",{});m(this,"dispose",()=>{var e,n;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(n=this.container)==null||n.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});m(this,"show",(...n)=>G(this,[...n],function*(e={}){if(!this.state.enabled||!this.showPromise&&this.state.visible)return;const o=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},o),this._show(e)}));m(this,"hide",(...n)=>G(this,[...n],function*(e={}){!this.state.enabled||(this.isHiddenByHideFunc=!0,this.state.visible!==!1&&(this.updateState({visible:!1},e.userAction||!0),this._hide(e)))}));m(this,"updateSize",()=>{if(!this.data||!bo(this.five,this.showState)||!this.container||!this.wrapper)return;const{min:e,max:n}=this.data.bounding,o=n.x-e.x,s=n.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,a=vo(this.five,this.wrapper,this.floorIndex,r),l=Math.ceil(o*a),c=Math.ceil(s*a);this.size.width===l&&this.size.height===c||(this.container.style.width=l+"px",this.container.style.height=c+"px",this.size={width:l,height:c})});m(this,"highlight",e=>{!this.state.config.highlightEnable||(this.highlightData=e,this.render())});m(this,"unhighlight",()=>{this.highlightData={},this.render()});m(this,"_disable",e=>{var o,s,r;const{userAction:n}=e;this.hooks.emit("disable",{userAction:n}),(o=this.showRejection)==null||o.call(this,We.BreakOffByDisable),this.showPromise=void 0,(s=this.app)==null||s.$destroy(),this.app=void 0,(r=this.container)==null||r.remove(),this.removeEventListener()});m(this,"_enable",e=>{const{userAction:n}=e;this.addEventListener(),this.wrapper&&(this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:n}),this.state.visible&&this._show({userAction:n}))});m(this,"_show",e=>G(this,null,function*(){var r;if(!this.state.enabled)return;if(!((r=this.five.model)!=null&&r.loaded))throw new Error(We.ModelNotLoaded);if(!this.data)throw new Error(We.DataNotLoaded);this.isHiddenByHideFunc=!1;const n={floorIndex:this.floorIndex,modelOpacity:this.state.config.modelOpacity,immediately:!1,isAutoShow:!1,userAction:!0},o=Q(Q({},n),e),s=()=>G(this,null,function*(){this.hooks.emit("show",{userAction:o.userAction,auto:o.isAutoShow});let a=!1,l;this.showRejection=h=>{a=!0,l=h};const[c]=yield li($a(this.five,this.showState,o.userAction));if(c)throw c;if(a)throw l?new Error(l):new Error(We.UnknownError);this.updateSize(),this.updatePosition(),this.floorIndex=o.floorIndex,this.five.model.show(this.floorIndex);const u=o.modelOpacity,d=o.immediately?0:Za;Ut(this.five,u,d),this.render(d)});return this.showPromise=s().then(()=>{this.hooks.emit("showAnimationEnded",{auto:o.isAutoShow,userAction:o.userAction})}).catch(a=>{if(this.updateState({visible:!1},o.userAction),!o.isAutoShow&&a instanceof Error)throw a}).finally(()=>{this.showPromise=void 0,this.showRejection=void 0}),this.showPromise}));m(this,"_hide",e=>{var s;(s=this.showRejection)==null||s.call(this,We.BreakOffByHide),this.showPromise=void 0;const o=Q(Q({},{userAction:!0,isAutoHide:!1}),e);Ut(this.five,1,0),this.hooks.emit("hide",{auto:o.isAutoHide,userAction:o.userAction}),this.render()});m(this,"handleClick",()=>{if(!this.state.visible)return;if(this.hooks.emit("click"))return!1});m(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});m(this,"onFiveModeChange",e=>{e!==this.showState.mode&&(this.updateState({visible:!1},!1),this._hide({userAction:!1}))});m(this,"onFivePanoArrived",e=>{var n;!((n=this.five)!=null&&n.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});m(this,"onFiveCameraUpdate",(e,n)=>{if(!this.state.visible||this.showPromise)return;const o=this.five.getCurrentState();this.updatePosition(),this.updateSize(),Ph(o)&&(this.updateState({visible:!1},n),this._hide({userAction:n}))});m(this,"onFiveWantsPanGesture",(e,n)=>{if(this.five.getCurrentState().mode===this.showState.mode&&this.state.config.autoShowEnable!==!1){if(n&&this.state.visible)return this.five.updateCamera(this.showState,0),!1;if(n&&!this.state.visible){if(this.isHiddenByHideFunc)return;const o=this.five.getCurrentState();return o.mode!==this.showState.mode||this.state.visible?void 0:(Ih(o)&&(this.updateState({visible:!0},!0),this._show({isAutoShow:!0})),!1)}}});m(this,"onFiveWantsTapGesture",()=>this.handleClick());m(this,"onFiveWantsChangeMode",(e,n)=>{n==="Panorama"&&e===this.showState.mode&&(this.lastPanoramaLongitude=this.five.getCurrentState().longitude)});m(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const n=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[n].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});n!=null&&n.selector&&(this.selector=n.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5")),this.showState={mode:"Mapview",longitude:0,latitude:Math.PI/2,fov:90};const o={northDesc:"\u5317",modelOpacity:1,cameraEnable:!0,highlightEnable:!1,hoverEnable:!0,compassEnable:!0,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,roomAreaEnable:!0,roomNameEnable:!0,cameraImageUrl:bt,attachedTo:pt.BOUNDING_CENTER,getLabelElement:void 0,adaptiveRoomLabelVisibleEnable:!0,getRoomAreaText:a=>(a/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:a=>a.toString()},s=n?bi(n,["selector","scale"]):{},r=Q(Q({},o),s);this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}load(e,n,o=!0){return G(this,null,function*(){function s(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const a=JSON.parse(JSON.stringify(e)),l=s(a)?a.data:a,c=this.data;this.data=yield yt(l),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),n&&this.updateState(n,o),this.render()})}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}enable(e={}){if(this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||n),this._enable({userAction:n})}disable(e={}){if(!this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||n),this._disable({userAction:n})}setState(e,n={}){const o=this.state,s=n.userAction!==void 0?n.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&o.enabled!==e.enabled&&(e.enabled?this._enable({userAction:s}):this._disable({userAction:s})),e.visible!==void 0&&o.visible!==e.visible){const r={userAction:s};e.visible?this._show(r):this._hide(r)}}changeConfigs(e,n=!0){this.updateState({config:e},n),this.render()}updatePosition(){var a;const e=Ao(this.five,this.floorIndex,this.state.config.attachedTo),n=(a=this.five.model)==null?void 0:a.bounding.getCenter(new I.Vector3).setY(e);if(!n)return;const o=n.clone().project(this.five.camera),s=(o.x+1)/2,r=-(o.y-1)/2;this.container.style.left=s*100+"%",this.container.style.top=r*100+"%"}formatData(e){return G(this,null,function*(){return yield yt(e.data)})}updateState(e,n){const o=this.state,s=e.config?Q(Q({},o.config),e.config):o.config;this.state=fe(Q(Q({},this.state),e),{config:s}),!nt(this.state,o,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:o,userAction:n})}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",zIndex:10,pointerEvents:"none"}),this.five.addExtraElement(this.container)}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsPanGesture",this.onFiveWantsPanGesture),e.on("wantsTapGesture",this.onFiveWantsTapGesture),e.on("wantsChangeMode",this.onFiveWantsChangeMode),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modelLoaded",this.onFiveModelLoaded),e.off("modeChange",this.onFiveModeChange),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsPanGesture",this.onFiveWantsPanGesture),e.off("wantsTapGesture",this.onFiveWantsTapGesture),e.off("wantsChangeMode",this.onFiveWantsChangeMode),e.off("modelShownFloorChange",this.onModelShownFloorChange)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const n=fe(Q({},this.state.config),{visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude,highlightData:this.highlightData});if(this.app)return this.app.$set(n);this.app=new go({target:this.container,intro:!0,props:n})}}const xh=(i,t)=>new kh(i,t);class Dh extends zt{constructor(e,n){super(e);m(this,"name","topviewFloorplanPlugin");m(this,"state");m(this,"data");m(this,"app");m(this,"selector");m(this,"panoIndex",0);m(this,"floorIndex",0);m(this,"wrapper");m(this,"container",document.createElement("div"));m(this,"lastPanoramaLongitude",0);m(this,"size",{width:0,height:0});m(this,"hasAddedEventListener",!1);m(this,"isHiddenByHideFunc",!1);m(this,"highlightData",{});m(this,"updateSize",()=>{if(!this.data||!this.container||!this.wrapper||this.five.getCurrentState().mode!=="Topview")return;const{min:e,max:n}=this.data.bounding,o=n.x-e.x,s=n.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,a=vo(this.five,this.wrapper,this.floorIndex,r),l=Math.ceil(o*a),c=Math.ceil(s*a);this.size.width===l&&this.size.height===c||(this.container.style.width=l+"px",this.container.style.height=c+"px",this.size={width:l,height:c})});m(this,"dispose",()=>{var e,n;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(n=this.container)==null||n.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});m(this,"highlight",e=>{!this.state.config.highlightEnable||(this.highlightData=e,this.render())});m(this,"unhighlight",()=>{this.highlightData={},this.render()});m(this,"_disable",e=>{var o,s;const{userAction:n}=e;(o=this.app)==null||o.$destroy(),this.app=void 0,(s=this.container)==null||s.remove(),this.removeEventListener(),this.hooks.emit("disable",{userAction:n})});m(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});m(this,"onFiveModeChange",(...[e,,,,n])=>{e!=="Topview"&&this.state.visible&&(this.updateState({visible:!1},n),this._hide({userAction:n}))});m(this,"onFivePanoArrived",e=>{var n;!((n=this.five)!=null&&n.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});m(this,"onFiveCameraUpdate",(e,n)=>{!this.state.visible||(this.updatePosition(),this.updateSize())});m(this,"onFiveWantsGesture",e=>{if(!(e!=="pan"&&e!=="pinch"&&e!=="mouseWheel")&&this.state.visible&&!this.state.config.gestureEnable)return!1});m(this,"onFiveWantsMoveToPano",()=>{if(this.state.visible&&this.state.config.preventRoomClick)return!1});m(this,"onFiveInitAnimationEnded",(...[,,e])=>{const{mode:n}=this.five.getCurrentState();n==="Topview"&&!this.isHiddenByHideFunc&&!this.state.visible&&this.state.config.autoShowEnable&&(this.updateState({visible:!0},e),this._show({userAction:e}))});m(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const n=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[n].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});n!=null&&n.selector&&(this.selector=n.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5"));const o={northDesc:"\u5317",modelOpacity:1,cameraEnable:!0,hoverEnable:!0,highlightEnable:!1,compassEnable:!0,gestureEnable:!1,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,roomAreaEnable:!0,roomNameEnable:!0,cameraImageUrl:bt,attachedTo:pt.BOUNDING_CENTER,getLabelElement:void 0,adaptiveRoomLabelVisibleEnable:!0,getRoomAreaText:a=>(a/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:a=>a.toString()},s=n?bi(n,["selector","scale"]):{},r=Q(Q({},o),s);this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}load(e,n,o=!0){return G(this,null,function*(){function s(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const a=JSON.parse(JSON.stringify(e)),l=s(a)?a.data:a,c=this.data;this.data=yield yt(l),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),n&&this.updateState(n,o),this.render()})}updatePosition(){var a;const e=Ao(this.five,this.floorIndex,this.state.config.attachedTo),n=(a=this.five.model)==null?void 0:a.bounding.getCenter(new I.Vector3).setY(e);if(!n)return;const o=n.clone().project(this.five.camera),s=(o.x+1)/2,r=-(o.y-1)/2;this.container.style.left=s*100+"%",this.container.style.top=r*100+"%"}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}show(){return G(this,arguments,function*(e={}){if(this.state.visible)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},n),this._show({userAction:n})})}hide(){return G(this,arguments,function*(e={}){if(this.isHiddenByHideFunc=!0,!this.state.visible)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!1},n),this._hide({userAction:n})})}enable(e={}){if(this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||n),this._enable({userAction:n})}disable(e={}){if(!this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||n),this._disable({userAction:n})}setState(e,n={}){const o=this.state,s=n.userAction!==void 0?n.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&o.enabled!==e.enabled){const r={userAction:s};e.enabled?this._enable(r):this._disable(r)}if(e.visible!==void 0&&o.visible!==e.visible){const r={userAction:s};e.visible?this._show(r):this._hide(r)}}changeConfigs(e,n=!0){this.updateState({config:e},n),this.render()}formatData(e){return G(this,null,function*(){return yield yt(e.data)})}_show(e){return G(this,null,function*(){if(!this.state.enabled)return;this.isHiddenByHideFunc=!1;const{userAction:n}=e;this.hooks.emit("show",{userAction:n,auto:!1}),this.five.getCurrentState().mode!=="Topview"&&(yield Ka(this.five,["Topview",void 0,void 0,n])),this.five.model.show(this.floorIndex),this.updatePosition(),this.updateSize();const o=500,s=this.state.config.modelOpacity;Ut(this.five,s,o),this.hooks.emit("showAnimationEnded",{userAction:n,auto:!1}),this.render()})}_hide(e){return G(this,null,function*(){if(!this.state.enabled)return;const{userAction:n}=e;this.hooks.emit("hide",{userAction:n,auto:!1});const o=1,s=0;Ut(this.five,o,s),this.render()})}_enable(e){const{userAction:n}=e;this.addEventListener(),this.wrapper&&this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:n}),this.state.visible&&this._show({userAction:n})}updateState(e,n){const o=this.state,s=e.config?Q(Q({},o.config),e.config):o.config;this.state=fe(Q(Q({},this.state),e),{config:s}),!nt(this.state,o,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:o,userAction:n})}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsGesture",this.onFiveWantsGesture),e.on("wantsMoveToPano",this.onFiveWantsMoveToPano),e.on("initAnimationEnded",this.onFiveInitAnimationEnded),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modeChange",this.onFiveModeChange),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsGesture",this.onFiveWantsGesture),e.off("wantsMoveToPano",this.onFiveWantsMoveToPano),e.off("initAnimationEnded",this.onFiveInitAnimationEnded),e.off("modelShownFloorChange",this.onModelShownFloorChange)}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate3d(-50%, -50%, 10px)",zIndex:10,pointerEvents:"none","will-change":"width, height"}),this.five.addExtraElement(this.container)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const n=fe(Q({},this.state.config),{visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude,highlightData:this.highlightData});if(this.app)return this.app.$set(n);this.app=new go({target:this.container,intro:!0,props:n})}}const Lh=(i,t)=>new Dh(i,t);function yo(i,t=200){let e;return function(...n){e||(i(...n),e=setTimeout(function(){e=null},t))}}function Sh(i){le(i,"svelte-1nqrlxd",".plugin-radar__camera-wrapper.svelte-1nqrlxd{width:100%;height:100%;position:absolute;pointer-events:none}.plugin-radar__camera-position.svelte-1nqrlxd{position:absolute;left:0;top:0;width:0;height:0;transform:none;pointer-events:none;transition:transform 1s linear}.plugin-radar__camera-rotate.svelte-1nqrlxd{position:absolute;left:-0.9375rem;top:-0.9375rem;width:1.0625rem;height:1.0625rem;transform-origin:0.9375rem 0.9375rem;transform:rotate(45deg);background-repeat:no-repeat;background-size:100%}")}function Mh(i){let t,e,n;return{c(){t=z("div"),e=z("div"),n=z("div"),y(n,"class","plugin-radar__camera-rotate svelte-1nqrlxd"),T(n,"background-image","url("+(i[0]||bt)+")"),T(n,"transform",i[1]),y(e,"class","plugin-radar__camera-position svelte-1nqrlxd"),T(e,"transform",i[2]),y(t,"class","plugin-radar__camera-wrapper svelte-1nqrlxd")},m(o,s){M(o,t,s),V(t,e),V(e,n)},p(o,[s]){s&1&&T(n,"background-image","url("+(o[0]||bt)+")"),s&2&&T(n,"transform",o[1]),s&4&&T(e,"transform",o[2])},i:X,o:X,d(o){o&&S(t)}}}function Th(i){return`rotate(${Math.floor(i/Math.PI*180)*-1+45}deg)`}function zh(i,t,e){let n,o,{five:s}=t,{pxmm:r}=t,{floorplanData:a}=t,{cameraImageUrl:l}=t,c=s.getCurrentState().panoIndex,u=s.getCurrentState().longitude;function d(v,g){const p=v.bounding,A=v.observers[g];if(!A)return"";const b=(p.max.x-p.min.x)*r,w=(p.max.y-p.min.y)*r,E=Math.floor(A.positionInImage.x*b),L=Math.floor(A.positionInImage.y*w);return`translate(${E}px, ${L}px)`}function h(v){e(6,c=v)}const f=yo(v=>{e(7,u=v.longitude)},1e3/60);return Je(()=>(s.on("panoWillArrive",h),s.on("cameraDirectionUpdate",f),function(){s.off("panoWillArrive",h),s.off("cameraDirectionUpdate",f)})),i.$$set=v=>{"five"in v&&e(3,s=v.five),"pxmm"in v&&e(4,r=v.pxmm),"floorplanData"in v&&e(5,a=v.floorplanData),"cameraImageUrl"in v&&e(0,l=v.cameraImageUrl)},i.$$.update=()=>{i.$$.dirty&96&&e(2,n=d(a,c)),i.$$.dirty&128&&e(1,o=Th(u))},[l,o,n,s,r,a,c,u]}class Bh extends oe{constructor(t){super(),ie(this,t,zh,Mh,ne,{five:3,pxmm:4,floorplanData:5,cameraImageUrl:0},Sh)}}function Vh(i){le(i,"svelte-1i87fz7",".plugin-pano-floorplan__extra-objects.svelte-1i87fz7{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.plugin-pano-floorplan__extra-object-item--position.svelte-1i87fz7{position:absolute;width:0;height:0}.plugin-pano-floorplan__extra-object-item.svelte-1i87fz7{transform:translate(-50%, -50%)}")}function gs(i,t,e){const n=i.slice();return n[1]=t[e],n}function As(i,t){let e,n,o=`${t[1].icon.width/16}rem`,s=`${t[1].icon.height/16}rem`,r,a=`${t[1].positionInImage.y*100}%`,l=`${t[1].positionInImage.x*100}%`;return{key:i,first:null,c(){e=z("div"),n=z("div"),r=$(),y(n,"class","plugin-pano-floorplan__extra-object-item svelte-1i87fz7"),T(n,"background-image",`url(${t[1].icon.url})`),T(n,"width",o),T(n,"height",s),y(e,"class","plugin-pano-floorplan__extra-object-item--position svelte-1i87fz7"),T(e,"top",a),T(e,"left",l),this.first=e},m(c,u){M(c,e,u),V(e,n),V(e,r)},p(c,u){t=c,u&1&&T(n,"background-image",`url(${t[1].icon.url})`),u&1&&o!==(o=`${t[1].icon.width/16}rem`)&&T(n,"width",o),u&1&&s!==(s=`${t[1].icon.height/16}rem`)&&T(n,"height",s),u&1&&a!==(a=`${t[1].positionInImage.y*100}%`)&&T(e,"top",a),u&1&&l!==(l=`${t[1].positionInImage.x*100}%`)&&T(e,"left",l)},d(c){c&&S(e)}}}function jh(i){let t,e=[],n=new Map,o=i[0];const s=r=>r[1].id;for(let r=0;r<o.length;r+=1){let a=gs(i,o,r),l=s(a);n.set(l,e[r]=As(l,a))}return{c(){t=z("div");for(let r=0;r<e.length;r+=1)e[r].c();y(t,"class","plugin-pano-floorplan__extra-objects svelte-1i87fz7")},m(r,a){M(r,t,a);for(let l=0;l<e.length;l+=1)e[l].m(t,null)},p(r,[a]){a&1&&(o=r[0],e=Ze(e,a,s,1,r,o,n,t,fo,As,null,gs))},i:X,o:X,d(r){r&&S(t);for(let a=0;a<e.length;a+=1)e[a].d()}}}function Oh(i,t,e){let{extraObjects:n=[]}=t;return i.$$set=o=>{"extraObjects"in o&&e(0,n=o.extraObjects)},[n]}class Rh extends oe{constructor(t){super(),ie(this,t,Oh,jh,ne,{extraObjects:0},Vh)}}function vs(i){let t,e;const n=[{five:i[0],pxmm:i[1],floorIndex:i[2],floorplanData:i[4],onRoomHeightClick:i[6]}];let o={};for(let s=0;s<n.length;s+=1)o=Be(o,n[s]);return t=new Ja({props:o}),{c(){K(t.$$.fragment)},m(s,r){J(t,s,r),e=!0},p(s,r){const a=r&87?Qe(n,[{five:s[0],pxmm:s[1],floorIndex:s[2],floorplanData:s[4],onRoomHeightClick:s[6]}]):{};t.$set(a)},i(s){e||(C(t.$$.fragment,s),e=!0)},o(s){x(t.$$.fragment,s),e=!1},d(s){Z(t,s)}}}function Qh(i){let t,e,n,o,s,r;const a=[{floorIndex:i[2],floorplanData:i[4]}];let l={};for(let u=0;u<a.length;u+=1)l=Be(l,a[u]);t=new Ua({props:l}),n=new Rh({props:{extraObjects:i[5]}});let c=i[3]&&vs(i);return{c(){K(t.$$.fragment),e=$(),K(n.$$.fragment),o=$(),c&&c.c(),s=me()},m(u,d){J(t,u,d),M(u,e,d),J(n,u,d),M(u,o,d),c&&c.m(u,d),M(u,s,d),r=!0},p(u,[d]){const h=d&20?Qe(a,[{floorIndex:u[2],floorplanData:u[4]}]):{};t.$set(h);const f={};d&32&&(f.extraObjects=u[5]),n.$set(f),u[3]?c?(c.p(u,d),d&8&&C(c,1)):(c=vs(u),c.c(),C(c,1),c.m(s.parentNode,s)):c&&(se(),x(c,1,1,()=>{c=null}),re())},i(u){r||(C(t.$$.fragment,u),C(n.$$.fragment,u),C(c),r=!0)},o(u){x(t.$$.fragment,u),x(n.$$.fragment,u),x(c),r=!1},d(u){Z(t,u),u&&S(e),Z(n,u),u&&S(o),c&&c.d(u),u&&S(s)}}}function Fh(i,t,e){let n,{five:o}=t,{pxmm:s}=t,{floorIndex:r}=t,{hoverEnable:a}=t,{floorplanData:l}=t,{extraObjects:c=[]}=t;const u=void 0;return i.$$set=d=>{"five"in d&&e(0,o=d.five),"pxmm"in d&&e(1,s=d.pxmm),"floorIndex"in d&&e(2,r=d.floorIndex),"hoverEnable"in d&&e(3,a=d.hoverEnable),"floorplanData"in d&&e(4,l=d.floorplanData),"extraObjects"in d&&e(7,c=d.extraObjects)},i.$$.update=()=>{i.$$.dirty&132&&e(5,n=c==null?void 0:c.filter(d=>d.floorIndex===r))},[o,s,r,a,l,n,u,c]}class Hh extends oe{constructor(t){super(),ie(this,t,Fh,Qh,ne,{five:0,pxmm:1,floorIndex:2,hoverEnable:3,floorplanData:4,extraObjects:7})}}function Gh(i){le(i,"svelte-1mvqyqq",".plugin-floorplan-radar.svelte-1mvqyqq{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.plugin-floorplan-radar-container.svelte-1mvqyqq{position:relative}")}function bs(i){let t,e,n,o,s=i[6]!==0&&ys(i);return{c(){t=z("div"),s&&s.c(),y(t,"class","plugin-floorplan-radar svelte-1mvqyqq")},m(r,a){M(r,t,a),s&&s.m(t,null),e=!0,n||(o=[lt(an.call(null,t)),ge(t,"clientWidth",i[12]),ge(t,"clientHeight",i[13])],n=!0)},p(r,a){r[6]!==0?s?(s.p(r,a),a&64&&C(s,1)):(s=ys(r),s.c(),C(s,1),s.m(t,null)):s&&(se(),x(s,1,1,()=>{s=null}),re())},i(r){e||(C(s),e=!0)},o(r){x(s),e=!1},d(r){r&&S(t),s&&s.d(),n=!1,He(o)}}}function ys(i){let t,e,n,o,s=`${i[8]}px`,r=`${i[11]}px`,a;const l=[{five:i[0],pxmm:i[9],floorIndex:i[10],floorplanData:i[3],hoverEnable:i[2],extraObjects:i[5]}];let c={};for(let h=0;h<l.length;h+=1)c=Be(c,l[h]);e=new Hh({props:c});const u=[{pxmm:i[9],five:i[0],floorplanData:i[3],cameraImageUrl:i[4]}];let d={};for(let h=0;h<u.length;h+=1)d=Be(d,u[h]);return o=new Bh({props:d}),{c(){t=z("div"),K(e.$$.fragment),n=$(),K(o.$$.fragment),y(t,"class","plugin-floorplan-radar-container svelte-1mvqyqq"),T(t,"width",s),T(t,"height",r)},m(h,f){M(h,t,f),J(e,t,null),V(t,n),J(o,t,null),a=!0},p(h,f){const v=f&1581?Qe(l,[{five:h[0],pxmm:h[9],floorIndex:h[10],floorplanData:h[3],hoverEnable:h[2],extraObjects:h[5]}]):{};e.$set(v);const g=f&537?Qe(u,[{pxmm:h[9],five:h[0],floorplanData:h[3],cameraImageUrl:h[4]}]):{};o.$set(g),f&256&&s!==(s=`${h[8]}px`)&&T(t,"width",s),f&2048&&r!==(r=`${h[11]}px`)&&T(t,"height",r)},i(h){a||(C(e.$$.fragment,h),C(o.$$.fragment,h),a=!0)},o(h){x(e.$$.fragment,h),x(o.$$.fragment,h),a=!1},d(h){h&&S(t),Z(e),Z(o)}}}function Wh(i){let t,e,n=i[1]&&bs(i);return{c(){n&&n.c(),t=me()},m(o,s){n&&n.m(o,s),M(o,t,s),e=!0},p(o,[s]){o[1]?n?(n.p(o,s),s&2&&C(n,1)):(n=bs(o),n.c(),C(n,1),n.m(t.parentNode,t)):n&&(se(),x(n,1,1,()=>{n=null}),re())},i(o){e||(C(n),e=!0)},o(o){x(n),e=!1},d(o){n&&n.d(o),o&&S(t)}}}function _h(i,t,e){var b,w;let{five:n}=t,{visible:o}=t,{hoverEnable:s}=t,{floorplanData:r}=t,{cameraImageUrl:a}=t,{extraObjects:l=[]}=t,c=0,u=(w=(b=n.work.observers[n.getCurrentState().panoIndex])==null?void 0:b.floorIndex)!=null?w:0,d=0,h=0,f=0,v=0;function g(E){e(10,u=n.work.observers[E].floorIndex)}Je(()=>(n.on("panoArrived",g),()=>{n.off("panoArrived",g)}));const p=E=>{e(6,d=E.detail)},A=E=>{e(7,h=E.detail)};return i.$$set=E=>{"five"in E&&e(0,n=E.five),"visible"in E&&e(1,o=E.visible),"hoverEnable"in E&&e(2,s=E.hoverEnable),"floorplanData"in E&&e(3,r=E.floorplanData),"cameraImageUrl"in E&&e(4,a=E.cameraImageUrl),"extraObjects"in E&&e(5,l=E.extraObjects)},i.$$.update=()=>{if(i.$$.dirty&456){const E=Math.min(d,h),{max:L,min:P}=r.bounding,D=L.x-P.x,k=L.y-P.y,O=function(){return D>k?[E,E/D*k]:[E/k*D,E]}();e(8,f=O[0]),e(11,v=O[1]),e(9,c=f/D)}},[n,o,s,r,a,l,d,h,f,c,u,v,p,A]}class Nh extends oe{constructor(t){super(),ie(this,t,_h,Wh,ne,{five:0,visible:1,hoverEnable:2,floorplanData:3,cameraImageUrl:4,extraObjects:5},Gh)}}class Xh extends zt{constructor(e,n){super(e);m(this,"name","panoFloorplanRadarPlugin");m(this,"state");m(this,"data");m(this,"app");m(this,"wrapperSelector","");m(this,"wrapper",null);m(this,"disposed",!1);m(this,"extraObjects",[]);m(this,"dispose",()=>{var e;this.disposed=!0,(e=this.app)==null||e.$destroy(),this.wrapper=null,this.wrapperSelector="",this.hooks.emit("dispose")});m(this,"_disable",e=>{var o;const{userAction:n}=e;(o=this.app)==null||o.$destroy(),this.app=void 0,this.hooks.emit("disable",{userAction:n})});this.five=e;const o={hoverEnable:!1,cameraImageUrl:bt},s=n!=null&&n.configs?n.configs:{},r=Q(Q({},o),s);this.state={enabled:!0,visible:!0,config:r},n!=null&&n.wrapper&&console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5"),typeof(n==null?void 0:n.wrapper)=="string"?this.wrapperSelector=n.wrapper:(n==null?void 0:n.wrapper)instanceof Element&&(this.wrapper=n.wrapper),e.once("dispose",this.dispose)}load(e,n,o=!0){return G(this,null,function*(){function s(c){return Object.prototype.hasOwnProperty.apply(c,["version"])}const r=JSON.parse(JSON.stringify(e)),a=s(r)?r.data:r,l=this.data;this.data=yield yt(a),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,l),n&&this.updateState(n,o),this.render()})}show(){return G(this,arguments,function*(e={}){if(this.state.visible)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},n),this._show({userAction:n})})}hide(){return G(this,arguments,function*(e={}){if(!this.state.visible)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!1},n),this._hide({userAction:n})})}enable(e={}){if(this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||n),this._enable({userAction:n})}disable(e={}){if(!this.state.enabled)return;const n=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||n),this._disable({userAction:n})}setState(e,n={}){const o=this.state,s=n.userAction!==void 0?n.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&o.enabled!==e.enabled){const r={userAction:s};e.enabled?this._enable(r):this._disable(r)}if(e.visible!==void 0&&o.visible!==e.visible){const r={userAction:s};e.visible?this._show(r):this._hide(r)}}appendTo(e){this.wrapper=e,this.render()}changeConfigs(e,n=!0){this.setState({config:e},{userAction:n}),this.render()}setExtraObjectsWith3DPositions(e){!this.data||(this.extraObjects=Ah(e,this.five,this.data),this.render())}formatData(e){return G(this,null,function*(){return yield yt(e.data)})}_enable(e){const{userAction:n}=e;this.hooks.emit("enable",{userAction:n}),this.state.visible&&this._show({userAction:n})}_show(e){if(this.disposed||!this.state.enabled)return;const{userAction:n}=e;this.hooks.emit("show",{userAction:n}),this.render()}_hide(e){if(this.disposed||!this.state.enabled)return;const{userAction:n}=e;this.hooks.emit("hide",{userAction:n}),this.render()}updateState(e,n){const o=this.state;this.state=Q(Q({},this.state),e),!nt(this.state,o,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:o,userAction:n})}render(){if(this.disposed||!this.state.enabled)return;if(!this.wrapper&&this.wrapperSelector){const n=document.querySelector(this.wrapperSelector);this.wrapper=n}if(!this.data||!this.wrapper)return;const e=fe(Q({},this.state.config),{five:this.five,floorplanData:this.data,visible:this.state.visible,extraObjects:this.extraObjects});this.app?this.app.$set(e):this.app=new Nh({target:this.wrapper,props:e})}}const Yh=(i,t)=>new Xh(i,t),Uh=[{type:0,floorType:1,roomType:"100900000012",name:"\u5176\u4ED6"},{type:1,floorType:1,roomType:"100900000002",name:"\u5BA2\u5385"},{type:2,floorType:1,roomType:"100900000002",name:"\u9910\u5385"},{type:3,floorType:0,roomType:"100900000001",name:"\u5367\u5BA4"},{type:4,floorType:0,roomType:"100900000001",name:"\u4E66\u623F"},{type:5,floorType:3,roomType:"100900000004",name:"\u536B\u751F\u95F4"},{type:6,floorType:3,roomType:"100900000004",name:"\u6DCB\u6D74\u95F4"},{type:7,floorType:3,roomType:"100900000004",name:"\u6D17\u624B\u95F4"},{type:8,floorType:3,roomType:"100900000003",name:"\u53A8\u623F"},{type:9,floorType:1,roomType:"100900000003",name:"\u5F00\u653E\u53A8\u623F",onlySubArea:!0},{type:10,floorType:0,roomType:"100900000001",name:"\u591A\u529F\u80FD\u95F4"},{type:11,floorType:0,roomType:"100900000009",name:"\u4FDD\u59C6\u95F4"},{type:12,floorType:4,roomType:"100900000005",name:"\u9633\u53F0"},{type:13,floorType:4,roomType:"100900000006",name:"\u9732\u53F0"},{type:14,floorType:0,roomType:"100900000008",name:"\u50A8\u7269\u95F4"},{type:15,floorType:0,roomType:"100900000013",name:"\u8863\u5E3D\u95F4"},{type:16,floorType:0,roomType:"100900000011",name:"\u9601\u697C"},{type:17,floorType:2,roomType:"100900000007",name:"\u82B1\u56ED"},{type:18,floorType:5,roomType:"100900000010",name:"\u8F66\u5E93"},{type:19,floorType:1,roomType:"100900000012",name:"\u7535\u68AF"},{type:20,floorType:1,roomType:"100900000012",name:"\u5730\u4E0B\u5BA4"},{type:21,floorType:1,roomType:"100900000012",name:"\u5929\u4E95"},{type:22,floorType:1,roomType:"100900000012",name:"\u9633\u5149\u623F"},{type:23,floorType:1,roomType:"100900000012",name:"\u8FC7\u9053"},{type:24,floorType:1,roomType:"100900000012",name:"\u697C\u68AF\u95F4"},{type:25,floorType:1,roomType:"100900000012",name:"\u95E8\u5385"},{type:26,floorType:2,roomType:"100900000012",name:"\u5165\u6237\u82B1\u56ED"},{type:27,floorType:1,roomType:"100900000012",name:"\u7384\u5173"},{type:28,floorType:1,roomType:"100900000012",name:"\u6311\u7A7A"},{type:29,floorType:4,roomType:"100900000012",name:"\u667E\u6652\u533A"},{type:30,floorType:4,roomType:"100900000012",name:"\u6D17\u8863\u623F"},{type:31,floorType:0,roomType:"100900000012",name:"\u5A31\u4E50\u533A"},{type:32,floorType:0,roomType:"100900000012",name:"\u5065\u8EAB\u533A"},{type:33,floorType:0,roomType:"100900000012",name:"\u63A5\u5F85\u533A"},{type:34,floorType:0,roomType:"100900000012",name:"\u5F71\u97F3\u533A"},{type:35,floorType:1,roomType:"100900000012",name:"\u9910\u996E\u533A"},{type:36,floorType:1,roomType:"100900000012",name:"\u5176\u4ED6",onlySubArea:!0},{type:37,floorType:1,roomType:"100900000002",name:"\u8D77\u5C45\u5BA4"},{type:38,floorType:0,roomType:"100900000001",name:"\u4E3B\u5367"},{type:39,floorType:0,roomType:"100900000001",name:"\u6B21\u5367"},{type:40,floorType:0,roomType:"100900000001",name:"\u4F18\u5316\u95F4"},{type:41,floorType:0,roomType:"100900000001",name:"\u529E\u516C\u5BA4"},{type:42,floorType:0,roomType:"100900000001",name:"\u4F1A\u8BAE\u5BA4"},{type:43,floorType:0,roomType:"100900000001",name:"\u6D3D\u8C08\u95F4"},{type:44,floorType:1,roomType:"100900000002",name:"\u5171\u4EAB\u5927\u5385"},{type:45,floorType:1,roomType:"100900000012",name:"\u6C34\u5427"},{type:46,floorType:0,roomType:"100900000015",name:"\u51FA\u5165\u53E3"},{type:47,floorType:0,roomType:"100900000015",name:"\u5927\u5385"},{type:48,floorType:0,roomType:"100900000015",name:"\u5305\u53A2"},{type:49,floorType:0,roomType:"100900000015",name:"\u5176\u4ED6"},{type:50,floorType:0,roomType:"100900000016",name:"\u51FA\u5165\u53E3"},{type:51,floorType:0,roomType:"100900000016",name:"\u529E\u516C\u533A"},{type:52,floorType:0,roomType:"100900000016",name:"\u8001\u677F\u95F4"},{type:53,floorType:0,roomType:"100900000016",name:"\u4F1A\u8BAE\u5BA4"},{type:54,floorType:0,roomType:"100900000016",name:"\u4F11\u606F\u533A/\u6C34\u5427"},{type:55,floorType:0,roomType:"100900000016",name:"\u5176\u4ED6"},{type:56,floorType:2,roomType:"100900000012",name:"\u7A7A\u4E2D\u82B1\u56ED"},{type:57,floorType:0,roomType:"100900000001",name:"\u6D0B\u5BA4"},{type:58,floorType:0,roomType:"100900000001",name:"\u548C\u5BA4"}],qh=[{type:0,description:"\u6728\u8D28\u5730\u677F"},{type:1,description:"\u74F7\u7816\u5730\u9762"},{type:2,description:"\u6237\u5916\u5730\u9762"},{type:3,description:"\u536B\u751F\u95F4\u5730\u9762"},{type:4,description:"\u9633\u53F0\u5730\u9762"},{type:5,description:"\u8F66\u5E93\u5730\u9762"}],Jh=[{roomType:"100900000001",description:"\u5BA4"},{roomType:"100900000002",description:"\u5385"},{roomType:"100900000003",description:"\u53A8"},{roomType:"100900000004",description:"\u536B"},{roomType:"100900000005",description:"\u9633\u53F0"},{roomType:"100900000006",description:"\u9732\u53F0"},{roomType:"100900000007",description:"\u82B1\u56ED"},{roomType:"100900000008",description:"\u50A8"},{roomType:"100900000009",description:"\u4FDD\u59C6\u95F4"},{roomType:"100900000010",description:"\u8F66\u5E93"},{roomType:"100900000011",description:"\u9601\u697C"},{roomType:"100900000012",description:"\u5176\u4ED6"},{roomType:"100900000013",description:"\u8863"},{roomType:"100900000015",description:"\u5546\u94FA"},{roomType:"100900000016",description:"\u5199\u5B57\u697C"}],Bi=(i,t,e)=>{const n=new I.Matrix4,o=new I.Euler(i,t,e,"YXZ");return n.makeRotationFromEuler(o),n},Zh=(i,{scale:t,rotation:e,position:n})=>{if(t&&i.scale.set(t,t,t),e){const[o,s,r]=e;o&&i.applyMatrix4(Bi(o,0,0)),s&&i.applyMatrix4(Bi(0,s,0)),r&&i.applyMatrix4(Bi(0,0,r))}return n&&i.position.set(n.x,n.y,n.z),i};function el(i,t){i.traverse(e=>{var n;if(e.type==="Mesh"){const o=e,s=Q({map:o.material.map||{}},t);o.material=new j.MeshBasicMaterial(s),o.renderOrder=1,((n=e.parent)==null?void 0:n.type)==="Mesh"&&(e.renderOrder=e.parent.renderOrder+1)}})}const Kh=(i,t)=>{var u;const e=t.fbx_url||"//vrlab-static.ljcdn.com/release/web/v3/dipan3/dipan.FBX",n=(u=t.north_rad)!=null?u:void 0,o={},s=d=>G(exports,null,function*(){var H;const h=(d==null?void 0:d.fbx_url)||e,f=(H=d==null?void 0:d.north_rad)!=null?H:n;if(typeof f!="number")throw new Error('"northRad"\u914D\u7F6E\u53C2\u6570\u7F3A\u5931\uFF1A\u672A\u914D\u7F6E\u6307\u5357\u9488\u6307\u5411\uFF01');const v=i.model.bounding,g=v.max.x-v.min.x,p=v.max.z-v.min.z,A=Math.max(g,p),w=yield new pa.FBXLoader().loadAsync(h);el(w,{transparent:!0,side:I.DoubleSide,blending:I.AdditiveBlending});const E=[0,f-Math.PI/2,0],{model:{bounding:{max:{x:L,z:P},min:{x:D,y:k,z:O}}}}=i;o.yBase=k;const N={x:(L+D)/2,y:k-1.6,z:(P+O)/2},R=.0045*A;return Zh(w,{position:N,rotation:E,scale:R}),o.object=w,!0}),r=({latitude:d})=>{if(!o.object)return;const h=a(d);h&&(o.object.position.y=h)},a=d=>{if(o.yBase===void 0)return;const h=.6;if(d>=Math.PI/4)return o.yBase-(h+1.6);const f=d*(4/Math.PI);return o.yBase-(h*f+1.6)};return{load:s,disable:()=>{!o.object||(i.scene.remove(o.object),i.needsRender=!0,i.off("cameraDirectionUpdate",r))},enable:()=>{if(!o.object)return;const d=a(i.getPose().latitude);d&&(o.object.position.y=d),i.scene.add(o.object),i.needsRender=!0,i.on("cameraDirectionUpdate",r)}}};function $h(i,t){var c,u,d,h,f;const e=(c=t==null?void 0:t.size)!=null?c:512,n=(u=t==null?void 0:t.fontSize)!=null?u:e*(35/256)*1.2,o=(d=t==null?void 0:t.backgroundColor)!=null?d:"rgba(0,0,0,0)",s=(h=t==null?void 0:t.fontColor)!=null?h:"#fff",r=(f=t==null?void 0:t.textAlign)!=null?f:"center",a=document.createElement("canvas");a.setAttribute("width",e+""),a.setAttribute("height",e+"");const l=a.getContext("2d");return l.fillStyle=o,l.fillRect(0,0,e,e),l.font=`${n}px "\u5FAE\u8F6F\u96C5\u9ED1"`,l.textAlign=r,l.fillStyle=s,l.fillText(i,e/2,e*.7),new j.CanvasTexture(a)}const ef=({x:i,y:t,z:e})=>new j.Vector3(i,t,e),tf=(i,t)=>{var g,p,A;const e={},n=(g=t.animationEnabled)!=null?g:!0,o=(p=t.position)!=null?p:void 0,s=(A=t.rad)!=null?A:void 0,r=t.fbx_url||"//vrlab-image4.ljcdn.com/release/web/entryDoorMini/Anim_Door1.fbx",a=[],l=b=>G(exports,null,function*(){var N,R,H,B,F,_,Y,W;const w=(N=b==null?void 0:b.position)!=null?N:o;if(!w)return Promise.reject(new Error("ModelEntryDoorGuidePlugin.load(): position is undefined"));const E=ef(w),L=(R=b==null?void 0:b.rad)!=null?R:s,P=(H=b==null?void 0:b.fbx_url)!=null?H:r;if(e.rad=L,L===void 0)return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): rad is ${L}`));const D=yield new pa.FBXLoader().loadAsync(P);D.position.copy(E),D.rotation.z=L,D.scale.set(.8,.8,.8),el(D,{transparent:!0,side:I.DoubleSide});const k=(Y=(_=(F=(B=D.children)==null?void 0:B[0])==null?void 0:F.children)==null?void 0:_[3])==null?void 0:Y.clone();if(!k)return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): textMesh is ${k}`));const O=(W=t.name)!=null?W:"\u5165\u6237\u95E8";return k.material=new j.MeshBasicMaterial({transparent:!0,map:$h(O)}),k.renderOrder=3,D.children[0].add(k),e.object=D,!0}),c=()=>{if(e.animation)return;if(!e.object)return console.error("ModelEntryDoorGuidePlugin.initAnimation(): state.object is ",e.object);const b=1,w=new j.AnimationMixer(e.object);a.push(w);const E=w.clipAction(e.object.animations[0]);E.timeScale=b;let L;const P=()=>{let N=0,R=0;const H=1e3/30,B=F=>{N=requestAnimationFrame(B);const _=F-R;_<H||(R=F,a.forEach(Y=>Y.update(_/1e3)),i.needsRender=!0)};return N=requestAnimationFrame(B),()=>{cancelAnimationFrame(N)}},O={play:()=>{L||(E.play(),L=P(),requestAnimationFrame(()=>{e.object&&e.object.rotation.z!==e.rad&&(e.object.rotation.z=e.rad)}))},stop:()=>{E.stop(),L==null||L(),L=void 0}};e.animation=O},u=b=>{var E;if(!e.object)return console.error("ModelEntryDoorGuidePlugin.enable(): object is ",e.object);((E=b==null?void 0:b.animationEnable)!=null?E:n)&&(e.animation||c(),e.animation.play()),i.scene.add(e.object),i.needsRender=!0},d=()=>{!e.object||(e.animation&&e.animation.stop(),i.scene.remove(e.object),i.needsRender=!0)},h=b=>b==="Floorplan"?u():d();return{load:l,enable:b=>(e.enabled||(e.enabled=!0,h(i.currentMode),i.on("modeChange",h),u(b)),!0),disable:()=>(e.enabled&&(e.enabled=!1,d(),i.off("modeChange",h)),!0)}};class wo extends bn.default.Tween{constructor(){super(...arguments);m(this,"disposeMethods",[]);m(this,"animationFrameDisposer");m(this,"onDispose",e=>(this.disposeMethods.push(e),this));m(this,"play",()=>(this.start(0),this.animationFrameDisposer=xn(e=>this.update(e)),this));m(this,"dispose",()=>{var e;this.stop(),(e=this.animationFrameDisposer)==null||e.call(this),this.disposeMethods.forEach(n=>n()),this.disposeMethods=[],bn.default.remove(this)})}}function tl(i,t=bn.default.Easing.Linear.None){const e=new wo({progress:0}).to({progress:1});return i!==void 0&&e.duration(i),t!==void 0&&e.easing(t),e}const En=window.requestAnimationFrame||(i=>setTimeout(i,16)),nf=window.cancelAnimationFrame||clearTimeout;function yi(i,t=0){t<=0?En(i):En(()=>yi(i,t-1))}function xn(i,t=60){let e=-1,n=0,o=-1;const s=1e3/t;function r(a){o===-1&&(o=a),e=En(r),!(a-n<s)&&(n=a,i&&i(a-o))}return e=En(r),function(){nf(e)}}function of(){const i=Date.now();return new Promise(t=>{En(()=>{t(Date.now()-i)})})}const sf=fi.Easing;function rf(i,t,e,n=sf.Linear.None){const o=new fi.Tween(i).to(t,e).easing(n);yi(()=>o.start(0));const s=xn(a=>{o.update(a)===!1&&s()}),r=[];return o.onDestroy=a=>(r.push(a),o),o.destroy=function(){this.stop(),Object.assign(o,{_onStartCallback:null,_onUpdateCallback:null,_onCompleteCallback:null,_onStopCallbackL:null});let a;for(;a=r.shift();)a();s()},o}function af(i,t){return rf({progress:0},{progress:1},i,t)}var nl=(i=>(i.Move="Move",i.Rotate="Rotate",i))(nl||{}),tt=(i=>(i.Clockwise="Clockwise",i.Anticlockwise="Anticlockwise",i.Loop="Loop",i))(tt||{});const Zn=Math.PI*2;function ws(i){return(i%Zn+Zn)%Zn}function Es(i){return i%Zn}function Vi(i,t,e){return i+(t-i)*e}const to=(i,t,e)=>{const n=Math.PI,o=n*2;return i=ws(i),t=ws(t),e===tt.Anticlockwise&&i<t&&(i+=o),e===tt.Clockwise&&t<i&&(t+=o),e===tt.Loop&&t-i>n?to(i,t,tt.Anticlockwise):e===tt.Loop&&i-t>n?to(i,t,tt.Clockwise):{from:i,to:t}},lf=i=>{const t={},e=(l,c,...u)=>G(exports,[l,c,...u],function*(s,r,a={preload:!0}){return t.interruptCallback&&t.interruptCallback(!1),a.asyncStartCallback&&(yield a.asyncStartCallback()),s.mode&&s.mode!==i.currentMode&&(yield i.changeMode(s.mode)),a.preload&&s.panoIndex!==void 0&&s.panoIndex!==i.panoIndex&&(yield i.preloadPano(s.panoIndex)),a.asyncEndCallback&&(yield a.asyncEndCallback()),s.panoIndex===void 0&&s.fov===void 0&&s.latitude===void 0&&s.longitude===void 0?!0:yield new Promise((d,h)=>{const f=s.panoIndex!==void 0?s.panoIndex:i.panoIndex;f!==void 0?i.moveToPano(f,Object.assign({duration:r,moveEndCallback:()=>d(!0),moveCancelCallback:()=>h(!1)},s)):h(!1)})}),n=s=>{const r=i.state,a=Es(r.latitude),l=Es(s.latitude),{from:c,to:u}=to(r.longitude,s.longitude,s.rotation||tt.Loop),d=r.fov,h=s.fov;return{from:{latitude:a,longitude:c,fov:d},to:{latitude:l,longitude:u,fov:h}}};return{move:e,rotate:(l,c,...u)=>G(exports,[l,c,...u],function*(s,r,a={}){t.interruptCallback&&t.interruptCallback(!1),a.asyncStartCallback&&(yield a.asyncStartCallback()),i.currentMode!==Ee.Five.Mode.Panorama&&(yield i.changeMode(Ee.Five.Mode.Panorama)),s.panoIndex!==void 0&&s.panoIndex!==i.panoIndex&&(a.preload&&(yield i.preloadPano(s.panoIndex)),yield new Promise((f,v)=>{if(!s.panoIndex){f(!0);return}i.moveToPano(s.panoIndex,{moveEndCallback:()=>f(!0),moveCancelCallback:()=>v(!1)})})),a.asyncEndCallback&&(yield a.asyncEndCallback());const{from:d,to:h}=n(s);return yield new Promise(f=>{const v=({progress:w})=>{const E={};E.longitude=Vi(d.longitude,h.longitude,w),E.latitude=Vi(d.latitude,h.latitude,w),E.fov=Vi(d.fov,h.fov,w),i.setState(E,!0)},g=()=>{f(!0)},p=()=>{f(!1)},A=s.rotateSpeed?Math.ceil(Math.abs(h.longitude-d.longitude)/s.rotateSpeed*1e3):r,b=af(A,fi.Easing.Linear.None).onUpdate(v).onComplete(g).onDestroy(p);s.rotation===tt.Loop&&b.repeat(1/0).yoyo(!0),t.interruptCallback=(w=!0)=>{b.destroy(),t.interruptCallback=void 0,t.timeoutId&&(clearTimeout(t.timeoutId),t.timeoutId=void 0),f(w)},t.timeoutId=setTimeout(()=>{t.interruptCallback&&t.interruptCallback(!0)},r)})})}};function Cs(i,t){return i.x===t.x&&i.y===t.y}function il(i,t){return Math.abs(i)===1/0&&Math.abs(t)===1/0?!0:Math.abs(i-t)<.001}function di(i,t){return(t.y-i.y)/(t.x-i.x)}function ol(i,t,e){const n=di(i[1],i[0]),o=di(t[1],t[0]);if(isNaN(n)||isNaN(o)||il(n,o))return!1;if(Rn(i[0],t))return i[0];if(Rn(i[1],t))return i[1];if(Rn(t[0],i))return t[0];if(Rn(t[1],i))return t[1];if(e&&!cf(i,t))return!1;const s=i[0],r=t[0];if(Math.abs(n)===1/0)return{x:s.x,y:t[1].y-(t[1].x-s.x)*o};if(Math.abs(o)===1/0)return{x:r.x,y:i[1].y-(i[1].x-r.x)*n};const a=(r.y-s.y+n*s.x-o*r.x)/(n-o),l=n*a-n*s.x+s.y;return{x:a,y:l}}function Rn(i,t){return Cs(i,t[0])||Cs(i,t[1])?!0:(t[0].x-i.x)*(i.x-t[1].x)>=0&&(t[0].y-i.y)*(i.y-t[1].y)>=0&&il(di(t[0],i),di(i,t[1]))}function Qn(i,t,e){return(i.x-e.x)*(t.y-e.y)-(t.x-e.x)*(i.y-e.y)}function cf(i,t){return Math.max(i[0].x,i[1].x)>=Math.min(t[0].x,t[1].x)&&Math.max(t[0].x,t[1].x)>=Math.min(i[0].x,i[1].x)&&Math.max(i[0].y,i[1].y)>=Math.min(t[0].y,t[1].y)&&Qn(t[0],i[1],i[0])*Qn(i[1],t[1],i[0])>0&&Qn(i[0],t[1],t[0])*Qn(t[1],i[1],t[0])>0?1:0}function sl(i,t=0){t<=0?requestAnimationFrame(i):requestAnimationFrame(()=>sl(i,t-1))}const uf=`<style type="text/css">
|
|
116
116
|
.PanoRulerPlugin-rule-line {
|
|
117
117
|
position: absolute;
|
|
118
118
|
transform-origin: left center;
|
|
@@ -542,7 +542,7 @@ void main() {
|
|
|
542
542
|
float match = 1.0 - uv.x;
|
|
543
543
|
gl_FragColor = vec4(1.0,1.0,1.0,match);
|
|
544
544
|
}
|
|
545
|
-
`;function mg(){const i=new I.PlaneGeometry(.4,.4),t=dg,e=new I.TextureLoader().load(t);e.encoding=I.sRGBEncoding,e.minFilter=I.LinearFilter;const n=new I.MeshBasicMaterial({map:e,transparent:!0,depthTest:!1});return new I.Mesh(i,n)}function pg(){const i=new I.CurvePath;i.add(new I.LineCurve3(new I.Vector3(0,0,0),new I.Vector3(0,0,.1)));const t=new I.TubeGeometry(i,8,.003),e=new I.ShaderMaterial({vertexShader:hg,fragmentShader:fg,depthTest:!1,transparent:!0});return new I.Mesh(t,e)}function gg(){const i=new I.SphereGeometry(.01,20,20),t=new I.MeshBasicMaterial({color:10349931,depthTest:!1,transparent:!0,side:I.DoubleSide}),e=new I.Mesh(i,t);return e.position.set(0,0,.1),e}class Sl extends I.Object3D{constructor(){super();m(this,"planeMesh");m(this,"lineMesh");m(this,"ballMesh");this.planeMesh=mg(),this.lineMesh=pg(),this.ballMesh=gg(),this.add(this.planeMesh,this.lineMesh,this.ballMesh)}updateWithIntersect(e){if(!e.face)return;const n=new I.Vector3().addVectors(e.point,e.face.normal);this.position.copy(e.point),this.lookAt(n)}dispose(){var e;(e=this.planeMesh.material.map)==null||e.dispose()}}class Ml{constructor(t){m(this,"five");m(this,"contentElement",document.createElement("div"));m(this,"animeIns");m(this,"container");m(this,"css3DObject");m(this,"disposeCss3DObject");m(this,"state",{enabled:!1});this.five=t;const n=.4/2,s=Kt(t).create3DDomContainer([[-n,n,0],[-n,-n,0],[n,-n,0],[n,n,0]].map(r=>new I.Vector3().fromArray(r)));if(s){const{container:r,dispose:a,css3DObject:l}=s;this.container=r,this.css3DObject=l,this.disposeCss3DObject=a}this.contentElement.style.width="100%",this.contentElement.style.height="100%",this.contentElement.style.backgroundImage=`url(${dl})`,this.contentElement.style.backgroundSize="100%",this.contentElement.style.backgroundRepeat="no-repeat"}enable(){var t;this.state.enabled||(this.state.enabled=!0,(t=this.container)==null||t.appendChild(this.contentElement))}disable(){!this.state.enabled||(this.state.enabled=!1,this.contentElement.remove())}updateWithIntersect(t){if(!t.face||!this.css3DObject)return;const e=new I.Vector3().addVectors(t.point,t.face.normal);this.css3DObject.position.copy(t.point),this.css3DObject.lookAt(e),this.five.needsRender=!0}doAnimation(){var t;(t=this.animeIns)==null||t.dispose(),new wo({progress:0}).to({progress:[1,0]}).duration(500).easing(fi.Easing.Quadratic.InOut).onUpdate(({progress:e})=>{}).play()}dispose(){var t;(t=this.disposeCss3DObject)==null||t.call(this)}}class Ag{constructor(t,e){m(this,"five");m(this,"hooks",new Ee.Subscribe);m(this,"magnifier",null);m(this,"pointHelper",null);m(this,"pointDomHelper",null);m(this,"contentDom",document.createElement("div"));m(this,"state",{enabled:!1});m(this,"group",new I.Group);this.five=t,this.magnifier=(e==null?void 0:e.magnifier)===void 0?new Dl(t,{dragEnabled:!0}):null,this.pointHelper=(e==null?void 0:e.pointHelper)===void 0?new Sl:null,this.pointDomHelper=(e==null?void 0:e.pointDomHelper)===void 0?new Ml(t):null,this.group.name="five-point-selector",this.five.scene.add(this.group),this.contentDom.classList.add("five-point-selector-content"),this.contentDom.style.position="absolute",this.contentDom.style.top="0",this.contentDom.style.left="0",this.contentDom.style.width="100%",this.contentDom.style.height="100%",this.contentDom.style.pointerEvents="none"}enable(){var t,e;this.state.enabled||(this.state.enabled=!0,this.pointHelper&&this.group.add(this.pointHelper),(t=this.magnifier)==null||t.enable(),(e=this.pointDomHelper)==null||e.enable(),this.five.needsRender=!0,this.hooks.emit("enabled"))}disable(){var t,e;!this.state.enabled||(this.state.enabled=!1,this.pointHelper&&this.group.remove(this.pointHelper),(t=this.magnifier)==null||t.disable(),(e=this.pointDomHelper)==null||e.disable(),this.hooks.emit("disabled"))}dispose(){this.hooks.off(),this.disable(),this.magnifier=null,this.pointHelper=null,this.pointDomHelper=null}updateWithIntersect(t){var s;this.hooks.emit("pointChanged",{panoIndex:this.five.getCurrentState().panoIndex,position:t.point.toArray(),normal:(s=t.face)==null?void 0:s.normal.toArray()});const e=this.magnifier;e&&e.renderWithPoint(t.point);const n=this.pointHelper;n&&n.updateWithIntersect(t);const o=this.pointDomHelper;o&&o.updateWithIntersect(t),this.five.needsRender=!0}}const vg=Object.freeze(Object.defineProperty({__proto__:null,Interval:ro,Rectangle:rg,Magnifier:Dl,getCoordsFromClient:lg,getCoordsFromElement:Ll,getRaycasterFromFivePointer:cg,getIntersectFromRelativePosition:ug,PointHelper:Sl,PointDomHelper:Ml,FivePointSelector:Ag,isNil:Op,notNil:wt,BetterTween:wo,tweenProgress:tl,nextFrame:yi,requestAnimationFrameInterval:xn,getFrameTime:of},Symbol.toStringTag,{value:"Module"})),bg={globalConfig:{unfoldedConfig:{autoUnfold:{strategy:"MinimumDistance",distance:{max:5}}},tag3DConfig:{ratio:.0035}},contentTypeConfig:{"Any-Audio-plane":{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},Link:{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},VRLink:{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},PanoLink:{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},MediaPlane:{unfoldedConfig:{keep:"unfolded"},visibleConfig:{alwaysShowWhenMovePano:!0}},MediaModel:{unfoldedConfig:{keep:"unfolded"},visibleConfig:{keep:"visible",visibleFiveMode:["Panorama","Floorplan","Model","Mapview"],alwaysShowWhenMovePano:!0}}}};class yg extends kn{constructor(e){super(e);m(this,"tagCacheByPanoIndex",{})}getCache({panoIndex:e,id:n,key:o}){var c,u,d,h;const{five:s}=this,r=(c=s.panoIndex)!=null?c:e;if(r===void 0)throw new Error(`TagCacheController getCache(): fivePanoIndex is ${r}`);const a=`${(d=(u=s.work)==null?void 0:u.workCode)!=null?d:s.model.uuid}-${r}`;let l=this.tagCacheByPanoIndex[a];if(l||(l=new Map,this.tagCacheByPanoIndex[a]=l),n===void 0)return l;if(o===void 0){const f=l.get(n);return f||(l.set(n,{}),l.get(n))}return(h=l.get(n))==null?void 0:h[o]}clearCache(){this.tagCacheByPanoIndex={}}removeCache(){}}const wg=navigator.userAgent.toLowerCase().indexOf("micromessenger")!==-1&&navigator.userAgent.toLowerCase().indexOf("iphone")!==-1;function be(i,t){this._camera=i||null,this._domElement=t||document,this._raycaster=new I.Raycaster,this._selected=null,this._boundObjs={};var e=this;this._$onClick=function(){e._onClick.apply(e,arguments)},this._$onDblClick=function(){e._onDblClick.apply(e,arguments)},this._$onMouseMove=function(){e._onMouseMove.apply(e,arguments)},this._$onMouseDown=function(){e._onMouseDown.apply(e,arguments)},this._$onMouseUp=function(){e._onMouseUp.apply(e,arguments)},this._$onTouchMove=function(){e._onTouchMove.apply(e,arguments)},this._$onTouchStart=function(){e._onTouchStart.apply(e,arguments)},this._$onTouchEnd=function(){e._onTouchEnd.apply(e,arguments)},this._$onContextmenu=function(){e._onContextmenu.apply(e,arguments)},this._domElement.addEventListener("click",this._$onClick,!1),this._domElement.addEventListener("dblclick",this._$onDblClick,!1),this._domElement.addEventListener("mousemove",this._$onMouseMove,!1),this._domElement.addEventListener("mousedown",this._$onMouseDown,!1),this._domElement.addEventListener("mouseup",this._$onMouseUp,!1),this._domElement.addEventListener("touchmove",this._$onTouchMove,!1),this._domElement.addEventListener("touchstart",this._$onTouchStart,!1),this._domElement.addEventListener("touchend",this._$onTouchEnd,!1),this._domElement.addEventListener("contextmenu",this._$onContextmenu,!1)}be.prototype.destroy=function(){this._domElement.removeEventListener("click",this._$onClick,!1),this._domElement.removeEventListener("dblclick",this._$onDblClick,!1),this._domElement.removeEventListener("mousemove",this._$onMouseMove,!1),this._domElement.removeEventListener("mousedown",this._$onMouseDown,!1),this._domElement.removeEventListener("mouseup",this._$onMouseUp,!1),this._domElement.removeEventListener("touchmove",this._$onTouchMove,!1),this._domElement.removeEventListener("touchstart",this._$onTouchStart,!1),this._domElement.removeEventListener("touchend",this._$onTouchEnd,!1),this._domElement.removeEventListener("contextmenu",this._$onContextmenu,!1)};be.eventNames=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","contextmenu","touchstart","touchend"];be.prototype._getRelativeMouseXY=function(i){var t=i.target||i.srcElement;t.nodeType===3&&(t=t.parentNode);var e={x:0,y:0},n=t,o=getComputedStyle(n,null);e.y+=parseInt(o.getPropertyValue("padding-top"),10),e.x+=parseInt(o.getPropertyValue("padding-left"),10);do e.x+=n.offsetLeft,e.y+=n.offsetTop,o=getComputedStyle(n,null),e.x+=parseInt(o.getPropertyValue("border-left-width"),10),e.y+=parseInt(o.getPropertyValue("border-top-width"),10);while(n=n.offsetParent);var s={width:t===window?window.innerWidth:t.offsetWidth,height:t===window?window.innerHeight:t.offsetHeight};return{x:Number((i.pageX-e.x)/s.width)*2-1,y:-((i.pageY-e.y)/s.height)*2+1}};be.prototype._objectCtxInit=function(i){i._3xDomEvent={}};be.prototype._objectCtxDeinit=function(i){delete i._3xDomEvent};be.prototype._objectCtxIsInit=function(i){return!!i._3xDomEvent};be.prototype._objectCtxGet=function(i){return i._3xDomEvent};be.prototype.camera=function(i){return i&&(this._camera=i),this._camera};be.prototype.bind=function(i,t,e,n){console.assert(be.eventNames.indexOf(t)!==-1,"not available events:"+t),this._objectCtxIsInit(i)||this._objectCtxInit(i);var o=this._objectCtxGet(i);o[t+"Handlers"]||(o[t+"Handlers"]=[]),o[t+"Handlers"].push({callback:e,useCapture:n}),this._boundObjs[t]===void 0&&(this._boundObjs[t]=[]),this._boundObjs[t].push(i)};be.prototype.addEventListener=be.prototype.bind;be.prototype.unbind=function(i,t,e,n){console.assert(be.eventNames.indexOf(t)!==-1,"not available events:"+t),this._objectCtxIsInit(i)||this._objectCtxInit(i);var o=this._objectCtxGet(i);o[t+"Handlers"]||(o[t+"Handlers"]=[]);for(var s=o[t+"Handlers"],r=0;r<s.length;r++){var a=s[r];if(e==a.callback&&n==a.useCapture){s.splice(r,1);break}}var l=this._boundObjs[t].indexOf(i);this._boundObjs[t].splice(l,1)};be.prototype.removeEventListener=be.prototype.unbind;be.prototype._bound=function(i,t){var e=this._objectCtxGet(t);return e?!!e[i+"Handlers"]:!1};be.prototype._onMove=function(i,t,e,n){var o=this._boundObjs[i];if(!(o===void 0||o.length===0)){var s=new I.Vector2;s.set(t,e),this._raycaster.setFromCamera(s,this._camera);var r=this._raycaster.intersectObjects(o),a=this._selected;if(r.length>0){var l,c,u,d=r[0],h=d.object;this._selected=h,u=this._bound("mousemove",h),a!=h&&(l=this._bound("mouseover",h),c=a&&this._bound("mouseout",a))}else c=a&&this._bound("mouseout",a),this._selected=null;u&&this._notify("mousemove",h,n,d),l&&this._notify("mouseover",h,n,d),c&&this._notify("mouseout",a,n,d)}};be.prototype._onEvent=function(i,t,e,n){var o=this._boundObjs[i];if(!(o===void 0||o.length===0)){var s=new I.Vector2;s.set(t,e),this._raycaster.setFromCamera(s,this._camera);var r=this._raycaster.intersectObjects(o,!0);if(r.length!==0){for(var a=r[0],l=a.object,c=this._objectCtxGet(l),u=l.parent;typeof c=="undefined"&&u;)c=this._objectCtxGet(u),u=u.parent;!c||this._notify(i,l,n,a)}}};be.prototype._notify=function(i,t,e,n){var o=this._objectCtxGet(t),s=o?o[i+"Handlers"]:null;if(!o||!s||s.length===0){t.parent&&this._notify(i,t.parent,e,n);return}for(var s=o[i+"Handlers"],r=0;r<s.length;r++){var a=s[r],l=!0;a.callback({type:i,target:t,origDomEvent:e,intersect:n,stopPropagation:function(){l=!1}}),!!l&&a.useCapture===!1&&t.parent&&this._notify(i,t.parent,e,n)}};be.prototype._onMouseDown=function(i){return this._onMouseEvent("mousedown",i)};be.prototype._onMouseUp=function(i){return this._onMouseEvent("mouseup",i)};be.prototype._onMouseEvent=function(i,t){var e=this._getRelativeMouseXY(t);this._onEvent(i,e.x,e.y,t)};be.prototype._onMouseMove=function(i){var t=this._getRelativeMouseXY(i);this._onMove("mousemove",t.x,t.y,i),this._onMove("mouseover",t.x,t.y,i),this._onMove("mouseout",t.x,t.y,i)};be.prototype._onClick=function(i){this._onMouseEvent("click",i)};be.prototype._onDblClick=function(i){this._onMouseEvent("dblclick",i)};be.prototype._onContextmenu=function(i){this._onMouseEvent("contextmenu",i)};be.prototype._onTouchStart=function(i){return this._onTouchEvent("touchstart",i)};be.prototype._onTouchEnd=function(i){return this._onTouchEvent("touchend",i)};be.prototype._onTouchMove=function(i){if(i.touches.length==1){i.preventDefault();var t=Number(i.touches[0].pageX/window.innerWidth)*2-1,e=-(i.touches[0].pageY/window.innerHeight)*2+1;this._onMove("mousemove",t,e,i),this._onMove("mouseover",t,e,i),this._onMove("mouseout",t,e,i)}};be.prototype._onTouchEvent=function(i,t){var e=t.touches;if(e.length==0&&(e=t.changedTouches),e.length==1){t.preventDefault();var n=Number(e[0].pageX/window.innerWidth)*2-1,o=-(e[0].pageY/window.innerHeight)*2+1;this._onEvent(i,n,o,t)}};class Eg extends yg{constructor(e){super(e);m(this,"tags",[]);m(this,"config",bg);m(this,"mediaStore",po({currentMediaElement:null}));m(this,"css3DRenderPlugin");m(this,"store",{disposers:[],disposed:!1,resizeObserverDisposerAdding:!1,css3DRenderDisposer:new Map});m(this,"domEvents");m(this,"mouseInfo");m(this,"fiveWantMovePanoHandler",()=>{var e;if((e=this.mouseInfo)!=null&&e.isDown)return!1});const n=this.five.getElement();n&&(this.domEvents=new be(this.five.camera,n)),this.five.on("wantsMoveToPano",this.fiveWantMovePanoHandler),this.store.disposers.push(()=>{this.five.off("wantsMoveToPano",this.fiveWantMovePanoHandler)})}get isPanorama(){return this.five.currentMode==="Panorama"}getTagById(e){const n=this.tags.find(o=>o.id===e);if(!n){console.warn(`error: can not find tag id ${e} by getTagById()`);return}return n}pauseCurrentMedia(){this.mediaStore.set({currentMediaElement:null})}getTagConfig(e){var s,r;if(!e)return(s=this.config.globalConfig)!=null?s:{};const n={};this.config.contentTypeConfig&&Object.keys(this.config.contentTypeConfig).forEach(a=>{const l=a;if(n[l])return;const c=l.split("-");if(c.length===1){const[u]=c;e.contentType===u&&(n[l]=this.config.contentTypeConfig[l])}if(c.length===2){const[u="Any",d="Any"]=c;(e.stickType===u||u==="Any")&&(e.contentType===d||d==="Any")&&(n[l]=this.config.contentTypeConfig[l])}if(c.length===3){const[u="Any",d,h]=c;if(d==="Audio"&&e.contentType==="Audio"){const f=e;(f.stickType===u||u==="Any")&&f.data.appearance===h&&(n[l]=this.config.contentTypeConfig[l])}}});const o=ft.default({},this.config.globalConfig,...Object.values(n),e.config);return typeof o.unfoldedConfig=="object"&&(o.unfoldedConfig.disableFold&&(o.unfoldedConfig={keep:"unfolded"}),o.unfoldedConfig.disableUnfold&&(o.unfoldedConfig={keep:"folded"}),o.unfoldedConfig.keep&&(o.unfoldedConfig={keep:o.unfoldedConfig.keep})),typeof o.visibleConfig=="object"&&o.visibleConfig.keep&&(o.visibleConfig={keep:o.visibleConfig.keep,visibleFiveMode:(r=o.visibleConfig)==null?void 0:r.visibleFiveMode}),o}loadVideoFirstFrame(){wg&&this.hooks.emit("loadVideoFirstFrame")}updateTagConfig(e){e!=null&&e.force&&this.clearCache(),this.tags.forEach(n=>{const o=this.getTagConfig(n);n.mergedConfig=o})}can(e,n){const o=n,s=this.getTagConfig(o);if(!s||typeof s!="object")return!0;if(e==="show"||e==="hide"){if(!s.visibleConfig||typeof s.visibleConfig!="object")return!0;if(e==="show"&&s.visibleConfig.keep==="hidden"||e==="hide"&&(s.visibleConfig.keep==="visible"||s.visibleConfig.alwaysShowWhenMovePano))return!1}if(e==="fold"||e==="unfold"){if(!s.unfoldedConfig||typeof s.unfoldedConfig!="object")return!0;if(e==="fold"&&s.unfoldedConfig.keep==="unfolded"||e==="unfold"&&s.unfoldedConfig.keep==="folded")return!1}if(e==="renderByMesh")if(Jp(o)||je(o)){const r=o.data.mediaData;return r.length===1&&r[0].type==="Image"&&s.renderType==="Mesh"}else return!1;return!0}getAngle(e,n){var r,a,l;const o=(r=this.five.panoIndex)!=null?r:n;if(o===void 0)throw new Error(`getDistance(): fivePanoIndex is ${o}`);const s=this.getCache({panoIndex:n,id:e.id});if(s.angle!==void 0)return s.angle;{const c=(l=(a=this.five.work)==null?void 0:a.observers[o])==null?void 0:l.position;if(c===void 0)throw new Error(`getAngleRange(): observerPosition is ${c}`);const u=(()=>e.stickType==="3DPoint"?yn(e.normal):Fi(e.position))();if(!u)return;const d=hi(e.position);if(!d)return;const h=new I.Vector3().copy(c).sub(d),f=u.angleTo(h)*180/Math.PI;return s.angle=f,s.angle}}getDistance(e,n){var r,a,l;const o=(r=this.five.panoIndex)!=null?r:n;if(o===void 0)throw new Error(`getDistance(): fivePanoIndex is ${o}`);const s=this.getCache({panoIndex:n,id:e.id});if(s.distance!==void 0)return s.distance;{const c=(l=(a=this.five.work)==null?void 0:a.observers[o])==null?void 0:l.position;if(c===void 0)throw new Error(`getDistance(): observerPosition is ${c}`);const u=Zp(e);if(!u)return-1;const d=c.distanceTo(u);return s.distance=d,d}}getPositions(e){if(Up(e))return e.position;if(je(e))return e.data.mediaPosition;const n=e;return $p(this.five.camera.position,Ue(n.position),Ue(n.normal))}addObjectClickHandler(e,n,o){if(!n||!this.domEvents)return()=>{};const s=je(e)&&!e.mediaVisible||!e.state.visible||!this.state.visible;console.log({doNoting:s});const r=u=>{if(s){this.mouseInfo=void 0;return}const d=u.origDomEvent;this.mouseInfo={x:d.clientX,y:d.clientY,isDown:!0,mouseDownTimestamp:Date.now()}},a=u=>{if(s){this.mouseInfo=void 0;return}const d=u.origDomEvent;!this.mouseInfo||(this.mouseInfo.isDown&&this.mouseInfo.x===d.clientX&&this.mouseInfo.y===d.clientY&&Date.now()-this.mouseInfo.mouseDownTimestamp<400&&o(d),this.mouseInfo=void 0)},l=u=>{if(s){this.mouseInfo=void 0;return}const d=u.origDomEvent;this.mouseInfo={x:Math.floor(d.touches[0].clientX),y:Math.floor(d.touches[0].clientY),isDown:!0,mouseDownTimestamp:Date.now()}},c=u=>{if(s){this.mouseInfo=void 0;return}const d=u.origDomEvent;!this.mouseInfo||(this.mouseInfo.isDown&&this.mouseInfo.x===Math.floor(d.changedTouches[d.changedTouches.length-1].clientX)&&this.mouseInfo.y===Math.floor(d.changedTouches[d.changedTouches.length-1].clientY)&&Date.now()-this.mouseInfo.mouseDownTimestamp<400&&o(d),this.mouseInfo=void 0)};return this.domEvents.addEventListener(n,"mousedown",r,!1),this.domEvents.addEventListener(n,"mouseup",a,!1),this.domEvents.addEventListener(n,"touchstart",l,!1),this.domEvents.addEventListener(n,"touchend",c,!1),()=>{!this.domEvents||(this.mouseInfo=void 0,this.domEvents.removeEventListener(n,"mousedown",r),this.domEvents.removeEventListener(n,"mouseup",a),this.domEvents.removeEventListener(n,"touchstart",l),this.domEvents.removeEventListener(n,"touchend",c))}}getTagNormal(e){if(e.normal)return Ue(e.normal);if(e.stickType==="Plane")return Fi(e.position);if(e.stickType==="Model")return Fi(this.getPositions(e))}get filterPointTag(){return this.tags.filter(e=>e.stickType==="2DPoint"||e.stickType==="3DPoint").filter(e=>e.position)}get filter2DPointTag(){return this.tags.filter(e=>e.stickType==="2DPoint").filter(e=>e.position)}get filter3DPointTag(){return this.tags.filter(e=>e.stickType==="3DPoint").filter(e=>e.position)}get filterImagePlane(){return this.tags.filter(e=>e.contentType==="MediaPlane"&&e.stickType==="Plane"&&this.can("renderByMesh",e))}get filterMediaModel(){return this.tags.filter(e=>e.stickType==="Model"&&e.contentType==="MediaModel")}get filterModelTag(){return this.tags.filter(e=>e.stickType==="Model")}get filter3DTag(){return this.tags.filter(e=>e.stickType==="3DPoint"||e.stickType==="Plane"||e.stickType==="Model").filter(e=>!this.can("renderByMesh",e))}checkDisposed(){return this.store.disposed?(console.error("PanoTagPluginController has been disposed"),!0):!1}}class Cg extends Eg{constructor(e){super(e);m(this,"raycaster",new I.Raycaster)}getVisibleByPanoIndex(e,n){var r;const o=this.getCache({panoIndex:n,id:e.id}),s=(r=this.five.panoIndex)!=null?r:n;if(je(e))return!0;if(o.visible!==void 0)return o.visible;{const a=(()=>{var u,d,h;const l=(u=this.getTagConfig(e).visibleConfig)!=null?u:{},c=this.getDistance(e);if(typeof l=="function")return{value:l(this.five,{tag:e,distance:c}),reason:"config function result"};if(l.keep==="hidden")return{value:!1,reason:"config.keep is hidden"};if(l.keep==="visible")return{value:!0,reason:"config.keep is visible"};if(l.visiblePanoIndex!==void 0&&l.visiblePanoIndex!=="all"&&s!==void 0){if(Array.isArray(l.visiblePanoIndex)&&!l.visiblePanoIndex.includes(s))return{value:!1,reason:`current panoIndex is not included in visiblePano. currentPanoIndex: ${s}, visiblePanoIndex: ${l.visiblePanoIndex}`};if(l.visiblePanoIndex==="current"&&s!==((d=e.fiveState)==null?void 0:d.panoIndex))return{value:!1,reason:`current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${s}, tag.panoIndex: ${(h=e.fiveState)==null?void 0:h.panoIndex}`}}if(l.visibleDistance!==void 0&&l.visibleDistance!=="unLimited"&&dn(c,l.visibleDistance)===!1)return{value:!1,reason:`distance is not in visibleDistance. distance: ${c}, visibleDistance: ${l.visibleDistance}`};if(l.intersectRaycaster!==!1&&(typeof l.intersectRaycaster!="object"||l.intersectRaycaster.enabled!==!1)){if(s===void 0)return{value:!1,reason:`intersectRaycaster check failed: fivePanoIndex is ${s}`};const f=this.getRaycasterFromPanoIndex(e,s);if(!f)return{value:!1,reason:`intersectRaycaster check failed: raycaster is ${f}`};const v=this.getTagEnableByIntersect(e,f);if(v.value===!1)return v}if(l.angleRange&&qp(e)){const f=this.getAngle(e);if(dn(f,l.angleRange)===!1)return{value:!1,reason:`angle is not in angleRange. angle: ${f}, angleRange: ${l.angleRange}`}}return{value:!0,reason:"all check passed"}})();return o.visible=a.value,o.__debug_visible_reason__=a,o.visible}}getVisibleByFiveMode(e,n){var r;const o=(r=this.getTagConfig(e).visibleConfig)!=null?r:{};if(typeof o=="function")return n==="Panorama";const s=o==null?void 0:o.visibleFiveMode;return s?s.includes(n):n==="Panorama"}getVisibleByFloorIndex(e){var a;const n=e.fiveState;if(!n)return!0;const o=n.panoIndex,s=(a=this.five.work.observers[o])==null?void 0:a.floorIndex,r=this.five.model.shownFloor;return r===null||r===s}getCurrentVisibleState(e){var n;return(n=this.state.visible&&e.state.visible)!=null?n:!0}getVisible(e){const n=this.five.getCurrentState(),o=this.getVisibleByFiveMode(e,n.mode),s=je(e)?this.getVisibleByFloorIndex(e):!0,r=n.mode==="Panorama"?this.getVisibleByPanoIndex(e,n.panoIndex):!0;return o&&r&&s}getModelMedialVisibleByPanoIndex(e){if(!this.getCurrentVisibleState(e))return!1;const n=this.five.getCurrentState().panoIndex,o=this.getCache({panoIndex:n,id:e.id});if(o.modelMedialVisible!==void 0)return o.modelMedialVisible;const s=this.getRaycasterFromPanoIndex(e,n);if(!s)return!1;const r=this.getTagEnableByIntersect(e,s);return o.modelMedialVisible=r.value,o.__debug_visible_reason__=r,r.value!==!1}getUnfoldedByPanoIndex(e,n){if(!this.getVisibleByPanoIndex(e))return;const s=this.getCache({panoIndex:n,id:e.id});if(s.unfolded!==void 0)return s.unfolded;{const r=this.getTagConfig(e).unfoldedConfig;if(!r)return;const a=(()=>{const c=this.getDistance(e);if(typeof r=="function")return r(this.five,{tag:e,distance:c});if(r.keep==="folded")return!1;if(r.keep==="unfolded")return!0;if(r.unfoldDistance&&dn(c,r.unfoldDistance)===!1)return!1})();s.unfolded=a;const l=this.getUnfoldedByCamera(e);return l!==void 0?l:s.unfolded}}getUnfoldedByCamera(e){return this.getVisibleByPanoIndex(e)?(()=>{var a;const s=this.getDistance(e),r=this.getTagConfig(e).unfoldedConfig;if(!!r){if(typeof r=="function")return r(this.five,{tag:e,distance:s});if(r.keep==="folded")return!1;if(r.keep==="unfolded")return!0;if(r.autoUnfold===void 0||r.autoUnfold===!1||r.autoUnfold.enable===!1||!r.autoUnfold.strategy)return;if(r.autoUnfold.strategy==="ScreenPostion"){const l=this.getTagProject(e);if(l&&dn(l.x,r.autoUnfold.autoUnfoldProjectX)===!1)return!1}if(r.autoUnfold.strategy==="MinimumDistance"){const u=this.filterPointTag.filter(h=>this.getVisibleByPanoIndex(h)).filter(h=>{const f=this.getTagProject(h);if(!f)return!1;const{x:v,y:g,z:p}=f;return!(Math.abs(p)>1||Math.abs(v)>1||Math.abs(g)>1)}).map(h=>({tag:h,id:h.id,tagConfig:this.getTagConfig(h).unfoldedConfig})).filter(({tag:h,tagConfig:f})=>{var v,g;return!(typeof f!="object"||f.keep||f.autoUnfold===!1||((v=f.autoUnfold)==null?void 0:v.enable)===!1||((g=f.autoUnfold)==null?void 0:g.strategy)!=="MinimumDistance")}).map(h=>fe(Q({},h),{distance:this.getDistance(h.tag)})).filter(({distance:h,tagConfig:f})=>{var v,g;return!(h===void 0||typeof f!="object"||f.autoUnfold===!1||((v=f.autoUnfold)==null?void 0:v.enable)===!1||((g=f.autoUnfold)==null?void 0:g.strategy)!=="MinimumDistance"||f.autoUnfold.distance&&dn(h,f.autoUnfold.distance)===!1)}).sort((h,f)=>h.distance-f.distance).findIndex(h=>h.id===e.id);if(u===-1||u<=((a=r.autoUnfold.maxNumber)!=null?a:1)-1===!1)return!1}return!0}})():void 0}sort(e){return e.sort((n,o)=>{const s=this.getDistance(n),r=this.getDistance(o);return s===void 0||r===void 0?0:r-s})}setPointTagPosition(){const e=this.filterPointTag;e.length!==0&&e.forEach(n=>{var s;if(!((s=n.state)!=null&&s.visible)){n.pointTagStyle=null;return}const o=this.getTagProject(n);if(!o){n.pointTagStyle=null;return}n.pointTagStyle={leftPercent:(o.x+1)/2*100,topPercent:(-o.y+1)/2*100}})}setVisibleByPanoIndex(){this.tags.forEach(e=>{const n=this.getVisibleByPanoIndex(e);e.state&&(e.state.visible=n)})}setModelMedialVisible(){const e=this.five.getCurrentState().mode;this.tags.forEach(n=>{var s;if(!je(n))return;if(!((s=n.model)!=null&&s.object)){n.mediaVisible=!1;return}const o=e==="Panorama"?this.getModelMedialVisibleByPanoIndex(n):!0;n.mediaVisible=o})}setUnfoldedByPanoIndex(){this.tags.forEach(e=>{const n=this.getUnfoldedByPanoIndex(e);if(!!e.state&&(n!==void 0&&(e.state.unfolded=n),n&&!e.state.visible)){const o=this.getTagConfig(e);typeof o.unfoldedConfig=="object"&&o.unfoldedConfig.autoUnfoldWhenHide!==!1&&(e.state.unfolded=!1)}})}getTagProject(e){if(!this.getVisibleByPanoIndex(e))return;const o=hi(e.position);if(!o)return;const{x:s,y:r,z:a}=o.project(this.five.camera);if(!(a>1))return{x:s,y:r,z:a}}getTagEnableByIntersect(e,n){var u,d,h;const o=(u=this.getTagConfig(e).visibleConfig)!=null?u:{},s=this.getDistance(e),[r]=this.five.model.intersectRaycaster(n),a=(()=>{if(!je(e))return;const f=this.tags.filter(je).map(g=>{var p;return(p=g.model)==null?void 0:p.object}).filter(wt);return n.intersectObjects(f,!0)[0]})(),l=(()=>{var f;return typeof o=="object"&&typeof o.intersectRaycaster=="object"&&(f=o.intersectRaycaster.distanceAccuracy)!=null?f:.01})(),c=Math.min((d=r==null?void 0:r.distance)!=null?d:1/0,(h=a==null?void 0:a.distance)!=null?h:1/0);return c+l<s?{value:!1,reason:`intersectRaycaster check failed: distance is ${s}, intersection.distance is ${r==null?void 0:r.distance}, intersection.point is ${r==null?void 0:r.point.toArray()},
|
|
545
|
+
`;function mg(){const i=new I.PlaneGeometry(.4,.4),t=dg,e=new I.TextureLoader().load(t);e.encoding=I.sRGBEncoding,e.minFilter=I.LinearFilter;const n=new I.MeshBasicMaterial({map:e,transparent:!0,depthTest:!1});return new I.Mesh(i,n)}function pg(){const i=new I.CurvePath;i.add(new I.LineCurve3(new I.Vector3(0,0,0),new I.Vector3(0,0,.1)));const t=new I.TubeGeometry(i,8,.003),e=new I.ShaderMaterial({vertexShader:hg,fragmentShader:fg,depthTest:!1,transparent:!0});return new I.Mesh(t,e)}function gg(){const i=new I.SphereGeometry(.01,20,20),t=new I.MeshBasicMaterial({color:10349931,depthTest:!1,transparent:!0,side:I.DoubleSide}),e=new I.Mesh(i,t);return e.position.set(0,0,.1),e}class Sl extends I.Object3D{constructor(){super();m(this,"planeMesh");m(this,"lineMesh");m(this,"ballMesh");this.planeMesh=mg(),this.lineMesh=pg(),this.ballMesh=gg(),this.add(this.planeMesh,this.lineMesh,this.ballMesh)}updateWithIntersect(e){if(!e.face)return;const n=new I.Vector3().addVectors(e.point,e.face.normal);this.position.copy(e.point),this.lookAt(n)}dispose(){var e;(e=this.planeMesh.material.map)==null||e.dispose()}}class Ml{constructor(t){m(this,"five");m(this,"contentElement",document.createElement("div"));m(this,"animeIns");m(this,"container");m(this,"css3DObject");m(this,"disposeCss3DObject");m(this,"state",{enabled:!1});this.five=t;const n=.4/2,s=Kt(t).create3DDomContainer([[-n,n,0],[-n,-n,0],[n,-n,0],[n,n,0]].map(r=>new I.Vector3().fromArray(r)));if(s){const{container:r,dispose:a,css3DObject:l}=s;this.container=r,this.css3DObject=l,this.disposeCss3DObject=a}this.contentElement.style.width="100%",this.contentElement.style.height="100%",this.contentElement.style.backgroundImage=`url(${dl})`,this.contentElement.style.backgroundSize="100%",this.contentElement.style.backgroundRepeat="no-repeat"}enable(){var t;this.state.enabled||(this.state.enabled=!0,(t=this.container)==null||t.appendChild(this.contentElement))}disable(){!this.state.enabled||(this.state.enabled=!1,this.contentElement.remove())}updateWithIntersect(t){if(!t.face||!this.css3DObject)return;const e=new I.Vector3().addVectors(t.point,t.face.normal);this.css3DObject.position.copy(t.point),this.css3DObject.lookAt(e),this.five.needsRender=!0}doAnimation(){var t;(t=this.animeIns)==null||t.dispose(),new wo({progress:0}).to({progress:[1,0]}).duration(500).easing(fi.Easing.Quadratic.InOut).onUpdate(({progress:e})=>{}).play()}dispose(){var t;(t=this.disposeCss3DObject)==null||t.call(this)}}class Ag{constructor(t,e){m(this,"five");m(this,"hooks",new Ee.Subscribe);m(this,"magnifier",null);m(this,"pointHelper",null);m(this,"pointDomHelper",null);m(this,"contentDom",document.createElement("div"));m(this,"state",{enabled:!1});m(this,"group",new I.Group);this.five=t,this.magnifier=(e==null?void 0:e.magnifier)===void 0?new Dl(t,{dragEnabled:!0}):null,this.pointHelper=(e==null?void 0:e.pointHelper)===void 0?new Sl:null,this.pointDomHelper=(e==null?void 0:e.pointDomHelper)===void 0?new Ml(t):null,this.group.name="five-point-selector",this.five.scene.add(this.group),this.contentDom.classList.add("five-point-selector-content"),this.contentDom.style.position="absolute",this.contentDom.style.top="0",this.contentDom.style.left="0",this.contentDom.style.width="100%",this.contentDom.style.height="100%",this.contentDom.style.pointerEvents="none"}enable(){var t,e;this.state.enabled||(this.state.enabled=!0,this.pointHelper&&this.group.add(this.pointHelper),(t=this.magnifier)==null||t.enable(),(e=this.pointDomHelper)==null||e.enable(),this.five.needsRender=!0,this.hooks.emit("enabled"))}disable(){var t,e;!this.state.enabled||(this.state.enabled=!1,this.pointHelper&&this.group.remove(this.pointHelper),(t=this.magnifier)==null||t.disable(),(e=this.pointDomHelper)==null||e.disable(),this.hooks.emit("disabled"))}dispose(){this.hooks.off(),this.disable(),this.magnifier=null,this.pointHelper=null,this.pointDomHelper=null}updateWithIntersect(t){var s;this.hooks.emit("pointChanged",{panoIndex:this.five.getCurrentState().panoIndex,position:t.point.toArray(),normal:(s=t.face)==null?void 0:s.normal.toArray()});const e=this.magnifier;e&&e.renderWithPoint(t.point);const n=this.pointHelper;n&&n.updateWithIntersect(t);const o=this.pointDomHelper;o&&o.updateWithIntersect(t),this.five.needsRender=!0}}const vg=Object.freeze(Object.defineProperty({__proto__:null,Interval:ro,Rectangle:rg,Magnifier:Dl,getCoordsFromClient:lg,getCoordsFromElement:Ll,getRaycasterFromFivePointer:cg,getIntersectFromRelativePosition:ug,PointHelper:Sl,PointDomHelper:Ml,FivePointSelector:Ag,isNil:Op,notNil:wt,BetterTween:wo,tweenProgress:tl,nextFrame:yi,requestAnimationFrameInterval:xn,getFrameTime:of},Symbol.toStringTag,{value:"Module"})),bg={globalConfig:{unfoldedConfig:{autoUnfold:{strategy:"MinimumDistance",distance:{max:5}}},tag3DConfig:{ratio:.0035}},contentTypeConfig:{"Any-Audio-plane":{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},Link:{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},VRLink:{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},PanoLink:{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},MediaPlane:{unfoldedConfig:{keep:"unfolded"},visibleConfig:{alwaysShowWhenMovePano:!0}},MediaModel:{unfoldedConfig:{keep:"unfolded"},visibleConfig:{keep:"visible",visibleFiveMode:["Panorama","Floorplan","Model","Mapview"],alwaysShowWhenMovePano:!0}}}};class yg extends kn{constructor(e){super(e);m(this,"tagCacheByPanoIndex",{})}getCache({panoIndex:e,id:n,key:o}){var c,u,d,h;const{five:s}=this,r=(c=s.panoIndex)!=null?c:e;if(r===void 0)throw new Error(`TagCacheController getCache(): fivePanoIndex is ${r}`);const a=`${(d=(u=s.work)==null?void 0:u.workCode)!=null?d:s.model.uuid}-${r}`;let l=this.tagCacheByPanoIndex[a];if(l||(l=new Map,this.tagCacheByPanoIndex[a]=l),n===void 0)return l;if(o===void 0){const f=l.get(n);return f||(l.set(n,{}),l.get(n))}return(h=l.get(n))==null?void 0:h[o]}clearCache(){this.tagCacheByPanoIndex={}}removeCache(){}}const wg=navigator.userAgent.toLowerCase().indexOf("micromessenger")!==-1&&navigator.userAgent.toLowerCase().indexOf("iphone")!==-1;function be(i,t){this._camera=i||null,this._domElement=t||document,this._raycaster=new I.Raycaster,this._selected=null,this._boundObjs={};var e=this;this._$onClick=function(){e._onClick.apply(e,arguments)},this._$onDblClick=function(){e._onDblClick.apply(e,arguments)},this._$onMouseMove=function(){e._onMouseMove.apply(e,arguments)},this._$onMouseDown=function(){e._onMouseDown.apply(e,arguments)},this._$onMouseUp=function(){e._onMouseUp.apply(e,arguments)},this._$onTouchMove=function(){e._onTouchMove.apply(e,arguments)},this._$onTouchStart=function(){e._onTouchStart.apply(e,arguments)},this._$onTouchEnd=function(){e._onTouchEnd.apply(e,arguments)},this._$onContextmenu=function(){e._onContextmenu.apply(e,arguments)},this._domElement.addEventListener("click",this._$onClick,!1),this._domElement.addEventListener("dblclick",this._$onDblClick,!1),this._domElement.addEventListener("mousemove",this._$onMouseMove,!1),this._domElement.addEventListener("mousedown",this._$onMouseDown,!1),this._domElement.addEventListener("mouseup",this._$onMouseUp,!1),this._domElement.addEventListener("touchmove",this._$onTouchMove,!1),this._domElement.addEventListener("touchstart",this._$onTouchStart,!1),this._domElement.addEventListener("touchend",this._$onTouchEnd,!1),this._domElement.addEventListener("contextmenu",this._$onContextmenu,!1)}be.prototype.destroy=function(){this._domElement.removeEventListener("click",this._$onClick,!1),this._domElement.removeEventListener("dblclick",this._$onDblClick,!1),this._domElement.removeEventListener("mousemove",this._$onMouseMove,!1),this._domElement.removeEventListener("mousedown",this._$onMouseDown,!1),this._domElement.removeEventListener("mouseup",this._$onMouseUp,!1),this._domElement.removeEventListener("touchmove",this._$onTouchMove,!1),this._domElement.removeEventListener("touchstart",this._$onTouchStart,!1),this._domElement.removeEventListener("touchend",this._$onTouchEnd,!1),this._domElement.removeEventListener("contextmenu",this._$onContextmenu,!1)};be.eventNames=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","contextmenu","touchstart","touchend"];be.prototype._getRelativeMouseXY=function(i){var t=i.target||i.srcElement;t.nodeType===3&&(t=t.parentNode);var e={x:0,y:0},n=t,o=getComputedStyle(n,null);e.y+=parseInt(o.getPropertyValue("padding-top"),10),e.x+=parseInt(o.getPropertyValue("padding-left"),10);do e.x+=n.offsetLeft,e.y+=n.offsetTop,o=getComputedStyle(n,null),e.x+=parseInt(o.getPropertyValue("border-left-width"),10),e.y+=parseInt(o.getPropertyValue("border-top-width"),10);while(n=n.offsetParent);var s={width:t===window?window.innerWidth:t.offsetWidth,height:t===window?window.innerHeight:t.offsetHeight};return{x:Number((i.pageX-e.x)/s.width)*2-1,y:-((i.pageY-e.y)/s.height)*2+1}};be.prototype._objectCtxInit=function(i){i._3xDomEvent={}};be.prototype._objectCtxDeinit=function(i){delete i._3xDomEvent};be.prototype._objectCtxIsInit=function(i){return!!i._3xDomEvent};be.prototype._objectCtxGet=function(i){return i._3xDomEvent};be.prototype.camera=function(i){return i&&(this._camera=i),this._camera};be.prototype.bind=function(i,t,e,n){console.assert(be.eventNames.indexOf(t)!==-1,"not available events:"+t),this._objectCtxIsInit(i)||this._objectCtxInit(i);var o=this._objectCtxGet(i);o[t+"Handlers"]||(o[t+"Handlers"]=[]),o[t+"Handlers"].push({callback:e,useCapture:n}),this._boundObjs[t]===void 0&&(this._boundObjs[t]=[]),this._boundObjs[t].push(i)};be.prototype.addEventListener=be.prototype.bind;be.prototype.unbind=function(i,t,e,n){console.assert(be.eventNames.indexOf(t)!==-1,"not available events:"+t),this._objectCtxIsInit(i)||this._objectCtxInit(i);var o=this._objectCtxGet(i);o[t+"Handlers"]||(o[t+"Handlers"]=[]);for(var s=o[t+"Handlers"],r=0;r<s.length;r++){var a=s[r];if(e==a.callback&&n==a.useCapture){s.splice(r,1);break}}var l=this._boundObjs[t].indexOf(i);this._boundObjs[t].splice(l,1)};be.prototype.removeEventListener=be.prototype.unbind;be.prototype._bound=function(i,t){var e=this._objectCtxGet(t);return e?!!e[i+"Handlers"]:!1};be.prototype._onMove=function(i,t,e,n){var o=this._boundObjs[i];if(!(o===void 0||o.length===0)){var s=new I.Vector2;s.set(t,e),this._raycaster.setFromCamera(s,this._camera);var r=this._raycaster.intersectObjects(o),a=this._selected;if(r.length>0){var l,c,u,d=r[0],h=d.object;this._selected=h,u=this._bound("mousemove",h),a!=h&&(l=this._bound("mouseover",h),c=a&&this._bound("mouseout",a))}else c=a&&this._bound("mouseout",a),this._selected=null;u&&this._notify("mousemove",h,n,d),l&&this._notify("mouseover",h,n,d),c&&this._notify("mouseout",a,n,d)}};be.prototype._onEvent=function(i,t,e,n){var o=this._boundObjs[i];if(!(o===void 0||o.length===0)){var s=new I.Vector2;s.set(t,e),this._raycaster.setFromCamera(s,this._camera);var r=this._raycaster.intersectObjects(o,!0);if(r.length!==0){for(var a=r[0],l=a.object,c=this._objectCtxGet(l),u=l.parent;typeof c=="undefined"&&u;)c=this._objectCtxGet(u),u=u.parent;!c||this._notify(i,l,n,a)}}};be.prototype._notify=function(i,t,e,n){var o=this._objectCtxGet(t),s=o?o[i+"Handlers"]:null;if(!o||!s||s.length===0){t.parent&&this._notify(i,t.parent,e,n);return}for(var s=o[i+"Handlers"],r=0;r<s.length;r++){var a=s[r],l=!0;a.callback({type:i,target:t,origDomEvent:e,intersect:n,stopPropagation:function(){l=!1}}),!!l&&a.useCapture===!1&&t.parent&&this._notify(i,t.parent,e,n)}};be.prototype._onMouseDown=function(i){return this._onMouseEvent("mousedown",i)};be.prototype._onMouseUp=function(i){return this._onMouseEvent("mouseup",i)};be.prototype._onMouseEvent=function(i,t){var e=this._getRelativeMouseXY(t);this._onEvent(i,e.x,e.y,t)};be.prototype._onMouseMove=function(i){var t=this._getRelativeMouseXY(i);this._onMove("mousemove",t.x,t.y,i),this._onMove("mouseover",t.x,t.y,i),this._onMove("mouseout",t.x,t.y,i)};be.prototype._onClick=function(i){this._onMouseEvent("click",i)};be.prototype._onDblClick=function(i){this._onMouseEvent("dblclick",i)};be.prototype._onContextmenu=function(i){this._onMouseEvent("contextmenu",i)};be.prototype._onTouchStart=function(i){return this._onTouchEvent("touchstart",i)};be.prototype._onTouchEnd=function(i){return this._onTouchEvent("touchend",i)};be.prototype._onTouchMove=function(i){if(i.touches.length==1){i.preventDefault();var t=Number(i.touches[0].pageX/window.innerWidth)*2-1,e=-(i.touches[0].pageY/window.innerHeight)*2+1;this._onMove("mousemove",t,e,i),this._onMove("mouseover",t,e,i),this._onMove("mouseout",t,e,i)}};be.prototype._onTouchEvent=function(i,t){var e=t.touches;if(e.length==0&&(e=t.changedTouches),e.length==1){t.preventDefault();var n=Number(e[0].pageX/window.innerWidth)*2-1,o=-(e[0].pageY/window.innerHeight)*2+1;this._onEvent(i,n,o,t)}};class Eg extends yg{constructor(e){super(e);m(this,"tags",[]);m(this,"config",bg);m(this,"mediaStore",po({currentMediaElement:null}));m(this,"css3DRenderPlugin");m(this,"store",{disposers:[],disposed:!1,resizeObserverDisposerAdding:!1,css3DRenderDisposer:new Map});m(this,"domEvents");m(this,"mouseInfo");m(this,"fiveWantMovePanoHandler",()=>{var e;if((e=this.mouseInfo)!=null&&e.isDown)return!1});const n=this.five.getElement();n&&(this.domEvents=new be(this.five.camera,n)),this.five.on("wantsMoveToPano",this.fiveWantMovePanoHandler),this.store.disposers.push(()=>{this.five.off("wantsMoveToPano",this.fiveWantMovePanoHandler)})}get isPanorama(){return this.five.currentMode==="Panorama"}getTagById(e){const n=this.tags.find(o=>o.id===e);if(!n){console.warn(`error: can not find tag id ${e} by getTagById()`);return}return n}pauseCurrentMedia(){this.mediaStore.set({currentMediaElement:null})}getTagConfig(e){var s,r;if(!e)return(s=this.config.globalConfig)!=null?s:{};const n={};this.config.contentTypeConfig&&Object.keys(this.config.contentTypeConfig).forEach(a=>{const l=a;if(n[l])return;const c=l.split("-");if(c.length===1){const[u]=c;e.contentType===u&&(n[l]=this.config.contentTypeConfig[l])}if(c.length===2){const[u="Any",d="Any"]=c;(e.stickType===u||u==="Any")&&(e.contentType===d||d==="Any")&&(n[l]=this.config.contentTypeConfig[l])}if(c.length===3){const[u="Any",d,h]=c;if(d==="Audio"&&e.contentType==="Audio"){const f=e;(f.stickType===u||u==="Any")&&f.data.appearance===h&&(n[l]=this.config.contentTypeConfig[l])}}});const o=ft.default({},this.config.globalConfig,...Object.values(n),e.config);return typeof o.unfoldedConfig=="object"&&(o.unfoldedConfig.disableFold&&(o.unfoldedConfig={keep:"unfolded"}),o.unfoldedConfig.disableUnfold&&(o.unfoldedConfig={keep:"folded"}),o.unfoldedConfig.keep&&(o.unfoldedConfig={keep:o.unfoldedConfig.keep})),typeof o.visibleConfig=="object"&&o.visibleConfig.keep&&(o.visibleConfig={keep:o.visibleConfig.keep,visibleFiveMode:(r=o.visibleConfig)==null?void 0:r.visibleFiveMode}),o}loadVideoFirstFrame(){wg&&this.hooks.emit("loadVideoFirstFrame")}updateTagConfig(e){e!=null&&e.force&&this.clearCache(),this.tags.forEach(n=>{const o=this.getTagConfig(n);n.mergedConfig=o})}can(e,n){const o=n,s=this.getTagConfig(o);if(!s||typeof s!="object")return!0;if(e==="show"||e==="hide"){if(!s.visibleConfig||typeof s.visibleConfig!="object")return!0;if(e==="show"&&s.visibleConfig.keep==="hidden"||e==="hide"&&(s.visibleConfig.keep==="visible"||s.visibleConfig.alwaysShowWhenMovePano))return!1}if(e==="fold"||e==="unfold"){if(!s.unfoldedConfig||typeof s.unfoldedConfig!="object")return!0;if(e==="fold"&&s.unfoldedConfig.keep==="unfolded"||e==="unfold"&&s.unfoldedConfig.keep==="folded")return!1}if(e==="renderByMesh")if(Jp(o)||je(o)){const r=o.data.mediaData;return r.length===1&&r[0].type==="Image"&&s.renderType==="Mesh"}else return!1;return!0}getAngle(e,n){var r,a,l;const o=(r=this.five.panoIndex)!=null?r:n;if(o===void 0)throw new Error(`getDistance(): fivePanoIndex is ${o}`);const s=this.getCache({panoIndex:n,id:e.id});if(s.angle!==void 0)return s.angle;{const c=(l=(a=this.five.work)==null?void 0:a.observers[o])==null?void 0:l.position;if(c===void 0)throw new Error(`getAngleRange(): observerPosition is ${c}`);const u=(()=>e.stickType==="3DPoint"?yn(e.normal):Fi(e.position))();if(!u)return;const d=hi(e.position);if(!d)return;const h=new I.Vector3().copy(c).sub(d),f=u.angleTo(h)*180/Math.PI;return s.angle=f,s.angle}}getDistance(e,n){var r,a,l;const o=(r=this.five.panoIndex)!=null?r:n;if(o===void 0)throw new Error(`getDistance(): fivePanoIndex is ${o}`);const s=this.getCache({panoIndex:n,id:e.id});if(s.distance!==void 0)return s.distance;{const c=(l=(a=this.five.work)==null?void 0:a.observers[o])==null?void 0:l.position;if(c===void 0)throw new Error(`getDistance(): observerPosition is ${c}`);const u=Zp(e);if(!u)return-1;const d=c.distanceTo(u);return s.distance=d,d}}getPositions(e){if(Up(e))return e.position;if(je(e))return e.data.mediaPosition;const n=e;return $p(this.five.camera.position,Ue(n.position),Ue(n.normal))}addObjectClickHandler(e,n,o){if(!n||!this.domEvents)return()=>{};const s=()=>!(je(e)&&!e.mediaVisible||!e.state.visible||!this.state.visible),r=u=>{if(!s()){this.mouseInfo=void 0;return}const d=u.origDomEvent;this.mouseInfo={x:d.clientX,y:d.clientY,isDown:!0,mouseDownTimestamp:Date.now()}},a=u=>{if(!s()){this.mouseInfo=void 0;return}const d=u.origDomEvent;!this.mouseInfo||(this.mouseInfo.isDown&&this.mouseInfo.x===d.clientX&&this.mouseInfo.y===d.clientY&&Date.now()-this.mouseInfo.mouseDownTimestamp<400&&o(d),this.mouseInfo=void 0)},l=u=>{if(!s()){this.mouseInfo=void 0;return}const d=u.origDomEvent;this.mouseInfo={x:Math.floor(d.touches[0].clientX),y:Math.floor(d.touches[0].clientY),isDown:!0,mouseDownTimestamp:Date.now()}},c=u=>{if(!s()){this.mouseInfo=void 0;return}const d=u.origDomEvent;!this.mouseInfo||(this.mouseInfo.isDown&&this.mouseInfo.x===Math.floor(d.changedTouches[d.changedTouches.length-1].clientX)&&this.mouseInfo.y===Math.floor(d.changedTouches[d.changedTouches.length-1].clientY)&&Date.now()-this.mouseInfo.mouseDownTimestamp<400&&o(d),this.mouseInfo=void 0)};return this.domEvents.addEventListener(n,"mousedown",r,!1),this.domEvents.addEventListener(n,"mouseup",a,!1),this.domEvents.addEventListener(n,"touchstart",l,!1),this.domEvents.addEventListener(n,"touchend",c,!1),()=>{!this.domEvents||(this.mouseInfo=void 0,this.domEvents.removeEventListener(n,"mousedown",r),this.domEvents.removeEventListener(n,"mouseup",a),this.domEvents.removeEventListener(n,"touchstart",l),this.domEvents.removeEventListener(n,"touchend",c))}}getTagNormal(e){if(e.normal)return Ue(e.normal);if(e.stickType==="Plane")return Fi(e.position);if(e.stickType==="Model")return Fi(this.getPositions(e))}get filterPointTag(){return this.tags.filter(e=>e.stickType==="2DPoint"||e.stickType==="3DPoint").filter(e=>e.position)}get filter2DPointTag(){return this.tags.filter(e=>e.stickType==="2DPoint").filter(e=>e.position)}get filter3DPointTag(){return this.tags.filter(e=>e.stickType==="3DPoint").filter(e=>e.position)}get filterImagePlane(){return this.tags.filter(e=>e.contentType==="MediaPlane"&&e.stickType==="Plane"&&this.can("renderByMesh",e))}get filterMediaModel(){return this.tags.filter(e=>e.stickType==="Model"&&e.contentType==="MediaModel")}get filterModelTag(){return this.tags.filter(e=>e.stickType==="Model")}get filter3DTag(){return this.tags.filter(e=>e.stickType==="3DPoint"||e.stickType==="Plane"||e.stickType==="Model").filter(e=>!this.can("renderByMesh",e))}checkDisposed(){return this.store.disposed?(console.error("PanoTagPluginController has been disposed"),!0):!1}}class Cg extends Eg{constructor(e){super(e);m(this,"raycaster",new I.Raycaster)}getVisibleByPanoIndex(e,n){var r;const o=this.getCache({panoIndex:n,id:e.id}),s=(r=this.five.panoIndex)!=null?r:n;if(je(e))return!0;if(o.visible!==void 0)return o.visible;{const a=(()=>{var u,d,h;const l=(u=this.getTagConfig(e).visibleConfig)!=null?u:{},c=this.getDistance(e);if(typeof l=="function")return{value:l(this.five,{tag:e,distance:c}),reason:"config function result"};if(l.keep==="hidden")return{value:!1,reason:"config.keep is hidden"};if(l.keep==="visible")return{value:!0,reason:"config.keep is visible"};if(l.visiblePanoIndex!==void 0&&l.visiblePanoIndex!=="all"&&s!==void 0){if(Array.isArray(l.visiblePanoIndex)&&!l.visiblePanoIndex.includes(s))return{value:!1,reason:`current panoIndex is not included in visiblePano. currentPanoIndex: ${s}, visiblePanoIndex: ${l.visiblePanoIndex}`};if(l.visiblePanoIndex==="current"&&s!==((d=e.fiveState)==null?void 0:d.panoIndex))return{value:!1,reason:`current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${s}, tag.panoIndex: ${(h=e.fiveState)==null?void 0:h.panoIndex}`}}if(l.visibleDistance!==void 0&&l.visibleDistance!=="unLimited"&&dn(c,l.visibleDistance)===!1)return{value:!1,reason:`distance is not in visibleDistance. distance: ${c}, visibleDistance: ${l.visibleDistance}`};if(l.intersectRaycaster!==!1&&(typeof l.intersectRaycaster!="object"||l.intersectRaycaster.enabled!==!1)){if(s===void 0)return{value:!1,reason:`intersectRaycaster check failed: fivePanoIndex is ${s}`};const f=this.getRaycasterFromPanoIndex(e,s);if(!f)return{value:!1,reason:`intersectRaycaster check failed: raycaster is ${f}`};const v=this.getTagEnableByIntersect(e,f);if(v.value===!1)return v}if(l.angleRange&&qp(e)){const f=this.getAngle(e);if(dn(f,l.angleRange)===!1)return{value:!1,reason:`angle is not in angleRange. angle: ${f}, angleRange: ${l.angleRange}`}}return{value:!0,reason:"all check passed"}})();return o.visible=a.value,o.__debug_visible_reason__=a,o.visible}}getVisibleByFiveMode(e,n){var r;const o=(r=this.getTagConfig(e).visibleConfig)!=null?r:{};if(typeof o=="function")return n==="Panorama";const s=o==null?void 0:o.visibleFiveMode;return s?s.includes(n):n==="Panorama"}getVisibleByFloorIndex(e){var a;const n=e.fiveState;if(!n)return!0;const o=n.panoIndex,s=(a=this.five.work.observers[o])==null?void 0:a.floorIndex,r=this.five.model.shownFloor;return r===null||r===s}getCurrentVisibleState(e){var n;return(n=this.state.visible&&e.state.visible)!=null?n:!0}getVisible(e){const n=this.five.getCurrentState(),o=this.getVisibleByFiveMode(e,n.mode),s=je(e)?this.getVisibleByFloorIndex(e):!0,r=n.mode==="Panorama"?this.getVisibleByPanoIndex(e,n.panoIndex):!0;return o&&r&&s}getModelMedialVisibleByPanoIndex(e){if(!this.getCurrentVisibleState(e))return!1;const n=this.five.getCurrentState().panoIndex,o=this.getCache({panoIndex:n,id:e.id});if(o.modelMedialVisible!==void 0)return o.modelMedialVisible;const s=this.getRaycasterFromPanoIndex(e,n);if(!s)return!1;const r=this.getTagEnableByIntersect(e,s);return o.modelMedialVisible=r.value,o.__debug_visible_reason__=r,r.value!==!1}getUnfoldedByPanoIndex(e,n){if(!this.getVisibleByPanoIndex(e))return;const s=this.getCache({panoIndex:n,id:e.id});if(s.unfolded!==void 0)return s.unfolded;{const r=this.getTagConfig(e).unfoldedConfig;if(!r)return;const a=(()=>{const c=this.getDistance(e);if(typeof r=="function")return r(this.five,{tag:e,distance:c});if(r.keep==="folded")return!1;if(r.keep==="unfolded")return!0;if(r.unfoldDistance&&dn(c,r.unfoldDistance)===!1)return!1})();s.unfolded=a;const l=this.getUnfoldedByCamera(e);return l!==void 0?l:s.unfolded}}getUnfoldedByCamera(e){return this.getVisibleByPanoIndex(e)?(()=>{var a;const s=this.getDistance(e),r=this.getTagConfig(e).unfoldedConfig;if(!!r){if(typeof r=="function")return r(this.five,{tag:e,distance:s});if(r.keep==="folded")return!1;if(r.keep==="unfolded")return!0;if(r.autoUnfold===void 0||r.autoUnfold===!1||r.autoUnfold.enable===!1||!r.autoUnfold.strategy)return;if(r.autoUnfold.strategy==="ScreenPostion"){const l=this.getTagProject(e);if(l&&dn(l.x,r.autoUnfold.autoUnfoldProjectX)===!1)return!1}if(r.autoUnfold.strategy==="MinimumDistance"){const u=this.filterPointTag.filter(h=>this.getVisibleByPanoIndex(h)).filter(h=>{const f=this.getTagProject(h);if(!f)return!1;const{x:v,y:g,z:p}=f;return!(Math.abs(p)>1||Math.abs(v)>1||Math.abs(g)>1)}).map(h=>({tag:h,id:h.id,tagConfig:this.getTagConfig(h).unfoldedConfig})).filter(({tag:h,tagConfig:f})=>{var v,g;return!(typeof f!="object"||f.keep||f.autoUnfold===!1||((v=f.autoUnfold)==null?void 0:v.enable)===!1||((g=f.autoUnfold)==null?void 0:g.strategy)!=="MinimumDistance")}).map(h=>fe(Q({},h),{distance:this.getDistance(h.tag)})).filter(({distance:h,tagConfig:f})=>{var v,g;return!(h===void 0||typeof f!="object"||f.autoUnfold===!1||((v=f.autoUnfold)==null?void 0:v.enable)===!1||((g=f.autoUnfold)==null?void 0:g.strategy)!=="MinimumDistance"||f.autoUnfold.distance&&dn(h,f.autoUnfold.distance)===!1)}).sort((h,f)=>h.distance-f.distance).findIndex(h=>h.id===e.id);if(u===-1||u<=((a=r.autoUnfold.maxNumber)!=null?a:1)-1===!1)return!1}return!0}})():void 0}sort(e){return e.sort((n,o)=>{const s=this.getDistance(n),r=this.getDistance(o);return s===void 0||r===void 0?0:r-s})}setPointTagPosition(){const e=this.filterPointTag;e.length!==0&&e.forEach(n=>{var s;if(!((s=n.state)!=null&&s.visible)){n.pointTagStyle=null;return}const o=this.getTagProject(n);if(!o){n.pointTagStyle=null;return}n.pointTagStyle={leftPercent:(o.x+1)/2*100,topPercent:(-o.y+1)/2*100}})}setVisibleByPanoIndex(){this.tags.forEach(e=>{const n=this.getVisibleByPanoIndex(e);e.state&&(e.state.visible=n)})}setModelMedialVisible(){const e=this.five.getCurrentState().mode;this.tags.forEach(n=>{var s;if(!je(n))return;if(!((s=n.model)!=null&&s.object)){n.mediaVisible=!1;return}const o=e==="Panorama"?this.getModelMedialVisibleByPanoIndex(n):!0;n.mediaVisible=o})}setUnfoldedByPanoIndex(){this.tags.forEach(e=>{const n=this.getUnfoldedByPanoIndex(e);if(!!e.state&&(n!==void 0&&(e.state.unfolded=n),n&&!e.state.visible)){const o=this.getTagConfig(e);typeof o.unfoldedConfig=="object"&&o.unfoldedConfig.autoUnfoldWhenHide!==!1&&(e.state.unfolded=!1)}})}getTagProject(e){if(!this.getVisibleByPanoIndex(e))return;const o=hi(e.position);if(!o)return;const{x:s,y:r,z:a}=o.project(this.five.camera);if(!(a>1))return{x:s,y:r,z:a}}getTagEnableByIntersect(e,n){var u,d,h;const o=(u=this.getTagConfig(e).visibleConfig)!=null?u:{},s=this.getDistance(e),[r]=this.five.model.intersectRaycaster(n),a=(()=>{if(!je(e))return;const f=this.tags.filter(je).map(g=>{var p;return(p=g.model)==null?void 0:p.object}).filter(wt);return n.intersectObjects(f,!0)[0]})(),l=(()=>{var f;return typeof o=="object"&&typeof o.intersectRaycaster=="object"&&(f=o.intersectRaycaster.distanceAccuracy)!=null?f:.01})(),c=Math.min((d=r==null?void 0:r.distance)!=null?d:1/0,(h=a==null?void 0:a.distance)!=null?h:1/0);return c+l<s?{value:!1,reason:`intersectRaycaster check failed: distance is ${s}, intersection.distance is ${r==null?void 0:r.distance}, intersection.point is ${r==null?void 0:r.point.toArray()},
|
|
546
546
|
customModelIntersection.point is ${a==null?void 0:a.point.toArray()}, minIntersectionDistance is ${c}`}:{value:!0,reason:""}}getRaycasterFromPanoIndex(e,n){var a;const o=(a=this.five.work.observers[n])==null?void 0:a.position;if(o===void 0)throw new Error(`getVisible(): observerPosition is ${o}`);const s=hi(e.position);if(!s)return;const r=s.sub(o).normalize();return this.raycaster.set(o,r),this.raycaster}}function Pg(i){le(i,"svelte-xuejcm",".line.svelte-xuejcm{position:absolute;pointer-events:none}.line.vertical.svelte-xuejcm{transform:rotate(-90deg) translate3d(0.03125rem, 0, 0.625rem);transform-origin:0 0}.line.horizontal.svelte-xuejcm{transform:translate3d(0, -0.03125rem, 0.625rem)}.straight-line.svelte-xuejcm{display:block;width:100%;height:100%;overflow:visible}")}function ir(i){let t,e,n,o,s,r,a,l=i[3]&&or(i);return{c(){t=z("div"),e=we("svg"),n=we("defs"),o=we("linearGradient"),s=we("stop"),r=we("stop"),l&&l.c(),y(s,"offset","25%"),y(s,"stop-color",i[5]),y(s,"stop-opacity","1"),y(r,"offset","100%"),y(r,"stop-color",i[5]),y(r,"stop-opacity","0.5"),y(o,"x1",.5),y(o,"y1",.5),y(o,"x2",i[8]),y(o,"y2",.5),y(o,"id",i[10]),y(o,"gradientUnits","userSpaceOnUse"),y(e,"class","straight-line svelte-xuejcm"),y(e,"viewBox",a="0 0 "+i[8]+" "+i[7]),y(e,"preserveAspectRatio","none"),y(t,"class","line svelte-xuejcm"),q(t,"vertical",i[9]),q(t,"horizontal",!i[9]),T(t,"width",i[8]+"px"),T(t,"height",i[7]+"px")},m(c,u){M(c,t,u),V(t,e),V(e,n),V(n,o),V(o,s),V(o,r),l&&l.m(e,null)},p(c,u){u&32&&y(s,"stop-color",c[5]),u&32&&y(r,"stop-color",c[5]),u&256&&y(o,"x2",c[8]),c[3]?l?(l.p(c,u),u&8&&C(l,1)):(l=or(c),l.c(),C(l,1),l.m(e,null)):l&&(se(),x(l,1,1,()=>{l=null}),re()),u&384&&a!==(a="0 0 "+c[8]+" "+c[7])&&y(e,"viewBox",a),u&512&&q(t,"vertical",c[9]),u&512&&q(t,"horizontal",!c[9]),u&256&&T(t,"width",c[8]+"px"),u&128&&T(t,"height",c[7]+"px")},d(c){c&&S(t),l&&l.d()}}}function or(i){let t,e,n,o,s;return{c(){t=we("path"),y(t,"fill","none"),y(t,"stroke",e=i[4]?`url(#${i[10]})`:i[5]),y(t,"stroke-width",1),y(t,"d",i[6])},m(r,a){M(r,t,a),s=!0},p(r,a){i=r,(!s||a&48&&e!==(e=i[4]?`url(#${i[10]})`:i[5]))&&y(t,"stroke",e),(!s||a&64)&&y(t,"d",i[6])},i(r){s||(r&&Re(()=>{o&&o.end(1),n=Tt(t,ui,{duration:i[2],delay:i[0],easing:At}),n.start()}),s=!0)},o(r){n&&n.invalidate(),r&&(o=rn(t,ui,{duration:i[2],delay:i[1],easing:At})),s=!1},d(r){r&&S(t),r&&o&&o.end()}}}function Ig(i){let t,e=i[8]&&ir(i);return{c(){e&&e.c(),t=me()},m(n,o){e&&e.m(n,o),M(n,t,o)},p(n,[o]){n[8]?e?e.p(n,o):(e=ir(n),e.c(),e.m(t.parentNode,t)):e&&(e.d(1),e=null)},i:X,o:X,d(n){e&&e.d(n),n&&S(t)}}}function kg(i,t,e){let n,o,s,r,{inDelay:a=0}=t,{outDelay:l=0}=t,{duration:c=1e3}=t,{unfolded:u}=t,{length:d}=t,{direction:h="horizontal"}=t,{useLinearColor:f=!1}=t,{color:v="white"}=t;const g=Ge();return i.$$set=p=>{"inDelay"in p&&e(0,a=p.inDelay),"outDelay"in p&&e(1,l=p.outDelay),"duration"in p&&e(2,c=p.duration),"unfolded"in p&&e(3,u=p.unfolded),"length"in p&&e(11,d=p.length),"direction"in p&&e(12,h=p.direction),"useLinearColor"in p&&e(4,f=p.useLinearColor),"color"in p&&e(5,v=p.color)},i.$$.update=()=>{i.$$.dirty&4096&&e(9,n=h==="vertical"),i.$$.dirty&2048&&e(8,o=d),i.$$.dirty&2048&&e(6,r=`M0.5 0.5 H ${d}`)},e(7,s=1),[a,l,c,u,f,v,r,s,o,n,g,d,h]}class Po extends oe{constructor(t){super(),ie(this,t,kg,Ig,ne,{inDelay:0,outDelay:1,duration:2,unfolded:3,length:11,direction:12,useLinearColor:4,color:5},Pg)}}function xg(i){le(i,"svelte-faoauy",".shadow.svelte-faoauy{position:absolute}")}function sr(i){let t,e,n,o,s;return{c(){t=z("div"),y(t,"class","shadow svelte-faoauy"),y(t,"style",e=`
|
|
547
547
|
left:${_e(i[5])};
|
|
548
548
|
bottom:${_e(i[6])};
|