@realsee/dnalogel 2.1.0-alpha.4 → 2.1.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CSS3DRenderPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/CSS3DRenderPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/CameraMovementPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/CameraMovementPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/CruisePlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/CruisePlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/CruisePlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/GuideLinePlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/GuideLinePlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ItemLabelPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ItemLabelPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelChassisCompassPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelChassisCompassPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelEntryDoorGuidePlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelEntryDoorGuidePlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelItemLabelPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelItemLabelPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelRoomLabelPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelTVVideoPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelTVVideoPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelViewPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelViewPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/Object3DHelperPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/Object3DHelperPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/Object3DHelperPlugin/index.js +32 -28
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoCompassPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoCompassPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoCursorRaycasterPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoCursorRaycasterPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoDoorLabelPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoDoorLabelPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoMeasurePlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoMeasurePlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoRulerPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoRulerPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoRulerProPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoRulerProPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoSpatialTagPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoTagPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoTagPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoTagPlugin/index.js +23 -17
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/floorplan/ModelFloorplanPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/floorplan/TopviewFloorplanPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/floorplan/TopviewFloorplanPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/index.es.js +55 -45
- package/dist/index.js +55 -45
- package/dist/index.umd.js +55 -45
- package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/CruisePluginController.html +14 -14
- package/docs/classes/Magnifier.html +4 -4
- package/docs/classes/ModelRoomLabelController.html +4 -4
- package/docs/classes/Object3DHelperController.html +9 -9
- package/docs/classes/PanoTagPluginController.html +25 -25
- package/docs/enums/CameraMovementEffect.html +2 -2
- package/docs/enums/ContentType.html +7 -7
- package/docs/enums/DIRECTION.html +1 -1
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
- package/docs/enums/DimensionType.html +1 -1
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
- package/docs/enums/LinkType.html +1 -1
- package/docs/enums/PointType.html +1 -1
- package/docs/enums/Rotation.html +2 -2
- package/docs/index.html +1 -1
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
- package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
- package/docs/interfaces/FloorplanBounding.html +4 -4
- package/docs/interfaces/FloorplanData.html +2 -2
- package/docs/interfaces/FloorplanEntrance.html +7 -7
- package/docs/interfaces/FloorplanExtraObject.html +3 -3
- package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
- package/docs/interfaces/FloorplanFloorData.html +2 -2
- package/docs/interfaces/FloorplanImagePosition.html +2 -2
- package/docs/interfaces/FloorplanObserver.html +2 -2
- package/docs/interfaces/FloorplanOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanPosition.html +2 -2
- package/docs/interfaces/FloorplanRoomItem.html +6 -6
- package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
- package/docs/interfaces/FloorplanServerBounding.html +4 -4
- package/docs/interfaces/FloorplanServerComputedData.html +1 -1
- package/docs/interfaces/FloorplanServerData.html +2 -2
- package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
- package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
- package/docs/interfaces/FloorplanServerEntrance.html +7 -7
- package/docs/interfaces/FloorplanServerFloorData.html +2 -2
- package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
- package/docs/interfaces/FloorplanServerObserver.html +2 -2
- package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanServerPosition.html +2 -2
- package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
- package/docs/interfaces/ItemLabelPluginData.html +1 -1
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
- package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
- package/docs/interfaces/LineJson.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
- package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
- package/docs/interfaces/ModelViewPluginExportType.html +1 -1
- package/docs/interfaces/Object3DHelperState.html +1 -1
- package/docs/interfaces/OpenParameter.html +2 -2
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
- package/docs/interfaces/PanoMeasureParameterType.html +1 -1
- package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
- package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
- package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
- package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginState.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
- package/docs/interfaces/Point.html +1 -1
- package/docs/interfaces/PointJson.html +1 -1
- package/docs/interfaces/Room.html +1 -1
- package/docs/interfaces/RoomInfo.html +1 -1
- package/docs/interfaces/RoomLabel.html +7 -7
- package/docs/interfaces/RoomRules.html +1 -1
- package/docs/interfaces/Rooms.html +1 -1
- package/docs/interfaces/Scissor.html +5 -5
- package/docs/interfaces/TagConfig.html +4 -4
- package/docs/interfaces/Tags.html +3 -3
- package/docs/modules.html +21 -21
- package/libs/ItemLabelPlugin/ItemLabelComponent.svelte +251 -0
- package/libs/ItemLabelPlugin/ItemLabelItem.svelte +183 -0
- package/libs/ItemLabelPlugin/Plugin.js +1 -1
- package/libs/ItemLabelPlugin/typings.d.ts +1 -1
- package/libs/ModelItemLabelPlugin/ItemLabelComponent.svelte +155 -0
- package/libs/ModelItemLabelPlugin/ItemLabelItem.svelte +100 -0
- package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +1 -1
- package/libs/ModelItemLabelPlugin/typings.d.ts +1 -1
- package/libs/ModelRoomLabelPlugin/Controller.js +1 -1
- package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +63 -0
- package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +94 -0
- package/libs/PanoDoorLabelPlugin/Controller.js +1 -1
- package/libs/PanoDoorLabelPlugin/DoorLabelItem.svelte +200 -0
- package/libs/PanoRulerProPlugin/Controller.js +1 -1
- package/libs/PanoRulerProPlugin/RulerItem.svelte +166 -0
- package/libs/PanoRulerProPlugin/RulerItems.svelte +212 -0
- package/libs/PanoSpatialTagPlugin/Components/origins.svelte +58 -0
- package/libs/PanoSpatialTagPlugin/Components/tag.svelte +292 -0
- package/libs/PanoSpatialTagPlugin/Plugin.js +2 -2
- package/libs/PanoTagPlugin/Components/Common/Arrow.svelte +56 -0
- package/libs/PanoTagPlugin/Components/Common/Audio.svelte +82 -0
- package/libs/PanoTagPlugin/Components/Common/Line/Polyline.svelte +36 -0
- package/libs/PanoTagPlugin/Components/Common/Line/Straight.svelte +36 -0
- package/libs/PanoTagPlugin/Components/Common/Media.svelte +70 -0
- package/libs/PanoTagPlugin/Components/Common/MultiLineText.svelte +56 -0
- package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.svelte +120 -0
- package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.svelte +81 -0
- package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.svelte +30 -0
- package/libs/PanoTagPlugin/Components/Common/Shadow.svelte +46 -0
- package/libs/PanoTagPlugin/Components/Common/Text.svelte +69 -0
- package/libs/PanoTagPlugin/Components/Common/TextItem.svelte +42 -0
- package/libs/PanoTagPlugin/Components/PointTag.js +3 -3
- package/libs/PanoTagPlugin/Components/PointTag.svelte +55 -0
- package/libs/PanoTagPlugin/Components/Tag/AudioTag.svelte +105 -0
- package/libs/PanoTagPlugin/Components/Tag/CustomTag.svelte +33 -0
- package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.svelte +63 -0
- package/libs/PanoTagPlugin/Components/Tag/LinkTag.svelte +166 -0
- package/libs/PanoTagPlugin/Components/Tag/MarketingTag.svelte +234 -0
- package/libs/PanoTagPlugin/Components/Tag/MediaPlane.svelte +30 -0
- package/libs/PanoTagPlugin/Components/Tag/TextTag.svelte +63 -0
- package/libs/PanoTagPlugin/Components/Tag/index.js +16 -11
- package/libs/PanoTagPlugin/Components/Tag/index.svelte +145 -0
- package/libs/PanoTagPlugin/Components/TagWrapper.svelte +69 -0
- package/libs/PanoTagPlugin/controller/index.js +9 -9
- package/libs/PanoTagPlugin/tag.config.js +1 -0
- package/libs/PanoTagPlugin/typings/controller.d.ts +2 -1
- package/libs/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/libs/floorplan/Components/BaseImage.svelte +26 -0
- package/libs/floorplan/Components/Camera.svelte +46 -0
- package/libs/floorplan/Components/Compass.svelte +51 -0
- package/libs/floorplan/Components/CurrentFloor.svelte +46 -0
- package/libs/floorplan/Components/Main.svelte +51 -0
- package/libs/floorplan/Components/Normalmage.svelte +11 -0
- package/libs/floorplan/Components/RoomHighlight/Room.svelte +27 -0
- package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +29 -0
- package/libs/floorplan/Components/RoomLabels/RoomLabel.svelte +119 -0
- package/libs/floorplan/Components/RoomLabels/RoomLabels.svelte +35 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +42 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +7 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +24 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +33 -0
- package/libs/floorplan/Components/RuleLabels/RuleItem.svelte +174 -0
- package/libs/floorplan/Components/RuleLabels/RuleLabels.svelte +32 -0
- package/libs/floorplan/Components/SvgImage.svelte +28 -0
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -1
- package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -1
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +85 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +18 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +40 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +64 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +1 -1
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -1
- package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/libs/shared-utils/Object3DHelper/Base/BaseController.js +9 -5
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +7 -4
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +1 -1
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +6 -7
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +1 -1
- package/libs/shared-utils/Object3DHelper/index.js +8 -10
- package/libs/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/package.json +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<script>import { fade } from 'svelte/transition';
|
|
2
|
+
import { cubicInOut } from 'svelte/easing';
|
|
3
|
+
import Shadow from './Shadow.svelte';
|
|
4
|
+
import { getContext } from 'svelte';
|
|
5
|
+
export let inDelay = 0;
|
|
6
|
+
export let outDelay = 0;
|
|
7
|
+
export let duration = 0;
|
|
8
|
+
export let url;
|
|
9
|
+
export let unfolded;
|
|
10
|
+
export let mediaStore;
|
|
11
|
+
export let hooksInfo = {};
|
|
12
|
+
const hooks = getContext('hooks');
|
|
13
|
+
let audio;
|
|
14
|
+
let paused = true;
|
|
15
|
+
mediaStore.subscribe(({ currentMediaUrl }) => {
|
|
16
|
+
if (currentMediaUrl !== url)
|
|
17
|
+
audio === null || audio === void 0 ? void 0 : audio.pause();
|
|
18
|
+
});
|
|
19
|
+
$: {
|
|
20
|
+
if (!unfolded)
|
|
21
|
+
audio === null || audio === void 0 ? void 0 : audio.pause();
|
|
22
|
+
}
|
|
23
|
+
function onClick(event) {
|
|
24
|
+
mediaStore.set({ currentMediaUrl: url });
|
|
25
|
+
if (!audio)
|
|
26
|
+
return;
|
|
27
|
+
hooks.emit('click', Object.assign({ event, target: 'AudioTagPlayIcon', audioInstance: audio }, hooksInfo));
|
|
28
|
+
audio.paused ? audio.play() : audio.pause();
|
|
29
|
+
audio.onplay = (event) => hooks.emit('playStateChange', Object.assign({ event, state: 'playing', mediaInstance: audio }, hooksInfo));
|
|
30
|
+
audio.onpause = (event) => hooks.emit('playStateChange', Object.assign({ event, state: 'paused', mediaInstance: audio }, hooksInfo));
|
|
31
|
+
}
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
{#if unfolded}
|
|
35
|
+
<div
|
|
36
|
+
class="audio"
|
|
37
|
+
class:paused
|
|
38
|
+
on:click|stopPropagation={onClick}
|
|
39
|
+
in:fade|local={{ duration, delay: inDelay, easing: cubicInOut }}
|
|
40
|
+
out:fade|local={{ duration, delay: outDelay, easing: cubicInOut }}
|
|
41
|
+
>
|
|
42
|
+
<Shadow center blurRadius={15} spreadRadius={6} />
|
|
43
|
+
<div class="audio-icon" />
|
|
44
|
+
<audio bind:this={audio} bind:paused controls={false} playsInline src={url} />
|
|
45
|
+
</div>
|
|
46
|
+
{/if}
|
|
47
|
+
|
|
48
|
+
<style>
|
|
49
|
+
.audio {
|
|
50
|
+
position: relative;
|
|
51
|
+
width: 100%;
|
|
52
|
+
height: 100%;
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@keyframes playing {
|
|
57
|
+
25% {
|
|
58
|
+
background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='8' transform='translate(-1 -1)' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E");
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
50% {
|
|
62
|
+
background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM5.533 6.685L4.169 8.049l1.414 1.413a2.078 2.078 0 0 0-.05-2.777z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E");
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
75% {
|
|
66
|
+
background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm-.656 4.874l-.906.905A3.35 3.35 0 0 1 7.369 8.1c0 .875-.333 1.67-.88 2.268l.906.906A4.628 4.628 0 0 0 8.65 8.101a4.627 4.627 0 0 0-1.306-3.227zm-1.811 1.81L4.169 8.05l1.414 1.413a2.078 2.078 0 0 0-.05-2.777z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.paused .audio-icon {
|
|
71
|
+
animation: none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.audio-icon {
|
|
75
|
+
width: 100%;
|
|
76
|
+
height: 100%;
|
|
77
|
+
border-radius: 50%;
|
|
78
|
+
background-size: 100%;
|
|
79
|
+
animation: playing 2s steps(1) infinite;
|
|
80
|
+
background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm1.428 2.79l-.953.952a6.222 6.222 0 0 1 1.775 4.36c0 1.571-.58 3.006-1.538 4.103l-.184.202.793.794a7.344 7.344 0 0 0 2.21-5.26A7.341 7.341 0 0 0 9.428 2.79zM7.344 4.873l-.906.905A3.35 3.35 0 0 1 7.369 8.1c0 .802-.28 1.537-.748 2.115l-.132.153.906.906A4.628 4.628 0 0 0 8.65 8.101a4.627 4.627 0 0 0-1.306-3.227zm-1.811 1.81L4.169 8.05l1.414 1.413a2.078 2.078 0 0 0-.05-2.777z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E");
|
|
81
|
+
}
|
|
82
|
+
</style>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script>import uuid from '../../../../shared-utils/uuid';
|
|
2
|
+
import { draw } from 'svelte/transition';
|
|
3
|
+
import { cubicOut, cubicInOut } from 'svelte/easing';
|
|
4
|
+
export let inDelay = 0;
|
|
5
|
+
export let duration = 0;
|
|
6
|
+
export let outDelay = 0;
|
|
7
|
+
export let unfolded;
|
|
8
|
+
const defsID = uuid();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<svg class="line" viewBox="0 0 105 21">
|
|
12
|
+
<defs>
|
|
13
|
+
<linearGradient id={defsID} gradientUnits="userSpaceOnUse">
|
|
14
|
+
<stop offset="25%" stop-color="white" stop-opacity="1" />
|
|
15
|
+
<stop offset="100%" stop-color="white" stop-opacity="0.5" />
|
|
16
|
+
</linearGradient>
|
|
17
|
+
</defs>
|
|
18
|
+
{#if unfolded}
|
|
19
|
+
<path
|
|
20
|
+
in:draw|local={{ duration, delay: inDelay, easing: cubicOut }}
|
|
21
|
+
out:draw|local={{ duration, delay: outDelay, easing: cubicInOut }}
|
|
22
|
+
fill="none"
|
|
23
|
+
stroke="url(#{defsID})"
|
|
24
|
+
stroke-width="1"
|
|
25
|
+
d="M0 21 L14 0.5 L105 0.5"
|
|
26
|
+
/>
|
|
27
|
+
{/if}
|
|
28
|
+
</svg>
|
|
29
|
+
|
|
30
|
+
<style>
|
|
31
|
+
.line {
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
overflow: visible;
|
|
35
|
+
}
|
|
36
|
+
</style>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script>import { draw } from 'svelte/transition';
|
|
2
|
+
import uuid from '../../../../shared-utils/uuid';
|
|
3
|
+
export let inDelay = 0;
|
|
4
|
+
export let duration = 0;
|
|
5
|
+
export let outDelay = 0;
|
|
6
|
+
export let unfolded;
|
|
7
|
+
const defsID = uuid();
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<svg class="straight-line" viewBox="0 0 148 1" preserveAspectRatio="none">
|
|
11
|
+
<defs>
|
|
12
|
+
<linearGradient id={defsID} gradientUnits="userSpaceOnUse">
|
|
13
|
+
<stop offset="25%" stop-color="white" stop-opacity="1" />
|
|
14
|
+
<stop offset="100%" stop-color="white" stop-opacity="0.5" />
|
|
15
|
+
</linearGradient>
|
|
16
|
+
</defs>
|
|
17
|
+
{#if unfolded}
|
|
18
|
+
<path
|
|
19
|
+
in:draw|local={{ duration, delay: inDelay }}
|
|
20
|
+
out:draw|local={{ duration, delay: outDelay }}
|
|
21
|
+
fill="none"
|
|
22
|
+
stroke="url(#{defsID})"
|
|
23
|
+
stroke-width="1"
|
|
24
|
+
d="M0 0.5 L 148 0.5"
|
|
25
|
+
/>
|
|
26
|
+
{/if}
|
|
27
|
+
</svg>
|
|
28
|
+
|
|
29
|
+
<style>
|
|
30
|
+
.straight-line {
|
|
31
|
+
display: block;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
overflow: visible;
|
|
35
|
+
}
|
|
36
|
+
</style>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<script>import { fly } from 'svelte/transition';
|
|
2
|
+
import { Image_Play } from '../../Assets/Icon';
|
|
3
|
+
import { linear } from 'svelte/easing';
|
|
4
|
+
import { notNil } from '../../../shared-utils/isNil';
|
|
5
|
+
export let mediaData;
|
|
6
|
+
export let inDelay = 0;
|
|
7
|
+
export let outDelay = 0;
|
|
8
|
+
export let duration = 0;
|
|
9
|
+
export let unfolded = true;
|
|
10
|
+
export let animation = true;
|
|
11
|
+
export let objectFit = 'cover';
|
|
12
|
+
export let enableCarousel = true;
|
|
13
|
+
$: mediaDataList = (enableCarousel ? mediaData : [mediaData[0]]).filter(notNil);
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
{#if unfolded}
|
|
17
|
+
<div
|
|
18
|
+
class="media"
|
|
19
|
+
class:unfolded
|
|
20
|
+
in:fly|local={animation ? { y: 4, duration, delay: inDelay, easing: linear } : undefined}
|
|
21
|
+
out:fly|local={animation ? { y: 4, duration, delay: outDelay, easing: linear } : undefined}
|
|
22
|
+
>
|
|
23
|
+
{#each mediaDataList as media}
|
|
24
|
+
<div class="carousel-item" style={`object-fit: ${objectFit};`}>
|
|
25
|
+
{#if media.type === 'Image'}
|
|
26
|
+
<img class="media-content carousel-indicator-item" src={media.url} alt={media.name} />
|
|
27
|
+
{:else if media.type === 'Video' && media.videoCoverUrl}
|
|
28
|
+
<img class="media-content" src={media.videoCoverUrl} alt={media.name} />
|
|
29
|
+
{:else if media.type === 'Video' && !media.videoCoverUrl}
|
|
30
|
+
<!-- eslint-disable-next-line prettier/prettier -->
|
|
31
|
+
<video class="media-content" src={media.url} poster={media.videoCoverUrl} playsinline paused loop={false} preload="auto" crossorigin="" controls={false} muted />
|
|
32
|
+
{/if}
|
|
33
|
+
{#if media.type === 'Video'}
|
|
34
|
+
<div class="video-icon" style="background-image: url({Image_Play});" />
|
|
35
|
+
{/if}
|
|
36
|
+
</div>
|
|
37
|
+
{/each}
|
|
38
|
+
</div>
|
|
39
|
+
{/if}
|
|
40
|
+
|
|
41
|
+
<style>
|
|
42
|
+
.media {
|
|
43
|
+
width: 100%;
|
|
44
|
+
height: 100%;
|
|
45
|
+
position: relative;
|
|
46
|
+
overflow: hidden;
|
|
47
|
+
border-radius: 2px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.carousel-item {
|
|
51
|
+
height: 100%;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.media-content {
|
|
55
|
+
width: 100%;
|
|
56
|
+
height: 100%;
|
|
57
|
+
user-select: none;
|
|
58
|
+
object-fit: inherit;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.video-icon {
|
|
62
|
+
width: 28px;
|
|
63
|
+
height: 28px;
|
|
64
|
+
background-size: 100%;
|
|
65
|
+
position: absolute;
|
|
66
|
+
left: 50%;
|
|
67
|
+
top: 50%;
|
|
68
|
+
transform: translate(-50%, -50%);
|
|
69
|
+
}
|
|
70
|
+
</style>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<script>import Text from '../Common/Text.svelte';
|
|
2
|
+
import Arrow from '../Common/Arrow.svelte';
|
|
3
|
+
export let visible = false;
|
|
4
|
+
export let textUnfolded = false;
|
|
5
|
+
export let textItems;
|
|
6
|
+
let textElement;
|
|
7
|
+
let translateY = 0;
|
|
8
|
+
let lineHeight = 0;
|
|
9
|
+
let textHeight = 0;
|
|
10
|
+
$: translateY = textUnfolded ? lineHeight - textHeight : 0;
|
|
11
|
+
$: transform = `translateY(${translateY}px)`;
|
|
12
|
+
$: arrowDirection = textUnfolded ? 'left' : 'right';
|
|
13
|
+
$: foldTextDelay = textUnfolded ? 450 : 0;
|
|
14
|
+
$: {
|
|
15
|
+
if (textElement) {
|
|
16
|
+
const { height: heightString, lineHeight: lineHeightString } = getComputedStyle(textElement);
|
|
17
|
+
textHeight = Number(heightString.replace('px', ''));
|
|
18
|
+
lineHeight = Number(lineHeightString.replace('px', ''));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
{#each textItems as { id, content } (id)}
|
|
24
|
+
<div bind:this={textElement} class="text" style:transform>
|
|
25
|
+
<Text unfolded={visible} {content} inDelay={500} outDelay={foldTextDelay} />
|
|
26
|
+
</div>
|
|
27
|
+
{/each}
|
|
28
|
+
{#if lineHeight < textHeight}
|
|
29
|
+
<div class="arrow">
|
|
30
|
+
<Arrow direction={arrowDirection} {visible} inDelay={600} duration={1000} />
|
|
31
|
+
</div>
|
|
32
|
+
{/if}
|
|
33
|
+
|
|
34
|
+
<style>
|
|
35
|
+
.text {
|
|
36
|
+
pointer-events: auto;
|
|
37
|
+
box-sizing: border-box;
|
|
38
|
+
display: inline-block;
|
|
39
|
+
max-width: 120px;
|
|
40
|
+
transition: transform 400ms ease-in-out;
|
|
41
|
+
font-size: 12px;
|
|
42
|
+
line-height: 18px;
|
|
43
|
+
white-space: initial;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.arrow {
|
|
48
|
+
pointer-events: auto;
|
|
49
|
+
display: inline-block;
|
|
50
|
+
vertical-align: top;
|
|
51
|
+
width: 14px;
|
|
52
|
+
height: 14px;
|
|
53
|
+
margin-left: 2px;
|
|
54
|
+
margin-top: 2px;
|
|
55
|
+
}
|
|
56
|
+
</style>
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
<script>import 'svelte/easing';
|
|
2
|
+
import Shadow from '../Shadow.svelte';
|
|
3
|
+
export let unfolded;
|
|
4
|
+
export let iconUrl;
|
|
5
|
+
export let foldDelay = 800;
|
|
6
|
+
$: folded = !unfolded;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<div class="point" class:folded class:unfolded>
|
|
10
|
+
<Shadow center blurRadius={12} spreadRadius={5} />
|
|
11
|
+
<!-- 小点 -->
|
|
12
|
+
<div class="small-point" style:transition-delay={folded ? foldDelay + 'ms' : '0ms'} />
|
|
13
|
+
<!-- 带图标的大圈 -->
|
|
14
|
+
<div class="big-point" style="--iconUrl: url({iconUrl});" style:transition-delay={folded ? foldDelay + 'ms' : '0ms'} />
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<style>
|
|
18
|
+
.point {
|
|
19
|
+
width: 24px;
|
|
20
|
+
height: 24px;
|
|
21
|
+
}
|
|
22
|
+
.small-point,
|
|
23
|
+
.big-point {
|
|
24
|
+
position: absolute;
|
|
25
|
+
width: 100%;
|
|
26
|
+
height: 100%;
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
justify-content: center;
|
|
30
|
+
border-radius: 50%;
|
|
31
|
+
transition: all 500ms;
|
|
32
|
+
}
|
|
33
|
+
.big-point {
|
|
34
|
+
background-color: rgba(0, 0, 0, 0.1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.folded.point {
|
|
38
|
+
animation: breathing 2s linear infinite;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.big-point::before,
|
|
42
|
+
.big-point::after {
|
|
43
|
+
content: '';
|
|
44
|
+
display: block;
|
|
45
|
+
position: absolute;
|
|
46
|
+
background-size: contain;
|
|
47
|
+
background-repeat: no-repeat;
|
|
48
|
+
pointer-events: none;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* 光圈 */
|
|
52
|
+
.big-point::before {
|
|
53
|
+
width: 100%;
|
|
54
|
+
height: 100%;
|
|
55
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAqFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8j1z1tAAAAOHRSTlMABgoNFBsYIhEmHyksMoJ6RZ5aXzpnU03AtqaZjLuGN+zcifnW0cjEqnA+lOZzbWLhkH6i8rGuagnOwPMAAAQOSURBVFjDrZiHctpAEIYXYzvGOvXeUe+IYuD93ywrJAIhFJX8M8zoBHzz757utHvwTETJHJPfGQZfWJXILWCMPuqNbuu6vj+khrHjed40TWvFfQ2jvCl8nGha6lQCl7s07UqcUlfOZrOxVtKsN2a+0uJYK+ScEIqiFifhBSGSsnJ8f8u99cLMVnEUHTKXIOMX6vuk5gpphFYyhmHzHpzcDqNUJGgEER+oz5OaK8ShNcIdt+zx1ys7lhdqiDlRkPF+JaSdWIhasaz6lLPQ1qFDIwYpDeTr62veCS8bGLIQRSsVK78/5nDeOlYIYhovHeOtU0dDXw2KSGiKesQRyjJ10Q66QcyZMTvpTEMUumpMieyWvs9ZLZcmodAOYlorsysBflpjiEJTFBEY5+7sicul34T1iak5U25momN9Ya4wPCT57r8cteW0dk4YuKMTqjXVkgjciFr+8B3ngnmM6kii5X/efB0F+jUHnuiatLJY+Et84EnUNacfiaKZjQhX4oJAwPlqOB3mJaoh4dxxG5Nc3Q8DkywunP6kBalN53J7G3g0JqiNC3qpjQ7TRPvmn2U3L3/kU4JaTn/SKU0qb76dDf0kGNjHJbD+wX1gcMxO6fZVrzXUcQaROkvt3+pljIYugQ0LDi1ZBgeN9JK9MjTCkmgwgPou19I5QzBI5yy5RvqOw6xMMbKzoeGWmnQfBBwa6woj6wyNsYSx7R0chWuOwsjOqR6aboyNyvcpgOsl3ZzNhoNm3bztdAK1x5NuzmCwunkjjq4AEzKXFI1NUmVnwIfydJBoW7CPVAR1uR6XbVwlmgF2xF1yPTbbubYHLZamgyTNhiSmp4PoJIEk+R+gOAFb+x+hxRoctHw6iItsMLT/Mf3RHixbnP5AyhEPmZ1NB+E6A0V3pi9aPqyB6Pz0bSTxXID0kE/d2DgvxBFzEKdutdXawJGSMlM3/3Sd4fA93bnTXkfSuvwGFGOI016QbKm3VdbOn/bKjpd1e6Pg1SlFhPzjdXWNwjNTyprkhz33i4Wpji600FA5h05q4Ywv/bxge7mNRe7YYtQMwqt/kMLixpXHQhBwcCXBYukxBbvkBTv4S5V/HNNC6EF089tPxxGHNzV8sKTgRhSzVYa2Wf5yeadHphlWGdb4IUeEO5K2SHrUiqJuW9GiLFdwVzRbCXTf5tg11mvhYdufZbLUr11XEi/k4KHexUxWSY8DBCby7AU8E3eUhfzVkYZgR6H/agF8C3KNqCeHLIIRR7oEr0XXsixy9P1jH/doJLF2nPXbIlw5y1aC6t4eROW1pduaLs/7b6NEqFiWrWpBzaXuaOy4Nfe6bRfqGwzSXBJZhnF8y9oUhcnzOyM9pI7wCWP0LSkyy1iFWWwsFp8LeKLfd4doRyTLRacAAAAASUVORK5CYII=);
|
|
56
|
+
}
|
|
57
|
+
.folded .big-point::before {
|
|
58
|
+
animation: rotate 2s linear infinite;
|
|
59
|
+
}
|
|
60
|
+
/* 自定义icon */
|
|
61
|
+
.big-point::after {
|
|
62
|
+
position: absolute;
|
|
63
|
+
width: 16px;
|
|
64
|
+
height: 16px;
|
|
65
|
+
background-image: var(--iconUrl);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.small-point::before {
|
|
69
|
+
content: '';
|
|
70
|
+
display: block;
|
|
71
|
+
position: absolute;
|
|
72
|
+
pointer-events: none;
|
|
73
|
+
width: 4px;
|
|
74
|
+
height: 4px;
|
|
75
|
+
border-radius: 100%;
|
|
76
|
+
background-color: white;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/** 动画 */
|
|
80
|
+
.folded .big-point {
|
|
81
|
+
opacity: 1;
|
|
82
|
+
scale: 1;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.unfolded .big-point {
|
|
86
|
+
opacity: 0;
|
|
87
|
+
scale: 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.folded .small-point {
|
|
91
|
+
opacity: 0;
|
|
92
|
+
scale: 6;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.unfolded .small-point {
|
|
96
|
+
opacity: 1;
|
|
97
|
+
scale: 1;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@keyframes rotate {
|
|
101
|
+
from {
|
|
102
|
+
transform: rotate(0deg);
|
|
103
|
+
}
|
|
104
|
+
to {
|
|
105
|
+
transform: rotate(360deg);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@keyframes breathing {
|
|
110
|
+
0% {
|
|
111
|
+
transform: scale(1);
|
|
112
|
+
}
|
|
113
|
+
25% {
|
|
114
|
+
transform: scale(0.9);
|
|
115
|
+
}
|
|
116
|
+
50% {
|
|
117
|
+
transform: scale(1);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
</style>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<script>import 'svelte/easing';
|
|
2
|
+
import Shadow from '../Shadow.svelte';
|
|
3
|
+
export let unfolded;
|
|
4
|
+
/** 收起时的delay */
|
|
5
|
+
export let foldDelay = 800;
|
|
6
|
+
$: folded = !unfolded;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<div class="point" class:unfolded class:folded>
|
|
10
|
+
<Shadow center blurRadius={12} spreadRadius={5} />
|
|
11
|
+
<!-- 小点 -->
|
|
12
|
+
<div class="small-point" style:transition-delay={folded ? foldDelay + 'ms' : '0ms'} />
|
|
13
|
+
<!-- 大圈 -->
|
|
14
|
+
<div class="big-point" style:transition-delay={folded ? foldDelay + 'ms' : '0ms'} />
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<style>
|
|
18
|
+
.point {
|
|
19
|
+
width: 16px;
|
|
20
|
+
height: 16px;
|
|
21
|
+
}
|
|
22
|
+
.small-point,
|
|
23
|
+
.big-point {
|
|
24
|
+
position: absolute;
|
|
25
|
+
width: 100%;
|
|
26
|
+
height: 100%;
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
justify-content: center;
|
|
30
|
+
border-radius: 50%;
|
|
31
|
+
transition: all 500ms;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.big-point::before,
|
|
35
|
+
.big-point::after {
|
|
36
|
+
content: '';
|
|
37
|
+
display: block;
|
|
38
|
+
position: absolute;
|
|
39
|
+
background-size: contain;
|
|
40
|
+
background-repeat: no-repeat;
|
|
41
|
+
pointer-events: none;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* 光圈 */
|
|
45
|
+
.big-point::before {
|
|
46
|
+
width: 100%;
|
|
47
|
+
height: 100%;
|
|
48
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAqFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8j1z1tAAAAOHRSTlMABgoNFBsYIhEmHyksMoJ6RZ5aXzpnU03AtqaZjLuGN+zcifnW0cjEqnA+lOZzbWLhkH6i8rGuagnOwPMAAAQOSURBVFjDrZiHctpAEIYXYzvGOvXeUe+IYuD93ywrJAIhFJX8M8zoBHzz757utHvwTETJHJPfGQZfWJXILWCMPuqNbuu6vj+khrHjed40TWvFfQ2jvCl8nGha6lQCl7s07UqcUlfOZrOxVtKsN2a+0uJYK+ScEIqiFifhBSGSsnJ8f8u99cLMVnEUHTKXIOMX6vuk5gpphFYyhmHzHpzcDqNUJGgEER+oz5OaK8ShNcIdt+zx1ys7lhdqiDlRkPF+JaSdWIhasaz6lLPQ1qFDIwYpDeTr62veCS8bGLIQRSsVK78/5nDeOlYIYhovHeOtU0dDXw2KSGiKesQRyjJ10Q66QcyZMTvpTEMUumpMieyWvs9ZLZcmodAOYlorsysBflpjiEJTFBEY5+7sicul34T1iak5U25momN9Ya4wPCT57r8cteW0dk4YuKMTqjXVkgjciFr+8B3ngnmM6kii5X/efB0F+jUHnuiatLJY+Et84EnUNacfiaKZjQhX4oJAwPlqOB3mJaoh4dxxG5Nc3Q8DkywunP6kBalN53J7G3g0JqiNC3qpjQ7TRPvmn2U3L3/kU4JaTn/SKU0qb76dDf0kGNjHJbD+wX1gcMxO6fZVrzXUcQaROkvt3+pljIYugQ0LDi1ZBgeN9JK9MjTCkmgwgPou19I5QzBI5yy5RvqOw6xMMbKzoeGWmnQfBBwa6woj6wyNsYSx7R0chWuOwsjOqR6aboyNyvcpgOsl3ZzNhoNm3bztdAK1x5NuzmCwunkjjq4AEzKXFI1NUmVnwIfydJBoW7CPVAR1uR6XbVwlmgF2xF1yPTbbubYHLZamgyTNhiSmp4PoJIEk+R+gOAFb+x+hxRoctHw6iItsMLT/Mf3RHixbnP5AyhEPmZ1NB+E6A0V3pi9aPqyB6Pz0bSTxXID0kE/d2DgvxBFzEKdutdXawJGSMlM3/3Sd4fA93bnTXkfSuvwGFGOI016QbKm3VdbOn/bKjpd1e6Pg1SlFhPzjdXWNwjNTyprkhz33i4Wpji600FA5h05q4Ywv/bxge7mNRe7YYtQMwqt/kMLixpXHQhBwcCXBYukxBbvkBTv4S5V/HNNC6EF089tPxxGHNzV8sKTgRhSzVYa2Wf5yeadHphlWGdb4IUeEO5K2SHrUiqJuW9GiLFdwVzRbCXTf5tg11mvhYdufZbLUr11XEi/k4KHexUxWSY8DBCby7AU8E3eUhfzVkYZgR6H/agF8C3KNqCeHLIIRR7oEr0XXsixy9P1jH/doJLF2nPXbIlw5y1aC6t4eROW1pduaLs/7b6NEqFiWrWpBzaXuaOy4Nfe6bRfqGwzSXBJZhnF8y9oUhcnzOyM9pI7wCWP0LSkyy1iFWWwsFp8LeKLfd4doRyTLRacAAAAASUVORK5CYII=);
|
|
49
|
+
background-size: contain;
|
|
50
|
+
background-repeat: no-repeat;
|
|
51
|
+
}
|
|
52
|
+
.small-point::before {
|
|
53
|
+
content: '';
|
|
54
|
+
display: block;
|
|
55
|
+
position: absolute;
|
|
56
|
+
pointer-events: none;
|
|
57
|
+
width: 6px;
|
|
58
|
+
height: 6px;
|
|
59
|
+
border-radius: 100%;
|
|
60
|
+
background-color: white;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** 动画 */
|
|
64
|
+
.unfolded .big-point {
|
|
65
|
+
opacity: 0;
|
|
66
|
+
transform: scale(0);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.folded .big-point {
|
|
70
|
+
opacity: 1;
|
|
71
|
+
transform: scale(1);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.unfolded .small-point {
|
|
75
|
+
transform: scale(0.6);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.folded .small-point {
|
|
79
|
+
transform: scale(1);
|
|
80
|
+
}
|
|
81
|
+
</style>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script>var _a, _b;
|
|
2
|
+
import { ContentType } from '../../../typings';
|
|
3
|
+
import CustomPoint from './CustomPoint.svelte';
|
|
4
|
+
import DefaultPoint from './DefaultPoint.svelte';
|
|
5
|
+
export let tag;
|
|
6
|
+
$: foldDelay = (_b = (_a = tag.style) === null || _a === void 0 ? void 0 : _a.foldedPointDelay) !== null && _b !== void 0 ? _b : (tag.contentType === ContentType.Marketing ? 600 : undefined);
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
{#if tag.pointTagStyle?.leftPercent && tag.pointTagStyle?.topPercent && tag.enabled !== false && tag.state && tag.temporaryState?.visible !== false}
|
|
10
|
+
{#if tag.contentType !== ContentType.Link}
|
|
11
|
+
<!-- 标签比较小,加一个大一点的点击区域 -->
|
|
12
|
+
<div class="point-click-helper" />
|
|
13
|
+
{#if tag.style?.point?.style === 'CustomIcon' && tag.style?.point?.iconUrl}
|
|
14
|
+
<CustomPoint iconUrl={tag.style.point.iconUrl} unfolded={tag.state.unfolded} {foldDelay} />
|
|
15
|
+
{:else}
|
|
16
|
+
<DefaultPoint unfolded={tag.state.unfolded} {foldDelay} />
|
|
17
|
+
{/if}
|
|
18
|
+
{/if}
|
|
19
|
+
{/if}
|
|
20
|
+
|
|
21
|
+
<style>
|
|
22
|
+
.point-click-helper {
|
|
23
|
+
width: 40px;
|
|
24
|
+
height: 40px;
|
|
25
|
+
position: absolute;
|
|
26
|
+
left: 50%;
|
|
27
|
+
top: 50%;
|
|
28
|
+
transform: translate(-50%, -50%);
|
|
29
|
+
}
|
|
30
|
+
</style>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<script>import { fade } from 'svelte/transition';
|
|
2
|
+
export let inDelay = 1000;
|
|
3
|
+
export let outDelay = 1000;
|
|
4
|
+
export let visible = true;
|
|
5
|
+
export let width = 0;
|
|
6
|
+
export let height = 0;
|
|
7
|
+
export let left = 0;
|
|
8
|
+
export let bottom = 0;
|
|
9
|
+
export let center = false;
|
|
10
|
+
export let horizontalCenter = false;
|
|
11
|
+
export let verticalCenter = false;
|
|
12
|
+
export let blurRadius;
|
|
13
|
+
export let spreadRadius;
|
|
14
|
+
export let opacity = 0.15;
|
|
15
|
+
// export let zIndex = -1
|
|
16
|
+
// eslint-disable-next-line no-undef-init
|
|
17
|
+
export let zIndex = undefined;
|
|
18
|
+
function px2rem(value) {
|
|
19
|
+
return typeof value === 'number' ? value / 16 + 'rem' : value;
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
{#if visible}
|
|
24
|
+
<div
|
|
25
|
+
class="shadow"
|
|
26
|
+
style:width={px2rem(width)}
|
|
27
|
+
style:height={px2rem(height)}
|
|
28
|
+
style:z-index={zIndex}
|
|
29
|
+
style={`
|
|
30
|
+
left:${px2rem(left)};
|
|
31
|
+
bottom:${px2rem(bottom)};
|
|
32
|
+
box-shadow: 0 0 ${px2rem(blurRadius)} ${px2rem(spreadRadius)} rgba(0, 0, 0, ${opacity});
|
|
33
|
+
${horizontalCenter ? 'transform: translateX(-50%); left: 50%' : ''}
|
|
34
|
+
${verticalCenter ? 'transform: translateX(-50%); top: 50%' : ''}
|
|
35
|
+
${center ? 'transform: translate(-50%, -50%); left: 50%; top: 50%;' : ''}
|
|
36
|
+
`}
|
|
37
|
+
in:fade|local={{ duration: inDelay }}
|
|
38
|
+
out:fade|local={{ duration: outDelay }}
|
|
39
|
+
/>
|
|
40
|
+
{/if}
|
|
41
|
+
|
|
42
|
+
<style>
|
|
43
|
+
.shadow {
|
|
44
|
+
position: absolute;
|
|
45
|
+
}
|
|
46
|
+
</style>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script>import anime from 'animejs';
|
|
2
|
+
import { onMount } from 'svelte';
|
|
3
|
+
import { notNil } from '../../../shared-utils/isNil';
|
|
4
|
+
import { searchFirstValueSmallThanLastValue } from '../../utils';
|
|
5
|
+
export let inDelay = 0;
|
|
6
|
+
export let outDelay = 0;
|
|
7
|
+
export let content;
|
|
8
|
+
export let unfolded;
|
|
9
|
+
let timeoutID;
|
|
10
|
+
let spanEleList = [];
|
|
11
|
+
let openAnimeIns;
|
|
12
|
+
$: contentList = content.slice().split('');
|
|
13
|
+
function onUnfoldedUpdate(unfolded) {
|
|
14
|
+
clearTimeout(timeoutID);
|
|
15
|
+
timeoutID = setTimeout(function () {
|
|
16
|
+
if (!openAnimeIns)
|
|
17
|
+
return;
|
|
18
|
+
if ((unfolded && openAnimeIns.reversed) || (!unfolded && !openAnimeIns.reversed)) {
|
|
19
|
+
openAnimeIns.reverse();
|
|
20
|
+
openAnimeIns.play();
|
|
21
|
+
}
|
|
22
|
+
}, unfolded ? inDelay : outDelay);
|
|
23
|
+
}
|
|
24
|
+
onMount(function () {
|
|
25
|
+
/** 计算第一行的最后一个字的index */
|
|
26
|
+
const firstLineLastIndex = (() => {
|
|
27
|
+
const resultIndex = searchFirstValueSmallThanLastValue((index) => spanEleList[index].getBoundingClientRect().x, [Math.min(spanEleList.length - 1, 10), Math.min(spanEleList.length - 1, 30)]);
|
|
28
|
+
if (resultIndex > 0)
|
|
29
|
+
return resultIndex;
|
|
30
|
+
})();
|
|
31
|
+
/** 文字依次从底部旋转出现
|
|
32
|
+
* @member duration 单个文字的动画时间是 400ms
|
|
33
|
+
* @member scale 大小缩放 [0.7 - 1]
|
|
34
|
+
* @member rotate 旋转 [20 - 0]deg
|
|
35
|
+
* @member opacity 透明度 [0 - 1]
|
|
36
|
+
* @member translateX 水平方向位移 [4 - 0]px
|
|
37
|
+
* @member translateY 水平方向位移 [10 - 0]px
|
|
38
|
+
* @member delay 动画开始的延时是当前元素的索引 index * 50ms
|
|
39
|
+
*/
|
|
40
|
+
openAnimeIns = anime({
|
|
41
|
+
targets: spanEleList.filter(notNil).slice(0, firstLineLastIndex),
|
|
42
|
+
autoplay: false,
|
|
43
|
+
duration: 400,
|
|
44
|
+
scale: [0.7, 1],
|
|
45
|
+
rotate: [20, 0],
|
|
46
|
+
opacity: [0, 1],
|
|
47
|
+
translateX: [4, 0],
|
|
48
|
+
translateY: [10, 0],
|
|
49
|
+
delay: anime.stagger(50),
|
|
50
|
+
easing: 'easeInOutCubic',
|
|
51
|
+
});
|
|
52
|
+
if (unfolded)
|
|
53
|
+
openAnimeIns.seek(openAnimeIns.duration);
|
|
54
|
+
});
|
|
55
|
+
$: {
|
|
56
|
+
onUnfoldedUpdate(unfolded);
|
|
57
|
+
}
|
|
58
|
+
</script>
|
|
59
|
+
|
|
60
|
+
{#each contentList as item, index}
|
|
61
|
+
<span bind:this={spanEleList[index]} class="text-char">{item}</span>
|
|
62
|
+
{/each}
|
|
63
|
+
|
|
64
|
+
<style>
|
|
65
|
+
.text-char {
|
|
66
|
+
display: inline-block;
|
|
67
|
+
text-shadow: 2px 0px 8px rgba(0, 0, 0, 0.15);
|
|
68
|
+
}
|
|
69
|
+
</style>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<script>import { cubicInOut } from 'svelte/easing';
|
|
2
|
+
export let index;
|
|
3
|
+
export let rightIndex;
|
|
4
|
+
export let visible;
|
|
5
|
+
export let content;
|
|
6
|
+
function fly(node, { duration }) {
|
|
7
|
+
return {
|
|
8
|
+
duration,
|
|
9
|
+
delay: index * 40,
|
|
10
|
+
css: (t) => {
|
|
11
|
+
const eased = cubicInOut(t);
|
|
12
|
+
return `
|
|
13
|
+
transform: translate(${4 * (1 - eased)}px, ${10 * (1 - eased)}px) scale(${0.7 + eased * 0.3}) rotate(${20 * (1 - eased)}deg);
|
|
14
|
+
opacity: ${eased};`;
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function flyOut(node, { duration }) {
|
|
19
|
+
return {
|
|
20
|
+
duration,
|
|
21
|
+
delay: rightIndex * 40,
|
|
22
|
+
css: (t) => {
|
|
23
|
+
const eased = cubicInOut(t);
|
|
24
|
+
return `
|
|
25
|
+
transform: translate(${4 * (1 - eased)}px, ${10 * (1 - eased)}px) scale(${0.7 + eased * 0.3}) rotate(${20 * (1 - eased)}deg);
|
|
26
|
+
opacity: ${eased};`;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
{#if visible}
|
|
33
|
+
<span class="text-char" in:fly|local={{ duration: 400 }} out:flyOut|local={{ duration: 400 }}>{content}</span>
|
|
34
|
+
{/if}
|
|
35
|
+
|
|
36
|
+
<style>
|
|
37
|
+
.text-char {
|
|
38
|
+
opacity: 1;
|
|
39
|
+
display: inline-block;
|
|
40
|
+
transform: translate(0, 0) scale(1) rotate(0);
|
|
41
|
+
}
|
|
42
|
+
</style>
|