// Built-in JSX views and host helpers. Editor metadata only. /** JSX 그리기 노드. */ interface View {} /** 뷰 속성. */ type ViewContent = View | string | number | boolean | null | undefined | ViewContent[]; /** 뷰 속성. */ type TextContent = string | number | bigint | boolean | symbol | { toString(): string } | null | undefined; /** 그리기 색상과 그라디언트에 사용하는 HDR 색상 데이터. */ type HDRColor = { readonly $type: "CapDrive.HDR"; readonly color: string }; /** 뷰 속성. */ type RGBColor = { space?: "srgb" | "displayP3"; r: number; g: number; b: number; a?: number }; /** 뷰 속성. */ type Color = string | RGBColor | HDRColor; /** 뷰 속성. */ type ViewPoint = { x: number; y: number }; /** 뷰 속성. */ type ChartDataPoint = { value: { x: number; y: number | null }; label: { x: string; y: string } }; /** 뷰 속성. */ type ChartRange = readonly [min: number, max: number]; /** 뷰 속성. */ type MapCoordinate = { latitude: number; longitude: number }; /** 뷰 속성. */ type MapPathStyle = { stroke?: Color; lineWidth?: number; lineCap?: "round" | "butt" | "square"; lineJoin?: "round" | "miter" | "bevel"; dash?: readonly number[]; dashPhase?: number; outlineStroke?: Color; outlineWidth?: number; showEndpoints?: boolean }; /** 뷰 속성. */ type ChartAxisStyle = { stroke?: Paint; lineWidth?: number; lineCap?: "round" | "butt" | "square"; dash?: readonly number[]; dashPhase?: number }; /** 뷰 속성. */ type BarChartDataPoint = { value: number; label?: string }; /** 뷰 속성. */ type PathCommand = { op: "move"; x: number; y: number } | { op: "line"; x: number; y: number } | { op: "quad"; x: number; y: number; cx: number; cy: number } | { op: "cubic"; x: number; y: number; c1x: number; c1y: number; c2x: number; c2y: number } | { op: "arc"; x: number; y: number; radius: number; startAngle: number; sweepAngle: number } | { op: "close" }; /** 뷰 속성. */ type GradientStop = Color | { color: Color; location: number }; /** 뷰 속성. */ type GradientColors = ReadonlyArray; /** 뷰 속성. */ type LinearGradientOptions = { angle?: number; center?: ViewPoint }; /** 뷰 속성. */ type RadialGradientOptions = { startRadius?: number; endRadius?: number; center?: ViewPoint }; /** 뷰 속성. */ type AngularGradientOptions = { angle?: number; center?: ViewPoint }; /** 뷰 속성. */ type Gradient = { readonly type: "linear" | "radial" | "angular"; readonly angle?: number; readonly startRadius?: number; readonly endRadius?: number; readonly center?: ViewPoint; readonly colors: GradientColors }; /** 뷰 속성. */ type Paint = Color | Gradient; /** 뷰 속성. */ type DrawingEffect = { color?: Color; opacity?: number; radius?: number; x?: number; y?: number }; /** 뷰 속성. */ type ViewTransform = { translateX?: number; translateY?: number; scaleX?: number; scaleY?: number; rotation?: number; skewX?: number; skewY?: number; anchorX?: number; anchorY?: number }; /** 뷰 속성. */ type RepeatAxisValue = number | { x?: number; y?: number }; /** 뷰 속성. */ type AnimationProperty = "width" | "height" | "padding" | "x" | "y" | "opacity" | "cornerRadius" | "blur" | "shadowOpacity" | "shadowRadius" | "shadowX" | "shadowY" | "fontSize" | "letterSpacing" | "minimumScaleFactor" | "spacing" | "radius" | "radiusX" | "radiusY" | "startAngle" | "sweepAngle" | "lineWidth" | "dashPhase" | "trimStart" | "trimEnd" | "barThickness" | "value" | "offset" | "anchor" | "period" | "minLength" | "color" | "stroke" | "background" | "shadowColor" | "transform.translateX" | "transform.translateY" | "transform.scaleX" | "transform.scaleY" | "transform.rotation" | "transform.skewX" | "transform.skewY" | "transform.anchorX" | "transform.anchorY" | "period.x" | "period.y" | "value.x" | "value.y" | "anchor.x" | "anchor.y" | "offset.x" | "offset.y" | "start.x" | "start.y" | "end.x" | "end.y" | "rangeX.0" | "rangeX.1" | "rangeY.0" | "rangeY.1" | "xAxis.lineWidth" | "xAxis.dashPhase" | "yAxis.lineWidth" | "yAxis.dashPhase" | "xAxis.stroke" | "yAxis.stroke" | "regionOffset.x" | "regionOffset.y" | "pathStyle.lineWidth" | "pathStyle.outlineWidth" | "pathStyle.dashPhase" | "pathStyle.stroke" | "pathStyle.outlineStroke"; /** 뷰 속성. */ type Animation = { property: AnimationProperty; duration?: number; delay?: number; curve?: string; from?: number | Color; to?: number | Color; repeat?: number | "forever"; autoreverse?: boolean; wrap?: number }; /** 뷰 속성. */ type CircleAnimation = (Omit & { property: "width" | "height" | "x" | "y" | "opacity" | "background" | "blur" | "shadowColor" | "shadowOpacity" | "shadowRadius" | "shadowX" | "shadowY" | "dashPhase" | "stroke" | "lineWidth" | "startAngle" | "transform.translateX" | "transform.translateY" | "transform.scaleX" | "transform.scaleY" | "transform.rotation" | "transform.skewX" | "transform.skewY" | "transform.anchorX" | "transform.anchorY" }) | (Omit & { property: "sweepAngle"; from?: number; to?: number; wrap?: never }); /** 뷰 속성. */ type EllipseAnimation = (Omit & { property: "width" | "height" | "x" | "y" | "opacity" | "background" | "blur" | "shadowColor" | "shadowOpacity" | "shadowRadius" | "shadowX" | "shadowY" | "dashPhase" | "stroke" | "lineWidth" | "startAngle" | "transform.translateX" | "transform.translateY" | "transform.scaleX" | "transform.scaleY" | "transform.rotation" | "transform.skewX" | "transform.skewY" | "transform.anchorX" | "transform.anchorY" }) | (Omit & { property: "sweepAngle"; from?: number; to?: number; wrap?: never }); /** 뷰 속성. */ type ArcAnimation = (Omit & { property: "width" | "height" | "x" | "y" | "opacity" | "background" | "blur" | "shadowColor" | "shadowOpacity" | "shadowRadius" | "shadowX" | "shadowY" | "dashPhase" | "stroke" | "lineWidth" | "startAngle" | "transform.translateX" | "transform.translateY" | "transform.scaleX" | "transform.scaleY" | "transform.rotation" | "transform.skewX" | "transform.skewY" | "transform.anchorX" | "transform.anchorY" }) | (Omit & { property: "sweepAngle"; from?: number; to?: number; wrap?: never }); /** 뷰 속성. */ type MapAnimation = (Omit & { property: "width" | "height" | "x" | "y" | "opacity" | "cornerRadius" | "transform.translateX" | "transform.translateY" | "transform.scaleX" | "transform.scaleY" | "transform.rotation" | "transform.skewX" | "transform.skewY" | "transform.anchorX" | "transform.anchorY" | "regionOffset.x" | "regionOffset.y" | "pathStyle.lineWidth" | "pathStyle.outlineWidth" | "pathStyle.dashPhase"; from?: number; to?: number }) | (Omit & { property: "pathStyle.stroke" | "pathStyle.outlineStroke"; from?: Color; to?: Color; wrap?: never }); /** 뷰 속성. */ type LineChartAnimation = (Omit & { property: "width" | "height" | "x" | "y" | "opacity" | "blur" | "shadowColor" | "shadowOpacity" | "shadowRadius" | "shadowX" | "shadowY" | "stroke" | "lineWidth" | "dashPhase" | "transform.translateX" | "transform.translateY" | "transform.scaleX" | "transform.scaleY" | "transform.rotation" | "transform.skewX" | "transform.skewY" | "transform.anchorX" | "transform.anchorY" }) | (Omit & { property: "rangeX.0" | "rangeX.1" | "rangeY.0" | "rangeY.1"; from?: number; to?: number; wrap?: never }) | (Omit & { property: "xAxis.lineWidth" | "xAxis.dashPhase" | "yAxis.lineWidth" | "yAxis.dashPhase"; from?: number; to?: number }) | (Omit & { property: "xAxis.stroke" | "yAxis.stroke"; from?: Color; to?: Color; wrap?: never }); /** 뷰 속성. */ type BarChartAnimation = (Omit & { property: "width" | "height" | "x" | "y" | "opacity" | "background" | "cornerRadius" | "blur" | "shadowColor" | "shadowOpacity" | "shadowRadius" | "shadowX" | "shadowY" | "barThickness" | "stroke" | "lineWidth" | "dashPhase" | "transform.translateX" | "transform.translateY" | "transform.scaleX" | "transform.scaleY" | "transform.rotation" | "transform.skewX" | "transform.skewY" | "transform.anchorX" | "transform.anchorY" }) | (Omit & { property: "rangeY.0" | "rangeY.1"; from?: number; to?: number; wrap?: never }) | (Omit & { property: "xAxis.lineWidth" | "xAxis.dashPhase" | "yAxis.lineWidth" | "yAxis.dashPhase"; from?: number; to?: number }) | (Omit & { property: "xAxis.stroke" | "yAxis.stroke"; from?: Color; to?: Color; wrap?: never }); /** 뷰 속성. */ type RadialLayoutAnimation = (Omit & { property: "width" | "height" | "padding" | "x" | "y" | "opacity" | "background" | "cornerRadius" | "blur" | "shadowColor" | "shadowOpacity" | "shadowRadius" | "shadowX" | "shadowY" | "radius" | "radiusX" | "radiusY" | "startAngle" | "transform.translateX" | "transform.translateY" | "transform.scaleX" | "transform.scaleY" | "transform.rotation" | "transform.skewX" | "transform.skewY" | "transform.anchorX" | "transform.anchorY" }) | (Omit & { property: "sweepAngle"; from?: number; to?: number; wrap?: never }); /** 뷰 속성. */ type SpacerAnimation = { property: "width" | "height" | "minLength"; duration?: number; delay?: number; curve?: string; from?: number; to?: number; repeat?: number | "forever"; autoreverse?: boolean; wrap?: number }; /** 뷰 속성. */ type ContentAnimation = { type: "fade" | "slide" | "scale" | "numericText" | "interpolate"; duration?: number; delay?: number; curve?: string; direction?: string; distance?: number; scale?: number }; /** 뷰 속성. */ type ViewSize = { width: number; height: number }; /** 뷰 속성. */ type ViewInsets = { top: number; leading: number; bottom: number; trailing: number }; /** 뷰 속성. */ type CardContentMetrics = { size: ViewSize; contentSize: ViewSize; headerSize: ViewSize; safeInsets: ViewInsets }; interface CommonViewProps { /** 형제 요소 사이의 안정적인 식별자. */ key?: string | number; /** 자식 그리기 콘텐츠. */ children?: ViewContent; /** 너비: 포인트, 자동 크기 또는 부모 영역 채우기. */ width?: number | "auto" | "fill"; /** 높이: 포인트, 자동 크기 또는 부모 영역 채우기. */ height?: number | "auto" | "fill"; /** 콘텐츠 안쪽 여백(포인트). */ padding?: number; /** 뷰 속성. */ x?: number; /** 뷰 속성. */ y?: number; /** 뷰 속성. */ opacity?: number; /** 뷰 속성. */ background?: Paint; /** 뷰 속성. */ cornerRadius?: number; /** 뷰 속성. */ clipped?: boolean; /** 뷰 속성. */ clip?: "rectangle" | "ellipse"; /** 뷰 속성. */ blur?: number; /** 뷰 속성. */ zIndex?: number; /** 뷰 속성. */ innerShadow?: DrawingEffect; /** 뷰 속성. */ glow?: DrawingEffect; /** 뷰 속성. */ shadowColor?: Color; /** 뷰 속성. */ shadowOpacity?: number; /** 뷰 속성. */ shadowRadius?: number; /** 뷰 속성. */ shadowX?: number; /** 뷰 속성. */ shadowY?: number; /** 알파 마스크 View입니다. 레이아웃에 영향을 주지 않고 중앙에 배치되며, null이면 마스크가 비활성화됩니다. */ mask?: View | null; /** 뷰 속성. */ transform?: ViewTransform; /** 뷰 속성. */ animations?: Animation[]; } interface TextProps extends CommonViewProps { /** 자식 그리기 콘텐츠. */ children?: TextContent | TextContent[]; /** 글꼴 크기(포인트). */ fontSize?: number; /** 뷰 속성. */ fontWeight?: "ultraLight" | "thin" | "light" | "regular" | "medium" | "semibold" | "bold" | "heavy" | "black"; /** 뷰 속성. */ font?: "default" | "rounded" | "monospaced" | "serif"; /** 뷰 속성. */ monospacedDigits?: boolean; /** 뷰 속성. */ letterSpacing?: number; /** 뷰 속성. */ minimumScaleFactor?: number; /** 뷰 속성. */ lineLimit?: number | null; /** 뷰 속성. */ truncationMode?: "head" | "middle" | "tail"; /** HDR 색상을 포함한 그리기 색상. */ color?: Paint; /** 뷰 속성. */ alignment?: "leading" | "center" | "trailing"; /** 뷰 속성. */ contentAnimation?: ContentAnimation; } interface ImageProps extends CommonViewProps { children?: never; /** 뷰 속성. */ source: string; /** 뷰 속성. */ contentMode?: "fit" | "fill" | "stretch"; /** 뷰 속성. */ repeatMode?: "none" | "repeat" | "repeatX" | "repeatY"; /** 뷰 속성. */ renderingMode?: "original" | "template"; /** HDR 색상을 포함한 그리기 색상. */ color?: Paint; /** 뷰 속성. */ contentAnimation?: ContentAnimation; } interface GroupProps { /** 형제 요소 사이의 안정적인 식별자. */ key?: string | number; /** 자식 그리기 콘텐츠. */ children?: ViewContent; /** 뷰 속성. */ opacity?: number; /** 뷰 속성. */ background?: Paint; /** 뷰 속성. */ cornerRadius?: number; /** 뷰 속성. */ clipped?: boolean; /** 뷰 속성. */ clip?: "rectangle" | "ellipse"; /** 뷰 속성. */ blur?: number; /** 뷰 속성. */ zIndex?: number; /** 뷰 속성. */ innerShadow?: DrawingEffect; /** 뷰 속성. */ glow?: DrawingEffect; /** 뷰 속성. */ shadowColor?: Color; /** 뷰 속성. */ shadowOpacity?: number; /** 뷰 속성. */ shadowRadius?: number; /** 뷰 속성. */ shadowX?: number; /** 뷰 속성. */ shadowY?: number; /** 알파 마스크 View입니다. 레이아웃에 영향을 주지 않고 중앙에 배치되며, null이면 마스크가 비활성화됩니다. */ mask?: View | null; /** 뷰 속성. */ transform?: ViewTransform; /** 뷰 속성. */ animations?: Animation[]; } interface SpacerProps { children?: never; /** 형제 요소 사이의 안정적인 식별자. */ key?: string | number; /** 너비: 포인트, 자동 크기 또는 부모 영역 채우기. */ width?: number | "auto" | "fill"; /** 높이: 포인트, 자동 크기 또는 부모 영역 채우기. */ height?: number | "auto" | "fill"; /** 뷰 속성. */ minLength?: number; /** 뷰 속성. */ animations?: SpacerAnimation[]; } interface VStackProps extends CommonViewProps { /** 자식 뷰 사이 간격(포인트). */ spacing?: number; /** 뷰 속성. */ alignment?: "leading" | "center" | "trailing"; } interface HStackProps extends CommonViewProps { /** 자식 뷰 사이 간격(포인트). */ spacing?: number; /** 뷰 속성. */ alignment?: "top" | "center" | "bottom" | "firstTextBaseline" | "lastTextBaseline"; } interface ZStackProps extends CommonViewProps { /** 뷰 속성. */ alignment?: "topLeading" | "top" | "topTrailing" | "leading" | "center" | "trailing" | "bottomLeading" | "bottom" | "bottomTrailing"; } interface MaterialProps { children?: never; /** 형제 요소 사이의 안정적인 식별자. */ key?: string | number; /** 너비: 포인트, 자동 크기 또는 부모 영역 채우기. */ width?: number | "auto" | "fill"; /** 높이: 포인트, 자동 크기 또는 부모 영역 채우기. */ height?: number | "auto" | "fill"; /** 뷰 속성. */ x?: number; /** 뷰 속성. */ y?: number; /** 뷰 속성. */ opacity?: number; /** 뷰 속성. */ background?: Paint; /** 뷰 속성. */ cornerRadius?: number; /** 뷰 속성. */ clipped?: boolean; /** 뷰 속성. */ clip?: boolean | "rectangle" | "ellipse"; /** 뷰 속성. */ blur?: number; /** 뷰 속성. */ zIndex?: number; /** 뷰 속성. */ innerShadow?: DrawingEffect; /** 뷰 속성. */ glow?: DrawingEffect; /** 뷰 속성. */ shadowColor?: Color; /** 뷰 속성. */ shadowOpacity?: number; /** 뷰 속성. */ shadowRadius?: number; /** 뷰 속성. */ shadowX?: number; /** 뷰 속성. */ shadowY?: number; /** 알파 마스크 View입니다. 레이아웃에 영향을 주지 않고 중앙에 배치되며, null이면 마스크가 비활성화됩니다. */ mask?: View | null; /** 뷰 속성. */ transform?: ViewTransform; /** 뷰 속성. */ animations?: Animation[]; /** 뷰 속성. */ type: "frosted"; /** 뷰 속성. */ style?: "ultraThin" | "thin" | "regular" | "thick" | "ultraThick" | "bar"; } interface CardContentBase extends Omit { /** 헤더 텍스트 또는 View. */ title?: string | View | null; /** 헤더 끝의 텍스트 또는 View. */ trailing?: string | View | null; /** 뷰 속성. */ contentMode?: "inset" | "full"; /** 뷰 속성. */ headerBackground?: View | null; } interface SymbolProps extends CommonViewProps { children?: never; /** 뷰 속성. */ name: string; /** 글꼴 크기(포인트). */ fontSize?: number; /** 뷰 속성. */ fontWeight?: "ultraLight" | "thin" | "light" | "regular" | "medium" | "semibold" | "bold" | "heavy" | "black"; /** 뷰 속성. */ imageScale?: "small" | "medium" | "large"; /** 뷰 속성. */ renderingMode?: "monochrome" | "hierarchical" | "palette" | "multicolor"; /** 뷰 속성. */ paletteColors?: [Color] | [Color, Color] | [Color, Color, Color]; /** HDR 색상을 포함한 그리기 색상. */ color?: Paint; /** 뷰 속성. */ contentAnimation?: ContentAnimation; } interface RepeatedLayoutProps extends Omit { /** 뷰 속성. */ axis?: "horizontal" | "vertical" | "both"; /** 뷰 속성. */ period?: RepeatAxisValue; /** 뷰 속성. */ value?: RepeatAxisValue; /** 뷰 속성. */ anchor?: RepeatAxisValue; /** 뷰 속성. */ offset?: RepeatAxisValue; /** 뷰 속성. */ alignment?: "topLeading" | "top" | "topTrailing" | "leading" | "center" | "trailing" | "bottomLeading" | "bottom" | "bottomTrailing"; } interface RadialLayoutProps extends CommonViewProps { /** 뷰 속성. */ animations?: RadialLayoutAnimation[]; /** 뷰 속성. */ radius?: number; /** 뷰 속성. */ radiusX?: number; /** 뷰 속성. */ radiusY?: number; /** 시작 각도(도)입니다. 샘플링할 때 360의 나머지로 정규화합니다. */ startAngle?: number; /** 스윕 각도(도)입니다. 샘플링할 때 -360…360으로 제한합니다. 양수는 시계 방향이며 wrap은 지원하지 않습니다. */ sweepAngle?: number; /** 뷰 속성. */ includeEnd?: boolean; /** 뷰 속성. */ childRotation?: "none" | "radial" | "tangent"; } interface CircleProps extends Omit { children?: never; /** 뷰 속성. */ animations?: CircleAnimation[]; /** 뷰 속성. */ lineCap?: "round" | "butt" | "square"; /** 뷰 속성. */ dashPhase?: number; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 뷰 속성. */ dash?: number[]; /** 시작 각도(도)입니다. 샘플링할 때 360의 나머지로 정규화합니다. */ startAngle?: number; /** 스윕 각도(도)입니다. 샘플링할 때 -360…360으로 제한합니다. 양수는 시계 방향이며 wrap은 지원하지 않습니다. */ sweepAngle?: number; /** 전체 원 또는 타원 윤곽을 기준으로 한 선 위치입니다. 기본값은 inside입니다. */ strokePosition?: "inside" | "center" | "outside"; } interface EllipseProps extends Omit { children?: never; /** 뷰 속성. */ animations?: EllipseAnimation[]; /** 뷰 속성. */ lineCap?: "round" | "butt" | "square"; /** 뷰 속성. */ dashPhase?: number; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 뷰 속성. */ dash?: number[]; /** 시작 각도(도)입니다. 샘플링할 때 360의 나머지로 정규화합니다. */ startAngle?: number; /** 스윕 각도(도)입니다. 샘플링할 때 -360…360으로 제한합니다. 양수는 시계 방향이며 wrap은 지원하지 않습니다. */ sweepAngle?: number; /** 전체 원 또는 타원 윤곽을 기준으로 한 선 위치입니다. 기본값은 inside입니다. */ strokePosition?: "inside" | "center" | "outside"; } interface RectangleProps extends Omit { children?: never; /** 뷰 속성. */ trimStart?: number; /** 뷰 속성. */ trimEnd?: number; /** 뷰 속성. */ lineCap?: "round" | "butt" | "square"; /** 뷰 속성. */ lineJoin?: "round" | "miter" | "bevel"; /** 뷰 속성. */ dashPhase?: number; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 뷰 속성. */ dash?: number[]; /** 뷰 속성. */ strokePosition?: "inside" | "center" | "outside"; } interface LineProps extends Omit { children?: never; /** 뷰 속성. */ trimStart?: number; /** 뷰 속성. */ trimEnd?: number; /** 뷰 속성. */ lineCap?: "round" | "butt" | "square"; /** 뷰 속성. */ dashPhase?: number; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 뷰 속성. */ dash?: number[]; /** 뷰 속성. */ start?: ViewPoint; /** 뷰 속성. */ end?: ViewPoint; } interface ArcProps extends Omit { children?: never; /** 뷰 속성. */ animations?: ArcAnimation[]; /** 뷰 속성. */ lineCap?: "round" | "butt" | "square"; /** 뷰 속성. */ dashPhase?: number; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 뷰 속성. */ dash?: number[]; /** 시작 각도(도)입니다. 샘플링할 때 360의 나머지로 정규화합니다. */ startAngle?: number; /** 스윕 각도(도)입니다. 샘플링할 때 -360…360으로 제한합니다. 양수는 시계 방향이며 wrap은 지원하지 않습니다. */ sweepAngle?: number; /** 전체 원 또는 타원 윤곽을 기준으로 한 선 위치입니다. 기본값은 inside입니다. */ strokePosition?: "inside" | "center" | "outside"; } interface PolylineProps extends Omit { children?: never; /** 뷰 속성. */ trimStart?: number; /** 뷰 속성. */ trimEnd?: number; /** 뷰 속성. */ lineCap?: "round" | "butt" | "square"; /** 뷰 속성. */ lineJoin?: "round" | "miter" | "bevel"; /** 뷰 속성. */ dashPhase?: number; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 뷰 속성. */ dash?: number[]; /** 로컬 점 좌표(pt)입니다. 점이 두 개 미만이면 그리지 않습니다. */ points: ReadonlyArray; /** 뷰 속성. */ closed?: boolean; /** 선택적 콘텐츠 전환입니다. interpolate는 점 개수와 닫힘 상태가 같아야 하며, 다르면 즉시 업데이트합니다. */ contentAnimation?: ContentAnimation; } interface MapProps extends Omit { children?: never; /** 뷰 속성. */ animations?: MapAnimation[]; /** 뷰 속성. */ showUserLocation?: boolean; /** 카메라 중심: 기기 위치, 계기의 현재 위치 데이터 또는 고정 좌표입니다. 기본값은 userLocation입니다. */ center?: "userLocation" | "dataLocation" | MapCoordinate; /** 화면 포인트 단위 영역 오프셋입니다. 양수 x/y는 영역을 오른쪽/아래로, 지도 내용을 왼쪽/위로 이동합니다. */ regionOffset?: ViewPoint; /** 순서대로 된 경로 좌표입니다. null은 구간을 나눕니다. 위도/경도를 사용하며 빈 배열은 경로를 그리지 않습니다. */ path?: ReadonlyArray; /** 네이티브 경로 스타일: Color, 두께, 끝, 연결, 점선, 외곽선 및 선택적 시작·끝 마커입니다. 그라디언트는 지원하지 않습니다. */ pathStyle?: MapPathStyle; /** 카메라 방향: northUp, vehicle, path 또는 360으로 정규화한 각도입니다. 경로 방향은 구간 단절을 따릅니다. */ heading?: "northUp" | "vehicle" | "path" | number; /** 네이티브 카메라 전환을 애니메이션으로 표시합니다. 기본 켜짐이며 첫 화면과 동작 줄이기에서는 꺼집니다. */ cameraAnimation?: boolean; /** 뷰 속성. */ appearance?: "automatic" | "light" | "dark"; /** 뷰 속성. */ mapStyle?: "standard" | "satellite" | "hybrid"; /** 뷰 속성. */ pitch?: number; } interface PathProps extends Omit { children?: never; /** 뷰 속성. */ trimStart?: number; /** 뷰 속성. */ trimEnd?: number; /** 뷰 속성. */ lineCap?: "round" | "butt" | "square"; /** 뷰 속성. */ lineJoin?: "round" | "miter" | "bevel"; /** 뷰 속성. */ dashPhase?: number; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 뷰 속성. */ dash?: number[]; /** 경로 채우기 규칙: nonZero 또는 evenOdd. */ fillRule?: "nonZero" | "evenOdd"; /** 로컬 경로 명령(pt)입니다. 빈 배열은 그리지 않습니다. */ commands: ReadonlyArray; /** 선택적 콘텐츠 전환입니다. interpolate는 명령 개수와 작업 순서가 같아야 하며, 다르면 즉시 업데이트합니다. */ contentAnimation?: ContentAnimation; } interface BarChartProps extends Omit { children?: never; /** 각 막대의 채우기입니다. 기본값은 테마 전경색입니다. */ background?: Paint; /** 각 막대의 모서리 반경이며 크기에 맞게 제한됩니다. */ cornerRadius?: number; /** 뷰 속성. */ animations?: BarChartAnimation[]; /** 차트 아래쪽의 수평 축선입니다. 기본값은 전경색, 너비 1pt이며 stroke: clear로 숨깁니다. */ xAxis?: ChartAxisStyle; /** 차트 왼쪽의 수직 축선입니다. 기본값은 전경색, 너비 1pt이며 stroke: clear로 숨깁니다. */ yAxis?: ChartAxisStyle; /** 배열 순서의 범주 데이터입니다. 각 항목은 숫자 값과 선택적 레이블을 가집니다. */ data: ReadonlyArray; /** 막대 방향: vertical은 왼쪽에서 오른쪽, horizontal은 위에서 아래로 배치합니다. */ axis?: "horizontal" | "vertical"; /** 표시할 값 범위 [min, max]입니다. 생략하면 0을 포함하여 데이터에 맞춥니다. */ rangeY?: ChartRange; /** 범주 레이블을 표시합니다. 없는 레이블은 비워 두며 네이티브 레이아웃이 겹침을 방지합니다. */ showLabels?: boolean; /** 자동 생성된 숫자 축 레이블을 표시합니다. */ showValueLabels?: boolean; /** 포인트 단위 막대 두께입니다. auto는 범주 간격에 맞춥니다. */ barThickness?: number | "auto"; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 각 막대에 대한 테두리 위치입니다. 기본값은 inside입니다. */ strokePosition?: "inside" | "center" | "outside"; /** 뷰 속성. */ dash?: number[]; /** 뷰 속성. */ dashPhase?: number; /** 선택적 콘텐츠 전환입니다. interpolate는 범주 개수와 방향이 같아야 하며 다르면 즉시 업데이트합니다. */ contentAnimation?: ContentAnimation; } interface LineChartProps extends Omit { children?: never; /** 뷰 속성. */ animations?: LineChartAnimation[]; /** 차트 아래쪽의 수평 축선입니다. 기본값은 전경색, 너비 1pt이며 stroke: clear로 숨깁니다. */ xAxis?: ChartAxisStyle; /** 차트 왼쪽의 수직 축선입니다. 기본값은 전경색, 너비 1pt이며 stroke: clear로 숨깁니다. */ yAxis?: ChartAxisStyle; /** 차트 데이터입니다. value.x/y는 좌표, label.x/y는 텍스트이며 y가 null이면 선을 끊습니다. */ data: ReadonlyArray; /** 표시할 숫자 범위 [min, max]입니다. 생략하면 데이터에 자동으로 맞춥니다. */ rangeX?: ChartRange; /** 표시할 숫자 범위 [min, max]입니다. 생략하면 데이터에 자동으로 맞춥니다. */ rangeY?: ChartRange; /** 축 레이블을 표시합니다. 네이티브 레이아웃이 겹치지 않는 레이블을 선택합니다. */ showXLabels?: boolean; /** 축 레이블을 표시합니다. 네이티브 레이아웃이 겹치지 않는 레이블을 선택합니다. */ showYLabels?: boolean; /** 도형의 선 색상. */ stroke?: Paint; /** 뷰 속성. */ lineWidth?: number; /** 뷰 속성. */ lineCap?: "round" | "butt" | "square"; /** 뷰 속성. */ lineJoin?: "round" | "miter" | "bevel"; /** 뷰 속성. */ dash?: number[]; /** 뷰 속성. */ dashPhase?: number; /** 선택적 콘텐츠 전환입니다. interpolate는 샘플 개수와 결측 위치가 같아야 하며, 다르면 즉시 업데이트합니다. */ contentAnimation?: ContentAnimation; } type CardContentProps = CardContentBase & ({ children?: ViewContent; renderer?: never } | { children?: never; renderer: (metrics: CardContentMetrics) => ViewContent }); declare namespace CapDriveJSX { /** * 텍스트를 그립니다. * @param {TextProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Text(props: TextProps): View; /** * 포함된 이미지 리소스를 표시합니다. * @param {ImageProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Image(props: ImageProps): View; /** * 하위 뷰를 하나의 그룹으로 변환하고 효과를 적용합니다. * @param {GroupProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Group(props: GroupProps): View; /** * 유연한 공간을 확보합니다. * @param {SpacerProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Spacer(props: SpacerProps): View; /** * 자식 뷰를 세로로 배치합니다. * @param {VStackProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function VStack(props: VStackProps): View; /** * 자식 뷰를 가로로 배치합니다. * @param {HStackProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function HStack(props: HStackProps): View; /** * 자식 뷰를 뒤에서 앞으로 겹칩니다. * @param {ZStackProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function ZStack(props: ZStackProps): View; /** * 네이티브 배경 머티리얼을 그립니다. * @param {MaterialProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Material(props: MaterialProps): View; /** * 계기의 헤더와 콘텐츠를 배치합니다. * @param {CardContentProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function CardContent(props: CardContentProps): View; /** * SF Symbols 아이콘을 그립니다. * @param {SymbolProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Symbol(props: SymbolProps): View; /** * 현재 값을 중심으로 주기적인 그리기를 반복합니다. * @param {RepeatedLayoutProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function RepeatedLayout(props: RepeatedLayoutProps): View; /** * 자식 뷰를 원이나 타원 둘레에 배치합니다. * @param {RadialLayoutProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function RadialLayout(props: RadialLayoutProps): View; /** * 원을 그립니다. * @param {CircleProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Circle(props: CircleProps): View; /** * 타원을 그립니다. * @param {EllipseProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Ellipse(props: EllipseProps): View; /** * 직사각형을 그립니다. * @param {RectangleProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Rectangle(props: RectangleProps): View; /** * 직선을 그립니다. * @param {LineProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Line(props: LineProps): View; /** * 원호 또는 타원호를 그립니다. * @param {ArcProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Arc(props: ArcProps): View; /** * 연결된 점들을 그립니다. * @param {PolylineProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Polyline(props: PolylineProps): View; /** * 네이티브 지도를 표시합니다. * @param {MapProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Map(props: MapProps): View; /** * 경로를 그립니다. * @param {PathProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function Path(props: PathProps): View; /** * 막대 차트를 그립니다. * @param {BarChartProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function BarChart(props: BarChartProps): View; /** * 꺾은선 차트를 그립니다. * @param {LineChartProps} props 뷰 속성. * @returns {View} JSX 그리기 노드. */ function LineChart(props: LineChartProps): View; } declare function CardContent(props: CardContentProps): View; /** * 기본 SDR 색상을 유지하면서 색상에 HDR 향상을 지정합니다. * @param {string} color 색상 이름 또는 16진수 색상. * @returns {HDRColor} 그리기 색상과 그라디언트에 사용하는 HDR 색상 데이터. */ interface HDRFactory { (color: string): HDRColor; new(color: string): HDRColor; } declare const HDR: HDRFactory; interface LinearGradientFactory { (colors: GradientColors, options?: LinearGradientOptions): Gradient; new(colors: GradientColors, options?: LinearGradientOptions): Gradient; } declare const LinearGradient: LinearGradientFactory; interface RadialGradientFactory { (colors: GradientColors, options?: RadialGradientOptions): Gradient; new(colors: GradientColors, options?: RadialGradientOptions): Gradient; } declare const RadialGradient: RadialGradientFactory; interface AngularGradientFactory { (colors: GradientColors, options?: AngularGradientOptions): Gradient; new(colors: GradientColors, options?: AngularGradientOptions): Gradient; } declare const AngularGradient: AngularGradientFactory;