{
  "version": 3,
  "sources": ["ssg:https://asset.29cm.co.kr/contents/framer/components/systems/Button/Button.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/Button/Button.js"],
  "sourcesContent": ["import { getAnchorTarget } from \"../../../utils/getAnchorTarget.js\";\nconst reshapeProps = (props) => {\n  const {\n    url,\n    onTap,\n    prefixIcon,\n    postfixIcon,\n    fillIcon,\n    ...rest\n  } = props;\n  const disabled = rest.variant === \"disabled\";\n  return {\n    as: url ? \"a\" : \"button\",\n    href: url,\n    target: url ? getAnchorTarget(url) : \"_self\",\n    disabled,\n    onClick: onTap,\n    ...toPropsWithIcon(fillIcon, prefixIcon, postfixIcon),\n    ...rest\n  };\n};\nconst toPropsWithIcon = (fill, prefixIcon, postfixIcon) => {\n  if (!postfixIcon) {\n    return {\n      prefixIcon: toIconOptions(fill, prefixIcon)\n    };\n  }\n  return {\n    postfixIcon: toIconOptions(fill, postfixIcon)\n  };\n};\nconst toIconOptions = (fill, icon) => typeof icon === \"string\" ? {\n  type: icon,\n  fill\n} : void 0;\nexport {\n  reshapeProps\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType } from \"framer\";\nimport { Button as Default } from \"../../@shared/Button/Button.js\";\nimport { PREFIX_ICON_OPTIONS, POSTFIX_ICON_OPTIONS } from \"./Button.constants.js\";\nimport { reshapeProps } from \"./Button.utils.js\";\nimport { ButtonVariant, ButtonTheme, ButtonSize } from \"../../@shared/Button/Button.types.js\";\nimport { useCreateIsomorphicAppSchemeLink } from \"../../../hooks/useCreateIsomorphicAppSchemeLink.js\";\nconst FramerButton = (props) => {\n  const url = useCreateIsomorphicAppSchemeLink(props.url);\n  const {\n    text,\n    ...rest\n  } = reshapeProps({\n    ...props,\n    url\n  });\n  return /* @__PURE__ */ jsx(Default, { ...rest, children: text });\n};\naddPropertyControls(FramerButton, {\n  variant: {\n    type: ControlType.Enum,\n    title: \"\uBCC0\uD615\",\n    options: [ButtonVariant.PRIMARY, ButtonVariant.SECONDARY, ButtonVariant.TERTIARY, ButtonVariant.CUSTOM, ButtonVariant.DISABLED],\n    optionTitles: [\"primary\", \"secondary\", \"tertiary\", \"custom\", \"disabled\"]\n  },\n  theme: {\n    type: ControlType.Enum,\n    title: \"\uD14C\uB9C8\",\n    options: [ButtonTheme.LIGHT, ButtonTheme.DARK],\n    optionTitles: [\"light\", \"dark\"],\n    defaultValue: ButtonTheme.LIGHT,\n    displaySegmentedControl: true\n  },\n  backgroundColor: {\n    hidden: ({\n      variant\n    }) => variant !== ButtonVariant.CUSTOM,\n    type: ControlType.Color,\n    title: \"\uBC30\uACBD \uC0C9\uC0C1\",\n    optional: true\n  },\n  color: {\n    hidden: ({\n      variant\n    }) => variant !== ButtonVariant.CUSTOM,\n    type: ControlType.Color,\n    title: \"\uD14D\uC2A4\uD2B8 \uC0C9\uC0C1\",\n    optional: true\n  },\n  size: {\n    type: ControlType.Enum,\n    title: \"\uD06C\uAE30\",\n    options: [ButtonSize.LARGE, ButtonSize.MEDIUM, ButtonSize.SMALL, ButtonSize.X_SMALL],\n    optionTitles: [\"large\", \"medium\", \"small\", \"xSmall\"],\n    defaultValue: ButtonSize.MEDIUM\n  },\n  fill: {\n    type: ControlType.Boolean,\n    title: \"\uBC18\uC751\uD615 \uB108\uBE44\",\n    defaultValue: false\n  },\n  text: {\n    type: ControlType.String,\n    title: \"\uD14D\uC2A4\uD2B8\",\n    defaultValue: \"\uD14D\uC2A4\uD2B8\"\n  },\n  prefixIcon: {\n    hidden: ({\n      postfixIcon\n    }) => postfixIcon !== void 0,\n    type: ControlType.Enum,\n    title: \"\uC88C\uCE21 \uC544\uC774\uCF58\",\n    options: [void 0, ...PREFIX_ICON_OPTIONS],\n    optionTitles: [\"\uC120\uD0DD \uC548 \uD568\", ...PREFIX_ICON_OPTIONS]\n  },\n  postfixIcon: {\n    hidden: ({\n      prefixIcon\n    }) => prefixIcon !== void 0,\n    type: ControlType.Enum,\n    title: \"\uC6B0\uCE21 \uC544\uC774\uCF58\",\n    options: [void 0, ...POSTFIX_ICON_OPTIONS],\n    optionTitles: [\"\uC120\uD0DD \uC548 \uD568\", ...POSTFIX_ICON_OPTIONS]\n  },\n  fillIcon: {\n    type: ControlType.Boolean,\n    title: \"\uC544\uC774\uCF58 \uCC44\uC6B0\uAE30\",\n    defaultValue: false\n  },\n  url: {\n    hidden: ({\n      variant\n    }) => variant === ButtonVariant.DISABLED,\n    type: ControlType.Link,\n    title: \"URL\"\n  },\n  onTap: {\n    hidden: ({\n      variant\n    }) => variant === ButtonVariant.DISABLED,\n    type: ControlType.EventHandler\n  }\n});\nexport {\n  FramerButton\n};\n"],
  "mappings": "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",
  "names": ["reshapeProps", "props", "url", "onTap", "prefixIcon", "postfixIcon", "fillIcon", "rest", "disabled", "getAnchorTarget", "toPropsWithIcon", "fill", "toIconOptions", "icon", "FramerButton", "props", "url", "useCreateIsomorphicAppSchemeLink", "text", "rest", "reshapeProps", "p", "Default", "addPropertyControls", "ControlType", "ButtonVariant", "ButtonTheme", "variant", "ButtonSize", "postfixIcon", "PREFIX_ICON_OPTIONS", "prefixIcon", "POSTFIX_ICON_OPTIONS"]
}
