{
  "version": 3,
  "sources": ["ssg:https://asset.29cm.co.kr/contents/framer/components/systems/KeyVisual/KeyVisualImage/KeyVisualImage.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/KeyVisual/KeyVisual.constants.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/KeyVisual/KeyVisualVideo/KeyVisualVideo.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/KeyVisual/KeyVisual.js"],
  "sourcesContent": ["import { jsxs, jsx } from \"react/jsx-runtime\";\nimport { mediaBuilder } from \"../../../../utils/mediaBuilder.js\";\nconst SRC_SET_WIDTHS = [540, 1024, 1440];\nconst KeyVisualImage = ({\n  style,\n  media,\n  lazy,\n  source\n}) => {\n  if (!source) {\n    return;\n  }\n  const imageWebp = mediaBuilder(source).setFormat(\"webp\").setQuality(90);\n  const image = mediaBuilder(source).setQuality(90);\n  return /* @__PURE__ */ jsxs(\"picture\", { children: [\n    /* @__PURE__ */ jsx(\"source\", { srcSet: imageWebp.getSrcSet(...SRC_SET_WIDTHS), src: imageWebp.getSrc(), media }),\n    /* @__PURE__ */ jsx(\"img\", { style, loading: lazy ? \"lazy\" : \"eager\", sizes: \"100vw\", srcSet: image.getSrcSet(...SRC_SET_WIDTHS), src: source, alt: source })\n  ] });\n};\nexport {\n  KeyVisualImage\n};\n", "var Breakpoint = /* @__PURE__ */ ((Breakpoint2) => {\n  Breakpoint2[Breakpoint2[\"DESKTOP\"] = 0] = \"DESKTOP\";\n  Breakpoint2[Breakpoint2[\"TABLET\"] = 1] = \"TABLET\";\n  Breakpoint2[Breakpoint2[\"MOBILE\"] = 2] = \"MOBILE\";\n  return Breakpoint2;\n})(Breakpoint || {});\nvar MediaType = /* @__PURE__ */ ((MediaType2) => {\n  MediaType2[MediaType2[\"VIDEO\"] = 0] = \"VIDEO\";\n  MediaType2[MediaType2[\"IMAGE\"] = 1] = \"IMAGE\";\n  return MediaType2;\n})(MediaType || {});\nexport {\n  Breakpoint,\n  MediaType\n};\n", "import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { querify } from \"../../../../utils/querify.js\";\nimport { useRef } from \"react\";\nimport { useInView } from \"framer-motion\";\nimport { Breakpoint } from \"../KeyVisual.constants.js\";\nconst KeyVisualVideo = ({\n  style,\n  breakpoint,\n  lazy,\n  media,\n  poster,\n  sourceWebm,\n  source\n}) => {\n  const ref = useRef(null);\n  const isInView = useInView(ref, {\n    margin: \"400px 0px\",\n    once: true\n  });\n  if (lazy && !isInView) {\n    return /* @__PURE__ */ jsx(\"div\", { ref, style });\n  }\n  const query = querify({\n    width: posterWidthByBreakpoint[breakpoint],\n    q: 90\n  });\n  return /* @__PURE__ */ jsxs(\"video\", { poster: poster !== void 0 ? `${poster}?${query}` : void 0, autoPlay: true, playsInline: true, muted: true, loop: true, style, children: [\n    sourceWebm && /* @__PURE__ */ jsx(\"source\", { type: \"video/webm\", src: sourceWebm, media }),\n    /* @__PURE__ */ jsx(\"source\", { type: \"video/mp4\", src: source, media })\n  ] });\n};\nconst posterWidthByBreakpoint = {\n  [Breakpoint.DESKTOP]: void 0,\n  [Breakpoint.TABLET]: 1440,\n  [Breakpoint.MOBILE]: 1024\n};\nexport {\n  KeyVisualVideo\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType } from \"framer\";\nimport { memo } from \"react\";\nimport { KeyVisualImage } from \"./KeyVisualImage/KeyVisualImage.js\";\nimport { KeyVisualVideo } from \"./KeyVisualVideo/KeyVisualVideo.js\";\nimport { MediaType, Breakpoint } from \"./KeyVisual.constants.js\";\nconst KeyVisual = memo(({\n  style,\n  breakpoint,\n  type,\n  lazy,\n  poster,\n  sourceWebm,\n  source,\n  sourceImage\n}) => {\n  if (type === MediaType.IMAGE) {\n    return /* @__PURE__ */ jsx(KeyVisualImage, { style: {\n      ...style,\n      ...mediaStyle\n    }, media: mediaByBreakpoint[breakpoint], lazy, source: sourceImage });\n  }\n  return /* @__PURE__ */ jsx(KeyVisualVideo, { style: {\n    ...style,\n    ...mediaStyle\n  }, breakpoint, lazy, media: mediaByBreakpoint[breakpoint], poster, sourceWebm, source });\n});\nconst mediaByBreakpoint = {\n  [Breakpoint.DESKTOP]: \"(min-width: 1025px)\",\n  [Breakpoint.TABLET]: \"(min-width: 541px)\",\n  [Breakpoint.MOBILE]: void 0\n};\nconst mediaStyle = {\n  width: \"100%\",\n  height: \"100%\",\n  display: \"block\",\n  objectFit: \"cover\",\n  objectPosition: \"50% 50%\",\n  background: \"transparent\",\n  border: 0,\n  outline: \"none\"\n};\nconst isVideo = ({\n  type\n}) => type === MediaType.VIDEO;\nconst isImage = ({\n  type\n}) => type === MediaType.IMAGE;\naddPropertyControls(KeyVisual, {\n  breakpoint: {\n    type: ControlType.Enum,\n    title: \"\uBD84\uAE30\uC810\",\n    options: [Breakpoint.DESKTOP, Breakpoint.TABLET, Breakpoint.MOBILE],\n    optionTitles: [\"PC\", \"Tablet\", \"Mobile\"],\n    displaySegmentedControl: true\n  },\n  type: {\n    type: ControlType.Enum,\n    title: \"\uBBF8\uB514\uC5B4 \uC720\uD615\",\n    options: [MediaType.VIDEO, MediaType.IMAGE],\n    optionTitles: [\"Video\", \"Image\"],\n    defaultValue: MediaType.VIDEO,\n    displaySegmentedControl: true\n  },\n  lazy: {\n    type: ControlType.Boolean,\n    title: \"\uC9C0\uC5F0 \uB85C\uB4DC\",\n    description: \"\uD65C\uC131\uD654\uD560 \uACBD\uC6B0 \uBBF8\uB514\uC5B4\uAC00 \uD654\uBA74\uC0C1\uC5D0 \uB178\uCD9C\uB418\uAE30 \uC9C1\uC804\uC5D0 \uB85C\uB4DC\uB429\uB2C8\uB2E4.\",\n    defaultValue: false\n  },\n  poster: {\n    hidden: isImage,\n    type: ControlType.String,\n    title: \"\uD3EC\uC2A4\uD130\",\n    description: \"\uC601\uC0C1\uC774 \uC790\uB3D9\uC7AC\uC0DD\uB418\uC9C0 \uC54A\uB294 \uD658\uACBD(ex. \uC800\uC804\uB825 \uBAA8\uB4DC)\uC5D0\uC11C \uC784\uC2DC\uB85C \uB178\uCD9C\uD560 \uC774\uBBF8\uC9C0 \uB9C1\uD06C\uB97C \uC785\uB825\uD569\uB2C8\uB2E4.\"\n  },\n  sourceWebm: {\n    hidden: isImage,\n    type: ControlType.String,\n    title: \"\uC601\uC0C1 \uB9C1\uD06C (.webm)\",\n    description: \".webm \uD3EC\uB9F7\uC758 \uC601\uC0C1 \uB9C1\uD06C\uB97C \uC785\uB825\uD569\uB2C8\uB2E4.\"\n  },\n  source: {\n    hidden: isImage,\n    type: ControlType.String,\n    title: \"\uC601\uC0C1 \uB9C1\uD06C (.mp4)\",\n    description: \".mp4 \uD3EC\uB9F7\uC758 \uC601\uC0C1 \uB9C1\uD06C\uB97C \uC785\uB825\uD569\uB2C8\uB2E4.\"\n  },\n  sourceImage: {\n    hidden: isVideo,\n    type: ControlType.String,\n    title: \"\uC774\uBBF8\uC9C0 \uB9C1\uD06C\",\n    description: \"img.29cm.co.kr \uC8FC\uC18C\uB85C \uB41C \uC774\uBBF8\uC9C0 \uB9C1\uD06C\uB97C \uC785\uB825\uD569\uB2C8\uB2E4.\"\n  }\n});\nexport {\n  KeyVisual\n};\n"],
  "mappings": "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",
  "names": ["SRC_SET_WIDTHS", "KeyVisualImage", "style", "media", "lazy", "source", "imageWebp", "mediaBuilder", "image", "u", "p", "Breakpoint", "Breakpoint2", "MediaType", "MediaType2", "KeyVisualVideo", "style", "breakpoint", "lazy", "media", "poster", "sourceWebm", "source", "ref", "pe", "isInView", "useInView", "p", "query", "querify", "posterWidthByBreakpoint", "u", "Breakpoint", "KeyVisual", "X", "style", "breakpoint", "type", "lazy", "poster", "sourceWebm", "source", "sourceImage", "MediaType", "p", "KeyVisualImage", "mediaStyle", "mediaByBreakpoint", "KeyVisualVideo", "Breakpoint", "isVideo", "isImage", "addPropertyControls", "ControlType"]
}
