{
  "version": 3,
  "sources": ["ssg:https://asset.29cm.co.kr/contents/framer/components/systems/TabBarV2/TabBarV2.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/TabBarV2/TabBarItem.js", "ssg:https://asset.29cm.co.kr/contents/framer/utils/playHaptic.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/react-use/esm/useIsomorphicLayoutEffect.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/react-use/esm/useMeasure.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/TabBarV2/TabBarV2.js"],
  "sourcesContent": ["const toRGBA = (color, opacity) => {\n  const matched = color.match(/\\d+/g);\n  if (!matched) {\n    return color;\n  }\n  const [r, g, b] = matched;\n  return `rgba(${r}, ${g}, ${b}, ${opacity})`;\n};\nexport {\n  toRGBA\n};\n", "import { jsxs, jsx } from \"react/jsx-runtime\";\nimport { motion } from \"framer-motion\";\nimport { ComponentName } from \"../../../styles/ComponentName.js\";\nimport \"react\";\nimport { createWithStyle } from \"../../../styles/createWithStyle.js\";\nimport { css } from \"../../../styles/css.js\";\nimport { toRGBA } from \"./TabBarV2.utils.js\";\nconst {\n  classNames,\n  withStyle\n} = createWithStyle(ComponentName.TabBarItem, {\n  container: css`\n    & {\n      position: relative;\n      flex: 1 0 auto;\n      text-decoration: none;\n    }\n  `,\n  label: css`\n    & {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding: 0 12px;\n\n      height: 100%;\n      transition: color 250ms ease-in-out;\n    }\n  `,\n  indicator: css`\n    & {\n      position: absolute;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      height: 2px;\n    }\n  `\n});\nconst TabBarItem = withStyle(({\n  id,\n  layoutId,\n  item,\n  selected,\n  color,\n  onClick\n}) => {\n  const hash = `#${item.sectionId}`;\n  return /* @__PURE__ */ jsxs(\"a\", { className: classNames.container, id, href: hash, onClick: (event) => {\n    event.preventDefault();\n    history.replaceState(\"\", \"\", hash);\n    onClick(item);\n  }, children: [\n    /* @__PURE__ */ jsx(\"div\", { className: classNames.label, style: {\n      color: selected ? color : toRGBA(color, 0.5)\n    }, children: item.label }),\n    selected && /* @__PURE__ */ jsx(motion.div, { className: classNames.indicator, style: {\n      backgroundColor: color\n    }, layoutId, layout: true })\n  ] });\n});\nexport {\n  TabBarItem\n};\n", "import { postMessage } from \"./postMessage.js\";\nconst DURATION_BY_INTENSITY = {\n  [\n    \"heavy\"\n    /* HEAVY */\n  ]: 100,\n  [\n    \"medium\"\n    /* MEDIUM */\n  ]: 50,\n  [\n    \"light\"\n    /* LIGHT */\n  ]: 30,\n  [\n    \"soft\"\n    /* SOFT */\n  ]: 20,\n  [\n    \"rigid\"\n    /* RIGID */\n  ]: 5\n};\nconst playHaptic = (intensity) => {\n  postMessage(\"playHaptic\", {\n    type: intensity,\n    duration: DURATION_BY_INTENSITY[intensity]\n  });\n};\nexport {\n  playHaptic\n};\n", "import { useLayoutEffect, useEffect } from \"react\";\nimport { isBrowser } from \"./misc/util.js\";\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport {\n  useIsomorphicLayoutEffect as default\n};\n", "import { useState, useMemo } from \"react\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect.js\";\nimport { isBrowser, noop } from \"./misc/util.js\";\nvar defaultState = {\n  x: 0,\n  y: 0,\n  width: 0,\n  height: 0,\n  top: 0,\n  left: 0,\n  bottom: 0,\n  right: 0\n};\nfunction useMeasure() {\n  var _a = useState(null), element = _a[0], ref = _a[1];\n  var _b = useState(defaultState), rect = _b[0], setRect = _b[1];\n  var observer = useMemo(function() {\n    return new window.ResizeObserver(function(entries) {\n      if (entries[0]) {\n        var _a2 = entries[0].contentRect, x = _a2.x, y = _a2.y, width = _a2.width, height = _a2.height, top_1 = _a2.top, left = _a2.left, bottom = _a2.bottom, right = _a2.right;\n        setRect({ x, y, width, height, top: top_1, left, bottom, right });\n      }\n    });\n  }, []);\n  useIsomorphicLayoutEffect(function() {\n    if (!element)\n      return;\n    observer.observe(element);\n    return function() {\n      observer.disconnect();\n    };\n  }, [element]);\n  return [ref, rect];\n}\nconst useMeasure$1 = isBrowser && typeof window.ResizeObserver !== \"undefined\" ? useMeasure : function() {\n  return [noop, defaultState];\n};\nexport {\n  useMeasure$1 as default\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType } from \"framer\";\nimport { useScroll, useMotionValue, useMotionValueEvent, animate, MotionConfig, motion } from \"framer-motion\";\nimport { useState, useRef, useMemo, useEffect } from \"react\";\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 \"../../../config/index.js\";\nimport \"../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../node_modules/swr/mutation/dist/index.js\";\nimport { useEffectOnce } from \"../../../hooks/react/useEffectOnce.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 \"../../@shared/providers/ThemeProvider/ThemeProvider.js\";\nimport \"../../@shared/providers/BreakpointProvider/BreakpointProvider.js\";\nimport \"../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../Dialog/Dialog.module.css.js\";\nimport \"../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../utils/redirectLogin.js\";\nimport \"../../../utils/event-properties/source.js\";\nimport { mergeRefs } from \"../../../utils/react/mergeRefs.js\";\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 { useTrackClickTabBarContentEvent } from \"../TabBar/TabBar.hooks.event.js\";\nimport { useTabBarContext } from \"../TabBar/TabBarContext.js\";\nimport { TabBarItem } from \"./TabBarItem.js\";\nimport { toRGBA } from \"./TabBarV2.utils.js\";\nimport { playHaptic } from \"../../../utils/playHaptic.js\";\nimport useMeasure from \"../../../node_modules/react-use/esm/useMeasure.js\";\nconst {\n  classNames,\n  withStyle\n} = createWithStyle(ComponentName.TabBar, {\n  wrapper: css`\n    & {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n  `,\n  container: css`\n    & {\n      ${typographyCSS(14, 700, 1.3)}\n      letter-spacing: 0.02;\n      position: relative;\n      display: flex;\n      gap: 10px;\n      height: 50px;\n      width: 100%;\n      overflow: auto;\n\n      /* Hide scrollbar for IE, Edge and Firefox */\n      -ms-overflow-style: none;\n      scrollbar-width: none;\n\n      @media (min-width: 540px) {\n        ${typographyCSS(16, 700, 1.4)}\n      }\n    }\n\n    /* Hide scrollbar for Chrome, Safari and Opera */\n    &::-webkit-scrollbar {\n      display: none;\n    }\n  `,\n  containerSmTypography: css`\n    ${typographyCSS(14, 700, 1.3)}\n  `\n});\nconst transition = {\n  type: \"spring\",\n  bounce: 0\n};\nconst TabBarV2 = withStyle(({\n  style,\n  theme,\n  fadeInOut,\n  items,\n  padding = 0,\n  isMixed = false,\n  paddingTop = padding,\n  paddingRight = padding,\n  paddingBottom = padding,\n  paddingLeft = padding,\n  toggleMaxWidth = false,\n  maxWidth = 1114,\n  tabBarHeight = 50,\n  useSmallTypography = false\n}) => {\n  const {\n    selectedIndex,\n    onSelectedIndexChange\n  } = useTabBarContext();\n  const [isInitialTabReady, setIsInitialTabReady] = useState(false);\n  const {\n    scrollY\n  } = useScroll();\n  const wrapperRef = useRef(null);\n  const containerRef = useRef(null);\n  const sectionElementsRef = useRef();\n  const [ref, {\n    width: tabBarWidth\n  }] = useMeasure();\n  const initialBackgroundColor = backgroundColorByTheme[theme];\n  const initialTextColor = textColorByTheme[theme];\n  const position = useMotionValue(\"relative\");\n  const backgroundColor = useMotionValue(toRGBA(initialBackgroundColor, fadeInOut ? 0 : 1));\n  const {\n    trackClickTabBarContentEvent\n  } = useTrackClickTabBarContentEvent();\n  const uniqueId = useMemo(() => items.map((item) => item.sectionId).join(\"-\"), [items]);\n  useEffect(() => {\n    backgroundColor.set(toRGBA(initialBackgroundColor, fadeInOut ? 0 : 1));\n  }, [initialBackgroundColor, fadeInOut]);\n  useEffectOnce(() => {\n    const [hash] = window.location.hash.split(\"?\");\n    const initialItemIndex = items.findIndex((item) => `#${item.sectionId}` === hash);\n    if (initialItemIndex < 0) {\n      setIsInitialTabReady(true);\n      return;\n    }\n    setTimeout(() => {\n      setIsInitialTabReady(true);\n      requestAnimationFrame(() => {\n        selectItem(initialItemIndex, {\n          tabBarAnimation: false\n        });\n        scrollToSectionByIndex(initialItemIndex);\n      });\n    }, 500);\n  });\n  useEffect(() => {\n    if (!isInitialTabReady) {\n      return;\n    }\n    if (sectionElementsRef.current !== void 0) {\n      return;\n    }\n    sectionElementsRef.current = items.map((item) => document.getElementById(item.sectionId));\n  }, [isInitialTabReady]);\n  useMotionValueEvent(scrollY, \"change\", (latest) => {\n    if (wrapperRef.current === null) {\n      return;\n    }\n    const top = getAbsoluteOffsetTop(wrapperRef.current);\n    const isPassed = latest >= top;\n    const opacity = fadeInOut ? clamp((latest - top) / tabBarHeight, 0, 1) : 1;\n    backgroundColor.set(toRGBA(initialBackgroundColor, opacity));\n    position.set(isPassed ? \"fixed\" : \"relative\");\n  });\n  useMotionValueEvent(scrollY, \"change\", (latest) => {\n    if (!isInitialTabReady) {\n      return;\n    }\n    const clientHeight = (document.documentElement.clientHeight ?? 0) * 0.3;\n    const elementOffsetTops = [...(sectionElementsRef.current ?? []).map((element) => element ? getAbsoluteOffsetTop(element) : 0), Infinity];\n    const foundIndex = Math.max(-1, elementOffsetTops.findIndex((offsetY) => latest + tabBarHeight + clientHeight <= offsetY) - 1);\n    if (foundIndex !== selectedIndex) {\n      selectItem(foundIndex);\n    }\n  });\n  const getItemIdForIndex = (index) => `tab-bar__${uniqueId}__${index}`;\n  const selectItem = (index, {\n    tabBarAnimation = true\n  } = {}) => {\n    onSelectedIndexChange(index);\n    focusTabByIndex(index, tabBarAnimation);\n  };\n  const scrollToSectionByIndex = (index) => {\n    var _a;\n    const element = ((_a = sectionElementsRef.current) == null ? void 0 : _a[index]) ?? void 0;\n    if (element !== void 0) {\n      window.scrollTo({\n        top: getAbsoluteOffsetTop(element) - tabBarHeight\n      });\n    }\n  };\n  const focusTabByIndex = (index, withAnimation) => {\n    const itemElement = document.getElementById(getItemIdForIndex(index));\n    const containerElement = containerRef.current;\n    if (itemElement === null || containerElement === null) {\n      return;\n    }\n    const centerPosition = itemElement.offsetLeft - containerElement.offsetWidth / 2 + itemElement.offsetWidth / 2;\n    if (!withAnimation) {\n      containerElement.scrollTo({\n        left: centerPosition\n      });\n      return;\n    }\n    animate(containerElement.scrollLeft, centerPosition, {\n      ...transition,\n      onUpdate: (latest) => {\n        containerElement.scrollTo({\n          left: latest\n        });\n      }\n    });\n  };\n  const handleClick = (index, item) => () => {\n    playHaptic(\"rigid\");\n    scrollToSectionByIndex(index);\n    trackClickTabBarContentEvent(index + 1, item);\n  };\n  const tabBarPadding = isMixed ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : `${padding}px`;\n  const tabBarMaxWidth = toggleMaxWidth ? `${maxWidth}px` : void 0;\n  return /* @__PURE__ */ jsx(MotionConfig, { transition, children: /* @__PURE__ */ jsx(\"div\", { ref: mergeRefs([wrapperRef, ref]), style: {\n    height: tabBarHeight\n  }, children: /* @__PURE__ */ jsx(motion.div, { className: classNames.wrapper, style: {\n    ...style,\n    width: tabBarWidth || \"100%\",\n    height: tabBarHeight,\n    position,\n    zIndex: 10,\n    top: 0,\n    left: 0,\n    right: 0,\n    backgroundColor\n  }, children: /* @__PURE__ */ jsx(motion.div, { className: `${classNames.container} ${useSmallTypography ? classNames.containerSmTypography : \"\"}`, ref: containerRef, layout: true, layoutRoot: true, style: {\n    padding: tabBarPadding,\n    maxWidth: tabBarMaxWidth,\n    backgroundColor\n  }, children: items.map((item, index) => /* @__PURE__ */ jsx(\n    TabBarItem,\n    {\n      id: getItemIdForIndex(index),\n      layoutId: uniqueId,\n      item,\n      selected: Math.max(0, selectedIndex) === index,\n      color: initialTextColor,\n      onClick: handleClick(index, item)\n    },\n    index\n  )) }) }) }) });\n});\nconst backgroundColorByTheme = {\n  default: \"rgb(0,0,0)\",\n  negative: \"rgb(255, 255, 255)\"\n};\nconst textColorByTheme = {\n  default: \"rgb(255, 255, 255)\",\n  negative: \"rgb(0,0,0)\"\n};\nconst getAbsoluteOffsetTop = (element) => {\n  return Math.round(element.getBoundingClientRect().top + window.scrollY);\n};\nconst clamp = (value, lower, upper) => {\n  return Math.min(upper, Math.max(lower, value));\n};\naddPropertyControls(TabBarV2, {\n  theme: {\n    type: ControlType.Enum,\n    title: \"\uD14C\uB9C8\",\n    options: [\"default\", \"negative\"],\n    optionTitles: [\"\uAE30\uBCF8\", \"\uBC18\uC804\"],\n    defaultValue: \"default\",\n    displaySegmentedControl: true\n  },\n  fadeInOut: {\n    type: ControlType.Boolean,\n    title: \"\uBC30\uACBD\uC0C9 \uD398\uC774\uB4DC \uC778/\uC544\uC6C3\",\n    description: \"\uD65C\uC131\uD654 \uC2DC \uD0ED\uBC14\uAC00 \uC0C1\uB2E8\uC5D0 \uBD99\uC740 \uC0C1\uD0DC\uB85C \uC2A4\uD06C\uB864\uB418\uBA74 \uBC30\uACBD\uC0C9\uC758 \uD22C\uBA85\uB3C4\uAC00 \uC11C\uC11C\uD788 \uC99D\uAC10\uD569\uB2C8\uB2E4.\",\n    defaultValue: false\n  },\n  items: {\n    title: \"\uD0ED\",\n    type: ControlType.Array,\n    control: {\n      type: ControlType.Object,\n      controls: {\n        label: {\n          title: \"\uD0ED \uC774\uB984\",\n          type: ControlType.String,\n          defaultValue: \"\uD0ED\"\n        },\n        sectionId: {\n          title: \"\uC2A4\uD06C\uB864 \uC139\uC158 ID\",\n          type: ControlType.String\n        }\n      }\n    },\n    defaultValue: [{\n      label: \"Chapter 1\",\n      sectionId: \"chapter1\"\n    }, {\n      label: \"Chapter 2\",\n      sectionId: \"chapter2\"\n    }, {\n      label: \"Chapter 3\",\n      sectionId: \"chapter3\"\n    }]\n  },\n  padding: {\n    type: ControlType.FusedNumber,\n    title: \"Padding\",\n    defaultValue: 0,\n    toggleKey: \"isMixed\",\n    toggleTitles: [\"All\", \"Individual\"],\n    valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n    valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n    min: 0\n  },\n  toggleMaxWidth: {\n    type: ControlType.Boolean,\n    title: \"MaxWidth\",\n    enabledTitle: \"SET\",\n    disabledTitle: \"UNSET\",\n    defaultValue: false\n  },\n  maxWidth: {\n    type: ControlType.Number,\n    defaultValue: 1114,\n    min: 50,\n    unit: \"px\",\n    step: 1,\n    displayStepper: true,\n    hidden(props) {\n      return props.toggleMaxWidth === false;\n    }\n  }\n});\nexport {\n  TabBarV2\n};\n"],
  "mappings": "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",
  "names": ["toRGBA", "color", "opacity", "matched", "r", "g", "b", "classNames", "withStyle", "createWithStyle", "ComponentName", "css", "TabBarItem", "id", "layoutId", "item", "selected", "color", "onClick", "hash", "u", "event", "p", "toRGBA", "motion", "DURATION_BY_INTENSITY", "playHaptic", "intensity", "postMessage", "useIsomorphicLayoutEffect", "isBrowser", "fe", "ue", "defaultState", "useMeasure", "_a", "ye", "element", "ref", "_b", "rect", "setRect", "observer", "se", "window", "entries", "_a2", "x", "y", "width", "height", "top_1", "left", "bottom", "right", "useIsomorphicLayoutEffect", "useMeasure$1", "isBrowser", "noop", "classNames", "withStyle", "createWithStyle", "ComponentName", "css", "typographyCSS", "transition", "TabBarV2", "style", "theme", "fadeInOut", "items", "padding", "isMixed", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "toggleMaxWidth", "maxWidth", "tabBarHeight", "useSmallTypography", "selectedIndex", "onSelectedIndexChange", "useTabBarContext", "isInitialTabReady", "setIsInitialTabReady", "ye", "scrollY", "useScroll", "wrapperRef", "pe", "containerRef", "sectionElementsRef", "ref", "tabBarWidth", "useMeasure$1", "initialBackgroundColor", "backgroundColorByTheme", "initialTextColor", "textColorByTheme", "position", "useMotionValue", "backgroundColor", "toRGBA", "trackClickTabBarContentEvent", "useTrackClickTabBarContentEvent", "uniqueId", "se", "item", "ue", "useEffectOnce", "hash", "window", "initialItemIndex", "selectItem", "scrollToSectionByIndex", "useMotionValueEvent", "latest", "top", "getAbsoluteOffsetTop", "isPassed", "opacity", "clamp", "clientHeight", "elementOffsetTops", "element", "foundIndex", "offsetY", "getItemIdForIndex", "index", "tabBarAnimation", "focusTabByIndex", "_a", "withAnimation", "itemElement", "containerElement", "centerPosition", "animate", "handleClick", "playHaptic", "tabBarPadding", "tabBarMaxWidth", "p", "MotionConfig", "mergeRefs", "motion", "TabBarItem", "value", "lower", "upper", "addPropertyControls", "ControlType", "props"]
}
