{
  "version": 3,
  "sources": ["ssg:https://asset.29cm.co.kr/contents/framer/components/canvas/BrandProvider/BrandProvider.hooks.event.js", "ssg:https://asset.29cm.co.kr/contents/framer/apis/brand/BrandApiService.js", "ssg:https://asset.29cm.co.kr/contents/framer/apis/brand/BrandApiService.types.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/canvas/BrandProvider/BrandProvider.js", "ssg:https://framerusercontent.com/modules/ynFW5DHzbfEoPYWosWPd/N5eZOcQgqgLslScjgNGi/BrandProvider.js"],
  "sourcesContent": ["import { useAnalytics } from \"../../../hooks/analytics/useAnalytics.js\";\nimport { createContentEventProperties } from \"../../../utils/event-properties/content.js\";\nconst useTrackClickBrand = (brandNo) => {\n  const {\n    trackFirebase,\n    trackAmplitude\n  } = useAnalytics();\n  const trackClickBrand = () => {\n    const properties = {\n      ...createContentEventProperties(),\n      brand_no: brandNo\n    };\n    trackAmplitude(\"click_brand_home_content\", properties);\n    trackFirebase(\"click_brand_home_content\", properties);\n  };\n  return {\n    trackClickBrand\n  };\n};\nexport {\n  useTrackClickBrand\n};\n", "import { env } from \"../../config/index.js\";\nclass BrandApiService {\n  async getBrand(brandNo) {\n    return fetch(`${env.api.content}/api/v4/framers/front-brands/${brandNo}`, {\n      credentials: \"include\"\n    }).then((res) => res.json()).then((json) => json);\n  }\n}\nconst brandApi = new BrandApiService();\nexport {\n  brandApi\n};\n", "var BrandImageTypes = /* @__PURE__ */ ((BrandImageTypes2) => {\n  BrandImageTypes2[\"ABOUT_IMAGE\"] = \"ABOUT\";\n  BrandImageTypes2[\"INITIAL_IMAGE\"] = \"ICON\";\n  return BrandImageTypes2;\n})(BrandImageTypes || {});\nexport {\n  BrandImageTypes\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport useSWR from \"../../../node_modules/swr/core/dist/index.js\";\nimport { withCSS } from \"framer\";\nimport { useTrackClickBrand } from \"./BrandProvider.hooks.event.js\";\nimport { cloneFramerChildren } from \"../../../utils/cloneFramerChildren.js\";\nimport { brandApi } from \"../../../apis/brand/BrandApiService.js\";\nimport { BrandImageTypes } from \"../../../apis/brand/BrandApiService.types.js\";\nimport { useTrackSnowplowEvent } from \"../../../hooks/snowplow/useTrackSnowplowEvent.js\";\nimport { querify } from \"../../../utils/querify.js\";\nimport { getImageUrl } from \"../../../utils/image/getImageUrl.js\";\nvar SortType = /* @__PURE__ */ ((SortType2) => {\n  SortType2[\"Recommend\"] = \"RECOMMEND\";\n  SortType2[\"New\"] = \"NEW\";\n  SortType2[\"Review\"] = \"REVIEW\";\n  SortType2[\"Price\"] = \"PRICE\";\n  SortType2[\"Discount\"] = \"DISCOUNT\";\n  SortType2[\"Like\"] = \"LIKE\";\n  SortType2[\"Order\"] = \"ORDER\";\n  return SortType2;\n})(SortType || {});\nvar SortOrderType = /* @__PURE__ */ ((SortOrderType2) => {\n  SortOrderType2[\"Asc\"] = \"ASC\";\n  SortOrderType2[\"Desc\"] = \"DESC\";\n  return SortOrderType2;\n})(SortOrderType || {});\nconst SortQuery = {\n  Recommend: {\n    sort: \"RECOMMEND\",\n    sortOrder: \"DESC\"\n    /* Desc */\n  },\n  New: {\n    sort: \"NEW\",\n    sortOrder: \"DESC\"\n    /* Desc */\n  },\n  Review: {\n    sort: \"REVIEW\",\n    sortOrder: \"DESC\"\n    /* Desc */\n  },\n  MinPrice: {\n    sort: \"PRICE\",\n    sortOrder: \"ASC\"\n    /* Asc */\n  },\n  MaxPrice: {\n    sort: \"PRICE\",\n    sortOrder: \"DESC\"\n    /* Desc */\n  },\n  Discount: {\n    sort: \"DISCOUNT\",\n    sortOrder: \"DESC\"\n    /* Desc */\n  },\n  Like: {\n    sort: \"LIKE\",\n    sortOrder: \"DESC\"\n    /* Desc */\n  },\n  Order: {\n    sort: \"ORDER\",\n    sortOrder: \"DESC\"\n    /* Desc */\n  }\n};\nconst COMPONENT_NAME = \"brand-provider\";\nconst css = [`\n    .${COMPONENT_NAME}-container {\n      width: 100%;\n      height: 100%;\n    }\n  `, `\n    .${COMPONENT_NAME}-container > div {\n      width: 100% !important;\n      height: 100% !important;\n    }\n  `];\nconst BrandProvider = withCSS(({\n  children,\n  brandNo = \"\",\n  sort = \"Recommend\"\n}) => {\n  const {\n    trackClickBrand\n  } = useTrackClickBrand(brandNo);\n  const trackSnowplowEvent = useTrackSnowplowEvent();\n  const {\n    data\n  } = useSWR(brandNo ? `brand_${brandNo}` : null, () => brandApi.getBrand(brandNo));\n  const query = querify(SortQuery[sort]);\n  const url = `https://shop.29cm.co.kr/brand/${brandNo}?${query}`;\n  if (!data || !data.data) {\n    return null;\n  }\n  const {\n    data: brand\n  } = data;\n  const handleClick = () => {\n    trackClickBrand();\n    trackSnowplowEvent(\"click_brand\", {\n      brand_no: brand.id,\n      brand_name: brand.brandNameKor\n    });\n  };\n  const brandImage = brand.images.find((image) => image.type === BrandImageTypes.INITIAL_IMAGE);\n  return /* @__PURE__ */ jsx(\"div\", { className: `${COMPONENT_NAME}-container`, children: cloneFramerChildren(children, {\n    ...brand,\n    image: brandImage ? getImageUrl(brandImage.url) : \"\",\n    url,\n    onClick: handleClick\n  }) });\n}, css);\nexport {\n  BrandProvider,\n  SortOrderType,\n  SortType\n};\n", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsOnFramerCanvas}from\"framer\";import{BrandProvider as BaseBrandProvider}from\"https://asset.29cm.co.kr/contents/framer/components/canvas/BrandProvider/BrandProvider.js\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerDisableUnlink\n */export default function BrandProvider({children,brandNo,sort}){const isOnFramerCanvas=useIsOnFramerCanvas();if(isOnFramerCanvas){return children;}return /*#__PURE__*/_jsx(BaseBrandProvider,{brandNo:brandNo,sort:sort,children:children});}addPropertyControls(BrandProvider,{children:{type:ControlType.ComponentInstance,description:\"\uCEF4\uD3EC\uB10C\uD2B8\"},brandNo:{type:ControlType.String,description:\"\uBE0C\uB79C\uB4DC \uBC88\uD638\",defaultValue:\"4054\"},sort:{type:ControlType.Enum,title:\"\uBE0C\uB79C\uB4DC\uD648 \uC0C1\uD488 \uC815\uB82C\",defaultValue:\"Recommend\",options:[\"Recommend\",\"New\",\"Review\",\"MinPrice\",\"MaxPrice\",\"Discount\",\"Like\",\"Order\"],optionTitles:[\"\uCD94\uCC9C\uC21C\",\"\uC2E0\uC0C1\uD488\uC21C\",\"\uB9AC\uBDF0\uB9CE\uC740\uC21C\",\"\uB0AE\uC740\uAC00\uACA9\uC21C\",\"\uB192\uC740\uAC00\uACA9\uC21C\",\"\uB192\uC740\uD560\uC778\uC21C\",\"\uC88B\uC544\uC694\uB9CE\uC740\uC21C\",\"\uD310\uB9E4\uC21C\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BrandProvider\",\"slots\":[\"children\"],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BrandProvider.map"],
  "mappings": "gMAEA,IAAMA,EAAsBC,GAAY,CACtC,GAAM,CACJ,cAAAC,EACA,eAAAC,CACF,EAAIC,EAAa,EASjB,MAAO,CACL,gBATsB,IAAM,CAC5B,IAAMC,EAAa,CACjB,GAAGC,EAA6B,EAChC,SAAUL,CACZ,EACAE,EAAe,2BAA4BE,CAAU,EACrDH,EAAc,2BAA4BG,CAAU,CACtD,CAGA,CACF,ECjBA,IAAME,EAAN,KAAsB,CACpB,MAAM,SAASC,EAAS,CACtB,OAAO,MAAM,GAAGC,EAAI,IAAI,OAAO,gCAAgCD,CAAO,GAAI,CACxE,YAAa,SACf,CAAC,EAAE,KAAME,GAAQA,EAAI,KAAK,CAAC,EAAE,KAAMC,GAASA,CAAI,CAClD,CACF,EACMC,EAAW,IAAIL,ECRrB,IAAIM,GAAoCC,IACtCA,EAAiB,YAAiB,QAClCA,EAAiB,cAAmB,OAC7BA,IACND,GAAmB,CAAC,CAAC,ECqBxB,IAAME,EAAY,CAChB,UAAW,CACT,KAAM,YACN,UAAW,MAEb,EACA,IAAK,CACH,KAAM,MACN,UAAW,MAEb,EACA,OAAQ,CACN,KAAM,SACN,UAAW,MAEb,EACA,SAAU,CACR,KAAM,QACN,UAAW,KAEb,EACA,SAAU,CACR,KAAM,QACN,UAAW,MAEb,EACA,SAAU,CACR,KAAM,WACN,UAAW,MAEb,EACA,KAAM,CACJ,KAAM,OACN,UAAW,MAEb,EACA,MAAO,CACL,KAAM,QACN,UAAW,MAEb,CACF,EACMC,EAAiB,iBACjBC,EAAM,CAAC;AAAA,OACND,CAAc;AAAA;AAAA;AAAA;AAAA,IAIhB;AAAA,OACEA,CAAc;AAAA;AAAA;AAAA;AAAA,GAIlB,EACGE,EAAgBC,EAAQ,CAAC,CAC7B,SAAAC,EACA,QAAAC,EAAU,GACV,KAAAC,EAAO,WACT,IAAM,CACJ,GAAM,CACJ,gBAAAC,CACF,EAAIC,EAAmBH,CAAO,EACxBI,EAAqBC,EAAsB,EAC3C,CACJ,KAAAC,CACF,EAAIC,EAAOP,EAAU,SAASA,CAAO,GAAK,KAAM,IAAMQ,EAAS,SAASR,CAAO,CAAC,EAC1ES,EAAQC,EAAQhB,EAAUO,CAAI,CAAC,EAC/BU,EAAM,iCAAiCX,CAAO,IAAIS,CAAK,GAC7D,GAAI,CAACH,GAAQ,CAACA,EAAK,KACjB,OAAO,KAET,GAAM,CACJ,KAAMM,CACR,EAAIN,EACEO,EAAc,IAAM,CACxBX,EAAgB,EAChBE,EAAmB,cAAe,CAChC,SAAUQ,EAAM,GAChB,WAAYA,EAAM,YACpB,CAAC,CACH,EACME,EAAaF,EAAM,OAAO,KAAMG,GAAUA,EAAM,OAASC,EAAgB,aAAa,EAC5F,OAAuBC,EAAI,MAAO,CAAE,UAAW,GAAGtB,CAAc,aAAc,SAAUuB,EAAoBnB,EAAU,CACpH,GAAGa,EACH,MAAOE,EAAaK,EAAYL,EAAW,GAAG,EAAI,GAClD,IAAAH,EACA,QAASE,CACX,CAAC,CAAE,CAAC,CACN,EAAGjB,CAAG,EC9GY,SAARwB,EAA+B,CAAC,SAAAC,EAAS,QAAAC,EAAQ,KAAAC,CAAI,EAAE,CAA8C,OAAtBC,EAAoB,EAA8BH,EAA8BI,EAAKL,EAAkB,CAAC,QAAQE,EAAQ,KAAKC,EAAK,SAASF,CAAQ,CAAC,CAAE,CAACK,EAAoBN,EAAc,CAAC,SAAS,CAAC,KAAKO,EAAY,kBAAkB,YAAY,0BAAM,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,YAAY,kCAAS,aAAa,MAAM,EAAE,KAAK,CAAC,KAAKA,EAAY,KAAK,MAAM,qDAAa,aAAa,YAAY,QAAQ,CAAC,YAAY,MAAM,SAAS,WAAW,WAAW,WAAW,OAAO,OAAO,EAAE,aAAa,CAAC,qBAAM,2BAAO,iCAAQ,iCAAQ,iCAAQ,iCAAQ,uCAAS,oBAAK,CAAC,CAAC,CAAC",
  "names": ["useTrackClickBrand", "brandNo", "trackFirebase", "trackAmplitude", "useAnalytics", "properties", "createContentEventProperties", "BrandApiService", "brandNo", "env", "res", "json", "brandApi", "BrandImageTypes", "BrandImageTypes2", "SortQuery", "COMPONENT_NAME", "css", "BrandProvider", "withCSS", "children", "brandNo", "sort", "trackClickBrand", "useTrackClickBrand", "trackSnowplowEvent", "useTrackSnowplowEvent", "data", "useSWR", "brandApi", "query", "querify", "url", "brand", "handleClick", "brandImage", "image", "BrandImageTypes", "p", "cloneFramerChildren", "getImageUrl", "BrandProvider", "children", "brandNo", "sort", "useIsOnFramerCanvas", "p", "addPropertyControls", "ControlType"]
}
