{
  "version": 3,
  "sources": ["ssg:https://asset.29cm.co.kr/contents/framer/components/systems/TextButton/TextButton.constants.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/TextButton/TextButton.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/@shared/TextButton/TextButton.types.js", "ssg:https://asset.29cm.co.kr/contents/framer/hooks/useCreateIsomorphicAppSchemeLink.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/TextButton/TextButton.js", "ssg:https://framerusercontent.com/modules/XO0o3hQK1oWWy3FaPwi1/q6L8Z0kY6HS407XKBvZD/TextButton.js"],
  "sourcesContent": ["import \"react/jsx-runtime\";\nimport { download } from \"../../@shared/Icon/assets/download.js\";\nimport { plus } from \"../../@shared/Icon/assets/plus.js\";\nimport { chevronRight } from \"../../@shared/Icon/assets/chevronRight.js\";\nimport { chevronDown } from \"../../@shared/Icon/assets/chevronDown.js\";\nimport { heart } from \"../../@shared/Icon/assets/heart.js\";\nimport { bell } from \"../../@shared/Icon/assets/bell.js\";\nimport { gift } from \"../../@shared/Icon/assets/gift.js\";\nimport { share } from \"../../@shared/Icon/assets/share.js\";\nimport { scrap } from \"../../@shared/Icon/assets/scrap.js\";\nimport { lock } from \"../../@shared/Icon/assets/lock.js\";\nimport { lockOff } from \"../../@shared/Icon/assets/lockOff.js\";\nconst prefixIconAssets = {\n  scrap,\n  lock,\n  lockOff,\n  heart,\n  bell,\n  gift,\n  share\n};\nconst postfixIconAssets = {\n  plus,\n  chevronRight,\n  download,\n  chevronDown,\n  share\n};\nconst PREFIX_ICON_OPTIONS = Object.keys(prefixIconAssets);\nconst POSTFIX_ICON_OPTIONS = Object.keys(postfixIconAssets);\nexport {\n  POSTFIX_ICON_OPTIONS,\n  PREFIX_ICON_OPTIONS,\n  postfixIconAssets,\n  prefixIconAssets\n};\n", "import { getAnchorTarget } from \"../../../utils/getAnchorTarget.js\";\nconst reshapeProps = ({\n  url,\n  onTap,\n  prefixIcon,\n  postfixIcon,\n  fillIcon,\n  ...rest\n}) => {\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", "var TextButtonTheme = /* @__PURE__ */ ((TextButtonTheme2) => {\n  TextButtonTheme2[\"LIGHT\"] = \"light\";\n  TextButtonTheme2[\"DARK\"] = \"dark\";\n  return TextButtonTheme2;\n})(TextButtonTheme || {});\nvar TextButtonVariant = /* @__PURE__ */ ((TextButtonVariant2) => {\n  TextButtonVariant2[\"PRIMARY\"] = \"primary\";\n  TextButtonVariant2[\"SECONDARY\"] = \"secondary\";\n  TextButtonVariant2[\"TERTIARY\"] = \"tertiary\";\n  TextButtonVariant2[\"DISABLED\"] = \"disabled\";\n  return TextButtonVariant2;\n})(TextButtonVariant || {});\nvar TextButtonSize = /* @__PURE__ */ ((TextButtonSize2) => {\n  TextButtonSize2[\"LARGE\"] = \"large\";\n  TextButtonSize2[\"MEDIUM\"] = \"medium\";\n  TextButtonSize2[\"SMALL\"] = \"small\";\n  TextButtonSize2[\"XSMALL\"] = \"xSmall\";\n  return TextButtonSize2;\n})(TextButtonSize || {});\nexport {\n  TextButtonSize,\n  TextButtonTheme,\n  TextButtonVariant\n};\n", "import { useDeviceInfo } from \"./useDeviceInfo.js\";\nconst useCreateIsomorphicAppSchemeLink = (url) => {\n  const {\n    isWebview\n  } = useDeviceInfo();\n  return isWebview && url ? `app29cm://web/${url}` : url;\n};\nexport {\n  useCreateIsomorphicAppSchemeLink\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType } from \"framer\";\nimport { PREFIX_ICON_OPTIONS, POSTFIX_ICON_OPTIONS } from \"./TextButton.constants.js\";\nimport { reshapeProps } from \"./TextButton.utils.js\";\nimport { TextButtonVariant, TextButtonTheme, TextButtonSize } from \"../../@shared/TextButton/TextButton.types.js\";\nimport { TextButton as Default } from \"../../@shared/TextButton/TextButton.js\";\nimport { useCreateIsomorphicAppSchemeLink } from \"../../../hooks/useCreateIsomorphicAppSchemeLink.js\";\nconst FramerTextButton = (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(FramerTextButton, {\n  variant: {\n    type: ControlType.Enum,\n    title: \"\uBCC0\uD615\",\n    options: [TextButtonVariant.PRIMARY, TextButtonVariant.SECONDARY, TextButtonVariant.TERTIARY, TextButtonVariant.DISABLED],\n    optionTitles: [\"primary\", \"secondary\", \"tertiary\", \"disabled\"]\n  },\n  theme: {\n    type: ControlType.Enum,\n    title: \"\uD14C\uB9C8\",\n    options: [TextButtonTheme.LIGHT, TextButtonTheme.DARK],\n    optionTitles: [\"light\", \"dark\"],\n    defaultValue: TextButtonTheme.LIGHT,\n    displaySegmentedControl: true\n  },\n  size: {\n    type: ControlType.Enum,\n    title: \"\uD06C\uAE30\",\n    options: [TextButtonSize.LARGE, TextButtonSize.MEDIUM, TextButtonSize.SMALL],\n    optionTitles: [\"large\", \"medium\", \"small\"],\n    defaultValue: TextButtonSize.MEDIUM\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 === TextButtonVariant.DISABLED,\n    type: ControlType.Link,\n    title: \"URL\"\n  },\n  onTap: {\n    hidden: ({\n      variant\n    }) => variant === TextButtonVariant.DISABLED,\n    type: ControlType.EventHandler\n  }\n});\nexport {\n  FramerTextButton\n};\n", "import{FramerTextButton as TextButton}from\"https://asset.29cm.co.kr/contents/framer/components/systems/TextButton/TextButton.js\";TextButton.displayName=\"TextButton\";/**\n * @framerDisableUnlink\n */export default TextButton;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextButton\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextButton.map"],
  "mappings": "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",
  "names": ["prefixIconAssets", "scrap", "lock", "lockOff", "heart", "bell", "gift", "share", "postfixIconAssets", "plus", "chevronRight", "download", "chevronDown", "PREFIX_ICON_OPTIONS", "POSTFIX_ICON_OPTIONS", "reshapeProps", "url", "onTap", "prefixIcon", "postfixIcon", "fillIcon", "rest", "disabled", "getAnchorTarget", "toPropsWithIcon", "fill", "toIconOptions", "icon", "TextButtonTheme", "TextButtonTheme2", "TextButtonVariant", "TextButtonVariant2", "TextButtonSize", "TextButtonSize2", "useCreateIsomorphicAppSchemeLink", "url", "isWebview", "useDeviceInfo", "FramerTextButton", "props", "url", "useCreateIsomorphicAppSchemeLink", "text", "rest", "reshapeProps", "p", "Default", "addPropertyControls", "ControlType", "TextButtonVariant", "TextButtonTheme", "TextButtonSize", "postfixIcon", "PREFIX_ICON_OPTIONS", "prefixIcon", "POSTFIX_ICON_OPTIONS", "variant", "FramerTextButton", "TextButton_default"]
}
