{"version":3,"file":"selector-types-CZHdvxMr.d.cts","names":["ImageApiSelector","SvgShapeType","SupportedSelector","TransformPoint","SelectorTransform","SelectorStyle","BoxStyle","_BoxStyle","TransformUnit","Partial","BoxSelector","PointSelector","SvgSelector","TemporalSelector","RotationSelector","TemporalBoxSelector","SupportedSelectors","ParsedSelector"],"sources":["../src/annotation-targets/selector-types.d.ts"],"sourcesContent":["import type { ImageApiSelector } from '@iiif/presentation-3';\nexport type SvgShapeType = 'rect' | 'circle' | 'ellipse' | 'line' | 'polyline' | 'polygon' | 'path';\nexport interface SupportedSelector {\n    type: string;\n    temporal?: {\n        startTime: number;\n        endTime?: number;\n    };\n    spatial?: {\n        unit?: 'percent' | 'pixel';\n        x: number;\n        y: number;\n        width?: number;\n        height?: number;\n    };\n    rotation?: number;\n    rotationOrigin?: TransformPoint;\n    translate?: TransformPoint;\n    transform?: SelectorTransform;\n    points?: [number, number][];\n    svg?: string;\n    svgShape?: SvgShapeType;\n    style?: SelectorStyle;\n    boxStyle?: BoxStyle;\n}\nexport type BoxStyle = _BoxStyle & {\n    ':hover'?: _BoxStyle;\n    ':active'?: _BoxStyle;\n};\nexport type TransformUnit = 'pixel' | 'percent';\nexport type TransformPoint = {\n    x: number;\n    y: number;\n    unit?: TransformUnit;\n    xUnit?: TransformUnit;\n    yUnit?: TransformUnit;\n};\nexport type SelectorTransform = {\n    rotation?: number;\n    rotationOrigin?: TransformPoint;\n    translate?: TransformPoint;\n    transform?: string;\n    transformOrigin?: string;\n};\ntype _BoxStyle = Partial<{\n    backgroundColor: string;\n    opacity: number;\n    boxShadow: string;\n    borderColor: string;\n    borderWidth: string;\n    borderStyle: string;\n    outlineColor: string;\n    outlineWidth: string;\n    outlineOffset: string;\n    outlineStyle: string;\n    border: string;\n    outline: string;\n    background: string;\n    transform: string;\n    transformOrigin: string;\n}>;\nexport interface SelectorStyle {\n    fill?: string;\n    fillOpacity?: number;\n    stroke?: string;\n    strokeOpacity?: number;\n    strokeWidth?: string;\n    strokeDasharray?: string;\n}\nexport interface BoxSelector extends SupportedSelector {\n    type: 'BoxSelector';\n    spatial: {\n        unit?: 'percent' | 'pixel';\n        x: number;\n        y: number;\n        width: number;\n        height: number;\n    };\n    rotation?: number;\n    rotationOrigin?: TransformPoint;\n    translate?: TransformPoint;\n    transform?: SelectorTransform;\n}\nexport interface PointSelector extends SupportedSelector {\n    type: 'PointSelector';\n    spatial: {\n        x: number;\n        y: number;\n    };\n    rotation?: number;\n    rotationOrigin?: TransformPoint;\n    translate?: TransformPoint;\n    transform?: SelectorTransform;\n}\nexport interface SvgSelector extends SupportedSelector {\n    type: 'SvgSelector';\n    svg: string;\n    svgShape?: SvgShapeType;\n    points?: [number, number][];\n    spatial?: {\n        unit: 'pixel';\n        x: number;\n        y: number;\n        width: number;\n        height: number;\n    };\n    rotation?: number;\n    rotationOrigin?: TransformPoint;\n    translate?: TransformPoint;\n    transform?: SelectorTransform;\n}\nexport interface TemporalSelector extends SupportedSelector {\n    type: 'TemporalSelector';\n    temporal: {\n        startTime: number;\n        endTime?: number;\n    };\n}\nexport interface RotationSelector extends SupportedSelector {\n    type: 'RotationSelector';\n    rotation: number;\n}\nexport interface TemporalBoxSelector extends SupportedSelector {\n    type: 'TemporalBoxSelector';\n    spatial: {\n        unit?: 'percent' | 'pixel';\n        x: number;\n        y: number;\n        width: number;\n        height: number;\n    };\n    rotation?: number;\n    rotationOrigin?: TransformPoint;\n    translate?: TransformPoint;\n    transform?: SelectorTransform;\n    temporal: {\n        startTime: number;\n        endTime?: number;\n    };\n}\nexport type SupportedSelectors = TemporalSelector | BoxSelector | TemporalBoxSelector | PointSelector | SvgSelector | RotationSelector;\nexport type ParsedSelector = {\n    selector: SupportedSelectors | null;\n    selectors: SupportedSelectors[];\n    iiifRenderingHints?: ImageApiSelector;\n};\nexport {};\n"],"mappings":"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"}