import{j as a}from"./iframe-B8FSoBNY.js";import{B as t}from"./button-C7it2n8t.js";import{H as l}from"./h-stack-DWHd8f97.js";import{I as r}from"./icon-button-DHiUe7rR.js";import{I as n}from"./icon-C8FN9JqD.js";import{c as p}from"./createLucideIcon-CcBBUKX8.js";import{S as m}from"./settings-DUgg22A7.js";import{T as b}from"./trash-2-BO05slEk.js";import{S as d}from"./stack-CN4X31TA.js";import{T as c}from"./index-cFwdnc0b.js";import{S as g}from"./simple-grid-DIKjhnVI.js";import{B as x}from"./index-B0y2_lLF.js";import"./preload-helper-PPVm8Dsz.js";import"./factory-DAJZwK4o.js";import"./create-recipe-context-BU56IzEo.js";import"./spinner-ZYH_gvW-.js";import"./index-CXwl6T4k.js";import"./grid-7OIKBlfh.js";const S=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],u=p("download",S);const h=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],v=p("plus",h),z=[{label:"Primary",description:"Brand action style using accent tokens.",variant:"primary"},{label:"Solid",description:"Primary calls to action.",variant:"solid"},{label:"Surface",description:"Secondary surfaces with borders.",variant:"surface"},{label:"Outline",description:"Neutral outlines for quiet actions.",variant:"outline"},{label:"Ghost",description:"Low emphasis actions in dense UI.",variant:"ghost"},{label:"Subtle",description:"Low-contrast background actions.",variant:"subtle"},{label:"Plain",description:"Inline link-style actions.",variant:"plain"}],j=[{label:"Small",helper:"Dense toolbars and tables.",size:"sm"},{label:"Medium",helper:"Default buttons across the app.",size:"md"},{label:"Large",helper:"Primary CTAs in dialogs.",size:"lg"},{label:"2XL",helper:"Hero CTAs on landing surfaces.",size:"2xl"}],A={title:"Components/Button",component:t,decorators:[e=>a.jsx(x,{padding:"sm",background:"bg",children:a.jsx(e,{})})]},o={render:()=>a.jsx(g,{columns:{base:1,lg:2},gap:"md",children:z.map(e=>a.jsx(x,{borderWidth:"1px",borderColor:"border.muted",borderRadius:"md",background:"bg",padding:"md",children:a.jsxs(d,{gap:"sm",children:[a.jsxs(d,{gap:"xs",children:[a.jsx(c,{textStyle:"label/L/medium",children:e.label}),a.jsx(c,{textStyle:"label/XS",color:"fg.muted",children:e.description})]}),a.jsxs(l,{gap:"sm",flexWrap:"wrap",children:[a.jsx(t,{variant:e.variant,children:"Run action"}),a.jsx(t,{variant:e.variant,loading:!0,children:"Loading"}),a.jsx(t,{variant:e.variant,disabled:!0,children:"Disabled"})]})]})},e.label))})},i={render:()=>a.jsx(d,{gap:"lg",children:j.map(e=>a.jsxs(l,{alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:"md",padding:"md",borderWidth:"1px",borderColor:"border.muted",borderRadius:"md",background:"bg",children:[a.jsxs(d,{gap:"xs",minWidth:"12rem",children:[a.jsx(c,{textStyle:"label/L/medium",children:e.label}),a.jsx(c,{textStyle:"label/XS",color:"fg.muted",children:e.helper})]}),a.jsxs(l,{gap:"sm",flexWrap:"wrap",children:[a.jsx(t,{size:e.size,variant:"solid",children:"Create new"}),a.jsx(t,{size:e.size,variant:"outline",children:"Secondary"}),a.jsxs(t,{size:e.size,variant:"ghost",children:[a.jsx(n,{as:u,boxSize:"16px"}),"Export"]}),a.jsx(r,{size:e.size,variant:"ghost","aria-label":"Settings",children:a.jsx(n,{as:m,boxSize:"16px"})}),a.jsx(r,{size:e.size,variant:"outline","aria-label":"Delete",children:a.jsx(n,{as:b,boxSize:"16px"})})]})]},e.label))})},s={render:()=>a.jsxs(l,{gap:"sm",flexWrap:"wrap",padding:"md",borderWidth:"1px",borderColor:"border.muted",borderRadius:"md",children:[a.jsx(r,{variant:"solid","aria-label":"Add",children:a.jsx(n,{as:v,boxSize:"icon-sm"})}),a.jsx(r,{variant:"surface","aria-label":"Settings",children:a.jsx(n,{as:m,boxSize:"16px"})}),a.jsx(r,{variant:"outline","aria-label":"Download",children:a.jsx(n,{as:u,boxSize:"16px"})}),a.jsx(r,{variant:"ghost","aria-label":"Delete",children:a.jsx(n,{as:b,boxSize:"16px"})})]})};o.parameters={...o.parameters,docs:{...o.parameters?.docs,source:{originalSource:`{
  render: () => <SimpleGrid columns={{
    base: 1,
    lg: 2
  }} gap="md">
      {buttonVariants.map(variant => <Box key={variant.label} borderWidth="1px" borderColor="border.muted" borderRadius="md" background="bg" padding="md">
          <Stack gap="sm">
            <Stack gap="xs">
              <Text textStyle="label/L/medium">{variant.label}</Text>
              <Text textStyle="label/XS" color="fg.muted">
                {variant.description}
              </Text>
            </Stack>

            <HStack gap="sm" flexWrap="wrap">
              <Button variant={variant.variant as ButtonProps["variant"]}>Run action</Button>
              <Button variant={variant.variant as ButtonProps["variant"]} loading>
                Loading
              </Button>
              <Button variant={variant.variant as ButtonProps["variant"]} disabled>
                Disabled
              </Button>
            </HStack>
          </Stack>
        </Box>)}
    </SimpleGrid>
}`,...o.parameters?.docs?.source}}};i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
  render: () => <Stack gap="lg">
      {buttonSizes.map(size => <HStack key={size.label} alignItems="center" justifyContent="space-between" flexWrap="wrap" gap="md" padding="md" borderWidth="1px" borderColor="border.muted" borderRadius="md" background="bg">
          <Stack gap="xs" minWidth="12rem">
            <Text textStyle="label/L/medium">{size.label}</Text>
            <Text textStyle="label/XS" color="fg.muted">
              {size.helper}
            </Text>
          </Stack>

          <HStack gap="sm" flexWrap="wrap">
            <Button size={size.size} variant="solid">
              Create new
            </Button>
            <Button size={size.size} variant="outline">
              Secondary
            </Button>
            <Button size={size.size} variant="ghost">
              <Icon as={Download} boxSize="16px" />
              Export
            </Button>
            <IconButton size={size.size} variant="ghost" aria-label="Settings">
              <Icon as={Settings} boxSize="16px" />
            </IconButton>
            <IconButton size={size.size} variant="outline" aria-label="Delete">
              <Icon as={Trash2} boxSize="16px" />
            </IconButton>
          </HStack>
        </HStack>)}
    </Stack>
}`,...i.parameters?.docs?.source}}};s.parameters={...s.parameters,docs:{...s.parameters?.docs,source:{originalSource:`{
  render: () => <HStack gap="sm" flexWrap="wrap" padding="md" borderWidth="1px" borderColor="border.muted" borderRadius="md">
      <IconButton variant="solid" aria-label="Add">
        <Icon as={Plus} boxSize="icon-sm" />
      </IconButton>
      <IconButton variant="surface" aria-label="Settings">
        <Icon as={Settings} boxSize="16px" />
      </IconButton>
      <IconButton variant="outline" aria-label="Download">
        <Icon as={Download} boxSize="16px" />
      </IconButton>
      <IconButton variant="ghost" aria-label="Delete">
        <Icon as={Trash2} boxSize="16px" />
      </IconButton>
    </HStack>
}`,...s.parameters?.docs?.source}}};const E=["Variants","Sizes","IconOnly"];export{s as IconOnly,i as Sizes,o as Variants,E as __namedExportsOrder,A as default};
