{"version":3,"file":"shared.BCPSFIGr.mjs","names":["Badge","downloadCoupons","createContext","withStyle","forwardRef","className","classNames","useState","useContext","withStyle","forwardRef","className","classNames","withStyle","forwardRef","className","classNames","forwardRef","className","useRef","useState","useCallback","useState","x","Children","isValidElement","cloneElement","BrandProvider","BaseBrandProvider","index","Icon","addPropertyOverrides","Icon","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","classNames","RichText","BrandHeaderChildren","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","classNames","Image","React.useContext","React.useMemo","React.Fragment","React.useRef","React.useId","className","classNames","fonts","css","className"],"sources":["https:/asset.29cm.co.kr/contents/framer/types/models/coupon.js","https:/asset.29cm.co.kr/contents/framer/components/ruler/Badge/Badge.types.js","https:/asset.29cm.co.kr/contents/framer/libs/property-controls/badge.js","https:/asset.29cm.co.kr/contents/framer/components/systems/Badge/Badge.js","https:/asset.29cm.co.kr/contents/framer/components/systems/Badge/index.js","https:/framerusercontent.com/modules/ujMK2tuF8Uh4yfdgJfeZ/IubTds5GYI6HTrke7tQJ/RulerBadge.js","https:/asset.29cm.co.kr/contents/framer/utils/error/error.js","https:/asset.29cm.co.kr/contents/framer/utils/error/sentry.js","https:/asset.29cm.co.kr/contents/framer/apis/coupon/CouponApiService.js","https:/asset.29cm.co.kr/contents/framer/hooks/mutations/useDownloadCouponsMutation.js","https:/asset.29cm.co.kr/contents/framer/components/canvas/CouponDownloadCTA/CouponDownloadCTA.constants.js","https:/asset.29cm.co.kr/contents/framer/hooks/mutations/useDownloadRandomCouponMutation.js","https:/asset.29cm.co.kr/contents/framer/hooks/useDownloadCoupons.js","https:/asset.29cm.co.kr/contents/framer/components/@shared/FoldableList/Root.js","https:/asset.29cm.co.kr/contents/framer/components/@shared/FoldableList/Root.hooks.js","https:/asset.29cm.co.kr/contents/framer/components/@shared/FoldableList/Content.hooks.js","https:/asset.29cm.co.kr/contents/framer/components/@shared/FoldableList/Content.js","https:/asset.29cm.co.kr/contents/framer/components/@shared/FoldableList/Root.constants.js","https:/asset.29cm.co.kr/contents/framer/components/@shared/FoldableList/Item.js","https:/asset.29cm.co.kr/contents/framer/components/@shared/FoldableList/Trigger.js","https:/asset.29cm.co.kr/contents/framer/components/@shared/FoldableList/index.js","https:/asset.29cm.co.kr/contents/framer/hooks/useVisibilityAwareInterval.js","https:/asset.29cm.co.kr/contents/framer/components/systems/RandomDiscountValue/RandomDiscountValue.js","https:/asset.29cm.co.kr/contents/framer/node_modules/date-fns/compareAsc.js","https:/asset.29cm.co.kr/contents/framer/node_modules/date-fns/isWithinInterval.js","https:/asset.29cm.co.kr/contents/framer/utils/date.js","https:/asset.29cm.co.kr/contents/framer/components/canvas/BrandProvider/BrandProvider.hooks.event.js","https:/asset.29cm.co.kr/contents/framer/utils/cloneFramerChildren.js","https:/asset.29cm.co.kr/contents/framer/apis/brand/BrandApiService.js","https:/asset.29cm.co.kr/contents/framer/apis/brand/BrandApiService.types.js","https:/asset.29cm.co.kr/contents/framer/components/canvas/BrandProvider/BrandProvider.js","https:/framerusercontent.com/modules/ynFW5DHzbfEoPYWosWPd/N5eZOcQgqgLslScjgNGi/BrandProvider.js","https:/asset.29cm.co.kr/contents/framer/components/systems/Icon/Icon.js","https:/framerusercontent.com/modules/SG4xUagjjnWfRbTksrvL/1SmWPZhe6a5JiRkDyVjO/Icon.js","https:/framerusercontent.com/modules/3X6W0txG9tK14U8Cu1MH/4RBJq71viKOiEANosqI3/l4Wf93nIP.js","https:/framerusercontent.com/modules/X9IvHO1MfyOUWFyBjWGB/G9VdC1CmYuh1xC1CT9ig/dGjKL2FOh.js","https:/framerusercontent.com/modules/CKvkVeLbRa2xr4kBxTF3/AwVUwXZIppXj3k3sjcen/Gz3JN7b91.js","https:/framerusercontent.com/modules/5pUOCTOYKZUqAhDOjpHa/Pa16b8s6rRYSA9mzHras/qhuohsHeN.js","https:/framerusercontent.com/modules/xqsD6K6VvI1SHpBpqdwW/GsNAVEd2HekG2WrUBKMb/zHkUJvUcG.js","https:/asset.29cm.co.kr/contents/framer/components/canvas/CouponDownloadCTA/CouponDownloadCTA.hooks.event.js"],"sourcesContent":["var CouponType = /* @__PURE__ */ ((CouponType2) => {\n  CouponType2[CouponType2[\"NORMAL\"] = 0] = \"NORMAL\";\n  CouponType2[CouponType2[\"LIMITED\"] = 1] = \"LIMITED\";\n  CouponType2[CouponType2[\"RANDOM\"] = 2] = \"RANDOM\";\n  return CouponType2;\n})(CouponType || {});\nvar CouponDiscountType = /* @__PURE__ */ ((CouponDiscountType2) => {\n  CouponDiscountType2[CouponDiscountType2[\"RATE\"] = 0] = \"RATE\";\n  CouponDiscountType2[CouponDiscountType2[\"AMOUNT\"] = 1] = \"AMOUNT\";\n  return CouponDiscountType2;\n})(CouponDiscountType || {});\nvar DiscountType = /* @__PURE__ */ ((DiscountType2) => {\n  DiscountType2[\"FIXED_RATE\"] = \"FIXED_RATE\";\n  DiscountType2[\"FIXED_PRICE\"] = \"FIXED_PRICE\";\n  return DiscountType2;\n})(DiscountType || {});\nvar AvailableDayType = /* @__PURE__ */ ((AvailableDayType2) => {\n  AvailableDayType2[\"RANGE\"] = \"RANGE\";\n  AvailableDayType2[\"DAY\"] = \"DAY\";\n  AvailableDayType2[\"NONE\"] = \"NONE\";\n  return AvailableDayType2;\n})(AvailableDayType || {});\nvar KindType = /* @__PURE__ */ ((KindType2) => {\n  KindType2[\"PRODUCT\"] = \"PRODUCT\";\n  KindType2[\"CART\"] = \"CART\";\n  return KindType2;\n})(KindType || {});\nexport {\n  AvailableDayType,\n  CouponDiscountType,\n  CouponType,\n  DiscountType,\n  KindType\n};\n","var BadgeVariant = /* @__PURE__ */ ((BadgeVariant2) => {\n  BadgeVariant2[\"CUSTOM\"] = \"custom\";\n  BadgeVariant2[\"SYSTEM\"] = \"system\";\n  return BadgeVariant2;\n})(BadgeVariant || {});\nvar BadgePriority = /* @__PURE__ */ ((BadgePriority2) => {\n  BadgePriority2[\"PRIMARY\"] = \"primary\";\n  BadgePriority2[\"SECONDARY\"] = \"secondary\";\n  BadgePriority2[\"TERTIARY\"] = \"tertiary\";\n  return BadgePriority2;\n})(BadgePriority || {});\nvar BadgeTone = /* @__PURE__ */ ((BadgeTone2) => {\n  BadgeTone2[\"DEFAULT\"] = \"default\";\n  BadgeTone2[\"INFORMATION\"] = \"information\";\n  BadgeTone2[\"POSITIVE\"] = \"positive\";\n  BadgeTone2[\"NEGATIVE\"] = \"negative\";\n  return BadgeTone2;\n})(BadgeTone || {});\nvar BadgeSize = /* @__PURE__ */ ((BadgeSize2) => {\n  BadgeSize2[\"SMALL\"] = \"small\";\n  BadgeSize2[\"medium\"] = \"medium\";\n  return BadgeSize2;\n})(BadgeSize || {});\nexport {\n  BadgePriority,\n  BadgeSize,\n  BadgeTone,\n  BadgeVariant\n};\n","import { ControlType } from \"framer\";\nimport { BADGE_PREFIX_ICON_OPTIONS } from \"../../components/ruler/Badge/Badge.constants.js\";\nimport { BadgeVariant, BadgePriority, BadgeTone, BadgeSize } from \"../../components/ruler/Badge/Badge.types.js\";\nconst BADGE_CONTROL_ITEMS = {\n  variant: {\n    type: ControlType.Enum,\n    title: \"variant\",\n    options: [BadgeVariant.SYSTEM, BadgeVariant.CUSTOM],\n    defaultValue: BadgeVariant.SYSTEM\n  },\n  priority: {\n    type: ControlType.Enum,\n    title: \"priority\",\n    options: [BadgePriority.PRIMARY, BadgePriority.SECONDARY, BadgePriority.TERTIARY],\n    defaultValue: BadgePriority.PRIMARY\n  },\n  customBackgroundColor: {\n    hidden: ({\n      variant\n    }) => variant !== BadgeVariant.CUSTOM,\n    type: ControlType.Color,\n    title: \"배경 색상\",\n    defaultValue: \"#000000\"\n  },\n  customTextColor: {\n    hidden: ({\n      variant\n    }) => variant !== BadgeVariant.CUSTOM,\n    type: ControlType.Color,\n    title: \"텍스트 색상\",\n    defaultValue: \"#FFFFFF\"\n  },\n  tone: {\n    hidden: ({\n      variant\n    }) => variant === BadgeVariant.CUSTOM,\n    type: ControlType.Enum,\n    title: \"tone\",\n    options: [BadgeTone.DEFAULT, BadgeTone.INFORMATION, BadgeTone.NEGATIVE, BadgeTone.POSITIVE],\n    defaultValue: BadgeTone.DEFAULT\n  },\n  size: {\n    type: ControlType.Enum,\n    title: \"크기\",\n    options: [BadgeSize.SMALL, BadgeSize.medium],\n    defaultValue: BadgeSize.SMALL\n  },\n  isWhite: {\n    hidden: ({\n      variant\n    }) => variant === BadgeVariant.CUSTOM,\n    type: ControlType.Boolean,\n    defaultValue: false,\n    title: \"화이트 속성 여부\"\n  },\n  isBlur: {\n    hidden: ({\n      variant\n    }) => variant === BadgeVariant.CUSTOM,\n    type: ControlType.Boolean,\n    defaultValue: false,\n    title: \"투명도 여부\"\n  },\n  prefixIcon: {\n    type: ControlType.Enum,\n    title: \"좌측 아이콘\",\n    options: [void 0, ...BADGE_PREFIX_ICON_OPTIONS],\n    optionTitles: [\"선택 안 함\", ...BADGE_PREFIX_ICON_OPTIONS],\n    defaultValue: void 0\n  },\n  label: {\n    type: ControlType.String,\n    defaultValue: \"라벨 텍스트\",\n    title: \"라벨\"\n  }\n};\nconst BADGE_CONTROLS = {\n  badge: ControlType.Object,\n  title: \"뱃지\",\n  controls: BADGE_CONTROL_ITEMS\n};\nexport {\n  BADGE_CONTROLS,\n  BADGE_CONTROL_ITEMS\n};\n","import { jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls } from \"framer\";\nimport { Badge } from \"../../ruler/Badge/Badge.js\";\nimport { BADGE_CONTROL_ITEMS } from \"../../../libs/property-controls/badge.js\";\nconst FramerBadge = (props) => {\n  return /* @__PURE__ */ jsx(Badge, { ...props });\n};\naddPropertyControls(FramerBadge, {\n  ...BADGE_CONTROL_ITEMS\n});\nexport {\n  FramerBadge\n};\n","import { FramerBadge } from \"./Badge.js\";\nexport {\n  FramerBadge as Badge\n};\n","/** local */// import { Badge } from \"https://localhost:4173/components/systems/Badge/Badge.js\"\n/** dev */// import { Badge } from \"https://asset.29cm.co.kr/contents/framer/dev/components/systems/Badge/Badge.js\"\n/** production */import{Badge}from\"https://asset.29cm.co.kr/contents/framer/components/systems/Badge/index.js\";/**\n * @framerDisableUnlink\n */export default Badge;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Badge\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RulerBadge.map","const parseErrorMessage = (err, fallbackMessage) => {\n  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;\n  const error = err;\n  const errors = error == null ? void 0 : error.errors;\n  if (isArrayErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_a = errors == null ? void 0 : errors.detail) == null ? void 0 : _a[0]) === \"string\") {\n    return errors.detail[0] || fallbackMessage;\n  }\n  if (isArrayErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_c = (_b = errors == null ? void 0 : errors.detail) == null ? void 0 : _b[0]) == null ? void 0 : _c.warning) === \"string\") {\n    return errors.detail[0].warning || fallbackMessage;\n  }\n  if (isArrayErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_f = (_e = (_d = errors == null ? void 0 : errors.detail) == null ? void 0 : _d[0]) == null ? void 0 : _e.warning) == null ? void 0 : _f[0]) === \"string\") {\n    return errors.detail[0].warning[0] || fallbackMessage;\n  }\n  if (isArrayErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_h = (_g = errors == null ? void 0 : errors.detail) == null ? void 0 : _g[0]) == null ? void 0 : _h.message) === \"string\") {\n    return errors.detail[0].message || fallbackMessage;\n  }\n  if (isArrayErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_k = (_j = (_i = errors == null ? void 0 : errors.detail) == null ? void 0 : _i[0]) == null ? void 0 : _j.message) == null ? void 0 : _k[0]) === \"string\") {\n    return errors.detail[0].message[0] || fallbackMessage;\n  }\n  if (isErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_l = errors == null ? void 0 : errors.detail) == null ? void 0 : _l.warning) === \"string\") {\n    return errors.detail.warning || fallbackMessage;\n  }\n  if (isErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_n = (_m = errors == null ? void 0 : errors.detail) == null ? void 0 : _m.warning) == null ? void 0 : _n[0]) === \"string\") {\n    return errors.detail.warning[0] || fallbackMessage;\n  }\n  if (isErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_o = errors == null ? void 0 : errors.detail) == null ? void 0 : _o.message) === \"string\") {\n    return errors.detail.message || fallbackMessage;\n  }\n  if (isErrorDetail(errors == null ? void 0 : errors.detail) && typeof ((_q = (_p = errors == null ? void 0 : errors.detail) == null ? void 0 : _p.message) == null ? void 0 : _q[0]) === \"string\") {\n    return errors.detail.message[0] || fallbackMessage;\n  }\n  if (error == null ? void 0 : error.message) {\n    return error.message;\n  }\n  const message = (errors == null ? void 0 : errors.message) ?? fallbackMessage;\n  if (message) {\n    return message;\n  }\n  return \"\";\n};\nconst parseDirectionCode = (err) => {\n  var _a, _b, _c;\n  const error = err;\n  const errors = error == null ? void 0 : error.errors;\n  if (isArrayErrorDetail(errors == null ? void 0 : errors.detail) && errors && Array.isArray((_b = (_a = errors == null ? void 0 : errors.detail) == null ? void 0 : _a[0]) == null ? void 0 : _b.direction_code)) {\n    return errors.detail[0].direction_code;\n  }\n  if (isErrorDetail(errors == null ? void 0 : errors.detail) && errors && Array.isArray((_c = errors == null ? void 0 : errors.detail) == null ? void 0 : _c.direction_code)) {\n    return errors.detail.direction_code;\n  }\n  return null;\n};\nconst isArrayErrorDetail = (detail) => {\n  return Array.isArray(detail);\n};\nconst isErrorDetail = (detail) => {\n  return typeof detail === \"object\" && detail !== null && !(\"length\" in detail);\n};\nexport {\n  parseDirectionCode,\n  parseErrorMessage\n};\n","import { withScope } from \"../../node_modules/@sentry/core/build/esm/currentScopes.js\";\nimport { captureException } from \"../../node_modules/@sentry/core/build/esm/exports.js\";\nconst captureAPIError = (error, response) => {\n  withScope((scope) => {\n    scope.setTag(\"error.type\", \"api_error\");\n    scope.setExtra(\"APIResponse\", response);\n    captureException(error);\n  });\n};\nexport {\n  captureAPIError\n};\n","import { parseErrorMessage, parseDirectionCode } from \"../../utils/error/error.js\";\nimport { authFetch } from \"../authFetch.js\";\nimport { GENERAL_ERROR } from \"../../constants/error.js\";\nimport camelcaseKeys from \"../../node_modules/camelcase-keys/index.js\";\nimport { environments, env } from \"../../config/index.js\";\nimport { captureAPIError } from \"../../utils/error/sentry.js\";\nconst COUPONS_PER_REQUEST = 50;\nconst INVALID_COUPON_ID = 0;\nclass CouponApiService {\n  async getCoupons(couponIdList, isDevMode = false) {\n    const slicedCouponIdList = couponIdList.slice(0, COUPONS_PER_REQUEST);\n    const isValidCouponIdList = !slicedCouponIdList.includes(INVALID_COUPON_ID);\n    const slicedCouponIdListString = isValidCouponIdList ? slicedCouponIdList.join(\",\") : null;\n    const baseUrl = isDevMode ? environments.development.api.content : env.api.content;\n    const response = await fetch(`${baseUrl}/api/v4/framers/proxy/promotion-api/api/v1/coupon?couponIdList=${slicedCouponIdListString}`).then((res) => res.json()).then((res) => camelcaseKeys(res, {\n      deep: true\n    }));\n    if (response.result === \"FAIL\" || response.data === null) {\n      captureAPIError(new Error(response.message ?? GENERAL_ERROR), response);\n      throw new Error(response.message ?? GENERAL_ERROR);\n    }\n    return response;\n  }\n  async downloadCouponBulk(couponNoList, quantity = 1) {\n    const items = couponNoList.map((coupon) => {\n      if (typeof coupon === \"number\") {\n        return {\n          couponId: coupon,\n          quantity: Math.max(quantity, 1)\n        };\n      }\n      return {\n        couponId: coupon.couponId,\n        quantity: Math.max(coupon.quantity, 1)\n      };\n    });\n    return authFetch(`${env.api.promotion}/api/v6/coupons/download:bulk`, {\n      method: \"POST\",\n      body: JSON.stringify({\n        items\n      }),\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    }).then((res) => res.json());\n  }\n  async downloadCoupon(couponNo, downloadCount) {\n    const safeDownloadCount = Math.max(downloadCount, 1);\n    return authFetch(`${env.api.promotion}/api/v4/coupons/download`, {\n      method: \"POST\",\n      body: JSON.stringify({\n        couponId: couponNo,\n        downloadCount: safeDownloadCount\n      }),\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    }).then((res) => res.json());\n  }\n  async downloadLimitedCoupons(couponNoList) {\n    const promises = couponNoList.map(async (couponId) => {\n      return authFetch(`${env.api.promotion}/api/v4/coupons/download:limited`, {\n        method: \"POST\",\n        body: JSON.stringify({\n          couponId\n        }),\n        headers: {\n          \"Content-Type\": \"application/json\",\n          \"accept\": \"application/json\"\n        },\n        credentials: \"include\"\n      }).then((res) => res.json());\n    });\n    const [response] = await Promise.all(promises);\n    return response;\n  }\n  async downloadRandomCoupon() {\n    return authFetch(`${env.api.promotion}/api/v1/random-coupon/${env.name === \"qa\" ? \"issue-test\" : \"issue\"}`, {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    }).then((res) => res.json());\n  }\n  async getMaxIssueCount(couponId) {\n    const result = await fetch(`${env.api.promotion}/api/v4/coupons/max-issue-count/${couponId}`);\n    const response = await result.json();\n    if (response.result === \"FAIL\" || response.data === null) {\n      throw new Error(response.errorCode ?? GENERAL_ERROR);\n    }\n    return response;\n  }\n  async getDownloadableCouponSummaries(couponIdList, userId) {\n    const result = await authFetch(`${env.api.promotion}/api/v4/coupons/downloadable?userId=${userId}`, {\n      method: \"POST\",\n      body: JSON.stringify({\n        couponIdList\n      }),\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    });\n    const response = await result.json();\n    if (response.result === \"FAIL\" || response.data === null) {\n      throw new Error(response.errorCode ?? GENERAL_ERROR);\n    }\n    return response.data.downloadableCouponInfoList;\n  }\n  async getCouponsDownloadStatus(couponIdList, userId) {\n    const result = await authFetch(`${env.api.promotion}/api/v6/coupons/download-status?userId=${userId}`, {\n      method: \"POST\",\n      body: JSON.stringify({\n        couponIdList\n      }),\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    });\n    const response = await result.json();\n    if (!result.ok) {\n      throw new Error(response.errorCode ?? GENERAL_ERROR);\n    }\n    if (response.result === \"FAIL\" || response.data === null) {\n      return [];\n    }\n    return response.data.couponDownloadStatusList;\n  }\n  parseDownloadCouponError(error, fallbackMessage) {\n    const message = parseErrorMessage(error, fallbackMessage) ?? \"\";\n    const directionCode = parseDirectionCode(error);\n    const isAuthError = (directionCode == null ? void 0 : directionCode[0]) === \"auth\";\n    return {\n      message,\n      callbackUrl: isAuthError ? \"/mypage/edit/info\" : void 0\n    };\n  }\n}\nconst couponApi = new CouponApiService();\nexport {\n  couponApi\n};\n","import useSWRMutation from \"../../node_modules/swr/mutation/dist/index.js\";\nimport { couponApi } from \"../../apis/coupon/CouponApiService.js\";\nconst COUPON_MULTI_ISSUE_FETCHER_KEY = \"coupon-multi-issue\";\nconst downloadCoupons = (_key, {\n  arg\n}) => {\n  const {\n    couponIds,\n    downloadCount\n  } = arg;\n  return couponApi.downloadCouponBulk(couponIds, downloadCount);\n};\nconst useDownloadCouponsMutation = ({\n  enabled = true,\n  onError,\n  onSuccess\n} = {}) => {\n  return useSWRMutation(enabled ? COUPON_MULTI_ISSUE_FETCHER_KEY : null, downloadCoupons, {\n    onError,\n    onSuccess\n  });\n};\nexport {\n  COUPON_MULTI_ISSUE_FETCHER_KEY,\n  useDownloadCouponsMutation\n};\n","const DOWNLOAD_COUPON_MESSAGES = {\n  SUCCESS: \"쿠폰을 받았어요.\\n받은 쿠폰은 마이페이지에서 확인하세요.\",\n  BULK_SUCCESS: \"쿠폰을 모두 받았어요.\\n받은 쿠폰은 마이페이지에서 확인하세요.\",\n  LOADING: \"쿠폰 발급을 시도하고 있어요. 잠시 기다려주세요.\\n신청 순서대로 처리되며 신청량이 많은 경우 쿠폰이 소진될 수 있어요\",\n  NEED_IDENTIFICATION: \"쿠폰 발급을 위해 본인확인이 필요해요.\",\n  FAILED_SOME_COUPON_DOWNLOAD: \"쿠폰을 모두 받았어요. 받은 쿠폰은 MY>쿠폰함에서 확인하세요.\",\n  FAILED_COUPON_DOWNLOAD: \"쿠폰을 모두 받았어요. 받은 쿠폰은 MY>쿠폰함에서 확인하세요.\",\n  NOT_FOUND_USER_ID: \"로그인이 필요해요.\",\n  GENERAL_ERROR: \"쿠폰 발급에 실패했어요.\",\n  RANDOM_COUPON_ISSUANCE_END: \"선착순 쿠폰이 마감되었습니다.\",\n  OVER_PERSONAL_MAX_LIMIT_DOWNLOAD: \"이미 쿠폰을 받았어요.\\n보유한 쿠폰은 마이페이지에서 확인하세요.\"\n};\nexport {\n  DOWNLOAD_COUPON_MESSAGES\n};\n","import useSWRMutation from \"../../node_modules/swr/mutation/dist/index.js\";\nimport { couponApi } from \"../../apis/coupon/CouponApiService.js\";\nconst DOWNLOAD_RANDOM_COUPON_MUTATION_KEY = \"@coupon/download-random-coupon\";\nconst useDownloadRandomCouponMutation = ({\n  enabled = true,\n  onError,\n  onSuccess\n} = {}) => {\n  return useSWRMutation(enabled ? DOWNLOAD_RANDOM_COUPON_MUTATION_KEY : null, () => couponApi.downloadRandomCoupon(), {\n    onError,\n    onSuccess\n  });\n};\nexport {\n  DOWNLOAD_RANDOM_COUPON_MUTATION_KEY,\n  useDownloadRandomCouponMutation\n};\n","import { useCurrentUser } from \"./useCurrentUser.js\";\nimport { useRedirectLoginDialog } from \"./useRedirectLoginDialog.js\";\nimport { useDownloadCouponsMutation } from \"./mutations/useDownloadCouponsMutation.js\";\nimport \"../node_modules/swr/mutation/dist/index.js\";\nimport \"../config/index.js\";\nimport \"../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../apis/taste-sharing/TasteSharingApiService.js\";\nimport { useDialog } from \"./useDialog.js\";\nimport { isContentOrigin } from \"../utils/location.js\";\nimport { DOWNLOAD_COUPON_MESSAGES } from \"../components/canvas/CouponDownloadCTA/CouponDownloadCTA.constants.js\";\nimport { useDownloadRandomCouponMutation } from \"./mutations/useDownloadRandomCouponMutation.js\";\nimport { CouponType, DiscountType } from \"../types/models/coupon.js\";\nconst useDownloadCoupons = (couponType = CouponType.NORMAL, discountType = DiscountType.FIXED_RATE, handleCouponDownloadSuccess) => {\n  const {\n    logged\n  } = useCurrentUser();\n  const {\n    showRedirectLoginDialog\n  } = useRedirectLoginDialog();\n  const isValidOrigin = isContentOrigin();\n  const dialog = useDialog();\n  const {\n    trigger: downloadCoupons,\n    isMutating: isLoading\n  } = useDownloadCouponsMutation({\n    isLimited: couponType === CouponType.LIMITED,\n    enabled: isValidOrigin\n  });\n  const {\n    trigger: downloadRandomCoupon,\n    isMutating: isRandomCouponLoading\n  } = useDownloadRandomCouponMutation({\n    enabled: isValidOrigin\n  });\n  const handleSuccess = () => (response) => {\n    if ((response == null ? void 0 : response.result) === \"FAIL\") {\n      dialog.show({\n        content: getErrorMessage(response.errorCode, response.message)\n      });\n      return;\n    }\n    handleCouponDownloadSuccess == null ? void 0 : handleCouponDownloadSuccess();\n    dialog.show({\n      content: getSuccessMessage(response, discountType)\n    });\n  };\n  const validate = () => {\n    if (!isValidOrigin) {\n      return false;\n    }\n    if (!logged) {\n      showRedirectLoginDialog();\n      return false;\n    }\n    if (isLoading || isRandomCouponLoading) {\n      dialog.show({\n        content: DOWNLOAD_COUPON_MESSAGES.LOADING\n      });\n      return false;\n    }\n    return true;\n  };\n  const download = async (couponNoList = [], downloadCountOrSkipValidation = 1, skipValidation = false) => {\n    const downloadCount = typeof downloadCountOrSkipValidation === \"number\" ? downloadCountOrSkipValidation : 1;\n    const shouldSkipValidation = typeof downloadCountOrSkipValidation === \"boolean\" ? downloadCountOrSkipValidation : skipValidation;\n    if (!shouldSkipValidation && !validate()) {\n      return;\n    }\n    if (couponType === CouponType.NORMAL || couponType === CouponType.LIMITED) {\n      await downloadCoupons({\n        couponIds: couponNoList,\n        downloadCount\n      }, {\n        onSuccess: handleSuccess(),\n        onError: () => {\n          dialog.show({\n            content: \"쿠폰 다운로드 요청이 많아 지연 중입니다. 죄송합니다. 잠시 후 다시 시도해 주세요.\"\n          });\n        }\n      });\n      return;\n    }\n    if (couponType === CouponType.RANDOM) {\n      await downloadRandomCoupon(void 0, {\n        onSuccess: handleSuccess(),\n        onError: () => {\n          dialog.show({\n            content: \"쿠폰 다운로드 요청이 많아 지연 중입니다. 죄송합니다. 잠시 후 다시 시도해 주세요.\"\n          });\n        }\n      });\n    }\n  };\n  return {\n    validate,\n    download\n  };\n};\nconst getSuccessMessage = (response, discountType) => {\n  const {\n    data\n  } = response;\n  const isBulk = data && \"downloadSummaryList\" in data;\n  const isRandom = data && \"couponId\" in data;\n  if (isRandom) {\n    return createRandomCouponSuccessMessage(data.discountValue)[discountType];\n  }\n  return isBulk ? DOWNLOAD_COUPON_MESSAGES.BULK_SUCCESS : DOWNLOAD_COUPON_MESSAGES.SUCCESS;\n};\nconst createRandomCouponSuccessMessage = (discountValue) => ({\n  [DiscountType.FIXED_PRICE]: `${discountValue.toLocaleString(\"ko-KR\")}원 쿠폰에 당첨됐어요.\n받은 쿠폰은 마이페이지에서 확인하세요.`,\n  [DiscountType.FIXED_RATE]: `${discountValue}% 쿠폰에 당첨됐어요.\n받은 쿠폰은 마이페이지에서 확인하세요.`\n});\nconst getErrorMessage = (errorCode, errorMessage) => {\n  switch (errorCode) {\n    case \"FAILED_SOME_COUPON_DOWNLOAD\":\n      return DOWNLOAD_COUPON_MESSAGES.FAILED_SOME_COUPON_DOWNLOAD;\n    case \"FAILED_COUPON_DOWNLOAD\":\n    case \"PERSONAL_LIMIT_REACHED\":\n      return DOWNLOAD_COUPON_MESSAGES.FAILED_COUPON_DOWNLOAD;\n    case \"OVER_PERSONAL_MAX_LIMIT_DOWNLOAD\":\n      return DOWNLOAD_COUPON_MESSAGES.OVER_PERSONAL_MAX_LIMIT_DOWNLOAD;\n    case \"NOT_FOUND_USER_ID\":\n      return DOWNLOAD_COUPON_MESSAGES.NOT_FOUND_USER_ID;\n    case \"RANDOM_COUPON_ISSUANCE_END\":\n    case \"TOTAL_LIMIT_REACHED\":\n    case \"OVER_MAX_LIMIT_DOWNLOAD\":\n      return DOWNLOAD_COUPON_MESSAGES.RANDOM_COUPON_ISSUANCE_END;\n    case \"COUPON_UNAVAILABLE\":\n      return DOWNLOAD_COUPON_MESSAGES.GENERAL_ERROR;\n    case \"TRANSIENT_FAILURE\":\n      return \"쿠폰 다운로드 요청이 많아 지연 중입니다. 죄송합니다. 잠시 후 다시 시도해 주세요.\";\n    default:\n      return errorMessage || \"쿠폰 다운로드 요청이 많아 지연 중입니다. 죄송합니다. 잠시 후 다시 시도해 주세요.\";\n  }\n};\nconst toCouponNos = (couponNosStr) => {\n  return couponNosStr.split(\",\").map((item) => Number(item.trim()));\n};\nexport {\n  toCouponNos,\n  useDownloadCoupons\n};\n","import { jsx } from \"react/jsx-runtime\";\nimport { createContext, forwardRef } from \"react\";\nimport { ComponentName } from \"../../../styles/ComponentName.js\";\nimport { createWithStyle } from \"../../../styles/createWithStyle.js\";\nimport { css } from \"../../../styles/css.js\";\nimport { useFold } from \"./Root.hooks.js\";\nimport { cx } from \"framer\";\nimport { Skeleton } from \"../Skeleton/Skeleton.js\";\nconst {\n  classNames,\n  withStyle\n} = createWithStyle(ComponentName.FoldableListRoot, {\n  container: css`\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n  `\n});\nconst FoldableListContext = createContext(null);\nconst Root = withStyle(forwardRef(({\n  children,\n  className,\n  theme = \"light\",\n  pending = false,\n  ...rest\n}, ref) => {\n  const {\n    isFolded,\n    toggleFold\n  } = useFold();\n  if (pending) {\n    return /* @__PURE__ */ jsx(Skeleton, { style: {\n      ...skeletonStyle,\n      ...skeletonStyleByTheme[theme]\n    } });\n  }\n  return /* @__PURE__ */ jsx(FoldableListContext.Provider, { value: {\n    theme,\n    isFolded,\n    toggleFold\n  }, children: /* @__PURE__ */ jsx(\"div\", { className: cx(className, classNames.container), ref, ...rest, children }) });\n}));\nconst skeletonStyle = {\n  width: 100,\n  height: 20,\n  borderRadius: 4\n};\nconst skeletonStyleByTheme = {\n  light: {\n    backgroundColor: \"#dee2e6\"\n  },\n  dark: {\n    backgroundColor: \"#27272a\"\n  }\n};\nexport {\n  FoldableListContext,\n  Root\n};\n","import { useState, useContext } from \"react\";\nimport { FoldableListContext } from \"./Root.js\";\nconst useFold = () => {\n  const [isFolded, setIsFolded] = useState(true);\n  const toggleFold = () => {\n    setIsFolded((prev) => !prev);\n  };\n  return {\n    isFolded,\n    toggleFold\n  };\n};\nconst useFoldableListContext = () => {\n  const context = useContext(FoldableListContext);\n  if (!context) {\n    throw new Error(\"useFoldableListContext should be used within Root\");\n  }\n  return context;\n};\nexport {\n  useFold,\n  useFoldableListContext\n};\n","import { useAnimationControls } from \"framer-motion\";\nimport { useFoldableListContext } from \"./Root.hooks.js\";\nimport { useEffect } from \"react\";\nconst useFoldControls = () => {\n  const {\n    isFolded\n  } = useFoldableListContext();\n  const controls = useAnimationControls();\n  useEffect(() => {\n    if (isFolded) {\n      controls.start({\n        height: 0\n      });\n    } else {\n      controls.start({\n        height: \"auto\"\n      });\n    }\n  }, [isFolded]);\n  return controls;\n};\nexport {\n  useFoldControls\n};\n","import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport { ComponentName } from \"../../../styles/ComponentName.js\";\nimport { createWithStyle } from \"../../../styles/createWithStyle.js\";\nimport { css } from \"../../../styles/css.js\";\nimport { motion } from \"framer-motion\";\nimport { cx } from \"framer\";\nimport { useFoldControls } from \"./Content.hooks.js\";\nconst {\n  classNames,\n  withStyle\n} = createWithStyle(ComponentName.FoldableListContent, {\n  container: css`\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    padding-top: 7px;\n  `\n});\nconst Content = withStyle(forwardRef(({\n  children,\n  className,\n  ...rest\n}, ref) => {\n  const controls = useFoldControls();\n  return /* @__PURE__ */ jsx(motion.div, { ref, initial: {\n    height: 0\n  }, animate: controls, style: {\n    overflow: \"hidden\"\n  }, transition: {\n    type: \"spring\",\n    stiffness: 500,\n    damping: 60,\n    mass: 1\n  }, children: /* @__PURE__ */ jsx(\"div\", { className: cx(className, classNames.container), ...rest, children }) });\n}));\nexport {\n  Content\n};\n","const textStyleByTheme = {\n  light: {\n    color: \"#474747\"\n  },\n  dark: {\n    color: \"#a0a0a0\"\n  }\n};\nexport {\n  textStyleByTheme\n};\n","import { jsx } from \"react/jsx-runtime\";\nimport { cx } from \"framer\";\nimport { forwardRef } from \"react\";\nimport { ComponentName } from \"../../../styles/ComponentName.js\";\nimport { createWithStyle } from \"../../../styles/createWithStyle.js\";\nimport { css } from \"../../../styles/css.js\";\nimport { typographyCSS } from \"../../../styles/typography.js\";\nimport { useFoldableListContext } from \"./Root.hooks.js\";\nimport { textStyleByTheme } from \"./Root.constants.js\";\nconst {\n  classNames,\n  withStyle\n} = createWithStyle(ComponentName.FoldableListItem, {\n  \"container\": css`\n    display: flex;\n\n    ${typographyCSS(12, 400)};\n\n    line-height: 1.6em;\n    white-space: pre-wrap;\n    word-break: keep-all;\n  `,\n  \"container::before\": css`\n    content: '•';\n    font-size: 16px;\n    margin-right: 6px;\n  `\n});\nconst Item = withStyle(forwardRef(({\n  children,\n  className,\n  style,\n  ...rest\n}, ref) => {\n  const {\n    theme\n  } = useFoldableListContext();\n  return /* @__PURE__ */ jsx(\"div\", { ref, className: cx(className, classNames.container), style: {\n    ...textStyleByTheme[theme],\n    ...style\n  }, ...rest, children });\n}));\nexport {\n  Item\n};\n","import { jsxs, jsx } from \"react/jsx-runtime\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport { forwardRef } from \"react\";\nimport { ComponentName } from \"../../../styles/ComponentName.js\";\nimport { createWithStyle } from \"../../../styles/createWithStyle.js\";\nimport { css } from \"../../../styles/css.js\";\nimport { typographyCSS } from \"../../../styles/typography.js\";\nimport { Icon } from \"../Icon/Icon.js\";\nimport { cx } from \"framer\";\nimport { useFoldableListContext } from \"./Root.hooks.js\";\nimport \"../../../hooks/stores/content/content.store.js\";\nimport \"../../../utils/event-properties/source.js\";\nimport { isCanvas } from \"../../../utils/framer/isCanvas.js\";\nimport { textStyleByTheme } from \"./Root.constants.js\";\nconst {\n  classNames,\n  withStyle\n} = createWithStyle(ComponentName.FoldableListTrigger, {\n  container: css`\n    display: flex;\n    align-items: center;\n    gap: 4px;\n    cursor: pointer;\n  `,\n  text: typographyCSS(14, 500, 1.6)\n});\nconst Trigger = withStyle(forwardRef(({\n  children,\n  className,\n  textStyle,\n  icons,\n  onClick,\n  ...rest\n}, ref) => {\n  const {\n    theme,\n    isFolded,\n    toggleFold\n  } = useFoldableListContext();\n  const {\n    initial = \"chevronDown\",\n    active = \"chevronUp\",\n    size = 14\n  } = icons ?? {};\n  const handleClick = (e) => {\n    onClick == null ? void 0 : onClick(e);\n    toggleFold();\n  };\n  return /* @__PURE__ */ jsxs(\"div\", { ref, className: cx(className, classNames.container), onClick: handleClick, ...rest, children: [\n    /* @__PURE__ */ jsx(\"div\", { className: classNames.text, style: {\n      ...textStyleByTheme[theme],\n      ...baseTextStyle,\n      ...textStyle\n    }, children }),\n    /* @__PURE__ */ jsx(AnimatePresence, { mode: \"wait\", children: /* @__PURE__ */ jsx(motion.div, { style: {\n      display: \"flex\",\n      alignItems: \"center\",\n      justifyContent: \"center\"\n    }, animate: {\n      opacity: 1\n    }, initial: {\n      opacity: isCanvas() ? 1 : 0\n    }, exit: {\n      opacity: 0\n    }, transition: {\n      duration: 0.2\n    }, children: /* @__PURE__ */ jsx(Icon, { type: isFolded ? initial : active, color: textStyleByTheme[theme].color, size, weight: \"bold\" }) }, isFolded ? \"plus\" : \"minus\") })\n  ] });\n}));\nconst baseTextStyle = {\n  minHeight: 20,\n  display: \"flex\",\n  alignItems: \"center\"\n};\nexport {\n  Trigger\n};\n","import { Content } from \"./Content.js\";\nimport { Item } from \"./Item.js\";\nimport { Root } from \"./Root.js\";\nimport { Trigger } from \"./Trigger.js\";\nconst FoldableList = {\n  Root,\n  Trigger,\n  Content,\n  Item\n};\nexport {\n  FoldableList\n};\n","import { useRef, useState, useEffect, useCallback } from \"react\";\nconst useVisibilityAwareInterval = (callback, delay) => {\n  const savedCallback = useRef(callback);\n  const intervalIdRef = useRef(null);\n  const [isVisible, setIsVisible] = useState(false);\n  useEffect(() => {\n    savedCallback.current = callback;\n  }, [callback]);\n  const startInterval = useCallback(() => {\n    if (intervalIdRef.current !== null || delay === null) {\n      return;\n    }\n    intervalIdRef.current = setInterval(() => {\n      savedCallback.current();\n    }, delay);\n  }, [delay]);\n  const stopInterval = useCallback(() => {\n    if (intervalIdRef.current !== null) {\n      clearInterval(intervalIdRef.current);\n      intervalIdRef.current = null;\n    }\n  }, []);\n  useEffect(() => {\n    const handleVisibilityChange = () => {\n      setIsVisible(document.visibilityState === \"visible\");\n    };\n    document.addEventListener(\"visibilitychange\", handleVisibilityChange);\n    return () => {\n      document.removeEventListener(\"visibilitychange\", handleVisibilityChange);\n    };\n  }, []);\n  useEffect(() => {\n    if (delay === null) {\n      stopInterval();\n      return;\n    }\n    if (isVisible) {\n      startInterval();\n    } else {\n      stopInterval();\n    }\n    return () => {\n      stopInterval();\n    };\n  }, [isVisible, delay, startInterval, stopInterval]);\n  useEffect(() => {\n    setIsVisible(document.visibilityState === \"visible\");\n  }, []);\n};\nexport {\n  useVisibilityAwareInterval\n};\n","import { jsxs, jsx } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\nimport { DiscountType } from \"../../../types/models/coupon.js\";\nimport \"../Countdown/Countdown.js\";\nimport \"react-dom\";\nimport \"../Dialog/Dialog.module.css.js\";\nimport \"framer-motion\";\nimport \"../Expandable/Expandable.js\";\nimport \"../FixedScrollProgressBar/FixedScrollProgressBar.js\";\nimport \"../../../hooks/stores/content/content.store.js\";\nimport \"../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../hooks/stores/toast/toast.store.js\";\nimport \"../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../apis/user-segment/CategoryFirstOrderApiService.js\";\nimport \"../../../config/index.js\";\nimport \"../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../apis/highlight-products/HighlightProductsApiService.js\";\nimport \"../../../apis/one-brand-days/OneBrandDaysApiService.js\";\nimport \"../../../apis/taste-sharing/TasteSharingApiService.js\";\nimport \"../../../apis/user/UserApiService.js\";\nimport \"../../../apis/preuser/PreuserApiService.js\";\nimport \"framer\";\nimport \"../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../ShareButtonWithReferralEvent/ShareButtonWithReferralEvent.js\";\nimport \"../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../@shared/providers/ThemeProvider/ThemeProvider.js\";\nimport \"../../@shared/providers/BreakpointProvider/BreakpointProvider.js\";\nimport \"../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../utils/redirectLogin.js\";\nimport \"../../../utils/event-properties/source.js\";\nimport \"../../../constants/snowplow/snowplowSchema.js\";\nimport \"../Products/Products.js\";\nimport \"../ResponsiveSplitView/ResponsiveSplitView.js\";\nimport \"../ResponsiveSplitViewOverlayButton/ResponsiveSplitViewOverlayButton.js\";\nimport { RollingNumber } from \"../RollingNumber/RollingNumber.js\";\nimport \"../TabBar/TabBar.js\";\nimport \"../TimeProgressBar/TimeProgressBar.js\";\nimport \"../ViewportContainer/ViewportContainer.js\";\nimport \"../TabBarV2/TabBarV2.js\";\nimport \"../TabBarV3/TabBarV3.js\";\nimport { useVisibilityAwareInterval } from \"../../../hooks/useVisibilityAwareInterval.js\";\nconst RandomDiscountValue = ({\n  discountType,\n  discountValues\n}) => {\n  const [index, setIndex] = useState(0);\n  useVisibilityAwareInterval(() => {\n    setIndex((prev) => (prev + 1) % discountValues.length);\n  }, 800);\n  return /* @__PURE__ */ jsxs(\"div\", { style: {\n    display: \"flex\",\n    alignItems: \"center\"\n  }, children: [\n    /* @__PURE__ */ jsx(RollingNumber, { value: discountValues[index] ?? 0 }),\n    discountType === DiscountType.FIXED_RATE ? \"%\" : \"원\"\n  ] });\n};\nexport {\n  RandomDiscountValue\n};\n","import { toDate } from \"./toDate.js\";\nfunction compareAsc(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n  const diff = _dateLeft.getTime() - _dateRight.getTime();\n  if (diff < 0) {\n    return -1;\n  } else if (diff > 0) {\n    return 1;\n  } else {\n    return diff;\n  }\n}\nexport {\n  compareAsc,\n  compareAsc as default\n};\n","import { toDate } from \"./toDate.js\";\nfunction isWithinInterval(date, interval) {\n  const time = +toDate(date);\n  const [startTime, endTime] = [\n    +toDate(interval.start),\n    +toDate(interval.end)\n  ].sort((a, b) => a - b);\n  return time >= startTime && time <= endTime;\n}\nexport {\n  isWithinInterval as default,\n  isWithinInterval\n};\n","import { createKRTimeZoneDate } from \"./createUTCDate.js\";\nimport { isAfter } from \"../node_modules/date-fns/isAfter.js\";\nimport { compareAsc } from \"../node_modules/date-fns/compareAsc.js\";\nimport { isWithinInterval } from \"../node_modules/date-fns/isWithinInterval.js\";\nimport { isEqual } from \"../node_modules/date-fns/isEqual.js\";\nimport { parseISO } from \"../node_modules/date-fns/parseISO.js\";\nimport { isBefore } from \"../node_modules/date-fns/isBefore.js\";\nconst composeFramerDateTime = (dateTime) => {\n  const {\n    date,\n    hours,\n    minutes,\n    seconds\n  } = dateTime;\n  if (!date) {\n    return;\n  }\n  const copied = createKRTimeZoneDate(date);\n  copied.setHours(hours, minutes, seconds);\n  return copied;\n};\nconst appendFramerTime = (date, time) => {\n  const {\n    hours,\n    minutes,\n    seconds\n  } = time;\n  const copied = new Date(date);\n  copied.setHours(hours, minutes, seconds);\n  return copied;\n};\nconst isAbove = (date, dateToCompare) => isEqual(date, dateToCompare) || isAfter(date, dateToCompare);\nconst orderByDateAsc = (items, selector) => {\n  return [...items].sort((x, y) => compareAsc(selector(x), selector(y)));\n};\nconst getCurrentScheduleIndex = (list, startDateSelector, endDateSelector) => {\n  const now = createKRTimeZoneDate();\n  const currentIndex = list.findIndex((item, index) => {\n    const nextItem = list[index + 1];\n    const startDate = startDateSelector(item);\n    const endDate = endDateSelector(item, nextItem);\n    const start = parseISO(startDate.toString());\n    const end = endDate ? parseISO(endDate.toString()) : void 0;\n    const isWithin = end ? isWithinInterval(now, {\n      start,\n      end\n    }) : false;\n    const isUpcoming = isBefore(now, start);\n    const isLast = nextItem === void 0;\n    return isWithin || isUpcoming || isLast;\n  });\n  return currentIndex === -1 ? void 0 : currentIndex;\n};\nconst getScheduleStatus = (startAt, endAt) => {\n  const now = createKRTimeZoneDate();\n  const isOngoing = isWithinInterval(now, {\n    start: startAt,\n    end: endAt\n  });\n  if (isOngoing) {\n    return \"ongoing\";\n  }\n  const isUpcoming = isBefore(now, startAt);\n  if (isUpcoming) {\n    return \"upcoming\";\n  }\n  return \"end\";\n};\nexport {\n  appendFramerTime,\n  composeFramerDateTime,\n  getCurrentScheduleIndex,\n  getScheduleStatus,\n  isAbove,\n  orderByDateAsc\n};\n","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 { Children, isValidElement, cloneElement } from \"react\";\nconst cloneFramerChildren = (children, props) => {\n  return Children.map(children, (child) => cloneLastDepthChild(child, props));\n};\nconst cloneLastDepthChild = (child, props) => {\n  if (!isValidElement(child)) {\n    return child;\n  }\n  if (!isValidElement(child.props.children)) {\n    return cloneElement(child, props);\n  }\n  return cloneElement(child, {\n    ...child.props,\n    children: cloneLastDepthChild(child.props.children, props)\n  });\n};\nexport {\n  cloneFramerChildren\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:\"컴포넌트\"},brandNo:{type:ControlType.String,description:\"브랜드 번호\",defaultValue:\"4054\"},sort:{type:ControlType.Enum,title:\"브랜드홈 상품 정렬\",defaultValue:\"Recommend\",options:[\"Recommend\",\"New\",\"Review\",\"MinPrice\",\"MaxPrice\",\"Discount\",\"Like\",\"Order\"],optionTitles:[\"추천순\",\"신상품순\",\"리뷰많은순\",\"낮은가격순\",\"높은가격순\",\"높은할인순\",\"좋아요많은순\",\"판매순\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BrandProvider\",\"slots\":[\"children\"],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BrandProvider.map","import { jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType } from \"framer\";\nimport \"react\";\nimport \"framer-motion\";\nimport \"react-dom\";\nimport { Icon } from \"../../@shared/Icon/Icon.js\";\nimport * as index from \"../../@shared/Icon/assets/index.js\";\nconst ICON_OPTIONS = Object.keys(index);\nconst FramerIcon = (props) => {\n  return /* @__PURE__ */ jsx(\"div\", { style: {\n    lineHeight: 0\n  }, children: /* @__PURE__ */ jsx(Icon, { ...props }) });\n};\naddPropertyControls(FramerIcon, {\n  type: {\n    type: ControlType.Enum,\n    title: \"아이콘\",\n    options: ICON_OPTIONS\n  },\n  weight: {\n    type: ControlType.Enum,\n    title: \"두께\",\n    options: [\"bold\", \"regular\", \"light\"],\n    defaultValue: \"bold\"\n  },\n  color: {\n    type: ControlType.Color,\n    title: \"색상\",\n    optional: true\n  },\n  size: {\n    type: ControlType.Number,\n    title: \"크기\",\n    min: 0,\n    defaultValue: 24,\n    displayStepper: true\n  },\n  fill: {\n    type: ControlType.Boolean,\n    title: \"채우기\",\n    defaultValue: false\n  }\n});\nexport {\n  FramerIcon,\n  ICON_OPTIONS\n};\n","import{FramerIcon as Icon}from\"https://asset.29cm.co.kr/contents/framer/components/systems/Icon/Icon.js\";Icon.displayName=\"Icon\";/**\n * @framerDisableUnlink\n */export default Icon;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Icon.map","// Generated by Framer (0c5492c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Icon from\"https://framerusercontent.com/modules/SG4xUagjjnWfRbTksrvL/1SmWPZhe6a5JiRkDyVjO/Icon.js\";const IconFonts=getFonts(Icon);const cycleOrder=[\"ooDigbgAq\",\"nCIVP2aBn\"];const serializationHash=\"framer-1a8uy\";const variantClassNames={nCIVP2aBn:\"framer-v-1htw77d\",ooDigbgAq:\"framer-v-1e07vk\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Desktop \":\"nCIVP2aBn\",Mobile:\"ooDigbgAq\"};const getProps=({brandNameEng,brandNameKor,height,id,onClick,url,width,...props})=>{return{...props,kT8IypM42:brandNameKor??props.kT8IypM42??\"브랜드이름\",Pyudersl5:onClick??props.Pyudersl5,SqoVHJxLr:brandNameEng??props.SqoVHJxLr??\"BrandName\",variant:humanReadableVariantMap[props.variant]??props.variant??\"ooDigbgAq\",zDbc9iCls:url??props.zDbc9iCls};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,kT8IypM42,zDbc9iCls,Pyudersl5,SqoVHJxLr,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ooDigbgAq\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap4fyqkj=activeVariantCallback(async(...args)=>{if(Pyudersl5){const res=await Pyudersl5(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1e07vk\",className,classNames),\"data-framer-name\":\"Mobile\",layoutDependency:layoutDependency,layoutId:\"ooDigbgAq\",ref:refBinding,style:{...style},...addPropertyOverrides({nCIVP2aBn:{\"data-framer-name\":\"Desktop \"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{style:{\"--font-selector\":\"Q1VTVE9NO1ByZXRlbmRhcmQgQm9sZA==\",\"--framer-font-family\":'\"Pretendard Bold\", \"Pretendard Bold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-letter-spacing\":\"0px\",\"--framer-text-alignment\":\"left\",\"--framer-text-transform\":\"uppercase\"},children:\"BrandName\"})}),className:\"framer-lai8sg\",\"data-framer-name\":\"BrandEngName\",fonts:[\"CUSTOM;Pretendard Bold\"],layoutDependency:layoutDependency,layoutId:\"AbCYZSwbO\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:SqoVHJxLr,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({nCIVP2aBn:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{style:{\"--font-selector\":\"Q1VTVE9NO1ByZXRlbmRhcmQgQm9sZA==\",\"--framer-font-family\":'\"Pretendard Bold\", \"Pretendard Bold Placeholder\", sans-serif',\"--framer-font-size\":\"50px\",\"--framer-letter-spacing\":\"0px\",\"--framer-text-alignment\":\"left\",\"--framer-text-transform\":\"uppercase\"},children:\"BrandName\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(Link,{href:zDbc9iCls,motionChild:true,nodeId:\"XqF4BJiJV\",scopeId:\"l4Wf93nIP\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-10x238u framer-3drgwg\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"XqF4BJiJV\",onTap:onTap4fyqkj,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ymf691\",\"data-framer-name\":\"BrandButton\",layoutDependency:layoutDependency,layoutId:\"eQkgxdfrg\",children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-137ript\",layoutDependency:layoutDependency,layoutId:\"kPZrO3xjn\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-f9ajug\",layoutDependency:layoutDependency,layoutId:\"PlRiT8nPA\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{style:{\"--font-selector\":\"Q1VTVE9NO1ByZXRlbmRhcmQgTWVkaXVt\",\"--framer-font-family\":'\"Pretendard Medium\", \"Pretendard Medium Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"-0.5px\",\"--framer-text-alignment\":\"left\"},children:\"브랜드이름\"})}),className:\"framer-1vzrcxf\",\"data-framer-name\":\"BrandKoName\",fonts:[\"CUSTOM;Pretendard Medium\"],layoutDependency:layoutDependency,layoutId:\"mQ2MRAHXY\",text:kT8IypM42,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({nCIVP2aBn:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{style:{\"--font-selector\":\"Q1VTVE9NO1ByZXRlbmRhcmQgTWVkaXVt\",\"--framer-font-family\":'\"Pretendard Medium\", \"Pretendard Medium Placeholder\", sans-serif',\"--framer-font-size\":\"21px\",\"--framer-letter-spacing\":\"-0.5px\",\"--framer-text-alignment\":\"left\"},children:\"브랜드이름\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-7xin4t-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"rc0bEXBug-container\",nodeId:\"rc0bEXBug\",rendersWithMotion:true,scopeId:\"l4Wf93nIP\",children:/*#__PURE__*/_jsx(Icon,{fill:false,height:\"100%\",id:\"rc0bEXBug\",layoutId:\"rc0bEXBug\",size:18,type:\"chevronRight\",weight:\"bold\",width:\"100%\",...addPropertyOverrides({nCIVP2aBn:{size:21}},baseVariant,gestureVariant)})})})]})})})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-1a8uy.framer-3drgwg, .framer-1a8uy .framer-3drgwg { display: block; }\",\".framer-1a8uy.framer-1e07vk { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 390px; }\",\".framer-1a8uy .framer-lai8sg { flex: none; height: auto; max-width: 100%; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-1a8uy .framer-10x238u { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px 0px 4px 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-1a8uy .framer-1ymf691 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px 20px 0px 0px; position: relative; width: min-content; }\",\".framer-1a8uy .framer-137ript { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-1a8uy .framer-f9ajug { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 3px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-1a8uy .framer-1vzrcxf { flex: none; height: auto; overflow: visible; position: relative; white-space: pre; width: auto; }\",\".framer-1a8uy .framer-7xin4t-container { flex: none; height: auto; position: relative; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-1a8uy.framer-1e07vk, .framer-1a8uy .framer-10x238u, .framer-1a8uy .framer-1ymf691, .framer-1a8uy .framer-137ript, .framer-1a8uy .framer-f9ajug { gap: 0px; } .framer-1a8uy.framer-1e07vk > * { margin: 0px; margin-bottom: calc(8px / 2); margin-top: calc(8px / 2); } .framer-1a8uy.framer-1e07vk > :first-child { margin-top: 0px; } .framer-1a8uy.framer-1e07vk > :last-child { margin-bottom: 0px; } .framer-1a8uy .framer-10x238u > *, .framer-1a8uy .framer-1ymf691 > *, .framer-1a8uy .framer-137ript > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-1a8uy .framer-10x238u > :first-child, .framer-1a8uy .framer-1ymf691 > :first-child, .framer-1a8uy .framer-137ript > :first-child, .framer-1a8uy .framer-f9ajug > :first-child { margin-left: 0px; } .framer-1a8uy .framer-10x238u > :last-child, .framer-1a8uy .framer-1ymf691 > :last-child, .framer-1a8uy .framer-137ript > :last-child, .framer-1a8uy .framer-f9ajug > :last-child { margin-right: 0px; } .framer-1a8uy .framer-f9ajug > * { margin: 0px; margin-left: calc(3px / 2); margin-right: calc(3px / 2); } }\",\".framer-1a8uy.framer-v-1htw77d.framer-1e07vk { width: 1080px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 72\n * @framerIntrinsicWidth 390\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"nCIVP2aBn\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"kT8IypM42\":\"brandNameKor\",\"zDbc9iCls\":\"url\",\"Pyudersl5\":\"onClick\",\"SqoVHJxLr\":\"brandNameEng\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerl4Wf93nIP=withCSS(Component,css,\"framer-1a8uy\");export default Framerl4Wf93nIP;Framerl4Wf93nIP.displayName=\"BrandHeaderChildren\";Framerl4Wf93nIP.defaultProps={height:72,width:390};addPropertyControls(Framerl4Wf93nIP,{variant:{options:[\"ooDigbgAq\",\"nCIVP2aBn\"],optionTitles:[\"Mobile\",\"Desktop \"],title:\"Variant\",type:ControlType.Enum},kT8IypM42:{defaultValue:\"브랜드이름\",displayTextArea:false,title:\"brandNameKor\",type:ControlType.String},zDbc9iCls:{title:\"url\",type:ControlType.Link},Pyudersl5:{title:\"OnClick\",type:ControlType.EventHandler},SqoVHJxLr:{defaultValue:\"BrandName\",description:\"\",displayTextArea:true,title:\"brandNameEng\",type:ControlType.String}});addFonts(Framerl4Wf93nIP,[{explicitInter:true,fonts:[{family:\"Pretendard Bold\",source:\"custom\",url:\"https://framerusercontent.com/assets/crzkHU25cJonwO6VK1IAv8AG9g.woff2\"},{family:\"Pretendard Medium\",source:\"custom\",url:\"https://framerusercontent.com/assets/waOxuECzY3vThkoEawEKHBrPQB4.woff2\"}]},...IconFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerl4Wf93nIP\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"nCIVP2aBn\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"kT8IypM42\\\":\\\"brandNameKor\\\",\\\"zDbc9iCls\\\":\\\"url\\\",\\\"Pyudersl5\\\":\\\"onClick\\\",\\\"SqoVHJxLr\\\":\\\"brandNameEng\\\"}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"390\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"72\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./l4Wf93nIP.map","// Generated by Framer (890879b)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import BrandProvider from\"https://framerusercontent.com/modules/ynFW5DHzbfEoPYWosWPd/N5eZOcQgqgLslScjgNGi/BrandProvider.js\";import BrandHeaderChildren from\"https://framerusercontent.com/modules/3X6W0txG9tK14U8Cu1MH/4RBJq71viKOiEANosqI3/l4Wf93nIP.js\";const BrandHeaderChildrenFonts=getFonts(BrandHeaderChildren);const BrandProviderFonts=getFonts(BrandProvider);const serializationHash=\"framer-nJyWY\";const variantClassNames={NpF1R7jnr:\"framer-v-h7qvg3\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({brandNo,height,id,width,...props})=>{return{...props,NH81jFlWy:brandNo??props.NH81jFlWy};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,NH81jFlWy,c1wtB7UoY,AzLJXABjm,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"NpF1R7jnr\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-h7qvg3\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"NpF1R7jnr\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ksh44d-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"z5MHxMKis-container\",nodeId:\"z5MHxMKis\",rendersWithMotion:true,scopeId:\"dGjKL2FOh\",children:/*#__PURE__*/_jsx(BrandProvider,{brandNo:NH81jFlWy,height:\"100%\",id:\"z5MHxMKis\",layoutId:\"z5MHxMKis\",sort:c1wtB7UoY,style:{width:\"100%\"},width:\"100%\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:72,width:\"1200px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-17nl70x-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"ZqM7azzPu-container\",nodeId:\"ZqM7azzPu\",rendersWithMotion:true,scopeId:\"dGjKL2FOh\",children:/*#__PURE__*/_jsx(BrandHeaderChildren,{height:\"100%\",id:\"ZqM7azzPu\",kT8IypM42:\"브랜드이름\",layoutId:\"ZqM7azzPu\",SqoVHJxLr:\"BrandName\",style:{width:\"100%\"},variant:AzLJXABjm,width:\"100%\"})})})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-nJyWY.framer-1kt8i59, .framer-nJyWY .framer-1kt8i59 { display: block; }\",\".framer-nJyWY.framer-h7qvg3 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1200px; }\",\".framer-nJyWY .framer-ksh44d-container { flex: 1 0 0px; height: auto; position: relative; width: 1px; }\",\".framer-nJyWY .framer-17nl70x-container { height: auto; position: relative; width: 1200px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 72\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"NH81jFlWy\":\"brandNo\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerdGjKL2FOh=withCSS(Component,css,\"framer-nJyWY\");export default FramerdGjKL2FOh;FramerdGjKL2FOh.displayName=\"BrandHeader\";FramerdGjKL2FOh.defaultProps={height:72,width:1200};addPropertyControls(FramerdGjKL2FOh,{NH81jFlWy:{defaultValue:\"\",title:\"Brand No\",type:ControlType.String}});addFonts(FramerdGjKL2FOh,[{explicitInter:true,fonts:[]},...BrandHeaderChildrenFonts,...BrandProviderFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerdGjKL2FOh\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"72\",\"framerVariables\":\"{\\\"NH81jFlWy\\\":\\\"brandNo\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"1200\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./dGjKL2FOh.map","// Generated by Framer (b0998f3)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const ImageWithFX=withFX(Image);const MotionDivWithFX=withFX(motion.div);const cycleOrder=[\"hzgvusJO7\",\"zi_5WUnh0\",\"biHJ07RXz\",\"p1GYpxHX3\"];const serializationHash=\"framer-y52Qq\";const variantClassNames={biHJ07RXz:\"framer-v-ujbbia\",hzgvusJO7:\"framer-v-1fgbsiw\",p1GYpxHX3:\"framer-v-ua8to\",zi_5WUnh0:\"framer-v-qyc8bw\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,x:0,y:0};const transition2={damping:30,delay:0,mass:1,stiffness:400,type:\"spring\"};const animation1={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition2,x:0,y:0};const negate=value=>{return!value;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Web2Columns(All dim)\":\"p1GYpxHX3\",Mob1Column:\"biHJ07RXz\",Web1Column:\"zi_5WUnh0\",Web2Columns:\"hzgvusJO7\"};const getProps=({_,_1,_2,height,id,imageLeft,imageRight,width,...props})=>{var _ref,_ref1,_humanReadableVariantMap_props_variant,_ref2,_ref3;return{...props,a4wwl9SxR:(_ref=_2!==null&&_2!==void 0?_2:props.a4wwl9SxR)!==null&&_ref!==void 0?_ref:100,UnhOPsPvk:(_ref1=_1!==null&&_1!==void 0?_1:props.UnhOPsPvk)!==null&&_ref1!==void 0?_ref1:100,variant:(_ref2=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref2!==void 0?_ref2:\"hzgvusJO7\",VP2xQUnI4:imageRight!==null&&imageRight!==void 0?imageRight:props.VP2xQUnI4,xPlhRtJxT:(_ref3=_!==null&&_!==void 0?_:props.xPlhRtJxT)!==null&&_ref3!==void 0?_ref3:true,Zpu30LSWD:imageLeft!==null&&imageLeft!==void 0?imageLeft:props.Zpu30LSWD};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,Zpu30LSWD,VP2xQUnI4,xPlhRtJxT,UnhOPsPvk,a4wwl9SxR,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"hzgvusJO7\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const isDisplayed=value=>{if(baseVariant===\"biHJ07RXz\")return value;return true;};const isDisplayed1=()=>{if(baseVariant===\"p1GYpxHX3\")return true;return false;};const visible=negate(xPlhRtJxT);const isDisplayed2=value=>{if(baseVariant===\"zi_5WUnh0\")return false;if(baseVariant===\"biHJ07RXz\")return value;return true;};const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(serializationHash,...sharedStyleClassNames,\"framer-1fgbsiw\",className,classNames),\"data-framer-name\":\"Web2Columns\",layoutDependency:layoutDependency,layoutId:\"hzgvusJO7\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({biHJ07RXz:{\"data-framer-name\":\"Mob1Column\"},p1GYpxHX3:{\"data-framer-name\":\"Web2Columns(All dim)\"},zi_5WUnh0:{\"data-framer-name\":\"Web1Column\"}},baseVariant,gestureVariant),children:[isDisplayed(xPlhRtJxT)&&/*#__PURE__*/_jsx(ImageWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,background:{alt:\"\",fit:\"fill\",intrinsicHeight:560,intrinsicWidth:497,loading:getLoadingLazyAtYPosition(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+(0*((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-0)/1)+0)),pixelHeight:560,pixelWidth:497,sizes:`max(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} / 2, 200px)`,...toResponsiveImage(Zpu30LSWD)},className:\"framer-1v05wkv\",\"data-framer-name\":\"img\",layoutDependency:layoutDependency,layoutId:\"WEz29Mqo_\",style:{filter:`brightness(${parseFloat(UnhOPsPvk)/100})`,transformPerspective:1200,WebkitFilter:`brightness(${parseFloat(UnhOPsPvk)/100})`},...addPropertyOverrides({biHJ07RXz:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:560,intrinsicWidth:497,loading:getLoadingLazyAtYPosition(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+(0*((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-0)/1)+0)),pixelHeight:560,pixelWidth:497,sizes:`max(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"}, 200px)`,...toResponsiveImage(Zpu30LSWD)}},zi_5WUnh0:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:560,intrinsicWidth:497,loading:getLoadingLazyAtYPosition(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+(0+(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||635)-0-(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||635)-0)*1)/2)),pixelHeight:560,pixelWidth:497,sizes:`calc(${(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||635)-0)*1} * 1.748)`,...toResponsiveImage(Zpu30LSWD)}}},baseVariant,gestureVariant)}),isDisplayed1()&&/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-equbt6\",\"data-framer-name\":\"img\",layoutDependency:layoutDependency,layoutId:\"dqMvQXU1y\",style:{backgroundColor:\"rgba(0, 0, 0, 0.02)\",transformPerspective:1200}}),isDisplayed1()&&/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1k7d00k\",\"data-framer-name\":\"img\",layoutDependency:layoutDependency,layoutId:\"KIVWbW65h\",style:{backgroundColor:\"rgba(0, 0, 0, 0.02)\",transformPerspective:1200}}),isDisplayed2(visible)&&/*#__PURE__*/_jsx(ImageWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,background:{alt:\"\",fit:\"fill\",intrinsicHeight:2006,intrinsicWidth:1405,loading:getLoadingLazyAtYPosition(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+(0*((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-0)/1)+0)),pixelHeight:2006,pixelWidth:1405,sizes:`max(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} / 2, 200px)`,...toResponsiveImage(VP2xQUnI4)},className:\"framer-r3yloe\",\"data-framer-name\":\"img\",layoutDependency:layoutDependency,layoutId:\"eRJaih8x6\",style:{filter:`brightness(${parseFloat(a4wwl9SxR)/100})`,transformPerspective:1200,WebkitFilter:`brightness(${parseFloat(a4wwl9SxR)/100})`},...addPropertyOverrides({biHJ07RXz:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2006,intrinsicWidth:1405,pixelHeight:2006,pixelWidth:1405,sizes:`max(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"}, 200px)`,...toResponsiveImage(VP2xQUnI4)}}},baseVariant,gestureVariant)})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-y52Qq.framer-1dy49st, .framer-y52Qq .framer-1dy49st { display: block; }\",\".framer-y52Qq.framer-1fgbsiw { display: grid; gap: 0px; grid-auto-rows: minmax(0, 1fr); grid-template-columns: repeat(2, minmax(200px, 1fr)); grid-template-rows: repeat(1, minmax(0, 1fr)); height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1110px; }\",\".framer-y52Qq .framer-1v05wkv, .framer-y52Qq .framer-r3yloe { align-self: start; aspect-ratio: 0.875 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 229px); justify-self: start; overflow: hidden; position: relative; width: 100%; }\",\".framer-y52Qq .framer-equbt6, .framer-y52Qq .framer-1k7d00k { aspect-ratio: 0.875 / 1; bottom: 0px; flex: none; height: var(--framer-aspect-ratio-supported, 635px); left: 0px; mix-blend-mode: darken; overflow: hidden; position: absolute; top: 0px; width: 50%; z-index: 1; }\",\".framer-y52Qq.framer-v-qyc8bw.framer-1fgbsiw { align-content: center; align-items: center; aspect-ratio: 1.7480314960629921 / 1; display: flex; flex-direction: row; flex-wrap: nowrap; height: var(--framer-aspect-ratio-supported, 635px); justify-content: flex-start; }\",\".framer-y52Qq.framer-v-qyc8bw .framer-1v05wkv { align-self: unset; aspect-ratio: 1.7480314960629921 / 1; height: 100%; width: var(--framer-aspect-ratio-supported, 350px); }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-y52Qq.framer-v-qyc8bw.framer-1fgbsiw { gap: 0px; } .framer-y52Qq.framer-v-qyc8bw.framer-1fgbsiw > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-y52Qq.framer-v-qyc8bw.framer-1fgbsiw > :first-child { margin-left: 0px; } .framer-y52Qq.framer-v-qyc8bw.framer-1fgbsiw > :last-child { margin-right: 0px; } }\",\".framer-y52Qq.framer-v-ujbbia.framer-1fgbsiw { grid-template-columns: repeat(1, minmax(200px, 1fr)); width: 558px; }\",\".framer-y52Qq.framer-v-ua8to .framer-1k7d00k { left: unset; right: 0px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 634\n * @framerIntrinsicWidth 1110\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"zi_5WUnh0\":{\"layout\":[\"fixed\",\"fixed\"]},\"biHJ07RXz\":{\"layout\":[\"fixed\",\"auto\"]},\"p1GYpxHX3\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"Zpu30LSWD\":\"imageLeft\",\"VP2xQUnI4\":\"imageRight\",\"xPlhRtJxT\":\"_\",\"UnhOPsPvk\":\"_1\",\"a4wwl9SxR\":\"_2\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerGz3JN7b91=withCSS(Component,css,\"framer-y52Qq\");export default FramerGz3JN7b91;FramerGz3JN7b91.displayName=\"BrandLookbook\";FramerGz3JN7b91.defaultProps={height:634,width:1110};addPropertyControls(FramerGz3JN7b91,{variant:{options:[\"hzgvusJO7\",\"zi_5WUnh0\",\"biHJ07RXz\",\"p1GYpxHX3\"],optionTitles:[\"Web2Columns\",\"Web1Column\",\"Mob1Column\",\"Web2Columns(All dim)\"],title:\"Variant\",type:ControlType.Enum},Zpu30LSWD:{title:\"Image_Left\",type:ControlType.ResponsiveImage},VP2xQUnI4:{title:\"Image_Right\",type:ControlType.ResponsiveImage},xPlhRtJxT:{defaultValue:true,title:\"왼쪽이 기본\",type:ControlType.Boolean},UnhOPsPvk:{defaultValue:100,title:\"왼쪽 명도\",type:ControlType.Number},a4wwl9SxR:{defaultValue:100,title:\"오른쪽 명도\",type:ControlType.Number}});addFonts(FramerGz3JN7b91,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerGz3JN7b91\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1110\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"zi_5WUnh0\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"biHJ07RXz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"p1GYpxHX3\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"634\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"Zpu30LSWD\\\":\\\"imageLeft\\\",\\\"VP2xQUnI4\\\":\\\"imageRight\\\",\\\"xPlhRtJxT\\\":\\\"_\\\",\\\"UnhOPsPvk\\\":\\\"_1\\\",\\\"a4wwl9SxR\\\":\\\"_2\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Gz3JN7b91.map","// Generated by Framer (98479f1)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Pretendard SemiBold\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Pretendard SemiBold\",source:\"custom\",url:\"https://framerusercontent.com/assets/PR1f1tyZwqZQEBMB43Y8WgYpbU.woff2\"}]}];export const css=['.framer-4jRba .framer-styles-preset-8dsmpa:not(.rich-text-wrapper), .framer-4jRba .framer-styles-preset-8dsmpa.rich-text-wrapper h1 { --framer-font-family: \"Pretendard SemiBold\", \"Pretendard SemiBold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 85px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }','@media (max-width: 1439px) and (min-width: 1280px) { .framer-4jRba .framer-styles-preset-8dsmpa:not(.rich-text-wrapper), .framer-4jRba .framer-styles-preset-8dsmpa.rich-text-wrapper h1 { --framer-font-family: \"Pretendard SemiBold\", \"Pretendard SemiBold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 80px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }','@media (max-width: 1279px) and (min-width: 0px) { .framer-4jRba .framer-styles-preset-8dsmpa:not(.rich-text-wrapper), .framer-4jRba .framer-styles-preset-8dsmpa.rich-text-wrapper h1 { --framer-font-family: \"Pretendard SemiBold\", \"Pretendard SemiBold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 60px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }'];export const className=\"framer-4jRba\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (bc931d3)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Pretendard SemiBold\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Pretendard SemiBold\",source:\"custom\",style:\"normal\",uiFamilyName:\"Pretendard\",url:\"https://framerusercontent.com/assets/PR1f1tyZwqZQEBMB43Y8WgYpbU.woff2\",weight:\"600\"}]}];export const css=['.framer-jkxxi .framer-styles-preset-1nq1fpm:not(.rich-text-wrapper), .framer-jkxxi .framer-styles-preset-1nq1fpm.rich-text-wrapper p { --framer-font-family: \"Pretendard SemiBold\", \"Pretendard SemiBold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-letter-spacing: 0.04em; --framer-line-height: 1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1024px) and (min-width: 700px) { .framer-jkxxi .framer-styles-preset-1nq1fpm:not(.rich-text-wrapper), .framer-jkxxi .framer-styles-preset-1nq1fpm.rich-text-wrapper p { --framer-font-family: \"Pretendard SemiBold\", \"Pretendard SemiBold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-letter-spacing: 0.04em; --framer-line-height: 1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 699px) and (min-width: 0px) { .framer-jkxxi .framer-styles-preset-1nq1fpm:not(.rich-text-wrapper), .framer-jkxxi .framer-styles-preset-1nq1fpm.rich-text-wrapper p { --framer-font-family: \"Pretendard SemiBold\", \"Pretendard SemiBold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-letter-spacing: 0.05em; --framer-line-height: 1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-jkxxi\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import { useAnalytics } from \"../../../hooks/analytics/useAnalytics.js\";\nimport { useContentStore } from \"../../../hooks/stores/content/content.store.js\";\nimport \"../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../hooks/stores/toast/toast.store.js\";\nconst useTrackClickCouponDownloadCTA = () => {\n  const {\n    trackFirebase,\n    trackAmplitude\n  } = useAnalytics();\n  const {\n    summary\n  } = useContentStore.getState();\n  const {\n    contentId,\n    series\n  } = summary;\n  const trackClickCouponDownloadCTA = () => {\n    const properties = {\n      curr_screen: series,\n      content_no: contentId,\n      content_format: \"FRAMER\",\n      component: \"download_coupon\"\n    };\n    trackFirebase(\"click_button\", properties);\n    trackAmplitude(\"click_button\", properties);\n  };\n  return {\n    trackClickCouponDownloadCTA\n  };\n};\nexport {\n  useTrackClickCouponDownloadCTA\n};\n"],"x_google_ignoreList":[23,24],"mappings":"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"}