@realsee/dnalogel 2.24.0-dev.1 → 2.24.1

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 (325) hide show
  1. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +1 -0
  2. package/dist/PanoMeasurePlugin/Model/area.d.ts +1 -1
  3. package/dist/PanoMeasurePlugin/typings/index.d.ts +4 -0
  4. package/dist/index.cjs.js +23 -23
  5. package/dist/index.js +346 -338
  6. package/dist/index.umd.js +29 -29
  7. package/docs/assets/search.js +1 -1
  8. package/docs/classes/CSS3DRender.html +30 -30
  9. package/docs/classes/CruisePluginController.html +25 -25
  10. package/docs/classes/GuideLineItem.GuideLineItem.html +19 -19
  11. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +34 -34
  12. package/docs/classes/Magnifier.html +19 -19
  13. package/docs/classes/ModelRoomLabelController.html +10 -10
  14. package/docs/classes/Object3DHelperController.html +24 -24
  15. package/docs/classes/PaintBrush.html +14 -14
  16. package/docs/classes/PanoMeasurePluginLine.html +26 -26
  17. package/docs/classes/PanoMeasurePluginModel.html +26 -26
  18. package/docs/classes/PanoMeasurePluginPoint.html +13 -13
  19. package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
  20. package/docs/classes/PanoTagPluginController.html +46 -46
  21. package/docs/classes/Util.BetterTween.html +8 -8
  22. package/docs/classes/Util.Interval.html +11 -11
  23. package/docs/classes/Util.Magnifier.html +19 -19
  24. package/docs/classes/Util.PointDomHelper.html +10 -10
  25. package/docs/classes/Util.PointHelper.html +10 -10
  26. package/docs/classes/Util.PointSelectorHelper.html +15 -15
  27. package/docs/classes/Util.Rectangle.html +12 -12
  28. package/docs/enums/CameraMovementEffect.html +6 -6
  29. package/docs/enums/ContentType.html +19 -19
  30. package/docs/enums/DIRECTION.html +8 -8
  31. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +8 -8
  32. package/docs/enums/DimensionType.html +6 -6
  33. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +7 -7
  34. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +8 -8
  35. package/docs/enums/PaintBrushTypeEnum.html +7 -7
  36. package/docs/enums/PointType.html +6 -6
  37. package/docs/enums/Rotation.html +7 -7
  38. package/docs/functions/CSS3DRenderPlugin.html +3 -3
  39. package/docs/functions/CameraMovementPlugin.html +3 -3
  40. package/docs/functions/CruisePlugin.html +3 -3
  41. package/docs/functions/GuideLinePlugin.html +4 -4
  42. package/docs/functions/ItemLabelPlugin.html +3 -3
  43. package/docs/functions/MapviewFloorplanPlugin.html +3 -3
  44. package/docs/functions/ModelChassisCompassPlugin.html +3 -3
  45. package/docs/functions/ModelEntryDoorGuidePlugin.html +3 -3
  46. package/docs/functions/ModelFloorplanPlugin.html +3 -3
  47. package/docs/functions/ModelItemLabelPlugin.html +3 -3
  48. package/docs/functions/ModelRoomLabelPlugin.html +3 -3
  49. package/docs/functions/ModelTVVideoPlugin.html +3 -3
  50. package/docs/functions/ModelViewPlugin.html +3 -3
  51. package/docs/functions/Object3DHelperPlugin.html +3 -3
  52. package/docs/functions/PanoCompassPlugin.html +3 -3
  53. package/docs/functions/PanoCursorRaycasterPlugin.html +3 -3
  54. package/docs/functions/PanoDoorLabelPlugin.html +3 -3
  55. package/docs/functions/PanoFloorplanRadarPlugin.html +3 -3
  56. package/docs/functions/PanoMeasurePlugin.html +3 -3
  57. package/docs/functions/PanoRulerPlugin.html +3 -3
  58. package/docs/functions/PanoRulerProPlugin.html +3 -3
  59. package/docs/functions/PanoSpatialTagPlugin.html +3 -3
  60. package/docs/functions/PanoTagPlugin.html +3 -3
  61. package/docs/functions/PanoVideoPlugin.html +3 -3
  62. package/docs/functions/TopviewFloorplanPlugin.html +3 -3
  63. package/docs/functions/Util.absoluteUrl.html +4 -4
  64. package/docs/functions/Util.getCoordsFromClient.html +4 -4
  65. package/docs/functions/Util.getCoordsFromElement.html +4 -4
  66. package/docs/functions/Util.getFrameTime.html +4 -4
  67. package/docs/functions/Util.getIntersectFromRelativePosition.html +4 -4
  68. package/docs/functions/Util.getRaycasterFromFivePointer.html +4 -4
  69. package/docs/functions/Util.isAbsoluteURL.html +4 -4
  70. package/docs/functions/Util.isModelLike.html +4 -4
  71. package/docs/functions/Util.isNil.html +4 -4
  72. package/docs/functions/Util.isPanoramaLike.html +4 -4
  73. package/docs/functions/Util.nextFrame.html +4 -4
  74. package/docs/functions/Util.notNil.html +4 -4
  75. package/docs/functions/Util.requestAnimationFrameInterval.html +4 -4
  76. package/docs/functions/Util.tweenProgress.html +4 -4
  77. package/docs/functions/Util.uuid.html +4 -4
  78. package/docs/functions/pluginFlag.html +4 -4
  79. package/docs/index.html +4 -4
  80. package/docs/interfaces/AddTagConfig.html +5 -5
  81. package/docs/interfaces/CSS3DRenderPluginEventMap.html +10 -10
  82. package/docs/interfaces/CSS3DRenderPluginState.html +7 -7
  83. package/docs/interfaces/CameraMovementPluginExportType.html +6 -6
  84. package/docs/interfaces/CruisePluginTypes.Config.html +7 -7
  85. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +11 -11
  86. package/docs/interfaces/CruisePluginTypes.EventMap.html +19 -19
  87. package/docs/interfaces/CruisePluginTypes.MoveAction.html +11 -11
  88. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +13 -13
  89. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +13 -13
  90. package/docs/interfaces/CruisePluginTypes.PluginData.html +8 -8
  91. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +6 -6
  92. package/docs/interfaces/CruisePluginTypes.PluginState.html +10 -10
  93. package/docs/interfaces/EventMap.html +14 -14
  94. package/docs/interfaces/FloorplanBounding.html +7 -7
  95. package/docs/interfaces/FloorplanData.html +9 -9
  96. package/docs/interfaces/FloorplanEntrance.html +10 -10
  97. package/docs/interfaces/FloorplanExtraObject.html +9 -9
  98. package/docs/interfaces/FloorplanExtraObject3D.html +7 -7
  99. package/docs/interfaces/FloorplanFloorData.html +8 -8
  100. package/docs/interfaces/FloorplanImagePosition.html +6 -6
  101. package/docs/interfaces/FloorplanObserver.html +8 -8
  102. package/docs/interfaces/FloorplanOutlineItem.html +8 -8
  103. package/docs/interfaces/FloorplanPosition.html +6 -6
  104. package/docs/interfaces/FloorplanRoomItem.html +12 -12
  105. package/docs/interfaces/FloorplanRoomLabelItem.html +6 -6
  106. package/docs/interfaces/FloorplanServerBounding.html +7 -7
  107. package/docs/interfaces/FloorplanServerComputedData.html +9 -9
  108. package/docs/interfaces/FloorplanServerData.html +6 -6
  109. package/docs/interfaces/FloorplanServerDoorItem.html +9 -9
  110. package/docs/interfaces/FloorplanServerDoorPosition.html +7 -7
  111. package/docs/interfaces/FloorplanServerEntrance.html +10 -10
  112. package/docs/interfaces/FloorplanServerFloorData.html +8 -8
  113. package/docs/interfaces/FloorplanServerImagePosition.html +6 -6
  114. package/docs/interfaces/FloorplanServerObserver.html +8 -8
  115. package/docs/interfaces/FloorplanServerOutlineItem.html +8 -8
  116. package/docs/interfaces/FloorplanServerPosition.html +6 -6
  117. package/docs/interfaces/FloorplanServerRoomItem.html +13 -13
  118. package/docs/interfaces/FloorplanServerRoomLabelItem.html +6 -6
  119. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +7 -7
  120. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +9 -9
  121. package/docs/interfaces/GuideLinePluginType.EventMap.html +12 -12
  122. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +7 -7
  123. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +5 -5
  124. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +12 -12
  125. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +7 -7
  126. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +17 -17
  127. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +6 -6
  128. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +17 -17
  129. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +4 -4
  130. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +6 -6
  131. package/docs/interfaces/GuideLinePluginType.PluginState.html +7 -7
  132. package/docs/interfaces/GuideLinePluginType.Route.html +10 -10
  133. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +8 -8
  134. package/docs/interfaces/HelperOffset.html +7 -7
  135. package/docs/interfaces/ImagePlaneGroup.html +5 -5
  136. package/docs/interfaces/ItemLabelPluginData.html +5 -5
  137. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +10 -10
  138. package/docs/interfaces/ItemLabelPluginParametersType.html +8 -8
  139. package/docs/interfaces/MinMax.html +6 -6
  140. package/docs/interfaces/ModelChassisCompassPluginData.html +6 -6
  141. package/docs/interfaces/ModelChassisCompassPluginExportType.html +7 -7
  142. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +6 -6
  143. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +7 -7
  144. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +7 -7
  145. package/docs/interfaces/ModelItemLabelPluginData.html +5 -5
  146. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +10 -10
  147. package/docs/interfaces/ModelItemLabelPluginParametersType.html +6 -6
  148. package/docs/interfaces/ModelRoomLabelPluginData.html +5 -5
  149. package/docs/interfaces/ModelTVVideoPluginData.html +8 -8
  150. package/docs/interfaces/ModelTVVideoPluginExportType.html +7 -7
  151. package/docs/interfaces/ModelTVVideoPluginParameterType.html +5 -5
  152. package/docs/interfaces/ModelViewPluginExportType.html +10 -10
  153. package/docs/interfaces/Object3DHelperState.html +7 -7
  154. package/docs/interfaces/ObjectHelperControllers.html +8 -8
  155. package/docs/interfaces/PaintBrushAction.html +11 -11
  156. package/docs/interfaces/PaintBrushConfigs.html +11 -11
  157. package/docs/interfaces/PaintBrushState.html +9 -9
  158. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +9 -9
  159. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +4 -4
  160. package/docs/interfaces/PanoMeasureParameterType.html +42 -17
  161. package/docs/interfaces/PanoMeasurePluginLineJson.html +7 -7
  162. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +6 -6
  163. package/docs/interfaces/PanoMeasurePluginPointJson.html +6 -6
  164. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +7 -7
  165. package/docs/interfaces/PanoRulerPluginExportType.html +9 -9
  166. package/docs/interfaces/PanoRulerPluginOptions.html +6 -6
  167. package/docs/interfaces/PanoRulerPluginParameterType.html +7 -7
  168. package/docs/interfaces/PanoRulerProPluginExportType.html +8 -8
  169. package/docs/interfaces/PanoRulerProPluginOptions.html +6 -6
  170. package/docs/interfaces/PanoRulerProPluginParameterType.html +6 -6
  171. package/docs/interfaces/PanoRulerProPluginState.html +7 -7
  172. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +4 -4
  173. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +4 -4
  174. package/docs/interfaces/PanoSpatialTagPluginData.html +10 -10
  175. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +9 -9
  176. package/docs/interfaces/PanoSpatialTagPluginExportType.html +12 -12
  177. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +9 -9
  178. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +12 -12
  179. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +10 -10
  180. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +9 -9
  181. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +5 -5
  182. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +7 -7
  183. package/docs/interfaces/PanoVideoPluginType.PluginData.html +5 -5
  184. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +8 -8
  185. package/docs/interfaces/PanoVideoPluginType.PluginState.html +5 -5
  186. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +7 -7
  187. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +9 -9
  188. package/docs/interfaces/Point.html +7 -7
  189. package/docs/interfaces/Room.html +8 -8
  190. package/docs/interfaces/RoomInfo.html +6 -6
  191. package/docs/interfaces/RoomLabel.html +13 -13
  192. package/docs/interfaces/RoomRules.html +4 -4
  193. package/docs/interfaces/Rooms.html +4 -4
  194. package/docs/interfaces/Scissor.html +8 -8
  195. package/docs/interfaces/State.html +7 -7
  196. package/docs/interfaces/TagCacheInterface.html +11 -11
  197. package/docs/interfaces/TagConfig.html +12 -12
  198. package/docs/interfaces/TagGLTFObjectGroup.html +5 -5
  199. package/docs/interfaces/TagIconUrl.html +11 -11
  200. package/docs/interfaces/TagObjectGroup.html +5 -5
  201. package/docs/interfaces/TagStyle.html +5 -5
  202. package/docs/interfaces/Tags.html +8 -8
  203. package/docs/interfaces/TemporaryState.html +5 -5
  204. package/docs/interfaces/Util.MagnifierParameter.html +10 -10
  205. package/docs/interfaces/Util.MouseGroupParameter.html +7 -7
  206. package/docs/interfaces/Util.PointIntersection.html +7 -7
  207. package/docs/modules/CruisePluginTypes.html +4 -4
  208. package/docs/modules/GuideLineItem.html +4 -4
  209. package/docs/modules/GuideLineModeItem.html +4 -4
  210. package/docs/modules/GuideLinePluginType.html +4 -4
  211. package/docs/modules/PanoVideoPluginType.html +4 -4
  212. package/docs/modules/Util.html +4 -4
  213. package/docs/modules.html +4 -4
  214. package/docs/types/ArrayPosition.html +4 -4
  215. package/docs/types/AudioAppearance.html +4 -4
  216. package/docs/types/AudioTagTypeConfigKey.html +4 -4
  217. package/docs/types/CSS3DRenderExportType.html +4 -4
  218. package/docs/types/CSS3DRenderPluginExportType.html +4 -4
  219. package/docs/types/CSS3DRenderPluginParameterType.html +4 -4
  220. package/docs/types/ClassFunctionParameters.html +4 -4
  221. package/docs/types/Color.html +4 -4
  222. package/docs/types/ContentTypeConfigKey.html +4 -4
  223. package/docs/types/ContentTypeConfigKeySplit.html +4 -4
  224. package/docs/types/ContentTypeMap.html +4 -4
  225. package/docs/types/Create3DDomContainerReturnType.html +4 -4
  226. package/docs/types/Create3DElementReturnType.html +4 -4
  227. package/docs/types/CruisePluginExportType.html +4 -4
  228. package/docs/types/CruisePluginTypes.CruiseData.html +4 -4
  229. package/docs/types/CruisePluginTypes.MoveEffect.html +4 -4
  230. package/docs/types/DeprecatedMediaPlaneProperty.html +4 -4
  231. package/docs/types/DeprecatedTagProperty.html +4 -4
  232. package/docs/types/Direction-1.html +4 -4
  233. package/docs/types/Direction4.html +4 -4
  234. package/docs/types/ElementRenderer.html +4 -4
  235. package/docs/types/FloorplanRuleLabels.html +4 -4
  236. package/docs/types/FloorplanServerRuleLabels.html +4 -4
  237. package/docs/types/GuideLinePluginExportType.html +4 -4
  238. package/docs/types/GuideLinePluginType.GuideLineItem.html +4 -4
  239. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +4 -4
  240. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +4 -4
  241. package/docs/types/GuideLinePluginType.GuideLineStyle.html +4 -4
  242. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +4 -4
  243. package/docs/types/GuideLinePluginType.PathItem.html +4 -4
  244. package/docs/types/GuideLinePluginType.PluginData.html +4 -4
  245. package/docs/types/HelperEventMap.html +4 -4
  246. package/docs/types/LoadTagConfig.html +4 -4
  247. package/docs/types/MapviewFloorplanPluginParameterType.html +4 -4
  248. package/docs/types/MapviewFloorplanPluginReturnType.html +4 -4
  249. package/docs/types/MediaData.html +4 -4
  250. package/docs/types/MediaStore.html +4 -4
  251. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +4 -4
  252. package/docs/types/ModelFloorplanPluginParameterType.html +4 -4
  253. package/docs/types/ModelFloorplanPluginReturnType.html +4 -4
  254. package/docs/types/ModelRoomLabelPluginParameters.html +4 -4
  255. package/docs/types/ModelRoomLabelPluginReturnType.html +4 -4
  256. package/docs/types/MoveArgs.html +4 -4
  257. package/docs/types/MoveOpts.html +4 -4
  258. package/docs/types/Object3DHelperEventMap.html +4 -4
  259. package/docs/types/ObjectFit.html +4 -4
  260. package/docs/types/PaintBrushEventMap.html +4 -4
  261. package/docs/types/PanoCompassPluginData.html +4 -4
  262. package/docs/types/PanoCompassPluginExportType.html +4 -4
  263. package/docs/types/PanoCompassPluginParameterType.html +4 -4
  264. package/docs/types/PanoFloorplanRadarPluginParameterType.html +4 -4
  265. package/docs/types/PanoFloorplanRadarPluginReturnType.html +4 -4
  266. package/docs/types/PanoIndex.html +4 -4
  267. package/docs/types/PanoMeasurePluginEvent.html +4 -4
  268. package/docs/types/PanoMeasureReturnType.html +4 -4
  269. package/docs/types/PanoSpatialTagPluginId.html +4 -4
  270. package/docs/types/PanoTagPluginExportInterface.html +4 -4
  271. package/docs/types/PanoTagPluginParamsInterface.html +4 -4
  272. package/docs/types/PanoVideoPluginParameterType.html +4 -4
  273. package/docs/types/PanoVideoPluginReturnType.html +4 -4
  274. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +4 -4
  275. package/docs/types/PlaneTag.html +4 -4
  276. package/docs/types/Point2DTag.html +4 -4
  277. package/docs/types/Point3DTag.html +4 -4
  278. package/docs/types/PointTag.html +4 -4
  279. package/docs/types/PointTagInstance.html +4 -4
  280. package/docs/types/Position.html +4 -4
  281. package/docs/types/RotateArgs.html +4 -4
  282. package/docs/types/RotateOpts.html +4 -4
  283. package/docs/types/RuleLabelsKey.html +4 -4
  284. package/docs/types/RuleLabelsValue.html +4 -4
  285. package/docs/types/StickType.html +4 -4
  286. package/docs/types/Tag.html +4 -4
  287. package/docs/types/Tag2D.html +4 -4
  288. package/docs/types/Tag3D.html +4 -4
  289. package/docs/types/TagContentType.html +4 -4
  290. package/docs/types/TagDimensionType.html +4 -4
  291. package/docs/types/TagElement.html +4 -4
  292. package/docs/types/TagEvents.html +4 -4
  293. package/docs/types/TagGLTFObject.html +4 -4
  294. package/docs/types/TagHooks.html +4 -4
  295. package/docs/types/TagId.html +4 -4
  296. package/docs/types/TagInstance.html +4 -4
  297. package/docs/types/TagPointType.html +4 -4
  298. package/docs/types/TagRendererMap.html +4 -4
  299. package/docs/types/TopviewFloorplanPluginParameterType.html +4 -4
  300. package/docs/types/TopviewFloorplanPluginReturnType.html +4 -4
  301. package/docs/types/WorkCode.html +4 -4
  302. package/docs/variables/FLOOR_TYPE_MAP.html +4 -4
  303. package/docs/variables/PLUGIN.html +4 -4
  304. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +4 -4
  305. package/docs/variables/ROOM_TYPE_MAP.html +4 -4
  306. package/docs/variables/itemLabelPluginServerParams.html +4 -4
  307. package/docs/variables/modelItemLabelPluginServerParams.html +4 -4
  308. package/docs/variables/modelRoomLabelPluginServerParams.html +4 -4
  309. package/libs/PanoMeasurePlugin/Components/Controller0.js +32 -31
  310. package/libs/PanoMeasurePlugin/Components/Controller1.js +14 -13
  311. package/libs/PanoMeasurePlugin/Controller/BaseController.d.ts +1 -0
  312. package/libs/PanoMeasurePlugin/Controller/BaseController.js +14 -7
  313. package/libs/PanoMeasurePlugin/Controller/EditController.js +12 -11
  314. package/libs/PanoMeasurePlugin/Controller/WatchController.js +74 -59
  315. package/libs/PanoMeasurePlugin/Controller/index.js +18 -17
  316. package/libs/PanoMeasurePlugin/Model/area.d.ts +1 -1
  317. package/libs/PanoMeasurePlugin/Model/area.js +51 -35
  318. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +14 -13
  319. package/libs/PanoMeasurePlugin/index.js +25 -24
  320. package/libs/PanoMeasurePlugin/typings/index.d.ts +4 -0
  321. package/libs/PanoMeasurePlugin/utils/dom/areaDom.js +47 -29
  322. package/libs/base/BasePlugin.js +1 -1
  323. package/libs/index.js +1 -1
  324. package/libs/shared-utils/logger.js +1 -1
  325. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- var uf = Object.defineProperty, ff = Object.defineProperties;
2
- var mf = Object.getOwnPropertyDescriptors;
1
+ var ff = Object.defineProperty, mf = Object.defineProperties;
2
+ var gf = Object.getOwnPropertyDescriptors;
3
3
  var il = Object.getOwnPropertySymbols;
