From 1d4a6673b76f3f76bbc8f3f1a3fa6d267307521e Mon Sep 17 00:00:00 2001 From: andylovescode Date: Sat, 23 Aug 2025 18:51:59 -0700 Subject: [PATCH] Intrinsics: Add buttons --- packages/vortex-intrinsics/src/index.ts | 62 +++++++++++++++---------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/packages/vortex-intrinsics/src/index.ts b/packages/vortex-intrinsics/src/index.ts index 4b90642..334b430 100644 --- a/packages/vortex-intrinsics/src/index.ts +++ b/packages/vortex-intrinsics/src/index.ts @@ -38,16 +38,28 @@ export const Text = intrinsic< "vortex:text" >("vortex:text"); +export const Button = intrinsic< + { + children: JSXChildren; + onClick?: () => void; + disabled?: boolean; + style?: "primary" | "secondary" | "ghost" | "outline"; + size?: "small" | "medium" | "large"; + fullWidth?: boolean; + }, + "vortex:button" +>("vortex:button"); + export type UDLRDescription = | { - base?: number | T; - top?: number | T; - right?: number | T; - bottom?: number | T; - left?: number | T; - x?: number | T; - y?: number | T; - } + base?: number | T; + top?: number | T; + right?: number | T; + bottom?: number | T; + left?: number | T; + x?: number | T; + y?: number | T; + } | number | T; @@ -72,15 +84,15 @@ export function resolveUDLRDescription( export type Background = | { - color?: string; - } + color?: string; + } | string; export type Border = | { - color?: string; - width?: number; - radius?: number; - } + color?: string; + width?: number; + radius?: number; + } | string; export const Frame = intrinsic< @@ -102,18 +114,18 @@ export const Frame = intrinsic< gap?: number | string; clip?: boolean; alignItems?: - | "flex-start" - | "flex-end" - | "center" - | "stretch" - | "baseline"; + | "flex-start" + | "flex-end" + | "center" + | "stretch" + | "baseline"; justifyContent?: - | "flex-start" - | "flex-end" - | "center" - | "space-between" - | "space-around" - | "space-evenly"; + | "flex-start" + | "flex-end" + | "center" + | "space-between" + | "space-around" + | "space-evenly"; position?: "absolute" | "relative" | "static"; left?: number; top?: number;