@realsee/dnalogel 2.3.7-1 → 2.3.7-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.js +2 -2
  3. package/dist/index.umd.js +1 -1
  4. package/docs/classes/CSS3DRender.html +31 -31
  5. package/docs/classes/CruisePluginController.html +24 -24
  6. package/docs/classes/Magnifier.html +16 -16
  7. package/docs/classes/ModelRoomLabelController.html +11 -11
  8. package/docs/classes/Object3DHelperController.html +24 -24
  9. package/docs/classes/PaintBrush.html +15 -15
  10. package/docs/classes/PanoMeasurePluginLine.html +23 -23
  11. package/docs/classes/PanoMeasurePluginModel.html +22 -22
  12. package/docs/classes/PanoMeasurePluginPoint.html +14 -14
  13. package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
  14. package/docs/classes/PanoTagPluginController.html +39 -39
  15. package/docs/classes/Util.BetterTween.html +8 -8
  16. package/docs/classes/Util.FivePointSelector.html +12 -12
  17. package/docs/classes/Util.Interval.html +12 -12
  18. package/docs/classes/Util.Magnifier.html +17 -17
  19. package/docs/classes/Util.PointDomHelper.html +11 -11
  20. package/docs/classes/Util.PointHelper.html +11 -11
  21. package/docs/classes/Util.Rectangle.html +13 -13
  22. package/docs/enums/CameraMovementEffect.html +7 -7
  23. package/docs/enums/ContentType.html +12 -12
  24. package/docs/enums/DIRECTION.html +9 -9
  25. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  26. package/docs/enums/DimensionType.html +7 -7
  27. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  28. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  29. package/docs/enums/LinkType.html +7 -7
  30. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  31. package/docs/enums/PointType.html +7 -7
  32. package/docs/enums/Rotation.html +8 -8
  33. package/docs/functions/CSS3DRenderPlugin.html +4 -4
  34. package/docs/functions/CameraMovementPlugin.html +4 -4
  35. package/docs/functions/CruisePlugin.html +4 -4
  36. package/docs/functions/GuideLinePlugin.html +5 -5
  37. package/docs/functions/ItemLabelPlugin.html +4 -4
  38. package/docs/functions/MapviewFloorplanPlugin.html +4 -4
  39. package/docs/functions/ModelChassisCompassPlugin.html +4 -4
  40. package/docs/functions/ModelEntryDoorGuidePlugin.html +4 -4
  41. package/docs/functions/ModelFloorplanPlugin.html +4 -4
  42. package/docs/functions/ModelItemLabelPlugin.html +4 -4
  43. package/docs/functions/ModelRoomLabelPlugin.html +4 -4
  44. package/docs/functions/ModelTVVideoPlugin.html +4 -4
  45. package/docs/functions/ModelViewPlugin.html +4 -4
  46. package/docs/functions/Object3DHelperPlugin.html +4 -4
  47. package/docs/functions/PanoCompassPlugin.html +4 -4
  48. package/docs/functions/PanoCursorRaycasterPlugin.html +4 -4
  49. package/docs/functions/PanoDoorLabelPlugin.html +4 -4
  50. package/docs/functions/PanoFloorplanRadarPlugin.html +4 -4
  51. package/docs/functions/PanoMeasurePlugin.html +4 -4
  52. package/docs/functions/PanoRulerPlugin.html +4 -4
  53. package/docs/functions/PanoRulerProPlugin.html +4 -4
  54. package/docs/functions/PanoSpatialTagPlugin.html +4 -4
  55. package/docs/functions/PanoTagPlugin.html +4 -4
  56. package/docs/functions/TopviewFloorplanPlugin.html +4 -4
  57. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  58. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  59. package/docs/functions/Util.getFrameTime.html +5 -5
  60. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  61. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  62. package/docs/functions/Util.isNil.html +5 -5
  63. package/docs/functions/Util.nextFrame.html +5 -5
  64. package/docs/functions/Util.notNil.html +5 -5
  65. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  66. package/docs/functions/Util.tweenProgress.html +5 -5
  67. package/docs/functions/pluginFlag.html +5 -5
  68. package/docs/index.html +4 -4
  69. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  70. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  71. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  72. package/docs/interfaces/ContentTypeMap.html +12 -12
  73. package/docs/interfaces/FloorplanBounding.html +8 -8
  74. package/docs/interfaces/FloorplanData.html +10 -10
  75. package/docs/interfaces/FloorplanEntrance.html +11 -11
  76. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  77. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  78. package/docs/interfaces/FloorplanFloorData.html +9 -9
  79. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  80. package/docs/interfaces/FloorplanObserver.html +9 -9
  81. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  82. package/docs/interfaces/FloorplanPosition.html +7 -7
  83. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  84. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  85. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  86. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  87. package/docs/interfaces/FloorplanServerData.html +7 -7
  88. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  89. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  90. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  91. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  92. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  93. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  94. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  95. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  96. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  97. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  98. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  99. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  100. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  101. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  102. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  103. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  104. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  105. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  106. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  107. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  108. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  109. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  110. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  111. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  112. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  113. package/docs/interfaces/ModelViewPluginExportType.html +11 -11
  114. package/docs/interfaces/Object3DHelperState.html +8 -8
  115. package/docs/interfaces/PaintBrushAction.html +12 -12
  116. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  117. package/docs/interfaces/PaintBrushState.html +10 -10
  118. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  119. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +5 -5
  120. package/docs/interfaces/PanoMeasureParameterType.html +12 -12
  121. package/docs/interfaces/PanoMeasurePluginLineJson.html +8 -8
  122. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +7 -7
  123. package/docs/interfaces/PanoMeasurePluginPointJson.html +7 -7
  124. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +8 -8
  125. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  126. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  127. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  128. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  129. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  130. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  131. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  132. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +5 -5
  133. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +5 -5
  134. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  135. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  136. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  137. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  138. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  139. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  140. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  141. package/docs/interfaces/Point.html +8 -8
  142. package/docs/interfaces/Room.html +9 -9
  143. package/docs/interfaces/RoomInfo.html +7 -7
  144. package/docs/interfaces/RoomLabel.html +14 -14
  145. package/docs/interfaces/RoomRules.html +5 -5
  146. package/docs/interfaces/Rooms.html +5 -5
  147. package/docs/interfaces/Scissor.html +9 -9
  148. package/docs/interfaces/TagConfig.html +10 -10
  149. package/docs/interfaces/Tags.html +9 -9
  150. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  151. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  152. package/docs/modules/Util.html +5 -5
  153. package/docs/modules.html +4 -4
  154. package/docs/types/ArrayPosition.html +5 -5
  155. package/docs/types/CSS3DRenderExportType.html +5 -5
  156. package/docs/types/CSS3DRenderPluginExportType.html +5 -5
  157. package/docs/types/CSS3DRenderPluginParameterType.html +5 -5
  158. package/docs/types/Color.html +5 -5
  159. package/docs/types/ContentTypeConfigKey.html +5 -5
  160. package/docs/types/ContentTypeConfigKeyArray.html +5 -5
  161. package/docs/types/Create3DDomContainerReturnType.html +5 -5
  162. package/docs/types/Create3DElementReturnType.html +5 -5
  163. package/docs/types/CruisePluginExportType.html +5 -5
  164. package/docs/types/Direction-1.html +5 -5
  165. package/docs/types/Direction4.html +5 -5
  166. package/docs/types/FloorplanRuleLabels.html +5 -5
  167. package/docs/types/FloorplanServerRuleLabels.html +5 -5
  168. package/docs/types/GuideLinePluginExportType.html +5 -5
  169. package/docs/types/HelperEventMap.html +5 -5
  170. package/docs/types/MapviewFloorplanPluginParameterType.html +5 -5
  171. package/docs/types/MapviewFloorplanPluginReturnType.html +5 -5
  172. package/docs/types/MediaData.html +5 -5
  173. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +5 -5
  174. package/docs/types/ModelFloorplanPluginParameterType.html +5 -5
  175. package/docs/types/ModelFloorplanPluginReturnType.html +5 -5
  176. package/docs/types/ModelRoomLabelPluginParameters.html +5 -5
  177. package/docs/types/ModelRoomLabelPluginReturnType.html +5 -5
  178. package/docs/types/MoveArgs.html +5 -5
  179. package/docs/types/MoveOpts.html +5 -5
  180. package/docs/types/Object3DHelperEventMap.html +5 -5
  181. package/docs/types/ObjectFit.html +5 -5
  182. package/docs/types/PaintBrushEventMap.html +5 -5
  183. package/docs/types/PanoCompassPluginData.html +5 -5
  184. package/docs/types/PanoCompassPluginExportType.html +5 -5
  185. package/docs/types/PanoCompassPluginParameterType.html +5 -5
  186. package/docs/types/PanoFloorplanRadarPluginParameterType.html +5 -5
  187. package/docs/types/PanoFloorplanRadarPluginReturnType.html +5 -5
  188. package/docs/types/PanoMeasurePluginEvent.html +5 -5
  189. package/docs/types/PanoMeasureReturnType.html +5 -5
  190. package/docs/types/PanoSpatialTagPluginId.html +5 -5
  191. package/docs/types/PanoTagPluginExportInterface.html +5 -5
  192. package/docs/types/PanoTagPluginParamsInterface.html +5 -5
  193. package/docs/types/PlaneTag.html +5 -5
  194. package/docs/types/PointTag.html +5 -5
  195. package/docs/types/Position.html +5 -5
  196. package/docs/types/RotateArgs.html +5 -5
  197. package/docs/types/RotateOpts.html +5 -5
  198. package/docs/types/RuleLabelsKey.html +5 -5
  199. package/docs/types/RuleLabelsValue.html +5 -5
  200. package/docs/types/Tag.html +5 -5
  201. package/docs/types/Tag2D.html +5 -5
  202. package/docs/types/Tag3D.html +5 -5
  203. package/docs/types/TagId.html +5 -5
  204. package/docs/types/TopviewFloorplanPluginParameterType.html +5 -5
  205. package/docs/types/TopviewFloorplanPluginReturnType.html +5 -5
  206. package/docs/variables/FLOOR_TYPE_MAP.html +5 -5
  207. package/docs/variables/PLUGIN.html +5 -5
  208. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +5 -5
  209. package/docs/variables/ROOM_TYPE_MAP.html +5 -5
  210. package/docs/variables/VERSION.html +5 -5
  211. package/docs/variables/itemLabelPluginServerParams.html +5 -5
  212. package/docs/variables/modelItemLabelPluginServerParams.html +5 -5
  213. package/docs/variables/modelRoomLabelPluginServerParams.html +5 -5
  214. package/libs/PanoMeasurePlugin/Controller/index.js +11 -11
  215. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +6 -6
  216. package/package.json +1 -1
