@realsee/dnalogel 2.20.0-alpha.1 → 2.20.0-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PanoTagPlugin/typings/index.d.ts +5 -5
- package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +48 -0
- package/dist/PanoTagPlugin/typings/tag/TagConfig.d.ts +129 -0
- package/dist/PanoTagPlugin/typings/tag/TagData.d.ts +152 -0
- package/dist/PanoTagPlugin/typings/tag/TagInstance.d.ts +51 -0
- package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +77 -0
- package/dist/index.cjs.js +2 -2
- package/dist/index.js +2 -2
- package/dist/index.umd.js +2 -2
- package/docs/assets/search.js +1 -1
- package/docs/classes/CSS3DRender.html +3 -8
- package/docs/classes/CruisePluginController.html +3 -8
- package/docs/classes/GuideLineItem.GuideLineItem.html +3 -8
- package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +3 -8
- package/docs/classes/Magnifier.html +3 -8
- package/docs/classes/ModelRoomLabelController.html +3 -8
- package/docs/classes/Object3DHelperController.html +3 -8
- package/docs/classes/PaintBrush.html +3 -8
- package/docs/classes/PanoMeasurePluginLine.html +3 -8
- package/docs/classes/PanoMeasurePluginModel.html +3 -8
- package/docs/classes/PanoMeasurePluginPoint.html +3 -8
- package/docs/classes/PanoMeasurePluginPolyline.html +3 -8
- package/docs/classes/PanoTagPluginController.html +6 -11
- package/docs/classes/Util.BetterTween.html +3 -8
- package/docs/classes/Util.FivePointSelector.html +3 -8
- package/docs/classes/Util.Interval.html +3 -8
- package/docs/classes/Util.Magnifier.html +3 -8
- package/docs/classes/Util.PointDomHelper.html +3 -8
- package/docs/classes/Util.PointHelper.html +3 -8
- package/docs/classes/Util.Rectangle.html +3 -8
- package/docs/enums/CameraMovementEffect.html +3 -8
- package/docs/enums/ContentType.html +3 -8
- package/docs/enums/DIRECTION.html +3 -8
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +3 -8
- package/docs/enums/DimensionType.html +3 -8
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +3 -8
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +3 -8
- package/docs/enums/PaintBrushTypeEnum.html +3 -8
- package/docs/enums/PointType.html +3 -8
- package/docs/enums/Rotation.html +3 -8
- package/docs/functions/CSS3DRenderPlugin.html +3 -8
- package/docs/functions/CameraMovementPlugin.html +3 -8
- package/docs/functions/CruisePlugin.html +3 -8
- package/docs/functions/GuideLinePlugin.html +3 -8
- package/docs/functions/ItemLabelPlugin.html +3 -8
- package/docs/functions/MapviewFloorplanPlugin.html +3 -8
- package/docs/functions/ModelChassisCompassPlugin.html +3 -8
- package/docs/functions/ModelEntryDoorGuidePlugin.html +3 -8
- package/docs/functions/ModelFloorplanPlugin.html +3 -8
- package/docs/functions/ModelItemLabelPlugin.html +3 -8
- package/docs/functions/ModelRoomLabelPlugin.html +3 -8
- package/docs/functions/ModelTVVideoPlugin.html +3 -8
- package/docs/functions/ModelViewPlugin.html +3 -8
- package/docs/functions/Object3DHelperPlugin.html +3 -8
- package/docs/functions/PanoCompassPlugin.html +3 -8
- package/docs/functions/PanoCursorRaycasterPlugin.html +3 -8
- package/docs/functions/PanoDoorLabelPlugin.html +3 -8
- package/docs/functions/PanoFloorplanRadarPlugin.html +3 -8
- package/docs/functions/PanoMeasurePlugin.html +3 -8
- package/docs/functions/PanoRulerPlugin.html +3 -8
- package/docs/functions/PanoRulerProPlugin.html +3 -8
- package/docs/functions/PanoSpatialTagPlugin.html +3 -8
- package/docs/functions/PanoTagPlugin.html +3 -8
- package/docs/functions/PanoVideoPlugin.html +3 -8
- package/docs/functions/TopviewFloorplanPlugin.html +3 -8
- package/docs/functions/Util.getCoordsFromClient.html +3 -8
- package/docs/functions/Util.getCoordsFromElement.html +3 -8
- package/docs/functions/Util.getFrameTime.html +3 -8
- package/docs/functions/Util.getIntersectFromRelativePosition.html +3 -8
- package/docs/functions/Util.getRaycasterFromFivePointer.html +3 -8
- package/docs/functions/Util.isAbsoluteURL.html +3 -8
- package/docs/functions/Util.isModelLike.html +3 -8
- package/docs/functions/Util.isNil.html +3 -8
- package/docs/functions/Util.isPanoramaLike.html +3 -8
- package/docs/functions/Util.nextFrame.html +3 -8
- package/docs/functions/Util.notNil.html +3 -8
- package/docs/functions/Util.requestAnimationFrameInterval.html +3 -8
- package/docs/functions/Util.tweenProgress.html +3 -8
- package/docs/functions/Util.uuid.html +3 -8
- package/docs/functions/pluginFlag.html +3 -8
- package/docs/index.html +4 -9
- package/docs/interfaces/AddTagConfig.html +3 -8
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +3 -8
- package/docs/interfaces/CSS3DRenderPluginState.html +3 -8
- package/docs/interfaces/CameraMovementPluginExportType.html +3 -8
- package/docs/interfaces/CruisePluginTypes.Config.html +3 -8
- package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +3 -8
- package/docs/interfaces/CruisePluginTypes.EventMap.html +3 -8
- package/docs/interfaces/CruisePluginTypes.MoveAction.html +3 -8
- package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +3 -8
- package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +3 -8
- package/docs/interfaces/CruisePluginTypes.PluginData.html +3 -8
- package/docs/interfaces/CruisePluginTypes.PluginServerData.html +3 -8
- package/docs/interfaces/CruisePluginTypes.PluginState.html +3 -8
- package/docs/interfaces/EventMap.html +3 -8
- package/docs/interfaces/FloorplanBounding.html +3 -8
- package/docs/interfaces/FloorplanData.html +3 -8
- package/docs/interfaces/FloorplanEntrance.html +3 -8
- package/docs/interfaces/FloorplanExtraObject.html +3 -8
- package/docs/interfaces/FloorplanExtraObject3D.html +3 -8
- package/docs/interfaces/FloorplanFloorData.html +3 -8
- package/docs/interfaces/FloorplanImagePosition.html +3 -8
- package/docs/interfaces/FloorplanObserver.html +3 -8
- package/docs/interfaces/FloorplanOutlineItem.html +3 -8
- package/docs/interfaces/FloorplanPosition.html +3 -8
- package/docs/interfaces/FloorplanRoomItem.html +3 -8
- package/docs/interfaces/FloorplanRoomLabelItem.html +3 -8
- package/docs/interfaces/FloorplanServerBounding.html +3 -8
- package/docs/interfaces/FloorplanServerComputedData.html +3 -8
- package/docs/interfaces/FloorplanServerData.html +3 -8
- package/docs/interfaces/FloorplanServerDoorItem.html +3 -8
- package/docs/interfaces/FloorplanServerDoorPosition.html +3 -8
- package/docs/interfaces/FloorplanServerEntrance.html +3 -8
- package/docs/interfaces/FloorplanServerFloorData.html +3 -8
- package/docs/interfaces/FloorplanServerImagePosition.html +3 -8
- package/docs/interfaces/FloorplanServerObserver.html +3 -8
- package/docs/interfaces/FloorplanServerOutlineItem.html +3 -8
- package/docs/interfaces/FloorplanServerPosition.html +3 -8
- package/docs/interfaces/FloorplanServerRoomItem.html +3 -8
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -8
- package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +3 -8
- package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +3 -8
- package/docs/interfaces/GuideLinePluginType.EventMap.html +3 -8
- package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +3 -8
- package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +3 -8
- package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +3 -8
- package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +3 -8
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +3 -8
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +3 -8
- package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +3 -8
- package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +3 -8
- package/docs/interfaces/GuideLinePluginType.PluginServerData.html +3 -8
- package/docs/interfaces/GuideLinePluginType.PluginState.html +3 -8
- package/docs/interfaces/GuideLinePluginType.Route.html +3 -8
- package/docs/interfaces/GuideLinePluginType.RouteConfig.html +3 -8
- package/docs/interfaces/HelperOffset.html +3 -8
- package/docs/interfaces/ImagePlaneGroup.html +5 -10
- package/docs/interfaces/ItemLabelPluginData.html +3 -8
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +3 -8
- package/docs/interfaces/ItemLabelPluginParametersType.html +3 -8
- package/docs/interfaces/MinMax.html +6 -11
- package/docs/interfaces/ModelChassisCompassPluginData.html +3 -8
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +3 -8
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +3 -8
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +3 -8
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +3 -8
- package/docs/interfaces/ModelItemLabelPluginData.html +3 -8
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +3 -8
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +3 -8
- package/docs/interfaces/ModelRoomLabelPluginData.html +3 -8
- package/docs/interfaces/ModelTVVideoPluginData.html +3 -8
- package/docs/interfaces/ModelTVVideoPluginExportType.html +3 -8
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +3 -8
- package/docs/interfaces/ModelViewPluginExportType.html +3 -8
- package/docs/interfaces/Object3DHelperState.html +3 -8
- package/docs/interfaces/ObjectHelperControllers.html +3 -8
- package/docs/interfaces/PaintBrushAction.html +3 -8
- package/docs/interfaces/PaintBrushConfigs.html +3 -8
- package/docs/interfaces/PaintBrushState.html +3 -8
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +3 -8
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +3 -8
- package/docs/interfaces/PanoMeasureParameterType.html +3 -8
- package/docs/interfaces/PanoMeasurePluginLineJson.html +3 -8
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +3 -8
- package/docs/interfaces/PanoMeasurePluginPointJson.html +3 -8
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +3 -8
- package/docs/interfaces/PanoRulerPluginExportType.html +3 -8
- package/docs/interfaces/PanoRulerPluginOptions.html +3 -8
- package/docs/interfaces/PanoRulerPluginParameterType.html +3 -8
- package/docs/interfaces/PanoRulerProPluginExportType.html +3 -8
- package/docs/interfaces/PanoRulerProPluginOptions.html +3 -8
- package/docs/interfaces/PanoRulerProPluginParameterType.html +3 -8
- package/docs/interfaces/PanoRulerProPluginState.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginData.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +3 -8
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +3 -8
- package/docs/interfaces/PanoVideoPluginType.LoadParams.html +3 -8
- package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +3 -8
- package/docs/interfaces/PanoVideoPluginType.PluginData.html +3 -8
- package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +3 -8
- package/docs/interfaces/PanoVideoPluginType.PluginState.html +3 -8
- package/docs/interfaces/PanoVideoPluginType.VideoItem.html +3 -8
- package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +3 -8
- package/docs/interfaces/Point.html +3 -8
- package/docs/interfaces/Room.html +3 -8
- package/docs/interfaces/RoomInfo.html +3 -8
- package/docs/interfaces/RoomLabel.html +3 -8
- package/docs/interfaces/RoomRules.html +3 -8
- package/docs/interfaces/Rooms.html +3 -8
- package/docs/interfaces/Scissor.html +3 -8
- package/docs/interfaces/State.html +3 -8
- package/docs/interfaces/TagCacheInterface.html +3 -8
- package/docs/interfaces/TagConfig.html +14 -19
- package/docs/interfaces/TagGLTFObjectGroup.html +5 -10
- package/docs/interfaces/TagIconUrl.html +11 -16
- package/docs/interfaces/TagObjectGroup.html +5 -10
- package/docs/interfaces/TagStyle.html +5 -10
- package/docs/interfaces/Tags.html +29 -14
- package/docs/interfaces/TemporaryState.html +3 -8
- package/docs/interfaces/Util.MagnifierParameter.html +3 -8
- package/docs/interfaces/Util.MouseGroupParameter.html +3 -8
- package/docs/modules/CruisePluginTypes.html +3 -8
- package/docs/modules/GuideLineItem.html +3 -8
- package/docs/modules/GuideLineModeItem.html +3 -8
- package/docs/modules/GuideLinePluginType.html +3 -8
- package/docs/modules/PanoVideoPluginType.html +3 -8
- package/docs/modules/Util.html +3 -8
- package/docs/modules.html +4 -14
- package/docs/types/ArrayPosition.html +4 -9
- package/docs/types/AudioAppearance.html +5 -10
- package/docs/types/AudioTagTypeConfigKey.html +4 -9
- package/docs/types/CSS3DRenderExportType.html +3 -8
- package/docs/types/CSS3DRenderPluginExportType.html +3 -8
- package/docs/types/CSS3DRenderPluginParameterType.html +3 -8
- package/docs/types/ClassFunctionParameters.html +3 -8
- package/docs/types/Color.html +3 -8
- package/docs/types/ContentTypeConfigKey.html +4 -9
- package/docs/types/ContentTypeConfigKeySplit.html +4 -9
- package/docs/types/ContentTypeMap.html +5 -10
- package/docs/types/Create3DDomContainerReturnType.html +3 -8
- package/docs/types/Create3DElementReturnType.html +3 -8
- package/docs/types/CruisePluginExportType.html +3 -8
- package/docs/types/CruisePluginTypes.CruiseData.html +3 -8
- package/docs/types/CruisePluginTypes.MoveEffect.html +3 -8
- package/docs/types/DeprecatedMediaPlaneProperty.html +3 -8
- package/docs/types/DeprecatedTagProperty.html +3 -8
- package/docs/types/Direction-1.html +3 -8
- package/docs/types/Direction4.html +3 -8
- package/docs/types/ElementRenderer.html +4 -9
- package/docs/types/FloorplanRuleLabels.html +3 -8
- package/docs/types/FloorplanServerRuleLabels.html +3 -8
- package/docs/types/GuideLinePluginExportType.html +3 -8
- package/docs/types/GuideLinePluginType.GuideLineItem.html +3 -8
- package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +3 -8
- package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +3 -8
- package/docs/types/GuideLinePluginType.GuideLineStyle.html +3 -8
- package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +3 -8
- package/docs/types/GuideLinePluginType.PathItem.html +3 -8
- package/docs/types/GuideLinePluginType.PluginData.html +3 -8
- package/docs/types/HelperEventMap.html +3 -8
- package/docs/types/LoadTagConfig.html +3 -8
- package/docs/types/MapviewFloorplanPluginParameterType.html +3 -8
- package/docs/types/MapviewFloorplanPluginReturnType.html +3 -8
- package/docs/types/MediaData.html +4 -9
- package/docs/types/MediaStore.html +3 -8
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +3 -8
- package/docs/types/ModelFloorplanPluginParameterType.html +3 -8
- package/docs/types/ModelFloorplanPluginReturnType.html +3 -8
- package/docs/types/ModelRoomLabelPluginParameters.html +3 -8
- package/docs/types/ModelRoomLabelPluginReturnType.html +3 -8
- package/docs/types/MoveArgs.html +3 -8
- package/docs/types/MoveOpts.html +3 -8
- package/docs/types/Object3DHelperEventMap.html +3 -8
- package/docs/types/ObjectFit.html +4 -9
- package/docs/types/PaintBrushEventMap.html +3 -8
- package/docs/types/PanoCompassPluginData.html +3 -8
- package/docs/types/PanoCompassPluginExportType.html +3 -8
- package/docs/types/PanoCompassPluginParameterType.html +3 -8
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +3 -8
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +3 -8
- package/docs/types/PanoIndex.html +4 -9
- package/docs/types/PanoMeasurePluginEvent.html +3 -8
- package/docs/types/PanoMeasureReturnType.html +3 -8
- package/docs/types/PanoSpatialTagPluginId.html +3 -8
- package/docs/types/PanoTagPluginExportInterface.html +3 -8
- package/docs/types/PanoTagPluginParamsInterface.html +3 -8
- package/docs/types/PanoVideoPluginParameterType.html +3 -8
- package/docs/types/PanoVideoPluginReturnType.html +3 -8
- package/docs/types/PartialObjectDeep.html +4 -9
- package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +4 -9
- package/docs/types/PlaneTag.html +5 -10
- package/docs/types/Point2DTag.html +5 -10
- package/docs/types/Point3DTag.html +5 -10
- package/docs/types/PointTag.html +5 -10
- package/docs/types/PointTagInstance.html +3 -8
- package/docs/types/Position.html +4 -9
- package/docs/types/RotateArgs.html +3 -8
- package/docs/types/RotateOpts.html +3 -8
- package/docs/types/RuleLabelsKey.html +3 -8
- package/docs/types/RuleLabelsValue.html +3 -8
- package/docs/types/StickType.html +4 -9
- package/docs/types/Tag.html +5 -10
- package/docs/types/Tag2D.html +3 -8
- package/docs/types/Tag3D.html +3 -8
- package/docs/types/TagContentType.html +4 -9
- package/docs/types/TagDimensionType.html +3 -8
- package/docs/types/TagElement.html +3 -8
- package/docs/types/TagEvents.html +3 -8
- package/docs/types/TagGLTFObject.html +4 -9
- package/docs/types/TagHooks.html +3 -8
- package/docs/types/TagIconSize.html +4 -9
- package/docs/types/TagId.html +4 -9
- package/docs/types/TagInstance.html +5 -10
- package/docs/types/TagPointType.html +3 -8
- package/docs/types/TopviewFloorplanPluginParameterType.html +3 -8
- package/docs/types/TopviewFloorplanPluginReturnType.html +3 -8
- package/docs/types/WorkCode.html +4 -9
- package/docs/variables/FLOOR_TYPE_MAP.html +3 -8
- package/docs/variables/PLUGIN.html +3 -8
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +3 -8
- package/docs/variables/ROOM_TYPE_MAP.html +3 -8
- package/docs/variables/itemLabelPluginServerParams.html +3 -8
- package/docs/variables/modelItemLabelPluginServerParams.html +3 -8
- package/docs/variables/modelRoomLabelPluginServerParams.html +3 -8
- package/libs/PanoTagPlugin/typings/index.d.ts +5 -5
- package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +48 -0
- package/libs/PanoTagPlugin/typings/tag/TagConfig.d.ts +129 -0
- package/libs/PanoTagPlugin/typings/tag/TagData.d.ts +152 -0
- package/libs/PanoTagPlugin/typings/tag/TagInstance.d.ts +51 -0
- package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +77 -0
- package/libs/base/BasePlugin.js +3 -3
- package/libs/shared-utils/logger.js +1 -1
- package/package.json +1 -1
- package/docs/interfaces/ContentTypeMapInterface.html +0 -724
- package/docs/types/ConfigFunction.html +0 -390
- package/docs/types/ContentTypeMapInterfaceWithExtraData.html +0 -359
- package/docs/types/Object.html +0 -359
- package/docs/types/RequiredTag.html +0 -366
- /package/libs/PanoTagPlugin/typings/tag/{Tag.d.js → Tag.js} +0 -0
- /package/libs/PanoTagPlugin/typings/tag/{TagConfig.d.js → TagConfig.js} +0 -0
- /package/libs/PanoTagPlugin/typings/tag/{TagData.d.js → TagData.js} +0 -0
- /package/libs/PanoTagPlugin/typings/tag/{TagInstance.d.js → TagInstance.js} +0 -0
- /package/libs/PanoTagPlugin/typings/tag/{Utils.d.js → Utils.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export * from './controller';
|
|
2
|
-
export * from './tag/Tag
|
|
3
|
-
export * from './tag/Utils
|
|
4
|
-
export * from './tag/TagData
|
|
5
|
-
export * from './tag/TagConfig
|
|
6
|
-
export * from './tag/TagInstance
|
|
2
|
+
export * from './tag/Tag';
|
|
3
|
+
export * from './tag/Utils';
|
|
4
|
+
export * from './tag/TagData';
|
|
5
|
+
export * from './tag/TagConfig';
|
|
6
|
+
export * from './tag/TagInstance';
|
|
7
7
|
export * from '../Archive/deprecated';
|
|
8
8
|
export type { ContentTypeMap, TagContentType } from './tag/TagData';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { State as FiveState } from '@realsee/five';
|
|
2
|
+
import type { TagConfig } from './TagConfig';
|
|
3
|
+
import type { ContentTypeMap, TagContentType } from './TagData';
|
|
4
|
+
import type { Position, TagId, StickType, TagStyle, ElementRenderer, PickTagContentTypeInContentTypeConfigKey, ContentTypeConfigKey } from './Utils';
|
|
5
|
+
import type { DeprecatedTagProperty } from '../../Archive/deprecated';
|
|
6
|
+
export interface Tags {
|
|
7
|
+
version?: string;
|
|
8
|
+
/** tag配置 > 按type配置 > 全局配置 */
|
|
9
|
+
/** 全局配置 */
|
|
10
|
+
globalConfig?: TagConfig;
|
|
11
|
+
/** 按type配置 */
|
|
12
|
+
contentTypeConfig?: {
|
|
13
|
+
[key in ContentTypeConfigKey]?: PickTagContentTypeInContentTypeConfigKey<key> extends TagContentType ? TagConfig<PickTagContentTypeInContentTypeConfigKey<key>> : unknown;
|
|
14
|
+
};
|
|
15
|
+
/** 标签列表配置 */
|
|
16
|
+
tagList: Tag[];
|
|
17
|
+
}
|
|
18
|
+
export type Tag<C extends TagContentType = TagContentType, S extends StickType = StickType> = DeprecatedTagProperty & {
|
|
19
|
+
/** 开启/禁用 */
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
/** 唯一标识 */
|
|
22
|
+
id: TagId;
|
|
23
|
+
/** @type {StickType} 附着方式 */
|
|
24
|
+
stickType: S;
|
|
25
|
+
/** @type {TagContentType} 内容类型,根据内容类型展示对应UI */
|
|
26
|
+
contentType: C;
|
|
27
|
+
/** 点 */
|
|
28
|
+
position: S extends 'Plane' ? [Position, Position, Position, Position] : S extends '2DPoint' | '3DPoint' | 'Model' ? Position : Position | [Position, Position, Position, Position];
|
|
29
|
+
/** 法向量 */
|
|
30
|
+
normal?: Position;
|
|
31
|
+
/** 自定义标签内容 */
|
|
32
|
+
element?: string | Element | ElementRenderer;
|
|
33
|
+
/** 标签 wrapper 的 classname */
|
|
34
|
+
className?: string;
|
|
35
|
+
/** 标签数据 */
|
|
36
|
+
data: C extends TagContentType ? ContentTypeMap[C] : ContentTypeMap[keyof ContentTypeMap];
|
|
37
|
+
/** 「展开/收起」 「可见/不可见」 的策略配置 */
|
|
38
|
+
config?: TagConfig<C>;
|
|
39
|
+
/** 打标签时的 five state */
|
|
40
|
+
fiveState?: FiveState;
|
|
41
|
+
/** 样式 */
|
|
42
|
+
style?: TagStyle;
|
|
43
|
+
} & (S extends '3DPoint' ? {
|
|
44
|
+
normal: Position;
|
|
45
|
+
} : unknown) & // 三维标签需要法向量
|
|
46
|
+
(S extends 'Model' ? {
|
|
47
|
+
matrix: number[];
|
|
48
|
+
} : unknown);
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import type { Create3DDomContainerParamsType } from '../../../CSS3DRenderPlugin/Controller';
|
|
2
|
+
import type { Five, Mode } from '@realsee/five';
|
|
3
|
+
import type { ContentTypeMap, TagContentType } from './TagData';
|
|
4
|
+
import type { MinMax } from './Utils';
|
|
5
|
+
import type { PartialObjectDeep } from './Utils';
|
|
6
|
+
import type { TagInstance } from './TagInstance';
|
|
7
|
+
type ConfigFunction<C extends TagContentType = TagContentType> = (five: Five, tagState: {
|
|
8
|
+
tag: TagInstance<C>;
|
|
9
|
+
/** 标签点或中心点的到摄像机的距离 */
|
|
10
|
+
distance: number;
|
|
11
|
+
/** 3D标签中 「标签所在平面或垂直于标签法线的平面」 与 「摄像机到标签点或中心点的向量」 的夹角 */
|
|
12
|
+
angleRange?: number;
|
|
13
|
+
}) => boolean;
|
|
14
|
+
export interface TagConfig<C extends TagContentType = TagContentType> {
|
|
15
|
+
/** 显示/隐藏配置 */
|
|
16
|
+
visibleConfig?: {
|
|
17
|
+
/**
|
|
18
|
+
* @description 保持可见/不可见, 设置后visibleConfig下所有其他配置都不生效
|
|
19
|
+
* @default undefined
|
|
20
|
+
*/
|
|
21
|
+
keep?: 'visible' | 'hidden';
|
|
22
|
+
/**
|
|
23
|
+
* @description 在哪些 five mode 下可见
|
|
24
|
+
* @default ['Panorama']
|
|
25
|
+
*/
|
|
26
|
+
visibleFiveMode?: Mode[];
|
|
27
|
+
/**
|
|
28
|
+
* @description 当 visibleFiveMode 包含 'Floorplan' 或者 'MapView' 时,是否仅在当前楼层模型下可见
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
followModelVisibility?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* @description 走点时不隐藏
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
alwaysShowWhenMovePano?: true;
|
|
37
|
+
/**
|
|
38
|
+
* @description min-max米内显示 | 无距离限制
|
|
39
|
+
* @default 'unLimited'
|
|
40
|
+
*/
|
|
41
|
+
visibleDistance?: MinMax | 'unLimited';
|
|
42
|
+
/**
|
|
43
|
+
* @description: 限制xx点位上可见,默认为all
|
|
44
|
+
* @param all: 不限制
|
|
45
|
+
* @param current: 仅当前点位可见
|
|
46
|
+
* @param: number[] 仅指定点位可见
|
|
47
|
+
* @default 'all'
|
|
48
|
+
*/
|
|
49
|
+
visiblePanoIndex?: 'all' | 'current' | number[];
|
|
50
|
+
/**
|
|
51
|
+
* @description 碰撞检测配置,默认开启
|
|
52
|
+
* @default true
|
|
53
|
+
*/
|
|
54
|
+
intersectRaycaster?: boolean | {
|
|
55
|
+
/**
|
|
56
|
+
* @description 是否开启碰撞检测
|
|
57
|
+
* @default true
|
|
58
|
+
*/
|
|
59
|
+
enabled?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* @description 碰撞检测的允许误差
|
|
62
|
+
* @default 0.01
|
|
63
|
+
*/
|
|
64
|
+
distanceAccuracy?: number;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* @description 3D标签中 「标签所在平面或垂直于标签法线的平面」 与 「摄像机到标签点或中心点的向量」 的夹角,范围内自动展开,范围外自动收起
|
|
68
|
+
* @default undefined
|
|
69
|
+
*/
|
|
70
|
+
angleRange?: MinMax;
|
|
71
|
+
} | ConfigFunction<C>;
|
|
72
|
+
/** 展开/收起配置 */
|
|
73
|
+
unfoldedConfig?: {
|
|
74
|
+
/** 保持展开/收起,设置后unfoldedConfig下所有其他配置都不生效 */
|
|
75
|
+
keep?: 'unfolded' | 'folded';
|
|
76
|
+
/**
|
|
77
|
+
* @description 划动到不可见状态时,自动收起,disableFold: true 的标签不受此参数影响
|
|
78
|
+
* @note 部分标签是无法收起的
|
|
79
|
+
* @default true
|
|
80
|
+
*/
|
|
81
|
+
autoFoldWhenHide?: false;
|
|
82
|
+
/**
|
|
83
|
+
* @deprecated replace by { keep: 'folded' }
|
|
84
|
+
* @deprecated 部分标签是无法打开的
|
|
85
|
+
* @default undefined
|
|
86
|
+
*/
|
|
87
|
+
disableUnfold?: true;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated replace by { keep: 'unfolded' }
|
|
90
|
+
* @deprecated 部分标签是无法收起的
|
|
91
|
+
* @default undefined
|
|
92
|
+
*/
|
|
93
|
+
disableFold?: true;
|
|
94
|
+
/** min-max米内自动展开,否则收起 */
|
|
95
|
+
unfoldDistance?: MinMax;
|
|
96
|
+
/** 自动展开策略, false 时不自动展开 */
|
|
97
|
+
autoUnfold?: false | {
|
|
98
|
+
enable?: boolean;
|
|
99
|
+
/** 自动展开 策略 */
|
|
100
|
+
strategy?: 'ScreenPostion';
|
|
101
|
+
/** 自动展开策略,{min,max}为project(camera)后的x值 */
|
|
102
|
+
autoUnfoldProjectX?: MinMax;
|
|
103
|
+
} | {
|
|
104
|
+
enable?: boolean;
|
|
105
|
+
/** 自动展开:最近标签自动展开 */
|
|
106
|
+
strategy?: 'MinimumDistance';
|
|
107
|
+
/** 展开的最大数量, 默认为1 */
|
|
108
|
+
maxNumber?: number;
|
|
109
|
+
/** 展开的最大距离, 默认为无限制 */
|
|
110
|
+
distance?: MinMax;
|
|
111
|
+
};
|
|
112
|
+
} | ConfigFunction<C>;
|
|
113
|
+
/** 初始状态 */
|
|
114
|
+
initialState?: {
|
|
115
|
+
/** 显示/隐藏 */
|
|
116
|
+
visible?: boolean;
|
|
117
|
+
/** 展开/收起 */
|
|
118
|
+
unfolded?: boolean;
|
|
119
|
+
};
|
|
120
|
+
initialData?: PartialObjectDeep<ContentTypeMap[C]>;
|
|
121
|
+
tag3DConfig?: Create3DDomContainerParamsType['config'];
|
|
122
|
+
modelConfig?: {
|
|
123
|
+
autoLookAtEnabled?: boolean;
|
|
124
|
+
};
|
|
125
|
+
/** 当图片为一张时可以通过Mesh渲染 */
|
|
126
|
+
renderType?: 'Mesh' | 'Dom';
|
|
127
|
+
clickable?: false;
|
|
128
|
+
}
|
|
129
|
+
export {};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { DeprecatedMediaPlaneProperty, ContentType } from '../../Archive/deprecated';
|
|
2
|
+
import type { Position, TagIconUrl } from './Utils';
|
|
3
|
+
export type MediaData = {
|
|
4
|
+
type: 'Image';
|
|
5
|
+
url: string;
|
|
6
|
+
} | {
|
|
7
|
+
type: 'Video';
|
|
8
|
+
url: string;
|
|
9
|
+
videoCoverUrl?: string;
|
|
10
|
+
};
|
|
11
|
+
export type ObjectFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
|
|
12
|
+
type Object = Record<string | number | symbol, any>;
|
|
13
|
+
export type TagContentType = keyof typeof ContentType;
|
|
14
|
+
/**
|
|
15
|
+
* @description: 标签数据
|
|
16
|
+
*/
|
|
17
|
+
interface ContentTypeMapInterface {
|
|
18
|
+
/** 文字标签 */
|
|
19
|
+
Text: {
|
|
20
|
+
appearance?: 'line' | 'plane';
|
|
21
|
+
/** @deprecated: 'text' replace by 'title' */
|
|
22
|
+
text?: string;
|
|
23
|
+
title?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
edit?: {
|
|
26
|
+
title?: {
|
|
27
|
+
inputting?: boolean;
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
};
|
|
30
|
+
description?: {
|
|
31
|
+
inputting?: boolean;
|
|
32
|
+
placeholder?: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
/** 音频标签 */
|
|
37
|
+
Audio: {
|
|
38
|
+
/** @deprecated: 'text' replace by title */
|
|
39
|
+
text?: string;
|
|
40
|
+
title?: string;
|
|
41
|
+
/** @description: 'line' 是旧的那种有一条线的,默认为'line', 'plane' 是新的那种圆形的 */
|
|
42
|
+
appearance?: 'line' | 'plane';
|
|
43
|
+
theme?: 'dark' | 'light';
|
|
44
|
+
audioUrl: string;
|
|
45
|
+
};
|
|
46
|
+
/** 图文标签 */
|
|
47
|
+
ImageText: {
|
|
48
|
+
/** @deprecated: 'text' replace by 'title' */
|
|
49
|
+
text?: string;
|
|
50
|
+
title?: string;
|
|
51
|
+
mediaData: (MediaData & {
|
|
52
|
+
name?: string;
|
|
53
|
+
})[];
|
|
54
|
+
};
|
|
55
|
+
/** 图片标签 */
|
|
56
|
+
Image: ContentTypeMapInterface['ImageText'];
|
|
57
|
+
/** 视频标签 */
|
|
58
|
+
Video: ContentTypeMapInterface['ImageText'];
|
|
59
|
+
/** 跳转外链标签 */
|
|
60
|
+
Link: {
|
|
61
|
+
/** @deprecated: 'text' replace by 'title' */
|
|
62
|
+
text?: string;
|
|
63
|
+
title?: string;
|
|
64
|
+
/** @deprecated: linkType 不再和样式绑定,使用 iconUrl 代替 */
|
|
65
|
+
linkType?: 'vr' | 'normal';
|
|
66
|
+
icon?: TagIconUrl;
|
|
67
|
+
};
|
|
68
|
+
/** VR跳转标签 */
|
|
69
|
+
VRLink: ContentTypeMapInterface['Link'];
|
|
70
|
+
/** 贴纸标签 */
|
|
71
|
+
Sticker: ContentTypeMapInterface['Link'];
|
|
72
|
+
/** 全景跳转标签 */
|
|
73
|
+
PanoLink: ContentTypeMapInterface['Link'];
|
|
74
|
+
/** 营销标签 */
|
|
75
|
+
Marketing: {
|
|
76
|
+
/** 标题 */
|
|
77
|
+
title: string;
|
|
78
|
+
/** 高亮的标签 */
|
|
79
|
+
brandTags?: string[];
|
|
80
|
+
/** 普通标签 */
|
|
81
|
+
tags?: string[];
|
|
82
|
+
/** 头部宣传图 */
|
|
83
|
+
headerPictureUrl?: string;
|
|
84
|
+
/** 跳转文字 */
|
|
85
|
+
highlightText?: string;
|
|
86
|
+
/** 主题 */
|
|
87
|
+
theme?: 'dark' | 'light';
|
|
88
|
+
/** 限制营销标签大小 */
|
|
89
|
+
limitWidth?: boolean | number;
|
|
90
|
+
/** 价格 */
|
|
91
|
+
price?: {
|
|
92
|
+
value: string | number;
|
|
93
|
+
/** 单位 */
|
|
94
|
+
unit: string;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
/** 营销贴片 */
|
|
98
|
+
MediaPlane: {
|
|
99
|
+
enableCarousel?: boolean;
|
|
100
|
+
/** 多媒体在容器中的适配规则 {@link https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit} */
|
|
101
|
+
objectFit?: ObjectFit;
|
|
102
|
+
autoplayConfig?: {
|
|
103
|
+
/**
|
|
104
|
+
* @description 是否自动播放视频
|
|
105
|
+
* @default autoplayVideo: false
|
|
106
|
+
*/
|
|
107
|
+
autoplayVideo?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* @description 是否自动轮播
|
|
110
|
+
* @default autoplayCarousel: true
|
|
111
|
+
*/
|
|
112
|
+
autoplayCarousel?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* @description 轮播中遇到视频是否要自动播放
|
|
115
|
+
* @default autoplayVideoInCarousel: false
|
|
116
|
+
*/
|
|
117
|
+
autoplayVideoInCarousel?: boolean;
|
|
118
|
+
};
|
|
119
|
+
mediaData: MediaData[];
|
|
120
|
+
/** @description 暂停时的播放按钮url */
|
|
121
|
+
playIcon?: 'withText' | 'withoutText' | string;
|
|
122
|
+
} & DeprecatedMediaPlaneProperty;
|
|
123
|
+
MediaModel: {
|
|
124
|
+
modelUrl: string;
|
|
125
|
+
mediaData: MediaData[];
|
|
126
|
+
mediaPosition: [Position, Position, Position, Position];
|
|
127
|
+
matrix?: number[];
|
|
128
|
+
/** 多媒体在容器中的适配规则 {@link https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit} */
|
|
129
|
+
objectFit?: ObjectFit;
|
|
130
|
+
action?: {
|
|
131
|
+
url: string;
|
|
132
|
+
type: 'iframe' | 'window';
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
Model: {
|
|
136
|
+
modelUrl: string;
|
|
137
|
+
matrix?: number[];
|
|
138
|
+
action?: {
|
|
139
|
+
url?: string;
|
|
140
|
+
type: 'iframe' | 'window' | 'custom';
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
Custom: Object;
|
|
144
|
+
Unknown: Object;
|
|
145
|
+
}
|
|
146
|
+
type ContentTypeMapInterfaceWithExtraData = {
|
|
147
|
+
[key in keyof ContentTypeMapInterface]: ContentTypeMapInterface[key] & {
|
|
148
|
+
extraData?: Object;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
export type ContentTypeMap = Pick<ContentTypeMapInterfaceWithExtraData, TagContentType>;
|
|
152
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Tag } from './Tag';
|
|
2
|
+
import type TagContentSvelte from '../../Components/Tag/index.svelte';
|
|
3
|
+
import type { TagContentType } from './TagData';
|
|
4
|
+
import type { StickType, TagGLTFObject } from './Utils';
|
|
5
|
+
import type { Create3DDomContainerReturnType } from '../../../CSS3DRenderPlugin';
|
|
6
|
+
import type { Vector3 } from 'three';
|
|
7
|
+
import type { ImagePlane, VideoPlane } from '../../utils/model/mediaPlane';
|
|
8
|
+
import type { TagEvents } from '../controller';
|
|
9
|
+
import type { TagConfig } from './TagConfig';
|
|
10
|
+
import type { Subscribe } from '@realsee/five';
|
|
11
|
+
import type { SetRequired } from 'type-fest';
|
|
12
|
+
type RequiredTag<C extends TagContentType = TagContentType, S extends StickType = StickType> = SetRequired<Tag<C, S>, 'id' | 'data' | 'enabled' | 'config' | 'stickType' | 'contentType'>;
|
|
13
|
+
export type TagInstance<C extends TagContentType = TagContentType, S extends StickType = StickType> = RequiredTag<C, S> & Partial<{
|
|
14
|
+
screenPosition: {
|
|
15
|
+
leftPercent: number;
|
|
16
|
+
topPercent: number;
|
|
17
|
+
} | null;
|
|
18
|
+
temporaryState: {
|
|
19
|
+
visible: boolean;
|
|
20
|
+
};
|
|
21
|
+
tag3DContentSvelte: {
|
|
22
|
+
svelteApp: TagContentSvelte;
|
|
23
|
+
/** @deprecated rename to css3DInstance */
|
|
24
|
+
domContainer: NonNullable<Create3DDomContainerReturnType>;
|
|
25
|
+
css3DInstance: NonNullable<Create3DDomContainerReturnType>;
|
|
26
|
+
initialNormal: Vector3;
|
|
27
|
+
currentNormal: Vector3;
|
|
28
|
+
dispose: () => void;
|
|
29
|
+
};
|
|
30
|
+
initialConfig: TagConfig<C>;
|
|
31
|
+
mediaPlane: ImagePlane | VideoPlane;
|
|
32
|
+
model: {
|
|
33
|
+
promise: Promise<TagGLTFObject>;
|
|
34
|
+
object?: TagGLTFObject;
|
|
35
|
+
};
|
|
36
|
+
mediaVisible: boolean;
|
|
37
|
+
play: () => void;
|
|
38
|
+
pause: () => void;
|
|
39
|
+
}> & {
|
|
40
|
+
state: {
|
|
41
|
+
visible?: boolean;
|
|
42
|
+
unfolded: boolean;
|
|
43
|
+
};
|
|
44
|
+
hooks: Subscribe<TagEvents>;
|
|
45
|
+
unfold: () => void;
|
|
46
|
+
fold: () => void;
|
|
47
|
+
enable: () => void;
|
|
48
|
+
disable: () => void;
|
|
49
|
+
destroy: () => void;
|
|
50
|
+
};
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { GLTFObject } from '@realsee/five/gltf-loader';
|
|
2
|
+
import type { Group } from 'three';
|
|
3
|
+
import type { TagContentType } from './TagData';
|
|
4
|
+
import type { ImagePlane } from '../../utils/model/mediaPlane';
|
|
5
|
+
import type { PartialDeep } from 'type-fest';
|
|
6
|
+
import type { TagInstance } from './TagInstance';
|
|
7
|
+
export type TagId = string | number;
|
|
8
|
+
export type ArrayPosition = number[];
|
|
9
|
+
export type Position = ArrayPosition;
|
|
10
|
+
export type PanoIndex = number;
|
|
11
|
+
export type WorkCode = string;
|
|
12
|
+
export type PartialObjectDeep<ObjectType extends object> = {
|
|
13
|
+
[KeyType in keyof ObjectType]?: PartialDeep<ObjectType[KeyType]>;
|
|
14
|
+
};
|
|
15
|
+
export interface MinMax {
|
|
16
|
+
min?: number;
|
|
17
|
+
max?: number;
|
|
18
|
+
}
|
|
19
|
+
export type StickType = '2DPoint' | '3DPoint' | 'Plane' | 'Model';
|
|
20
|
+
export interface TagIconUrl {
|
|
21
|
+
url?: string;
|
|
22
|
+
/** 是否使用默认 tag point,默认为 true */
|
|
23
|
+
enabled?: boolean;
|
|
24
|
+
/** 指切图是几倍图,如 2倍图, 3倍图,默认值为 3 */
|
|
25
|
+
ratio?: number;
|
|
26
|
+
/** 指帧动画的雪碧图由几张图片构成 */
|
|
27
|
+
steps?: number;
|
|
28
|
+
/** 单位:帧/s, 默认每秒24帧,即 fps: 24 */
|
|
29
|
+
fps?: number;
|
|
30
|
+
/** 期望渲染在屏幕上的宽度,如果指定了scale,则最终渲染在屏幕上的宽度 = width * scale */
|
|
31
|
+
width?: number;
|
|
32
|
+
/** 缩放值。默认为1,如果指定了scale,则最终渲染在屏幕上的宽度 = width * scale */
|
|
33
|
+
scale?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface TagStyle {
|
|
36
|
+
/** 小圆点样式 */
|
|
37
|
+
point?: {
|
|
38
|
+
/** @deprecated v2.11.0 废弃,使用 width: number 控制 */
|
|
39
|
+
size?: TagIconSize;
|
|
40
|
+
} & TagIconUrl;
|
|
41
|
+
}
|
|
42
|
+
export type TagGLTFObject = GLTFObject & {
|
|
43
|
+
customID: number | string;
|
|
44
|
+
isTagModel: boolean;
|
|
45
|
+
removeEventListener: () => void;
|
|
46
|
+
updateTagCss3DObjectMatrix?: () => void;
|
|
47
|
+
};
|
|
48
|
+
/** 返回一个销毁函数 */
|
|
49
|
+
export type ElementRenderer = (container: HTMLElement) => () => void;
|
|
50
|
+
export interface TagObjectGroup extends Group {
|
|
51
|
+
children: Array<TagGLTFObjectGroup>;
|
|
52
|
+
}
|
|
53
|
+
export interface TagGLTFObjectGroup extends Group {
|
|
54
|
+
children: TagGLTFObject[];
|
|
55
|
+
}
|
|
56
|
+
export interface ImagePlaneGroup extends Group {
|
|
57
|
+
children: ImagePlane[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @description S: 18; M: 20; L: 24; XL: 28
|
|
61
|
+
*/
|
|
62
|
+
export type TagIconSize = 'S' | 'M' | 'L' | 'XL' | number;
|
|
63
|
+
export type AudioAppearance = TagInstance<'Audio'>['data']['appearance'];
|
|
64
|
+
export type AudioTagTypeConfigKey = `${StickType | 'Any'}-Audio-${AudioAppearance}`;
|
|
65
|
+
export type ContentTypeConfigKey = `${StickType | 'Any'}-${TagContentType | 'Any'}` | TagContentType | AudioTagTypeConfigKey;
|
|
66
|
+
/**
|
|
67
|
+
* @description: 从 ContentTypeConfigKey 中提取 ContentTypeConfigKey 对应的 TagContentType 是啥,没找到就是 never
|
|
68
|
+
*/
|
|
69
|
+
export type PickTagContentTypeInContentTypeConfigKey<T extends ContentTypeConfigKey> = T extends `${any}-Audio-${any}` ? 'Audio' : T extends `${any}-${infer C}` ? C : T extends TagContentType ? T : never;
|
|
70
|
+
export type ContentTypeConfigKeySplit = [StickType | 'Any', TagContentType | 'Any'] | [TagContentType] | [StickType | 'Any', 'Audio', AudioAppearance];
|
|
71
|
+
export type PointTag<C extends TagContentType = TagContentType> = TagInstance<C, '2DPoint' | '3DPoint'>;
|
|
72
|
+
/** 二维标签 */
|
|
73
|
+
export type Point2DTag<C extends TagContentType = TagContentType> = TagInstance<C, '2DPoint'>;
|
|
74
|
+
/** 三维标签 */
|
|
75
|
+
export type Point3DTag<C extends TagContentType = TagContentType> = TagInstance<C, '3DPoint'>;
|
|
76
|
+
/** 三维贴片 */
|
|
77
|
+
export type PlaneTag<C extends TagContentType = TagContentType> = TagInstance<C, 'Plane'>;
|