{
  "version": 3,
  "sources": ["ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Coupon/Coupon.hooks.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Coupon/Coupon.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Coupon/Coupon.js", "ssg:https://framerusercontent.com/modules/kOMZACwsAaiZSYgC1G2L/ngyRgHY3fFjC1oHyoFSv/Coupon.js"],
  "sourcesContent": ["import { useFetchCoupons } from \"../../../../hooks/fetchers/useFetchCoupons.js\";\nconst useFetchCoupon = (couponId, enabledFetch) => {\n  const {\n    isLoading,\n    error,\n    data,\n    ...rest\n  } = useFetchCoupons([couponId ?? 0], enabledFetch);\n  const hasError = error !== void 0;\n  const isPending = isLoading || hasError || !enabledFetch;\n  return {\n    isPending,\n    coupon: data == null ? void 0 : data.data[0],\n    error,\n    ...rest\n  };\n};\nexport {\n  useFetchCoupon\n};\n", "import { DiscountType } from \"../../../../types/models/coupon.js\";\nconst getCouponNameByDiscountType = (coupon) => {\n  const {\n    discountType,\n    discountValue\n  } = coupon;\n  const postfix = discountType === DiscountType.FIXED_PRICE ? \"\uC6D0 \uCFE0\uD3F0\" : \"% \uCFE0\uD3F0\";\n  return discountValue.toLocaleString(\"ko-KR\") + postfix;\n};\nexport {\n  getCouponNameByDiscountType\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType } from \"framer\";\nimport { DownloadableCoupon } from \"../DownloadableCoupon/DownloadableCoupon.js\";\nimport { COUPON_CONTROLS, toBackgroundColor } from \"../../../../libs/property-controls/coupon.js\";\nimport { useFetchCoupon } from \"./Coupon.hooks.js\";\nimport { THEME_CONTROLS } from \"../../../../libs/property-controls/theme.js\";\nimport { ThemeProvider } from \"../../../@shared/providers/ThemeProvider/ThemeProvider.js\";\nimport \"react\";\nimport { SWRPersistentCache } from \"../../../@shared/swr/SWRPersistentCache/SWRPersistentCache.js\";\nimport { IntersectionProvider } from \"../IntersectionProvider/IntersectionProvider.js\";\nimport { useIntersectionContext } from \"../IntersectionProvider/IntersectionProvider.hooks.js\";\nimport { getCouponNameByDiscountType } from \"./Coupon.utils.js\";\nconst CouponInner = ({\n  couponId = \"\",\n  theme,\n  backgroundColor\n}) => {\n  const {\n    isInView\n  } = useIntersectionContext();\n  const enabledFetch = !!Number(couponId) && isInView;\n  const {\n    coupon\n  } = useFetchCoupon(Number(couponId), enabledFetch);\n  return /* @__PURE__ */ jsx(ThemeProvider, { theme, children: /* @__PURE__ */ jsx(DownloadableCoupon, { coupon: coupon && {\n    ...coupon,\n    couponName: getCouponNameByDiscountType(coupon)\n  }, backgroundColor: toBackgroundColor(backgroundColor) }) });\n};\nconst Coupon = (props) => {\n  return /* @__PURE__ */ jsx(SWRPersistentCache, { children: /* @__PURE__ */ jsx(IntersectionProvider, { once: true, margin: \"200px 0px\", children: /* @__PURE__ */ jsx(CouponInner, { ...props }) }) });\n};\naddPropertyControls(Coupon, {\n  couponId: {\n    type: ControlType.String,\n    title: \"\uCFE0\uD3F0 ID\"\n  },\n  ...THEME_CONTROLS,\n  ...COUPON_CONTROLS\n});\nexport {\n  Coupon\n};\n", "/** local */// import { Coupon } from \"https://localhost:4173/components/systems/curations/Coupon/Coupon.js\"\n/** dev */// import { Coupon } from \"https://asset.29cm.co.kr/contents/framer/dev/components/systems/curations/Coupon/Coupon.js\"\n/** production */import{Coupon}from\"https://asset.29cm.co.kr/contents/framer/components/systems/curations/Coupon/Coupon.js\";Coupon.displayName=\"CouponV2\";/**\n * @framerDisableUnlink\n */export default Coupon;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Coupon\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Coupon.map"],
  "mappings": "6WACA,IAAMA,EAAiB,CAACC,EAAUC,IAAiB,CACjD,GAAM,CACJ,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,GAAGC,CACL,EAAIC,EAAgB,CAACN,GAAY,CAAC,EAAGC,CAAY,EAGjD,MAAO,CACL,UAFgBC,GADDC,IAAU,QACgB,CAACF,EAG1C,OAAgCG,GAAK,KAAK,CAAC,EAC3C,MAAAD,EACA,GAAGE,CACL,CACF,ECfA,IAAME,EAA+BC,GAAW,CAC9C,GAAM,CACJ,aAAAC,EACA,cAAAC,CACF,EAAIF,EACEG,EAAUF,IAAiBG,EAAa,YAAc,sBAAS,iBACrE,OAAOF,EAAc,eAAe,OAAO,EAAIC,CACjD,ECIA,IAAME,EAAc,CAAC,CACnB,SAAAC,EAAW,GACX,MAAAC,EACA,gBAAAC,CACF,IAAM,CACJ,GAAM,CACJ,SAAAC,CACF,EAAIC,EAAuB,EACrBC,EAAe,CAAC,CAAC,OAAOL,CAAQ,GAAKG,EACrC,CACJ,OAAAG,CACF,EAAIC,EAAe,OAAOP,CAAQ,EAAGK,CAAY,EACjD,OAAuBG,EAAIC,EAAe,CAAE,MAAAR,EAAO,SAA0BO,EAAIE,EAAoB,CAAE,OAAQJ,GAAU,CACvH,GAAGA,EACH,WAAYK,EAA4BL,CAAM,CAChD,EAAG,gBAAiBM,EAAkBV,CAAe,CAAE,CAAC,CAAE,CAAC,CAC7D,EACMW,EAAUC,GACSN,EAAIO,EAAoB,CAAE,SAA0BP,EAAIQ,EAAsB,CAAE,KAAM,GAAM,OAAQ,YAAa,SAA0BR,EAAIT,EAAa,CAAE,GAAGe,CAAM,CAAC,CAAE,CAAC,CAAE,CAAC,EAEvMG,EAAoBJ,EAAQ,CAC1B,SAAU,CACR,KAAMK,EAAY,OAClB,MAAO,iBACT,EACA,GAAGC,EACH,GAAGC,CACL,CAAC,ECrC2HC,EAAO,YAAY,WAE5I,IAAOC,EAAQD",
  "names": ["useFetchCoupon", "couponId", "enabledFetch", "isLoading", "error", "data", "rest", "useFetchCoupons", "getCouponNameByDiscountType", "coupon", "discountType", "discountValue", "postfix", "DiscountType", "CouponInner", "couponId", "theme", "backgroundColor", "isInView", "useIntersectionContext", "enabledFetch", "coupon", "useFetchCoupon", "p", "ThemeProvider", "DownloadableCoupon", "getCouponNameByDiscountType", "toBackgroundColor", "Coupon", "props", "SWRPersistentCache", "IntersectionProvider", "addPropertyControls", "ControlType", "THEME_CONTROLS", "COUPON_CONTROLS", "Coupon", "Coupon_default"]
}
