@realsee/dnalogel 3.35.0-dev.1 → 3.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/ModelMakerPlugin/Controller.d.ts +1 -1
- package/dist/ModelMakerPlugin/item/baseItem.d.ts +1 -1
- package/dist/PanoMeasurePlugin/Controller/ViewController.d.ts +1 -0
- package/dist/PanoMeasurePlugin/Model/polyline.d.ts +2 -1
- package/dist/PanoMeasurePlugin/typings/data.d.ts +3 -0
- package/dist/PanoTagPlugin/controller/TagRender.d.ts +1 -2
- package/dist/PanoTagPlugin/controller/TagUtil.d.ts +6 -11
- package/dist/PanoTagPlugin/controller/index.d.ts +0 -1
- package/dist/PanoTagPlugin/utils/debounce.d.ts +0 -1
- package/dist/PanoVideoPlugin/Controller.d.ts +3 -1
- package/dist/PanoVideoPlugin/typings.d.ts +2 -2
- package/dist/index.cjs.js +54 -54
- package/dist/index.js +3161 -3165
- package/dist/index.umd.js +44 -44
- package/dist/shared-utils/tag.d.ts +4 -4
- package/docs/assets/search.js +1 -1
- package/docs/classes/AreaMakerPluginType.AreaMakerController.html +44 -34
- package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +44 -34
- package/docs/classes/CSS3DRender.html +43 -33
- package/docs/classes/GuideLineItem.GuideLineItem.html +31 -21
- package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +55 -45
- package/docs/classes/{Magnifier.html → ModelMakerPluginInstance.html} +203 -111
- package/docs/classes/ModelRoomLabelController.html +23 -13
- package/docs/classes/MoveController.html +43 -33
- package/docs/classes/Object3DHelperController.html +39 -47
- package/docs/classes/PaintBrush.html +27 -17
- package/docs/classes/PanoMeasurePluginLine.html +56 -36
- package/docs/classes/PanoMeasurePluginModel.html +42 -32
- package/docs/classes/PanoMeasurePluginPoint.html +23 -13
- package/docs/classes/PanoMeasurePluginPolyline.html +61 -34
- package/docs/classes/PanoTagPluginController.html +234 -126
- package/docs/classes/Sculpt.html +852 -0
- package/docs/classes/Util.BetterTween.html +27 -13
- package/docs/classes/Util.Interval.html +29 -15
- package/docs/classes/Util.LineSegments.html +25 -11
- package/docs/classes/Util.Magnifier.html +93 -60
- package/docs/classes/Util.Object3D.html +26 -12
- package/docs/classes/Util.PointDomHelper.html +28 -14
- package/docs/classes/Util.PointHelper.html +28 -14
- package/docs/classes/Util.PointSelectorHelper.html +34 -20
- package/docs/classes/Util.Rectangle.html +30 -16
- package/docs/classes/WalkController.html +39 -29
- package/docs/enums/CameraMovementEffect.html +19 -9
- package/docs/enums/ContentType.html +33 -23
- package/docs/enums/DIRECTION.html +21 -11
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +21 -11
- package/docs/enums/DimensionType.html +19 -9
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +20 -10
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +21 -11
- package/docs/enums/PaintBrushTypeEnum.html +20 -10
- package/docs/enums/PointType.html +19 -9
- package/docs/enums/Rotation.html +20 -10
- package/docs/functions/AreaMakerPlugin.html +17 -7
- package/docs/functions/CSS3DRenderPlugin.html +17 -7
- package/docs/functions/CameraMovementPlugin.html +17 -7
- package/docs/functions/CruisePlugin.html +17 -7
- package/docs/functions/CurrentPanoImagePlugin.html +17 -7
- package/docs/functions/GuideLinePlugin.html +17 -7
- package/docs/functions/ItemLabelPlugin.html +17 -7
- package/docs/functions/MapviewFloorplanPlugin.html +17 -7
- package/docs/functions/ModelChassisCompassPlugin.html +17 -7
- package/docs/functions/ModelEntryDoorGuidePlugin.html +17 -7
- package/docs/functions/ModelFloorplanPlugin.html +17 -7
- package/docs/functions/ModelItemLabelPlugin.html +17 -7
- package/docs/functions/ModelMakerPlugin.html +303 -0
- package/docs/functions/ModelRoomLabelPlugin.html +17 -7
- package/docs/functions/ModelTVVideoPlugin.html +17 -7
- package/docs/functions/ModelViewPlugin.html +17 -7
- package/docs/functions/MovePlugin.html +18 -8
- package/docs/functions/Object3DHelperPlugin.html +17 -7
- package/docs/functions/PanoCompassPlugin.html +17 -7
- package/docs/functions/PanoCursorRaycasterPlugin.html +17 -7
- package/docs/functions/PanoDoorLabelPlugin.html +17 -7
- package/docs/functions/PanoFloorplanRadarPlugin.html +17 -7
- package/docs/functions/PanoMeasurePlugin.html +17 -7
- package/docs/functions/PanoRulerPlugin.html +17 -7
- package/docs/functions/PanoRulerProPlugin.html +17 -7
- package/docs/functions/PanoSpatialTagPlugin.html +17 -7
- package/docs/functions/PanoTagPlugin.html +20 -8
- package/docs/functions/PanoVideoPlugin.html +17 -7
- package/docs/functions/PipelinePlugin.html +17 -7
- package/docs/functions/SculptPlugin.html +306 -0
- package/docs/functions/TopviewFloorplanPlugin.html +17 -7
- package/docs/functions/Util.absoluteUrl.html +22 -8
- package/docs/functions/Util.blink.html +351 -0
- package/docs/functions/Util.checkFiveModelLoaded.html +22 -8
- package/docs/functions/Util.equal.html +22 -8
- package/docs/functions/Util.getCoordsFromClient.html +22 -8
- package/docs/functions/Util.getCoordsFromElement.html +22 -8
- package/docs/functions/Util.getFrameTime.html +22 -8
- package/docs/functions/Util.getIntersectFromRelativePosition.html +29 -10
- package/docs/functions/Util.getRaycasterFromFivePointer.html +22 -8
- package/docs/functions/Util.isAbsoluteURL.html +22 -8
- package/docs/functions/Util.isModelLike.html +22 -8
- package/docs/functions/Util.isNil.html +22 -8
- package/docs/functions/Util.isPanoramaLike.html +22 -8
- package/docs/functions/Util.nextFrame.html +22 -8
- package/docs/functions/Util.notNil.html +22 -8
- package/docs/functions/Util.reblink.html +349 -0
- package/docs/functions/Util.requestAnimationFrameInterval.html +22 -8
- package/docs/functions/Util.tweenProgress.html +22 -8
- package/docs/functions/Util.uuid.html +22 -8
- package/docs/functions/pluginFlag.html +17 -7
- package/docs/index.html +18 -7
- package/docs/interfaces/AddTagConfig.html +18 -8
- package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +17 -7
- package/docs/interfaces/AreaMakerPluginType.Config.html +17 -7
- package/docs/interfaces/AreaMakerPluginType.EventMap.html +30 -20
- package/docs/interfaces/AreaMakerPluginType.Params.html +18 -8
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +20 -10
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +19 -9
- package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +17 -7
- package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +17 -7
- package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +17 -7
- package/docs/interfaces/AreaMakerPluginType.State.html +19 -9
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +23 -13
- package/docs/interfaces/CSS3DRenderPluginState.html +20 -10
- package/docs/interfaces/CameraMovementPluginExportType.html +19 -9
- package/docs/interfaces/ContentTypeMapInterface.html +773 -0
- package/docs/interfaces/CruisePluginTypes.Config.html +21 -10
- package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +24 -13
- package/docs/interfaces/CruisePluginTypes.EventMap.html +33 -22
- package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +352 -0
- package/docs/interfaces/CruisePluginTypes.MoveAction.html +39 -23
- package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +30 -18
- package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +30 -18
- package/docs/interfaces/CruisePluginTypes.PluginData.html +41 -30
- package/docs/interfaces/CruisePluginTypes.PluginServerData.html +18 -7
- package/docs/interfaces/CruisePluginTypes.PluginState.html +25 -14
- package/docs/interfaces/CurrentPanoImagePluginType.Config.html +23 -13
- package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +24 -14
- package/docs/interfaces/CurrentPanoImagePluginType.Params.html +19 -9
- package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +18 -8
- package/docs/interfaces/CurrentPanoImagePluginType.State.html +20 -10
- package/docs/interfaces/EventMap.html +27 -17
- package/docs/interfaces/FloorplanBounding.html +20 -10
- package/docs/interfaces/FloorplanData.html +22 -12
- package/docs/interfaces/FloorplanEntrance.html +23 -13
- package/docs/interfaces/FloorplanExtraObject.html +22 -12
- package/docs/interfaces/FloorplanExtraObject3D.html +20 -10
- package/docs/interfaces/FloorplanFloorData.html +21 -11
- package/docs/interfaces/FloorplanImagePosition.html +19 -9
- package/docs/interfaces/FloorplanObserver.html +21 -11
- package/docs/interfaces/FloorplanOutlineItem.html +21 -11
- package/docs/interfaces/FloorplanPosition.html +19 -9
- package/docs/interfaces/FloorplanRoomItem.html +26 -16
- package/docs/interfaces/FloorplanRoomLabelItem.html +19 -9
- package/docs/interfaces/FloorplanServerBounding.html +20 -10
- package/docs/interfaces/FloorplanServerComputedData.html +22 -12
- package/docs/interfaces/FloorplanServerData.html +19 -9
- package/docs/interfaces/FloorplanServerDoorItem.html +22 -12
- package/docs/interfaces/FloorplanServerDoorPosition.html +20 -10
- package/docs/interfaces/FloorplanServerEntrance.html +23 -13
- package/docs/interfaces/FloorplanServerFloorData.html +21 -11
- package/docs/interfaces/FloorplanServerImagePosition.html +19 -9
- package/docs/interfaces/FloorplanServerObserver.html +21 -11
- package/docs/interfaces/FloorplanServerOutlineItem.html +21 -11
- package/docs/interfaces/FloorplanServerPosition.html +19 -9
- package/docs/interfaces/FloorplanServerRoomItem.html +27 -17
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +19 -9
- package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +20 -10
- package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +21 -11
- package/docs/interfaces/GuideLinePluginType.EventMap.html +24 -14
- package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +19 -9
- package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +17 -7
- package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +26 -16
- package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +17 -7
- package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +19 -9
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +32 -22
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +18 -8
- package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +33 -23
- package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +16 -6
- package/docs/interfaces/GuideLinePluginType.PluginServerData.html +17 -7
- package/docs/interfaces/GuideLinePluginType.PluginState.html +19 -9
- package/docs/interfaces/GuideLinePluginType.Route.html +22 -12
- package/docs/interfaces/GuideLinePluginType.RouteConfig.html +20 -10
- package/docs/interfaces/HelperOffset.html +20 -10
- package/docs/interfaces/ImagePlaneGroup.html +18 -8
- package/docs/interfaces/ItemLabelPluginData.html +18 -8
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +23 -13
- package/docs/interfaces/ItemLabelPluginParametersType.html +21 -11
- package/docs/interfaces/MinMax.html +19 -9
- package/docs/interfaces/ModelChassisCompassPluginData.html +19 -9
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +20 -10
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +19 -9
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +20 -10
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +20 -10
- package/docs/interfaces/ModelItemLabelPluginData.html +18 -8
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +23 -13
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +19 -9
- package/docs/interfaces/ModelMakerPluginType.EventMap.html +556 -0
- package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +349 -0
- package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +391 -0
- package/docs/interfaces/ModelMakerPluginType.ServerData.html +332 -0
- package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +401 -0
- package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +381 -0
- package/docs/interfaces/ModelMakerPluginType.State.html +364 -0
- package/docs/interfaces/ModelRoomLabelPluginData.html +18 -8
- package/docs/interfaces/ModelTVVideoPluginData.html +21 -11
- package/docs/interfaces/ModelTVVideoPluginExportType.html +20 -10
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +18 -8
- package/docs/interfaces/ModelViewPluginExportType.html +23 -13
- package/docs/interfaces/Object3DHelperState.html +20 -10
- package/docs/interfaces/ObjectHelperControllers.html +22 -12
- package/docs/interfaces/PaintBrushAction.html +24 -14
- package/docs/interfaces/PaintBrushConfigs.html +24 -14
- package/docs/interfaces/PaintBrushState.html +22 -12
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +22 -12
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +17 -7
- package/docs/interfaces/PanoMeasureParameterType.html +28 -18
- package/docs/interfaces/PanoMeasurePluginLineJson.html +20 -10
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +19 -9
- package/docs/interfaces/PanoMeasurePluginPointJson.html +19 -9
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +30 -10
- package/docs/interfaces/PanoRulerPluginExportType.html +22 -12
- package/docs/interfaces/PanoRulerPluginOptions.html +19 -9
- package/docs/interfaces/PanoRulerPluginParameterType.html +20 -10
- package/docs/interfaces/PanoRulerProPluginExportType.html +21 -11
- package/docs/interfaces/PanoRulerProPluginOptions.html +19 -9
- package/docs/interfaces/PanoRulerProPluginParameterType.html +19 -9
- package/docs/interfaces/PanoRulerProPluginState.html +20 -10
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +17 -7
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +17 -7
- package/docs/interfaces/PanoSpatialTagPluginData.html +23 -13
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +22 -12
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +25 -15
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +22 -12
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +25 -15
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +23 -13
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +22 -12
- package/docs/interfaces/PanoVideoPluginType.LoadParams.html +18 -8
- package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +20 -10
- package/docs/interfaces/PanoVideoPluginType.PluginData.html +18 -8
- package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +78 -18
- package/docs/interfaces/PanoVideoPluginType.PluginState.html +18 -8
- package/docs/interfaces/PanoVideoPluginType.VideoItem.html +20 -10
- package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +22 -12
- package/docs/interfaces/Point.html +20 -10
- package/docs/interfaces/Room.html +21 -11
- package/docs/interfaces/RoomInfo.html +19 -9
- package/docs/interfaces/RoomLabel.html +26 -16
- package/docs/interfaces/RoomRules.html +17 -7
- package/docs/interfaces/Rooms.html +17 -7
- package/docs/interfaces/Scissor.html +21 -11
- package/docs/interfaces/State.html +20 -10
- package/docs/interfaces/TagCacheInterface.html +24 -14
- package/docs/interfaces/TagConfig.html +65 -49
- package/docs/interfaces/TagGLTFObjectGroup.html +18 -8
- package/docs/interfaces/TagIconUrl.html +24 -14
- package/docs/interfaces/TagObjectGroup.html +18 -8
- package/docs/interfaces/TagStyle.html +18 -8
- package/docs/interfaces/Tags.html +61 -437
- package/docs/interfaces/TemporaryState.html +18 -8
- package/docs/interfaces/Util.BlinkAnimeOptions.html +380 -0
- package/docs/interfaces/Util.MagnifierParameter.html +43 -24
- package/docs/interfaces/Util.MouseGroupParameter.html +25 -11
- package/docs/interfaces/Util.PointIntersection.html +33 -12
- package/docs/interfaces/Util.ReBlinkAnimeOptions.html +387 -0
- package/docs/modules/AreaMakerPluginType.html +16 -6
- package/docs/modules/CruisePluginTypes.html +18 -6
- package/docs/modules/CurrentPanoImagePluginType.html +17 -7
- package/docs/modules/GuideLineItem.html +17 -7
- package/docs/modules/GuideLineModeItem.html +17 -7
- package/docs/modules/GuideLinePluginType.html +16 -6
- package/docs/modules/ModelMakerPluginType.html +339 -0
- package/docs/modules/PanoVideoPluginType.html +17 -7
- package/docs/modules/SculptData.html +318 -0
- package/docs/modules/Util.html +26 -8
- package/docs/modules.html +34 -11
- package/docs/types/AddObject3DHelperConfig.html +315 -0
- package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +16 -6
- package/docs/types/AreaMakerPluginType.ItemRenderer.html +16 -6
- package/docs/types/AreaMakerPluginType.PluginData.html +16 -6
- package/docs/types/AreaMakerPluginType.ServerData.html +16 -6
- package/docs/types/ArrayPosition.html +17 -7
- package/docs/types/AudioAppearance.html +17 -7
- package/docs/types/CSS3DRenderExportType.html +17 -7
- package/docs/types/CSS3DRenderPluginExportType.html +17 -7
- package/docs/types/CSS3DRenderPluginParameterType.html +17 -7
- package/docs/types/ClassFunctionParameters.html +17 -7
- package/docs/types/Color.html +17 -7
- package/docs/types/ContentTypeConfigKey.html +17 -7
- package/docs/types/ContentTypeConfigKeySplit.html +18 -8
- package/docs/types/ContentTypeMap.html +17 -7
- package/docs/types/Create3DDomContainerReturnType.html +17 -7
- package/docs/types/Create3DElementReturnType.html +17 -7
- package/docs/types/CruisePluginExportType.html +17 -7
- package/docs/types/CruisePluginTypes.CruiseData.html +17 -6
- package/docs/types/CruisePluginTypes.MoveEffect.html +17 -6
- package/docs/types/CurrentPanoImagePluginExportType.html +17 -7
- package/docs/types/DeprecatedMediaPlaneProperty.html +17 -7
- package/docs/types/DeprecatedTagProperty.html +17 -7
- package/docs/types/Direction-1.html +17 -7
- package/docs/types/Direction4.html +17 -7
- package/docs/types/ElementRenderer.html +17 -7
- package/docs/types/FloorplanRuleLabels.html +17 -7
- package/docs/types/FloorplanServerRuleLabels.html +17 -7
- package/docs/types/GuideLinePluginExportType.html +17 -7
- package/docs/types/GuideLinePluginType.GuideLineItem.html +18 -8
- package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +16 -6
- package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +16 -6
- package/docs/types/GuideLinePluginType.GuideLineStyle.html +16 -6
- package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +16 -6
- package/docs/types/GuideLinePluginType.PathItem.html +16 -6
- package/docs/types/GuideLinePluginType.PluginData.html +16 -6
- package/docs/types/HelperEventMap.html +17 -7
- package/docs/types/InternalHelperEventMap.html +29 -11
- package/docs/types/LoadTagConfig.html +17 -7
- package/docs/types/MapviewFloorplanPluginParameterType.html +17 -7
- package/docs/types/MapviewFloorplanPluginReturnType.html +17 -7
- package/docs/types/MediaData.html +20 -10
- package/docs/types/MediaStore.html +17 -7
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +17 -7
- package/docs/types/ModelFloorplanPluginParameterType.html +17 -7
- package/docs/types/ModelFloorplanPluginReturnType.html +17 -7
- package/docs/types/ModelId.html +17 -7
- package/docs/types/ModelMakerPluginType.ElementRenderer.html +329 -0
- package/docs/types/ModelMakerPluginType.ItemType.html +308 -0
- package/docs/types/ModelRoomLabelPluginParameters.html +17 -7
- package/docs/types/ModelRoomLabelPluginReturnType.html +17 -7
- package/docs/types/MoveArgs.html +17 -7
- package/docs/types/MoveOpts.html +17 -7
- package/docs/types/Object3DHelperEventMap.html +17 -7
- package/docs/types/ObjectFit.html +17 -7
- package/docs/types/PaintBrushEventMap.html +17 -7
- package/docs/types/PanoCompassPluginData.html +17 -7
- package/docs/types/PanoCompassPluginExportType.html +17 -7
- package/docs/types/PanoCompassPluginParameterType.html +17 -7
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +17 -7
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +17 -7
- package/docs/types/PanoIndex.html +17 -7
- package/docs/types/PanoMeasurePluginEvent.html +17 -7
- package/docs/types/PanoMeasureReturnType.html +17 -7
- package/docs/types/PanoSpatialTagPluginId.html +17 -7
- package/docs/types/PanoTagPluginExportInterface.html +17 -7
- package/docs/types/PanoTagPluginParamsInterface.html +17 -7
- package/docs/types/PanoVideoPluginParameterType.html +17 -7
- package/docs/types/PanoVideoPluginReturnType.html +17 -7
- package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +22 -12
- package/docs/types/PipelinePluginParameterType.html +17 -7
- package/docs/types/PipelinePluginReturnType.html +17 -7
- package/docs/types/PlaneTag.html +17 -7
- package/docs/types/Point2DTag.html +17 -7
- package/docs/types/Point3DTag.html +17 -7
- package/docs/types/PointTag.html +17 -7
- package/docs/types/PointTagInstance.html +17 -7
- package/docs/types/Position.html +17 -7
- package/docs/types/{AudioTagTypeConfigKey.html → PositionFrom.html} +28 -10
- package/docs/types/RotateArgs.html +17 -7
- package/docs/types/RotateOpts.html +17 -7
- package/docs/types/RuleLabelsKey.html +17 -7
- package/docs/types/RuleLabelsValue.html +17 -7
- package/docs/types/ScaleCallback.html +314 -0
- package/docs/types/ScalePosition.html +303 -0
- package/docs/types/SculptData.BoxData.html +306 -0
- package/docs/types/SculptData.CircleData.html +306 -0
- package/docs/types/SculptData.CylinderData.html +306 -0
- package/docs/types/SculptData.PointData.html +306 -0
- package/docs/types/SculptData.PolygonData.html +306 -0
- package/docs/types/SculptData.PolylineData.html +306 -0
- package/docs/types/SculptData.PrismData.html +306 -0
- package/docs/types/SculptData.RectangleData.html +306 -0
- package/docs/types/StickType.html +17 -7
- package/docs/types/Tag.html +35 -13
- package/docs/types/Tag2D.html +17 -7
- package/docs/types/Tag3D.html +17 -7
- package/docs/types/TagConfigByKey.html +18 -8
- package/docs/types/TagContentType.html +17 -7
- package/docs/types/TagContentTypeMapping.html +17 -7
- package/docs/types/TagDimensionType.html +17 -7
- package/docs/types/TagElement.html +17 -7
- package/docs/types/TagEvents.html +38 -12
- package/docs/types/TagGLTFObject.html +17 -7
- package/docs/types/TagHooks.html +17 -7
- package/docs/types/TagId.html +17 -7
- package/docs/types/TagInstance.html +44 -8
- package/docs/types/TagPointType.html +17 -7
- package/docs/types/TagRendererMap.html +17 -7
- package/docs/types/TopviewFloorplanPluginParameterType.html +17 -7
- package/docs/types/TopviewFloorplanPluginReturnType.html +17 -7
- package/docs/types/WorkCode.html +17 -7
- package/docs/variables/FLOOR_TYPE_MAP.html +17 -7
- package/docs/variables/PLUGIN.html +17 -7
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +17 -7
- package/docs/variables/ROOM_TYPE_MAP.html +17 -7
- package/docs/variables/defaultGlobalConfig.html +17 -7
- package/docs/variables/itemLabelPluginServerParams.html +17 -7
- package/docs/variables/modelItemLabelPluginServerParams.html +17 -7
- package/docs/variables/modelRoomLabelPluginServerParams.html +17 -7
- package/libs/ModelMakerPlugin/Controller.d.ts +1 -1
- package/libs/ModelMakerPlugin/Controller.js +88 -86
- package/libs/ModelMakerPlugin/item/baseItem.d.ts +1 -1
- package/libs/ModelMakerPlugin/item/baseItem.js +23 -26
- package/libs/PanoMeasurePlugin/Controller/ViewController.d.ts +1 -0
- package/libs/PanoMeasurePlugin/Controller/ViewController.js +49 -35
- package/libs/PanoMeasurePlugin/Model/polyline.d.ts +2 -1
- package/libs/PanoMeasurePlugin/Model/polyline.js +37 -35
- package/libs/PanoMeasurePlugin/typings/data.d.ts +3 -0
- package/libs/PanoRulerPlugin/Plugin.js +15 -15
- package/libs/PanoTagPlugin/controller/TagComputer.js +0 -2
- package/libs/PanoTagPlugin/controller/TagRender.d.ts +1 -2
- package/libs/PanoTagPlugin/controller/TagRender.js +63 -67
- package/libs/PanoTagPlugin/controller/TagUtil.d.ts +6 -11
- package/libs/PanoTagPlugin/controller/TagUtil.js +107 -106
- package/libs/PanoTagPlugin/controller/index.d.ts +0 -1
- package/libs/PanoTagPlugin/controller/index.js +61 -67
- package/libs/PanoTagPlugin/utils/debounce.d.ts +0 -1
- package/libs/PanoTagPlugin/utils/debounce.js +4 -10
- package/libs/PanoTagPlugin/utils/index.js +6 -7
- package/libs/PanoVideoPlugin/Controller.d.ts +3 -1
- package/libs/PanoVideoPlugin/Controller.js +41 -41
- package/libs/PanoVideoPlugin/typings.d.ts +2 -2
- package/libs/base/BasePlugin.js +3 -3
- package/libs/shared-utils/logger.js +1 -1
- package/libs/shared-utils/tag.d.ts +4 -4
- package/libs/shared-utils/tag.js +26 -30
- package/package.json +2 -2
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var A = (d, a, e) => a in d ?
|
|
1
|
+
var V = Object.defineProperty, E = Object.defineProperties;
|
|
2
|
+
var R = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var D = Object.getOwnPropertySymbols;
|
|
4
|
+
var F = Object.prototype.hasOwnProperty, O = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var A = (d, a, e) => a in d ? V(d, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : d[a] = e, c = (d, a) => {
|
|
6
6
|
for (var e in a || (a = {}))
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
for (var e of
|
|
7
|
+
F.call(a, e) && A(d, e, a[e]);
|
|
8
|
+
if (D)
|
|
9
|
+
for (var e of D(a))
|
|
10
10
|
O.call(a, e) && A(d, e, a[e]);
|
|
11
11
|
return d;
|
|
12
|
-
}, C = (d, a) =>
|
|
12
|
+
}, C = (d, a) => E(d, R(a));
|
|
13
13
|
var f = (d, a, e) => (A(d, typeof a != "symbol" ? a + "" : a, e), e);
|
|
14
14
|
var g = (d, a, e) => new Promise((t, i) => {
|
|
15
15
|
var s = (n) => {
|
|
16
16
|
try {
|
|
17
17
|
r(e.next(n));
|
|
18
|
-
} catch (
|
|
19
|
-
i(
|
|
18
|
+
} catch (l) {
|
|
19
|
+
i(l);
|
|
20
20
|
}
|
|
21
21
|
}, o = (n) => {
|
|
22
22
|
try {
|
|
23
23
|
r(e.throw(n));
|
|
24
|
-
} catch (
|
|
25
|
-
i(
|
|
24
|
+
} catch (l) {
|
|
25
|
+
i(l);
|
|
26
26
|
}
|
|
27
27
|
}, r = (n) => n.done ? t(n.value) : Promise.resolve(n.value).then(s, o);
|
|
28
28
|
r((e = e.apply(d, a)).next());
|
|
29
29
|
});
|
|
30
|
-
import * as
|
|
30
|
+
import * as P from "three";
|
|
31
31
|
import { Subscribe as _ } from "@realsee/five";
|
|
32
32
|
import { objectAssignDeepExports as u } from "../../vendor/object-assign-deep/objectAssignDeep.js";
|
|
33
|
-
import { addDebugPoints as
|
|
33
|
+
import { addDebugPoints as M } from "../utils/addDebugPoints.js";
|
|
34
34
|
import { arrayPositionToVector3 as w } from "../../shared-utils/positionToVector3.js";
|
|
35
|
-
import { isMediaModelTag as
|
|
35
|
+
import { isMediaModelTag as L, isModelTag as G } from "../utils/tag/tagCheck.js";
|
|
36
36
|
import { debounce as N } from "../utils/debounce.js";
|
|
37
|
-
import { throttle as
|
|
38
|
-
import z, { getTagStickType as
|
|
39
|
-
import { generateBlankAudio as
|
|
40
|
-
import { resizeObserver as
|
|
37
|
+
import { throttle as S } from "../utils/throttle.js";
|
|
38
|
+
import z, { getTagStickType as $ } from "../utils/tag/format.js";
|
|
39
|
+
import { generateBlankAudio as W, AudioNamespace as x } from "../../shared-utils/audio.js";
|
|
40
|
+
import { resizeObserver as U } from "../../shared-utils/dom/resizeObserver.js";
|
|
41
41
|
import { TagRender as j } from "./TagRender.js";
|
|
42
42
|
import { uuid as J } from "../../shared-utils/uuid.js";
|
|
43
43
|
import { isModelLike as q } from "../../shared-utils/five/mode.js";
|
|
@@ -49,7 +49,7 @@ import { waitFiveModelLoaded as H } from "../../shared-utils/five/fiveModelLoad.
|
|
|
49
49
|
import { blink as Q, reblink as Y } from "../../shared-utils/three/blink.js";
|
|
50
50
|
import { tweenProgress as Z } from "../../shared-utils/animationFrame/BetterTween.js";
|
|
51
51
|
import { DebugUtil as K } from "../utils/DebugUtil.js";
|
|
52
|
-
import { safeObj as
|
|
52
|
+
import { safeObj as I } from "../../shared-utils/safeObj.js";
|
|
53
53
|
import { sleep as X } from "../../CruisePlugin/utils/sleep.js";
|
|
54
54
|
import "./TagComputer.js";
|
|
55
55
|
import "../utils/tagPosition.js";
|
|
@@ -173,7 +173,7 @@ import "../Components/Common/TagPoint.js";
|
|
|
173
173
|
import "../../shared-utils/three/GLTFLoader.js";
|
|
174
174
|
import "@realsee/five/gltf-loader";
|
|
175
175
|
import "../../shared-utils/animationFrame/index.js";
|
|
176
|
-
const
|
|
176
|
+
const B = "Dnalogel-PanoTagPlugin", Gi = (d) => `${B}--${d}`;
|
|
177
177
|
class Ni extends j {
|
|
178
178
|
constructor(e, t) {
|
|
179
179
|
super(e);
|
|
@@ -184,7 +184,7 @@ class Ni extends j {
|
|
|
184
184
|
f(this, "debugUtil", new K(this));
|
|
185
185
|
/** 更改 tag 模型 */
|
|
186
186
|
f(this, "changeTagModel", (e, t) => g(this, null, function* () {
|
|
187
|
-
e.data = u({}, e.data, t), yield this.loadModel(e), this.
|
|
187
|
+
e.data = u({}, e.data, t), yield this.loadModel(e), this.updateRenderAllTags();
|
|
188
188
|
}));
|
|
189
189
|
f(this, "whyHide", (e) => {
|
|
190
190
|
var s;
|
|
@@ -200,18 +200,12 @@ class Ni extends j {
|
|
|
200
200
|
const i = C(c({}, this.computeTagVisible(t)), {
|
|
201
201
|
tagInstance: t
|
|
202
202
|
});
|
|
203
|
-
return t.state.visible ? { reason: "应该是能看见才对", info: i } : t.stickType === "Model" || t.stickType === "Plane" ? { reason: "maybe blocked by the five model"
|
|
203
|
+
return t.state.visible ? { reason: "应该是能看见才对", info: i } : t.stickType === "Model" || t.stickType === "Plane" ? { reason: "maybe blocked by the five model" } : i.value === !0 ? { reason: "插件bug,请联系维护人员", info: i } : { reason: (s = i.reason.type) != null ? s : i.reason, info: i };
|
|
204
204
|
});
|
|
205
205
|
f(this, "updateVisible", () => {
|
|
206
206
|
const e = this.five.getCurrentState().mode;
|
|
207
207
|
this.tags.forEach((t) => {
|
|
208
|
-
|
|
209
|
-
}), this.setVisible(), this.updateRenderAllTags();
|
|
210
|
-
});
|
|
211
|
-
f(this, "handleFiveModeChange", () => {
|
|
212
|
-
const e = this.five.getCurrentState().mode;
|
|
213
|
-
this.tags.forEach((t) => {
|
|
214
|
-
S(t) && e !== "Panorama" && this.changeTagMode(t, "behind");
|
|
208
|
+
L(t) && e !== "Panorama" && this.changeTagMode(t, "behind");
|
|
215
209
|
}), this.setVisible(), this.updateRenderAllTags();
|
|
216
210
|
});
|
|
217
211
|
f(this, "handleFiveWantsMoveToPano", (e) => {
|
|
@@ -246,25 +240,25 @@ class Ni extends j {
|
|
|
246
240
|
}), this.updateRenderAllTags());
|
|
247
241
|
});
|
|
248
242
|
f(this, "handleFiveCameraUpdate", () => {
|
|
249
|
-
this.
|
|
243
|
+
this.updatePointTagPosition();
|
|
250
244
|
});
|
|
251
245
|
f(this, "handleFivePanoArrived", () => g(this, null, function* () {
|
|
252
|
-
this.setVisible(), this.
|
|
246
|
+
this.setVisible(), this.updatePointTagPosition(), yield this.setVisibleAndUnfolded(), this.tags.forEach((e) => {
|
|
253
247
|
e.temporaryState = C(c({}, e.temporaryState), { visible: !0 });
|
|
254
248
|
}), this.tags.filter(G).filter((e) => {
|
|
255
249
|
var t;
|
|
256
250
|
return (t = this.getTagConfig(e).modelConfig) == null ? void 0 : t.autoLookAtEnabled;
|
|
257
251
|
}).forEach((e) => {
|
|
258
|
-
var
|
|
259
|
-
const t = new
|
|
252
|
+
var l;
|
|
253
|
+
const t = new P.Mesh(new P.BoxGeometry(), new P.MeshBasicMaterial()), i = (l = e.model) == null ? void 0 : l.object;
|
|
260
254
|
if (!i)
|
|
261
255
|
return;
|
|
262
256
|
t.position.copy(i.position), t.quaternion.copy(i.quaternion);
|
|
263
257
|
const s = this.five.camera.position;
|
|
264
258
|
t.lookAt(s.clone().setY(t.position.y));
|
|
265
259
|
const o = i.quaternion.clone(), r = t.quaternion.clone(), n = Z();
|
|
266
|
-
n.onUpdate(({ progress:
|
|
267
|
-
i.quaternion.copy(o.clone().slerp(r,
|
|
260
|
+
n.onUpdate(({ progress: h }) => {
|
|
261
|
+
i.quaternion.copy(o.clone().slerp(r, h));
|
|
268
262
|
}), n.play();
|
|
269
263
|
}), this.store.visibleWithAnimation = !0, this.updateTagContainerVisible(), this.updateRenderAllTags();
|
|
270
264
|
}));
|
|
@@ -275,7 +269,7 @@ class Ni extends j {
|
|
|
275
269
|
f(this, "onFiveEveryReady", () => {
|
|
276
270
|
this.setUnfoldedByCamera(), q(this.five.getCurrentState().mode) && (this.setTagZIndex(this.filterPointTag), this.setVisible(), this.setPointTagPosition()), this.updateDomView({ withAnimation: !0 }), this.updateRenderVideoPlane(), this.updateRenderImagePlane(), this.updateTagModelVisible();
|
|
277
271
|
});
|
|
278
|
-
this.params = u({}, { debug: !1, config: this.config }, c({}, t)), this.debug = this.params.debug, this.config = this.params.config,
|
|
272
|
+
this.params = u({}, { debug: !1, config: this.config }, c({}, t)), this.debug = this.params.debug, this.config = this.params.config, W(1, { namespace: x.PlayAudio });
|
|
279
273
|
try {
|
|
280
274
|
Array.isArray(window.__PANOTAGPLUGIN_DEBUG_LIST__) || (window.__PANOTAGPLUGIN_DEBUG_LIST__ = []), window.__PANOTAGPLUGIN_DEBUG_LIST__.push(this), window.__PANOTAGPLUGIN_DEBUG__ || Object.defineProperty(window, "__PANOTAGPLUGIN_DEBUG__", {
|
|
281
275
|
get: function() {
|
|
@@ -297,14 +291,14 @@ class Ni extends j {
|
|
|
297
291
|
load(e, t) {
|
|
298
292
|
return g(this, null, function* () {
|
|
299
293
|
var s, o;
|
|
300
|
-
this.clearTags(), console.debug(
|
|
294
|
+
this.clearTags(), console.debug(B, " load:", { data: JSON.parse(JSON.stringify(e)) }), this.config = u({}, this.config, {
|
|
301
295
|
globalConfig: (s = e.globalConfig) != null ? s : {},
|
|
302
296
|
contentTypeConfig: (o = e.contentTypeConfig) != null ? o : {}
|
|
303
297
|
}), this.store.visibleWithAnimation = !0;
|
|
304
298
|
const i = yield this.addTag(e.tagList, t);
|
|
305
299
|
if (this.store.visibleWithAnimation = void 0, this.debug)
|
|
306
300
|
try {
|
|
307
|
-
|
|
301
|
+
M(this.five, this.tags);
|
|
308
302
|
} catch (r) {
|
|
309
303
|
console.error(r);
|
|
310
304
|
}
|
|
@@ -318,28 +312,28 @@ class Ni extends j {
|
|
|
318
312
|
return g(this, null, function* () {
|
|
319
313
|
const s = (Array.isArray(e) ? e : [e]).filter((o) => o.position).map((o) => {
|
|
320
314
|
var b, v, T, y;
|
|
321
|
-
o.stickType =
|
|
315
|
+
o.stickType = $(o);
|
|
322
316
|
const r = JSON.parse(JSON.stringify(o.data)), n = (b = o.initialConfig) != null ? b : o.config ? JSON.parse(JSON.stringify(o.config)) : {};
|
|
323
317
|
o.initialConfig = n;
|
|
324
|
-
const
|
|
325
|
-
o.config =
|
|
318
|
+
const l = this.calculateTagConfig(o), h = this.getTagConfig(o);
|
|
319
|
+
o.config = h;
|
|
326
320
|
const p = C(c({}, o), {
|
|
327
321
|
enabled: (v = o.enabled) != null ? v : !0,
|
|
328
322
|
id: (T = o.id) != null ? T : J(),
|
|
329
|
-
data: (y =
|
|
323
|
+
data: (y = h.initialData) != null && y.important ? u(o.data, r, h.initialData) : u(o.data, h.initialData, r),
|
|
330
324
|
state: c({
|
|
331
325
|
visible: void 0,
|
|
332
326
|
unfolded: !this.can("fold", o)
|
|
333
|
-
},
|
|
327
|
+
}, h.initialState),
|
|
334
328
|
hooks: new _(),
|
|
335
329
|
originPosition: o.position,
|
|
336
330
|
position: (() => {
|
|
337
331
|
const m = this.getTransformedPostion(o.position);
|
|
338
|
-
return Array.isArray(m) ? m.map((
|
|
332
|
+
return Array.isArray(m) ? m.map((k) => k.toArray()) : m.toArray();
|
|
339
333
|
})(),
|
|
340
334
|
initialConfig: n,
|
|
341
|
-
computedConfig:
|
|
342
|
-
config:
|
|
335
|
+
computedConfig: l,
|
|
336
|
+
config: h,
|
|
343
337
|
unfold: () => this.changeUnfoldedById(p.id, !0),
|
|
344
338
|
fold: () => this.changeUnfoldedById(p.id, !1),
|
|
345
339
|
enable: () => this.changeEnabledById(p.id, !0),
|
|
@@ -353,7 +347,7 @@ class Ni extends j {
|
|
|
353
347
|
});
|
|
354
348
|
return s.forEach(z), this.tags.push(...s), this.tagsLengthWillUpdate = !0, H(this.five).then(() => g(this, null, function* () {
|
|
355
349
|
var o, r, n;
|
|
356
|
-
this.store.eventListenerDisposer && ((r = (o = this.store).eventListenerDisposer) == null || r.call(o)), this.state.enabled && this.handleEnable(), this.addResizeListener(), this.clearUnusedPanelTag(), this.addMediaModelTag(s), this.setVisibleAndUnfolded({ withAnimation: (n = t == null ? void 0 : t.withAnimation) != null ? n : !0 }), this.updateRenderAllTags();
|
|
350
|
+
this.store.eventListenerDisposer && ((r = (o = this.store).eventListenerDisposer) == null || r.call(o)), this.state.enabled && this.handleEnable(), this.addResizeListener(), this.clearUnusedPanelTag(), this.addMediaModelTag(s), this.setVisibleAndUnfolded({ withAnimation: (n = t == null ? void 0 : t.withAnimation) != null ? n : !0 }), this.updatePointTagPosition(), this.updateRenderAllTags();
|
|
357
351
|
}));
|
|
358
352
|
});
|
|
359
353
|
}
|
|
@@ -414,9 +408,9 @@ class Ni extends j {
|
|
|
414
408
|
*/
|
|
415
409
|
dispose() {
|
|
416
410
|
var e, t, i, s, o, r;
|
|
417
|
-
this.
|
|
418
|
-
var
|
|
419
|
-
return (
|
|
411
|
+
this.pauseCurrentMedia(), this.disposeAllCSS3DContainer(), (e = this.TagContainerSvelte) == null || e.$destroy(), this.filterCSS3DTag.forEach((n) => {
|
|
412
|
+
var l;
|
|
413
|
+
return (l = n.tag3DContentSvelte) == null ? void 0 : l.svelteApp.$destroy();
|
|
420
414
|
}), this.tags = [], (t = this.store.disposers) == null || t.forEach((n) => n == null ? void 0 : n()), this.store.disposers = [], (s = (i = this.store).eventListenerDisposer) == null || s.call(i), this.store.eventListenerDisposer = void 0, (r = (o = this.store).resizeObserverDisposer) == null || r.call(o), this.store.resizeObserverDisposer = void 0, this.store.resizeObserverDisposerAdding = !1, this.five.scene.remove(this.group), this.group.remove(...this.group.children), this.gltfObjectGroup.remove(...this.gltfObjectGroup.children), this.imagePlaneGroup.remove(...this.imagePlaneGroup.children), this.clearCache(), this.five.needsRender = !0, this.store.disposed = !0, this.hooks.emit("dispose");
|
|
421
415
|
}
|
|
422
416
|
/**
|
|
@@ -426,11 +420,11 @@ class Ni extends j {
|
|
|
426
420
|
*/
|
|
427
421
|
blinkTagById(e, t) {
|
|
428
422
|
return g(this, null, function* () {
|
|
429
|
-
var
|
|
423
|
+
var h, p;
|
|
430
424
|
const i = this.getTagById(e);
|
|
431
425
|
if (!i)
|
|
432
426
|
return;
|
|
433
|
-
const s = (
|
|
427
|
+
const s = (h = i.enabled) != null ? h : !0, o = (p = i.state) == null ? void 0 : p.visible, r = s && o;
|
|
434
428
|
r === !1 && (i.state.visible = !0, i.enabled = !0, this.setPointTagPosition(), this.updateDomView(), yield X(0), i.dom && (i.dom.style.visibility = "hidden"));
|
|
435
429
|
const n = (() => {
|
|
436
430
|
var v, T, y;
|
|
@@ -475,7 +469,7 @@ class Ni extends j {
|
|
|
475
469
|
changeEnabledById(e, t) {
|
|
476
470
|
var s;
|
|
477
471
|
const i = this.getTagById(e);
|
|
478
|
-
i && (i.enabled = t, (s = i.hooks) == null || s.emit(t ? "enable" : "disable"), this.
|
|
472
|
+
i && (i.enabled = t, (s = i.hooks) == null || s.emit(t ? "enable" : "disable"), this.updateRenderAllTags());
|
|
479
473
|
}
|
|
480
474
|
/**
|
|
481
475
|
* @description 修改3D标签normal
|
|
@@ -495,7 +489,7 @@ class Ni extends j {
|
|
|
495
489
|
return;
|
|
496
490
|
i.originPosition = t, i.position = t, this.clearCacheById(e);
|
|
497
491
|
const s = this.getVisible(i);
|
|
498
|
-
i.state && (i.state.visible = s), this.
|
|
492
|
+
i.state && (i.state.visible = s), i.stickType === "2DPoint" || i.stickType === "3DPoint" ? this.updatePointTagPosition() : this.updateRenderAllTags();
|
|
499
493
|
}
|
|
500
494
|
/**
|
|
501
495
|
* @description 改变data
|
|
@@ -503,7 +497,7 @@ class Ni extends j {
|
|
|
503
497
|
changeDataById(e, t, i = !0) {
|
|
504
498
|
const s = this.getTagById(e);
|
|
505
499
|
let o = !1;
|
|
506
|
-
s && (s.data && (o = !0), i ? s.data = u(s.data, t) : s.data = c(c({}, s.data), t), this.clearUnusedPanelTag(), this.
|
|
500
|
+
s && (s.data && (o = !0), i ? s.data = u(s.data, t) : s.data = c(c({}, s.data), t), this.clearUnusedPanelTag(), this.updateRenderAllTags(), o && s.hooks.emit("dataChanged", s.data));
|
|
507
501
|
}
|
|
508
502
|
/**
|
|
509
503
|
* @description 改变tag的stickType
|
|
@@ -565,13 +559,13 @@ class Ni extends j {
|
|
|
565
559
|
addEventListener() {
|
|
566
560
|
const { five: e, hooks: t } = this;
|
|
567
561
|
let i = !1;
|
|
568
|
-
const s =
|
|
562
|
+
const s = S(() => {
|
|
569
563
|
i || (i = !0, e.ready().then(() => {
|
|
570
564
|
this.onFiveEveryReady(), i = !1;
|
|
571
565
|
}));
|
|
572
566
|
}, 150);
|
|
573
|
-
return e.on("cameraUpdate", s), this.updateVisible(), this.handleFivePanoArrived(), e.on("wantsMoveToPano", this.handleFiveWantsMoveToPano), e.on("models.refined", this.onFiveEveryReady), e.on("modeChange", this.
|
|
574
|
-
e.off("wantsMoveToPano", this.handleFiveWantsMoveToPano), e.off("models.refined", this.onFiveEveryReady), e.off("modeChange", this.
|
|
567
|
+
return e.on("cameraUpdate", s), this.updateVisible(), this.handleFivePanoArrived(), e.on("wantsMoveToPano", this.handleFiveWantsMoveToPano), e.on("models.refined", this.onFiveEveryReady), e.on("modeChange", this.updateVisible), e.on("initAnimationEnded", this.updateVisible), e.on("modelShownFloorChange", this.handleFiveModelShownFloorChange), e.on("cameraUpdate", this.handleFiveCameraUpdate), e.on("panoArrived", this.handleFivePanoArrived), e.on("panoArrived", this.loadVideoFirstFrame), t.on("click", this.clickhandler), () => {
|
|
568
|
+
e.off("wantsMoveToPano", this.handleFiveWantsMoveToPano), e.off("models.refined", this.onFiveEveryReady), e.off("modeChange", this.updateVisible), e.off("initAnimationEnded", this.updateVisible), e.off("modelShownFloorChange", this.handleFiveModelShownFloorChange), e.off("cameraUpdate", this.handleFiveCameraUpdate), e.off("cameraUpdate", s), e.off("panoArrived", this.handleFivePanoArrived), e.off("panoArrived", this.loadVideoFirstFrame), t.off("click", this.clickhandler), this.store.eventListenerDisposer = void 0;
|
|
575
569
|
};
|
|
576
570
|
}
|
|
577
571
|
addResizeListener() {
|
|
@@ -589,12 +583,12 @@ class Ni extends j {
|
|
|
589
583
|
this.state.enabled && (this.show(), this.updateRenderAllTags());
|
|
590
584
|
}, i = () => {
|
|
591
585
|
this.state.enabled && this.hide();
|
|
592
|
-
}, { observe: s, unobserve: o } =
|
|
593
|
-
|
|
586
|
+
}, { observe: s, unobserve: o } = U(
|
|
587
|
+
S(() => {
|
|
594
588
|
this.store.resizeObserverDisposer && i();
|
|
595
589
|
}, 500),
|
|
596
590
|
e
|
|
597
|
-
), { observe: r, unobserve: n } =
|
|
591
|
+
), { observe: r, unobserve: n } = U(
|
|
598
592
|
N(() => t(), 400),
|
|
599
593
|
e
|
|
600
594
|
);
|
|
@@ -609,18 +603,18 @@ class Ni extends j {
|
|
|
609
603
|
if (t.state && i !== void 0) {
|
|
610
604
|
if (i === !0 && t.screenPosition) {
|
|
611
605
|
const s = this.getTagConfig(t).unfoldedConfig;
|
|
612
|
-
|
|
606
|
+
I(s).keep !== "unfolded" && (e = !0);
|
|
613
607
|
}
|
|
614
608
|
t.state.unfolded = i;
|
|
615
609
|
}
|
|
616
610
|
}), e && this.filterPointTag.forEach((t) => {
|
|
617
611
|
const i = this.getTagConfig(t).unfoldedConfig;
|
|
618
|
-
typeof i == "object" && (i.autoUnfold || i.autoUnfold === !1 ||
|
|
612
|
+
typeof i == "object" && (i.autoUnfold || i.autoUnfold === !1 || I(i.autoUnfold).enable === !1 || i.keep) || t.state && (t.state.unfolded = !1);
|
|
619
613
|
});
|
|
620
614
|
}
|
|
621
615
|
changeTagMode(e, t) {
|
|
622
|
-
var i, s, o, r, n,
|
|
623
|
-
((i = e.config) == null ? void 0 : i.renderType) !== "Mesh" && ((r = (o = (s = e.tag3DContentSvelte) == null ? void 0 : s.css3DInstance) == null ? void 0 : o.css3DObject) == null ? void 0 : r.mode) !== t && ((n = e.config) != null && n.tag3DConfig ? e.config.tag3DConfig.mode = t : e.config ? e.config.tag3DConfig = { mode: t } : e.config = { tag3DConfig: { mode: t } }, (
|
|
616
|
+
var i, s, o, r, n, l;
|
|
617
|
+
((i = e.config) == null ? void 0 : i.renderType) !== "Mesh" && ((r = (o = (s = e.tag3DContentSvelte) == null ? void 0 : s.css3DInstance) == null ? void 0 : o.css3DObject) == null ? void 0 : r.mode) !== t && ((n = e.config) != null && n.tag3DConfig ? e.config.tag3DConfig.mode = t : e.config ? e.config.tag3DConfig = { mode: t } : e.config = { tag3DConfig: { mode: t } }, (l = this.store.css3DRenderDisposer.get(e.id)) == null || l.forEach((h) => h == null ? void 0 : h()), e.tag3DContentSvelte = void 0);
|
|
624
618
|
}
|
|
625
619
|
}
|
|
626
620
|
export {
|
|
@@ -5,4 +5,3 @@
|
|
|
5
5
|
* @returns
|
|
6
6
|
*/
|
|
7
7
|
export declare const debounce: <F extends (...args: any) => any>(callback: F, waitFor?: number) => (...args: Parameters<F>) => ReturnType<F>;
|
|
8
|
-
export declare const debounceByKey: <F extends (...args: any) => any>(key: string, callback: F, waitFor?: number) => (...args: Parameters<F>) => ReturnType<F>;
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
const
|
|
1
|
+
const r = (n, o = 16.666666666666668) => {
|
|
2
2
|
let e = null;
|
|
3
3
|
const t = n;
|
|
4
|
-
return (...
|
|
4
|
+
return (...l) => {
|
|
5
5
|
e && clearTimeout(e), e = setTimeout(() => {
|
|
6
|
-
t == null || t(...
|
|
6
|
+
t == null || t(...l), e && clearTimeout(e), e = null;
|
|
7
7
|
}, o);
|
|
8
8
|
};
|
|
9
|
-
}, c = /* @__PURE__ */ new Map(), i = (n, o, e = 1e3 / 60) => {
|
|
10
|
-
if (c.has(n))
|
|
11
|
-
return c.get(n);
|
|
12
|
-
const t = u(o, e);
|
|
13
|
-
return c.set(n, t), t;
|
|
14
9
|
};
|
|
15
10
|
export {
|
|
16
|
-
|
|
17
|
-
i as debounceByKey
|
|
11
|
+
r as debounce
|
|
18
12
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { addDebugPoints as a } from "./addDebugPoints.js";
|
|
2
2
|
import { noTypecheck as n } from "./noTypecheck.js";
|
|
3
3
|
import { planeNormal as f } from "./planeNormal.js";
|
|
4
|
-
import { getTagCenterPosition as
|
|
4
|
+
import { getTagCenterPosition as l, getTagPosition as c } from "./tagPosition.js";
|
|
5
5
|
import { checkRange as h } from "./checkRange.js";
|
|
6
|
-
import { normalPositionToPositions as
|
|
7
|
-
import { debounce as b
|
|
6
|
+
import { normalPositionToPositions as T } from "./normalPositionToPositions.js";
|
|
7
|
+
import { debounce as b } from "./debounce.js";
|
|
8
8
|
import { throttle as k } from "./throttle.js";
|
|
9
9
|
import { binarySearchFirstBig as F, searchFirstValueSmallThanLastValue as S } from "./search.js";
|
|
10
10
|
import "three";
|
|
@@ -16,11 +16,10 @@ export {
|
|
|
16
16
|
F as binarySearchFirstBig,
|
|
17
17
|
h as checkRange,
|
|
18
18
|
b as debounce,
|
|
19
|
-
|
|
20
|
-
c as
|
|
21
|
-
l as getTagPosition,
|
|
19
|
+
l as getTagCenterPosition,
|
|
20
|
+
c as getTagPosition,
|
|
22
21
|
n as noTypecheck,
|
|
23
|
-
|
|
22
|
+
T as normalPositionToPositions,
|
|
24
23
|
f as planeNormal,
|
|
25
24
|
S as searchFirstValueSmallThanLastValue,
|
|
26
25
|
k as throttle
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Five } from '@realsee/five';
|
|
2
2
|
import type { LoadParams, PluginEventMap, PluginState, PluginData, VideoItem } from './typings';
|
|
3
|
+
import { VideoMeshController } from './VideoMeshController';
|
|
3
4
|
import * as BasePlugin from '../base/BasePlugin';
|
|
4
5
|
export declare class PanoVideoPluginController extends BasePlugin.Controller<PluginState, PluginEventMap> {
|
|
5
6
|
/** 插件 State */
|
|
@@ -8,8 +9,9 @@ export declare class PanoVideoPluginController extends BasePlugin.Controller<Plu
|
|
|
8
9
|
};
|
|
9
10
|
/** 插件是否已被销毁 */
|
|
10
11
|
get disposed(): boolean;
|
|
12
|
+
controllerMap: Map<string, VideoMeshController>;
|
|
13
|
+
data?: PluginData;
|
|
11
14
|
private enabled;
|
|
12
|
-
private controllerMap;
|
|
13
15
|
private _disposed;
|
|
14
16
|
constructor(five: Five);
|
|
15
17
|
/** 加载点位视频数据,加载数据并不代表会加载点位视频。 */
|
|
@@ -2,15 +2,15 @@ var f = Object.defineProperty, m = Object.defineProperties;
|
|
|
2
2
|
var b = Object.getOwnPropertyDescriptors;
|
|
3
3
|
var p = Object.getOwnPropertySymbols;
|
|
4
4
|
var M = Object.prototype.hasOwnProperty, W = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var l = (o, t,
|
|
6
|
-
for (var
|
|
7
|
-
M.call(t,
|
|
5
|
+
var l = (o, t, e) => t in o ? f(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e, a = (o, t) => {
|
|
6
|
+
for (var e in t || (t = {}))
|
|
7
|
+
M.call(t, e) && l(o, e, t[e]);
|
|
8
8
|
if (p)
|
|
9
|
-
for (var
|
|
10
|
-
W.call(t,
|
|
9
|
+
for (var e of p(t))
|
|
10
|
+
W.call(t, e) && l(o, e, t[e]);
|
|
11
11
|
return o;
|
|
12
12
|
}, d = (o, t) => m(o, b(t));
|
|
13
|
-
var s = (o, t,
|
|
13
|
+
var s = (o, t, e) => (l(o, typeof t != "symbol" ? t + "" : t, e), e);
|
|
14
14
|
import { VideoMeshController as c } from "./VideoMeshController.js";
|
|
15
15
|
import { Controller as _ } from "../base/BasePlugin.js";
|
|
16
16
|
import "./utils/shader.js";
|
|
@@ -39,12 +39,12 @@ import "../shared-utils/animationFrame/index.js";
|
|
|
39
39
|
import "./utils/index.js";
|
|
40
40
|
import "../shared-utils/url/absoluteUrl.js";
|
|
41
41
|
class T extends _ {
|
|
42
|
-
constructor(
|
|
43
|
-
super(
|
|
44
|
-
s(this, "enabled", !0);
|
|
42
|
+
constructor(e) {
|
|
43
|
+
super(e);
|
|
45
44
|
s(this, "controllerMap", /* @__PURE__ */ new Map());
|
|
45
|
+
s(this, "data");
|
|
46
|
+
s(this, "enabled", !0);
|
|
46
47
|
s(this, "_disposed", !1);
|
|
47
|
-
this.five = r;
|
|
48
48
|
}
|
|
49
49
|
/** 插件 State */
|
|
50
50
|
get state() {
|
|
@@ -57,11 +57,11 @@ class T extends _ {
|
|
|
57
57
|
return this._disposed;
|
|
58
58
|
}
|
|
59
59
|
/** 加载点位视频数据,加载数据并不代表会加载点位视频。 */
|
|
60
|
-
load(
|
|
60
|
+
load(e, r) {
|
|
61
61
|
var i;
|
|
62
62
|
if (this.disposed)
|
|
63
63
|
return this.logWarning("插件已被销毁");
|
|
64
|
-
typeof ((i =
|
|
64
|
+
typeof ((i = r == null ? void 0 : r.initialState) == null ? void 0 : i.enabled) != "undefined" && r.initialState.enabled !== this.enabled && (r.initialState.enabled ? this.enable() : this.disable()), e.list.forEach((n) => {
|
|
65
65
|
const u = n.pano_index, g = n.render_id;
|
|
66
66
|
n.video_list.forEach((h) => {
|
|
67
67
|
this.controllerMap.set(
|
|
@@ -73,41 +73,41 @@ class T extends _ {
|
|
|
73
73
|
}))
|
|
74
74
|
);
|
|
75
75
|
});
|
|
76
|
-
});
|
|
76
|
+
}), this.data = e, this.hooks.emit("dataLoaded", e);
|
|
77
77
|
}
|
|
78
78
|
/** 开启插件功能。 */
|
|
79
|
-
enable(
|
|
79
|
+
enable(e) {
|
|
80
80
|
var i;
|
|
81
81
|
if (this.disposed)
|
|
82
82
|
return this.logWarning("插件已被销毁");
|
|
83
83
|
if (this.enabled)
|
|
84
84
|
return;
|
|
85
85
|
this.enabled = !0, Array.from(this.controllerMap.values()).forEach((n) => n.enable());
|
|
86
|
-
const
|
|
87
|
-
this.hooks.emit("enable", { userAction:
|
|
86
|
+
const r = (i = e == null ? void 0 : e.userAction) != null ? i : !0;
|
|
87
|
+
this.hooks.emit("enable", { userAction: r });
|
|
88
88
|
}
|
|
89
89
|
/** 禁用插件功能。 */
|
|
90
|
-
disable(
|
|
90
|
+
disable(e) {
|
|
91
91
|
var i;
|
|
92
92
|
if (this.disposed)
|
|
93
93
|
return this.logWarning("插件已被销毁");
|
|
94
94
|
if (!this.enabled)
|
|
95
95
|
return;
|
|
96
96
|
this.enabled = !1, Array.from(this.controllerMap.values()).forEach((n) => n.disable());
|
|
97
|
-
const
|
|
98
|
-
this.hooks.emit("disable", { userAction:
|
|
97
|
+
const r = (i = e == null ? void 0 : e.userAction) != null ? i : !0;
|
|
98
|
+
this.hooks.emit("disable", { userAction: r });
|
|
99
99
|
}
|
|
100
100
|
/** 看向某个视频。
|
|
101
101
|
* - 会自动切换到全景模式。
|
|
102
102
|
* - 如果遇到不能自动播放的问题,需要放到用户交互事件中调用。
|
|
103
103
|
*/
|
|
104
|
-
lookAtVideoItemByRenderID(
|
|
104
|
+
lookAtVideoItemByRenderID(e) {
|
|
105
105
|
if (this.disposed)
|
|
106
106
|
return this.logWarning("插件已被销毁");
|
|
107
|
-
const
|
|
108
|
-
if (!
|
|
109
|
-
return this.logWarning(`ID 为 ${
|
|
110
|
-
|
|
107
|
+
const r = this.controllerMap.get(e);
|
|
108
|
+
if (!r)
|
|
109
|
+
return this.logWarning(`ID 为 ${e} 的点位视频不存在`);
|
|
110
|
+
r.lookAtVideo();
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* 取消静音。
|
|
@@ -125,26 +125,26 @@ class T extends _ {
|
|
|
125
125
|
* }}
|
|
126
126
|
* ```
|
|
127
127
|
*/
|
|
128
|
-
unmuteByRenderID(
|
|
128
|
+
unmuteByRenderID(e) {
|
|
129
129
|
if (this.disposed)
|
|
130
130
|
return this.logWarning("插件已被销毁");
|
|
131
|
-
const
|
|
132
|
-
if (!
|
|
133
|
-
return this.logWarning(`ID 为 ${
|
|
134
|
-
|
|
131
|
+
const r = this.controllerMap.get(e);
|
|
132
|
+
if (!r)
|
|
133
|
+
return this.logWarning(`ID 为 ${e} 的点位视频不存在`);
|
|
134
|
+
r.unmute();
|
|
135
135
|
}
|
|
136
136
|
/** 为一个点位添加视频(可以是多条)。 */
|
|
137
|
-
add(
|
|
137
|
+
add(e, r) {
|
|
138
138
|
if (this.disposed)
|
|
139
139
|
return this.logWarning("插件已被销毁");
|
|
140
|
-
|
|
140
|
+
r.forEach((i) => {
|
|
141
141
|
if (this.controllerMap.get(i.render_id))
|
|
142
142
|
return this.logWarning(`ID 为 ${i.render_id} 的点位视频已存在`);
|
|
143
143
|
const n = i.render_id;
|
|
144
144
|
this.controllerMap.set(
|
|
145
145
|
i.render_id,
|
|
146
146
|
new c(this.five, d(a({}, i), {
|
|
147
|
-
panoIndex:
|
|
147
|
+
panoIndex: e,
|
|
148
148
|
renderID: n,
|
|
149
149
|
initialState: { enabled: this.enabled }
|
|
150
150
|
}))
|
|
@@ -152,30 +152,30 @@ class T extends _ {
|
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
154
|
/** 根据 VideoItem render_id 删除某个视频。 */
|
|
155
|
-
removeByRenderID(
|
|
155
|
+
removeByRenderID(e) {
|
|
156
156
|
if (this.disposed)
|
|
157
157
|
return this.logWarning("插件已被销毁");
|
|
158
|
-
const
|
|
159
|
-
if (!
|
|
160
|
-
return this.logWarning(`ID 为 ${
|
|
161
|
-
|
|
158
|
+
const r = this.controllerMap.get(e);
|
|
159
|
+
if (!r)
|
|
160
|
+
return this.logWarning(`ID 为 ${e} 的点位视频不存在`);
|
|
161
|
+
r.dispose(), this.controllerMap.delete(e);
|
|
162
162
|
}
|
|
163
163
|
/** 清空现有数据 */
|
|
164
164
|
clear() {
|
|
165
165
|
if (this.disposed)
|
|
166
166
|
return this.logWarning("插件已被销毁");
|
|
167
|
-
Array.from(this.controllerMap.values()).forEach((
|
|
167
|
+
Array.from(this.controllerMap.values()).forEach((e) => e.dispose()), this.controllerMap.clear();
|
|
168
168
|
}
|
|
169
169
|
/** 销毁插件 */
|
|
170
170
|
dispose() {
|
|
171
171
|
if (this.disposed)
|
|
172
172
|
return this.logWarning("插件已被销毁");
|
|
173
|
-
this._disposed = !0, Array.from(this.controllerMap.values()).forEach((
|
|
173
|
+
this._disposed = !0, Array.from(this.controllerMap.values()).forEach((e) => e.dispose()), this.controllerMap.clear();
|
|
174
174
|
}
|
|
175
175
|
/** 控制台打印警告 */
|
|
176
176
|
// TODO: 全局函数 curry 化
|
|
177
|
-
logWarning(
|
|
178
|
-
console.warn("⛔ ==> [PanoVideoPluginController]:",
|
|
177
|
+
logWarning(e) {
|
|
178
|
+
console.warn("⛔ ==> [PanoVideoPluginController]:", e);
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
export {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type * as BasePlugin from '../base/
|
|
1
|
+
import type * as BasePlugin from '../base/BasePluginWithData';
|
|
2
2
|
/** 单个视频元素 */
|
|
3
3
|
export interface VideoItem {
|
|
4
4
|
/** client render ID
|
|
@@ -52,7 +52,7 @@ export interface PluginState {
|
|
|
52
52
|
export interface PluginData {
|
|
53
53
|
list: PanoVideoItem[];
|
|
54
54
|
}
|
|
55
|
-
export interface PluginEventMap extends BasePlugin.EventMap<PluginState> {
|
|
55
|
+
export interface PluginEventMap extends BasePlugin.EventMap<PluginState, PluginData> {
|
|
56
56
|
/** 点位视频模型开启 */
|
|
57
57
|
enable: (params: {
|
|
58
58
|
userAction: boolean;
|
package/libs/base/BasePlugin.js
CHANGED
|
@@ -10,12 +10,12 @@ import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
|
|
|
10
10
|
import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
|
|
11
11
|
import "animejs";
|
|
12
12
|
import { absoluteUrl as l } from "../shared-utils/url/absoluteUrl.js";
|
|
13
|
-
let
|
|
13
|
+
let C = class {
|
|
14
14
|
constructor(t, r) {
|
|
15
15
|
/**
|
|
16
16
|
* @realsee/dnalogel 版本号
|
|
17
17
|
*/
|
|
18
|
-
i(this, "VERSION", "3.35.0
|
|
18
|
+
i(this, "VERSION", "3.35.0");
|
|
19
19
|
i(this, "five");
|
|
20
20
|
/**
|
|
21
21
|
* @description: 插件事件钩子
|
|
@@ -38,5 +38,5 @@ let v = class {
|
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
export {
|
|
41
|
-
|
|
41
|
+
C as Controller
|
|
42
42
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function A() {
|
|
2
2
|
console.debug(
|
|
3
|
-
"%c %c@realsee/dnalogel %cv3.35.0
|
|
3
|
+
"%c %c@realsee/dnalogel %cv3.35.0",
|
|
4
4
|
[
|
|
5
5
|
"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=')",
|
|
6
6
|
"background-repeat: no-repeat",
|