{"version":3,"file":"createShape.cjs","sources":["../../../src/themes/createShape.ts"],"sourcesContent":["import { z } from 'zod';\n\n/** @beta */\nexport interface ThemeShape {\n  /**\n   * @deprecated Use `theme.shape.radius.default`, `theme.shape.radius.pill` or `theme.shape.radius.circle` instead\n   */\n  borderRadius: (amount?: number) => string;\n  radius: Radii;\n}\n\nexport interface Radii {\n  /**\n   * Use for most things (inputs, buttons, cards, panels, etc)\n   * Same as `md`\n   */\n  default: string;\n  /**\n   * Use for most things (inputs, buttons, cards, panels, etc)\n   * Same as `default`\n   */\n  md: string;\n  /**\n   * Use for smaller things like chips, tags and badges\n   */\n  sm: string;\n  /**\n   * Use for large things, like modals\n   */\n  lg: string;\n  /**\n   * Used to create maximum half circle sides (e.g. for pills)\n   */\n  pill: string;\n  circle: string;\n}\n\n/** @internal */\nexport const ThemeShapeInputSchema = z.object({\n  borderRadius: z.int().nonnegative().optional(),\n});\n\n/** @internal */\nexport type ThemeShapeInput = z.infer<typeof ThemeShapeInputSchema>;\n\nexport function createShape(options: ThemeShapeInput): ThemeShape {\n  const baseBorderRadius = options.borderRadius ?? 6;\n\n  const radius = {\n    default: `${baseBorderRadius}px`,\n    md: `${baseBorderRadius}px`,\n    sm: `${Math.ceil(baseBorderRadius * (2 / 3))}px`, // for default base becomes 4\n    lg: `${Math.ceil(baseBorderRadius * (5 / 3))}px`, // for default base becomes 10\n    pill: '9999px',\n    circle: '100%',\n  };\n\n  /**\n   * @deprecated Use `theme.shape.radius.default`, `theme.shape.radius.pill` or `theme.shape.radius.circle`instead\n   * @param amount\n   */\n  const borderRadius = (amount?: number) => {\n    const value = (amount ?? 1) * baseBorderRadius;\n    return `${value}px`;\n  };\n\n  return {\n    radius,\n    borderRadius,\n  };\n}\n"],"names":["z"],"mappings":";;;;;;;AAsCO,MAAM,qBAAA,GAAwBA,IAAE,MAAA,CAAO;AAAA,EAC5C,cAAcA,GAAA,CAAE,GAAA,EAAI,CAAE,WAAA,GAAc,QAAA;AACtC,CAAC;AAKM,SAAS,YAAY,OAAA,EAAsC;AA7ClE,EAAA,IAAA,EAAA;AA8CE,EAAA,MAAM,gBAAA,GAAA,CAAmB,EAAA,GAAA,OAAA,CAAQ,YAAA,KAAR,IAAA,GAAA,EAAA,GAAwB,CAAA;AAEjD,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,OAAA,EAAS,GAAG,gBAAgB,CAAA,EAAA,CAAA;AAAA,IAC5B,EAAA,EAAI,GAAG,gBAAgB,CAAA,EAAA,CAAA;AAAA,IACvB,IAAI,CAAA,EAAG,IAAA,CAAK,KAAK,gBAAA,IAAoB,CAAA,GAAI,EAAE,CAAC,CAAA,EAAA,CAAA;AAAA;AAAA,IAC5C,IAAI,CAAA,EAAG,IAAA,CAAK,KAAK,gBAAA,IAAoB,CAAA,GAAI,EAAE,CAAC,CAAA,EAAA,CAAA;AAAA;AAAA,IAC5C,IAAA,EAAM,QAAA;AAAA,IACN,MAAA,EAAQ;AAAA,GACV;AAMA,EAAA,MAAM,YAAA,GAAe,CAAC,MAAA,KAAoB;AACxC,IAAA,MAAM,KAAA,GAAA,CAAS,0BAAU,CAAA,IAAK,gBAAA;AAC9B,IAAA,OAAO,GAAG,KAAK,CAAA,EAAA,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,MAAA;AAAA,IACA;AAAA,GACF;AACF;;;;;"}