4
- var gf = Object.prototype.hasOwnProperty, pf = Object.prototype.propertyIsEnumerable;
5
- var Ir = (i, t, e) => t in i ? uf(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, N = (i, t) => {
4
+ var pf = Object.prototype.hasOwnProperty, Af = Object.prototype.propertyIsEnumerable;
5
+ var Ir = (i, t, e) => t in i ? ff(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, N = (i, t) => {
6
6
  for (var e in t || (t = {}))
7
- gf.call(t, e) && Ir(i, e, t[e]);
7
+ pf.call(t, e) && Ir(i, e, t[e]);
8
8
  if (il)
9
9
  for (var e of il(t))
10
- pf.call(t, e) && Ir(i, e, t[e]);
10
+ Af.call(t, e) && Ir(i, e, t[e]);
11
11
  return i;
12
- }, Ae = (i, t) => ff(i, mf(t));
12
+ }, Ae = (i, t) => mf(i, gf(t));
13
13
  var f = (i, t, e) => (Ir(i, typeof t != "symbol" ? t + "" : t, e), e);
14
14
  var U = (i, t, e) => new Promise((n, s) => {
15
15
  var o = (l) => {
@@ -27,19 +27,19 @@ var U = (i, t, e) => new Promise((n, s) => {
27
27
  }, a = (l) => l.done ? n(l.value) : Promise.resolve(l.value).then(o, r);
28
28
  a((e = e.apply(i, t)).next());
29
29
  });
30
- import { Camera as Af, Subscribe as mt, Five as at } from "@realsee/five";
30
+ import { Camera as vf, Subscribe as mt, Five as at } from "@realsee/five";
31
31
  import * as E from "three";
32
- import { Vector3 as ie, Group as ri, Raycaster as bn, MeshBasicMaterial as rs, CanvasTexture as vf, AnimationMixer as bf, Color as bi, TextureLoader as ph, Vector2 as et, Object3D as Ah, Face3 as yf, PlaneGeometry as wf, sRGBEncoding as Cf, LinearFilter as Ur, Mesh as ts, CurvePath as If, LineCurve3 as Pf, TubeGeometry as Ef, ShaderMaterial as vh, SphereGeometry as kf, DoubleSide as bh, RingGeometry as Mf, Quaternion as Aa, Euler as sl, Matrix4 as Ji, VideoTexture as xf, Vector4 as Df, SphereBufferGeometry as Sf } from "three";
33
- import { CSS3DRenderer as Tf, CSS3DObject as Xr } from "three/examples/jsm/renderers/CSS3DRenderer";
32
+ import { Vector3 as ie, Group as ri, Raycaster as bn, MeshBasicMaterial as rs, CanvasTexture as bf, AnimationMixer as yf, Color as bi, TextureLoader as ph, Vector2 as et, Object3D as Ah, Face3 as wf, PlaneGeometry as Cf, sRGBEncoding as If, LinearFilter as Ur, Mesh as ts, CurvePath as Pf, LineCurve3 as Ef, TubeGeometry as kf, ShaderMaterial as vh, SphereGeometry as Mf, DoubleSide as bh, RingGeometry as xf, Quaternion as Aa, Euler as sl, Matrix4 as Ji, VideoTexture as Df, Vector4 as Sf, SphereBufferGeometry as Tf } from "three";
33
+ import { CSS3DRenderer as Lf, CSS3DObject as Xr } from "three/examples/jsm/renderers/CSS3DRenderer";
34
34
  import fs from "hammerjs";
35
35
  import { Line as yh } from "@realsee/five/line";
36
36
  import { FBXLoader as wh } from "three/examples/jsm/loaders/FBXLoader";
37
- import Lf from "earcut";
37
+ import jf from "earcut";
38
38
  import ol from "animejs";
39
- import { GLTFLoader as jf } from "@realsee/five/gltf-loader";
40
- function zf() {
39
+ import { GLTFLoader as zf } from "@realsee/five/gltf-loader";
40
+ function Of() {
41
41
  console.debug(
42
- "%c %c@realsee/dnalogel %cv2.24.0-dev.1",
42
+ "%c %c@realsee/dnalogel %cv2.24.1",
43
43
  [
44
44
  "background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
45
45
  "background-repeat: no-repeat",
@@ -50,7 +50,7 @@ function zf() {
50
50
  "background-color: #12ce9b;color:black;padding:0 6px;border-radius: 3px"
51
51
  );
52
52
  }
53
- function Of() {
53
+ function Bf() {
54
54
  const i = typeof OffscreenCanvas != "undefined", t = i && new OffscreenCanvas(1, 1).getContext("webgl") !== null;
55
55
  i && !t && Object.assign(window, {
56
56
  OffscreenCanvas: function(e, n) {
@@ -64,7 +64,7 @@ function Ch() {
64
64
  const rl = () => Promise.resolve(), al = {
65
65
  __queue: Promise.resolve()
66
66
  };
67
- function Bf(i = rl) {
67
+ function Rf(i = rl) {
68
68
  al.__queue = al.__queue.then(i).catch(rl);
69
69
  }
70
70
  function Ts(i, t, e) {
@@ -84,14 +84,14 @@ function Ls(i) {
84
84
  };
85
85
  return { control: e, end: n };
86
86
  }
87
- function Rf(i, t, e = Ch) {
87
+ function Vf(i, t, e = Ch) {
88
88
  new Promise((n) => {
89
89
  setTimeout(() => {
90
90
  e(), n(!0);
91
91
  }, t * i);
92
92
  });
93
93
  }
94
- const Vf = window, ll = window.requestAnimationFrame || Vf.webkitRequestAnimationFrame || ((i) => setTimeout(i, 16));
94
+ const Qf = window, ll = window.requestAnimationFrame || Qf.webkitRequestAnimationFrame || ((i) => setTimeout(i, 16));
95
95
  function Js(i, t = 0) {
96
96
  t <= 0 ? ll(i) : ll(() => Js(i, t - 1));
97
97
  }
@@ -477,22 +477,22 @@ var jt = Object.freeze({
477
477
  typeof n == "string" ? this._valuesStartRepeat[t] = this._valuesStartRepeat[t] + parseFloat(n) : this._valuesStartRepeat[t] = this._valuesEnd[t], this._valuesEnd[t] = e;
478
478
  }, i;
479
479
  }()
480
- ), Qf = "20.0.3", Gf = va.nextId, Wt = Zr, Nf = Wt.getAll.bind(Wt), Hf = Wt.removeAll.bind(Wt), _f = Wt.add.bind(Wt), Ph = Wt.remove.bind(Wt), Wf = Wt.update.bind(Wt), cl = {
480
+ ), Gf = "20.0.3", Nf = va.nextId, Wt = Zr, Hf = Wt.getAll.bind(Wt), _f = Wt.removeAll.bind(Wt), Wf = Wt.add.bind(Wt), Ph = Wt.remove.bind(Wt), Ff = Wt.update.bind(Wt), cl = {
481
481
  Easing: jt,
482
482
  Group: Ih,
483
483
  Interpolation: Sn,
484
484
  now: ni,
485
485
  Sequence: va,
486
- nextId: Gf,
486
+ nextId: Nf,
487
487
  Tween: yo,
488
- VERSION: Qf,
489
- getAll: Nf,
490
- removeAll: Hf,
491
- add: _f,
488
+ VERSION: Gf,
489
+ getAll: Hf,
490
+ removeAll: _f,
491
+ add: Wf,
492
492
  remove: Ph,
493
- update: Wf
493
+ update: Ff
494
494
  };
495
- function Ff(i, t, e, n = jt.Linear.None) {
495
+ function Yf(i, t, e, n = jt.Linear.None) {
496
496
  const s = new yo(i).to(t, e).easing(n).start();
497
497
  function o(r) {
498
498
  s.update(r) && requestAnimationFrame(o);
@@ -504,10 +504,10 @@ const ns = Symbol("$$PAINT_BRUSH_EVENT$$");
504
504
  function js(i) {
505
505
  return i[ns] || (i[ns] = {}), i[ns];
506
506
  }
507
- function Yf(i) {
507
+ function Uf(i) {
508
508
  i[ns] || delete i[ns];
509
509
  }
510
- let Uf = class {
510
+ let Xf = class {
511
511
  /**
512
512
  * 判断是否注册了事件
513
513
  * @param name 事件类型
@@ -551,7 +551,7 @@ let Uf = class {
551
551
  */
552
552
  off(t, e) {
553
553
  if (t === void 0) {
554
- Yf(this);
554
+ Uf(this);
555
555
  return;
556
556
  }
557
557
  const n = js(this);
@@ -587,7 +587,7 @@ function cn() {
587
587
  function ct() {
588
588
  return (cn() + cn() + "-" + cn() + "-4" + cn().substr(0, 3) + "-" + cn() + "-" + cn() + cn() + cn()).toLowerCase();
589
589
  }
590
- const Xf = `
590
+ const Zf = `
591
591
  <style type="text/css">
592
592
 
593
593
  #_gl_paintBrush {
@@ -688,7 +688,7 @@ transition: all 500ms;
688
688
 
689
689
  </style>
690
690
  `;
691
- let Zf = class extends Uf {
691
+ let Jf = class extends Xf {
692
692
  constructor(e) {
693
693
  super();
694
694
  f(this, "configs");
@@ -724,7 +724,7 @@ let Zf = class extends Uf {
724
724
  const e = document.createElement("div");
725
725
  e.id = "_gl_paintBrush", document.body.appendChild(e), this.container = e;
726
726
  }
727
- return this.container.innerHTML = Xf, this.container;
727
+ return this.container.innerHTML = Zf, this.container;
728
728
  }
729
729
  /**
730
730
  *
@@ -909,7 +909,7 @@ let Zf = class extends Uf {
909
909
  timestamp: s,
910
910
  end: a === r - 1
911
911
  };
912
- Rf(a, 20, () => {
912
+ Vf(a, 20, () => {
913
913
  this.emit("stateChange", l, n);
914
914
  });
915
915
  }
@@ -938,7 +938,7 @@ let Zf = class extends Uf {
938
938
  }
939
939
  }
940
940
  handleDrawLine(e, n, { withUndo: s = !1 }, o = Ch) {
941
- !n || Object.prototype.toString.call(n) != "[object Object]" || Object.keys(n).length === 0 || Bf(() => new Promise((r) => {
941
+ !n || Object.prototype.toString.call(n) != "[object Object]" || Object.keys(n).length === 0 || Rf(() => new Promise((r) => {
942
942
  if (s || (this.canvas[e] || (this.canvas[e] = this.initCanvas("_paintBrush-canvas--sync")), this.data[e] || (this.data[e] = []), this.data[e].push(n)), !this.canvas[e])
943
943
  return;
944
944
  const a = this.canvas[e].getContext("2d");
@@ -949,7 +949,7 @@ let Zf = class extends Uf {
949
949
  if (a.strokeStyle = c, a.beginPath(), a.moveTo(u.x, u.y), d && !s) {
950
950
  let A = [];
951
951
  const p = this;
952
- p.tween = Ff({ step: 0 }, { step: l.length - 1 }, d).onUpdate(({ step: g }) => {
952
+ p.tween = Yf({ step: 0 }, { step: l.length - 1 }, d).onUpdate(({ step: g }) => {
953
953
  var y;
954
954
  if (p.tweening = !0, !p.ready)
955
955
  return a.clearRect(0, 0, p.canvas[h].width, p.canvas[h].height), (y = p.tween) == null ? void 0 : y.stop();
@@ -1003,7 +1003,7 @@ class R2 {
1003
1003
  onUndoText: "回退",
1004
1004
  onExitText: "关闭"
1005
1005
  }, t);
1006
- this.controller = new Zf(e);
1006
+ this.controller = new Jf(e);
1007
1007
  }
1008
1008
  on(t, e) {
1009
1009
  this.controller.on(t, e);
@@ -1054,7 +1054,7 @@ const V2 = (i, t) => {
1054
1054
  lockedPanoIndex: null,
1055
1055
  lockedLatitude: null,
1056
1056
  lockedLongitude: null
1057
- }), t == null ? void 0 : t.config), l = new E.Scene(), c = new Af(60);
1057
+ }), t == null ? void 0 : t.config), l = new E.Scene(), c = new vf(60);
1058
1058
  let d = new E.Object3D(), h, u;
1059
1059
  {
1060
1060
  const V = new E.DirectionalLight(16777215, 0.5);
@@ -1156,7 +1156,7 @@ function to(i, t) {
1156
1156
  const e = Math.round(i);
1157
1157
  return e % 2 === 0 ? e : e + (t != null && t.floor ? -1 : 1);
1158
1158
  }
1159
- function Jf(i, t, e = !0) {
1159
+ function qf(i, t, e = !0) {
1160
1160
  if (!i)
1161
1161
  return console.error("createResizeObserver: element is undefined"), { observe: () => {
1162
1162
  }, unobserve: () => {
@@ -1174,7 +1174,7 @@ function Jf(i, t, e = !0) {
1174
1174
  unobserve: () => s.unobserve(i)
1175
1175
  };
1176
1176
  }
1177
- class dl extends Tf {
1177
+ class dl extends Lf {
1178
1178
  constructor() {
1179
1179
  super();
1180
1180
  f(this, "wrapper");
@@ -1192,7 +1192,7 @@ class dl extends Tf {
1192
1192
  }
1193
1193
  appendToElement(e) {
1194
1194
  e.appendChild(this.domElement);
1195
- const n = (r, a) => this.setSize(r, a), { observe: s, unobserve: o } = Jf(e, n, !0);
1195
+ const n = (r, a) => this.setSize(r, a), { observe: s, unobserve: o } = qf(e, n, !0);
1196
1196
  s(), this.resizeDisoper = o, this.wrapper = e;
1197
1197
  }
1198
1198
  renderEveryFrame(e, n) {
@@ -1211,14 +1211,14 @@ class dl extends Tf {
1211
1211
  this.stopRender(), (e = this.resizeDisoper) == null || e.call(this), this.domElement.remove();
1212
1212
  }
1213
1213
  }
1214
- function qf(i) {
1214
+ function Kf(i) {
1215
1215
  return typeof Symbol == "undefined" ? `$Symbol<${i}>$` : Symbol(i);
1216
1216
  }
1217
- const is = qf("$$EVENT$$");
1217
+ const is = Kf("$$EVENT$$");
1218
1218
  function zs(i) {
1219
1219
  return i[is] || (i[is] = {}), i[is];
1220
1220
  }
1221
- function Kf(i) {
1221
+ function $f(i) {
1222
1222
  i[is] || delete i[is];
1223
1223
  }
1224
1224
  class yi {
@@ -1265,7 +1265,7 @@ class yi {
1265
1265
  */
1266
1266
  off(t, e) {
1267
1267
  if (t === void 0) {
1268
- Kf(this);
1268
+ $f(this);
1269
1269
  return;
1270
1270
  }
1271
1271
  const n = zs(this);
@@ -1295,8 +1295,8 @@ class yi {
1295
1295
  return n;
1296
1296
  }
1297
1297
  }
1298
- const $f = ({ x: i, y: t, z: e }) => new ie(i, t, e), kt = (i) => new ie().fromArray(i), as = (i) => i instanceof ie ? i : Array.isArray(i) ? kt(i) : $f(i);
1299
- class em extends E.Mesh {
1298
+ const em = ({ x: i, y: t, z: e }) => new ie(i, t, e), kt = (i) => new ie().fromArray(i), as = (i) => i instanceof ie ? i : Array.isArray(i) ? kt(i) : em(i);
1299
+ class tm extends E.Mesh {
1300
1300
  constructor(e, n) {
1301
1301
  const s = new E.MeshBasicMaterial({ opacity: 0, color: 0, transparent: !1, side: E.DoubleSide }), o = new E.PlaneGeometry(e, n);
1302
1302
  super(o, s);
@@ -1311,11 +1311,11 @@ function sn(...i) {
1311
1311
  const t = new ie();
1312
1312
  return i.forEach((e) => t.add(e)), t.divideScalar(i.length), t;
1313
1313
  }
1314
- const Eh = 1, tm = `CSS3DObjectPlus@${Eh}`, nm = 216e-5, im = 3e-3;
1315
- class sm extends Xr {
1314
+ const Eh = 1, nm = `CSS3DObjectPlus@${Eh}`, im = 216e-5, sm = 3e-3;
1315
+ class om extends Xr {
1316
1316
  constructor(e) {
1317
1317
  var S, P, R;
1318
- const n = e.container, s = e.cornerPoints, o = (S = e.ratio) != null ? S : im, r = (P = e.dpr) != null ? P : 1, a = (R = e.pointerEvents) != null ? R : "auto", l = Math.max(nm, o), c = s[0].distanceTo(s[1]), d = s[1].distanceTo(s[2]), h = to(c / o * r), u = to(d / o * r), m = sn(...s);
1318
+ const n = e.container, s = e.cornerPoints, o = (S = e.ratio) != null ? S : sm, r = (P = e.dpr) != null ? P : 1, a = (R = e.pointerEvents) != null ? R : "auto", l = Math.max(im, o), c = s[0].distanceTo(s[1]), d = s[1].distanceTo(s[2]), h = to(c / o * r), u = to(d / o * r), m = sn(...s);
1319
1319
  let A;
1320
1320
  if (l === o)
1321
1321
  n.style.width = `${h}px`, n.style.height = `${u}px`, A = n;
@@ -1345,7 +1345,7 @@ class sm extends Xr {
1345
1345
  * @description: 生成透明Mesh
1346
1346
  */
1347
1347
  f(this, "createOpacityMesh", (e) => {
1348
- const { domWidthPx: n, domHeightPx: s } = e, o = new em(n, s);
1348
+ const { domWidthPx: n, domHeightPx: s } = e, o = new tm(n, s);
1349
1349
  return o.position.copy(e.position), o.rotation.copy(e.rotation), o.scale.copy(e.scale), o;
1350
1350
  });
1351
1351
  f(this, "addParentVisibleListener", () => {
@@ -1367,7 +1367,7 @@ class sm extends Xr {
1367
1367
  const L = o / l;
1368
1368
  this.width = L * c, this.height = L * d, this.domWidthPx = L * h, this.domHeightPx = L * u, this.centerPosition = new ie().subVectors(m, s[0]).multiplyScalar(L).add(s[0]);
1369
1369
  }
1370
- n.classList.add(`${tm}__container`);
1370
+ n.classList.add(`${nm}__container`);
1371
1371
  const p = new ie().subVectors(s[1], s[0]), g = new ie().subVectors(s[3], s[0]), v = new ie().crossVectors(p, g).normalize();
1372
1372
  this.lookAt(v);
1373
1373
  const y = this.up.clone().applyQuaternion(this.quaternion), I = g.clone(), k = new ie().crossVectors(y, I).normalize();
@@ -1416,7 +1416,7 @@ class sm extends Xr {
1416
1416
  this.scale.applyMatrix4(e), (n = this.opacityMesh) == null || n.scale.applyMatrix4(e);
1417
1417
  }
1418
1418
  }
1419
- class om extends E.Scene {
1419
+ class rm extends E.Scene {
1420
1420
  constructor() {
1421
1421
  super();
1422
1422
  }
@@ -1426,7 +1426,7 @@ class om extends E.Scene {
1426
1426
  }), this;
1427
1427
  }
1428
1428
  }
1429
- class rm extends E.Scene {
1429
+ class am extends E.Scene {
1430
1430
  constructor(e) {
1431
1431
  super();
1432
1432
  f(this, "scene");
@@ -1470,12 +1470,12 @@ class kh extends E.Group {
1470
1470
  this.CSS3DObjectLength = fn(this).length;
1471
1471
  }
1472
1472
  }
1473
- class am extends kh {
1473
+ class lm extends kh {
1474
1474
  constructor() {
1475
1475
  super("front");
1476
1476
  }
1477
1477
  }
1478
- class lm extends kh {
1478
+ class cm extends kh {
1479
1479
  constructor(e) {
1480
1480
  super("behind");
1481
1481
  f(this, "scene");
@@ -1489,7 +1489,7 @@ class lm extends kh {
1489
1489
  }), super.add(...e), this;
1490
1490
  }
1491
1491
  }
1492
- const cm = 3, Jr = "CSS3DRenderer", qi = `${Jr}@${cm}`, Zn = () => {
1492
+ const dm = 3, Jr = "CSS3DRenderer", qi = `${Jr}@${dm}`, Zn = () => {
1493
1493
  console.error(`${qi} is disposed`);
1494
1494
  }, Ye = {
1495
1495
  css3DObjects: [],
@@ -1503,10 +1503,10 @@ const cm = 3, Jr = "CSS3DRenderer", qi = `${Jr}@${cm}`, Zn = () => {
1503
1503
  function hl(i) {
1504
1504
  return Ye.css3DObjects.find((t) => t.id === i);
1505
1505
  }
1506
- function dm(i) {
1506
+ function hm(i) {
1507
1507
  Ye.frontModeStore.css3DRenderer.setWrapper(i);
1508
1508
  }
1509
- function hm(i) {
1509
+ function um(i) {
1510
1510
  Ye.behindModeStore.css3DRenderer.setWrapper(i);
1511
1511
  }
1512
1512
  class ls {
@@ -1520,7 +1520,7 @@ class ls {
1520
1520
  });
1521
1521
  f(this, "_scene");
1522
1522
  f(this, "store", {
1523
- frontModeGroup: new am()
1523
+ frontModeGroup: new lm()
1524
1524
  });
1525
1525
  /**
1526
1526
  * @description 根据传入的四个点位创建一个 3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
@@ -1611,7 +1611,7 @@ class ls {
1611
1611
  s && (e ? s.add(n) : s.remove(n));
1612
1612
  });
1613
1613
  f(this, "createObject", (t, e) => {
1614
- const n = new sm(N({ cornerPoints: t }, e));
1614
+ const n = new om(N({ cornerPoints: t }, e));
1615
1615
  return n.element.classList.add(`${Jr}__container`), n.element.id = `${Jr}__container--${n.uuid}`, n;
1616
1616
  });
1617
1617
  t && this.setScene(t);
@@ -1676,7 +1676,7 @@ class ls {
1676
1676
  if (e)
1677
1677
  return e;
1678
1678
  if (t) {
1679
- const s = new om();
1679
+ const s = new rm();
1680
1680
  Ye.frontModeStore.css3DScene = s;
1681
1681
  }
1682
1682
  return Ye.frontModeStore.css3DScene;
@@ -1692,7 +1692,7 @@ class ls {
1692
1692
  console.error(`${qi}: scene is required when mode is behind`);
1693
1693
  return;
1694
1694
  }
1695
- const r = new rm(o);
1695
+ const r = new am(o);
1696
1696
  Ye.behindModeStore.css3DScene = r, Ye.behindModeStore.scene = o;
1697
1697
  }
1698
1698
  return Ye.behindModeStore.css3DScene;
@@ -1705,7 +1705,7 @@ class ls {
1705
1705
  var n;
1706
1706
  const e = this.getBehindCSS3DScene({ createSceneIfNotExists: t });
1707
1707
  if (t && e && this.scene) {
1708
- const s = (n = this.store.behindModeGroup) != null ? n : new lm(this.scene);
1708
+ const s = (n = this.store.behindModeGroup) != null ? n : new cm(this.scene);
1709
1709
  this.store.behindModeGroup = s, e.getObjectById(s.id) || e.add(s);
1710
1710
  }
1711
1711
  return this.store.behindModeGroup;
@@ -1753,7 +1753,7 @@ class ls {
1753
1753
  this.handleDisable();
1754
1754
  }
1755
1755
  }
1756
- f(ls, "setFrontModeContainer", dm), f(ls, "setBehindModeContainer", hm);
1756
+ f(ls, "setFrontModeContainer", hm), f(ls, "setBehindModeContainer", um);
1757
1757
  function Mh(i) {
1758
1758
  return U(this, null, function* () {
1759
1759
  return new Promise((t) => {
@@ -1813,7 +1813,7 @@ class qr {
1813
1813
  return this.min < t.min && this.max > t.max;
1814
1814
  }
1815
1815
  }
1816
- class um {
1816
+ class fm {
1817
1817
  constructor(t, e) {
1818
1818
  f(this, "min");
1819
1819
  f(this, "max");
@@ -1841,7 +1841,7 @@ function Os(i, t, e) {
1841
1841
  const n = i[t], s = i[e];
1842
1842
  n === void 0 || s === void 0 || (i[t] = s, i[e] = n);
1843
1843
  }
1844
- function fm(i, t, e) {
1844
+ function mm(i, t, e) {
1845
1845
  const n = e / 2;
1846
1846
  for (let s = 1; s <= n; s++) {
1847
1847
  const o = e - (s - 1);
@@ -1932,7 +1932,7 @@ let ya = class {
1932
1932
  if (!this.five.renderer || !this.containerDom)
1933
1933
  return;
1934
1934
  const { scale: t, context: e, width: n, height: s } = this, o = this.renderCenter.clone().project(this.five.camera), r = this.five.renderer.getSize(new E.Vector2()), a = 1, l = n / t, c = s / t, d = a * t, h = (o.x + 1) / 2 * r.x, u = (o.y + 1) / 2 * r.y, m = this.five.getPixels(h - l / 2, u - l / 2, l, c, d), A = Math.floor(n * a), p = Math.floor(s * a);
1935
- fm(m, A, p);
1935
+ mm(m, A, p);
1936
1936
  const g = new ImageData(A, p);
1937
1937
  g.data.set(m), e.putImageData(g, 0, 0);
1938
1938
  }
@@ -1943,7 +1943,7 @@ let ya = class {
1943
1943
  t.setAttribute("width", (this.width * e).toString()), t.setAttribute("height", (this.height * e).toString()), t.style.border = "2px solid rgba(255,255,255,0.20)", t.style.width = this.width + "px", t.style.height = this.height + "px", t.style.top = this.config.initialPosition.top, t.style.left = this.config.initialPosition.left, t.style.transform = "translate(0,0,100px)", t.style.visibility = "visible", this.config.dragEnabled && (this.canvas.style.cursor = "pointer");
1944
1944
  }
1945
1945
  };
1946
- function mm(i, t) {
1946
+ function gm(i, t) {
1947
1947
  const { offsetWidth: e, offsetHeight: n } = t, { top: s, left: o } = t.getBoundingClientRect();
1948
1948
  return new E.Vector2().set((i.x - o) / e * 2 - 1, -(i.y - s) / n * 2 + 1);
1949
1949
  }
@@ -1951,7 +1951,7 @@ function Sh(i, t) {
1951
1951
  const { offsetWidth: e, offsetHeight: n } = t;
1952
1952
  return new E.Vector2().set(i.x / e * 2 - 1, -i.y / n * 2 + 1);
1953
1953
  }
1954
- function gm(i, t) {
1954
+ function pm(i, t) {
1955
1955
  const e = i.getElement();
1956
1956
  if (!e)
1957
1957
  return;
@@ -1962,14 +1962,14 @@ function Th(i, t) {
1962
1962
  const { x: e, y: n } = t, s = e * 2 - 1, o = n * 2 - 1, r = new E.Vector2().fromArray([s, o]), a = new E.Raycaster();
1963
1963
  return a.setFromCamera(r, i.camera), i.model.intersectRaycaster(a)[0];
1964
1964
  }
1965
- const pm = "data:image/png;base64,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", Am = `
1965
+ const Am = "data:image/png;base64,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", vm = `
1966
1966
  varying vec2 vUv;
1967
1967
  void main() {
1968
1968
  vUv = uv;
1969
1969
  vec4 mvPosition = modelViewMatrix * vec4(position, 1);
1970
1970
  gl_Position = projectionMatrix * mvPosition;
1971
1971
  }
1972
- `, vm = `
1972
+ `, bm = `
1973
1973
  varying vec2 vUv;
1974
1974
  void main() {
1975
1975
  vec2 uv = vec2(vUv.x, vUv.y);
@@ -1978,8 +1978,8 @@ void main() {
1978
1978
  gl_FragColor = vec4(1.0,1.0,1.0,match);
1979
1979
  }
1980
1980
  `;
1981
- function bm() {
1982
- const i = new E.PlaneGeometry(0.4, 0.4), t = pm, e = new E.TextureLoader().load(t);
1981
+ function ym() {
1982
+ const i = new E.PlaneGeometry(0.4, 0.4), t = Am, e = new E.TextureLoader().load(t);
1983
1983
  e.encoding = E.sRGBEncoding, e.minFilter = E.LinearFilter;
1984
1984
  const n = new E.MeshBasicMaterial({
1985
1985
  map: e,
@@ -1988,18 +1988,18 @@ function bm() {
1988
1988
  });
1989
1989
  return new E.Mesh(i, n);
1990
1990
  }
1991
- function ym() {
1991
+ function wm() {
1992
1992
  const i = new E.CurvePath();
1993
1993
  i.add(new E.LineCurve3(new E.Vector3(0, 0, 0), new E.Vector3(0, 0, 0.1)));
1994
1994
  const t = new E.TubeGeometry(i, 8, 3e-3), e = new E.ShaderMaterial({
1995
- vertexShader: Am,
1996
- fragmentShader: vm,
1995
+ vertexShader: vm,
1996
+ fragmentShader: bm,
1997
1997
  depthTest: !1,
1998
1998
  transparent: !0
1999
1999
  });
2000
2000
  return new E.Mesh(t, e);
2001
2001
  }
2002
- function wm() {
2002
+ function Cm() {
2003
2003
  const i = new E.SphereGeometry(0.01, 20, 20), t = new E.MeshBasicMaterial({
2004
2004
  color: 10349931,
2005
2005
  depthTest: !1,
@@ -2014,7 +2014,7 @@ class Lh extends E.Object3D {
2014
2014
  f(this, "planeMesh");
2015
2015
  f(this, "lineMesh");
2016
2016
  f(this, "ballMesh");
2017
- this.planeMesh = bm(), this.lineMesh = ym(), this.ballMesh = wm(), this.add(this.planeMesh, this.lineMesh, this.ballMesh);
2017
+ this.planeMesh = ym(), this.lineMesh = wm(), this.ballMesh = Cm(), this.add(this.planeMesh, this.lineMesh, this.ballMesh);
2018
2018
  }
2019
2019
  updateWithIntersect(e) {
2020
2020
  if (!e.face)
@@ -2027,7 +2027,7 @@ class Lh extends E.Object3D {
2027
2027
  (e = this.planeMesh.material.map) == null || e.dispose();
2028
2028
  }
2029
2029
  }
2030
- const jh = "data:image/png;base64,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", Cm = "data:image/png;base64,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", Im = `
2030
+ const jh = "data:image/png;base64,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", Im = "data:image/png;base64,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", Pm = `
2031
2031
  <style>
2032
2032
  .range-piece__container {
2033
2033
  position: absolute;
@@ -2059,7 +2059,7 @@ const jh = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAADYCAYAAACJIC3tAA
2059
2059
  height: 100%;
2060
2060
  opacity: 1;
2061
2061
  position: absolute;
2062
- background: url(${Cm}) center / contain no-repeat;
2062
+ background: url(${Im}) center / contain no-repeat;
2063
2063
  }
2064
2064
  @keyframes dotting {
2065
2065
  0% {
@@ -2176,17 +2176,17 @@ class Oh {
2176
2176
  this.hooks.off(), this.disable(), this.magnifier = null, this.pointHelper = null, this.pointDomHelper = null;
2177
2177
  }
2178
2178
  }
2179
- function Pm(i) {
2179
+ function Bh(i) {
2180
2180
  return !wi(i);
2181
2181
  }
2182
2182
  function wi(i) {
2183
2183
  return i != null;
2184
2184
  }
2185
- function Bh(i) {
2185
+ function Rh(i) {
2186
2186
  return /^https?:\/\/|^\/\//.test(i) || /^data:/.test(i);
2187
2187
  }
2188
2188
  function wa(i, t) {
2189
- return Bh(t) ? t : `${i}${t}`;
2189
+ return Rh(t) ? t : `${i}${t}`;
2190
2190
  }
2191
2191
  class wo extends yo {
2192
2192
  constructor() {
@@ -2242,29 +2242,29 @@ const G2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2242
2242
  PointDomHelper: zh,
2243
2243
  PointHelper: Lh,
2244
2244
  PointSelectorHelper: Oh,
2245
- Rectangle: um,
2245
+ Rectangle: fm,
2246
2246
  absoluteUrl: wa,
2247
- getCoordsFromClient: mm,
2247
+ getCoordsFromClient: gm,
2248
2248
  getCoordsFromElement: Sh,
2249
2249
  getFrameTime: km,
2250
2250
  getIntersectFromRelativePosition: Th,
2251
- getRaycasterFromFivePointer: gm,
2252
- isAbsoluteURL: Bh,
2251
+ getRaycasterFromFivePointer: pm,
2252
+ isAbsoluteURL: Rh,
2253
2253
  isModelLike: Dh,
2254
- isNil: Pm,
2254
+ isNil: Bh,
2255
2255
  isPanoramaLike: ba,
2256
2256
  nextFrame: Io,
2257
2257
  notNil: wi,
2258
2258
  requestAnimationFrameInterval: ms,
2259
2259
  tweenProgress: Co,
2260
2260
  uuid: ct
2261
- }, Symbol.toStringTag, { value: "Module" })), Rh = "v2.0.1", kr = `CSS3DRenderPlugin@${Rh}`;
2261
+ }, Symbol.toStringTag, { value: "Module" })), Vh = "v2.0.1", kr = `CSS3DRenderPlugin@${Vh}`;
2262
2262
  let Mm = class extends ls {
2263
2263
  constructor(e) {
2264
2264
  super();
2265
2265
  f(this, "five");
2266
2266
  f(this, "behindFiveContainer");
2267
- f(this, "VERSION", Rh);
2267
+ f(this, "VERSION", Vh);
2268
2268
  f(this, "staticPrefix", "//vr-image-4.realsee-cdn.cn");
2269
2269
  /**
2270
2270
  * @description 根据传入的四个点位创建一个 3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
@@ -2354,7 +2354,7 @@ let Mm = class extends ls {
2354
2354
  return wa(this.staticPrefix, e);
2355
2355
  }
2356
2356
  };
2357
- const Vh = (i) => new Mm(i), Po = Vh;
2357
+ const Qh = (i) => new Mm(i), Po = Qh;
2358
2358
  function Mr(i, t, e = new ie(1, 1, 1), n = !1) {
2359
2359
  const s = new yh(i, t);
2360
2360
  return s.setMaterial({ dashed: n, color: e, linewidth: 1 }), s.remove(s.points), s;
@@ -2427,14 +2427,14 @@ function xm(i) {
2427
2427
  return !!i && (typeof i == "object" || typeof i == "function") && typeof /** @type {any} */
2428
2428
  i.then == "function";
2429
2429
  }
2430
- function Qh(i) {
2430
+ function Gh(i) {
2431
2431
  return i();
2432
2432
  }
2433
2433
  function ul() {
2434
2434
  return /* @__PURE__ */ Object.create(null);
2435
2435
  }
2436
2436
  function Je(i) {
2437
- i.forEach(Qh);
2437
+ i.forEach(Gh);
2438
2438
  }
2439
2439
  function on(i) {
2440
2440
  return typeof i == "function";
@@ -2451,11 +2451,11 @@ function Dm(i) {
2451
2451
  }
2452
2452
  function Ci(i, t, e, n) {
2453
2453
  if (i) {
2454
- const s = Gh(i, t, e, n);
2454
+ const s = Nh(i, t, e, n);
2455
2455
  return i[0](s);
2456
2456
  }
2457
2457
  }
2458
- function Gh(i, t, e, n) {
2458
+ function Nh(i, t, e, n) {
2459
2459
  return i[1] && n ? tt(e.ctx.slice(), i[1](n(t))) : e.ctx;
2460
2460
  }
2461
2461
  function Ii(i, t, e, n) {
@@ -2475,7 +2475,7 @@ function Ii(i, t, e, n) {
2475
2475
  }
2476
2476
  function Pi(i, t, e, n, s, o) {
2477
2477
  if (s) {
2478
- const r = Gh(t, e, n, o);
2478
+ const r = Nh(t, e, n, o);
2479
2479
  i.p(r, s);
2480
2480
  }
2481
2481
  }
@@ -2502,17 +2502,17 @@ function fl(i) {
2502
2502
  "px"
2503
2503
  ];
2504
2504
  }
2505
- const Nh = typeof window != "undefined";
2506
- let Ca = Nh ? () => window.performance.now() : () => Date.now(), Ia = Nh ? (i) => requestAnimationFrame(i) : J;
2505
+ const Hh = typeof window != "undefined";
2506
+ let Ca = Hh ? () => window.performance.now() : () => Date.now(), Ia = Hh ? (i) => requestAnimationFrame(i) : J;
2507
2507
  const ai = /* @__PURE__ */ new Set();
2508
- function Hh(i) {
2508
+ function _h(i) {
2509
2509
  ai.forEach((t) => {
2510
2510
  t.c(i) || (ai.delete(t), t.f());
2511
- }), ai.size !== 0 && Ia(Hh);
2511
+ }), ai.size !== 0 && Ia(_h);
2512
2512
  }
2513
2513
  function Pa(i) {
2514
2514
  let t;
2515
- return ai.size === 0 && Ia(Hh), {
2515
+ return ai.size === 0 && Ia(_h), {
2516
2516
  promise: new Promise((e) => {
2517
2517
  ai.add(t = { c: i, f: e });
2518
2518
  }),
@@ -2532,7 +2532,7 @@ function ue(i, t, e) {
2532
2532
  const n = Ea(i);
2533
2533
  if (!n.getElementById(t)) {
2534
2534
  const s = D("style");
2535
- s.id = t, s.textContent = e, _h(n, s);
2535
+ s.id = t, s.textContent = e, Wh(n, s);
2536
2536
  }
2537
2537
  }
2538
2538
  function Ea(i) {
@@ -2547,9 +2547,9 @@ function Ea(i) {
2547
2547
  }
2548
2548
  function Tm(i) {
2549
2549
  const t = D("style");
2550
- return t.textContent = "/* empty */", _h(Ea(i), t), t.sheet;
2550
+ return t.textContent = "/* empty */", Wh(Ea(i), t), t.sheet;
2551
2551
  }
2552
- function _h(i, t) {
2552
+ function Wh(i, t) {
2553
2553
  return x(
2554
2554
  /** @type {Document} */
2555
2555
  i.head || i,
@@ -2584,7 +2584,7 @@ function Ee() {
2584
2584
  function be(i, t, e, n) {
2585
2585
  return i.addEventListener(t, e, n), () => i.removeEventListener(t, e, n);
2586
2586
  }
2587
- function Wh(i) {
2587
+ function Fh(i) {
2588
2588
  return function(t) {
2589
2589
  return t.stopPropagation(), i.call(this, t);
2590
2590
  };
@@ -2639,7 +2639,7 @@ function Eo(i, t) {
2639
2639
  function q(i, t, e) {
2640
2640
  i.classList.toggle(t, !!e);
2641
2641
  }
2642
- function Fh(i, t, { bubbles: e = !1, cancelable: n = !1 } = {}) {
2642
+ function Yh(i, t, { bubbles: e = !1, cancelable: n = !1 } = {}) {
2643
2643
  return new CustomEvent(i, { detail: t, bubbles: e, cancelable: n });
2644
2644
  }
2645
2645
  class no {
@@ -2763,13 +2763,13 @@ function yn() {
2763
2763
  throw new Error("Function called outside component initialization");
2764
2764
  return ds;
2765
2765
  }
2766
- function Yh(i) {
2766
+ function Uh(i) {
2767
2767
  yn().$$.before_update.push(i);
2768
2768
  }
2769
2769
  function wt(i) {
2770
2770
  yn().$$.on_mount.push(i);
2771
2771
  }
2772
- function Uh(i) {
2772
+ function Xh(i) {
2773
2773
  yn().$$.after_update.push(i);
2774
2774
  }
2775
2775
  function Ot(i) {
@@ -2780,7 +2780,7 @@ function ko() {
2780
2780
  return (t, e, { cancelable: n = !1 } = {}) => {
2781
2781
  const s = i.$$.callbacks[t];
2782
2782
  if (s) {
2783
- const o = Fh(
2783
+ const o = Yh(
2784
2784
  /** @type {string} */
2785
2785
  t,
2786
2786
  e,
@@ -2805,13 +2805,13 @@ function ki(i, t) {
2805
2805
  }
2806
2806
  const ti = [], Qe = [];
2807
2807
  let li = [];
2808
- const $r = [], Xh = /* @__PURE__ */ Promise.resolve();
2808
+ const $r = [], Zh = /* @__PURE__ */ Promise.resolve();
2809
2809
  let ea = !1;
2810
- function Zh() {
2811
- ea || (ea = !0, Xh.then(Ma));
2810
+ function Jh() {
2811
+ ea || (ea = !0, Zh.then(Ma));
2812
2812
  }
2813
2813
  function ml() {
2814
- return Zh(), Xh;
2814
+ return Jh(), Zh;
2815
2815
  }
2816
2816
  function Ne(i) {
2817
2817
  li.push(i);
@@ -2864,7 +2864,7 @@ function xa() {
2864
2864
  })), Wi;
2865
2865
  }
2866
2866
  function Tn(i, t, e) {
2867
- i.dispatchEvent(Fh(`${t ? "intro" : "outro"}${e}`));
2867
+ i.dispatchEvent(Yh(`${t ? "intro" : "outro"}${e}`));
2868
2868
  }
2869
2869
  const qs = /* @__PURE__ */ new Set();
2870
2870
  let Nt;
@@ -3069,7 +3069,7 @@ function ao(i, t) {
3069
3069
  i;
3070
3070
  }
3071
3071
  }
3072
- function Jh(i, t, e) {
3072
+ function qh(i, t, e) {
3073
3073
  const n = t.slice(), { resolved: s } = i;
3074
3074
  i.current === i.then && (n[i.value] = s), i.current === i.catch && (n[i.error] = s), i.block.p(n, e);
3075
3075
  }
@@ -3130,7 +3130,7 @@ function dt(i, t) {
3130
3130
  r in e || (e[r] = void 0);
3131
3131
  return e;
3132
3132
  }
3133
- function qh(i) {
3133
+ function Kh(i) {
3134
3134
  return typeof i == "object" && i !== null ? i : {};
3135
3135
  }
3136
3136
  function Ta(i, t, e) {
@@ -3143,7 +3143,7 @@ function ne(i) {
3143
3143
  function ee(i, t, e) {
3144
3144
  const { fragment: n, after_update: s } = i.$$;
3145
3145
  n && n.m(t, e), Ne(() => {
3146
- const o = i.$$.on_mount.map(Qh).filter(on);
3146
+ const o = i.$$.on_mount.map(Gh).filter(on);
3147
3147
  i.$$.on_destroy ? i.$$.on_destroy.push(...o) : Je(o), i.$$.on_mount = [];
3148
3148
  }), s.forEach(Ne);
3149
3149
  }
@@ -3152,7 +3152,7 @@ function te(i, t) {
3152
3152
  e.fragment !== null && (Vm(e.after_update), Je(e.on_destroy), e.fragment && e.fragment.d(t), e.on_destroy = e.fragment = null, e.ctx = []);
3153
3153
  }
3154
3154
  function Qm(i, t) {
3155
- i.$$.dirty[0] === -1 && (ti.push(i), Zh(), i.$$.dirty.fill(0)), i.$$.dirty[t / 31 | 0] |= 1 << t % 31;
3155
+ i.$$.dirty[0] === -1 && (ti.push(i), Jh(), i.$$.dirty.fill(0)), i.$$.dirty[t / 31 | 0] |= 1 << t % 31;
3156
3156
  }
3157
3157
  function ae(i, t, e, n, s, o, r, a = [-1]) {
3158
3158
  const l = ds;
@@ -3336,7 +3336,7 @@ class Fm extends le {
3336
3336
  super(), ae(this, t, Wm, _m, oe, { five: 2, roomLabel: 0 }, Hm);
3337
3337
  }
3338
3338
  }
3339
- var Kh = function() {
3339
+ var $h = function() {
3340
3340
  if (typeof Map != "undefined")
3341
3341
  return Map;
3342
3342
  function i(t, e) {
@@ -3450,7 +3450,7 @@ var Zm = 20, Jm = ["top", "right", "bottom", "left", "width", "height", "size",
3450
3450
  return this.instance_ || (this.instance_ = new i()), this.instance_;
3451
3451
  }, i.instance_ = null, i;
3452
3452
  }()
3453
- ), $h = function(i, t) {
3453
+ ), eu = function(i, t) {
3454
3454
  for (var e = 0, n = Object.keys(t); e < n.length; e++) {
3455
3455
  var s = n[e];
3456
3456
  Object.defineProperty(i, s, {
@@ -3464,7 +3464,7 @@ var Zm = 20, Jm = ["top", "right", "bottom", "left", "width", "height", "size",
3464
3464
  }, hi = function(i) {
3465
3465
  var t = i && i.ownerDocument && i.ownerDocument.defaultView;
3466
3466
  return t || lo;
3467
- }, eu = Mo(0, 0, 0, 0);
3467
+ }, tu = Mo(0, 0, 0, 0);
3468
3468
  function co(i) {
3469
3469
  return parseFloat(i) || 0;
3470
3470
  }
@@ -3490,7 +3490,7 @@ function eg(i) {
3490
3490
  function tg(i) {
3491
3491
  var t = i.clientWidth, e = i.clientHeight;
3492
3492
  if (!t && !e)
3493
- return eu;
3493
+ return tu;
3494
3494
  var n = hi(i).getComputedStyle(i), s = $m(n), o = s.left + s.right, r = s.top + s.bottom, a = co(n.width), l = co(n.height);
3495
3495
  if (n.boxSizing === "border-box" && (Math.round(a + o) !== t && (a -= gl(n, "left", "right") + o), Math.round(l + r) !== e && (l -= gl(n, "top", "bottom") + r)), !ig(i)) {
3496
3496
  var c = Math.round(a + o) - t, d = Math.round(l + r) - e;
@@ -3509,11 +3509,11 @@ function ig(i) {
3509
3509
  return i === hi(i).document.documentElement;
3510
3510
  }
3511
3511
  function sg(i) {
3512
- return ta ? ng(i) ? eg(i) : tg(i) : eu;
3512
+ return ta ? ng(i) ? eg(i) : tg(i) : tu;
3513
3513
  }
3514
3514
  function og(i) {
3515
3515
  var t = i.x, e = i.y, n = i.width, s = i.height, o = typeof DOMRectReadOnly != "undefined" ? DOMRectReadOnly : Object, r = Object.create(o.prototype);
3516
- return $h(r, {
3516
+ return eu(r, {
3517
3517
  x: t,
3518
3518
  y: e,
3519
3519
  width: n,
@@ -3546,7 +3546,7 @@ var rg = (
3546
3546
  function() {
3547
3547
  function i(t, e) {
3548
3548
  var n = og(e);
3549
- $h(this, { target: t, contentRect: n });
3549
+ eu(this, { target: t, contentRect: n });
3550
3550
  }
3551
3551
  return i;
3552
3552
  }()
@@ -3554,7 +3554,7 @@ var rg = (
3554
3554
  /** @class */
3555
3555
  function() {
3556
3556
  function i(t, e, n) {
3557
- if (this.activeObservations_ = [], this.observations_ = new Kh(), typeof t != "function")
3557
+ if (this.activeObservations_ = [], this.observations_ = new $h(), typeof t != "function")
3558
3558
  throw new TypeError("The callback provided as parameter 1 is not a function.");
3559
3559
  this.callback_ = t, this.controller_ = e, this.callbackCtx_ = n;
3560
3560
  }
@@ -3596,7 +3596,7 @@ var rg = (
3596
3596
  return this.activeObservations_.length > 0;
3597
3597
  }, i;
3598
3598
  }()
3599
- ), tu = typeof WeakMap != "undefined" ? /* @__PURE__ */ new WeakMap() : new Kh(), nu = (
3599
+ ), nu = typeof WeakMap != "undefined" ? /* @__PURE__ */ new WeakMap() : new $h(), iu = (
3600
3600
  /** @class */
3601
3601
  function() {
3602
3602
  function i(t) {
@@ -3605,7 +3605,7 @@ var rg = (
3605
3605
  if (!arguments.length)
3606
3606
  throw new TypeError("1 argument required, but only 0 present.");
3607
3607
  var e = Km.getInstance(), n = new lg(t, e, this);
3608
- tu.set(this, n);
3608
+ nu.set(this, n);
3609
3609
  }
3610
3610
  return i;
3611
3611
  }()
@@ -3615,13 +3615,13 @@ var rg = (
3615
3615
  "unobserve",
3616
3616
  "disconnect"
3617
3617
  ].forEach(function(i) {
3618
- nu.prototype[i] = function() {
3618
+ iu.prototype[i] = function() {
3619
3619
  var t;
3620
- return (t = tu.get(this))[i].apply(t, arguments);
3620
+ return (t = nu.get(this))[i].apply(t, arguments);
3621
3621
  };
3622
3622
  });
3623
3623
  var cg = function() {
3624
- return typeof lo.ResizeObserver != "undefined" ? lo.ResizeObserver : nu;
3624
+ return typeof lo.ResizeObserver != "undefined" ? lo.ResizeObserver : iu;
3625
3625
  }();
3626
3626
  function xi(i) {
3627
3627
  new cg((e, n) => {
@@ -3784,7 +3784,7 @@ function fg(i, t, e) {
3784
3784
  function m(v) {
3785
3785
  e(4, l = v);
3786
3786
  }
3787
- s.on("cameraUpdate", u), s.on("modelShownFloorChange", m), Uh(() => {
3787
+ s.on("cameraUpdate", u), s.on("modelShownFloorChange", m), Xh(() => {
3788
3788
  e(0, o = h({ rendererSize: n, shownFloor: l }));
3789
3789
  }), Ot(() => {
3790
3790
  s.off("cameraUpdate", u), s.off("modelShownFloorChange", m);
@@ -3971,7 +3971,7 @@ function Ht(i, t, e = { deep: !1 }) {
3971
3971
  function fi(i) {
3972
3972
  return i < 0.5 ? 4 * i * i * i : 0.5 * Math.pow(2 * i - 2, 3) + 1;
3973
3973
  }
3974
- function iu(i) {
3974
+ function su(i) {
3975
3975
  const t = i - 1;
3976
3976
  return t * t * t + 1;
3977
3977
  }
@@ -3984,7 +3984,7 @@ function nt(i, { delay: t = 0, duration: e = 400, easing: n = nn } = {}) {
3984
3984
  css: (o) => `opacity: ${o * s}`
3985
3985
  };
3986
3986
  }
3987
- function vl(i, { delay: t = 0, duration: e = 400, easing: n = iu, x: s = 0, y: o = 0, opacity: r = 0 } = {}) {
3987
+ function vl(i, { delay: t = 0, duration: e = 400, easing: n = su, x: s = 0, y: o = 0, opacity: r = 0 } = {}) {
3988
3988
  const a = getComputedStyle(i), l = +a.opacity, c = a.transform === "none" ? "" : a.transform, d = l * (1 - r), [h, u] = fl(s), [m, A] = fl(o);
3989
3989
  return {
3990
3990
  delay: t,
@@ -4009,7 +4009,7 @@ function uo(i, { delay: t = 0, speed: e, duration: n, easing: s = fi } = {}) {
4009
4009
  };
4010
4010
  }
4011
4011
  const gn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAMAAAANf8AYAAAC2VBMVEUAAACCnP+Dn/+Enf+HqP+Gp/+Fof+Gpf+IrP+Lsf+Dof+Cmv+Lsv+Mtf+Eo/+Bmf+JrP+Hqf+Env+Krv+Fo/+Pu/+Ms/+Qvv+Hqf+RwP+KsP+Fpf+Mtv+Gov+Bnf+Qv/+Nt/+Krv+Ho/+Rwf+Ouv+Emv+Amv+SxP+Sw/+NuP+Mtf/G0f6huP+Ot/+JrP+Jqv+Dnv+crf6Uqv////+QvP+PvP+Ms//J0/3p9/+Ux/+Ouf+Krf+Iqf+Fpv+/zf6WsP+MpP+RqP+Uyf+Jy//V3P6Yuf+Qqf+Rqv/5/f+Sxf+Jy/////+Lx/+Ouf+Nw/+Owv+PwP+Jr/+Jq/+VvP+Vuv/c4v+Fnf+btP+InP+Blf/3+P6Txf+Jzf+Jyf+NxP+Qwf/t8/6Svv+Tvf/O1f7Czv3T2f6cu/+qvP7a4fvo7v77/v/o9//p9//0+v////+Vy//w9//k8/+B1f/v9/+D0/+UyP/u9v+D0v/i8f+F0v/g7/+G0P+KzP+Hz/////+Lx//s8/+Puf/h7P+Mxv/w9f7q8v/q8f2RwP/r8f6JrP/t8v6RvP/l6f7////j6P6VvP/f5/7q8P7a4P/U2f6au/+ZuP+ewf+auP+iu//n6f2Fn//j6P/h4fn9/v/4/P/3/P/o9v/l9P+F1P+B1f/i8v+UyP+J0f+E0f/h7//r8v6Izf/g7v/q8v6Pv//f7P7f7f/g7f+Lxf+MyP+Mw//k7v6Ow/+Ov//v8/2Pu//t8f+Tvv/p8P6Uu//q7v/i6P2Xvf+WuP/L1vypu//Azv7K0/zy8v/l8v/A4P/o9f/x+f+I0f/j8v+J0P/s9v/h8P+I0P/t9v/r9P6Lyv+Lyf/s9P/g7P+Myv/s8/7j7v+Jrv/q8P2Uwf+Epf+TuP/a3vzh5f3w8P/a4P20v//Nzfzx8f/Pz/Cg0P/f7//u9f/q8v7o8v7s8/7s8v3w9f+Sv/+TuP+Gp//s8fr///8/HFXHAAAA8nRSTlMANUQ/Z2JJXXaKTjCPmVMre3E6gFiylLxsxoVYnk5JwaOFU8utOjrV0KieQS2icWwzMC4Dt7aTQvjfrHprXD0zMyvpvUxGNjH+2sK9raeYkoiAcF5TUi0rKCYY2cy3pIJ/eGpEQDcxLx0S/Pv19PPu7Ovr5+Tk4eDe3NXU09DIsq2opKCViYN9e3V1cmZlXllVTk1GQDs2NTMwJw0K/vn28u/u5+Pj3tjNycjGw8DAua2pqJ6SjYyMf3BvaWNgWk5NSTc3MxT79PHw6efl2trY19PHurWysqWZe2xkXVlUPjo6OSskCO7Qzs6+vKCedmhdN1av0hoAAAV1SURBVEjHjZT3P9RxHMe1nCjcObo4cjpX5w53l7pUbnBGkr2TPZJKmiqVEQlJhGjvvfcm2nvvvXf5C3q/P98bkuR1D7+9n16v1/vzvtPrnAade/ty6anHJfFHOjkfXbe07PGxkuL4oqIjCzoDjHtxurzsRHmFStokjBDG/59JrwurOF2hkkUoIyKEQmFqatG3/xDnXlSGPZcKI5VKiVgsli+vrakpfNAx8UoVlpRWH6mUeMsVcm8vhah6WfXB3A6IlSlVKoE4KjxcgtNGRl1Ayzw9H+Z20DypMVkZZWKiUIi6oHj2PAbPs6Eh/+6/kBUpVUliIEQKGGcwGPbdiBpCQ/O//AMZJ218XW9igoHsGTwY7kopdMmSvTvbz/VGmiyhCARwWJ/Ss5CQ9pl3zVJZJCEwEszb6BtaGxrCn3XIyZP3trW3rybBWTCB1jy0sNGHeWM7+BgzrX4kJu752E57mWA5mIjsMRVxgGkrJpPpRvtJSywt3X2rPUSMuUgqIIzx37vRaLQeqNKEhN03/womg/bYhDJBBzdqvjsqYeHCHdfa1k9BF0QoEyuwoOadWc4sFutoXNzWGW2W3Axd8E3AxAZ6WNGeEoDl7EwPho/T0cDAtswb2Bi6kFx2VkwaDYgRI5zo9EUGRIGHD82e+ufrJ8uo+l31oQogYMJiOdFh2BQ03NTscEDAn8wKgQCeUsRTI8QEMhkYDDc1NTMLMuNwLAP8/a9Pbl0mJQlXhvVtrO2YNLce3Uew6IvAAsYtLS17gvwLCrKR0d3la0DsgdG3NiZVMBZacMh8L9CB2NjsS61eRiCtB4YH/Q21CMQKAgLnh1hYWAyJ3b9/40Qd09woppJhFytAnIPpBmBCCBjvjdrn59eKSU+SRWkZphu40IMBgRpAAMBmO7DZbL/786+s0TIpKqXOhgqGCKcnhOrd28HBlmj+2LFZWia9KjkqnHoa3BmsjG7wKIgDuSzQw9F29Gh+3jDunTseWas1zKtKYbiIsrEjZdAF2iPiYOvIz+Nyuebm5h6+HuvGa2xU0qhwBbkzayzjDO8y3IwgbAdHPp87zNx8sIvLYN/tvhc1TF1lWqSEwaMWgG3ABpIB4sC2HY2Ei0sf0O2YmLWr1CdQGRYp8SK3ic/ZnRWMLqQ+2xGRwUD069dvV8zcuRom+rlA6Y2MbgGmhAGEz4VYSPQF5cyZM6GFYl6eTlN6ixi6aE6PqDLQZRi4EKI/KOfGFjUzqCKsXu6l2RpuAKJxiI1tHhcQJAYOHDhgwOZZs4ZSTHR5lQQYPDW1DS4aELQxdyEIAANGjtk8c6aaqTslk8gVwIAN0w3rAEL2bMtHm12AIOHqenXaNDWztEwo9hKJGHjR6OO0yDSI1IGdoQ0iY0a6Tt+06fKUDRQzqKw8Qlxr1AXrwNqwDvGBA+BrGUDc3d3Xr5+SQZj0E2ERqXIjPAJYNUbD18FoWEeDbHLPzLyQ4ePjQ5i3x1RCubfmpqkjMMNo6KOJ5uqe+f58C9GoaD29XyVSYS1h4DftKeWDDN4AbACZMZAsExEKghWUNKXWhlPfA2P1qjmUT556a9jmQotWi/VOFael1lR7ep4JfRZy8nhpwtG4wMMB/gdi9/nNH+vhezsmJ+fG5quX12fomHl6J+KFy88uA2RJyJPE4wkL4wIPBfgXxO5HxGN7zNw5W2bNnLZhio+OmaR3LD6tplrLfKeYAwX7/O6Dje/2dpniwuKiwoMHH+bn7723Z8/uHTu2fpg9+3p29sYrWVnr1l1cO2HCUFCGT+tshUcWLPj6IDf37ued27Z9unXz2owZU6dOnnxp4sQ1q1ePH79KN6vbQWc1SrfrTit6lO5NO6/F8yZNmofBfgNTwRQLsPLsHQAAAABJRU5ErkJggg==";
4012
- function su(i) {
4012
+ function ou(i) {
4013
4013
  return i * 180 / Math.PI;
4014
4014
  }
4015
4015
  function Cg(i) {
@@ -4082,7 +4082,7 @@ function Ig(i) {
4082
4082
  }
4083
4083
  function Pg(i, t, e) {
4084
4084
  let { panoIndex: n } = t, { floorplanData: s } = t, { lastPanoramaLongitude: o } = t, { cameraImageUrl: r } = t;
4085
- const { observers: a } = s, l = a[n], c = l.positionInImage.x, d = l.positionInImage.y, h = c * 100 + "%", u = d * 100 + "%", m = -su(o) + 45, A = document.body.clientWidth, p = document.body.clientHeight, v = `${(A < 500 || p < 500 ? 17 : 37) / 16}rem`;
4085
+ const { observers: a } = s, l = a[n], c = l.positionInImage.x, d = l.positionInImage.y, h = c * 100 + "%", u = d * 100 + "%", m = -ou(o) + 45, A = document.body.clientWidth, p = document.body.clientHeight, v = `${(A < 500 || p < 500 ? 17 : 37) / 16}rem`;
4086
4086
  return i.$$set = (y) => {
4087
4087
  "panoIndex" in y && e(5, n = y.panoIndex), "floorplanData" in y && e(6, s = y.floorplanData), "lastPanoramaLongitude" in y && e(7, o = y.lastPanoramaLongitude), "cameraImageUrl" in y && e(0, r = y.cameraImageUrl);
4088
4088
  }, [
@@ -4415,7 +4415,7 @@ function Fg(i, t, e) {
4415
4415
  12 && e(0, s = (l = (a = r.outlines) == null ? void 0 : a[o]) == null ? void 0 : l.svgContent);
4416
4416
  }, [s, n, o, r];
4417
4417
  }
4418
- class ou extends le {
4418
+ class ru extends le {
4419
4419
  constructor(t) {
4420
4420
  super(), ae(this, t, Fg, Wg, oe, { floorIndex: 2, floorplanData: 3 }, Ng);
4421
4421
  }
@@ -5347,7 +5347,7 @@ function Do(i, t = {}) {
5347
5347
  return a === 0 ? (e += "M" + d, e) : s != null && s[a] ? (e += "A" + s[a] + "," + d, e) : (e += "L" + d, e);
5348
5348
  }), e + (n ? "Z" : "");
5349
5349
  }
5350
- function ru({ x: i, y: t }, e) {
5350
+ function au({ x: i, y: t }, e) {
5351
5351
  const { max: n, min: s } = e;
5352
5352
  return { x: i - s.x, y: n.y - t };
5353
5353
  }
@@ -5746,7 +5746,7 @@ function xp(i, t, e) {
5746
5746
  }, i.$$.update = () => {
5747
5747
  i.$$.dirty & /*floorplanData, floorIndex*/
5748
5748
  24 && e(0, n = o.floorDatas[s].rooms.map((l) => Ae(N({}, l), {
5749
- path: l.path.map((c) => ru(c, o.bounding))
5749
+ path: l.path.map((c) => au(c, o.bounding))
5750
5750
  })));
5751
5751
  }, [n, r, a, s, o];
5752
5752
  }
@@ -5821,7 +5821,7 @@ function Lp(i, t, e) {
5821
5821
  }
5822
5822
  const { bounding: u } = a, m = Do(o.path, {
5823
5823
  needZ: !0,
5824
- format: (A) => ru(A, u)
5824
+ format: (A) => au(A, u)
5825
5825
  });
5826
5826
  return i.$$set = (A) => {
5827
5827
  "room" in A && e(0, o = A.room), "floorIndex" in A && e(1, r = A.floorIndex), "floorplanData" in A && e(6, a = A.floorplanData), "highlightData" in A && e(7, l = A.highlightData), "hoveredRoom" in A && e(8, c = A.hoveredRoom);
@@ -6020,7 +6020,7 @@ function Bp(i, t, e) {
6020
6020
  l
6021
6021
  ];
6022
6022
  }
6023
- class au extends le {
6023
+ class lu extends le {
6024
6024
  constructor(t) {
6025
6025
  super(), ae(
6026
6026
  this,
@@ -6066,7 +6066,7 @@ function Bl(i) {
6066
6066
  let s = {};
6067
6067
  for (let o = 0; o < n.length; o += 1)
6068
6068
  s = tt(s, n[o]);
6069
- return t = new au({ props: s }), {
6069
+ return t = new lu({ props: s }), {
6070
6070
  c() {
6071
6071
  ne(t.$$.fragment);
6072
6072
  },
@@ -6304,7 +6304,7 @@ function Vp(i) {
6304
6304
  let A = {};
6305
6305
  for (let v = 0; v < m.length; v += 1)
6306
6306
  A = tt(A, m[v]);
6307
- o = new ou({ props: A });
6307
+ o = new ru({ props: A });
6308
6308
  let p = (
6309
6309
  /*roomLabelsEnable*/
6310
6310
  i[4] && Rl(i)
@@ -6986,7 +6986,7 @@ let gs = class {
6986
6986
  /**
6987
6987
  * @realsee/dnalogel 版本号
6988
6988
  */
6989
- f(this, "VERSION", "2.24.0-dev.1");
6989
+ f(this, "VERSION", "2.24.1");
6990
6990
  f(this, "five");
6991
6991
  /**
6992
6992
  * 插件事件钩子
@@ -7010,7 +7010,7 @@ let gs = class {
7010
7010
  }, Rn = class extends gs {
7011
7011
  };
7012
7012
  var Pt = /* @__PURE__ */ ((i) => (i.UnknownError = "UnknownError", i.DataNotLoaded = "DataNotLoaded", i.BreakOffByHide = "BreakOffByHide", i.BreakOffByDisable = "BreakOffByDisable", i.ModelNotLoaded = "ModelNotLoaded", i.ChangeModeError = "ChangeModeError", i.UpdateCameraError = "UpdateCameraError", i))(Pt || {});
7013
- const lu = 500, Kp = 80;
7013
+ const cu = 500, Kp = 80;
7014
7014
  function na(i, t, e = 4) {
7015
7015
  return Math.floor(i * Math.pow(10, e)) === Math.floor(t * Math.pow(10, e));
7016
7016
  }
@@ -7047,7 +7047,7 @@ function Va(i, t) {
7047
7047
  const { latitude: e, longitude: n, fov: s } = t, { latitude: o, longitude: r } = i.getCurrentState(), a = i.camera.fov;
7048
7048
  return !(!na(e, o, 2) || !na(n, r, 2) || s !== a);
7049
7049
  }
7050
- function cu(i, t, e = !0) {
7050
+ function du(i, t, e = !0) {
7051
7051
  return U(this, null, function* () {
7052
7052
  if (Va(i, t) === !0)
7053
7053
  return;
@@ -7191,13 +7191,13 @@ let nA = class extends Rn {
7191
7191
  this.showRejection = (u) => {
7192
7192
  a = !0, l = u;
7193
7193
  };
7194
- const [c] = yield ui(cu(this.five, this.showState, s.userAction));
7194
+ const [c] = yield ui(du(this.five, this.showState, s.userAction));
7195
7195
  if (c)
7196
7196
  throw c;
7197
7197
  if (a)
7198
7198
  throw l ? new Error(l) : new Error(Pt.UnknownError);
7199
7199
  this.updateSize(), this.floorIndex = s.floorIndex, this.five.model.show(this.floorIndex);
7200
- const d = s.modelOpacity, h = s.immediately ? 0 : lu;
7200
+ const d = s.modelOpacity, h = s.immediately ? 0 : cu;
7201
7201
  mi(this.five, d, h), this.render(h);
7202
7202
  });
7203
7203
  return this.showPromise = o().then(() => {
@@ -7520,13 +7520,13 @@ let oA = class extends Rn {
7520
7520
  this.showRejection = (u) => {
7521
7521
  a = !0, l = u;
7522
7522
  };
7523
- const [c] = yield ui(cu(this.five, this.showState, s.userAction));
7523
+ const [c] = yield ui(du(this.five, this.showState, s.userAction));
7524
7524
  if (c)
7525
7525
  throw c;
7526
7526
  if (a)
7527
7527
  throw l ? new Error(l) : new Error(Pt.UnknownError);
7528
7528
  this.updateSize(), this.updatePosition(), this.floorIndex = s.floorIndex, this.five.model.show(this.floorIndex);
7529
- const d = s.modelOpacity, h = s.immediately ? 0 : lu;
7529
+ const d = s.modelOpacity, h = s.immediately ? 0 : cu;
7530
7530
  mi(this.five, d, h), this.render(h);
7531
7531
  });
7532
7532
  return this.showPromise = o().then(() => {
@@ -8247,7 +8247,7 @@ function Ul(i) {
8247
8247
  let s = {};
8248
8248
  for (let o = 0; o < n.length; o += 1)
8249
8249
  s = tt(s, n[o]);
8250
- return t = new au({ props: s }), {
8250
+ return t = new lu({ props: s }), {
8251
8251
  c() {
8252
8252
  ne(t.$$.fragment);
8253
8253
  },
@@ -8315,7 +8315,7 @@ function pA(i) {
8315
8315
  let l = {};
8316
8316
  for (let d = 0; d < a.length; d += 1)
8317
8317
  l = tt(l, a[d]);
8318
- t = new ou({ props: l }), n = new gA({
8318
+ t = new ru({ props: l }), n = new gA({
8319
8319
  props: {
8320
8320
  extraObjects: (
8321
8321
  /*currentFloorExtraObjects*/
@@ -8935,7 +8935,7 @@ const iE = (i, t) => new IA(i, t), sE = [
8935
8935
  }
8936
8936
  return n && i.position.set(n.x, n.y, n.z), i;
8937
8937
  };
8938
- function du(i, t) {
8938
+ function hu(i, t) {
8939
8939
  i.traverse((e) => {
8940
8940
  var n;
8941
8941
  if (e.type === "Mesh") {
@@ -8955,7 +8955,7 @@ const aE = (i, t) => {
8955
8955
  if (l = (k = g == null ? void 0 : g.north_rad) != null ? k : n, typeof l != "number")
8956
8956
  throw new Error('"northRad"配置参数缺失:未配置指南针指向!');
8957
8957
  const I = yield new wh().loadAsync(v);
8958
- return du(I, {
8958
+ return hu(I, {
8959
8959
  transparent: !0,
8960
8960
  side: E.DoubleSide,
8961
8961
  blending: E.AdditiveBlending
@@ -8998,7 +8998,7 @@ function EA(i, t) {
8998
8998
  const e = (c = t == null ? void 0 : t.size) != null ? c : 512, n = (d = t == null ? void 0 : t.fontSize) != null ? d : e * (35 / 256) * 1.2, s = (h = t == null ? void 0 : t.backgroundColor) != null ? h : "rgba(0,0,0,0)", o = (u = t == null ? void 0 : t.fontColor) != null ? u : "#fff", r = (m = t == null ? void 0 : t.textAlign) != null ? m : "center", a = document.createElement("canvas");
8999
8999
  a.setAttribute("width", e + ""), a.setAttribute("height", e + "");
9000
9000
  const l = a.getContext("2d");
9001
- return l.fillStyle = s, l.fillRect(0, 0, e, e), l.font = `${n}px "微软雅黑"`, l.textAlign = r, l.fillStyle = o, l.fillText(i, e / 2, e * 0.7), new vf(a);
9001
+ return l.fillStyle = s, l.fillRect(0, 0, e, e), l.font = `${n}px "微软雅黑"`, l.textAlign = r, l.fillStyle = o, l.fillText(i, e / 2, e * 0.7), new bf(a);
9002
9002
  }
9003
9003
  const kA = ({ x: i, y: t, z: e }) => new ie(i, t, e), lE = (i, t) => {
9004
9004
  var p, g, v;
@@ -9011,7 +9011,7 @@ const kA = ({ x: i, y: t, z: e }) => new ie(i, t, e), lE = (i, t) => {
9011
9011
  if (e.rad = S, S === void 0)
9012
9012
  return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): rad is ${S}`));
9013
9013
  const R = yield new wh().loadAsync(P);
9014
- R.position.copy(k), R.rotation.z = S, R.scale.set(0.8, 0.8, 0.8), du(R, { transparent: !0, side: E.DoubleSide });
9014
+ R.position.copy(k), R.rotation.z = S, R.scale.set(0.8, 0.8, 0.8), hu(R, { transparent: !0, side: E.DoubleSide });
9015
9015
  const L = (Z = (_ = (V = (H = R.children) == null ? void 0 : H[0]) == null ? void 0 : V.children) == null ? void 0 : _[3]) == null ? void 0 : Z.clone();
9016
9016
  if (!L)
9017
9017
  return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): textMesh is ${L}`));
@@ -9022,7 +9022,7 @@ const kA = ({ x: i, y: t, z: e }) => new ie(i, t, e), lE = (i, t) => {
9022
9022
  return;
9023
9023
  if (!e.object)
9024
9024
  return console.error("ModelEntryDoorGuidePlugin.initAnimation(): state.object is ", e.object);
9025
- const y = 1, I = new bf(e.object);
9025
+ const y = 1, I = new yf(e.object);
9026
9026
  a.push(I);
9027
9027
  const k = I.clipAction(e.object.animations[0]);
9028
9028
  k.timeScale = y;
@@ -9152,15 +9152,15 @@ const ia = (i, t, e) => {
9152
9152
  function Kl(i, t) {
9153
9153
  return i.x === t.x && i.y === t.y;
9154
9154
  }
9155
- function hu(i, t) {
9155
+ function uu(i, t) {
9156
9156
  return Math.abs(i) === 1 / 0 && Math.abs(t) === 1 / 0 ? !0 : Math.abs(i - t) < 1e-3;
9157
9157
  }
9158
9158
  function fo(i, t) {
9159
9159
  return (t.y - i.y) / (t.x - i.x);
9160
9160
  }
9161
- function uu(i, t, e) {
9161
+ function fu(i, t, e) {
9162
9162
  const n = fo(i[1], i[0]), s = fo(t[1], t[0]);
9163
- if (isNaN(n) || isNaN(s) || hu(n, s))
9163
+ if (isNaN(n) || isNaN(s) || uu(n, s))
9164
9164
  return !1;
9165
9165
  if (Vs(i[0], t))
9166
9166
  return i[0];
@@ -9181,7 +9181,7 @@ function uu(i, t, e) {
9181
9181
  return { x: a, y: l };
9182
9182
  }
9183
9183
  function Vs(i, t) {
9184
- return Kl(i, t[0]) || Kl(i, t[1]) ? !0 : (t[0].x - i.x) * (i.x - t[1].x) >= 0 && (t[0].y - i.y) * (i.y - t[1].y) >= 0 && hu(fo(t[0], i), fo(i, t[1]));
9184
+ return Kl(i, t[0]) || Kl(i, t[1]) ? !0 : (t[0].x - i.x) * (i.x - t[1].x) >= 0 && (t[0].y - i.y) * (i.y - t[1].y) >= 0 && uu(fo(t[0], i), fo(i, t[1]));
9185
9185
  }
9186
9186
  function Qs(i, t, e) {
9187
9187
  return (i.x - e.x) * (t.y - e.y) - (t.x - e.x) * (i.y - e.y);
@@ -9189,8 +9189,8 @@ function Qs(i, t, e) {
9189
9189
  function TA(i, t) {
9190
9190
  return Math.max(i[0].x, i[1].x) >= Math.min(t[0].x, t[1].x) && Math.max(t[0].x, t[1].x) >= Math.min(i[0].x, i[1].x) && Math.max(i[0].y, i[1].y) >= Math.min(t[0].y, t[1].y) && Qs(t[0], i[1], i[0]) * Qs(i[1], t[1], i[0]) > 0 && Qs(i[0], t[1], t[0]) * Qs(t[1], i[1], t[0]) > 0 ? 1 : 0;
9191
9191
  }
9192
- function fu(i, t = 0) {
9193
- t <= 0 ? requestAnimationFrame(i) : requestAnimationFrame(() => fu(i, t - 1));
9192
+ function mu(i, t = 0) {
9193
+ t <= 0 ? requestAnimationFrame(i) : requestAnimationFrame(() => mu(i, t - 1));
9194
9194
  }
9195
9195
  const LA = `<style type="text/css">
9196
9196
  .PanoRulerPlugin-rule-line {
@@ -9402,7 +9402,7 @@ const LA = `<style type="text/css">
9402
9402
  ]
9403
9403
  ], k = [];
9404
9404
  for (let S = 0; S < I.length; S++) {
9405
- const P = uu([p, g], [I[S][0], I[S][1]], !0);
9405
+ const P = fu([p, g], [I[S][0], I[S][1]], !0);
9406
9406
  P && k.push(P);
9407
9407
  }
9408
9408
  return k.length === 0 ? !1 : k;
@@ -9488,7 +9488,7 @@ const LA = `<style type="text/css">
9488
9488
  const ht = (Math.PI / 2 - Math.atan2(ve - Ce, pe - We)) / Math.PI * 180, Me = _.querySelector(".PanoRulerPlugin-rule-label"), it = Me.children[0].clientWidth;
9489
9489
  it >= fe || it / 2 >= je / 100 * fe || it / 2 >= (1 - je / 100) * fe ? _.style.display = "none" : (_.style.display = "block", _.style.width = fe + "px", _.style.left = Ce + "px", _.style.top = pe + "px", _.style.transform = `rotate(${-ht}deg)`, Me.style.left = `${je}%`);
9490
9490
  }
9491
- }, h = () => fu(d), u = () => {
9491
+ }, h = () => mu(d), u = () => {
9492
9492
  var p, g;
9493
9493
  return e.loaded ? (e.enable || (s.setAttribute("class", "PanoRulerPlugin" + (e.options.className ? " " + e.options.className : "")), (g = (p = i.getElement()) == null ? void 0 : p.parentElement) == null || g.append(s), d(), i.on("modeChange", d), i.on("cameraUpdate", h), e.enable = !0), !0) : !1;
9494
9494
  }, m = () => (e.enable && (i.off("modeChange", d), i.off("cameraUpdate", h), s && s.remove(), e.enable = !1), !0);
@@ -9819,7 +9819,7 @@ function HA(i, t, e) {
9819
9819
  [{ x: 0, y: l }, { x: a, y: l }]
9820
9820
  ], P = [];
9821
9821
  for (let R = 0; R < S.length; R++) {
9822
- const L = uu([I, k], [S[R][0], S[R][1]], !0);
9822
+ const L = fu([I, k], [S[R][0], S[R][1]], !0);
9823
9823
  L && P.push(L);
9824
9824
  }
9825
9825
  return P.length === 0 ? !1 : P;
@@ -10217,8 +10217,8 @@ class XA extends Rn {
10217
10217
  return Po(this.five).create3DDomContainer(e);
10218
10218
  }
10219
10219
  }
10220
- const fE = (i, t) => new XA(i, t), ZA = 1, JA = 3, qA = new bi(16777215), KA = new bi(6522623), $A = new bi(16777215), ev = new bi(6522623), tv = 6, nv = 8, iv = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAACnRSTlMAG/Py2baba05un7UgfgAAAHJJREFUKM9joBpgLHVSCRdA4metAoJlCJHmVWBgAeNzroKCCVCBLpjACqgJVjCBxRBT2FbBQQJYQAohsBAsUIUQWA4WiEIILAULeCEEloAFtBACizAEMLRgGIphLabDMJ2O6TlM72MGECIIMQIZIxqoBQCPvpJ/e9FaAAAAAABJRU5ErkJggg==", mu = new ph().load(iv), sv = {
10221
- pointTexture: mu,
10220
+ const fE = (i, t) => new XA(i, t), ZA = 1, JA = 3, qA = new bi(16777215), KA = new bi(6522623), $A = new bi(16777215), ev = new bi(6522623), tv = 6, nv = 8, iv = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAACnRSTlMAG/Py2baba05un7UgfgAAAHJJREFUKM9joBpgLHVSCRdA4metAoJlCJHmVWBgAeNzroKCCVCBLpjACqgJVjCBxRBT2FbBQQJYQAohsBAsUIUQWA4WiEIILAULeCEEloAFtBACizAEMLRgGIphLabDMJ2O6TlM72MGECIIMQIZIxqoBQCPvpJ/e9FaAAAAAABJRU5ErkJggg==", gu = new ph().load(iv), sv = {
10221
+ pointTexture: gu,
10222
10222
  pointSize: tv,
10223
10223
  lineWidth: ZA,
10224
10224
  lineColor: qA,
@@ -10226,7 +10226,7 @@ const fE = (i, t) => new XA(i, t), ZA = 1, JA = 3, qA = new bi(16777215), KA = n
10226
10226
  lineRenderOrder: 20,
10227
10227
  pointsRenderOrder: 20
10228
10228
  }, ov = {
10229
- pointTexture: mu,
10229
+ pointTexture: gu,
10230
10230
  pointSize: nv,
10231
10231
  lineWidth: JA,
10232
10232
  lineColor: KA,
@@ -10264,7 +10264,7 @@ function lv(i) {
10264
10264
  const t = document.createElement("div");
10265
10265
  return i != null && i.id && (t.id = i == null ? void 0 : i.id), t.classList.add("five-plugin-measure__distance"), t.style.position = "absolute", t.style.left = "0", t.style.top = "0", t.style.width = "0", t.style.height = "0", t.style.transform = "translate(-10px, -10px)", t.style.transformOrigin = "left top", i != null && i.style && Object.assign(t.style, i.style), t;
10266
10266
  }
10267
- class gu {
10267
+ class pu {
10268
10268
  constructor(t) {
10269
10269
  f(this, "ndcPosition");
10270
10270
  f(this, "contentDom");
@@ -10324,7 +10324,7 @@ class gu {
10324
10324
  this.containerDom.style.transform = `translate(${r}px, ${a}px)`, this.tempShow();
10325
10325
  }
10326
10326
  }
10327
- class cv extends gu {
10327
+ class cv extends pu {
10328
10328
  constructor(e) {
10329
10329
  var n;
10330
10330
  e.contentStyle = Ae(N({}, e.contentStyle), {
@@ -10482,6 +10482,13 @@ let To = class {
10482
10482
  f(this, "updateDistanceUI", () => {
10483
10483
  this.dashed.distanceItem.update(this.five), this.model.getAllLines().forEach((t) => t.distanceItem.update(this.five));
10484
10484
  });
10485
+ f(this, "updateAreaUI", () => {
10486
+ this.dashed.distanceItem.update(this.five), this.model.getAllAreas().forEach((t) => {
10487
+ t.areaItem.updateArea(this.five), t.polyline.lines.forEach((e) => {
10488
+ e.distanceItem.update(this.five);
10489
+ });
10490
+ });
10491
+ });
10485
10492
  var n, s;
10486
10493
  this.five = t.five, this.hook = t.hook, this.model = t.model, this.getMeasureType = t.getMeasureType, this.config = t.config, this.magnifierParams = t.magnifierParams, this.editParams = t.editParams, this.magnifier = t.magnifier, this.container = t.container, this.isMobile = (s = (n = t.openParams) == null ? void 0 : n.isMobile) != null ? s : !1, this.userDistanceItemCreator = t.userDistanceItemCreator, this.group = t.group, this.mouseGroup = t.mouseGroup, this.dashed = new An(new bt([0, 0, 0]), new bt([0, 0, 0]), this.model), this.dashed.distanceItem.setCanSelect(!1), this.dashed.mesh.setMaterial({ dashed: !0, dashScale: 100 }), this.dashed.mesh.name = "dashLine", this.perpendicularDashed = new An(new bt([0, 0, 0]), new bt([0, 0, 0]), this.model), this.perpendicularDashed.distanceItem.setCanSelect(!1), this.perpendicularDashed.mesh.setMaterial({ dashed: !0, dashScale: 40, color: new bi(10218089) }), this.perpendicularDashed.mesh.name = "perpendicularDashLine";
10487
10494
  const e = this.five.getElement();
@@ -10607,7 +10614,7 @@ let To = class {
10607
10614
  this.id = t.id, this.clear(), this.lines.push(...t.lines), this.points.push(...t.points);
10608
10615
  }
10609
10616
  };
10610
- class pu extends Ah {
10617
+ class Au extends Ah {
10611
10618
  constructor() {
10612
10619
  super();
10613
10620
  }
@@ -10633,11 +10640,11 @@ function hv(i) {
10633
10640
  if (t.length < 3)
10634
10641
  return;
10635
10642
  t.at(-1).equals(t[0]) || t.push(t[0]);
10636
- const e = t.flatMap((r) => [r.x, r.y, r.z]), n = new E.Float32BufferAttribute(e, 3), s = Lf(e, void 0, 3), o = new E.BufferGeometry();
10643
+ const e = t.flatMap((r) => [r.x, r.y, r.z]), n = new E.Float32BufferAttribute(e, 3), s = jf(e, void 0, 3), o = new E.BufferGeometry();
10637
10644
  return o.setAttribute("position", n), o.setIndex(s), o.name = "PolygonGeometry", o;
10638
10645
  }
10639
10646
  const uv = new E.BufferGeometry();
10640
- class Au extends pu {
10647
+ class vu extends Au {
10641
10648
  constructor(e) {
10642
10649
  super();
10643
10650
  f(this, "isPolygonMesh", !0);
@@ -10675,16 +10682,16 @@ function fv(i) {
10675
10682
  return;
10676
10683
  let e = 0, n = new ie();
10677
10684
  for (const [s, o, r] of t) {
10678
- const a = vu(s, o, r), l = mv(s, o, r, a);
10685
+ const a = bu(s, o, r), l = mv(s, o, r, a);
10679
10686
  e += a, n.add(l);
10680
10687
  }
10681
10688
  return n = n.divideScalar(e), { center: n, area: e };
10682
10689
  }
10683
- function vu(i, t, e) {
10690
+ function bu(i, t, e) {
10684
10691
  return t.clone().sub(i).cross(e.clone().sub(i)).length() / 2;
10685
10692
  }
10686
10693
  function mv(i, t, e, n) {
10687
- const s = n != null ? n : vu(i, t, e);
10694
+ const s = n != null ? n : bu(i, t, e);
10688
10695
  return sn(i, t, e).multiplyScalar(s);
10689
10696
  }
10690
10697
  function gv(i) {
@@ -10699,7 +10706,7 @@ function gv(i) {
10699
10706
  }
10700
10707
  return n;
10701
10708
  }
10702
- class pv extends gu {
10709
+ class pv extends pu {
10703
10710
  constructor(e) {
10704
10711
  e.containerStyle = Ae(N({}, e.containerStyle), {
10705
10712
  zIndex: "1"
@@ -10715,17 +10722,18 @@ class pv extends gu {
10715
10722
  * @description: dom 依赖的多边形的顶点的位置更新时,更新 dom 的位置和面积
10716
10723
  */
10717
10724
  updateArea(e, n) {
10725
+ var l, c;
10718
10726
  const s = n != null ? n : this.area.polygon.geometry, o = fv(s);
10719
10727
  if (!o) {
10720
10728
  this.ndcPosition = null, this.updateDomPosition(e);
10721
10729
  return;
10722
10730
  }
10723
10731
  const { area: r, center: a } = o;
10724
- this.ndcPosition = a, this.updateDomPosition(e), this.updateAreaText(r);
10732
+ this.ndcPosition = a, this.updateDomPosition(e), (c = (l = this.area.model) == null ? void 0 : l.config) != null && c.getAreaText ? this.contentDom.innerText = this.area.model.config.getAreaText(r) : this.updateAreaText(r, { fix: 2 });
10725
10733
  }
10726
10734
  updateAreaText(e, n) {
10727
- const { unit: s = "m²", fix: o = 2 } = n != null ? n : {};
10728
- this.contentDom.innerText = `${e.toFixed(o)}${s}`;
10735
+ const { unit: s = "m²", fix: o } = n != null ? n : {};
10736
+ this.contentDom.innerText = `${Bh(o) ? e : e.toFixed(o)}${s}`;
10729
10737
  }
10730
10738
  }
10731
10739
  class sa {
@@ -10737,6 +10745,7 @@ class sa {
10737
10745
  f(this, "lightMesh");
10738
10746
  f(this, "areaItem");
10739
10747
  f(this, "hook", new mt());
10748
+ f(this, "model");
10740
10749
  /** 多边形mesh */
10741
10750
  f(this, "polygon");
10742
10751
  /** 多边形顶点 */
@@ -10750,7 +10759,6 @@ class sa {
10750
10759
  /** 多边形dom容器 */
10751
10760
  f(this, "domContainer");
10752
10761
  f(this, "five");
10753
- f(this, "model");
10754
10762
  /**
10755
10763
  * @description: five camera update 时,更新Dom的位置
10756
10764
  */
@@ -10758,7 +10766,7 @@ class sa {
10758
10766
  this.five && (this.polyline.lines.forEach((t) => t.distanceItem.update(this.five)), this.areaItem.updateDomPosition(this.five));
10759
10767
  });
10760
10768
  var n;
10761
- t && (this.points = t), this.model = e.model, this.polygon = new Au(t), this.polyline = new gi({ model: e.model }), this.areaItem = new pv({
10769
+ t && (this.points = t), this.model = e.model, this.polygon = new vu(t), this.polyline = new gi({ model: e.model }), this.areaItem = new pv({
10762
10770
  area: this,
10763
10771
  clickCallback: (s, o) => {
10764
10772
  const r = s.clientX + "px", a = s.clientY + "px";
@@ -10841,7 +10849,7 @@ function Hs(i, t, e) {
10841
10849
  function _s(i, t, e) {
10842
10850
  return t.x <= Math.max(i.x, e.x) && t.x >= Math.min(i.x, e.x) && t.z <= Math.max(i.z, e.z) && t.z >= Math.min(i.z, e.z);
10843
10851
  }
10844
- const bu = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
10852
+ const yu = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
10845
10853
  function oa(i) {
10846
10854
  const { x: t, y: e } = i.center, { clientWidth: n, clientHeight: s } = i.target, o = i.target.getBoundingClientRect(), r = new et(t, e).sub(new et(o.left, o.top)), a = new et(r.x / n * 2 - 1, -(r.y / s) * 2 + 1);
10847
10855
  return { point: r, ndcPoint: a };
@@ -10967,7 +10975,7 @@ class Av {
10967
10975
  var o, r;
10968
10976
  this.five = t;
10969
10977
  const n = (o = e == null ? void 0 : e.mode) != null ? o : "auto";
10970
- n === "auto" ? this.mode = bu ? "fixed" : "cursor" : this.mode = n;
10978
+ n === "auto" ? this.mode = yu ? "fixed" : "cursor" : this.mode = n;
10971
10979
  const s = {
10972
10980
  autoFixPCPosition: this.mode === "cursor",
10973
10981
  initialPosition: this.mode === "fixed" ? { left: "35%", top: "20%" } : void 0
@@ -11012,7 +11020,7 @@ function bv(i, t) {
11012
11020
  distance: n,
11013
11021
  point: s,
11014
11022
  object: new Ah(),
11015
- face: new yf(0, 0, 0, o)
11023
+ face: new wf(0, 0, 0, o)
11016
11024
  };
11017
11025
  }
11018
11026
  const yv = `
@@ -11504,7 +11512,7 @@ class cc extends To {
11504
11512
  f(this, "wantsTapGesture", (e) => {
11505
11513
  var p;
11506
11514
  const n = this.model.areas.map((g) => e.intersectObject(g.polygon, !0)[0]).sort((g, v) => g.distance - v.distance), s = (p = n[0]) == null ? void 0 : p.object.parent;
11507
- if (s instanceof Au) {
11515
+ if (s instanceof vu) {
11508
11516
  const g = this.model.areas.find((v) => v.polygon === s);
11509
11517
  if (g) {
11510
11518
  const { x: v, y } = n[0].point.clone().project(this.five.camera), I = `${(v + 1) / 2 * 100}%`, k = `${(-y + 1) / 2 * 100}%`;
@@ -11612,7 +11620,7 @@ class cc extends To {
11612
11620
  });
11613
11621
  }
11614
11622
  }
11615
- class yu {
11623
+ class wu {
11616
11624
  constructor(t) {
11617
11625
  f(this, "config");
11618
11626
  f(this, "polylines", []);
@@ -11718,25 +11726,25 @@ void main() {
11718
11726
  gl_FragColor = vec4(1.0,1.0,1.0,match);
11719
11727
  }
11720
11728
  `;
11721
- function wu(i) {
11729
+ function Cu(i) {
11722
11730
  var v, y;
11723
11731
  const t = (v = i.isMobile) != null ? v : !0, e = (y = i.useNormalVector) != null ? y : !0;
11724
11732
  let n = 10349931;
11725
11733
  e && i.ballColor >= 0 && (n = i.ballColor);
11726
- const s = new ri(), o = new wf(0.3, 0.3), r = t ? xv : Dv, a = new ph().load(r);
11727
- a.encoding = Cf, a.minFilter = Ur;
11734
+ const s = new ri(), o = new Cf(0.3, 0.3), r = t ? xv : Dv, a = new ph().load(r);
11735
+ a.encoding = If, a.minFilter = Ur;
11728
11736
  const l = new rs({
11729
11737
  map: a,
11730
11738
  transparent: !0,
11731
11739
  depthTest: !1
11732
- }), c = new ts(o, l), d = new If();
11733
- d.add(new Pf(new ie(0, 0, 0), new ie(0, 0, 0.1)));
11734
- const h = new Ef(d, 8, 3e-3), u = new vh({
11740
+ }), c = new ts(o, l), d = new Pf();
11741
+ d.add(new Ef(new ie(0, 0, 0), new ie(0, 0, 0.1)));
11742
+ const h = new kf(d, 8, 3e-3), u = new vh({
11735
11743
  vertexShader: Sv,
11736
11744
  fragmentShader: Tv,
11737
11745
  depthTest: !1,
11738
11746
  transparent: !0
11739
- }), m = new ts(h, u), A = new kf(0.01, 20, 20), p = new rs({
11747
+ }), m = new ts(h, u), A = new Mf(0.01, 20, 20), p = new rs({
11740
11748
  color: n,
11741
11749
  depthTest: !1,
11742
11750
  transparent: !0,
@@ -11792,8 +11800,8 @@ class Lv {
11792
11800
  const t = this.five.model.intersectRaycaster(this.raycaster)[0];
11793
11801
  return t || null;
11794
11802
  });
11795
- this.five = t.five, this.hook = t.hook, this.group = t.group, this.mouseGroup = wu(N({ isMobile: !0 }, t.openParams.crossHairParameter)), this.container.innerHTML = Im, this.container.classList.add("range-piece-controller"), this.content = this.container.querySelector(".range-piece__content"), this.content && (this.content.style.transform = `matrix3d(${this.pieceStyl.matrix3d.toString()}) scale(${this.pieceStyl.scale})`, this.content.style.opacity = `${this.pieceStyl.opacity}`), t.container.append(this.container), this.intersectMesh = new ts(
11796
- new Mf(0.04, 0.08, 32),
11803
+ this.five = t.five, this.hook = t.hook, this.group = t.group, this.mouseGroup = Cu(N({ isMobile: !0 }, t.openParams.crossHairParameter)), this.container.innerHTML = Pm, this.container.classList.add("range-piece-controller"), this.content = this.container.querySelector(".range-piece__content"), this.content && (this.content.style.transform = `matrix3d(${this.pieceStyl.matrix3d.toString()}) scale(${this.pieceStyl.scale})`, this.content.style.opacity = `${this.pieceStyl.opacity}`), t.container.append(this.container), this.intersectMesh = new ts(
11804
+ new xf(0.04, 0.08, 32),
11797
11805
  new rs({ color: 1245179, opacity: 0, side: bh, transparent: !0 })
11798
11806
  ), this.container.addEventListener("animationend", this.computedCenterMouseXY), this.five.on("cameraUpdate", this.onCameraDirectionUpdate), this.hook.on("willChangeState", this.onWillChangeState);
11799
11807
  }
@@ -11943,7 +11951,7 @@ class Yi extends To {
11943
11951
  f(this, "cancelDeleteClickCallback", () => {
11944
11952
  this.clearHighlightLines();
11945
11953
  });
11946
- this.model = new yu(this.config), this.polyline = new gi({ model: this.model }), this.rangePieceController = new Lv(e), this.deleteDom = new Ga(this.five, {
11954
+ this.model = new wu(this.config), this.polyline = new gi({ model: this.model }), this.rangePieceController = new Lv(e), this.deleteDom = new Ga(this.five, {
11947
11955
  i18n: this.config.i18n,
11948
11956
  onClick: this.deleteDomClickCallback,
11949
11957
  cancel: this.cancelDeleteClickCallback
@@ -12199,11 +12207,11 @@ const go = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIHhtbG
12199
12207
  height: "184px",
12200
12208
  background: "linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 100%)",
12201
12209
  zIndex: "0"
12202
- }, Cu = {
12210
+ }, Iu = {
12203
12211
  margin: "0 64px"
12204
12212
  }, Nv = {
12205
12213
  opacity: "0.85"
12206
- }, Iu = {
12214
+ }, Pu = {
12207
12215
  width: "72px",
12208
12216
  height: "72px",
12209
12217
  backgroundSize: "100%",
@@ -12253,7 +12261,7 @@ class Wv {
12253
12261
  end: (a = this._params.endButtonText) != null ? a : this._btnTexts.end,
12254
12262
  revoke: (l = this._params.revokeButtonText) != null ? l : this._btnTexts.revoke,
12255
12263
  exit: (c = this._params.exitButtonText) != null ? c : this._btnTexts.exit
12256
- }, this.measureController = t, this.container = e, this.mainElement = this.getMainElement(), Object.assign(this.mainElement.mainIcon.style, Iu), Object.assign(this.mainElement.mainItem.style, Cu);
12264
+ }, this.measureController = t, this.container = e, this.mainElement = this.getMainElement(), Object.assign(this.mainElement.mainIcon.style, Pu), Object.assign(this.mainElement.mainItem.style, Iu);
12257
12265
  const { revokeTextDom: s, exitTextDom: o } = this._getTextElement();
12258
12266
  s && (s.innerText = this._btnTexts.revoke), o && (o.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);
12259
12267
  }
@@ -12305,7 +12313,7 @@ class Fv {
12305
12313
  this._params = n, this._btnTexts = {
12306
12314
  start: (s = this._params.startButtonText) != null ? s : this._btnTexts.start,
12307
12315
  end: (o = this._params.endButtonText) != null ? o : this._btnTexts.end
12308
- }, this.measureController = t, this.container = e, this.mainElement = this.getMainElement(), this.mainElement.mainIcon.setAttribute("style", "-webkit-tap-highlight-color: rgba(0,0,0,0);"), Object.assign(this.mainElement.mainIcon.style, Iu), Object.assign(this.mainElement.mainItem.style, Cu), this.change2Add(), this.mainElement.mainItem.addEventListener("click", this.onClick);
12316
+ }, this.measureController = t, this.container = e, this.mainElement = this.getMainElement(), this.mainElement.mainIcon.setAttribute("style", "-webkit-tap-highlight-color: rgba(0,0,0,0);"), Object.assign(this.mainElement.mainIcon.style, Pu), Object.assign(this.mainElement.mainItem.style, Iu), this.change2Add(), this.mainElement.mainItem.addEventListener("click", this.onClick);
12309
12317
  }
12310
12318
  dispose() {
12311
12319
  this.mainElement.mainItem.removeEventListener("click", this.onClick);
@@ -12639,18 +12647,18 @@ function $v(i, t, e) {
12639
12647
  "onClick" in s && e(0, n = s.onClick);
12640
12648
  }, [n];
12641
12649
  }
12642
- class Pu extends le {
12650
+ class Eu extends le {
12643
12651
  constructor(t) {
12644
12652
  super(), ae(this, t, $v, Kv, oe, { onClick: 0 }, qv);
12645
12653
  }
12646
12654
  }
12647
- const Eu = "data:image/png;base64,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", ku = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAFO0lEQVR4Ae2YWYgdRRSG78SFOG6Ju4MxIRnRgCCKBlSC24P64IO4h7wI6oMPCioqAX1TfFIQRFFBETQmIioqGhDBh3GJiMSAZnABNSIuUQTFbcz4fZcup297b9+t7525wznwU11d1aervj6nurprtbAgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBIJAEMgIzM7OLkHL0STaJ8DMgRkDyDK0CX2MptEUOrMbSGPddB6VvkAwUo5Hd6OzCuP+hfr5Y2NjvxbON60uaXp2hE8CZ3+GfzJ6ABXhOLND0VoPOrF9O+k0Kn2AM85Y16M70UTJuL8taWtoWjSAgHMYM7sQ3YyWN8yysbKZ9NrdeKp1bVGsQcBxvbkUXYsOaD3d2jbabgXQ3yV9GppGPoKA43pyDboclb3G36T9rm7g0L82soAAY/S7CG9E56GybHiLduH4BuvKRhIQcIyUi5BwTmsz47dpvwftadOvafPIAQLOUmZiSl2JVjed1dzJ7Rzei74iembnTnd+NFKAgHMIU7seXYKObTPN92kXzue9wtH/yAACjkBuQecgN3tltoNGN4rTwNlb1rFd20gAAs4JTOR2dAYqe407351IOB/2C0dnlQBiAm7vZ6oYkIPKG77XUd+E1iDvU2bTND6I3qtqLH0BYvDuWP3uORHNUHeAOxlcRx+C9C01/F1MhzvQUahsj6OfT9HDaKoqODot2zvY3tIYvOuAi+W5SD++Xf5BU+h1BvklZc+G/+u4+AbkwtxunF/QRzivcl/HUJn1E0GTjMKNmtGin7+QKeD30AQTfI1ye7dPk+uMFFPqMtRuvaFLzQfxOKocjs57ApRNwrfKDPKJ+YSV9Z/RKcj2lfR9BUi/cdzW6GsU3o98U3Uytq/p9wR6serIwWfdevoflA3mh8yHGzBfpYJK5U8cuz5dhW5k4isoS40+ptJDaD3qBM439HsKbR0UHHzXegLkhdhnaBcyrfJwhKSMGtPuAnQbAM6mbGq0HU3DI+h01Akc/+c8owYJB/9tFz/7NDUmZUqtRFegVehP5OSU64jlfpkOp/wRbUNbmNQflHXDzyoO7kMnIX16rWr18L6nbTN6FD+m9EDNAfVsGaRJHAjpOGTEJDgJViqX0WakvYu2ot3oVHQT0odRJxT7C1Y/RUtwHgNOx/90ik66qfcFyBvlIG2gOoGMjgTFMg/sQOoHo++QQFynjC7BJjjpWq/LQ3LNM62GBod79Z5iXpwsg7SWul/YQiqmW4qINPmD6OM5zUU+QbQs9vUhzgsc7tsyz23r2Ah3J/kJegE5mXFkOjVbvNMC7v7JaHMd8ZzST/4a6/MGh3vXU8GybxMS9hGOfOJG0jFIAGnylk7edpXOm1qpzWPb7Ge0mYrPoaGmFff7zxxEZZZB2oFD00RIRyAhJSh5MHkoAhFOeit5vQvyFvTksBZk7vU/qxSQ3jNIH2R3cqPoh+bvKEVMiqJ8tKSo8TLXIdPqWfT0fMLh/tWlmM6SMam9pFsRkgt3ihRhGS3FiHLT6X7JfY475KG8yrlXS6s8gtKdCpCu5ryR5Os8H0H5NDNyhGNaPc/1Kd2ozp8NDJBTKkDawKkjkZFkeuVBOY49yMh5eaHAYSyDSTEdJytAcuF2n2TqmF5pD5Tg+B9pQUQOY6ubgxyKsSYZNf4GEdJqJJylyA/Pl9AbCw0OY6o/RcuhGJB8IMJZh1Ygf4u8g3YBx5QLk4DRhMaRC3NYEAgCQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBYJEQ+BdpRqKi3IjqNwAAAABJRU5ErkJggg==", mc = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAABi0lEQVRoBe2Yu20DMRBEdW7EuVLX4NQVuAEVoUhFuAFV4FQ1OHWuRkzNABRwMLhDfbhcBhyA0IEjnvYNjjxoN5upmcBMYCYQmcCifjyl9AL/E+Md4xXjjHHCOC7L8ofPcJkAufgvVPhWqPIHc7sRIJiwJSZfKp7f5zz9cCkAPjZKNV+tbeYpAD7zSjVfrW3mKQBuWKWar9Y28xQATxsl7PNkHgJqYUtPARzxQzxtLG1h7KMhZIL5KP3/HkgonMVf9Y2LA45UzneXBChVkxPfw/tY+WEQdwOw6JEgHgIYCeJhgFEgngIYAeJpgGiIJgCREM0AoiCaAkRANAfoDeEC0BPCDaAXhCtADwh3AG+ILgCeEN0AvCC6AnhAdAdoDRECICB+4bEmtmzOGNU2ZhgAirP+2dFaS7YxVVdifROX69wIOODmTN6SbGOGArDiDFF7Esw2ZjhAjr3WpjT9UQC4YZVMfxSAWhvT9EcBUG1MnkL0i6ptnuIij0mjjVl9D3jUMu85E5gJzARuT+ACS7KuMQ7rOEcAAAAASUVORK5CYII=", gc = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAByElEQVRoBe1ZMU4DMRC8Q7yCJjVNKCh4ARVfAPo0PCYNPeQLVLyAggIa6jQ8g2NGsiJjeUfHrdGd0K60Sm7t3R3P+hx503UhwUAwEAzMyUCvkg/DcITxa+gldAXdQ5+hu77vv/DZTKbmMheQAt4D4XkF5Stsm1aL8OQiw5aQ+Rp4zqed461kci5VgUegO22F0BnnA9W+qcVQFeCeX4qYWNQC+MIuRUwsxwIhTxu1hV4w/ib8fzN0hskXwoFYqqIqsIMHT5uafML4XhuYaGMsxqwJMRBLVcyXmLOzs/ku8ybzTDhkthZfiWUNzSuxxbP8zVEV6HjOQx8KdNw2rcEzBWP+2JLMTQwctEQuwHJakj0WMHc1ogJRAScDsYWcBLrdowJuCp0BogJOAt3uUQE3hc4AUQEngW73/10BXimhtwVNvIDLq2gxf+wjYzL2QZg7XWsPtvKLCSQ5Wq1FXsCfoK2ulsRxBT2BliLbmGoLqXYfE/EC3koYqwae8WUbU1UgWoutyoM4KyuW2kJ7y2kGu4nF01rcVnpGk9aWTrq8eVbGad5alO2+MvuIZ9XGlLnMl5hJ01HK02ixfzGNICemBAPBQDDwhwx8A43PdoQvgLfYAAAAAElFTkSuQmCC";
12655
+ const ku = "data:image/png;base64,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", Mu = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAFO0lEQVR4Ae2YWYgdRRSG78SFOG6Ju4MxIRnRgCCKBlSC24P64IO4h7wI6oMPCioqAX1TfFIQRFFBETQmIioqGhDBh3GJiMSAZnABNSIuUQTFbcz4fZcup297b9+t7525wznwU11d1aervj6nurprtbAgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBIJAEMgIzM7OLkHL0STaJ8DMgRkDyDK0CX2MptEUOrMbSGPddB6VvkAwUo5Hd6OzCuP+hfr5Y2NjvxbON60uaXp2hE8CZ3+GfzJ6ABXhOLND0VoPOrF9O+k0Kn2AM85Y16M70UTJuL8taWtoWjSAgHMYM7sQ3YyWN8yysbKZ9NrdeKp1bVGsQcBxvbkUXYsOaD3d2jbabgXQ3yV9GppGPoKA43pyDboclb3G36T9rm7g0L82soAAY/S7CG9E56GybHiLduH4BuvKRhIQcIyUi5BwTmsz47dpvwftadOvafPIAQLOUmZiSl2JVjed1dzJ7Rzei74iembnTnd+NFKAgHMIU7seXYKObTPN92kXzue9wtH/yAACjkBuQecgN3tltoNGN4rTwNlb1rFd20gAAs4JTOR2dAYqe407351IOB/2C0dnlQBiAm7vZ6oYkIPKG77XUd+E1iDvU2bTND6I3qtqLH0BYvDuWP3uORHNUHeAOxlcRx+C9C01/F1MhzvQUahsj6OfT9HDaKoqODot2zvY3tIYvOuAi+W5SD++Xf5BU+h1BvklZc+G/+u4+AbkwtxunF/QRzivcl/HUJn1E0GTjMKNmtGin7+QKeD30AQTfI1ye7dPk+uMFFPqMtRuvaFLzQfxOKocjs57ApRNwrfKDPKJ+YSV9Z/RKcj2lfR9BUi/cdzW6GsU3o98U3Uytq/p9wR6serIwWfdevoflA3mh8yHGzBfpYJK5U8cuz5dhW5k4isoS40+ptJDaD3qBM439HsKbR0UHHzXegLkhdhnaBcyrfJwhKSMGtPuAnQbAM6mbGq0HU3DI+h01Akc/+c8owYJB/9tFz/7NDUmZUqtRFegVehP5OSU64jlfpkOp/wRbUNbmNQflHXDzyoO7kMnIX16rWr18L6nbTN6FD+m9EDNAfVsGaRJHAjpOGTEJDgJViqX0WakvYu2ot3oVHQT0odRJxT7C1Y/RUtwHgNOx/90ik66qfcFyBvlIG2gOoGMjgTFMg/sQOoHo++QQFynjC7BJjjpWq/LQ3LNM62GBod79Z5iXpwsg7SWul/YQiqmW4qINPmD6OM5zUU+QbQs9vUhzgsc7tsyz23r2Ah3J/kJegE5mXFkOjVbvNMC7v7JaHMd8ZzST/4a6/MGh3vXU8GybxMS9hGOfOJG0jFIAGnylk7edpXOm1qpzWPb7Ge0mYrPoaGmFff7zxxEZZZB2oFD00RIRyAhJSh5MHkoAhFOeit5vQvyFvTksBZk7vU/qxSQ3jNIH2R3cqPoh+bvKEVMiqJ8tKSo8TLXIdPqWfT0fMLh/tWlmM6SMam9pFsRkgt3ihRhGS3FiHLT6X7JfY475KG8yrlXS6s8gtKdCpCu5ryR5Os8H0H5NDNyhGNaPc/1Kd2ozp8NDJBTKkDawKkjkZFkeuVBOY49yMh5eaHAYSyDSTEdJytAcuF2n2TqmF5pD5Tg+B9pQUQOY6ubgxyKsSYZNf4GEdJqJJylyA/Pl9AbCw0OY6o/RcuhGJB8IMJZh1Ygf4u8g3YBx5QLk4DRhMaRC3NYEAgCQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBYJEQ+BdpRqKi3IjqNwAAAABJRU5ErkJggg==", mc = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAABi0lEQVRoBe2Yu20DMRBEdW7EuVLX4NQVuAEVoUhFuAFV4FQ1OHWuRkzNABRwMLhDfbhcBhyA0IEjnvYNjjxoN5upmcBMYCYQmcCifjyl9AL/E+Md4xXjjHHCOC7L8ofPcJkAufgvVPhWqPIHc7sRIJiwJSZfKp7f5zz9cCkAPjZKNV+tbeYpAD7zSjVfrW3mKQBuWKWar9Y28xQATxsl7PNkHgJqYUtPARzxQzxtLG1h7KMhZIL5KP3/HkgonMVf9Y2LA45UzneXBChVkxPfw/tY+WEQdwOw6JEgHgIYCeJhgFEgngIYAeJpgGiIJgCREM0AoiCaAkRANAfoDeEC0BPCDaAXhCtADwh3AG+ILgCeEN0AvCC6AnhAdAdoDRECICB+4bEmtmzOGNU2ZhgAirP+2dFaS7YxVVdifROX69wIOODmTN6SbGOGArDiDFF7Esw2ZjhAjr3WpjT9UQC4YZVMfxSAWhvT9EcBUG1MnkL0i6ptnuIij0mjjVl9D3jUMu85E5gJzARuT+ACS7KuMQ7rOEcAAAAASUVORK5CYII=", gc = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAByElEQVRoBe1ZMU4DMRC8Q7yCJjVNKCh4ARVfAPo0PCYNPeQLVLyAggIa6jQ8g2NGsiJjeUfHrdGd0K60Sm7t3R3P+hx503UhwUAwEAzMyUCvkg/DcITxa+gldAXdQ5+hu77vv/DZTKbmMheQAt4D4XkF5Stsm1aL8OQiw5aQ+Rp4zqed461kci5VgUegO22F0BnnA9W+qcVQFeCeX4qYWNQC+MIuRUwsxwIhTxu1hV4w/ib8fzN0hskXwoFYqqIqsIMHT5uafML4XhuYaGMsxqwJMRBLVcyXmLOzs/ku8ybzTDhkthZfiWUNzSuxxbP8zVEV6HjOQx8KdNw2rcEzBWP+2JLMTQwctEQuwHJakj0WMHc1ogJRAScDsYWcBLrdowJuCp0BogJOAt3uUQE3hc4AUQEngW73/10BXimhtwVNvIDLq2gxf+wjYzL2QZg7XWsPtvKLCSQ5Wq1FXsCfoK2ulsRxBT2BliLbmGoLqXYfE/EC3koYqwae8WUbU1UgWoutyoM4KyuW2kJ7y2kGu4nF01rcVnpGk9aWTrq8eVbGad5alO2+MvuIZ9XGlLnMl5hJ01HK02ixfzGNICemBAPBQDDwhwx8A43PdoQvgLfYAAAAAElFTkSuQmCC";
12648
12656
  function e0(i) {
12649
12657
  ue(i, "svelte-468fdd", '*.forbid.svelte-468fdd.svelte-468fdd{pointer-events:none !important;opacity:0.5}.Measure-Controller.svelte-468fdd.svelte-468fdd{pointer-events:none;position:relative;width:100%;height:100%;z-index:2}.Measure-Controller.svelte-468fdd .mode-switcher.svelte-468fdd{margin-top:2.25rem}.Measure-Controller.svelte-468fdd .bottom.svelte-468fdd{position:absolute;width:100%;bottom:0}.Measure-Controller.svelte-468fdd .bottom .mask.svelte-468fdd{position:absolute;bottom:0;width:100%;height:11.5rem;background-size:100%;background-image:linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.3))}.Measure-Controller.svelte-468fdd .bottom .center.svelte-468fdd{display:flex;flex-direction:column;align-items:center;margin-bottom:2.5rem}.Measure-Controller.svelte-468fdd .buttons.svelte-468fdd{pointer-events:all;display:flex;align-items:center;height:2.5rem;background:rgba(0, 0, 0, 0.2);color:rgba(255, 255, 255, 0.85);width:-moz-max-content;width:max-content;border-radius:624.9375rem;overflow:hidden}.Measure-Controller.svelte-468fdd .buttons .button.svelte-468fdd{cursor:pointer;display:flex;align-items:center;position:relative;font-size:0.875rem;padding:0rem 1rem}.Measure-Controller.svelte-468fdd .buttons .button .icon.svelte-468fdd{width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-size:100%;margin-right:0.25rem}.Measure-Controller.svelte-468fdd .buttons .button.svelte-468fdd::after{content:"";position:absolute;display:block;right:-0.03125rem;height:1.5rem;width:0.0625rem;background-image:linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.3), transparent);background-size:100%;background-repeat:no-repeat;background-position:center}.Measure-Controller.svelte-468fdd .buttons .button.svelte-468fdd:last-child::after{display:none}');
12650
12658
  }
12651
12659
  function pc(i) {
12652
12660
  let t, e;
12653
- return t = new Pu({
12661
+ return t = new Eu({
12654
12662
  props: {
12655
12663
  onClick: (
12656
12664
  /*measureController*/
@@ -12691,8 +12699,8 @@ function Ac(i) {
12691
12699
  ), u, m, A;
12692
12700
  return {
12693
12701
  c() {
12694
- t = D("div"), e = D("div"), n = D("div"), s = K(), r = xe(o), a = K(), l = D("div"), c = D("div"), d = K(), u = xe(h), w(n, "class", "icon svelte-468fdd"), z(n, "background-image", `url(${Eu})`), w(e, "class", "button svelte-468fdd"), q(e, "forbid", !/*canRevoke*/
12695
- i[3]), w(c, "class", "icon svelte-468fdd"), z(c, "background-image", `url(${ku})`), w(l, "class", "button svelte-468fdd"), w(t, "class", "buttons svelte-468fdd");
12702
+ t = D("div"), e = D("div"), n = D("div"), s = K(), r = xe(o), a = K(), l = D("div"), c = D("div"), d = K(), u = xe(h), w(n, "class", "icon svelte-468fdd"), z(n, "background-image", `url(${ku})`), w(e, "class", "button svelte-468fdd"), q(e, "forbid", !/*canRevoke*/
12703
+ i[3]), w(c, "class", "icon svelte-468fdd"), z(c, "background-image", `url(${Mu})`), w(l, "class", "button svelte-468fdd"), w(t, "class", "buttons svelte-468fdd");
12696
12704
  },
12697
12705
  m(p, g) {
12698
12706
  B(p, t, g), x(t, e), x(e, n), x(e, s), x(e, r), x(t, a), x(t, l), x(l, c), x(l, d), x(l, u), m || (A = [
@@ -13171,7 +13179,7 @@ function u0(i) {
13171
13179
  }
13172
13180
  function Cc(i) {
13173
13181
  let t, e;
13174
- return t = new Pu({
13182
+ return t = new Eu({
13175
13183
  props: {
13176
13184
  onClick: (
13177
13185
  /*measureController*/
@@ -13283,7 +13291,7 @@ function Pc(i) {
13283
13291
  ), o, r, a, l, c;
13284
13292
  return {
13285
13293
  c() {
13286
- t = D("div"), e = D("div"), n = K(), o = xe(s), w(e, "class", "icon svelte-ldjbp8"), z(e, "background-image", `url(${Eu})`), w(t, "class", "button svelte-ldjbp8"), q(
13294
+ t = D("div"), e = D("div"), n = K(), o = xe(s), w(e, "class", "icon svelte-ldjbp8"), z(e, "background-image", `url(${ku})`), w(t, "class", "button svelte-ldjbp8"), q(
13287
13295
  t,
13288
13296
  "forbid",
13289
13297
  /*buttonState*/
@@ -13329,7 +13337,7 @@ function Ec(i) {
13329
13337
  ), o, r, a, l, c;
13330
13338
  return {
13331
13339
  c() {
13332
- t = D("div"), e = D("div"), n = K(), o = xe(s), w(e, "class", "icon svelte-ldjbp8"), z(e, "background-image", `url(${ku})`), w(t, "class", "button svelte-ldjbp8");
13340
+ t = D("div"), e = D("div"), n = K(), o = xe(s), w(e, "class", "icon svelte-ldjbp8"), z(e, "background-image", `url(${Mu})`), w(t, "class", "button svelte-ldjbp8");
13333
13341
  },
13334
13342
  m(d, h) {
13335
13343
  B(d, t, h), x(t, e), x(t, n), x(t, o), a = !0, l || (c = be(
@@ -13602,16 +13610,16 @@ var Mt = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
13602
13610
  function po(i) {
13603
13611
  return i === null ? "null" : typeof i == "undefined" ? "undefined" : typeof i == "object" ? Array.isArray(i) ? "array" : "object" : typeof i;
13604
13612
  }
13605
- function Mu(i) {
13613
+ function xu(i) {
13606
13614
  return po(i) === "object" ? aa(i) : po(i) === "array" ? ra(i) : i;
13607
13615
  }
13608
13616
  function ra(i) {
13609
- return i.map(Mu);
13617
+ return i.map(xu);
13610
13618
  }
13611
13619
  function aa(i) {
13612
13620
  const t = {};
13613
13621
  for (const e in i)
13614
- i.hasOwnProperty(e) && (t[e] = Mu(i[e]));
13622
+ i.hasOwnProperty(e) && (t[e] = xu(i[e]));
13615
13623
  return t;
13616
13624
  }
13617
13625
  function Lo(i, t = [], e = {}) {
@@ -13904,8 +13912,8 @@ class k0 {
13904
13912
  this.currentMeasureType = t, this.hook.emit("measureTypeChange", t);
13905
13913
  });
13906
13914
  var o, r, a, l, c, d, h, u, m;
13907
- this.five = t, this.params = e, this.config = So(e, ["openParams", "magnifierParams"]), this.model = new yu(this.config), this.isMobile = (r = (o = e == null ? void 0 : e.openParams) == null ? void 0 : o.isMobile) != null ? r : !1, this.magnifier = new ya(t, (a = e.magnifierParams) != null ? a : { width: 190, height: 190, scale: 2 }), this.allowMeasureType = Array.from(new Set((c = (l = e.editParams) == null ? void 0 : l.allowMeasureType) != null ? c : ["line"])), this.currentMeasureType = (d = this.allowMeasureType[0]) != null ? d : "line", this.group = new ri(), 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";
13908
- const n = (u = (h = e.editParams) == null ? void 0 : h.pointSelectorMode) != null ? u : bu ? "fixed" : "cursor", s = (m = this.params.openParams) != null ? m : {};
13915
+ this.five = t, this.params = e, this.config = So(e, ["openParams", "magnifierParams"]), this.model = new wu(this.config), this.isMobile = (r = (o = e == null ? void 0 : e.openParams) == null ? void 0 : o.isMobile) != null ? r : !1, this.magnifier = new ya(t, (a = e.magnifierParams) != null ? a : { width: 190, height: 190, scale: 2 }), this.allowMeasureType = Array.from(new Set((c = (l = e.editParams) == null ? void 0 : l.allowMeasureType) != null ? c : ["line"])), this.currentMeasureType = (d = this.allowMeasureType[0]) != null ? d : "line", this.group = new ri(), 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";
13916
+ const n = (u = (h = e.editParams) == null ? void 0 : h.pointSelectorMode) != null ? u : yu ? "fixed" : "cursor", s = (m = this.params.openParams) != null ? m : {};
13909
13917
  if (this.params.useUIController !== !1) {
13910
13918
  const A = N({
13911
13919
  container: this.container,
@@ -14021,8 +14029,8 @@ class k0 {
14021
14029
  changeIsMobile(t) {
14022
14030
  }
14023
14031
  changeConfigs(t) {
14024
- var e;
14025
- Object.assign(this.config, t), (e = this.controller) == null || e.updateDistanceUI();
14032
+ var e, n;
14033
+ Object.assign(this.config, t), (e = this.controller) == null || e.updateDistanceUI(), (n = this.controller) == null || n.updateAreaUI();
14026
14034
  }
14027
14035
  /** 设置线段的文本 */
14028
14036
  setCustomText(t, e) {
@@ -14047,7 +14055,7 @@ class k0 {
14047
14055
  editParams: e,
14048
14056
  magnifierParams: this.params.magnifierParams,
14049
14057
  getMeasureType: () => this.currentMeasureType,
14050
- mouseGroup: wu(N({}, t.crossHairParameter)),
14058
+ mouseGroup: Cu(N({}, t.crossHairParameter)),
14051
14059
  userDistanceItemCreator: this.params.userDistanceItemCreator
14052
14060
  };
14053
14061
  }
@@ -14203,7 +14211,7 @@ class pE {
14203
14211
  }
14204
14212
  const AE = function(t, e) {
14205
14213
  return new k0(t, e);
14206
- }, xu = ja(null);
14214
+ }, Du = ja(null);
14207
14215
  function x0(i) {
14208
14216
  ue(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}}");
14209
14217
  }
@@ -14310,7 +14318,7 @@ function D0(i) {
14310
14318
  function S0(i, t, e) {
14311
14319
  let { origins: n } = t;
14312
14320
  const s = (r) => {
14313
- xu.update(() => `${r}-PanoSpatialTagPlugin-${Date.now()}`);
14321
+ Du.update(() => `${r}-PanoSpatialTagPlugin-${Date.now()}`);
14314
14322
  }, o = (r) => s(r.id);
14315
14323
  return i.$$set = (r) => {
14316
14324
  "origins" in r && e(0, n = r.origins);
@@ -14448,7 +14456,7 @@ function z0(i, t, e) {
14448
14456
  wt(() => {
14449
14457
  m.emit("initTag", { id: n });
14450
14458
  });
14451
- const k = xu.subscribe((P) => {
14459
+ const k = Du.subscribe((P) => {
14452
14460
  if (P === null)
14453
14461
  return;
14454
14462
  const [R, L] = P.split("-PanoSpatialTagPlugin-");
@@ -14459,7 +14467,7 @@ function z0(i, t, e) {
14459
14467
  1500
14460
14468
  )));
14461
14469
  });
14462
- Uh(() => {
14470
+ Xh(() => {
14463
14471
  e(7, A = g.offsetWidth), e(8, p = g.offsetHeight), !y && e(10, v = !d);
14464
14472
  }), Ot(() => {
14465
14473
  m.emit("destroyTag", { id: n }), k(), h();
@@ -15026,7 +15034,7 @@ let Y0 = class extends le {
15026
15034
  super(), ae(this, t, F0, W0, oe, { itemLabel: 0, hooks: 2 }, _0);
15027
15035
  }
15028
15036
  };
15029
- function Du(i, t = 200) {
15037
+ function Su(i, t = 200) {
15030
15038
  let e;
15031
15039
  return function(...n) {
15032
15040
  clearTimeout(e), e = setTimeout(() => {
@@ -15202,7 +15210,7 @@ function J0(i, t, e) {
15202
15210
  }, P = () => {
15203
15211
  A = [], e(1, h = S(o, h));
15204
15212
  };
15205
- Yh(() => {
15213
+ Uh(() => {
15206
15214
  F();
15207
15215
  });
15208
15216
  const R = () => {
@@ -15211,7 +15219,7 @@ function J0(i, t, e) {
15211
15219
  wt(() => {
15212
15220
  e(1, h = a), d = a, P(), Y(), o.on("cameraUpdate", R);
15213
15221
  });
15214
- const L = Du(
15222
+ const L = Su(
15215
15223
  () => {
15216
15224
  e(4, p = !0), P();
15217
15225
  },
@@ -15932,7 +15940,7 @@ function mb(i, t, e) {
15932
15940
  p = [], e(1, h = k(s, h));
15933
15941
  }, P = () => {
15934
15942
  e(5, g = !1), R();
15935
- }, R = Du(
15943
+ }, R = Su(
15936
15944
  () => {
15937
15945
  e(5, g = !0), S();
15938
15946
  },
@@ -15980,7 +15988,7 @@ function mb(i, t, e) {
15980
15988
  });
15981
15989
  }
15982
15990
  };
15983
- Yh(() => {
15991
+ Uh(() => {
15984
15992
  F();
15985
15993
  }), wt(() => {
15986
15994
  e(1, h = Nc(r)), d = r, S(), Y(), s.on("cameraUpdate", P);
@@ -16486,7 +16494,7 @@ const xE = (i) => new xb(i);
16486
16494
  function Db(i, t) {
16487
16495
  console.warn(`⛔ ==> [${i}]: ${t}`);
16488
16496
  }
16489
- function Su(i, t) {
16497
+ function Tu(i, t) {
16490
16498
  console.warn(`🚫 ==> [${i}]: ${t}`);
16491
16499
  }
16492
16500
  var jo = {}, Sb = Tb;
@@ -16510,15 +16518,15 @@ var Vb = Qb;
16510
16518
  function Qb(i, t) {
16511
16519
  return i[0] * t[0] + i[1] * t[1];
16512
16520
  }
16513
- var Gb = Sb, da = Lb, Tu = zb, Nb = Bb, Hb = Vb, Fc = [0, 0];
16521
+ var Gb = Sb, da = Lb, Lu = zb, Nb = Bb, Hb = Vb, Fc = [0, 0];
16514
16522
  jo.computeMiter = function(t, e, n, s, o) {
16515
- return Gb(t, n, s), Tu(t, t), da(e, -t[1], t[0]), da(Fc, -n[1], n[0]), o / Hb(e, Fc);
16523
+ return Gb(t, n, s), Lu(t, t), da(e, -t[1], t[0]), da(Fc, -n[1], n[0]), o / Hb(e, Fc);
16516
16524
  };
16517
16525
  jo.normal = function(t, e) {
16518
16526
  return da(t, -e[1], e[0]), t;
16519
16527
  };
16520
16528
  jo.direction = function(t, e, n) {
16521
- return Nb(t, e, n), Tu(t, t), t;
16529
+ return Nb(t, e, n), Lu(t, t), t;
16522
16530
  };
16523
16531
  var Kt = jo, Dn = [0, 0], Fs = [0, 0], Yc = [0, 0], Ui = [0, 0], _b = function(i, t) {
16524
16532
  var e = null, n = [];
@@ -16645,7 +16653,7 @@ function Ao(i) {
16645
16653
  } else
16646
16654
  return as(i);
16647
16655
  }
16648
- function Lu(i) {
16656
+ function ju(i) {
16649
16657
  if (yt(i) && i.matrix) {
16650
16658
  const t = new Ji().fromArray(i.matrix), e = i.data.mediaPosition.map((n) => new ie().fromArray(n).applyMatrix4(t));
16651
16659
  return sn(e[0], e[2]);
@@ -16740,15 +16748,15 @@ var Wa = /* @__PURE__ */ ((i) => (i.Default = "default", i.GetAudioDuration = "g
16740
16748
  function c1(i, t) {
16741
16749
  const e = (t == null ? void 0 : t.namespace) || "default", n = ss[e] || (ss[e] = []);
16742
16750
  let s = n.find((o) => !o.realSrc || o.realSrc === Ai);
16743
- return s || (console.warn("未找到缓存音频,已新建", ss), s = new ju(Ai), n.push(s)), i && (s.src = i), s;
16751
+ return s || (console.warn("未找到缓存音频,已新建", ss), s = new zu(Ai), n.push(s)), i && (s.src = i), s;
16744
16752
  }
16745
16753
  function d1(i, t) {
16746
16754
  const e = (t == null ? void 0 : t.namespace) || "default", n = ss[e] || (ss[e] = []), s = i - n.length;
16747
16755
  if (!(s <= 0))
16748
16756
  for (let o = 0; o < s; o++)
16749
- n.push(new ju(Ai));
16757
+ n.push(new zu(Ai));
16750
16758
  }
16751
- class ju extends Audio {
16759
+ class zu extends Audio {
16752
16760
  constructor(e) {
16753
16761
  super(e);
16754
16762
  f(this, "preload", "auto");
@@ -16895,9 +16903,9 @@ class f1 extends gs {
16895
16903
  removeCache() {
16896
16904
  }
16897
16905
  }
16898
- const zu = navigator.userAgent.toLowerCase().indexOf("iphone") !== -1;
16906
+ const Ou = navigator.userAgent.toLowerCase().indexOf("iphone") !== -1;
16899
16907
  navigator.userAgent.toLowerCase().indexOf("android");
16900
- const eo = navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1, m1 = zu && eo;
16908
+ const eo = navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1, m1 = Ou && eo;
16901
16909
  function g1(i) {
16902
16910
  if (i.length !== 4)
16903
16911
  return !1;
@@ -16912,7 +16920,7 @@ class Br extends E.Mesh {
16912
16920
  constructor(e, n, s) {
16913
16921
  if (e.length !== 4)
16914
16922
  throw new Error("QuadrangleMesh: Invalid number of points, it's not a quadrangle");
16915
- const [o, r, a, l] = e, c = sn(...e), d = [o.clone().sub(c), r.clone().sub(c), a.clone().sub(c), l.clone().sub(c)], h = new Ou(d, s);
16923
+ const [o, r, a, l] = e, c = sn(...e), d = [o.clone().sub(c), r.clone().sub(c), a.clone().sub(c), l.clone().sub(c)], h = new Bu(d, s);
16916
16924
  super(h, n);
16917
16925
  f(this, "name", "QuadrangleMesh");
16918
16926
  this.position.copy(c);
@@ -16922,7 +16930,7 @@ class Br extends E.Mesh {
16922
16930
  return e !== null && e.remove(this), this;
16923
16931
  }
16924
16932
  }
16925
- class Ou extends E.BufferGeometry {
16933
+ class Bu extends E.BufferGeometry {
16926
16934
  /**
16927
16935
  * @description 生成一个四边形的BufferGeometry,原点取 points[0],即左下角
16928
16936
  * @param {Vector3Position[]} points: 四个顶点的坐标, [左下,右下,右上,左上]
@@ -16982,7 +16990,7 @@ function p1(i, t) {
16982
16990
  });
16983
16991
  }
16984
16992
  };
16985
- document.addEventListener("click", r, { once: !0 }), zu && document.addEventListener("touchstart", r, { once: !0 });
16993
+ document.addEventListener("click", r, { once: !0 }), Ou && document.addEventListener("touchstart", r, { once: !0 });
16986
16994
  }
16987
16995
  return s;
16988
16996
  }
@@ -17041,7 +17049,7 @@ class A1 extends E.ShaderMaterial {
17041
17049
  };
17042
17050
  }
17043
17051
  }
17044
- let Bu = class extends E.Mesh {
17052
+ let Ru = class extends E.Mesh {
17045
17053
  constructor() {
17046
17054
  super(...arguments);
17047
17055
  f(this, "name", "MediaPlane");
@@ -17062,20 +17070,20 @@ let Bu = class extends E.Mesh {
17062
17070
  });
17063
17071
  }
17064
17072
  };
17065
- class Zc extends Bu {
17073
+ class Zc extends Ru {
17066
17074
  constructor(e, n, s) {
17067
17075
  super();
17068
17076
  f(this, "name", "PanoTagPluginImagePlane");
17069
17077
  this.src = e, hs(e).then((o) => {
17070
17078
  var u;
17071
- const r = new URL(e, location.href).pathname.endsWith(".png"), a = new E.MeshBasicMaterial({ map: o, transparent: r }), l = $i((u = s == null ? void 0 : s.objectFit) != null ? u : "contain", n, o.image.width / o.image.height), c = sn(...l), d = l.map((m) => m.clone().sub(c)), h = new Ou(d);
17079
+ const r = new URL(e, location.href).pathname.endsWith(".png"), a = new E.MeshBasicMaterial({ map: o, transparent: r }), l = $i((u = s == null ? void 0 : s.objectFit) != null ? u : "contain", n, o.image.width / o.image.height), c = sn(...l), d = l.map((m) => m.clone().sub(c)), h = new Bu(d);
17072
17080
  this.position.copy(c), this.geometry = h, this.material = a;
17073
17081
  }).catch((o) => {
17074
17082
  console.error(`Imageplane error ${o}`);
17075
17083
  });
17076
17084
  }
17077
17085
  }
17078
- class ha extends Bu {
17086
+ class ha extends Ru {
17079
17087
  // eslint-disable-next-line max-params
17080
17088
  constructor(e, n, s) {
17081
17089
  const {
@@ -17665,7 +17673,7 @@ class b1 extends f1 {
17665
17673
  const l = (a = (r = this.five.work) == null ? void 0 : r.observers[s]) == null ? void 0 : a.position;
17666
17674
  if (l === void 0)
17667
17675
  throw new Error(`getDistance(): observerPosition is ${l}`);
17668
- const c = Lu(e);
17676
+ const c = ju(e);
17669
17677
  if (!c)
17670
17678
  return -1;
17671
17679
  const d = l.distanceTo(c);
@@ -18078,7 +18086,7 @@ class w1 extends b1 {
18078
18086
  var r, a, l, c, d, h, u;
18079
18087
  let n = 0;
18080
18088
  const s = (r = e.fiveState) == null ? void 0 : r.panoIndex;
18081
- s !== void 0 ? n = (a = this.five.work.observers[s]) == null ? void 0 : a.floorIndex : n = y1(this.five.work.observers, (u = (h = (c = (l = e.model) == null ? void 0 : l.object) == null ? void 0 : c.position) != null ? h : (d = e.mediaPlane) == null ? void 0 : d.position) != null ? u : Lu(e));
18089
+ s !== void 0 ? n = (a = this.five.work.observers[s]) == null ? void 0 : a.floorIndex : n = y1(this.five.work.observers, (u = (h = (c = (l = e.model) == null ? void 0 : l.object) == null ? void 0 : c.position) != null ? h : (d = e.mediaPlane) == null ? void 0 : d.position) != null ? u : ju(e));
18082
18090
  const o = this.five.model.shownFloor;
18083
18091
  return o === null || o === n;
18084
18092
  }
@@ -18732,7 +18740,7 @@ function j1(i, t, e) {
18732
18740
  k
18733
18741
  ];
18734
18742
  }
18735
- class Ru extends le {
18743
+ class Vu extends le {
18736
18744
  constructor(t) {
18737
18745
  super(), ae(
18738
18746
  this,
@@ -18885,7 +18893,7 @@ function Q1(i) {
18885
18893
  }
18886
18894
  function nd(i) {
18887
18895
  let t, e, n;
18888
- return e = new Ru({
18896
+ return e = new Vu({
18889
18897
  props: {
18890
18898
  unfolded: (
18891
18899
  /*visible*/
@@ -19056,7 +19064,7 @@ function N1(i, t, e) {
19056
19064
  m
19057
19065
  ];
19058
19066
  }
19059
- class Vu extends le {
19067
+ class Qu extends le {
19060
19068
  constructor(t) {
19061
19069
  super(), ae(this, t, N1, G1, oe, { visible: 0, textUnfolded: 8, content: 1 }, Q1);
19062
19070
  }
@@ -19102,7 +19110,7 @@ function sd(i) {
19102
19110
  ),
19103
19111
  useLinearColor: !0
19104
19112
  }
19105
- }), r = new Vu({
19113
+ }), r = new Qu({
19106
19114
  props: {
19107
19115
  visible: (
19108
19116
  /*unfolded*/
@@ -19825,7 +19833,7 @@ function cd(i) {
19825
19833
  /*inDelay*/
19826
19834
  i[0]
19827
19835
  ),
19828
- easing: iu
19836
+ easing: su
19829
19837
  }), e.start());
19830
19838
  }), s = !0);
19831
19839
  },
@@ -20153,7 +20161,7 @@ function wy(i, t, e) {
20153
20161
  "direction" in r && e(0, n = r.direction), "disabled" in r && e(1, s = r.disabled);
20154
20162
  }, [n, s, o];
20155
20163
  }
20156
- class Qu extends le {
20164
+ class Gu extends le {
20157
20165
  constructor(t) {
20158
20166
  super(), ae(this, t, wy, yy, oe, { direction: 0, disabled: 1 }, by);
20159
20167
  }
@@ -20359,7 +20367,7 @@ function Wy({
20359
20367
  clonesCountTotal: n,
20360
20368
  particlesToScroll: s
20361
20369
  }) {
20362
- return i === t - e ? 0 : i === 0 ? Gu({
20370
+ return i === t - e ? 0 : i === 0 ? Nu({
20363
20371
  particlesCountWithoutClones: t - n,
20364
20372
  particlesToScroll: s
20365
20373
  }) - 1 : Math.floor((i - e) / s);
@@ -20389,7 +20397,7 @@ function Yy({
20389
20397
  particlesToScroll: o
20390
20398
  });
20391
20399
  }
20392
- function Gu({
20400
+ function Nu({
20393
20401
  particlesCountWithoutClones: i,
20394
20402
  particlesToScroll: t
20395
20403
  }) {
@@ -20400,7 +20408,7 @@ function Uy({
20400
20408
  particlesToScroll: t,
20401
20409
  particlesToShow: e
20402
20410
  }) {
20403
- const n = Nu({
20411
+ const n = Hu({
20404
20412
  particlesCountWithoutClones: i,
20405
20413
  particlesToScroll: t,
20406
20414
  particlesToShow: e
@@ -20413,7 +20421,7 @@ function Xy({
20413
20421
  particlesToScroll: e,
20414
20422
  particlesToShow: n
20415
20423
  }) {
20416
- return i ? Gu({
20424
+ return i ? Nu({
20417
20425
  particlesCountWithoutClones: t,
20418
20426
  particlesToScroll: e
20419
20427
  }) : Uy({
@@ -20476,7 +20484,7 @@ function qy({
20476
20484
  for (let e = 0; e < i.length; e++)
20477
20485
  i[e].style.minWidth = `${t}px`, i[e].style.maxWidth = `${t}px`;
20478
20486
  }
20479
- function Nu({
20487
+ function Hu({
20480
20488
  particlesToScroll: i,
20481
20489
  particlesToShow: t,
20482
20490
  particlesCountWithoutClones: e
@@ -20549,7 +20557,7 @@ const os = (i, t, e) => {
20549
20557
  }, ua = (i) => (t) => {
20550
20558
  i[t] && i[t]();
20551
20559
  };
20552
- var nw = "Expected a function", Hu = "__lodash_hash_undefined__", _u = 1 / 0, iw = "[object Function]", sw = "[object GeneratorFunction]", ow = "[object Symbol]", rw = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, aw = /^\w*$/, lw = /^\./, cw = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, dw = /[\\^$.*+?()[\]{}|]/g, hw = /\\(\\)?/g, uw = /^\[object .+?Constructor\]$/, fw = typeof Mt == "object" && Mt && Mt.Object === Object && Mt, mw = typeof self == "object" && self && self.Object === Object && self, Xa = fw || mw || Function("return this")();
20560
+ var nw = "Expected a function", _u = "__lodash_hash_undefined__", Wu = 1 / 0, iw = "[object Function]", sw = "[object GeneratorFunction]", ow = "[object Symbol]", rw = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, aw = /^\w*$/, lw = /^\./, cw = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, dw = /[\\^$.*+?()[\]{}|]/g, hw = /\\(\\)?/g, uw = /^\[object .+?Constructor\]$/, fw = typeof Mt == "object" && Mt && Mt.Object === Object && Mt, mw = typeof self == "object" && self && self.Object === Object && self, Xa = fw || mw || Function("return this")();
20553
20561
  function gw(i, t) {
20554
20562
  return i == null ? void 0 : i[t];
20555
20563
  }
@@ -20562,12 +20570,12 @@ function pw(i) {
20562
20570
  }
20563
20571
  return t;
20564
20572
  }
20565
- var Aw = Array.prototype, vw = Function.prototype, Wu = Object.prototype, Gr = Xa["__core-js_shared__"], Ad = function() {
20573
+ var Aw = Array.prototype, vw = Function.prototype, Fu = Object.prototype, Gr = Xa["__core-js_shared__"], Ad = function() {
20566
20574
  var i = /[^.]+$/.exec(Gr && Gr.keys && Gr.keys.IE_PROTO || "");
20567
20575
  return i ? "Symbol(src)_1." + i : "";
20568
- }(), Fu = vw.toString, Za = Wu.hasOwnProperty, Yu = Wu.toString, bw = RegExp(
20569
- "^" + Fu.call(Za).replace(dw, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
20570
- ), vd = Xa.Symbol, yw = Aw.splice, ww = Uu(Xa, "Map"), us = Uu(Object, "create"), bd = vd ? vd.prototype : void 0, yd = bd ? bd.toString : void 0;
20576
+ }(), Yu = vw.toString, Za = Fu.hasOwnProperty, Uu = Fu.toString, bw = RegExp(
20577
+ "^" + Yu.call(Za).replace(dw, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
20578
+ ), vd = Xa.Symbol, yw = Aw.splice, ww = Xu(Xa, "Map"), us = Xu(Object, "create"), bd = vd ? vd.prototype : void 0, yd = bd ? bd.toString : void 0;
20571
20579
  function On(i) {
20572
20580
  var t = -1, e = i ? i.length : 0;
20573
20581
  for (this.clear(); ++t < e; ) {
@@ -20585,7 +20593,7 @@ function Pw(i) {
20585
20593
  var t = this.__data__;
20586
20594
  if (us) {
20587
20595
  var e = t[i];
20588
- return e === Hu ? void 0 : e;
20596
+ return e === _u ? void 0 : e;
20589
20597
  }
20590
20598
  return Za.call(t, i) ? t[i] : void 0;
20591
20599
  }
@@ -20595,7 +20603,7 @@ function Ew(i) {
20595
20603
  }
20596
20604
  function kw(i, t) {
20597
20605
  var e = this.__data__;
20598
- return e[i] = us && t === void 0 ? Hu : t, this;
20606
+ return e[i] = us && t === void 0 ? _u : t, this;
20599
20607
  }
20600
20608
  On.prototype.clear = Cw;
20601
20609
  On.prototype.delete = Iw;
@@ -20679,7 +20687,7 @@ function Rw(i, t) {
20679
20687
  return e && e == n ? i : void 0;
20680
20688
  }
20681
20689
  function Vw(i) {
20682
- if (!Zu(i) || _w(i))
20690
+ if (!Ju(i) || _w(i))
20683
20691
  return !1;
20684
20692
  var t = Xw(i) || pw(i) ? bw : uw;
20685
20693
  return t.test(Yw(i));
@@ -20690,21 +20698,21 @@ function Qw(i) {
20690
20698
  if (qa(i))
20691
20699
  return yd ? yd.call(i) : "";
20692
20700
  var t = i + "";
20693
- return t == "0" && 1 / i == -_u ? "-0" : t;
20701
+ return t == "0" && 1 / i == -Wu ? "-0" : t;
20694
20702
  }
20695
20703
  function Gw(i) {
20696
- return Xu(i) ? i : Ww(i);
20704
+ return Zu(i) ? i : Ww(i);
20697
20705
  }
20698
20706
  function Oo(i, t) {
20699
20707
  var e = i.__data__;
20700
20708
  return Hw(t) ? e[typeof t == "string" ? "string" : "hash"] : e.map;
20701
20709
  }
20702
- function Uu(i, t) {
20710
+ function Xu(i, t) {
20703
20711
  var e = gw(i, t);
20704
20712
  return Vw(e) ? e : void 0;
20705
20713
  }
20706
20714
  function Nw(i, t) {
20707
- if (Xu(i))
20715
+ if (Zu(i))
20708
20716
  return !1;
20709
20717
  var e = typeof i;
20710
20718
  return e == "number" || e == "symbol" || e == "boolean" || i == null || qa(i) ? !0 : aw.test(i) || !rw.test(i) || t != null && i in Object(t);
@@ -20727,12 +20735,12 @@ function Fw(i) {
20727
20735
  if (typeof i == "string" || qa(i))
20728
20736
  return i;
20729
20737
  var t = i + "";
20730
- return t == "0" && 1 / i == -_u ? "-0" : t;
20738
+ return t == "0" && 1 / i == -Wu ? "-0" : t;
20731
20739
  }
20732
20740
  function Yw(i) {
20733
20741
  if (i != null) {
20734
20742
  try {
20735
- return Fu.call(i);
20743
+ return Yu.call(i);
20736
20744
  } catch (t) {
20737
20745
  }
20738
20746
  try {
@@ -20758,12 +20766,12 @@ Ja.Cache = Vn;
20758
20766
  function Uw(i, t) {
20759
20767
  return i === t || i !== i && t !== t;
20760
20768
  }
20761
- var Xu = Array.isArray;
20769
+ var Zu = Array.isArray;
20762
20770
  function Xw(i) {
20763
- var t = Zu(i) ? Yu.call(i) : "";
20771
+ var t = Ju(i) ? Uu.call(i) : "";
20764
20772
  return t == iw || t == sw;
20765
20773
  }
20766
- function Zu(i) {
20774
+ function Ju(i) {
20767
20775
  var t = typeof i;
20768
20776
  return !!i && (t == "object" || t == "function");
20769
20777
  }
@@ -20771,7 +20779,7 @@ function Zw(i) {
20771
20779
  return !!i && typeof i == "object";
20772
20780
  }
20773
20781
  function qa(i) {
20774
- return typeof i == "symbol" || Zw(i) && Yu.call(i) == ow;
20782
+ return typeof i == "symbol" || Zw(i) && Uu.call(i) == ow;
20775
20783
  }
20776
20784
  function Jw(i) {
20777
20785
  return i == null ? "" : Qw(i);
@@ -21933,7 +21941,7 @@ function fC(i) {
21933
21941
  });
21934
21942
  },
21935
21943
  setPartialPageSize({ data: r }) {
21936
- r.partialPageSize = Nu({
21944
+ r.partialPageSize = Hu({
21937
21945
  particlesToScroll: r.particlesToScroll,
21938
21946
  particlesToShow: r.particlesToShow,
21939
21947
  particlesCountWithoutClones: r.particlesCountWithoutClones
@@ -22206,7 +22214,7 @@ function kd(i) {
22206
22214
  }
22207
22215
  function bC(i) {
22208
22216
  let t, e, n;
22209
- return e = new Qu({
22217
+ return e = new Gu({
22210
22218
  props: {
22211
22219
  direction: "prev",
22212
22220
  disabled: !/*infinite*/
@@ -22327,7 +22335,7 @@ function xd(i) {
22327
22335
  }
22328
22336
  function yC(i) {
22329
22337
  let t, e, n;
22330
- return e = new Qu({
22338
+ return e = new Gu({
22331
22339
  props: {
22332
22340
  direction: "next",
22333
22341
  disabled: !/*infinite*/
@@ -23187,7 +23195,7 @@ function TC(i, t, e) {
23187
23195
  F
23188
23196
  ];
23189
23197
  }
23190
- class Ju extends le {
23198
+ class qu extends le {
23191
23199
  constructor(t) {
23192
23200
  super(), ae(
23193
23201
  this,
@@ -23330,7 +23338,7 @@ function jC(i) {
23330
23338
  return (
23331
23339
  /*mediaInstanceList*/
23332
23340
  i[8][0] !== void 0 && (r.mediaInstance = /*mediaInstanceList*/
23333
- i[8][0]), t = new Ju({ props: r }), Qe.push(() => Ta(t, "mediaInstance", o)), {
23341
+ i[8][0]), t = new qu({ props: r }), Qe.push(() => Ta(t, "mediaInstance", o)), {
23334
23342
  c() {
23335
23343
  ne(t.$$.fragment);
23336
23344
  },
@@ -23346,7 +23354,7 @@ function jC(i) {
23346
23354
  a[1][0]
23347
23355
  ) },
23348
23356
  l[0] & /*mediaItemConfig*/
23349
- 128 && qh(
23357
+ 128 && Kh(
23350
23358
  /*mediaItemConfig*/
23351
23359
  a[7]
23352
23360
  ),
@@ -23440,7 +23448,7 @@ function jd(i) {
23440
23448
  i[8][
23441
23449
  /*index*/
23442
23450
  i[30]
23443
- ]), t = new Ju({ props: r }), Qe.push(() => Ta(t, "mediaInstance", o)), {
23451
+ ]), t = new qu({ props: r }), Qe.push(() => Ta(t, "mediaInstance", o)), {
23444
23452
  c() {
23445
23453
  ne(t.$$.fragment);
23446
23454
  },
@@ -23452,7 +23460,7 @@ function jd(i) {
23452
23460
  const c = l[0] & /*mediaItemConfig, mediaDataList, tag*/
23453
23461
  1153 ? dt(s, [
23454
23462
  l[0] & /*mediaItemConfig*/
23455
- 128 && qh(
23463
+ 128 && Kh(
23456
23464
  /*mediaItemConfig*/
23457
23465
  i[7]
23458
23466
  ),
@@ -23640,7 +23648,7 @@ function RC(i, t, e) {
23640
23648
  V
23641
23649
  ];
23642
23650
  }
23643
- class qu extends le {
23651
+ class Ku extends le {
23644
23652
  constructor(t) {
23645
23653
  super(), ae(
23646
23654
  this,
@@ -23736,7 +23744,7 @@ function zd(i) {
23736
23744
  }
23737
23745
  function Od(i) {
23738
23746
  let t, e, n;
23739
- return e = new Ru({
23747
+ return e = new Vu({
23740
23748
  props: {
23741
23749
  unfolded: (
23742
23750
  /*unfolded*/
@@ -23776,7 +23784,7 @@ function Od(i) {
23776
23784
  }
23777
23785
  function Bd(i) {
23778
23786
  let t, e, n;
23779
- return e = new qu({
23787
+ return e = new Ku({
23780
23788
  props: {
23781
23789
  autoplayConfig: { autoplayCarousel: !1 },
23782
23790
  unfolded: (
@@ -24399,7 +24407,7 @@ function XC(i) {
24399
24407
  );
24400
24408
  },
24401
24409
  m(a, l) {
24402
- B(a, t, l), r && r.m(t, null), e = !0, n || (s = be(t, "click", Wh(
24410
+ B(a, t, l), r && r.m(t, null), e = !0, n || (s = be(t, "click", Fh(
24403
24411
  /*onClick*/
24404
24412
  i[1]
24405
24413
  )), n = !0);
@@ -24521,7 +24529,7 @@ function ZC(i, t, e) {
24521
24529
  72 && c(r && !m ? "play" : "pause");
24522
24530
  }, [a, p, o, r, l, u, m, s, n];
24523
24531
  }
24524
- let Ku = class extends le {
24532
+ let $u = class extends le {
24525
24533
  constructor(t) {
24526
24534
  super(), ae(
24527
24535
  this,
@@ -24674,7 +24682,7 @@ function KC(i, t, e) {
24674
24682
  h
24675
24683
  ];
24676
24684
  }
24677
- class $u extends le {
24685
+ class ef extends le {
24678
24686
  constructor(t) {
24679
24687
  super(), ae(
24680
24688
  this,
@@ -24718,7 +24726,7 @@ function Jd(i) {
24718
24726
  /*unfolded*/
24719
24727
  i[6] && qd(i)
24720
24728
  );
24721
- return c = new Vu({
24729
+ return c = new Qu({
24722
24730
  props: {
24723
24731
  visible: (
24724
24732
  /*unfolded*/
@@ -24837,7 +24845,7 @@ function qd(i) {
24837
24845
  blurRadius: 15,
24838
24846
  spreadRadius: 6
24839
24847
  }
24840
- }), s = new Ku({
24848
+ }), s = new $u({
24841
24849
  props: {
24842
24850
  enable: (
24843
24851
  /*unfolded*/
@@ -24919,7 +24927,7 @@ function qd(i) {
24919
24927
  }
24920
24928
  function eI(i) {
24921
24929
  let t, e, n;
24922
- return e = new $u({ props: { playing: (
24930
+ return e = new ef({ props: { playing: (
24923
24931
  /*playing*/
24924
24932
  i[2]
24925
24933
  ) } }), {
@@ -25028,7 +25036,7 @@ function sI(i) {
25028
25036
  }
25029
25037
  function Kd(i) {
25030
25038
  let t, e, n, s;
25031
- return n = new Ku({
25039
+ return n = new $u({
25032
25040
  props: {
25033
25041
  style: "width: max-content; height: max-content;",
25034
25042
  enable: (
@@ -25150,7 +25158,7 @@ function oI(i) {
25150
25158
  }
25151
25159
  function rI(i) {
25152
25160
  let t, e, n, s, o, r, a;
25153
- return n = new $u({ props: { playing: (
25161
+ return n = new ef({ props: { playing: (
25154
25162
  /*playing*/
25155
25163
  i[3]
25156
25164
  ) } }), r = new Ya({
@@ -25397,7 +25405,7 @@ function gI(i) {
25397
25405
  function $d(i) {
25398
25406
  var s;
25399
25407
  let t, e, n;
25400
- return e = new qu({
25408
+ return e = new Ku({
25401
25409
  props: {
25402
25410
  mediaItemConfig: {
25403
25411
  canPlay: !0,
@@ -25536,7 +25544,7 @@ class vI extends le {
25536
25544
  super(), ae(this, t, AI, pI, oe, { tag: 0 }, gI);
25537
25545
  }
25538
25546
  }
25539
- function ef(i) {
25547
+ function tf(i) {
25540
25548
  return U(this, null, function* () {
25541
25549
  return new Promise((t, e) => {
25542
25550
  if (!i) {
@@ -25552,7 +25560,7 @@ function bI(i) {
25552
25560
  return U(this, null, function* () {
25553
25561
  const { url: t, ratio: e = 3 } = i;
25554
25562
  i.ratio || console.warn("Tag icon ratio is not set, default is 3");
25555
- const { width: n, height: s } = yield ef(t);
25563
+ const { width: n, height: s } = yield tf(t);
25556
25564
  return Ae(N({}, i), {
25557
25565
  width: n / e,
25558
25566
  height: s / e
@@ -25564,7 +25572,7 @@ function yI(i) {
25564
25572
  const { steps: t, url: e, ratio: n = 3, fps: s = 24 } = i;
25565
25573
  if (!t)
25566
25574
  throw new Error("KeyframeIcon requires steps");
25567
- const { width: o, height: r } = yield ef(e), a = o / n, l = r / n, c = a / t, d = l, h = 1 / s * t + "s";
25575
+ const { width: o, height: r } = yield tf(e), a = o / n, l = r / n, c = a / t, d = l, h = 1 / s * t + "s";
25568
25576
  return Ae(N({}, i), {
25569
25577
  width: c,
25570
25578
  height: d,
@@ -25698,7 +25706,7 @@ function CI(i) {
25698
25706
  /*iconRatio*/
25699
25707
  i[5]
25700
25708
  )
25701
- }))) && ao(e, n) || Jh(n, i, o);
25709
+ }))) && ao(e, n) || qh(n, i, o);
25702
25710
  },
25703
25711
  d(s) {
25704
25712
  s && O(t), n.block.d(s), n.token = null, n = null;
@@ -25764,7 +25772,7 @@ function II(i) {
25764
25772
  /*iconRatio*/
25765
25773
  i[5]
25766
25774
  )
25767
- }))) && ao(e, n) || Jh(n, i, o);
25775
+ }))) && ao(e, n) || qh(n, i, o);
25768
25776
  },
25769
25777
  d(s) {
25770
25778
  s && O(t), n.block.d(s), n.token = null, n = null;
@@ -26029,7 +26037,7 @@ function TI(i, t, e) {
26029
26037
  m
26030
26038
  ];
26031
26039
  }
26032
- class tf extends le {
26040
+ class nf extends le {
26033
26041
  constructor(t) {
26034
26042
  super(), ae(this, t, TI, SI, oe, { width: 1, icon: 12, shadow: 0 }, wI);
26035
26043
  }
@@ -26080,7 +26088,7 @@ function sh(i) {
26080
26088
  }
26081
26089
  function jI(i) {
26082
26090
  let t, e, n, s;
26083
- e = new tf({
26091
+ e = new nf({
26084
26092
  props: { icon: (
26085
26093
  /*icon*/
26086
26094
  i[0]
@@ -26335,7 +26343,7 @@ function _I(i) {
26335
26343
  );
26336
26344
  },
26337
26345
  m(A, p) {
26338
- B(A, t, p), x(t, e), x(e, n), ~s && u[s].m(n, null), l = !0, c || (d = be(t, "click", Wh(
26346
+ B(A, t, p), x(t, e), x(e, n), ~s && u[s].m(n, null), l = !0, c || (d = be(t, "click", Fh(
26339
26347
  /*click_handler_1*/
26340
26348
  i[15]
26341
26349
  )), c = !0);
@@ -26770,7 +26778,7 @@ function KI(i, t, e) {
26770
26778
  S
26771
26779
  ];
26772
26780
  }
26773
- let nf = class extends le {
26781
+ let sf = class extends le {
26774
26782
  constructor(t) {
26775
26783
  super(), ae(
26776
26784
  this,
@@ -26803,7 +26811,7 @@ function eP(i) {
26803
26811
  spreadRadius: 5,
26804
26812
  opacity: 0.3
26805
26813
  }
26806
- }), c = new tf({
26814
+ }), c = new nf({
26807
26815
  props: {
26808
26816
  icon: (
26809
26817
  /*url*/
@@ -27032,7 +27040,7 @@ function rP(i) {
27032
27040
  }
27033
27041
  function aP(i) {
27034
27042
  let t, e;
27035
- return t = new nf({
27043
+ return t = new sf({
27036
27044
  props: {
27037
27045
  mediaStore: (
27038
27046
  /*mediaStore*/
@@ -27525,7 +27533,7 @@ class mP extends le {
27525
27533
  );
27526
27534
  }
27527
27535
  }
27528
- const gP = new jf();
27536
+ const gP = new zf();
27529
27537
  function pP(i) {
27530
27538
  return new Promise((t, e) => {
27531
27539
  function n(o) {
@@ -27678,7 +27686,7 @@ class bP extends w1 {
27678
27686
  } else {
27679
27687
  if (yt(n) && !((s = n.model) != null && s.object) || ((o = n.state) == null ? void 0 : o.visible) === !1 || !this.state.visible || !this.state.enabled)
27680
27688
  return;
27681
- if (this.css3DRenderPlugin || (this.css3DRenderPlugin = Vh(this.five)), n.stickType === "3DPoint" && !n.normal)
27689
+ if (this.css3DRenderPlugin || (this.css3DRenderPlugin = Qh(this.five)), n.stickType === "3DPoint" && !n.normal)
27682
27690
  return console.error("updateRenderPlaneTag: 三维点标签缺少法向量!");
27683
27691
  const l = this.getPositions(n);
27684
27692
  if (!l)
@@ -27704,7 +27712,7 @@ class bP extends w1 {
27704
27712
  if (!u)
27705
27713
  return;
27706
27714
  this.store.css3DRenderDisposer.set(n.id, [u.dispose]);
27707
- const m = new nf({
27715
+ const m = new sf({
27708
27716
  target: u.container,
27709
27717
  props: {
27710
27718
  tag: n,
@@ -27834,7 +27842,7 @@ class bP extends w1 {
27834
27842
  }
27835
27843
  }
27836
27844
  }
27837
- const sf = "Dnalogel-PanoTagPlugin", jE = (i) => `${sf}--${i}`;
27845
+ const of = "Dnalogel-PanoTagPlugin", jE = (i) => `${of}--${i}`;
27838
27846
  class fa extends bP {
27839
27847
  constructor(e, n) {
27840
27848
  super(e);
@@ -27875,7 +27883,7 @@ class fa extends bP {
27875
27883
  load(e, n) {
27876
27884
  return U(this, null, function* () {
27877
27885
  var o, r;
27878
- this.clearTags(), console.debug(sf, " load:", { data: JSON.parse(JSON.stringify(e)) }), this.config = Xe({}, this.config, {
27886
+ this.clearTags(), console.debug(of, " load:", { data: JSON.parse(JSON.stringify(e)) }), this.config = Xe({}, this.config, {
27879
27887
  globalConfig: (o = e.globalConfig) != null ? o : {},
27880
27888
  contentTypeConfig: (r = e.contentTypeConfig) != null ? r : {}
27881
27889
  });
@@ -28538,7 +28546,7 @@ class ma {
28538
28546
  }))), this.endTagContainer.tag && Nr(this.endTagContainer.tag) && ((o = this.endTagContainer.app) == null || o.$set(Ae(N({}, this.endTagContainer.tag.data), { opacity: n })));
28539
28547
  });
28540
28548
  f(this, "logWarning", (t) => Db("GuideLineModeItem: ", t));
28541
- f(this, "logError", (t) => Su("GuideLineModeItem: ", t));
28549
+ f(this, "logError", (t) => Tu("GuideLineModeItem: ", t));
28542
28550
  var o, r;
28543
28551
  this.five = t, this.mode = e.mode, this.plugin = e.plugin, this.parent = e.parent, this.startTagContainer = { tag: null, plugin: new fa(this.five) }, this.endTagContainer = { tag: null, plugin: new fa(this.five) };
28544
28552
  const n = new E.BufferGeometry(), s = new E.ShaderMaterial({
@@ -28807,7 +28815,7 @@ function OP(i) {
28807
28815
  }, i);
28808
28816
  });
28809
28817
  }
28810
- const of = "v1.0.6", rf = "CruisePlugin", Bo = `${rf}@${of}`, uh = () => {
28818
+ const rf = "v1.0.6", af = "CruisePlugin", Bo = `${af}@${rf}`, uh = () => {
28811
28819
  console.error(`${Bo} is disposed`);
28812
28820
  }, BP = () => {
28813
28821
  console.warn(`${Bo} is disabled`);
@@ -28843,7 +28851,7 @@ class Ro extends Rn {
28843
28851
  modeChanging: !1
28844
28852
  });
28845
28853
  f(this, "GuideLine");
28846
- this.config = n, Object.assign(window, { [`__${rf}_DEBUG__`]: this });
28854
+ this.config = n, Object.assign(window, { [`__${af}_DEBUG__`]: this });
28847
28855
  const s = this.setFiveLinearUpdateCamera.bind(this), o = this.setFiveOriginUpdateCamera.bind(this);
28848
28856
  this.hooks.on("play", s), this.hooks.on("broke", o), this.hooks.on("end", o), this.hooks.on("pause", o), this.privateState.disposers.push(() => {
28849
28857
  this.hooks.off("play", s), this.hooks.off("broke", o), this.hooks.off("end", o), this.hooks.off("pause", o);
@@ -29359,11 +29367,11 @@ class Ro extends Rn {
29359
29367
  this.privateState.fiveOriginGetProgress && (this.five.controller.cameraMotion.getProgress = this.privateState.fiveOriginGetProgress);
29360
29368
  }
29361
29369
  }
29362
- f(Ro, "PluginVersion", of);
29370
+ f(Ro, "PluginVersion", rf);
29363
29371
  const BE = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
29364
29372
  __proto__: null
29365
29373
  }, Symbol.toStringTag, { value: "Module" })), RE = (i) => new Ro(i);
29366
- class af {
29374
+ class lf {
29367
29375
  constructor(t) {
29368
29376
  f(this, "id");
29369
29377
  f(this, "renderID");
@@ -29374,7 +29382,7 @@ class af {
29374
29382
  f(this, "_visible", !0);
29375
29383
  f(this, "plugin");
29376
29384
  f(this, "five");
29377
- f(this, "logError", (t) => Su("GuideLineItem: ", t));
29385
+ f(this, "logError", (t) => Tu("GuideLineItem: ", t));
29378
29386
  this.id = t.id, this.five = t.five, this.plugin = t.plugin, this.panoramaItem = new ma(this.five, { mode: "panorama", plugin: this.plugin, parent: this }), this.modelItem = new ma(this.five, { mode: "model", plugin: this.plugin, parent: this });
29379
29387
  }
29380
29388
  get visible() {
@@ -29454,12 +29462,12 @@ function VP(i, t) {
29454
29462
  }
29455
29463
  const VE = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
29456
29464
  __proto__: null,
29457
- GuideLineItem: af
29458
- }, Symbol.toStringTag, { value: "Module" })), lf = "v1.1.0", ga = "GuideLinePlugin", fh = `${ga}@${lf}`;
29465
+ GuideLineItem: lf
29466
+ }, Symbol.toStringTag, { value: "Module" })), cf = "v1.1.0", ga = "GuideLinePlugin", fh = `${ga}@${cf}`;
29459
29467
  class QP extends Rn {
29460
29468
  constructor(e, n) {
29461
29469
  super(e, n);
29462
- f(this, "version", lf);
29470
+ f(this, "version", cf);
29463
29471
  f(this, "name", ga);
29464
29472
  f(this, "cruisePlugin");
29465
29473
  /** GuideLineItem 索引 */
@@ -29547,7 +29555,7 @@ class QP extends Rn {
29547
29555
  addGuideLineItem(e) {
29548
29556
  const n = e.render_id || e.id, s = this.itemMap.get(n);
29549
29557
  s && this.removeGuideLineItem(s);
29550
- const o = new af({ five: this.five, id: n, plugin: this });
29558
+ const o = new lf({ five: this.five, id: n, plugin: this });
29551
29559
  return this.itemMap.set(n, o), e && o.setData(e), this.heightOffset += 1e-4, o.setHeightOffset(this.heightOffset), o;
29552
29560
  }
29553
29561
  /** 获取 Plugin 内的 GuideLineItem */
@@ -29615,14 +29623,14 @@ class QP extends Rn {
29615
29623
  }
29616
29624
  }
29617
29625
  const GP = (i, t) => new QP(i, t);
29618
- function cf(i, t, e) {
29626
+ function df(i, t, e) {
29619
29627
  if (e) {
29620
29628
  const s = new E.Vector3().subVectors(i.position, e).applyQuaternion(i.quaternion.clone().inverse()).applyQuaternion(t).add(e);
29621
29629
  i.position.copy(s);
29622
29630
  }
29623
29631
  i.quaternion.copy(t);
29624
29632
  }
29625
- class Vo extends pu {
29633
+ class Vo extends Au {
29626
29634
  constructor(e, n) {
29627
29635
  var s;
29628
29636
  super();
@@ -29662,7 +29670,7 @@ class Vo extends pu {
29662
29670
  this.scale.applyMatrix4(e);
29663
29671
  }
29664
29672
  setHelperQuaternion(e, n) {
29665
- cf(this, e, n);
29673
+ df(this, e, n);
29666
29674
  }
29667
29675
  applyHelperQuaternion(e, n) {
29668
29676
  if (n) {
@@ -29681,9 +29689,9 @@ class HP extends Vo {
29681
29689
  }
29682
29690
  class _P extends Vo {
29683
29691
  }
29684
- class df extends Vo {
29692
+ class hf extends Vo {
29685
29693
  }
29686
- class WP extends df {
29694
+ class WP extends hf {
29687
29695
  }
29688
29696
  class FP extends E.Group {
29689
29697
  constructor(e) {
@@ -30099,7 +30107,7 @@ class n2 extends WP {
30099
30107
  ];
30100
30108
  }
30101
30109
  }
30102
- function hf(i) {
30110
+ function uf(i) {
30103
30111
  const t = new E.Box3(), e = new E.Vector3();
30104
30112
  if (i.traverse((n) => {
30105
30113
  var o;
@@ -30135,7 +30143,7 @@ class i2 extends HP {
30135
30143
  this.box.raycast(e, n);
30136
30144
  }
30137
30145
  update() {
30138
- const e = hf(this.originObject);
30146
+ const e = uf(this.originObject);
30139
30147
  if (!e)
30140
30148
  return;
30141
30149
  const { min: n, max: s } = e;
@@ -30371,7 +30379,7 @@ class ps {
30371
30379
  const n = this.originObject3D, s = new E.Vector3(0, 0, 0);
30372
30380
  if (!t)
30373
30381
  return s;
30374
- const o = () => e || (this.boundingBox ? this.boundingBox : (this.boundingBox = hf(n), this.boundingBox));
30382
+ const o = () => e || (this.boundingBox ? this.boundingBox : (this.boundingBox = uf(n), this.boundingBox));
30375
30383
  if (typeof t.x == "number")
30376
30384
  s.setX(t.x);
30377
30385
  else if (typeof t.x == "object") {
@@ -30670,7 +30678,7 @@ class h2 extends ps {
30670
30678
  if (this.hooks.emit("wantToRotate", a))
30671
30679
  return;
30672
30680
  const { originObject3D: c, rotateCenter: d } = this;
30673
- cf(c, a, d), this.hooks.emit("setObjectRotate", a, d), this.hooks.emit("rotate", a), this.render();
30681
+ df(c, a, d), this.hooks.emit("setObjectRotate", a, d), this.hooks.emit("rotate", a), this.render();
30674
30682
  }
30675
30683
  dispose() {
30676
30684
  this.removeListener(), super.dispose();
@@ -30731,7 +30739,7 @@ class h2 extends ps {
30731
30739
  ),
30732
30740
  `${r.toUpperCase()}${"XZY".replace(r.toUpperCase(), "")}`
30733
30741
  )[r] * o.angleDirection;
30734
- if (this.startInfo.angle += v, this.setAngleHelperLength(r, this.startInfo.angle), this.setTipsAngle(su(this.startInfo.angle)), d) {
30742
+ if (this.startInfo.angle += v, this.setAngleHelperLength(r, this.startInfo.angle), this.setTipsAngle(ou(this.startInfo.angle)), d) {
30735
30743
  const y = new E.Vector3().subVectors(l.position, d).applyQuaternion(m).add(d);
30736
30744
  l.position.copy(y);
30737
30745
  }
@@ -30913,7 +30921,7 @@ class m2 extends ps {
30913
30921
  f(this, "name", "BoundingBoxController");
30914
30922
  }
30915
30923
  }
30916
- class g2 extends df {
30924
+ class g2 extends hf {
30917
30925
  constructor(t) {
30918
30926
  super(t);
30919
30927
  }
@@ -31242,7 +31250,7 @@ class gh {
31242
31250
  this.five = t, this.panoIndex = e.panoIndex, this._id = e.renderID, this.url = e.url, this.origin = e.origin.slice(), this._enabled = (c = (l = e.initialState) == null ? void 0 : l.enabled) != null ? c : !0;
31243
31251
  const n = document.createElement("video");
31244
31252
  n.crossOrigin = "anonymous", n.autoplay = !1, n.muted = !0, n.loop = !0, n.playsInline = !0, this.video = n;
31245
- const s = new xf(this.video);
31253
+ const s = new Df(this.video);
31246
31254
  s.minFilter = Ur, s.magFilter = Ur;
31247
31255
  const o = new vh({
31248
31256
  vertexShader: w2,
@@ -31250,12 +31258,12 @@ class gh {
31250
31258
  uniforms: {
31251
31259
  map: { value: s },
31252
31260
  size: {
31253
- value: new Df(this.origin[0], 1 - this.origin[1] - this.origin[3], this.origin[2], this.origin[3])
31261
+ value: new Sf(this.origin[0], 1 - this.origin[1] - this.origin[3], this.origin[2], this.origin[3])
31254
31262
  }
31255
31263
  },
31256
31264
  depthTest: !0,
31257
31265
  transparent: !0
31258
- }), r = new Sf(1, 64, 64);
31266
+ }), r = new Tf(1, 64, 64);
31259
31267
  r.scale(-1, 1, 1);
31260
31268
  const a = new ts(r, o);
31261
31269
  a.name = "pano-video", this.videoMesh = a, this.five.work && this.onFiveDataLoaded(), this.enabled && this.addEventListeners(), this.mountIfNeeded();
@@ -31471,11 +31479,11 @@ class P2 extends gs {
31471
31479
  const GE = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31472
31480
  __proto__: null
31473
31481
  }, Symbol.toStringTag, { value: "Module" })), NE = (i) => new P2(i);
31482
+ Bf();
31474
31483
  Of();
31475
- zf();
31476
31484
  export {
31477
31485
  ls as CSS3DRender,
31478
- Vh as CSS3DRenderPlugin,
31486
+ Qh as CSS3DRenderPlugin,
31479
31487
  SA as CameraMovementEffect,
31480
31488
  cE as CameraMovementPlugin,
31481
31489
  wP as ContentType,
@@ -31512,7 +31520,7 @@ export {
31512
31520
  iE as PanoFloorplanRadarPlugin,
31513
31521
  AE as PanoMeasurePlugin,
31514
31522
  An as PanoMeasurePluginLine,
31515
- yu as PanoMeasurePluginModel,
31523
+ wu as PanoMeasurePluginModel,
31516
31524
  bt as PanoMeasurePluginPoint,
31517
31525
  gi as PanoMeasurePluginPolyline,
31518
31526
  dE as PanoRulerPlugin,