@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
291 lines (254 loc) • 12.1 kB
TypeScript
import type CIMSymbol from "./CIMSymbol.js";
import type ExtrudeSymbol3DLayer from "./ExtrudeSymbol3DLayer.js";
import type FillSymbol3DLayer from "./FillSymbol3DLayer.js";
import type IconSymbol3DLayer from "./IconSymbol3DLayer.js";
import type LabelSymbol3D from "./LabelSymbol3D.js";
import type LineSymbol3D from "./LineSymbol3D.js";
import type LineSymbol3DLayer from "./LineSymbol3DLayer.js";
import type MeshSymbol3D from "./MeshSymbol3D.js";
import type ObjectSymbol3DLayer from "./ObjectSymbol3DLayer.js";
import type PathSymbol3DLayer from "./PathSymbol3DLayer.js";
import type PictureFillSymbol from "./PictureFillSymbol.js";
import type PictureMarkerSymbol from "./PictureMarkerSymbol.js";
import type PointSymbol3D from "./PointSymbol3D.js";
import type PolygonSymbol3D from "./PolygonSymbol3D.js";
import type SimpleFillSymbol from "./SimpleFillSymbol.js";
import type SimpleLineSymbol from "./SimpleLineSymbol.js";
import type SimpleMarkerSymbol from "./SimpleMarkerSymbol.js";
import type TextSymbol from "./TextSymbol.js";
import type TextSymbol3DLayer from "./TextSymbol3DLayer.js";
import type WaterSymbol3DLayer from "./WaterSymbol3DLayer.js";
import type WebStyleSymbol from "./WebStyleSymbol.js";
import type { CIMSymbolProperties } from "./CIMSymbol.js";
import type { LabelSymbol3DProperties } from "./LabelSymbol3D.js";
import type { LineSymbol3DProperties } from "./LineSymbol3D.js";
import type { MeshSymbol3DProperties } from "./MeshSymbol3D.js";
import type { PictureFillSymbolProperties } from "./PictureFillSymbol.js";
import type { PictureMarkerSymbolProperties } from "./PictureMarkerSymbol.js";
import type { PointSymbol3DProperties } from "./PointSymbol3D.js";
import type { PolygonSymbol3DProperties } from "./PolygonSymbol3D.js";
import type { SimpleFillSymbolProperties } from "./SimpleFillSymbol.js";
import type { SimpleLineSymbolProperties } from "./SimpleLineSymbol.js";
import type { SimpleMarkerSymbolProperties } from "./SimpleMarkerSymbol.js";
import type { TextSymbolProperties } from "./TextSymbol.js";
import type { WebStyleSymbolProperties } from "./WebStyleSymbol.js";
/**
* Line styles for 2D and 3D symbols.
*
* @since 5.0
* @see [SimpleLineSymbol.style](https://developers.arcgis.com/javascript/latest/references/core/symbols/SimpleLineSymbol/#style)
* @see [LineStylePattern3D.style](https://developers.arcgis.com/javascript/latest/references/core/symbols/patterns/LineStylePattern3D/#style)
*/
export type LineStyle = "dash" | "dash-dot" | "dot" | "long-dash" | "long-dash-dot" | "long-dash-dot-dot" | "none" | "short-dash" | "short-dash-dot" | "short-dash-dot-dot" | "short-dot" | "solid";
/**
* Line cap styles for 2D and 3D symbols.
*
* @since 5.0
* @see [SimpleLineSymbol.cap](https://developers.arcgis.com/javascript/latest/references/core/symbols/SimpleLineSymbol/#cap)
* @see [LineSymbol3DLayer.cap](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbol3DLayer/#cap)
*/
export type LineCap = "square" | "round" | "butt";
/**
* Line join styles for 2D and 3D symbols.
*
* @since 5.0
* @see [SimpleLineSymbol.join](https://developers.arcgis.com/javascript/latest/references/core/symbols/SimpleLineSymbol/#join)
* @see [LineSymbol3DLayer.join](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbol3DLayer/#join)
*/
export type LineJoin = "miter" | "bevel" | "round";
/**
* Line marker placement options for 2D and 3D symbols.
*
* @since 5.0
* @see [LineStyleMarker3D.placement](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineStyleMarker3D/#placement)
* @see [LineSymbolMarker.placement](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbolMarker/#placement)
*/
export type LineMarkerPlacement = "begin" | "end" | "begin-end";
/**
* Line marker styles for 2D and 3D symbols.
*
* @since 5.0
* @see [LineStyleMarker3D.style](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineStyleMarker3D/#style)
* @see [LineSymbolMarker.style](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbolMarker/#style)
*/
export type LineMarkerStyle = "arrow" | "circle" | "square" | "diamond" | "cross" | "x";
/**
* Fill styles for 2D and 3D symbols.
*
* @since 5.0
* @see [StylePattern3D.style](https://developers.arcgis.com/javascript/latest/references/core/symbols/patterns/StylePattern3D/#style)
* @see [SimpleFillSymbol.style](https://developers.arcgis.com/javascript/latest/references/core/symbols/SimpleFillSymbol/#style)
*/
export type FillStyle = "backward-diagonal" | "cross" | "diagonal-cross" | "forward-diagonal" | "horizontal" | "none" | "solid" | "vertical";
/**
* Profile styles for PathSymbol3DLayer.
*
* @since 5.0
* @see [PathSymbol3DLayer.profile](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/#profile)
*/
export type PathSymbol3DLayerProfile = "circle" | "quad";
/**
* Layer join styles for PathSymbol3DLayer.
*
* @since 5.0
* @see [PathSymbol3DLayer.join](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/#join)
*/
export type PathSymbol3DLayerJoin = LineJoin;
/**
* Line cap styles for PathSymbol3DLayer.
*
* @since 5.0
* @see [PathSymbol3DLayer.cap](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/#cap)
*/
export type PathSymbol3DLayerCap = LineCap | "none";
/**
* Anchor positions for PathSymbol3DLayer.
*
* @since 5.0
* @see [PathSymbol3DLayer.anchor](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/#anchor)
*/
export type PathSymbol3DLayerAnchor = "center" | "bottom" | "top";
/**
* Rotation modes for PathSymbol3DLayer.
*
* @since 5.0
* @see [PathSymbol3DLayer.profileRotation](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/#profileRotation)
*/
export type PathSymbol3DLayerProfileRotation = "heading" | "all";
/**
* Types of anchors for IconSymbol3DLayer.
*
* @since 5.0
* @see [IconSymbol3DLayer.anchor](https://developers.arcgis.com/javascript/latest/references/core/symbols/IconSymbol3DLayer/#anchor)
*/
export type IconSymbol3DLayerAnchor = "center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "relative";
/**
* Primitive shapes for IconSymbol3DLayer.
*
* @since 5.0
* @see [IconSymbol3DLayerResource.primitive](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/IconSymbol3DLayerResource/#primitive)
*/
export type IconSymbol3DLayerPrimitive = "x" | "circle" | "square" | "cross" | "triangle" | "kite";
/**
* Types of anchors for ObjectSymbol3DLayer.
*
* @since 5.0
* @see [ObjectSymbol3DLayer.anchor](https://developers.arcgis.com/javascript/latest/references/core/symbols/ObjectSymbol3DLayer/#anchor)
*/
export type ObjectSymbol3DLayerAnchor = "center" | "top" | "bottom" | "origin" | "relative";
/**
* Primitive types for ObjectSymbol3DLayer.
*
* @since 5.0
* @see [ObjectSymbol3DLayerResource.primitive](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ObjectSymbol3DLayerResource/#primitive)
*/
export type ObjectSymbol3DLayerPrimitiveType = "sphere" | "cylinder" | "cube" | "cone" | "inverted-cone" | "diamond" | "tetrahedron";
/**
* Sizes of water bodies for WaterSymbol3DLayer.
*
* @since 5.0
* @see [WaterSymbol3DLayer.waterbodySize](https://developers.arcgis.com/javascript/latest/references/core/symbols/WaterSymbol3DLayer/#waterbodySize)
*/
export type WaterBodySize = "small" | "medium" | "large";
/**
* Strength of waves for WaterSymbol3DLayer.
*
* @since 5.0
* @see [WaterSymbol3DLayer.waveStrength](https://developers.arcgis.com/javascript/latest/references/core/symbols/WaterSymbol3DLayer/#waveStrength)
*/
export type WaveStrength = "calm" | "rippled" | "slight" | "moderate";
/**
* Font decoration options.
*
* @since 5.0
* @see [Font.decoration](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#decoration)
*/
export type FontDecoration = "none" | "underline" | "line-through";
/**
* Font style options.
*
* @since 5.0
* @see [Font.style](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#style)
*/
export type FontStyle = "normal" | "italic" | "oblique";
/**
* Font weight options.
*
* @since 5.0
* @see [Font.weight](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#weight)
*/
export type FontWeight = "normal" | "lighter" | "bold" | "bolder";
/**
* Horizontal text alignment options.
*
* @since 5.0
* @see [TextSymbol.horizontalAlignment](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#horizontalAlignment)
* @see [TextSymbol3DLayer.horizontalAlignment](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/#horizontalAlignment)
*/
export type TextHorizontalAlignment = "left" | "right" | "center";
/**
* Vertical text alignment options.
*
* @since 5.0
* @see [TextSymbol.verticalAlignment](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#verticalAlignment)
* @see [TextSymbol3DLayer.verticalAlignment](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/#verticalAlignment)
*/
export type TextVerticalAlignment = "baseline" | "top" | "middle" | "bottom";
/**
* Union of all 3D symbol layers.
*
* @since 5.0
*/
export type Symbol3DLayerUnion = ExtrudeSymbol3DLayer | FillSymbol3DLayer | IconSymbol3DLayer | LineSymbol3DLayer | ObjectSymbol3DLayer | PathSymbol3DLayer | TextSymbol3DLayer | WaterSymbol3DLayer;
/** @since 5.0 */
export type Symbol3DLayerType = Symbol3DLayerUnion["type"];
/**
* Union of all 2D fill symbols.
*
* @since 5.0
*/
export type FillSymbolUnion = PictureFillSymbol | SimpleFillSymbol;
/**
* Union of all 2D marker symbols.
*
* @since 5.0
*/
export type MarkerSymbolUnion = PictureMarkerSymbol | SimpleMarkerSymbol;
/**
* Union of all 2D symbols.
*
* @since 5.0
*/
export type Symbol2DUnion = PictureFillSymbol | PictureMarkerSymbol | SimpleFillSymbol | SimpleLineSymbol | SimpleMarkerSymbol | TextSymbol | CIMSymbol;
/** @since 5.0 */
export type Symbol2DUnionProperties = (PictureFillSymbolProperties & { type: "picture-fill"; }) | (PictureMarkerSymbolProperties & { type: "picture-marker"; }) | (SimpleFillSymbolProperties & { type: "simple-fill"; }) | (SimpleLineSymbolProperties & { type: "simple-line"; }) | (SimpleMarkerSymbolProperties & { type: "simple-marker"; }) | (TextSymbolProperties & { type: "text"; }) | (CIMSymbolProperties & { type: "cim"; });
/**
* Union of all 3D symbols.
*
* @since 5.0
*/
export type Symbol3DUnion = LabelSymbol3D | LineSymbol3D | MeshSymbol3D | PointSymbol3D | PolygonSymbol3D;
/** @since 5.0 */
export type Symbol3DUnionProperties = (LabelSymbol3DProperties & { type: "label-3d"; }) | (LineSymbol3DProperties & { type: "line-3d"; }) | (MeshSymbol3DProperties & { type: "mesh-3d"; }) | (PointSymbol3DProperties & { type: "point-3d"; }) | (PolygonSymbol3DProperties & { type: "polygon-3d"; });
/**
* Union of all 2D and 3D symbols.
*
* @since 5.0
*/
export type Symbol2D3DUnion = Symbol2DUnion | Symbol3DUnion;
/**
* Union of all symbols.
*
* @since 5.0
*/
export type SymbolUnion = Symbol2DUnion | Symbol3DUnion | WebStyleSymbol;
/** @since 5.0 */
export type SymbolType = SymbolUnion["type"];
/** @since 5.0 */
export type SymbolUnionProperties = Symbol2DUnionProperties | Symbol3DUnionProperties | (WebStyleSymbolProperties & { type: "web-style"; });
/** @since 5.0 */
export type PointSymbolUnion = PictureMarkerSymbol | SimpleMarkerSymbol | PointSymbol3D | CIMSymbol;
/** @since 5.0 */
export type LineSymbolUnion = SimpleLineSymbol | LineSymbol3D | CIMSymbol;
/** @since 5.0 */
export type PolygonSymbolUnion = SimpleFillSymbol | PictureFillSymbol | PolygonSymbol3D | CIMSymbol;