package/dist/index.cjs.js CHANGED
@@ -494,7 +494,7 @@ void main() {
494
494
  </div>
495
495
  </div>
496
496
  </div>
497
- `,Zh={display:"none",position:"absolute",top:"0",left:"0",width:"100%",height:"100%",opacity:"0",transform:"translate(0, 10px)",transition:"opacity 500ms ease-in-out, transform 500ms ease-in-out"},qh={position:"absolute",left:"50%",bottom:"32px",transform:"translateX(-50%)",height:"89px",display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:"14px",pointerEvents:"all",color:"#fff",zIndex:"10"},Kh={position:"absolute",bottom:"0",left:"0",opacity:"0.5",width:"100%",height:"184px",background:"linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 100%)",zIndex:"0"},Ma={margin:"0 64px"},$h={opacity:"0.85"},Ta={width:"72px",height:"72px",backgroundSize:"100%",cursor:"pointer",transition:"all 200ms ease-in-out"},ef={width:"24px",height:"24px",marginRight:"4px",backgroundSize:"100%",cursor:"pointer"},tf={userSelect:"none",pointerEvents:"none"};class nf{constructor(t,e,n){f(this,"container");f(this,"measureController");f(this,"mainElement");f(this,"_params");f(this,"_btnTexts",{start:"\u5F00\u59CB",end:"\u7ED3\u675F",revoke:"\u64A4\u9500",exit:"\u9000\u51FA"});f(this,"onMouseEnter",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="1"});f(this,"onMouseLeave",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="0.85"});f(this,"onClick",()=>{this.measureController.getCurrentMode()!=="Edit"?this.measureController.changeMode("Edit"):this.measureController.save().changeMode("Watch")});f(this,"modeChangeHandler",t=>{t==="Edit"?this.change2Done():this.change2Add()});var r,a,l,c;this._params=n,this._btnTexts={start:(r=this._params.startButtonText)!=null?r:this._btnTexts.start,end:(a=this._params.endButtonText)!=null?a:this._btnTexts.end,revoke:(l=this._params.revokeButtonText)!=null?l:this._btnTexts.revoke,exit:(c=this._params.exitButtonText)!=null?c:this._btnTexts.exit},this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,Ta),Object.assign(this.mainElement.mainItem.style,Ma);const{revokeTextDom:o,exitTextDom:s}=this._getTextElement();o&&(o.innerText=this._btnTexts.revoke),s&&(s.innerText=this._btnTexts.exit),this.change2Add(),this.measureController.hook.on("modeChange",this.modeChangeHandler),this.mainElement.mainItem.addEventListener("click",this.onClick),this.mainElement.mainItem.addEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.addEventListener("mouseleave",this.onMouseLeave)}dispose(){this.measureController.hook.off("modeChange",this.modeChangeHandler),this.mainElement.mainItem.removeEventListener("click",this.onClick),this.mainElement.mainItem.removeEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.removeEventListener("mouseleave",this.onMouseLeave)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),n=this.container.querySelector(".fpm__main-icon");if(!e||!t||!n)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:n}}_getTextElement(){const t=this.container.querySelector(".fpm__revoke-text"),e=this.container.querySelector(".fpm__exit-text");return{revokeTextDom:t,exitTextDom:e}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;if(t.className.includes("fpm__main__start")){e.innerText=this._btnTexts.start;return}t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText=this._btnTexts.start,e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.getMainElement();t.innerText!==this._btnTexts.end&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText=this._btnTexts.end,t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class of{constructor(t,e,n){f(this,"container");f(this,"measureController");f(this,"mainElement");f(this,"_params");f(this,"_btnTexts",{start:"\u5F00\u59CB",end:"\u7ED3\u675F"});f(this,"onClick",()=>{var t;this.mainElement.mainTextDom.innerText===((t=this._params.startButtonText)!=null?t:"\u5F00\u59CB")?(this.measureController.hook.emit("willChangeState","watching","editing"),this.change2Done()):(this.measureController.hook.emit("willChangeState","editing","watching"),this.change2Add())});var o,s;this._params=n,this._btnTexts={start:(o=this._params.startButtonText)!=null?o:this._btnTexts.start,end:(s=this._params.endButtonText)!=null?s:this._btnTexts.end},this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,Ta),Object.assign(this.mainElement.mainItem.style,Ma),this.change2Add(),this.mainElement.mainItem.addEventListener("click",this.onClick)}dispose(){this.mainElement.mainItem.removeEventListener("click",this.onClick)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),n=this.container.querySelector(".fpm__main-icon");if(!e||!t||!n)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:n}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;if(t.className.includes("fpm__main__start")){e.innerText=this._btnTexts.start;return}t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText=this._btnTexts.start,e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.mainElement;t.innerText!==this._btnTexts.end&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText=this._btnTexts.end,t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class sf{constructor(t,e){f(this,"container");f(this,"revokeIcon");f(this,"revokeItem");f(this,"measureController");f(this,"onClick",()=>{this.measureController.revoke()});f(this,"onModeChange",t=>{if(t!=="Edit"&&this.revokeItem.className.includes("enabled")){this.revokeItem.classList.remove("enabled"),this.measureController.hook.off("anchorChange",this.onAnchorChange);return}this.measureController.hook.on("anchorChange",this.onAnchorChange)});f(this,"onAnchorChange",t=>{t&&this.revokeItem.classList.add("enabled")});this.measureController=t,this.container=e;const n=this.container.querySelector(".fpm__revoke-icon"),o=this.container.querySelector(".fpm__revoke");if(!n||!o)throw new Error("\u4E0D\u6B63\u786E\u7684\u9009\u62E9\u5668");this.revokeIcon=n,this.revokeItem=o,this.revokeItem.addEventListener("click",this.onClick),t.hook.on("modeChange",this.onModeChange)}dispose(){this.revokeItem.removeEventListener("click",this.onClick),this.measureController.hook.off("modeChange",this.onModeChange)}}class ms{constructor(t,e){f(this,"revoke");f(this,"container");f(this,"mainController");f(this,"disposers",[]);f(this,"measureController");f(this,"mode");f(this,"_params");f(this,"handleExit",()=>{const t=this.container.querySelector(".fpm__exit-icon"),e=this.container.querySelector(".fpm__exit");if(!e||!t)throw new Error("cannot find dom");this.mode==="pc"&&(Object.assign(e.style,$h),Object.assign(t==null?void 0:t.style,ef));const n=()=>{e.style.opacity="1"},o=()=>{e.style.opacity="0.85"},s=()=>{this.measureController.disable()};return e.addEventListener("click",s),e.addEventListener("mouseenter",n),e.addEventListener("mouseleave",o),()=>{e.removeEventListener("click",s),e.removeEventListener("mouseenter",n),e.removeEventListener("mouseleave",o)}});var r;this._params=e,this.measureController=t,this.mode=(r=e.mode)!=null?r:"pc",this.container=document.createElement("div"),this.container.innerHTML=this.mode==="mobile"?Uh:_h,this.container.classList.add("fpm__ui-controller",this.mode),e.container.appendChild(this.container);const n=this.container.querySelectorAll(".fpm__text"),o=this.container.querySelector(".fpm_ui-bg"),s=this.container.querySelector(".fpm_operating-space");Object.assign(o==null?void 0:o.style,Kh),Object.assign(s==null?void 0:s.style,qh),Object.assign(this.container.style,Zh),n.forEach(a=>Object.assign(a.style,tf))}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.display="block",this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this.mode==="pc"?(this.revoke=new sf(this.measureController,this.container),this.mainController=new nf(this.measureController,this.container,this._params)):this.mainController=new of(this.measureController,this.container,this._params),this.disposers.push(this.handleExit()),this}hide(){var t,e;return this.container.style.display="none",this.container.style.opacity="0",this.container.style.transform="translate(0, 10px)",this.mode==="pc"&&((t=this.revoke)==null||t.dispose()),(e=this.mainController)==null||e.dispose(),this.disposers.forEach(n=>n()),this.disposers=[],this}}class rf{constructor(t,e){f(this,"measureController");f(this,"textDom",document.createElement("span"));f(this,"container",document.createElement("div"));f(this,"hasAnchor",!1);f(this,"hasChangedToWatch",!1);f(this,"_params");f(this,"onModelChange",t=>{var e;if(t==="View"){this.hide();return}if(t==="Watch"){this.hasChangedToWatch?(this.textDom.innerText="",this.hide()):(this.show(),this.hasChangedToWatch=!0);return}t==="Edit"&&(this.textDom.innerText=(e=this._params.firstPointTip)!=null?e:"\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9",this.show())});f(this,"anchorChange",t=>{var e,n;!this.hasAnchor&&!!t?(this.hasAnchor=!0,this.textDom.innerText=(e=this._params.nextPointTip)!=null?e:"\u9009\u62E9\u4E0B\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53D6\u6D88\u9009\u62E9"):t||(this.hasAnchor=!1,this.textDom.innerText=(n=this._params.firstPointTip)!=null?n:"\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9")});f(this,"onEditedLineChange",t=>{var e;t.lines.length===1&&(this.textDom.innerText=(e=this._params.endTip)!=null?e:"\u53EF\u4EE5\u8FDE\u7EED\u9009\u62E9\u6D4B\u91CF\u70B9\uFF0C\u6216\u70B9\u51FB\u4E0B\u65B9\u201C\u7ED3\u675F\u201D\u6309\u94AE\u5B8C\u6210\u6D4B\u91CF\uFF08Esc\u53D6\u6D88\uFF0CCommand+S\u4FDD\u5B58\uFF09")});this._params=e,this.initDom(),e.container.append(this.container),this.measureController=t,t.hook.on("modeChange",this.onModelChange),t.hook.on("anchorChange",this.anchorChange),t.hook.on("editedPolylineChange",this.onEditedLineChange)}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this}hide(){return this.container.style.opacity="0",this.container.style.transform="translate(0, -10px)",this.measureController.hook.off("modeChange",this.onModelChange),this.measureController.hook.off("anchorChange",this.anchorChange),this.measureController.hook.off("editedPolylineChange",this.onEditedLineChange),this}initDom(){var n;const t=this.container,e=this.textDom;t.classList.add("fpm__guide-container"),t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.width="100%",t.style.height="110px",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.transform="translate(0, -10px)",t.style.background="linear-gradient(180deg, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.00) 100%)",t.style.transition="opacity 500ms ease-in-out, transform 500ms ease-in-out",t.style.opacity="0",e.classList.add("fpm__guide-text"),e.style.color="#fff",e.style.fontSize="20px",e.innerText=(n=this._params.startTip)!=null?n:"\u70B9\u51FB\u4E0B\u65B9\u201C\u5F00\u59CB\u201D\u6309\u94AE\u5F00\u59CB\u6D4B\u8DDD",t.appendChild(e)}}class af{constructor(t,e){f(this,"five");f(this,"measureController");f(this,"onKeyDown",t=>{if(t.metaKey&&t.code==="KeyS"){this.measureController.save().changeMode("Watch"),t.preventDefault();return}if(t.code==="Escape")return this.escape()});f(this,"onMouseDown",t=>{t.button===2&&(t.preventDefault(),this.escape())});this.five=e,this.measureController=t;const n=this.five.getElement();!n||(document.body.addEventListener("keydown",this.onKeyDown),n.addEventListener("mousedown",this.onMouseDown))}dispose(){const t=this.five.getElement();!t||(document.body.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("mousedown",this.onMouseDown))}escape(){return this.measureController.getCurrentMode()==="Watch"?this.measureController.disable():this.measureController.changeMode("Watch")}}class lf{constructor(t,e){f(this,"hasOpen",!1);f(this,"hook",new be.Subscribe);f(this,"magnifier");f(this,"five");f(this,"model");f(this,"group");f(this,"config");f(this,"isMobile");f(this,"fiveHelper");f(this,"useUIController");f(this,"params");f(this,"useGuideController");f(this,"container",document.createElement("div"));f(this,"shortcutKeyController");f(this,"controller",null);f(this,"getCurrentMode",()=>this.controller instanceof Sn?"Edit":this.controller instanceof fs?"Watch":this.controller instanceof on?"Mixed":this.controller instanceof us?"View":null);f(this,"changeMode",t=>{var o;if(!this.hasOpen||this.getCurrentMode()===t)return;(o=this.controller)==null||o.dispose();const e={View:us,Watch:fs,Edit:Sn,Mixed:on};if(!e[t])throw new Error("\u4E0D\u5B58\u5728\u7684 Mode");const n=this.createControllerParams();this.controller=new e[t](n),this.hook.emit("modeChange",t)});var o,s,r,a;this.five=t,this.params=e,this.config=ri(e,["openParams","magnifierParams"]),this.model=new ui(this.config),this.fiveHelper=new mh(t),this.isMobile=(s=(o=e==null?void 0:e.openParams)==null?void 0:o.isMobile)!=null?s:!1,this.magnifier=new Pa(t,(r=e.magnifierParams)!=null?r:{width:190,height:190,scale:2}),this.group=new G.Group,this.group.name="plugin-measure-group",this.container.classList.add("five-plugin-measure-container"),this.container.style.position="absolute",this.container.style.left="0",this.container.style.top="0",this.container.style.pointerEvents="none",this.container.style.width="100%",this.container.style.height="100%",this.container.style.opacity="0",this.container.style.background="rgba(0, 0, 0, 0.15)";const n=(a=this.params.openParams)!=null?a:{};if(this.params.useUIController!==!1){const l=X({container:this.container,openParams:n},typeof this.params.useUIController=="object"?this.params.useUIController:{});this.useUIController=new ms(this,l)}if(this.params.useGuideController!==!1){const l=X({container:this.container},typeof this.params.useGuideController=="object"?this.params.useGuideController:{});this.useGuideController=new rf(this,l)}}appendTo(t){t.append(this.container)}dispose(){var t,e;this.disable(),(t=this.useUIController)==null||t.dispose(),(e=this.magnifier)==null||e.dispose(),this.five.needsRender=!0}load(t){this.model.parse(t),this.save()}enable(t){var e;this.hasOpen||(this.hasOpen=!0,this.five.scene.add(this.group),this.container.style.opacity="1",t!=null&&t.mode?this.changeMode(t.mode):this.isMobile?this.changeMode("Mixed"):this.changeMode("Watch"),(e=this.useUIController)==null||e.show(),this.shortcutKeyController=new af(this,this.five),this.hook.emit("enable",!0))}disable(){var t,e,n,o;this.hasOpen=!1,this.container.style.opacity="0",(t=this.controller)==null||t.dispose(),(e=this.useUIController)==null||e.hide(),(n=this.useGuideController)==null||n.hide(),(o=this.shortcutKeyController)==null||o.dispose(),this.controller=null,this.five.helperVisible=!0,this.five.scene.remove(this.group),this.five.needsRender=!0,this.hook.emit("disable",!0)}edit(){const t=this.isMobile?"Mixed":"Edit";this.changeMode(t)}revoke(){this.controller instanceof Sn&&this.controller.revoke()}removePolyline(t){this.model.removePolyline(t)}removePolylineByID(t){const e=this.model.getPolylineByID(t);e&&this.model.removePolyline(e)}getPolylineByID(t){return this.model.getPolylineByID(t)}getEditedPolyline(){}highlightLine(t){if(this.getCurrentMode()!=="Watch")return!1;const e=this.model.getLineByID(t);return e?(this.controller.highlightLine(e),!0):!1}clearHighlightLines(){return this.getCurrentMode()!=="Watch"?!1:(this.controller.clearHighlightLines(),!0)}save(t){var o;if(!(this.controller instanceof Sn)&&!(this.controller instanceof on))return this;const e=(o=t==null?void 0:t.mode)!=null?o:"View",n=this.controller.polyline;return this.model.addPolyline(n),this.changeMode(e),this}addStartPoint(){this.controller instanceof on&&this.hook.emit("willChangeState","watching","editing")}addEndPoint(){this.controller instanceof on&&this.hook.emit("willChangeState","editing","watching")}toJson(){return this.model.toJson()}changeIsMobile(t){var e;if(this.isMobile=t,this.params.useUIController!==!1){(e=this.useUIController)==null||e.dispose();const n=X({container:this.container,mode:this.isMobile?"mobile":"pc"},typeof this.params.useUIController=="object"?this.params.useUIController:{});this.useUIController=new ms(this,n)}}changeConfigs(t){var e;Object.assign(this.config,t),(e=this.controller)==null||e.updateDistanceUI()}setCustomText(t,e){var o;const n=this.model.getLineByID(t);if(!n)throw new Error("\u4E0D\u5B58\u5728\u7684\u7EBF\u6BB5");n.setText(e),(o=this.controller)==null||o.updateDistanceUI()}createControllerParams(){var e;const t=(e=this.params.openParams)!=null?e:{};return t.isMobile=this.isMobile,{five:this.five,hook:this.hook,group:this.group,model:this.model,config:this.config,magnifier:this.magnifier,container:this.container,fiveHelper:this.fiveHelper,openParams:t,mouseGroup:La(X({},t.crossHairParameter)),userDistanceItemCreator:this.params.userDistanceItemCreator}}}const cf=function(t,e){return new lf(t,e)},Ba=$i(null);function df(i){ae(i,"svelte-19zi46m",".PanoSpatialTagPlugin__tag-origin.svelte-19zi46m{position:absolute;width:0.5rem;height:0.5rem;border-radius:50%;background:#fff;box-shadow:0 0 .6rem #fff;transform:translate(-50%, -50%) scale(1);transform-origin:center center;animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-19zi46m:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-19zi46m{transform:translate(-50%, -50%) scale(0.6);animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}")}function ps(i,t,e){const n=i.slice();return n[3]=t[e],n}function gs(i){let t,e=`${i[3].top}%`,n=`${i[3].left}%`,o,s;function r(){return i[2](i[3])}return{c(){t=j("i"),b(t,"class","svelte-19zi46m"),q(t,"PanoSpatialTagPlugin__tag-origin",!0),q(t,"PanoSpatialTagPlugin__tag-origin-destroy",i[3].destroying),R(t,"top",e),R(t,"left",n),R(t,"visibility",i[3].front?"visible":"hidden")},m(a,l){B(a,t,l),o||(s=Pe(t,"click",r),o=!0)},p(a,l){i=a,l&1&&q(t,"PanoSpatialTagPlugin__tag-origin-destroy",i[3].destroying),l&1&&e!==(e=`${i[3].top}%`)&&R(t,"top",e),l&1&&n!==(n=`${i[3].left}%`)&&R(t,"left",n),l&1&&R(t,"visibility",i[3].front?"visible":"hidden")},d(a){a&&z(t),o=!1,s()}}}function uf(i){let t,e=i[0],n=[];for(let o=0;o<e.length;o+=1)n[o]=gs(ps(i,e,o));return{c(){for(let o=0;o<n.length;o+=1)n[o].c();t=fe()},m(o,s){for(let r=0;r<n.length;r+=1)n[r].m(o,s);B(o,t,s)},p(o,[s]){if(s&3){e=o[0];let r;for(r=0;r<e.length;r+=1){const a=ps(o,e,r);n[r]?n[r].p(a,s):(n[r]=gs(a),n[r].c(),n[r].m(t.parentNode,t))}for(;r<n.length;r+=1)n[r].d(1);n.length=e.length}},i:te,o:te,d(o){tt(n,o),o&&z(t)}}}function hf(i,t,e){let{origins:n}=t;const o=r=>{Ba.update(()=>`${r}-PanoSpatialTagPlugin-${Date.now()}`)},s=r=>o(r.id);return i.$$set=r=>{"origins"in r&&e(0,n=r.origins)},[n,o,s]}class ff extends oe{constructor(t){super(),ie(this,t,hf,uf,ne,{origins:0},df)}}function mf(i){ae(i,"svelte-1i5h9zh",".PanoSpatialTagPlugin__tag-x.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0;display:block;white-space:nowrap;box-sizing:border-box;width:25rem;height:14rem;color:#FFF;transform:translate(0, -100%);transition:height .5s linear}.PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh.svelte-1i5h9zh{content:'';position:absolute;width:30rem;height:30rem;top:-15rem;left:-15rem;z-index:-1;opacity:0;transition:opacity .8s .6s;background:url('https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png');background-size:30rem 30rem}.PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:1rem;height:calc(100% - 1.5rem);width:.15rem;background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, .1));box-shadow:0 .1rem .5rem rgba(0, 0, 0, .2);opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .4s cubic-bezier(.44,.44,.74,.98) , opacity .4s cubic-bezier(.44,.44,.74,.98), width .5s linear, height .5s linear ;transform-origin:center bottom}.PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.3rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.5rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh.svelte-1i5h9zh{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;display:inline-block;transform:translate(-100%, 0);transition:transform .9s cubic-bezier(0,.65,.16,1.08) .6s;padding-left:.5rem;font-size:1rem}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content .svelte-1i5h9zh{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 0) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}")}function pf(i){let t,e,n,o,s,r,a,l,c,d,h,u,p,m,g;return{c(){t=j("div"),e=j("div"),n=_(),o=j("div"),s=j("i"),r=_(),a=j("i"),l=_(),c=j("i"),d=_(),h=j("div"),u=j("div"),b(e,"class","PanoSpatialTagPlugin__tag-shadow svelte-1i5h9zh"),R(e,"transform","translate("+i[7]/2*i[3]*3+"px, "+i[8]/2*(i[1]?-1:1)*i[3]*3+"px) scale("+1/i[3]+")"),b(s,"class","PanoSpatialTagPlugin__tag-flagpole svelte-1i5h9zh"),R(s,"width",i[4]+"rem"),b(a,"class","PanoSpatialTagPlugin__tag-line1 svelte-1i5h9zh"),b(c,"class","PanoSpatialTagPlugin__tag-line2 svelte-1i5h9zh"),b(o,"class","PanoSpatialTagPlugin__tag-line svelte-1i5h9zh"),b(u,"class","PanoSpatialTagPlugin__tag-content svelte-1i5h9zh"),b(h,"class","PanoSpatialTagPlugin__tag-animate svelte-1i5h9zh"),R(h,"transform","scale("+i[3]*3+")"),b(t,"id",p="PanoSpatialTagPlugin__"+i[0]),R(t,"height",20*i[5]+"rem"),b(t,"class","svelte-1i5h9zh"),q(t,"PanoSpatialTagPlugin__tag-x",!0),q(t,"PanoSpatialTagPlugin__tag-upside-down",i[1]),q(t,"PanoSpatialTagPlugin__tag-show",i[10]),q(t,"PanoSpatialTagPlugin__tag-hide",i[10]===!1||i[6])},m(v,A){B(v,t,A),Q(t,e),Q(t,n),Q(t,o),Q(o,s),Q(o,r),Q(o,a),Q(o,l),Q(o,c),Q(t,d),Q(t,h),Q(h,u),u.innerHTML=i[2],i[16](u),m||(g=Pe(u,"click",i[11]),m=!0)},p(v,[A]){A&394&&R(e,"transform","translate("+v[7]/2*v[3]*3+"px, "+v[8]/2*(v[1]?-1:1)*v[3]*3+"px) scale("+1/v[3]+")"),A&16&&R(s,"width",v[4]+"rem"),A&4&&(u.innerHTML=v[2]),A&8&&R(h,"transform","scale("+v[3]*3+")"),A&1&&p!==(p="PanoSpatialTagPlugin__"+v[0])&&b(t,"id",p),A&32&&R(t,"height",20*v[5]+"rem"),A&2&&q(t,"PanoSpatialTagPlugin__tag-upside-down",v[1]),A&1024&&q(t,"PanoSpatialTagPlugin__tag-show",v[10]),A&1088&&q(t,"PanoSpatialTagPlugin__tag-hide",v[10]===!1||v[6])},i:te,o:te,d(v){v&&z(t),i[16](null),m=!1,g()}}}function gf(i,t,e){let{id:n}=t,{upsideDown:o}=t,{content:s}=t,{contentZoom:r}=t,{lineWidthZoom:a}=t,{lineHeightZoom:l}=t,{destroying:c=!1}=t,{folded:d}=t,{dispose:h}=t,{events:u}=t,{hooks:p}=t,m=0,g=0,v,A,w=setTimeout(()=>{d||e(10,A=!0),w=void 0},100);const y=C=>{const S=Object.keys(u);let k=C.target;for(;k;){const F=k.getAttribute("class");if(!F){k=k.parentNode;continue}if(F.includes("PanoSpatialTagPlugin__tag-content")){k=null;break}S.forEach(O=>{F.includes(O)&&u[O](n)}),k=k.parentNode}};Ue(()=>{p.emit("initTag",{id:n})});const x=Ba.subscribe(C=>{if(C===null)return;const[S,k]=C.split("-PanoSpatialTagPlugin-");n===S&&(p.emit("clickOrigin",{id:n,show:A}),w||(e(10,A=d),e(12,d=!d),w=setTimeout(()=>{w=void 0},1500)))});qi(()=>{e(7,m=v.offsetWidth),e(8,g=v.offsetHeight),!w&&e(10,A=!d)}),yt(()=>{p.emit("destroyTag",{id:n}),x(),h()});function L(C){Me[C?"unshift":"push"](()=>{v=C,e(9,v)})}return i.$$set=C=>{"id"in C&&e(0,n=C.id),"upsideDown"in C&&e(1,o=C.upsideDown),"content"in C&&e(2,s=C.content),"contentZoom"in C&&e(3,r=C.contentZoom),"lineWidthZoom"in C&&e(4,a=C.lineWidthZoom),"lineHeightZoom"in C&&e(5,l=C.lineHeightZoom),"destroying"in C&&e(6,c=C.destroying),"folded"in C&&e(12,d=C.folded),"dispose"in C&&e(13,h=C.dispose),"events"in C&&e(14,u=C.events),"hooks"in C&&e(15,p=C.hooks)},[n,o,s,r,a,l,c,m,g,v,A,y,d,h,u,p,L]}class Af extends oe{constructor(t){super(),ie(this,t,gf,pf,ne,{id:0,upsideDown:1,content:2,contentZoom:3,lineWidthZoom:4,lineHeightZoom:5,destroying:6,folded:12,dispose:13,events:14,hooks:15},mf)}}const vf={position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",pointerEvents:"none"},As="<",vs=">",bs="%",ys="locals",bf="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)",yf={"&":"&amp","<":"&lt",">":"&gt",'"':"&#34","'":"&#39"},Qe={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"};function ws(i){return i.replace(/;(\s*$)/,"$1")}function wf(i,t){return new Cf(i).compileFunction()(t)}class Cf{constructor(t){f(this,"templateText");f(this,"mode",null);f(this,"truncate",!1);f(this,"currentLine",1);f(this,"source","");f(this,"regex",new RegExp(bf));this.templateText=t}compileFunction(){let t;const e=` var __output = "";
497
+ `,Zh={display:"none",position:"absolute",top:"0",left:"0",width:"100%",height:"100%",opacity:"0",transform:"translate(0, 10px)",transition:"opacity 500ms ease-in-out, transform 500ms ease-in-out"},qh={position:"absolute",left:"50%",bottom:"32px",transform:"translateX(-50%)",height:"89px",display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:"14px",pointerEvents:"all",color:"#fff",zIndex:"10"},Kh={position:"absolute",bottom:"0",left:"0",opacity:"0.5",width:"100%",height:"184px",background:"linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 100%)",zIndex:"0"},Ma={margin:"0 64px"},$h={opacity:"0.85"},Ta={width:"72px",height:"72px",backgroundSize:"100%",cursor:"pointer",transition:"all 200ms ease-in-out"},ef={width:"24px",height:"24px",marginRight:"4px",backgroundSize:"100%",cursor:"pointer"},tf={userSelect:"none",pointerEvents:"none"};class nf{constructor(t,e,n){f(this,"container");f(this,"measureController");f(this,"mainElement");f(this,"_params");f(this,"_btnTexts",{start:"\u5F00\u59CB",end:"\u7ED3\u675F",revoke:"\u64A4\u9500",exit:"\u9000\u51FA"});f(this,"onMouseEnter",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="1"});f(this,"onMouseLeave",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="0.85"});f(this,"onClick",()=>{this.measureController.getCurrentMode()!=="Edit"?this.measureController.changeMode("Edit"):this.measureController.save().changeMode("Watch")});f(this,"modeChangeHandler",t=>{t==="Edit"?this.change2Done():this.change2Add()});var r,a,l,c;this._params=n,this._btnTexts={start:(r=this._params.startButtonText)!=null?r:this._btnTexts.start,end:(a=this._params.endButtonText)!=null?a:this._btnTexts.end,revoke:(l=this._params.revokeButtonText)!=null?l:this._btnTexts.revoke,exit:(c=this._params.exitButtonText)!=null?c:this._btnTexts.exit},this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,Ta),Object.assign(this.mainElement.mainItem.style,Ma);const{revokeTextDom:o,exitTextDom:s}=this._getTextElement();o&&(o.innerText=this._btnTexts.revoke),s&&(s.innerText=this._btnTexts.exit),this.change2Add(),this.measureController.hook.on("modeChange",this.modeChangeHandler),this.mainElement.mainItem.addEventListener("click",this.onClick),this.mainElement.mainItem.addEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.addEventListener("mouseleave",this.onMouseLeave)}dispose(){this.measureController.hook.off("modeChange",this.modeChangeHandler),this.mainElement.mainItem.removeEventListener("click",this.onClick),this.mainElement.mainItem.removeEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.removeEventListener("mouseleave",this.onMouseLeave)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),n=this.container.querySelector(".fpm__main-icon");if(!e||!t||!n)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:n}}_getTextElement(){const t=this.container.querySelector(".fpm__revoke-text"),e=this.container.querySelector(".fpm__exit-text");return{revokeTextDom:t,exitTextDom:e}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;if(t.className.includes("fpm__main__start")){e.innerText=this._btnTexts.start;return}t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText=this._btnTexts.start,e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.getMainElement();t.innerText!==this._btnTexts.end&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText=this._btnTexts.end,t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class of{constructor(t,e,n){f(this,"container");f(this,"measureController");f(this,"mainElement");f(this,"_params");f(this,"_btnTexts",{start:"\u5F00\u59CB",end:"\u7ED3\u675F"});f(this,"onClick",()=>{var t;this.mainElement.mainTextDom.innerText===((t=this._params.startButtonText)!=null?t:"\u5F00\u59CB")?(this.measureController.hook.emit("willChangeState","watching","editing"),this.change2Done()):(this.measureController.hook.emit("willChangeState","editing","watching"),this.change2Add())});var o,s;this._params=n,this._btnTexts={start:(o=this._params.startButtonText)!=null?o:this._btnTexts.start,end:(s=this._params.endButtonText)!=null?s:this._btnTexts.end},this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,Ta),Object.assign(this.mainElement.mainItem.style,Ma),this.change2Add(),this.mainElement.mainItem.addEventListener("click",this.onClick)}dispose(){this.mainElement.mainItem.removeEventListener("click",this.onClick)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),n=this.container.querySelector(".fpm__main-icon");if(!e||!t||!n)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:n}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;if(t.className.includes("fpm__main__start")){e.innerText=this._btnTexts.start;return}t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText=this._btnTexts.start,e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.mainElement;t.innerText!==this._btnTexts.end&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText=this._btnTexts.end,t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class sf{constructor(t,e){f(this,"container");f(this,"revokeIcon");f(this,"revokeItem");f(this,"measureController");f(this,"onClick",()=>{this.measureController.revoke()});f(this,"onModeChange",t=>{if(t!=="Edit"&&this.revokeItem.className.includes("enabled")){this.revokeItem.classList.remove("enabled"),this.measureController.hook.off("anchorChange",this.onAnchorChange);return}this.measureController.hook.on("anchorChange",this.onAnchorChange)});f(this,"onAnchorChange",t=>{t&&this.revokeItem.classList.add("enabled")});this.measureController=t,this.container=e;const n=this.container.querySelector(".fpm__revoke-icon"),o=this.container.querySelector(".fpm__revoke");if(!n||!o)throw new Error("\u4E0D\u6B63\u786E\u7684\u9009\u62E9\u5668");this.revokeIcon=n,this.revokeItem=o,this.revokeItem.addEventListener("click",this.onClick),t.hook.on("modeChange",this.onModeChange)}dispose(){this.revokeItem.removeEventListener("click",this.onClick),this.measureController.hook.off("modeChange",this.onModeChange)}}class ms{constructor(t,e){f(this,"revoke");f(this,"container");f(this,"mainController");f(this,"disposers",[]);f(this,"measureController");f(this,"mode");f(this,"_params");f(this,"handleExit",()=>{const t=this.container.querySelector(".fpm__exit-icon"),e=this.container.querySelector(".fpm__exit");if(!e||!t)throw new Error("cannot find dom");this.mode==="pc"&&(Object.assign(e.style,$h),Object.assign(t==null?void 0:t.style,ef));const n=()=>{e.style.opacity="1"},o=()=>{e.style.opacity="0.85"},s=()=>{this.measureController.disable()};return e.addEventListener("click",s),e.addEventListener("mouseenter",n),e.addEventListener("mouseleave",o),()=>{e.removeEventListener("click",s),e.removeEventListener("mouseenter",n),e.removeEventListener("mouseleave",o)}});var r;this._params=e,this.measureController=t,this.mode=(r=e.mode)!=null?r:"pc",this.container=document.createElement("div"),this.container.innerHTML=this.mode==="mobile"?Uh:_h,this.container.classList.add("fpm__ui-controller",this.mode),this.container.style.background="rgba(0, 0, 0, 0.15)",e.container.appendChild(this.container);const n=this.container.querySelectorAll(".fpm__text"),o=this.container.querySelector(".fpm_ui-bg"),s=this.container.querySelector(".fpm_operating-space");Object.assign(o==null?void 0:o.style,Kh),Object.assign(s==null?void 0:s.style,qh),Object.assign(this.container.style,Zh),n.forEach(a=>Object.assign(a.style,tf))}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.display="block",this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this.mode==="pc"?(this.revoke=new sf(this.measureController,this.container),this.mainController=new nf(this.measureController,this.container,this._params)):this.mainController=new of(this.measureController,this.container,this._params),this.disposers.push(this.handleExit()),this}hide(){var t,e;return this.container.style.display="none",this.container.style.opacity="0",this.container.style.transform="translate(0, 10px)",this.mode==="pc"&&((t=this.revoke)==null||t.dispose()),(e=this.mainController)==null||e.dispose(),this.disposers.forEach(n=>n()),this.disposers=[],this}}class rf{constructor(t,e){f(this,"measureController");f(this,"textDom",document.createElement("span"));f(this,"container",document.createElement("div"));f(this,"hasAnchor",!1);f(this,"hasChangedToWatch",!1);f(this,"_params");f(this,"onModelChange",t=>{var e;if(t==="View"){this.hide();return}if(t==="Watch"){this.hasChangedToWatch?(this.textDom.innerText="",this.hide()):(this.show(),this.hasChangedToWatch=!0);return}t==="Edit"&&(this.textDom.innerText=(e=this._params.firstPointTip)!=null?e:"\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9",this.show())});f(this,"anchorChange",t=>{var e,n;!this.hasAnchor&&!!t?(this.hasAnchor=!0,this.textDom.innerText=(e=this._params.nextPointTip)!=null?e:"\u9009\u62E9\u4E0B\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53D6\u6D88\u9009\u62E9"):t||(this.hasAnchor=!1,this.textDom.innerText=(n=this._params.firstPointTip)!=null?n:"\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9")});f(this,"onEditedLineChange",t=>{var e;t.lines.length===1&&(this.textDom.innerText=(e=this._params.endTip)!=null?e:"\u53EF\u4EE5\u8FDE\u7EED\u9009\u62E9\u6D4B\u91CF\u70B9\uFF0C\u6216\u70B9\u51FB\u4E0B\u65B9\u201C\u7ED3\u675F\u201D\u6309\u94AE\u5B8C\u6210\u6D4B\u91CF\uFF08Esc\u53D6\u6D88\uFF0CCommand+S\u4FDD\u5B58\uFF09")});this._params=e,this.initDom(),e.container.append(this.container),this.measureController=t,t.hook.on("modeChange",this.onModelChange),t.hook.on("anchorChange",this.anchorChange),t.hook.on("editedPolylineChange",this.onEditedLineChange)}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this}hide(){return this.container.style.opacity="0",this.container.style.transform="translate(0, -10px)",this.measureController.hook.off("modeChange",this.onModelChange),this.measureController.hook.off("anchorChange",this.anchorChange),this.measureController.hook.off("editedPolylineChange",this.onEditedLineChange),this}initDom(){var n;const t=this.container,e=this.textDom;t.classList.add("fpm__guide-container"),t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.width="100%",t.style.height="110px",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.transform="translate(0, -10px)",t.style.background="linear-gradient(180deg, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.00) 100%)",t.style.transition="opacity 500ms ease-in-out, transform 500ms ease-in-out",t.style.opacity="0",e.classList.add("fpm__guide-text"),e.style.color="#fff",e.style.fontSize="20px",e.innerText=(n=this._params.startTip)!=null?n:"\u70B9\u51FB\u4E0B\u65B9\u201C\u5F00\u59CB\u201D\u6309\u94AE\u5F00\u59CB\u6D4B\u8DDD",t.appendChild(e)}}class af{constructor(t,e){f(this,"five");f(this,"measureController");f(this,"onKeyDown",t=>{if(t.metaKey&&t.code==="KeyS"){this.measureController.save().changeMode("Watch"),t.preventDefault();return}if(t.code==="Escape")return this.escape()});f(this,"onMouseDown",t=>{t.button===2&&(t.preventDefault(),this.escape())});this.five=e,this.measureController=t;const n=this.five.getElement();!n||(document.body.addEventListener("keydown",this.onKeyDown),n.addEventListener("mousedown",this.onMouseDown))}dispose(){const t=this.five.getElement();!t||(document.body.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("mousedown",this.onMouseDown))}escape(){return this.measureController.getCurrentMode()==="Watch"?this.measureController.disable():this.measureController.changeMode("Watch")}}class lf{constructor(t,e){f(this,"hasOpen",!1);f(this,"hook",new be.Subscribe);f(this,"magnifier");f(this,"five");f(this,"model");f(this,"group");f(this,"config");f(this,"isMobile");f(this,"fiveHelper");f(this,"useUIController");f(this,"params");f(this,"useGuideController");f(this,"container",document.createElement("div"));f(this,"shortcutKeyController");f(this,"controller",null);f(this,"getCurrentMode",()=>this.controller instanceof Sn?"Edit":this.controller instanceof fs?"Watch":this.controller instanceof on?"Mixed":this.controller instanceof us?"View":null);f(this,"changeMode",t=>{var o;if(!this.hasOpen||this.getCurrentMode()===t)return;(o=this.controller)==null||o.dispose();const e={View:us,Watch:fs,Edit:Sn,Mixed:on};if(!e[t])throw new Error("\u4E0D\u5B58\u5728\u7684 Mode");const n=this.createControllerParams();this.controller=new e[t](n),this.hook.emit("modeChange",t)});var o,s,r,a;this.five=t,this.params=e,this.config=ri(e,["openParams","magnifierParams"]),this.model=new ui(this.config),this.fiveHelper=new mh(t),this.isMobile=(s=(o=e==null?void 0:e.openParams)==null?void 0:o.isMobile)!=null?s:!1,this.magnifier=new Pa(t,(r=e.magnifierParams)!=null?r:{width:190,height:190,scale:2}),this.group=new G.Group,this.group.name="plugin-measure-group",this.container.classList.add("five-plugin-measure-container"),this.container.style.position="absolute",this.container.style.left="0",this.container.style.top="0",this.container.style.pointerEvents="none",this.container.style.width="100%",this.container.style.height="100%",this.container.style.opacity="0";const n=(a=this.params.openParams)!=null?a:{};if(this.params.useUIController!==!1){const l=X({container:this.container,openParams:n},typeof this.params.useUIController=="object"?this.params.useUIController:{});this.useUIController=new ms(this,l)}if(this.params.useGuideController!==!1){const l=X({container:this.container},typeof this.params.useGuideController=="object"?this.params.useGuideController:{});this.useGuideController=new rf(this,l)}}appendTo(t){t.append(this.container)}dispose(){var t,e;this.disable(),(t=this.useUIController)==null||t.dispose(),(e=this.magnifier)==null||e.dispose(),this.five.needsRender=!0}load(t){this.model.parse(t),this.save()}enable(t){var e;this.hasOpen||(this.hasOpen=!0,this.five.scene.add(this.group),this.container.style.opacity="1",t!=null&&t.mode?this.changeMode(t.mode):this.isMobile?this.changeMode("Mixed"):this.changeMode("Watch"),(e=this.useUIController)==null||e.show(),this.shortcutKeyController=new af(this,this.five),this.hook.emit("enable",!0))}disable(){var t,e,n,o;this.hasOpen=!1,this.container.style.opacity="0",(t=this.controller)==null||t.dispose(),(e=this.useUIController)==null||e.hide(),(n=this.useGuideController)==null||n.hide(),(o=this.shortcutKeyController)==null||o.dispose(),this.controller=null,this.five.helperVisible=!0,this.five.scene.remove(this.group),this.five.needsRender=!0,this.hook.emit("disable",!0)}edit(){const t=this.isMobile?"Mixed":"Edit";this.changeMode(t)}revoke(){this.controller instanceof Sn&&this.controller.revoke()}removePolyline(t){this.model.removePolyline(t)}removePolylineByID(t){const e=this.model.getPolylineByID(t);e&&this.model.removePolyline(e)}getPolylineByID(t){return this.model.getPolylineByID(t)}getEditedPolyline(){}highlightLine(t){if(this.getCurrentMode()!=="Watch")return!1;const e=this.model.getLineByID(t);return e?(this.controller.highlightLine(e),!0):!1}clearHighlightLines(){return this.getCurrentMode()!=="Watch"?!1:(this.controller.clearHighlightLines(),!0)}save(t){var o;if(!(this.controller instanceof Sn)&&!(this.controller instanceof on))return this;const e=(o=t==null?void 0:t.mode)!=null?o:"View",n=this.controller.polyline;return this.model.addPolyline(n),this.changeMode(e),this}addStartPoint(){this.controller instanceof on&&this.hook.emit("willChangeState","watching","editing")}addEndPoint(){this.controller instanceof on&&this.hook.emit("willChangeState","editing","watching")}toJson(){return this.model.toJson()}changeIsMobile(t){var e;if(this.isMobile=t,this.params.useUIController!==!1){(e=this.useUIController)==null||e.dispose();const n=X({container:this.container,mode:this.isMobile?"mobile":"pc"},typeof this.params.useUIController=="object"?this.params.useUIController:{});this.useUIController=new ms(this,n)}}changeConfigs(t){var e;Object.assign(this.config,t),(e=this.controller)==null||e.updateDistanceUI()}setCustomText(t,e){var o;const n=this.model.getLineByID(t);if(!n)throw new Error("\u4E0D\u5B58\u5728\u7684\u7EBF\u6BB5");n.setText(e),(o=this.controller)==null||o.updateDistanceUI()}createControllerParams(){var e;const t=(e=this.params.openParams)!=null?e:{};return t.isMobile=this.isMobile,{five:this.five,hook:this.hook,group:this.group,model:this.model,config:this.config,magnifier:this.magnifier,container:this.container,fiveHelper:this.fiveHelper,openParams:t,mouseGroup:La(X({},t.crossHairParameter)),userDistanceItemCreator:this.params.userDistanceItemCreator}}}const cf=function(t,e){return new lf(t,e)},Ba=$i(null);function df(i){ae(i,"svelte-19zi46m",".PanoSpatialTagPlugin__tag-origin.svelte-19zi46m{position:absolute;width:0.5rem;height:0.5rem;border-radius:50%;background:#fff;box-shadow:0 0 .6rem #fff;transform:translate(-50%, -50%) scale(1);transform-origin:center center;animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-19zi46m:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-19zi46m{transform:translate(-50%, -50%) scale(0.6);animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}")}function ps(i,t,e){const n=i.slice();return n[3]=t[e],n}function gs(i){let t,e=`${i[3].top}%`,n=`${i[3].left}%`,o,s;function r(){return i[2](i[3])}return{c(){t=j("i"),b(t,"class","svelte-19zi46m"),q(t,"PanoSpatialTagPlugin__tag-origin",!0),q(t,"PanoSpatialTagPlugin__tag-origin-destroy",i[3].destroying),R(t,"top",e),R(t,"left",n),R(t,"visibility",i[3].front?"visible":"hidden")},m(a,l){B(a,t,l),o||(s=Pe(t,"click",r),o=!0)},p(a,l){i=a,l&1&&q(t,"PanoSpatialTagPlugin__tag-origin-destroy",i[3].destroying),l&1&&e!==(e=`${i[3].top}%`)&&R(t,"top",e),l&1&&n!==(n=`${i[3].left}%`)&&R(t,"left",n),l&1&&R(t,"visibility",i[3].front?"visible":"hidden")},d(a){a&&z(t),o=!1,s()}}}function uf(i){let t,e=i[0],n=[];for(let o=0;o<e.length;o+=1)n[o]=gs(ps(i,e,o));return{c(){for(let o=0;o<n.length;o+=1)n[o].c();t=fe()},m(o,s){for(let r=0;r<n.length;r+=1)n[r].m(o,s);B(o,t,s)},p(o,[s]){if(s&3){e=o[0];let r;for(r=0;r<e.length;r+=1){const a=ps(o,e,r);n[r]?n[r].p(a,s):(n[r]=gs(a),n[r].c(),n[r].m(t.parentNode,t))}for(;r<n.length;r+=1)n[r].d(1);n.length=e.length}},i:te,o:te,d(o){tt(n,o),o&&z(t)}}}function hf(i,t,e){let{origins:n}=t;const o=r=>{Ba.update(()=>`${r}-PanoSpatialTagPlugin-${Date.now()}`)},s=r=>o(r.id);return i.$$set=r=>{"origins"in r&&e(0,n=r.origins)},[n,o,s]}class ff extends oe{constructor(t){super(),ie(this,t,hf,uf,ne,{origins:0},df)}}function mf(i){ae(i,"svelte-1i5h9zh",".PanoSpatialTagPlugin__tag-x.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0;display:block;white-space:nowrap;box-sizing:border-box;width:25rem;height:14rem;color:#FFF;transform:translate(0, -100%);transition:height .5s linear}.PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh.svelte-1i5h9zh{content:'';position:absolute;width:30rem;height:30rem;top:-15rem;left:-15rem;z-index:-1;opacity:0;transition:opacity .8s .6s;background:url('https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png');background-size:30rem 30rem}.PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:1rem;height:calc(100% - 1.5rem);width:.15rem;background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, .1));box-shadow:0 .1rem .5rem rgba(0, 0, 0, .2);opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .4s cubic-bezier(.44,.44,.74,.98) , opacity .4s cubic-bezier(.44,.44,.74,.98), width .5s linear, height .5s linear ;transform-origin:center bottom}.PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.3rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.5rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh.svelte-1i5h9zh{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;display:inline-block;transform:translate(-100%, 0);transition:transform .9s cubic-bezier(0,.65,.16,1.08) .6s;padding-left:.5rem;font-size:1rem}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content .svelte-1i5h9zh{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 0) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}")}function pf(i){let t,e,n,o,s,r,a,l,c,d,h,u,p,m,g;return{c(){t=j("div"),e=j("div"),n=_(),o=j("div"),s=j("i"),r=_(),a=j("i"),l=_(),c=j("i"),d=_(),h=j("div"),u=j("div"),b(e,"class","PanoSpatialTagPlugin__tag-shadow svelte-1i5h9zh"),R(e,"transform","translate("+i[7]/2*i[3]*3+"px, "+i[8]/2*(i[1]?-1:1)*i[3]*3+"px) scale("+1/i[3]+")"),b(s,"class","PanoSpatialTagPlugin__tag-flagpole svelte-1i5h9zh"),R(s,"width",i[4]+"rem"),b(a,"class","PanoSpatialTagPlugin__tag-line1 svelte-1i5h9zh"),b(c,"class","PanoSpatialTagPlugin__tag-line2 svelte-1i5h9zh"),b(o,"class","PanoSpatialTagPlugin__tag-line svelte-1i5h9zh"),b(u,"class","PanoSpatialTagPlugin__tag-content svelte-1i5h9zh"),b(h,"class","PanoSpatialTagPlugin__tag-animate svelte-1i5h9zh"),R(h,"transform","scale("+i[3]*3+")"),b(t,"id",p="PanoSpatialTagPlugin__"+i[0]),R(t,"height",20*i[5]+"rem"),b(t,"class","svelte-1i5h9zh"),q(t,"PanoSpatialTagPlugin__tag-x",!0),q(t,"PanoSpatialTagPlugin__tag-upside-down",i[1]),q(t,"PanoSpatialTagPlugin__tag-show",i[10]),q(t,"PanoSpatialTagPlugin__tag-hide",i[10]===!1||i[6])},m(v,A){B(v,t,A),Q(t,e),Q(t,n),Q(t,o),Q(o,s),Q(o,r),Q(o,a),Q(o,l),Q(o,c),Q(t,d),Q(t,h),Q(h,u),u.innerHTML=i[2],i[16](u),m||(g=Pe(u,"click",i[11]),m=!0)},p(v,[A]){A&394&&R(e,"transform","translate("+v[7]/2*v[3]*3+"px, "+v[8]/2*(v[1]?-1:1)*v[3]*3+"px) scale("+1/v[3]+")"),A&16&&R(s,"width",v[4]+"rem"),A&4&&(u.innerHTML=v[2]),A&8&&R(h,"transform","scale("+v[3]*3+")"),A&1&&p!==(p="PanoSpatialTagPlugin__"+v[0])&&b(t,"id",p),A&32&&R(t,"height",20*v[5]+"rem"),A&2&&q(t,"PanoSpatialTagPlugin__tag-upside-down",v[1]),A&1024&&q(t,"PanoSpatialTagPlugin__tag-show",v[10]),A&1088&&q(t,"PanoSpatialTagPlugin__tag-hide",v[10]===!1||v[6])},i:te,o:te,d(v){v&&z(t),i[16](null),m=!1,g()}}}function gf(i,t,e){let{id:n}=t,{upsideDown:o}=t,{content:s}=t,{contentZoom:r}=t,{lineWidthZoom:a}=t,{lineHeightZoom:l}=t,{destroying:c=!1}=t,{folded:d}=t,{dispose:h}=t,{events:u}=t,{hooks:p}=t,m=0,g=0,v,A,w=setTimeout(()=>{d||e(10,A=!0),w=void 0},100);const y=C=>{const S=Object.keys(u);let k=C.target;for(;k;){const F=k.getAttribute("class");if(!F){k=k.parentNode;continue}if(F.includes("PanoSpatialTagPlugin__tag-content")){k=null;break}S.forEach(O=>{F.includes(O)&&u[O](n)}),k=k.parentNode}};Ue(()=>{p.emit("initTag",{id:n})});const x=Ba.subscribe(C=>{if(C===null)return;const[S,k]=C.split("-PanoSpatialTagPlugin-");n===S&&(p.emit("clickOrigin",{id:n,show:A}),w||(e(10,A=d),e(12,d=!d),w=setTimeout(()=>{w=void 0},1500)))});qi(()=>{e(7,m=v.offsetWidth),e(8,g=v.offsetHeight),!w&&e(10,A=!d)}),yt(()=>{p.emit("destroyTag",{id:n}),x(),h()});function L(C){Me[C?"unshift":"push"](()=>{v=C,e(9,v)})}return i.$$set=C=>{"id"in C&&e(0,n=C.id),"upsideDown"in C&&e(1,o=C.upsideDown),"content"in C&&e(2,s=C.content),"contentZoom"in C&&e(3,r=C.contentZoom),"lineWidthZoom"in C&&e(4,a=C.lineWidthZoom),"lineHeightZoom"in C&&e(5,l=C.lineHeightZoom),"destroying"in C&&e(6,c=C.destroying),"folded"in C&&e(12,d=C.folded),"dispose"in C&&e(13,h=C.dispose),"events"in C&&e(14,u=C.events),"hooks"in C&&e(15,p=C.hooks)},[n,o,s,r,a,l,c,m,g,v,A,y,d,h,u,p,L]}class Af extends oe{constructor(t){super(),ie(this,t,gf,pf,ne,{id:0,upsideDown:1,content:2,contentZoom:3,lineWidthZoom:4,lineHeightZoom:5,destroying:6,folded:12,dispose:13,events:14,hooks:15},mf)}}const vf={position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",pointerEvents:"none"},As="<",vs=">",bs="%",ys="locals",bf="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)",yf={"&":"&amp","<":"&lt",">":"&gt",'"':"&#34","'":"&#39"},Qe={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"};function ws(i){return i.replace(/;(\s*$)/,"$1")}function wf(i,t){return new Cf(i).compileFunction()(t)}class Cf{constructor(t){f(this,"templateText");f(this,"mode",null);f(this,"truncate",!1);f(this,"currentLine",1);f(this,"source","");f(this,"regex",new RegExp(bf));this.templateText=t}compileFunction(){let t;const e=` var __output = "";
498
498
  function __append(s) { if (s !== undefined && s !== null) __output += s }
499
499
  with (`+ys+` || {}) {
500
500
  `,n=` }
package/dist/index.js CHANGED
@@ -8635,7 +8635,7 @@ class vs {
8635
8635
  };
8636
8636
  });
