{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/index-community.js?community=19"],
  "sourcesContent": ["/* Index Community \u2014 queue / line carousel\n *\n * Visual queue (front \u2192 back):\n *   front     = active\n *   behind-1  = next in line (active+1)\n *   behind-2  = active+2\n *   parked    = further back / off-deck (right, rotate 5deg)\n *\n * Right arrow = Next (\u961F\u9996\u53BB\u961F\u5C3E):\n *   Front rotates bottom-right & fades \u2192 end of queue\n *   Everyone else steps forward one slot\n *\n * Left arrow = Prev (\u961F\u5C3E\u63D2\u5230\u961F\u9996):\n *   End-of-queue card enters from bottom-right \u2192 front\n *   Everyone else steps back one slot\n */\n(function () {\n  const section = document.querySelector('[data-index-community]');\n  if (!section) return;\n\n  const stack = section.querySelector('[data-community-stack]');\n  const items = stack ? Array.from(stack.querySelectorAll('[data-community-item]')) : [];\n  const prevBtn = section.querySelector('[data-community-prev]');\n  const nextBtn = section.querySelector('[data-community-next]');\n  const controls = section.querySelector('[data-community-controls]');\n  const roleClasses = ['is-active', 'is-behind-1', 'is-behind-2', 'is-parked'];\n  const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\n  const autoplayMs = Number(section.dataset.autoplayMs || 4000);\n  const DURATION = 400;\n  const EASING = 'cubic-bezier(0.22, 1.15, 0.36, 1)';\n\n  /* openai.com/business/customer-stories poses */\n  const POSES = {\n    'is-active': {\n      transform: 'none',\n      opacity: '1',\n      zIndex: '4',\n    },\n    'is-behind-1': {\n      transform: 'translateX(-24px) scale(0.84)',\n      opacity: '1',\n      zIndex: '3',\n    },\n    'is-behind-2': {\n      transform: 'translateX(-37.0131px) scale(0.69)',\n      opacity: '1',\n      zIndex: '2',\n    },\n    'is-parked': {\n      transform: 'translateX(130px) rotate(5deg)',\n      opacity: '0',\n      zIndex: '5',\n    },\n  };\n\n  if (!stack || items.length === 0) return;\n\n  const total = items.length;\n  let activeIndex = Math.max(\n    0,\n    items.findIndex((item) => item.classList.contains('is-active'))\n  );\n  let intervalId = null;\n  let animating = false;\n  let endTimer = null;\n\n  function mod(n, m) {\n    return ((n % m) + m) % m;\n  }\n\n  function card(index) {\n    return items[mod(index, total)];\n  }\n\n  /**\n   * Queue layout: front, then the next people in line behind them.\n   * Only the nearest 2 behind peeks are visible.\n   */\n  function roleMap(front) {\n    const map = new Map();\n    items.forEach((item) => map.set(item, 'is-parked'));\n    map.set(card(front), 'is-active');\n    if (total >= 2) map.set(card(front + 1), 'is-behind-1');\n    if (total >= 3) map.set(card(front + 2), 'is-behind-2');\n    return map;\n  }\n\n  function writePose(item, role, withTransition) {\n    const pose = POSES[role];\n    item.style.transition = withTransition\n      ? 'transform ' + DURATION + 'ms ' + EASING + ', opacity ' + DURATION + 'ms ' + EASING\n      : 'none';\n    item.style.transform = pose.transform;\n    item.style.opacity = pose.opacity;\n    item.style.zIndex = pose.zIndex;\n  }\n\n  function applyClasses(map) {\n    map.forEach((role, item) => {\n      roleClasses.forEach((cls) => item.classList.remove(cls));\n      item.classList.add(role);\n      const isFront = role === 'is-active';\n      item.setAttribute('aria-hidden', isFront ? 'false' : 'true');\n      if (isFront) item.removeAttribute('inert');\n      else item.setAttribute('inert', '');\n    });\n  }\n\n  function clearInline(item) {\n    item.style.transition = '';\n    item.style.transform = '';\n    item.style.opacity = '';\n    item.style.zIndex = '';\n  }\n\n  function syncVideos() {\n    items.forEach((item) => {\n      const video = item.querySelector('[data-community-video], video');\n      if (!video) return;\n      video.muted = true;\n      video.setAttribute('playsinline', '');\n      if (item.classList.contains('is-active') && !reduceMotion.matches) {\n        const playPromise = video.play();\n        if (playPromise && typeof playPromise.catch === 'function') {\n          playPromise.catch(() => {});\n        }\n      } else {\n        video.pause();\n      }\n    });\n  }\n\n  function settle(map) {\n    applyClasses(map);\n    items.forEach(clearInline);\n    stack.classList.remove('is-animating', 'is-animating-next', 'is-animating-prev');\n    animating = false;\n    syncVideos();\n  }\n\n  function finishAfter(map) {\n    if (endTimer) clearTimeout(endTimer);\n    endTimer = setTimeout(() => {\n      settle(map);\n      endTimer = null;\n    }, DURATION + 40);\n  }\n\n  /**\n   * After Next: slide from \u961F\u672B into the peek slot.\n   * Invisible on the far right; once past ~35% of travel,\n   * fade in WHILE still sliding \u2014 so it reads as \u6ED1\u5165, not a pop.\n   */\n  function finishNext(map, outgoing) {\n    if (endTimer) clearTimeout(endTimer);\n    endTimer = setTimeout(() => {\n      const finalRole = map.get(outgoing);\n      const needsFadeIn =\n        finalRole === 'is-behind-1' || finalRole === 'is-behind-2';\n\n      applyClasses(map);\n\n      items.forEach((item) => {\n        if (item !== outgoing) clearInline(item);\n      });\n\n      if (!needsFadeIn || reduceMotion.matches) {\n        clearInline(outgoing);\n        stack.classList.remove('is-animating', 'is-animating-next', 'is-animating-prev');\n        animating = false;\n        syncVideos();\n        endTimer = null;\n        return;\n      }\n\n      const fromPose = POSES['is-parked'];\n      const toPose = POSES[finalRole];\n      const moveMs = 120;\n\n      outgoing.style.transition = 'none';\n      outgoing.style.transform = fromPose.transform;\n      outgoing.style.opacity = '0';\n      outgoing.style.zIndex = toPose.zIndex;\n\n      /*\n       * Transform runs 0 \u2192 1 the whole time.\n       * Opacity stays 0 until 35%, then rises with the remaining slide\n       * so the visible portion is clearly motion + fade, not a blink.\n       */\n      const anim = outgoing.animate(\n        [\n          {\n            transform: fromPose.transform,\n            opacity: 0,\n            offset: 0,\n          },\n          {\n            opacity: 0,\n            offset: 0.35,\n          },\n          {\n            transform: toPose.transform,\n            opacity: 1,\n            offset: 1,\n          },\n        ],\n        {\n          duration: moveMs,\n          easing: 'cubic-bezier(0.33, 0, 0.2, 1)',\n          fill: 'forwards',\n        }\n      );\n\n      const done = function () {\n        try {\n          if (typeof anim.commitStyles === 'function') anim.commitStyles();\n        } catch (e) {\n          /* ignore */\n        }\n        try {\n          anim.cancel();\n        } catch (e2) {\n          /* ignore */\n        }\n        clearInline(outgoing);\n        stack.classList.remove('is-animating', 'is-animating-next', 'is-animating-prev');\n        animating = false;\n        syncVideos();\n        endTimer = null;\n      };\n\n      anim.finished.then(done).catch(done);\n    }, DURATION + 40);\n  }\n\n  /**\n   * Next \u2014 \u961F\u9996\u53BB\u961F\u5C3E\uFF0C\u5176\u4ED6\u4EBA\u524D\u8FDB\u4E00\u6B65\n   * Front: rotate bottom-right + fade \u2192 parked (\u961F\u672B)\n   * behind-1 \u2192 front, behind-2 \u2192 behind-1, \u2026\n   */\n  function goNext() {\n    if (animating || total < 2) return;\n\n    const fromFront = activeIndex;\n    const toFront = mod(fromFront + 1, total);\n    const fromMap = roleMap(fromFront);\n    const toMap = roleMap(toFront);\n    const outgoing = card(fromFront);\n    const incoming = card(toFront);\n\n    animating = true;\n    stack.classList.add('is-animating', 'is-animating-next');\n\n    if (reduceMotion.matches) {\n      activeIndex = toFront;\n      settle(toMap);\n      return;\n    }\n\n    fromMap.forEach((role, item) => writePose(item, role, false));\n    void stack.offsetWidth;\n\n    requestAnimationFrame(() => {\n      // Rest of the line steps forward into new slots\n      toMap.forEach((role, item) => {\n        if (item === outgoing) return;\n        writePose(item, role, true);\n        if (item === incoming) item.style.zIndex = '10';\n      });\n\n      // \u961F\u9996 \u2192 \u961F\u672B\uFF1A\u53F3\u4E0B\u65CB\u8F6C\u6E10\u6E10\u6D88\u5931\n      writePose(outgoing, 'is-parked', true);\n      outgoing.style.zIndex = '12';\n\n      activeIndex = toFront;\n      applyClasses(toMap);\n\n      // Keep inline poses for the tween\n      toMap.forEach((role, item) => {\n        if (item === outgoing) return;\n        const pose = POSES[role];\n        item.style.transition =\n          'transform ' + DURATION + 'ms ' + EASING + ', opacity ' + DURATION + 'ms ' + EASING;\n        item.style.transform = pose.transform;\n        item.style.opacity = pose.opacity;\n        item.style.zIndex = item === incoming ? '10' : pose.zIndex;\n      });\n      writePose(outgoing, 'is-parked', true);\n      outgoing.style.zIndex = '12';\n\n      finishNext(toMap, outgoing);\n    });\n  }\n\n  /**\n   * Prev \u2014 \u961F\u672B\u63D2\u5230\u961F\u9996\uFF0C\u5176\u4ED6\u4EBA\u540E\u9000\u4E00\u6B65\n   * Incoming (old end / new front): from parked \u2192 active\n   * Current front \u2192 steps back to behind-1, etc.\n   */\n  function goPrev() {\n    if (animating || total < 2) return;\n\n    const fromFront = activeIndex;\n    const toFront = mod(fromFront - 1, total);\n    const fromMap = roleMap(fromFront);\n    const toMap = roleMap(toFront);\n    const outgoing = card(fromFront);\n    const incoming = card(toFront);\n\n    animating = true;\n    stack.classList.add('is-animating', 'is-animating-prev');\n\n    if (reduceMotion.matches) {\n      activeIndex = toFront;\n      settle(toMap);\n      return;\n    }\n\n    fromMap.forEach((role, item) => writePose(item, role, false));\n\n    // \u961F\u672B\u7684\u4EBA\u5148\u7AD9\u5230\u53F3\u4E0B\u5F85\u547D\uFF0C\u518D\u63D2\u5230\u961F\u9996\n    writePose(incoming, 'is-parked', false);\n    incoming.style.zIndex = '11';\n    void stack.offsetWidth;\n\n    requestAnimationFrame(() => {\n      toMap.forEach((role, item) => writePose(item, role, true));\n\n      // \u4ECE\u53F3\u4E0B\u65CB\u8F6C\u5230\u4E2D\u5FC3\u6E10\u6E10\u663E\u793A\n      incoming.style.zIndex = '12';\n      // \u5176\u4ED6\u4EBA\u540E\u9000\uFF08\u7F29\u5C0F\u8FDB\u5806\u53E0\uFF09\n      outgoing.style.zIndex = '5';\n\n      activeIndex = toFront;\n      applyClasses(toMap);\n\n      toMap.forEach((role, item) => {\n        const pose = POSES[role];\n        item.style.transition =\n          'transform ' + DURATION + 'ms ' + EASING + ', opacity ' + DURATION + 'ms ' + EASING;\n        item.style.transform = pose.transform;\n        item.style.opacity = pose.opacity;\n        item.style.zIndex =\n          item === incoming ? '12' : item === outgoing ? '5' : pose.zIndex;\n      });\n\n      finishAfter(toMap);\n    });\n  }\n\n  function stopAutoplay() {\n    if (intervalId) {\n      clearInterval(intervalId);\n      intervalId = null;\n    }\n  }\n\n  function startAutoplay() {\n    stopAutoplay();\n    if (reduceMotion.matches || autoplayMs <= 0 || total < 2) return;\n    intervalId = setInterval(goNext, autoplayMs);\n  }\n\n  if (prevBtn) {\n    prevBtn.addEventListener('click', () => {\n      goPrev();\n      startAutoplay();\n    });\n  }\n\n  if (nextBtn) {\n    nextBtn.addEventListener('click', () => {\n      goNext();\n      startAutoplay();\n    });\n  }\n\n  stack.addEventListener('click', (event) => {\n    if (event.target.closest('[data-community-item].is-active')) {\n      goNext();\n      startAutoplay();\n    }\n  });\n\n  [stack, controls].forEach((el) => {\n    if (!el) return;\n    el.addEventListener('mouseenter', stopAutoplay);\n    el.addEventListener('mouseleave', startAutoplay);\n  });\n\n  if (typeof reduceMotion.addEventListener === 'function') {\n    reduceMotion.addEventListener('change', () => {\n      syncVideos();\n      startAutoplay();\n    });\n  }\n\n  items.forEach((item) => {\n    item.classList.remove('level-0', 'level-1', 'level-2', 'level-3');\n    item.style.transformOrigin = 'left center';\n  });\n\n  applyClasses(roleMap(activeIndex));\n  syncVideos();\n  startAutoplay();\n})();\n"],
  "mappings": "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",
  "names": []
}
