UNPKG

@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
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;