// 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)。点が2つ未満の場合は描画しません。 */ 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]。省略時はゼロを含めてデータに自動調整します。 */ 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;