8637
8637
  var r;
8638
- this._params = e, this.measureController = t, this.mode = (r = e.mode) != null ? r : "pc", this.container = document.createElement("div"), this.container.innerHTML = this.mode === "mobile" ? Wh : Uh, this.container.classList.add("fpm__ui-controller", this.mode), e.container.appendChild(this.container);
8638
+ this._params = e, this.measureController = t, this.mode = (r = e.mode) != null ? r : "pc", this.container = document.createElement("div"), this.container.innerHTML = this.mode === "mobile" ? Wh : Uh, this.container.classList.add("fpm__ui-controller", this.mode), this.container.style.background = "rgba(0, 0, 0, 0.15)", e.container.appendChild(this.container);
8639
8639
  const n = this.container.querySelectorAll(".fpm__text"), o = this.container.querySelector(".fpm_ui-bg"), s = this.container.querySelector(".fpm_operating-space");
8640
8640
  Object.assign(o == null ? void 0 : o.style, Zh), Object.assign(s == null ? void 0 : s.style, Vh), Object.assign(this.container.style, Jh), n.forEach((a) => Object.assign(a.style, Kh));
8641
8641
  }
@@ -8757,7 +8757,7 @@ class sf {
8757
8757
  this.controller = new e[t](n), this.hook.emit("modeChange", t);
8758
8758
  });
