import { SizableText, XStack, YStack } from "tamagui"; import { Preset } from "./Preset"; import { useResolvedKnobs } from "./useResolvedKnobs"; export default { title: "Theme/Preset", component: Preset, parameters: { status: { type: "beta" }, docs: { description: { component: "Preset layers knob overrides on the nearest preset (cascade, the default) or replaces it (cascade={false}). The probe is a Tamagui stack spreading the resolved surface and radius, so what is measured is the stack.", }, }, }, }; function Probe({ label }: { label: string }) { const { knobProps } = useResolvedKnobs(); const attrs = { "data-border-radius": String(knobProps.borderRadius.borderRadius), "data-border-width": String(knobProps.surface.borderWidth), "data-fill-style": knobProps.outlined ? "outlined" : "filled", "data-space": String(knobProps.space), } as Record; return ( {label} radius {String(knobProps.borderRadius.borderRadius)}, border{" "} {String(knobProps.surface.borderWidth)}, {knobProps.outlined ? "outlined" : "filled"} ); } /** Overrides on top of whatever the page's preset resolved. */ export const main = { name: "Main", render: () => ( ), }; /** Cascade carries the parent's overrides forward; cascade={false} starts from defaults. */ export const cascade = { name: "Cascade", render: () => ( ), };