// Built-in JSX views and host helpers. Editor metadata only. /** Nút vẽ JSX. */ interface View {} /** Thuộc tính khung nhìn. */ type ViewContent = View | string | number | boolean | null | undefined | ViewContent[]; /** Thuộc tính khung nhìn. */ type TextContent = string | number | bigint | boolean | symbol | { toString(): string } | null | undefined; /** Dữ liệu màu HDR cho màu vẽ và chuyển màu. */ type HDRColor = { readonly $type: "CapDrive.HDR"; readonly color: string }; /** Thuộc tính khung nhìn. */ type RGBColor = { space?: "srgb" | "displayP3"; r: number; g: number; b: number; a?: number }; /** Thuộc tính khung nhìn. */ type Color = string | RGBColor | HDRColor; /** Thuộc tính khung nhìn. */ type ViewPoint = { x: number; y: number }; /** Thuộc tính khung nhìn. */ type ChartDataPoint = { value: { x: number; y: number | null }; label: { x: string; y: string } }; /** Thuộc tính khung nhìn. */ type ChartRange = readonly [min: number, max: number]; /** Thuộc tính khung nhìn. */ type MapCoordinate = { latitude: number; longitude: number }; /** Thuộc tính khung nhìn. */ 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 }; /** Thuộc tính khung nhìn. */ type ChartAxisStyle = { stroke?: Paint; lineWidth?: number; lineCap?: "round" | "butt" | "square"; dash?: readonly number[]; dashPhase?: number }; /** Thuộc tính khung nhìn. */ type BarChartDataPoint = { value: number; label?: string }; /** Thuộc tính khung nhìn. */ 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" }; /** Thuộc tính khung nhìn. */ type GradientStop = Color | { color: Color; location: number }; /** Thuộc tính khung nhìn. */ type GradientColors = ReadonlyArray; /** Thuộc tính khung nhìn. */ type LinearGradientOptions = { angle?: number; center?: ViewPoint }; /** Thuộc tính khung nhìn. */ type RadialGradientOptions = { startRadius?: number; endRadius?: number; center?: ViewPoint }; /** Thuộc tính khung nhìn. */ type AngularGradientOptions = { angle?: number; center?: ViewPoint }; /** Thuộc tính khung nhìn. */ type Gradient = { readonly type: "linear" | "radial" | "angular"; readonly angle?: number; readonly startRadius?: number; readonly endRadius?: number; readonly center?: ViewPoint; readonly colors: GradientColors }; /** Thuộc tính khung nhìn. */ type Paint = Color | Gradient; /** Thuộc tính khung nhìn. */ type DrawingEffect = { color?: Color; opacity?: number; radius?: number; x?: number; y?: number }; /** Thuộc tính khung nhìn. */ type ViewTransform = { translateX?: number; translateY?: number; scaleX?: number; scaleY?: number; rotation?: number; skewX?: number; skewY?: number; anchorX?: number; anchorY?: number }; /** Thuộc tính khung nhìn. */ type RepeatAxisValue = number | { x?: number; y?: number }; /** Thuộc tính khung nhìn. */ 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"; /** Thuộc tính khung nhìn. */ type Animation = { property: AnimationProperty; duration?: number; delay?: number; curve?: string; from?: number | Color; to?: number | Color; repeat?: number | "forever"; autoreverse?: boolean; wrap?: number }; /** Thuộc tính khung nhìn. */ 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 }); /** Thuộc tính khung nhìn. */ 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 }); /** Thuộc tính khung nhìn. */ 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 }); /** Thuộc tính khung nhìn. */ 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 }); /** Thuộc tính khung nhìn. */ 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 }); /** Thuộc tính khung nhìn. */ 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 }); /** Thuộc tính khung nhìn. */ 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 }); /** Thuộc tính khung nhìn. */ type SpacerAnimation = { property: "width" | "height" | "minLength"; duration?: number; delay?: number; curve?: string; from?: number; to?: number; repeat?: number | "forever"; autoreverse?: boolean; wrap?: number }; /** Thuộc tính khung nhìn. */ type ContentAnimation = { type: "fade" | "slide" | "scale" | "numericText" | "interpolate"; duration?: number; delay?: number; curve?: string; direction?: string; distance?: number; scale?: number }; /** Thuộc tính khung nhìn. */ type ViewSize = { width: number; height: number }; /** Thuộc tính khung nhìn. */ type ViewInsets = { top: number; leading: number; bottom: number; trailing: number }; /** Thuộc tính khung nhìn. */ type CardContentMetrics = { size: ViewSize; contentSize: ViewSize; headerSize: ViewSize; safeInsets: ViewInsets }; interface CommonViewProps { /** Định danh ổn định giữa các phần tử cùng cấp. */ key?: string | number; /** Nội dung vẽ con. */ children?: ViewContent; /** Chiều rộng tính bằng point, tự động hoặc lấp đầy khung cha. */ width?: number | "auto" | "fill"; /** Chiều cao tính bằng point, tự động hoặc lấp đầy khung cha. */ height?: number | "auto" | "fill"; /** Khoảng đệm nội dung tính bằng point. */ padding?: number; /** Thuộc tính khung nhìn. */ x?: number; /** Thuộc tính khung nhìn. */ y?: number; /** Thuộc tính khung nhìn. */ opacity?: number; /** Thuộc tính khung nhìn. */ background?: Paint; /** Thuộc tính khung nhìn. */ cornerRadius?: number; /** Thuộc tính khung nhìn. */ clipped?: boolean; /** Thuộc tính khung nhìn. */ clip?: "rectangle" | "ellipse"; /** Thuộc tính khung nhìn. */ blur?: number; /** Thuộc tính khung nhìn. */ zIndex?: number; /** Thuộc tính khung nhìn. */ innerShadow?: DrawingEffect; /** Thuộc tính khung nhìn. */ glow?: DrawingEffect; /** Thuộc tính khung nhìn. */ shadowColor?: Color; /** Thuộc tính khung nhìn. */ shadowOpacity?: number; /** Thuộc tính khung nhìn. */ shadowRadius?: number; /** Thuộc tính khung nhìn. */ shadowX?: number; /** Thuộc tính khung nhìn. */ shadowY?: number; /** View mặt nạ alpha. Căn giữa mà không ảnh hưởng bố cục; null tắt mặt nạ. */ mask?: View | null; /** Thuộc tính khung nhìn. */ transform?: ViewTransform; /** Thuộc tính khung nhìn. */ animations?: Animation[]; } interface TextProps extends CommonViewProps { /** Nội dung vẽ con. */ children?: TextContent | TextContent[]; /** Cỡ chữ tính bằng point. */ fontSize?: number; /** Thuộc tính khung nhìn. */ fontWeight?: "ultraLight" | "thin" | "light" | "regular" | "medium" | "semibold" | "bold" | "heavy" | "black"; /** Thuộc tính khung nhìn. */ font?: "default" | "rounded" | "monospaced" | "serif"; /** Thuộc tính khung nhìn. */ monospacedDigits?: boolean; /** Thuộc tính khung nhìn. */ letterSpacing?: number; /** Thuộc tính khung nhìn. */ minimumScaleFactor?: number; /** Thuộc tính khung nhìn. */ lineLimit?: number | null; /** Thuộc tính khung nhìn. */ truncationMode?: "head" | "middle" | "tail"; /** Màu vẽ, bao gồm màu HDR. */ color?: Paint; /** Thuộc tính khung nhìn. */ alignment?: "leading" | "center" | "trailing"; /** Thuộc tính khung nhìn. */ contentAnimation?: ContentAnimation; } interface ImageProps extends CommonViewProps { children?: never; /** Thuộc tính khung nhìn. */ source: string; /** Thuộc tính khung nhìn. */ contentMode?: "fit" | "fill" | "stretch"; /** Thuộc tính khung nhìn. */ repeatMode?: "none" | "repeat" | "repeatX" | "repeatY"; /** Thuộc tính khung nhìn. */ renderingMode?: "original" | "template"; /** Màu vẽ, bao gồm màu HDR. */ color?: Paint; /** Thuộc tính khung nhìn. */ contentAnimation?: ContentAnimation; } interface GroupProps { /** Định danh ổn định giữa các phần tử cùng cấp. */ key?: string | number; /** Nội dung vẽ con. */ children?: ViewContent; /** Thuộc tính khung nhìn. */ opacity?: number; /** Thuộc tính khung nhìn. */ background?: Paint; /** Thuộc tính khung nhìn. */ cornerRadius?: number; /** Thuộc tính khung nhìn. */ clipped?: boolean; /** Thuộc tính khung nhìn. */ clip?: "rectangle" | "ellipse"; /** Thuộc tính khung nhìn. */ blur?: number; /** Thuộc tính khung nhìn. */ zIndex?: number; /** Thuộc tính khung nhìn. */ innerShadow?: DrawingEffect; /** Thuộc tính khung nhìn. */ glow?: DrawingEffect; /** Thuộc tính khung nhìn. */ shadowColor?: Color; /** Thuộc tính khung nhìn. */ shadowOpacity?: number; /** Thuộc tính khung nhìn. */ shadowRadius?: number; /** Thuộc tính khung nhìn. */ shadowX?: number; /** Thuộc tính khung nhìn. */ shadowY?: number; /** View mặt nạ alpha. Căn giữa mà không ảnh hưởng bố cục; null tắt mặt nạ. */ mask?: View | null; /** Thuộc tính khung nhìn. */ transform?: ViewTransform; /** Thuộc tính khung nhìn. */ animations?: Animation[]; } interface SpacerProps { children?: never; /** Định danh ổn định giữa các phần tử cùng cấp. */ key?: string | number; /** Chiều rộng tính bằng point, tự động hoặc lấp đầy khung cha. */ width?: number | "auto" | "fill"; /** Chiều cao tính bằng point, tự động hoặc lấp đầy khung cha. */ height?: number | "auto" | "fill"; /** Thuộc tính khung nhìn. */ minLength?: number; /** Thuộc tính khung nhìn. */ animations?: SpacerAnimation[]; } interface VStackProps extends CommonViewProps { /** Khoảng cách giữa các khung nhìn con tính bằng point. */ spacing?: number; /** Thuộc tính khung nhìn. */ alignment?: "leading" | "center" | "trailing"; } interface HStackProps extends CommonViewProps { /** Khoảng cách giữa các khung nhìn con tính bằng point. */ spacing?: number; /** Thuộc tính khung nhìn. */ alignment?: "top" | "center" | "bottom" | "firstTextBaseline" | "lastTextBaseline"; } interface ZStackProps extends CommonViewProps { /** Thuộc tính khung nhìn. */ alignment?: "topLeading" | "top" | "topTrailing" | "leading" | "center" | "trailing" | "bottomLeading" | "bottom" | "bottomTrailing"; } interface MaterialProps { children?: never; /** Định danh ổn định giữa các phần tử cùng cấp. */ key?: string | number; /** Chiều rộng tính bằng point, tự động hoặc lấp đầy khung cha. */ width?: number | "auto" | "fill"; /** Chiều cao tính bằng point, tự động hoặc lấp đầy khung cha. */ height?: number | "auto" | "fill"; /** Thuộc tính khung nhìn. */ x?: number; /** Thuộc tính khung nhìn. */ y?: number; /** Thuộc tính khung nhìn. */ opacity?: number; /** Thuộc tính khung nhìn. */ background?: Paint; /** Thuộc tính khung nhìn. */ cornerRadius?: number; /** Thuộc tính khung nhìn. */ clipped?: boolean; /** Thuộc tính khung nhìn. */ clip?: boolean | "rectangle" | "ellipse"; /** Thuộc tính khung nhìn. */ blur?: number; /** Thuộc tính khung nhìn. */ zIndex?: number; /** Thuộc tính khung nhìn. */ innerShadow?: DrawingEffect; /** Thuộc tính khung nhìn. */ glow?: DrawingEffect; /** Thuộc tính khung nhìn. */ shadowColor?: Color; /** Thuộc tính khung nhìn. */ shadowOpacity?: number; /** Thuộc tính khung nhìn. */ shadowRadius?: number; /** Thuộc tính khung nhìn. */ shadowX?: number; /** Thuộc tính khung nhìn. */ shadowY?: number; /** View mặt nạ alpha. Căn giữa mà không ảnh hưởng bố cục; null tắt mặt nạ. */ mask?: View | null; /** Thuộc tính khung nhìn. */ transform?: ViewTransform; /** Thuộc tính khung nhìn. */ animations?: Animation[]; /** Thuộc tính khung nhìn. */ type: "frosted"; /** Thuộc tính khung nhìn. */ style?: "ultraThin" | "thin" | "regular" | "thick" | "ultraThick" | "bar"; } interface CardContentBase extends Omit { /** Văn bản tiêu đề hoặc View. */ title?: string | View | null; /** Văn bản hoặc View ở cuối tiêu đề. */ trailing?: string | View | null; /** Thuộc tính khung nhìn. */ contentMode?: "inset" | "full"; /** Thuộc tính khung nhìn. */ headerBackground?: View | null; } interface SymbolProps extends CommonViewProps { children?: never; /** Thuộc tính khung nhìn. */ name: string; /** Cỡ chữ tính bằng point. */ fontSize?: number; /** Thuộc tính khung nhìn. */ fontWeight?: "ultraLight" | "thin" | "light" | "regular" | "medium" | "semibold" | "bold" | "heavy" | "black"; /** Thuộc tính khung nhìn. */ imageScale?: "small" | "medium" | "large"; /** Thuộc tính khung nhìn. */ renderingMode?: "monochrome" | "hierarchical" | "palette" | "multicolor"; /** Thuộc tính khung nhìn. */ paletteColors?: [Color] | [Color, Color] | [Color, Color, Color]; /** Màu vẽ, bao gồm màu HDR. */ color?: Paint; /** Thuộc tính khung nhìn. */ contentAnimation?: ContentAnimation; } interface RepeatedLayoutProps extends Omit { /** Thuộc tính khung nhìn. */ axis?: "horizontal" | "vertical" | "both"; /** Thuộc tính khung nhìn. */ period?: RepeatAxisValue; /** Thuộc tính khung nhìn. */ value?: RepeatAxisValue; /** Thuộc tính khung nhìn. */ anchor?: RepeatAxisValue; /** Thuộc tính khung nhìn. */ offset?: RepeatAxisValue; /** Thuộc tính khung nhìn. */ alignment?: "topLeading" | "top" | "topTrailing" | "leading" | "center" | "trailing" | "bottomLeading" | "bottom" | "bottomTrailing"; } interface RadialLayoutProps extends CommonViewProps { /** Thuộc tính khung nhìn. */ animations?: RadialLayoutAnimation[]; /** Thuộc tính khung nhìn. */ radius?: number; /** Thuộc tính khung nhìn. */ radiusX?: number; /** Thuộc tính khung nhìn. */ radiusY?: number; /** Góc bắt đầu tính bằng độ, lấy phần dư theo 360 khi lấy mẫu. */ startAngle?: number; /** Góc quét tính bằng độ, giới hạn ở -360…360 khi lấy mẫu. Giá trị dương theo chiều kim đồng hồ; không hỗ trợ wrap. */ sweepAngle?: number; /** Thuộc tính khung nhìn. */ includeEnd?: boolean; /** Thuộc tính khung nhìn. */ childRotation?: "none" | "radial" | "tangent"; } interface CircleProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ animations?: CircleAnimation[]; /** Thuộc tính khung nhìn. */ lineCap?: "round" | "butt" | "square"; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Góc bắt đầu tính bằng độ, lấy phần dư theo 360 khi lấy mẫu. */ startAngle?: number; /** Góc quét tính bằng độ, giới hạn ở -360…360 khi lấy mẫu. Giá trị dương theo chiều kim đồng hồ; không hỗ trợ wrap. */ sweepAngle?: number; /** Vị trí nét so với đường bao hình tròn hoặc elip đầy đủ. Mặc định là inside. */ strokePosition?: "inside" | "center" | "outside"; } interface EllipseProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ animations?: EllipseAnimation[]; /** Thuộc tính khung nhìn. */ lineCap?: "round" | "butt" | "square"; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Góc bắt đầu tính bằng độ, lấy phần dư theo 360 khi lấy mẫu. */ startAngle?: number; /** Góc quét tính bằng độ, giới hạn ở -360…360 khi lấy mẫu. Giá trị dương theo chiều kim đồng hồ; không hỗ trợ wrap. */ sweepAngle?: number; /** Vị trí nét so với đường bao hình tròn hoặc elip đầy đủ. Mặc định là inside. */ strokePosition?: "inside" | "center" | "outside"; } interface RectangleProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ trimStart?: number; /** Thuộc tính khung nhìn. */ trimEnd?: number; /** Thuộc tính khung nhìn. */ lineCap?: "round" | "butt" | "square"; /** Thuộc tính khung nhìn. */ lineJoin?: "round" | "miter" | "bevel"; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Thuộc tính khung nhìn. */ strokePosition?: "inside" | "center" | "outside"; } interface LineProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ trimStart?: number; /** Thuộc tính khung nhìn. */ trimEnd?: number; /** Thuộc tính khung nhìn. */ lineCap?: "round" | "butt" | "square"; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Thuộc tính khung nhìn. */ start?: ViewPoint; /** Thuộc tính khung nhìn. */ end?: ViewPoint; } interface ArcProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ animations?: ArcAnimation[]; /** Thuộc tính khung nhìn. */ lineCap?: "round" | "butt" | "square"; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Góc bắt đầu tính bằng độ, lấy phần dư theo 360 khi lấy mẫu. */ startAngle?: number; /** Góc quét tính bằng độ, giới hạn ở -360…360 khi lấy mẫu. Giá trị dương theo chiều kim đồng hồ; không hỗ trợ wrap. */ sweepAngle?: number; /** Vị trí nét so với đường bao hình tròn hoặc elip đầy đủ. Mặc định là inside. */ strokePosition?: "inside" | "center" | "outside"; } interface PolylineProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ trimStart?: number; /** Thuộc tính khung nhìn. */ trimEnd?: number; /** Thuộc tính khung nhìn. */ lineCap?: "round" | "butt" | "square"; /** Thuộc tính khung nhìn. */ lineJoin?: "round" | "miter" | "bevel"; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Tọa độ điểm cục bộ tính bằng pt. Ít hơn hai điểm sẽ không vẽ. */ points: ReadonlyArray; /** Thuộc tính khung nhìn. */ closed?: boolean; /** Chuyển tiếp nội dung tùy chọn. interpolate yêu cầu cùng số điểm và trạng thái đóng; nếu khác sẽ cập nhật ngay. */ contentAnimation?: ContentAnimation; } interface MapProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ animations?: MapAnimation[]; /** Thuộc tính khung nhìn. */ showUserLocation?: boolean; /** Tâm camera: vị trí hệ thống, vị trí hiện tại của đồng hồ hoặc tọa độ cố định. Mặc định userLocation. */ center?: "userLocation" | "dataLocation" | MapCoordinate; /** Độ lệch vùng nhìn theo điểm màn hình. x/y dương dịch vùng sang phải/xuống, nội dung bản đồ sang trái/lên. */ regionOffset?: ViewPoint; /** Tọa độ tuyến đường theo thứ tự. Null ngắt đoạn. Dùng vĩ độ/kinh độ; mảng trống không vẽ tuyến đường. */ path?: ReadonlyArray; /** Kiểu tuyến đường gốc: Color, độ rộng, đầu nét, nối nét, nét đứt, viền và dấu đầu/cuối tùy chọn. Không hỗ trợ chuyển sắc. */ pathStyle?: MapPathStyle; /** Hướng camera: northUp, vehicle, path hoặc góc chuẩn hóa theo 360. Hướng đường đi tuân theo ngắt đoạn. */ heading?: "northUp" | "vehicle" | "path" | number; /** Tạo hoạt ảnh cho thay đổi camera gốc. Mặc định bật, trừ khung đầu và chế độ Giảm chuyển động. */ cameraAnimation?: boolean; /** Thuộc tính khung nhìn. */ appearance?: "automatic" | "light" | "dark"; /** Thuộc tính khung nhìn. */ mapStyle?: "standard" | "satellite" | "hybrid"; /** Thuộc tính khung nhìn. */ pitch?: number; } interface PathProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ trimStart?: number; /** Thuộc tính khung nhìn. */ trimEnd?: number; /** Thuộc tính khung nhìn. */ lineCap?: "round" | "butt" | "square"; /** Thuộc tính khung nhìn. */ lineJoin?: "round" | "miter" | "bevel"; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Quy tắc tô: nonZero hoặc evenOdd. */ fillRule?: "nonZero" | "evenOdd"; /** Lệnh đường dẫn cục bộ tính bằng pt. Mảng rỗng không vẽ gì. */ commands: ReadonlyArray; /** Chuyển tiếp nội dung tùy chọn. interpolate yêu cầu cùng số lệnh và thứ tự thao tác; nếu khác sẽ cập nhật ngay. */ contentAnimation?: ContentAnimation; } interface BarChartProps extends Omit { children?: never; /** Màu tô từng cột. Mặc định là màu tiền cảnh của giao diện. */ background?: Paint; /** Bán kính góc từng cột, giới hạn theo kích thước cột. */ cornerRadius?: number; /** Thuộc tính khung nhìn. */ animations?: BarChartAnimation[]; /** Đường trục ngang ở đáy vùng vẽ. Mặc định dùng màu tiền cảnh, rộng 1pt; stroke: clear để ẩn. */ xAxis?: ChartAxisStyle; /** Đường trục dọc ở bên trái vùng vẽ. Mặc định dùng màu tiền cảnh, rộng 1pt; stroke: clear để ẩn. */ yAxis?: ChartAxisStyle; /** Danh mục theo thứ tự mảng. Mỗi mục có giá trị số và nhãn tùy chọn. */ data: ReadonlyArray; /** Hướng cột: vertical từ trái sang phải; horizontal từ trên xuống dưới. */ axis?: "horizontal" | "vertical"; /** Phạm vi giá trị hiển thị [min, max]. Bỏ qua để khớp dữ liệu và bao gồm số không. */ rangeY?: ChartRange; /** Hiện nhãn danh mục. Nhãn thiếu để trống; bố cục gốc ngăn chồng lấp. */ showLabels?: boolean; /** Hiện nhãn trục số được tạo tự động. */ showValueLabels?: boolean; /** Độ dày cột theo điểm, hoặc auto để khớp khoảng cách danh mục. */ barThickness?: number | "auto"; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Vị trí nét viền so với từng cột. Mặc định inside. */ strokePosition?: "inside" | "center" | "outside"; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Chuyển tiếp nội dung tùy chọn. interpolate yêu cầu cùng số danh mục và hướng; nếu khác sẽ cập nhật ngay. */ contentAnimation?: ContentAnimation; } interface LineChartProps extends Omit { children?: never; /** Thuộc tính khung nhìn. */ animations?: LineChartAnimation[]; /** Đường trục ngang ở đáy vùng vẽ. Mặc định dùng màu tiền cảnh, rộng 1pt; stroke: clear để ẩn. */ xAxis?: ChartAxisStyle; /** Đường trục dọc ở bên trái vùng vẽ. Mặc định dùng màu tiền cảnh, rộng 1pt; stroke: clear để ẩn. */ yAxis?: ChartAxisStyle; /** Dữ liệu biểu đồ. value.x/y đặt tọa độ, label.x/y đặt văn bản; y null sẽ ngắt đường. */ data: ReadonlyArray; /** Phạm vi số hiển thị [min, max]. Bỏ qua để tự động khớp dữ liệu. */ rangeX?: ChartRange; /** Phạm vi số hiển thị [min, max]. Bỏ qua để tự động khớp dữ liệu. */ rangeY?: ChartRange; /** Hiện nhãn trục. Bố cục gốc chọn tập nhãn không chồng lấp. */ showXLabels?: boolean; /** Hiện nhãn trục. Bố cục gốc chọn tập nhãn không chồng lấp. */ showYLabels?: boolean; /** Màu nét của hình. */ stroke?: Paint; /** Thuộc tính khung nhìn. */ lineWidth?: number; /** Thuộc tính khung nhìn. */ lineCap?: "round" | "butt" | "square"; /** Thuộc tính khung nhìn. */ lineJoin?: "round" | "miter" | "bevel"; /** Thuộc tính khung nhìn. */ dash?: number[]; /** Thuộc tính khung nhìn. */ dashPhase?: number; /** Chuyển tiếp tùy chọn. interpolate yêu cầu cùng số mẫu và vị trí thiếu dữ liệu; nếu khác sẽ cập nhật ngay. */ contentAnimation?: ContentAnimation; } type CardContentProps = CardContentBase & ({ children?: ViewContent; renderer?: never } | { children?: never; renderer: (metrics: CardContentMetrics) => ViewContent }); declare namespace CapDriveJSX { /** * Vẽ văn bản. * @param {TextProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Text(props: TextProps): View; /** * Hiển thị tài nguyên hình ảnh đi kèm. * @param {ImageProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Image(props: ImageProps): View; /** * Áp dụng phép biến đổi và hiệu ứng cho các chế độ xem con như một nhóm. * @param {GroupProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Group(props: GroupProps): View; /** * Dành khoảng trống linh hoạt. * @param {SpacerProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Spacer(props: SpacerProps): View; /** * Sắp xếp các khung nhìn con theo chiều dọc. * @param {VStackProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function VStack(props: VStackProps): View; /** * Sắp xếp các khung nhìn con theo chiều ngang. * @param {HStackProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function HStack(props: HStackProps): View; /** * Chồng các khung nhìn con từ sau ra trước. * @param {ZStackProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function ZStack(props: ZStackProps): View; /** * Vẽ vật liệu nền gốc. * @param {MaterialProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Material(props: MaterialProps): View; /** * Bố trí tiêu đề và nội dung của đồng hồ. * @param {CardContentProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function CardContent(props: CardContentProps): View; /** * Vẽ biểu tượng SF Symbols. * @param {SymbolProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Symbol(props: SymbolProps): View; /** * Lặp lại hình vẽ tuần hoàn quanh giá trị hiện tại. * @param {RepeatedLayoutProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function RepeatedLayout(props: RepeatedLayoutProps): View; /** * Sắp xếp các khung nhìn con theo hình tròn hoặc elip. * @param {RadialLayoutProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function RadialLayout(props: RadialLayoutProps): View; /** * Vẽ hình tròn. * @param {CircleProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Circle(props: CircleProps): View; /** * Vẽ hình elip. * @param {EllipseProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Ellipse(props: EllipseProps): View; /** * Vẽ hình chữ nhật. * @param {RectangleProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Rectangle(props: RectangleProps): View; /** * Vẽ đường thẳng. * @param {LineProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Line(props: LineProps): View; /** * Vẽ cung tròn hoặc cung elip. * @param {ArcProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Arc(props: ArcProps): View; /** * Vẽ một chuỗi điểm được nối với nhau. * @param {PolylineProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Polyline(props: PolylineProps): View; /** * Hiển thị bản đồ gốc. * @param {MapProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Map(props: MapProps): View; /** * Vẽ đường dẫn. * @param {PathProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function Path(props: PathProps): View; /** * Vẽ biểu đồ cột. * @param {BarChartProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function BarChart(props: BarChartProps): View; /** * Vẽ biểu đồ đường. * @param {LineChartProps} props Thuộc tính khung nhìn. * @returns {View} Nút vẽ JSX. */ function LineChart(props: LineChartProps): View; } declare function CardContent(props: CardContentProps): View; /** * Đánh dấu màu để tăng cường HDR trong khi giữ nguyên màu SDR gốc. * @param {string} color Tên màu hoặc màu thập lục phân. * @returns {HDRColor} Dữ liệu màu HDR cho màu vẽ và chuyển màu. */ 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;