8759
8759
  var o, s, r, a;
8760
- this.five = t, this.params = e, this.config = ci(e, ["openParams", "magnifierParams"]), this.model = new co(this.config), this.fiveHelper = new uh(t), this.isMobile = (s = (o = e == null ? void 0 : e.openParams) == null ? void 0 : o.isMobile) != null ? s : !1, this.magnifier = new dh(t, (r = e.magnifierParams) != null ? r : { width: 190, height: 190, scale: 2 }), this.group = new Vi(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.pointerEvents = "none", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0", this.container.style.background = "rgba(0, 0, 0, 0.15)";
8760
+ this.five = t, this.params = e, this.config = ci(e, ["openParams", "magnifierParams"]), this.model = new co(this.config), this.fiveHelper = new uh(t), this.isMobile = (s = (o = e == null ? void 0 : e.openParams) == null ? void 0 : o.isMobile) != null ? s : !1, this.magnifier = new dh(t, (r = e.magnifierParams) != null ? r : { width: 190, height: 190, scale: 2 }), this.group = new Vi(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.pointerEvents = "none", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0";
8761
8761
  const n = (a = this.params.openParams) != null ? a : {};
8762
8762
  if (this.params.useUIController !== !1) {
8763
8763
  const l = W({
package/dist/index.umd.js CHANGED
@@ -494,7 +494,7 @@ void main() {
494
494
  </div>
495
495
  </div>
496
496
  </div>
497
- `,jh={display:"none",position:"absolute",top:"0",left:"0",width:"100%",height:"100%",opacity:"0",transform:"translate(0, 10px)",transition:"opacity 500ms ease-in-out, transform 500ms ease-in-out"},Qh={position:"absolute",left:"50%",bottom:"32px",transform:"translateX(-50%)",height:"89px",display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:"14px",pointerEvents:"all",color:"#fff",zIndex:"10"},Oh={position:"absolute",bottom:"0",left:"0",opacity:"0.5",width:"100%",height:"184px",background:"linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 100%)",zIndex:"0"},dr={margin:"0 64px"},Rh={opacity:"0.85"},ur={width:"72px",height:"72px",backgroundSize:"100%",cursor:"pointer",transition:"all 200ms ease-in-out"},Fh={width:"24px",height:"24px",marginRight:"4px",backgroundSize:"100%",cursor:"pointer"},Gh={userSelect:"none",pointerEvents:"none"};class Hh{constructor(t,e,n){f(this,"container");f(this,"measureController");f(this,"mainElement");f(this,"_params");f(this,"_btnTexts",{start:"\u5F00\u59CB",end:"\u7ED3\u675F",revoke:"\u64A4\u9500",exit:"\u9000\u51FA"});f(this,"onMouseEnter",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="1"});f(this,"onMouseLeave",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="0.85"});f(this,"onClick",()=>{this.measureController.getCurrentMode()!=="Edit"?this.measureController.changeMode("Edit"):this.measureController.save().changeMode("Watch")});f(this,"modeChangeHandler",t=>{t==="Edit"?this.change2Done():this.change2Add()});var r,a,l,c;this._params=n,this._btnTexts={start:(r=this._params.startButtonText)!=null?r:this._btnTexts.start,end:(a=this._params.endButtonText)!=null?a:this._btnTexts.end,revoke:(l=this._params.revokeButtonText)!=null?l:this._btnTexts.revoke,exit:(c=this._params.exitButtonText)!=null?c:this._btnTexts.exit},this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,ur),Object.assign(this.mainElement.mainItem.style,dr);const{revokeTextDom:o,exitTextDom:s}=this._getTextElement();o&&(o.innerText=this._btnTexts.revoke),s&&(s.innerText=this._btnTexts.exit),this.change2Add(),this.measureController.hook.on("modeChange",this.modeChangeHandler),this.mainElement.mainItem.addEventListener("click",this.onClick),this.mainElement.mainItem.addEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.addEventListener("mouseleave",this.onMouseLeave)}dispose(){this.measureController.hook.off("modeChange",this.modeChangeHandler),this.mainElement.mainItem.removeEventListener("click",this.onClick),this.mainElement.mainItem.removeEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.removeEventListener("mouseleave",this.onMouseLeave)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),n=this.container.querySelector(".fpm__main-icon");if(!e||!t||!n)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:n}}_getTextElement(){const t=this.container.querySelector(".fpm__revoke-text"),e=this.container.querySelector(".fpm__exit-text");return{revokeTextDom:t,exitTextDom:e}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;if(t.className.includes("fpm__main__start")){e.innerText=this._btnTexts.start;return}t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText=this._btnTexts.start,e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.getMainElement();t.innerText!==this._btnTexts.end&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText=this._btnTexts.end,t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class Nh{constructor(t,e,n){f(this,"container");f(this,"measureController");f(this,"mainElement");f(this,"_params");f(this,"_btnTexts",{start:"\u5F00\u59CB",end:"\u7ED3\u675F"});f(this,"onClick",()=>{var t;this.mainElement.mainTextDom.innerText===((t=this._params.startButtonText)!=null?t:"\u5F00\u59CB")?(this.measureController.hook.emit("willChangeState","watching","editing"),this.change2Done()):(this.measureController.hook.emit("willChangeState","editing","watching"),this.change2Add())});var o,s;this._params=n,this._btnTexts={start:(o=this._params.startButtonText)!=null?o:this._btnTexts.start,end:(s=this._params.endButtonText)!=null?s:this._btnTexts.end},this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,ur),Object.assign(this.mainElement.mainItem.style,dr),this.change2Add(),this.mainElement.mainItem.addEventListener("click",this.onClick)}dispose(){this.mainElement.mainItem.removeEventListener("click",this.onClick)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),n=this.container.querySelector(".fpm__main-icon");if(!e||!t||!n)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:n}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;if(t.className.includes("fpm__main__start")){e.innerText=this._btnTexts.start;return}t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText=this._btnTexts.start,e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.mainElement;t.innerText!==this._btnTexts.end&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText=this._btnTexts.end,t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class Wh{constructor(t,e){f(this,"container");f(this,"revokeIcon");f(this,"revokeItem");f(this,"measureController");f(this,"onClick",()=>{this.measureController.revoke()});f(this,"onModeChange",t=>{if(t!=="Edit"&&this.revokeItem.className.includes("enabled")){this.revokeItem.classList.remove("enabled"),this.measureController.hook.off("anchorChange",this.onAnchorChange);return}this.measureController.hook.on("anchorChange",this.onAnchorChange)});f(this,"onAnchorChange",t=>{t&&this.revokeItem.classList.add("enabled")});this.measureController=t,this.container=e;const n=this.container.querySelector(".fpm__revoke-icon"),o=this.container.querySelector(".fpm__revoke");if(!n||!o)throw new Error("\u4E0D\u6B63\u786E\u7684\u9009\u62E9\u5668");this.revokeIcon=n,this.revokeItem=o,this.revokeItem.addEventListener("click",this.onClick),t.hook.on("modeChange",this.onModeChange)}dispose(){this.revokeItem.removeEventListener("click",this.onClick),this.measureController.hook.off("modeChange",this.onModeChange)}}class hr{constructor(t,e){f(this,"revoke");f(this,"container");f(this,"mainController");f(this,"disposers",[]);f(this,"measureController");f(this,"mode");f(this,"_params");f(this,"handleExit",()=>{const t=this.container.querySelector(".fpm__exit-icon"),e=this.container.querySelector(".fpm__exit");if(!e||!t)throw new Error("cannot find dom");this.mode==="pc"&&(Object.assign(e.style,Rh),Object.assign(t==null?void 0:t.style,Fh));const n=()=>{e.style.opacity="1"},o=()=>{e.style.opacity="0.85"},s=()=>{this.measureController.disable()};return e.addEventListener("click",s),e.addEventListener("mouseenter",n),e.addEventListener("mouseleave",o),()=>{e.removeEventListener("click",s),e.removeEventListener("mouseenter",n),e.removeEventListener("mouseleave",o)}});var r;this._params=e,this.measureController=t,this.mode=(r=e.mode)!=null?r:"pc",this.container=document.createElement("div"),this.container.innerHTML=this.mode==="mobile"?Bh:Th,this.container.classList.add("fpm__ui-controller",this.mode),e.container.appendChild(this.container);const n=this.container.querySelectorAll(".fpm__text"),o=this.container.querySelector(".fpm_ui-bg"),s=this.container.querySelector(".fpm_operating-space");Object.assign(o==null?void 0:o.style,Oh),Object.assign(s==null?void 0:s.style,Qh),Object.assign(this.container.style,jh),n.forEach(a=>Object.assign(a.style,Gh))}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.display="block",this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this.mode==="pc"?(this.revoke=new Wh(this.measureController,this.container),this.mainController=new Hh(this.measureController,this.container,this._params)):this.mainController=new Nh(this.measureController,this.container,this._params),this.disposers.push(this.handleExit()),this}hide(){var t,e;return this.container.style.display="none",this.container.style.opacity="0",this.container.style.transform="translate(0, 10px)",this.mode==="pc"&&((t=this.revoke)==null||t.dispose()),(e=this.mainController)==null||e.dispose(),this.disposers.forEach(n=>n()),this.disposers=[],this}}class Xh{constructor(t,e){f(this,"measureController");f(this,"textDom",document.createElement("span"));f(this,"container",document.createElement("div"));f(this,"hasAnchor",!1);f(this,"hasChangedToWatch",!1);f(this,"_params");f(this,"onModelChange",t=>{var e;if(t==="View"){this.hide();return}if(t==="Watch"){this.hasChangedToWatch?(this.textDom.innerText="",this.hide()):(this.show(),this.hasChangedToWatch=!0);return}t==="Edit"&&(this.textDom.innerText=(e=this._params.firstPointTip)!=null?e:"\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9",this.show())});f(this,"anchorChange",t=>{var e,n;!this.hasAnchor&&!!t?(this.hasAnchor=!0,this.textDom.innerText=(e=this._params.nextPointTip)!=null?e:"\u9009\u62E9\u4E0B\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53D6\u6D88\u9009\u62E9"):t||(this.hasAnchor=!1,this.textDom.innerText=(n=this._params.firstPointTip)!=null?n:"\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9")});f(this,"onEditedLineChange",t=>{var e;t.lines.length===1&&(this.textDom.innerText=(e=this._params.endTip)!=null?e:"\u53EF\u4EE5\u8FDE\u7EED\u9009\u62E9\u6D4B\u91CF\u70B9\uFF0C\u6216\u70B9\u51FB\u4E0B\u65B9\u201C\u7ED3\u675F\u201D\u6309\u94AE\u5B8C\u6210\u6D4B\u91CF\uFF08Esc\u53D6\u6D88\uFF0CCommand+S\u4FDD\u5B58\uFF09")});this._params=e,this.initDom(),e.container.append(this.container),this.measureController=t,t.hook.on("modeChange",this.onModelChange),t.hook.on("anchorChange",this.anchorChange),t.hook.on("editedPolylineChange",this.onEditedLineChange)}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this}hide(){return this.container.style.opacity="0",this.container.style.transform="translate(0, -10px)",this.measureController.hook.off("modeChange",this.onModelChange),this.measureController.hook.off("anchorChange",this.anchorChange),this.measureController.hook.off("editedPolylineChange",this.onEditedLineChange),this}initDom(){var n;const t=this.container,e=this.textDom;t.classList.add("fpm__guide-container"),t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.width="100%",t.style.height="110px",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.transform="translate(0, -10px)",t.style.background="linear-gradient(180deg, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.00) 100%)",t.style.transition="opacity 500ms ease-in-out, transform 500ms ease-in-out",t.style.opacity="0",e.classList.add("fpm__guide-text"),e.style.color="#fff",e.style.fontSize="20px",e.innerText=(n=this._params.startTip)!=null?n:"\u70B9\u51FB\u4E0B\u65B9\u201C\u5F00\u59CB\u201D\u6309\u94AE\u5F00\u59CB\u6D4B\u8DDD",t.appendChild(e)}}class Yh{constructor(t,e){f(this,"five");f(this,"measureController");f(this,"onKeyDown",t=>{if(t.metaKey&&t.code==="KeyS"){this.measureController.save().changeMode("Watch"),t.preventDefault();return}if(t.code==="Escape")return this.escape()});f(this,"onMouseDown",t=>{t.button===2&&(t.preventDefault(),this.escape())});this.five=e,this.measureController=t;const n=this.five.getElement();!n||(document.body.addEventListener("keydown",this.onKeyDown),n.addEventListener("mousedown",this.onMouseDown))}dispose(){const t=this.five.getElement();!t||(document.body.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("mousedown",this.onMouseDown))}escape(){return this.measureController.getCurrentMode()==="Watch"?this.measureController.disable():this.measureController.changeMode("Watch")}}class Uh{constructor(t,e){f(this,"hasOpen",!1);f(this,"hook",new de.Subscribe);f(this,"magnifier");f(this,"five");f(this,"model");f(this,"group");f(this,"config");f(this,"isMobile");f(this,"fiveHelper");f(this,"useUIController");f(this,"params");f(this,"useGuideController");f(this,"container",document.createElement("div"));f(this,"shortcutKeyController");f(this,"controller",null);f(this,"getCurrentMode",()=>this.controller instanceof li?"Edit":this.controller instanceof sr?"Watch":this.controller instanceof yn?"Mixed":this.controller instanceof nr?"View":null);f(this,"changeMode",t=>{var o;if(!this.hasOpen||this.getCurrentMode()===t)return;(o=this.controller)==null||o.dispose();const e={View:nr,Watch:sr,Edit:li,Mixed:yn};if(!e[t])throw new Error("\u4E0D\u5B58\u5728\u7684 Mode");const n=this.createControllerParams();this.controller=new e[t](n),this.hook.emit("modeChange",t)});var o,s,r,a;this.five=t,this.params=e,this.config=Jn(e,["openParams","magnifierParams"]),this.model=new si(this.config),this.fiveHelper=new ih(t),this.isMobile=(s=(o=e==null?void 0:e.openParams)==null?void 0:o.isMobile)!=null?s:!1,this.magnifier=new Ks(t,(r=e.magnifierParams)!=null?r:{width:190,height:190,scale:2}),this.group=new G.Group,this.group.name="plugin-measure-group",this.container.classList.add("five-plugin-measure-container"),this.container.style.position="absolute",this.container.style.left="0",this.container.style.top="0",this.container.style.pointerEvents="none",this.container.style.width="100%",this.container.style.height="100%",this.container.style.opacity="0",this.container.style.background="rgba(0, 0, 0, 0.15)";const n=(a=this.params.openParams)!=null?a:{};if(this.params.useUIController!==!1){const l=X({container:this.container,openParams:n},typeof this.params.useUIController=="object"?this.params.useUIController:{});this.useUIController=new hr(this,l)}if(this.params.useGuideController!==!1){const l=X({container:this.container},typeof this.params.useGuideController=="object"?this.params.useGuideController:{});this.useGuideController=new Xh(this,l)}}appendTo(t){t.append(this.container)}dispose(){var t,e;this.disable(),(t=this.useUIController)==null||t.dispose(),(e=this.magnifier)==null||e.dispose(),this.five.needsRender=!0}load(t){this.model.parse(t),this.save()}enable(t){var e;this.hasOpen||(this.hasOpen=!0,this.five.scene.add(this.group),this.container.style.opacity="1",t!=null&&t.mode?this.changeMode(t.mode):this.isMobile?this.changeMode("Mixed"):this.changeMode("Watch"),(e=this.useUIController)==null||e.show(),this.shortcutKeyController=new Yh(this,this.five),this.hook.emit("enable",!0))}disable(){var t,e,n,o;this.hasOpen=!1,this.container.style.opacity="0",(t=this.controller)==null||t.dispose(),(e=this.useUIController)==null||e.hide(),(n=this.useGuideController)==null||n.hide(),(o=this.shortcutKeyController)==null||o.dispose(),this.controller=null,this.five.helperVisible=!0,this.five.scene.remove(this.group),this.five.needsRender=!0,this.hook.emit("disable",!0)}edit(){const t=this.isMobile?"Mixed":"Edit";this.changeMode(t)}revoke(){this.controller instanceof li&&this.controller.revoke()}removePolyline(t){this.model.removePolyline(t)}removePolylineByID(t){const e=this.model.getPolylineByID(t);e&&this.model.removePolyline(e)}getPolylineByID(t){return this.model.getPolylineByID(t)}getEditedPolyline(){}highlightLine(t){if(this.getCurrentMode()!=="Watch")return!1;const e=this.model.getLineByID(t);return e?(this.controller.highlightLine(e),!0):!1}clearHighlightLines(){return this.getCurrentMode()!=="Watch"?!1:(this.controller.clearHighlightLines(),!0)}save(t){var o;if(!(this.controller instanceof li)&&!(this.controller instanceof yn))return this;const e=(o=t==null?void 0:t.mode)!=null?o:"View",n=this.controller.polyline;return this.model.addPolyline(n),this.changeMode(e),this}addStartPoint(){this.controller instanceof yn&&this.hook.emit("willChangeState","watching","editing")}addEndPoint(){this.controller instanceof yn&&this.hook.emit("willChangeState","editing","watching")}toJson(){return this.model.toJson()}changeIsMobile(t){var e;if(this.isMobile=t,this.params.useUIController!==!1){(e=this.useUIController)==null||e.dispose();const n=X({container:this.container,mode:this.isMobile?"mobile":"pc"},typeof this.params.useUIController=="object"?this.params.useUIController:{});this.useUIController=new hr(this,n)}}changeConfigs(t){var e;Object.assign(this.config,t),(e=this.controller)==null||e.updateDistanceUI()}setCustomText(t,e){var o;const n=this.model.getLineByID(t);if(!n)throw new Error("\u4E0D\u5B58\u5728\u7684\u7EBF\u6BB5");n.setText(e),(o=this.controller)==null||o.updateDistanceUI()}createControllerParams(){var e;const t=(e=this.params.openParams)!=null?e:{};return t.isMobile=this.isMobile,{five:this.five,hook:this.hook,group:this.group,model:this.model,config:this.config,magnifier:this.magnifier,container:this.container,fiveHelper:this.fiveHelper,openParams:t,mouseGroup:ar(X({},t.crossHairParameter)),userDistanceItemCreator:this.params.userDistanceItemCreator}}}const Vh=function(t,e){return new Uh(t,e)},fr=Qi(null);function Jh(i){le(i,"svelte-19zi46m",".PanoSpatialTagPlugin__tag-origin.svelte-19zi46m{position:absolute;width:0.5rem;height:0.5rem;border-radius:50%;background:#fff;box-shadow:0 0 .6rem #fff;transform:translate(-50%, -50%) scale(1);transform-origin:center center;animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-19zi46m:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-19zi46m{transform:translate(-50%, -50%) scale(0.6);animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}")}function mr(i,t,e){const n=i.slice();return n[3]=t[e],n}function pr(i){let t,e=`${i[3].top}%`,n=`${i[3].left}%`,o,s;function r(){return i[2](i[3])}return{c(){t=j("i"),b(t,"class","svelte-19zi46m"),K(t,"PanoSpatialTagPlugin__tag-origin",!0),K(t,"PanoSpatialTagPlugin__tag-origin-destroy",i[3].destroying),O(t,"top",e),O(t,"left",n),O(t,"visibility",i[3].front?"visible":"hidden")},m(a,l){T(a,t,l),o||(s=Ie(t,"click",r),o=!0)},p(a,l){i=a,l&1&&K(t,"PanoSpatialTagPlugin__tag-origin-destroy",i[3].destroying),l&1&&e!==(e=`${i[3].top}%`)&&O(t,"top",e),l&1&&n!==(n=`${i[3].left}%`)&&O(t,"left",n),l&1&&O(t,"visibility",i[3].front?"visible":"hidden")},d(a){a&&z(t),o=!1,s()}}}function _h(i){let t,e=i[0],n=[];for(let o=0;o<e.length;o+=1)n[o]=pr(mr(i,e,o));return{c(){for(let o=0;o<n.length;o+=1)n[o].c();t=pe()},m(o,s){for(let r=0;r<n.length;r+=1)n[r].m(o,s);T(o,t,s)},p(o,[s]){if(s&3){e=o[0];let r;for(r=0;r<e.length;r+=1){const a=mr(o,e,r);n[r]?n[r].p(a,s):(n[r]=pr(a),n[r].c(),n[r].m(t.parentNode,t))}for(;r<n.length;r+=1)n[r].d(1);n.length=e.length}},i:ne,o:ne,d(o){$e(n,o),o&&z(t)}}}function Zh(i,t,e){let{origins:n}=t;const o=r=>{fr.update(()=>`${r}-PanoSpatialTagPlugin-${Date.now()}`)},s=r=>o(r.id);return i.$$set=r=>{"origins"in r&&e(0,n=r.origins)},[n,o,s]}class qh extends se{constructor(t){super(),oe(this,t,Zh,_h,ie,{origins:0},Jh)}}function Kh(i){le(i,"svelte-1i5h9zh",".PanoSpatialTagPlugin__tag-x.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0;display:block;white-space:nowrap;box-sizing:border-box;width:25rem;height:14rem;color:#FFF;transform:translate(0, -100%);transition:height .5s linear}.PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh.svelte-1i5h9zh{content:'';position:absolute;width:30rem;height:30rem;top:-15rem;left:-15rem;z-index:-1;opacity:0;transition:opacity .8s .6s;background:url('https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png');background-size:30rem 30rem}.PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:1rem;height:calc(100% - 1.5rem);width:.15rem;background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, .1));box-shadow:0 .1rem .5rem rgba(0, 0, 0, .2);opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .4s cubic-bezier(.44,.44,.74,.98) , opacity .4s cubic-bezier(.44,.44,.74,.98), width .5s linear, height .5s linear ;transform-origin:center bottom}.PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.3rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.5rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh.svelte-1i5h9zh{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;display:inline-block;transform:translate(-100%, 0);transition:transform .9s cubic-bezier(0,.65,.16,1.08) .6s;padding-left:.5rem;font-size:1rem}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content .svelte-1i5h9zh{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 0) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}")}function $h(i){let t,e,n,o,s,r,a,l,c,d,h,u,p,m,g;return{c(){t=j("div"),e=j("div"),n=Z(),o=j("div"),s=j("i"),r=Z(),a=j("i"),l=Z(),c=j("i"),d=Z(),h=j("div"),u=j("div"),b(e,"class","PanoSpatialTagPlugin__tag-shadow svelte-1i5h9zh"),O(e,"transform","translate("+i[7]/2*i[3]*3+"px, "+i[8]/2*(i[1]?-1:1)*i[3]*3+"px) scale("+1/i[3]+")"),b(s,"class","PanoSpatialTagPlugin__tag-flagpole svelte-1i5h9zh"),O(s,"width",i[4]+"rem"),b(a,"class","PanoSpatialTagPlugin__tag-line1 svelte-1i5h9zh"),b(c,"class","PanoSpatialTagPlugin__tag-line2 svelte-1i5h9zh"),b(o,"class","PanoSpatialTagPlugin__tag-line svelte-1i5h9zh"),b(u,"class","PanoSpatialTagPlugin__tag-content svelte-1i5h9zh"),b(h,"class","PanoSpatialTagPlugin__tag-animate svelte-1i5h9zh"),O(h,"transform","scale("+i[3]*3+")"),b(t,"id",p="PanoSpatialTagPlugin__"+i[0]),O(t,"height",20*i[5]+"rem"),b(t,"class","svelte-1i5h9zh"),K(t,"PanoSpatialTagPlugin__tag-x",!0),K(t,"PanoSpatialTagPlugin__tag-upside-down",i[1]),K(t,"PanoSpatialTagPlugin__tag-show",i[10]),K(t,"PanoSpatialTagPlugin__tag-hide",i[10]===!1||i[6])},m(v,A){T(v,t,A),Q(t,e),Q(t,n),Q(t,o),Q(o,s),Q(o,r),Q(o,a),Q(o,l),Q(o,c),Q(t,d),Q(t,h),Q(h,u),u.innerHTML=i[2],i[16](u),m||(g=Ie(u,"click",i[11]),m=!0)},p(v,[A]){A&394&&O(e,"transform","translate("+v[7]/2*v[3]*3+"px, "+v[8]/2*(v[1]?-1:1)*v[3]*3+"px) scale("+1/v[3]+")"),A&16&&O(s,"width",v[4]+"rem"),A&4&&(u.innerHTML=v[2]),A&8&&O(h,"transform","scale("+v[3]*3+")"),A&1&&p!==(p="PanoSpatialTagPlugin__"+v[0])&&b(t,"id",p),A&32&&O(t,"height",20*v[5]+"rem"),A&2&&K(t,"PanoSpatialTagPlugin__tag-upside-down",v[1]),A&1024&&K(t,"PanoSpatialTagPlugin__tag-show",v[10]),A&1088&&K(t,"PanoSpatialTagPlugin__tag-hide",v[10]===!1||v[6])},i:ne,o:ne,d(v){v&&z(t),i[16](null),m=!1,g()}}}function ef(i,t,e){let{id:n}=t,{upsideDown:o}=t,{content:s}=t,{contentZoom:r}=t,{lineWidthZoom:a}=t,{lineHeightZoom:l}=t,{destroying:c=!1}=t,{folded:d}=t,{dispose:h}=t,{events:u}=t,{hooks:p}=t,m=0,g=0,v,A,w=setTimeout(()=>{d||e(10,A=!0),w=void 0},100);const y=C=>{const S=Object.keys(u);let k=C.target;for(;k;){const H=k.getAttribute("class");if(!H){k=k.parentNode;continue}if(H.includes("PanoSpatialTagPlugin__tag-content")){k=null;break}S.forEach(R=>{H.includes(R)&&u[R](n)}),k=k.parentNode}};Ue(()=>{p.emit("initTag",{id:n})});const x=fr.subscribe(C=>{if(C===null)return;const[S,k]=C.split("-PanoSpatialTagPlugin-");n===S&&(p.emit("clickOrigin",{id:n,show:A}),w||(e(10,A=d),e(12,d=!d),w=setTimeout(()=>{w=void 0},1500)))});zi(()=>{e(7,m=v.offsetWidth),e(8,g=v.offsetHeight),!w&&e(10,A=!d)}),gt(()=>{p.emit("destroyTag",{id:n}),x(),h()});function L(C){Te[C?"unshift":"push"](()=>{v=C,e(9,v)})}return i.$$set=C=>{"id"in C&&e(0,n=C.id),"upsideDown"in C&&e(1,o=C.upsideDown),"content"in C&&e(2,s=C.content),"contentZoom"in C&&e(3,r=C.contentZoom),"lineWidthZoom"in C&&e(4,a=C.lineWidthZoom),"lineHeightZoom"in C&&e(5,l=C.lineHeightZoom),"destroying"in C&&e(6,c=C.destroying),"folded"in C&&e(12,d=C.folded),"dispose"in C&&e(13,h=C.dispose),"events"in C&&e(14,u=C.events),"hooks"in C&&e(15,p=C.hooks)},[n,o,s,r,a,l,c,m,g,v,A,y,d,h,u,p,L]}class tf extends se{constructor(t){super(),oe(this,t,ef,$h,ie,{id:0,upsideDown:1,content:2,contentZoom:3,lineWidthZoom:4,lineHeightZoom:5,destroying:6,folded:12,dispose:13,events:14,hooks:15},Kh)}}const nf={position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",pointerEvents:"none"},gr="<",Ar=">",vr="%",br="locals",of="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)",sf={"&":"&amp","<":"&lt",">":"&gt",'"':"&#34","'":"&#39"},Re={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"};function yr(i){return i.replace(/;(\s*$)/,"$1")}function rf(i,t){return new af(i).compileFunction()(t)}class af{constructor(t){f(this,"templateText");f(this,"mode",null);f(this,"truncate",!1);f(this,"currentLine",1);f(this,"source","");f(this,"regex",new RegExp(of));this.templateText=t}compileFunction(){let t;const e=` var __output = "";
497
+ `,jh={display:"none",position:"absolute",top:"0",left:"0",width:"100%",height:"100%",opacity:"0",transform:"translate(0, 10px)",transition:"opacity 500ms ease-in-out, transform 500ms ease-in-out"},Qh={position:"absolute",left:"50%",bottom:"32px",transform:"translateX(-50%)",height:"89px",display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:"14px",pointerEvents:"all",color:"#fff",zIndex:"10"},Oh={position:"absolute",bottom:"0",left:"0",opacity:"0.5",width:"100%",height:"184px",background:"linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 100%)",zIndex:"0"},dr={margin:"0 64px"},Rh={opacity:"0.85"},ur={width:"72px",height:"72px",backgroundSize:"100%",cursor:"pointer",transition:"all 200ms ease-in-out"},Fh={width:"24px",height:"24px",marginRight:"4px",backgroundSize:"100%",cursor:"pointer"},Gh={userSelect:"none",pointerEvents:"none"};class Hh{constructor(t,e,n){f(this,"container");f(this,"measureController");f(this,"mainElement");f(this,"_params");f(this,"_btnTexts",{start:"\u5F00\u59CB",end:"\u7ED3\u675F",revoke:"\u64A4\u9500",exit:"\u9000\u51FA"});f(this,"onMouseEnter",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="1"});f(this,"onMouseLeave",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="0.85"});f(this,"onClick",()=>{this.measureController.getCurrentMode()!=="Edit"?this.measureController.changeMode("Edit"):this.measureController.save().changeMode("Watch")});f(this,"modeChangeHandler",t=>{t==="Edit"?this.change2Done():this.change2Add()});var r,a,l,c;this._params=n,this._btnTexts={start:(r=this._params.startButtonText)!=null?r:this._btnTexts.start,end:(a=this._params.endButtonText)!=null?a:this._btnTexts.end,revoke:(l=this._params.revokeButtonText)!=null?l:this._btnTexts.revoke,exit:(c=this._params.exitButtonText)!=null?c:this._btnTexts.exit},this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,ur),Object.assign(this.mainElement.mainItem.style,dr);const{revokeTextDom:o,exitTextDom:s}=this._getTextElement();o&&(o.innerText=this._btnTexts.revoke),s&&(s.innerText=this._btnTexts.exit),this.change2Add(),this.measureController.hook.on("modeChange",this.modeChangeHandler),this.mainElement.mainItem.addEventListener("click",this.onClick),this.mainElement.mainItem.addEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.addEventListener("mouseleave",this.onMouseLeave)}dispose(){this.measureController.hook.off("modeChange",this.modeChangeHandler),this.mainElement.mainItem.removeEventListener("click",this.onClick),this.mainElement.mainItem.removeEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.removeEventListener("mouseleave",this.onMouseLeave)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),n=this.container.querySelector(".fpm__main-icon");if(!e||!t||!n)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:n}}_getTextElement(){const t=this.container.querySelector(".fpm__revoke-text"),e=this.container.querySelector(".fpm__exit-text");return{revokeTextDom:t,exitTextDom:e}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;if(t.className.includes("fpm__main__start")){e.innerText=this._btnTexts.start;return}t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText=this._btnTexts.start,e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.getMainElement();t.innerText!==this._btnTexts.end&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText=this._btnTexts.end,t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class Nh{constructor(t,e,n){f(this,"container");f(this,"measureController");f(this,"mainElement");f(this,"_params");f(this,"_btnTexts",{start:"\u5F00\u59CB",end:"\u7ED3\u675F"});f(this,"onClick",()=>{var t;this.mainElement.mainTextDom.innerText===((t=this._params.startButtonText)!=null?t:"\u5F00\u59CB")?(this.measureController.hook.emit("willChangeState","watching","editing"),this.change2Done()):(this.measureController.hook.emit("willChangeState","editing","watching"),this.change2Add())});var o,s;this._params=n,this._btnTexts={start:(o=this._params.startButtonText)!=null?o:this._btnTexts.start,end:(s=this._params.endButtonText)!=null?s:this._btnTexts.end},this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,ur),Object.assign(this.mainElement.mainItem.style,dr),this.change2Add(),this.mainElement.mainItem.addEventListener("click",this.onClick)}dispose(){this.mainElement.mainItem.removeEventListener("click",this.onClick)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),n=this.container.querySelector(".fpm__main-icon");if(!e||!t||!n)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:n}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;if(t.className.includes("fpm__main__start")){e.innerText=this._btnTexts.start;return}t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText=this._btnTexts.start,e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.mainElement;t.innerText!==this._btnTexts.end&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText=this._btnTexts.end,t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class Wh{constructor(t,e){f(this,"container");f(this,"revokeIcon");f(this,"revokeItem");f(this,"measureController");f(this,"onClick",()=>{this.measureController.revoke()});f(this,"onModeChange",t=>{if(t!=="Edit"&&this.revokeItem.className.includes("enabled")){this.revokeItem.classList.remove("enabled"),this.measureController.hook.off("anchorChange",this.onAnchorChange);return}this.measureController.hook.on("anchorChange",this.onAnchorChange)});f(this,"onAnchorChange",t=>{t&&this.revokeItem.classList.add("enabled")});this.measureController=t,this.container=e;const n=this.container.querySelector(".fpm__revoke-icon"),o=this.container.querySelector(".fpm__revoke");if(!n||!o)throw new Error("\u4E0D\u6B63\u786E\u7684\u9009\u62E9\u5668");this.revokeIcon=n,this.revokeItem=o,this.revokeItem.addEventListener("click",this.onClick),t.hook.on("modeChange",this.onModeChange)}dispose(){this.revokeItem.removeEventListener("click",this.onClick),this.measureController.hook.off("modeChange",this.onModeChange)}}class hr{constructor(t,e){f(this,"revoke");f(this,"container");f(this,"mainController");f(this,"disposers",[]);f(this,"measureController");f(this,"mode");f(this,"_params");f(this,"handleExit",()=>{const t=this.container.querySelector(".fpm__exit-icon"),e=this.container.querySelector(".fpm__exit");if(!e||!t)throw new Error("cannot find dom");this.mode==="pc"&&(Object.assign(e.style,Rh),Object.assign(t==null?void 0:t.style,Fh));const n=()=>{e.style.opacity="1"},o=()=>{e.style.opacity="0.85"},s=()=>{this.measureController.disable()};return e.addEventListener("click",s),e.addEventListener("mouseenter",n),e.addEventListener("mouseleave",o),()=>{e.removeEventListener("click",s),e.removeEventListener("mouseenter",n),e.removeEventListener("mouseleave",o)}});var r;this._params=e,this.measureController=t,this.mode=(r=e.mode)!=null?r:"pc",this.container=document.createElement("div"),this.container.innerHTML=this.mode==="mobile"?Bh:Th,this.container.classList.add("fpm__ui-controller",this.mode),this.container.style.background="rgba(0, 0, 0, 0.15)",e.container.appendChild(this.container);const n=this.container.querySelectorAll(".fpm__text"),o=this.container.querySelector(".fpm_ui-bg"),s=this.container.querySelector(".fpm_operating-space");Object.assign(o==null?void 0:o.style,Oh),Object.assign(s==null?void 0:s.style,Qh),Object.assign(this.container.style,jh),n.forEach(a=>Object.assign(a.style,Gh))}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.display="block",this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this.mode==="pc"?(this.revoke=new Wh(this.measureController,this.container),this.mainController=new Hh(this.measureController,this.container,this._params)):this.mainController=new Nh(this.measureController,this.container,this._params),this.disposers.push(this.handleExit()),this}hide(){var t,e;return this.container.style.display="none",this.container.style.opacity="0",this.container.style.transform="translate(0, 10px)",this.mode==="pc"&&((t=this.revoke)==null||t.dispose()),(e=this.mainController)==null||e.dispose(),this.disposers.forEach(n=>n()),this.disposers=[],this}}class Xh{constructor(t,e){f(this,"measureController");f(this,"textDom",document.createElement("span"));f(this,"container",document.createElement("div"));f(this,"hasAnchor",!1);f(this,"hasChangedToWatch",!1);f(this,"_params");f(this,"onModelChange",t=>{var e;if(t==="View"){this.hide();return}if(t==="Watch"){this.hasChangedToWatch?(this.textDom.innerText="",this.hide()):(this.show(),this.hasChangedToWatch=!0);return}t==="Edit"&&(this.textDom.innerText=(e=this._params.firstPointTip)!=null?e:"\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9",this.show())});f(this,"anchorChange",t=>{var e,n;!this.hasAnchor&&!!t?(this.hasAnchor=!0,this.textDom.innerText=(e=this._params.nextPointTip)!=null?e:"\u9009\u62E9\u4E0B\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53D6\u6D88\u9009\u62E9"):t||(this.hasAnchor=!1,this.textDom.innerText=(n=this._params.firstPointTip)!=null?n:"\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9")});f(this,"onEditedLineChange",t=>{var e;t.lines.length===1&&(this.textDom.innerText=(e=this._params.endTip)!=null?e:"\u53EF\u4EE5\u8FDE\u7EED\u9009\u62E9\u6D4B\u91CF\u70B9\uFF0C\u6216\u70B9\u51FB\u4E0B\u65B9\u201C\u7ED3\u675F\u201D\u6309\u94AE\u5B8C\u6210\u6D4B\u91CF\uFF08Esc\u53D6\u6D88\uFF0CCommand+S\u4FDD\u5B58\uFF09")});this._params=e,this.initDom(),e.container.append(this.container),this.measureController=t,t.hook.on("modeChange",this.onModelChange),t.hook.on("anchorChange",this.anchorChange),t.hook.on("editedPolylineChange",this.onEditedLineChange)}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this}hide(){return this.container.style.opacity="0",this.container.style.transform="translate(0, -10px)",this.measureController.hook.off("modeChange",this.onModelChange),this.measureController.hook.off("anchorChange",this.anchorChange),this.measureController.hook.off("editedPolylineChange",this.onEditedLineChange),this}initDom(){var n;const t=this.container,e=this.textDom;t.classList.add("fpm__guide-container"),t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.width="100%",t.style.height="110px",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.transform="translate(0, -10px)",t.style.background="linear-gradient(180deg, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.00) 100%)",t.style.transition="opacity 500ms ease-in-out, transform 500ms ease-in-out",t.style.opacity="0",e.classList.add("fpm__guide-text"),e.style.color="#fff",e.style.fontSize="20px",e.innerText=(n=this._params.startTip)!=null?n:"\u70B9\u51FB\u4E0B\u65B9\u201C\u5F00\u59CB\u201D\u6309\u94AE\u5F00\u59CB\u6D4B\u8DDD",t.appendChild(e)}}class Yh{constructor(t,e){f(this,"five");f(this,"measureController");f(this,"onKeyDown",t=>{if(t.metaKey&&t.code==="KeyS"){this.measureController.save().changeMode("Watch"),t.preventDefault();return}if(t.code==="Escape")return this.escape()});f(this,"onMouseDown",t=>{t.button===2&&(t.preventDefault(),this.escape())});this.five=e,this.measureController=t;const n=this.five.getElement();!n||(document.body.addEventListener("keydown",this.onKeyDown),n.addEventListener("mousedown",this.onMouseDown))}dispose(){const t=this.five.getElement();!t||(document.body.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("mousedown",this.onMouseDown))}escape(){return this.measureController.getCurrentMode()==="Watch"?this.measureController.disable():this.measureController.changeMode("Watch")}}class Uh{constructor(t,e){f(this,"hasOpen",!1);f(this,"hook",new de.Subscribe);f(this,"magnifier");f(this,"five");f(this,"model");f(this,"group");f(this,"config");f(this,"isMobile");f(this,"fiveHelper");f(this,"useUIController");f(this,"params");f(this,"useGuideController");f(this,"container",document.createElement("div"));f(this,"shortcutKeyController");f(this,"controller",null);f(this,"getCurrentMode",()=>this.controller instanceof li?"Edit":this.controller instanceof sr?"Watch":this.controller instanceof yn?"Mixed":this.controller instanceof nr?"View":null);f(this,"changeMode",t=>{var o;if(!this.hasOpen||this.getCurrentMode()===t)return;(o=this.controller)==null||o.dispose();const e={View:nr,Watch:sr,Edit:li,Mixed:yn};if(!e[t])throw new Error("\u4E0D\u5B58\u5728\u7684 Mode");const n=this.createControllerParams();this.controller=new e[t](n),this.hook.emit("modeChange",t)});var o,s,r,a;this.five=t,this.params=e,this.config=Jn(e,["openParams","magnifierParams"]),this.model=new si(this.config),this.fiveHelper=new ih(t),this.isMobile=(s=(o=e==null?void 0:e.openParams)==null?void 0:o.isMobile)!=null?s:!1,this.magnifier=new Ks(t,(r=e.magnifierParams)!=null?r:{width:190,height:190,scale:2}),this.group=new G.Group,this.group.name="plugin-measure-group",this.container.classList.add("five-plugin-measure-container"),this.container.style.position="absolute",this.container.style.left="0",this.container.style.top="0",this.container.style.pointerEvents="none",this.container.style.width="100%",this.container.style.height="100%",this.container.style.opacity="0";const n=(a=this.params.openParams)!=null?a:{};if(this.params.useUIController!==!1){const l=X({container:this.container,openParams:n},typeof this.params.useUIController=="object"?this.params.useUIController:{});this.useUIController=new hr(this,l)}if(this.params.useGuideController!==!1){const l=X({container:this.container},typeof this.params.useGuideController=="object"?this.params.useGuideController:{});this.useGuideController=new Xh(this,l)}}appendTo(t){t.append(this.container)}dispose(){var t,e;this.disable(),(t=this.useUIController)==null||t.dispose(),(e=this.magnifier)==null||e.dispose(),this.five.needsRender=!0}load(t){this.model.parse(t),this.save()}enable(t){var e;this.hasOpen||(this.hasOpen=!0,this.five.scene.add(this.group),this.container.style.opacity="1",t!=null&&t.mode?this.changeMode(t.mode):this.isMobile?this.changeMode("Mixed"):this.changeMode("Watch"),(e=this.useUIController)==null||e.show(),this.shortcutKeyController=new Yh(this,this.five),this.hook.emit("enable",!0))}disable(){var t,e,n,o;this.hasOpen=!1,this.container.style.opacity="0",(t=this.controller)==null||t.dispose(),(e=this.useUIController)==null||e.hide(),(n=this.useGuideController)==null||n.hide(),(o=this.shortcutKeyController)==null||o.dispose(),this.controller=null,this.five.helperVisible=!0,this.five.scene.remove(this.group),this.five.needsRender=!0,this.hook.emit("disable",!0)}edit(){const t=this.isMobile?"Mixed":"Edit";this.changeMode(t)}revoke(){this.controller instanceof li&&this.controller.revoke()}removePolyline(t){this.model.removePolyline(t)}removePolylineByID(t){const e=this.model.getPolylineByID(t);e&&this.model.removePolyline(e)}getPolylineByID(t){return this.model.getPolylineByID(t)}getEditedPolyline(){}highlightLine(t){if(this.getCurrentMode()!=="Watch")return!1;const e=this.model.getLineByID(t);return e?(this.controller.highlightLine(e),!0):!1}clearHighlightLines(){return this.getCurrentMode()!=="Watch"?!1:(this.controller.clearHighlightLines(),!0)}save(t){var o;if(!(this.controller instanceof li)&&!(this.controller instanceof yn))return this;const e=(o=t==null?void 0:t.mode)!=null?o:"View",n=this.controller.polyline;return this.model.addPolyline(n),this.changeMode(e),this}addStartPoint(){this.controller instanceof yn&&this.hook.emit("willChangeState","watching","editing")}addEndPoint(){this.controller instanceof yn&&this.hook.emit("willChangeState","editing","watching")}toJson(){return this.model.toJson()}changeIsMobile(t){var e;if(this.isMobile=t,this.params.useUIController!==!1){(e=this.useUIController)==null||e.dispose();const n=X({container:this.container,mode:this.isMobile?"mobile":"pc"},typeof this.params.useUIController=="object"?this.params.useUIController:{});this.useUIController=new hr(this,n)}}changeConfigs(t){var e;Object.assign(this.config,t),(e=this.controller)==null||e.updateDistanceUI()}setCustomText(t,e){var o;const n=this.model.getLineByID(t);if(!n)throw new Error("\u4E0D\u5B58\u5728\u7684\u7EBF\u6BB5");n.setText(e),(o=this.controller)==null||o.updateDistanceUI()}createControllerParams(){var e;const t=(e=this.params.openParams)!=null?e:{};return t.isMobile=this.isMobile,{five:this.five,hook:this.hook,group:this.group,model:this.model,config:this.config,magnifier:this.magnifier,container:this.container,fiveHelper:this.fiveHelper,openParams:t,mouseGroup:ar(X({},t.crossHairParameter)),userDistanceItemCreator:this.params.userDistanceItemCreator}}}const Vh=function(t,e){return new Uh(t,e)},fr=Qi(null);function Jh(i){le(i,"svelte-19zi46m",".PanoSpatialTagPlugin__tag-origin.svelte-19zi46m{position:absolute;width:0.5rem;height:0.5rem;border-radius:50%;background:#fff;box-shadow:0 0 .6rem #fff;transform:translate(-50%, -50%) scale(1);transform-origin:center center;animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-19zi46m:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-19zi46m{transform:translate(-50%, -50%) scale(0.6);animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}")}function mr(i,t,e){const n=i.slice();return n[3]=t[e],n}function pr(i){let t,e=`${i[3].top}%`,n=`${i[3].left}%`,o,s;function r(){return i[2](i[3])}return{c(){t=j("i"),b(t,"class","svelte-19zi46m"),K(t,"PanoSpatialTagPlugin__tag-origin",!0),K(t,"PanoSpatialTagPlugin__tag-origin-destroy",i[3].destroying),O(t,"top",e),O(t,"left",n),O(t,"visibility",i[3].front?"visible":"hidden")},m(a,l){T(a,t,l),o||(s=Ie(t,"click",r),o=!0)},p(a,l){i=a,l&1&&K(t,"PanoSpatialTagPlugin__tag-origin-destroy",i[3].destroying),l&1&&e!==(e=`${i[3].top}%`)&&O(t,"top",e),l&1&&n!==(n=`${i[3].left}%`)&&O(t,"left",n),l&1&&O(t,"visibility",i[3].front?"visible":"hidden")},d(a){a&&z(t),o=!1,s()}}}function _h(i){let t,e=i[0],n=[];for(let o=0;o<e.length;o+=1)n[o]=pr(mr(i,e,o));return{c(){for(let o=0;o<n.length;o+=1)n[o].c();t=pe()},m(o,s){for(let r=0;r<n.length;r+=1)n[r].m(o,s);T(o,t,s)},p(o,[s]){if(s&3){e=o[0];let r;for(r=0;r<e.length;r+=1){const a=mr(o,e,r);n[r]?n[r].p(a,s):(n[r]=pr(a),n[r].c(),n[r].m(t.parentNode,t))}for(;r<n.length;r+=1)n[r].d(1);n.length=e.length}},i:ne,o:ne,d(o){$e(n,o),o&&z(t)}}}function Zh(i,t,e){let{origins:n}=t;const o=r=>{fr.update(()=>`${r}-PanoSpatialTagPlugin-${Date.now()}`)},s=r=>o(r.id);return i.$$set=r=>{"origins"in r&&e(0,n=r.origins)},[n,o,s]}class qh extends se{constructor(t){super(),oe(this,t,Zh,_h,ie,{origins:0},Jh)}}function Kh(i){le(i,"svelte-1i5h9zh",".PanoSpatialTagPlugin__tag-x.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0;display:block;white-space:nowrap;box-sizing:border-box;width:25rem;height:14rem;color:#FFF;transform:translate(0, -100%);transition:height .5s linear}.PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh.svelte-1i5h9zh{content:'';position:absolute;width:30rem;height:30rem;top:-15rem;left:-15rem;z-index:-1;opacity:0;transition:opacity .8s .6s;background:url('https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png');background-size:30rem 30rem}.PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:1rem;height:calc(100% - 1.5rem);width:.15rem;background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, .1));box-shadow:0 .1rem .5rem rgba(0, 0, 0, .2);opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .4s cubic-bezier(.44,.44,.74,.98) , opacity .4s cubic-bezier(.44,.44,.74,.98), width .5s linear, height .5s linear ;transform-origin:center bottom}.PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.3rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.5rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh.svelte-1i5h9zh{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;display:inline-block;transform:translate(-100%, 0);transition:transform .9s cubic-bezier(0,.65,.16,1.08) .6s;padding-left:.5rem;font-size:1rem}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content .svelte-1i5h9zh{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 0) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}")}function $h(i){let t,e,n,o,s,r,a,l,c,d,h,u,p,m,g;return{c(){t=j("div"),e=j("div"),n=Z(),o=j("div"),s=j("i"),r=Z(),a=j("i"),l=Z(),c=j("i"),d=Z(),h=j("div"),u=j("div"),b(e,"class","PanoSpatialTagPlugin__tag-shadow svelte-1i5h9zh"),O(e,"transform","translate("+i[7]/2*i[3]*3+"px, "+i[8]/2*(i[1]?-1:1)*i[3]*3+"px) scale("+1/i[3]+")"),b(s,"class","PanoSpatialTagPlugin__tag-flagpole svelte-1i5h9zh"),O(s,"width",i[4]+"rem"),b(a,"class","PanoSpatialTagPlugin__tag-line1 svelte-1i5h9zh"),b(c,"class","PanoSpatialTagPlugin__tag-line2 svelte-1i5h9zh"),b(o,"class","PanoSpatialTagPlugin__tag-line svelte-1i5h9zh"),b(u,"class","PanoSpatialTagPlugin__tag-content svelte-1i5h9zh"),b(h,"class","PanoSpatialTagPlugin__tag-animate svelte-1i5h9zh"),O(h,"transform","scale("+i[3]*3+")"),b(t,"id",p="PanoSpatialTagPlugin__"+i[0]),O(t,"height",20*i[5]+"rem"),b(t,"class","svelte-1i5h9zh"),K(t,"PanoSpatialTagPlugin__tag-x",!0),K(t,"PanoSpatialTagPlugin__tag-upside-down",i[1]),K(t,"PanoSpatialTagPlugin__tag-show",i[10]),K(t,"PanoSpatialTagPlugin__tag-hide",i[10]===!1||i[6])},m(v,A){T(v,t,A),Q(t,e),Q(t,n),Q(t,o),Q(o,s),Q(o,r),Q(o,a),Q(o,l),Q(o,c),Q(t,d),Q(t,h),Q(h,u),u.innerHTML=i[2],i[16](u),m||(g=Ie(u,"click",i[11]),m=!0)},p(v,[A]){A&394&&O(e,"transform","translate("+v[7]/2*v[3]*3+"px, "+v[8]/2*(v[1]?-1:1)*v[3]*3+"px) scale("+1/v[3]+")"),A&16&&O(s,"width",v[4]+"rem"),A&4&&(u.innerHTML=v[2]),A&8&&O(h,"transform","scale("+v[3]*3+")"),A&1&&p!==(p="PanoSpatialTagPlugin__"+v[0])&&b(t,"id",p),A&32&&O(t,"height",20*v[5]+"rem"),A&2&&K(t,"PanoSpatialTagPlugin__tag-upside-down",v[1]),A&1024&&K(t,"PanoSpatialTagPlugin__tag-show",v[10]),A&1088&&K(t,"PanoSpatialTagPlugin__tag-hide",v[10]===!1||v[6])},i:ne,o:ne,d(v){v&&z(t),i[16](null),m=!1,g()}}}function ef(i,t,e){let{id:n}=t,{upsideDown:o}=t,{content:s}=t,{contentZoom:r}=t,{lineWidthZoom:a}=t,{lineHeightZoom:l}=t,{destroying:c=!1}=t,{folded:d}=t,{dispose:h}=t,{events:u}=t,{hooks:p}=t,m=0,g=0,v,A,w=setTimeout(()=>{d||e(10,A=!0),w=void 0},100);const y=C=>{const S=Object.keys(u);let k=C.target;for(;k;){const H=k.getAttribute("class");if(!H){k=k.parentNode;continue}if(H.includes("PanoSpatialTagPlugin__tag-content")){k=null;break}S.forEach(R=>{H.includes(R)&&u[R](n)}),k=k.parentNode}};Ue(()=>{p.emit("initTag",{id:n})});const x=fr.subscribe(C=>{if(C===null)return;const[S,k]=C.split("-PanoSpatialTagPlugin-");n===S&&(p.emit("clickOrigin",{id:n,show:A}),w||(e(10,A=d),e(12,d=!d),w=setTimeout(()=>{w=void 0},1500)))});zi(()=>{e(7,m=v.offsetWidth),e(8,g=v.offsetHeight),!w&&e(10,A=!d)}),gt(()=>{p.emit("destroyTag",{id:n}),x(),h()});function L(C){Te[C?"unshift":"push"](()=>{v=C,e(9,v)})}return i.$$set=C=>{"id"in C&&e(0,n=C.id),"upsideDown"in C&&e(1,o=C.upsideDown),"content"in C&&e(2,s=C.content),"contentZoom"in C&&e(3,r=C.contentZoom),"lineWidthZoom"in C&&e(4,a=C.lineWidthZoom),"lineHeightZoom"in C&&e(5,l=C.lineHeightZoom),"destroying"in C&&e(6,c=C.destroying),"folded"in C&&e(12,d=C.folded),"dispose"in C&&e(13,h=C.dispose),"events"in C&&e(14,u=C.events),"hooks"in C&&e(15,p=C.hooks)},[n,o,s,r,a,l,c,m,g,v,A,y,d,h,u,p,L]}class tf extends se{constructor(t){super(),oe(this,t,ef,$h,ie,{id:0,upsideDown:1,content:2,contentZoom:3,lineWidthZoom:4,lineHeightZoom:5,destroying:6,folded:12,dispose:13,events:14,hooks:15},Kh)}}const nf={position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",pointerEvents:"none"},gr="<",Ar=">",vr="%",br="locals",of="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)",sf={"&":"&amp","<":"&lt",">":"&gt",'"':"&#34","'":"&#39"},Re={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"};function yr(i){return i.replace(/;(\s*$)/,"$1")}function rf(i,t){return new af(i).compileFunction()(t)}class af{constructor(t){f(this,"templateText");f(this,"mode",null);f(this,"truncate",!1);f(this,"currentLine",1);f(this,"source","");f(this,"regex",new RegExp(of));this.templateText=t}compileFunction(){let t;const e=` var __output = "";
498
498
  function __append(s) { if (s !== undefined && s !== null) __output += s }
499
499
  with (`+br+` || {}) {
500
500
  `,n=` }