{"version":3,"file":"shared.CfSbAmNd.mjs","names":["Badge","createContext","withStyle","forwardRef","classNames","useState","useContext","withStyle","forwardRef","classNames","withStyle","forwardRef","classNames","forwardRef","useRef","useState","useCallback","useState","Children","isValidElement","cloneElement","BrandProvider","BaseBrandProvider","index","Icon","addPropertyOverrides","Icon","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","RichText","BrandHeaderChildren","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","Image","React.useContext","React.useMemo","React.Fragment","React.forwardRef","React.useRef","React.useId","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/hooks/useDialog.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","import { dialog } from \"../containers/DialogContainer/DialogContainer.js\";\nimport { isTabView } from \"../utils/custom-tab/isTabView.js\";\nimport { sendAppSchemeMessage } from \"../utils/sendAppSchemeMessage.js\";\nconst useDialog = () => {\n  const show = (params) => {\n    const {\n      id = Math.random().toString(36).substr(2, 10),\n      needInAppLayer = true,\n      closeOnPrimaryButtonClick = true,\n      closeOnSecondaryButtonClick = true\n    } = params;\n    if (needInAppLayer && !isTabView()) {\n      sendAppSchemeMessage(\"layerDidOpen\");\n    }\n    dialog.show({\n      ...params,\n      id,\n      onClose: () => {\n        var _a;\n        (_a = params.onClose) == null ? void 0 : _a.call(params);\n        hide(id, needInAppLayer);\n      },\n      onPrimaryButtonClick: () => {\n        var _a;\n        (_a = params.onPrimaryButtonClick) == null ? void 0 : _a.call(params);\n        if (closeOnPrimaryButtonClick) {\n          hide(id, needInAppLayer);\n        }\n      },\n      onSecondaryButtonClick: () => {\n        var _a;\n        (_a = params.onSecondaryButtonClick) == null ? void 0 : _a.call(params);\n        if (closeOnSecondaryButtonClick) {\n          hide(id, needInAppLayer);\n        }\n      }\n    });\n    return id;\n  };\n  const hide = (id, needInAppLayerClose = true) => {\n    dialog.hide(id);\n    if (needInAppLayerClose && !isTabView()) {\n      sendAppSchemeMessage(\"layerDidClose\");\n    }\n  };\n  return {\n    show,\n    hide\n  };\n};\nexport {\n  useDialog\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":[24,25],"mappings":"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"}