{"version":3,"sources":["jsdelivr-header.js","/npm/@zag-js/carousel@1.41.2/dist/carousel.anatomy.mjs","/npm/@zag-js/carousel@1.41.2/dist/carousel.dom.mjs","/npm/@zag-js/carousel@1.41.2/dist/carousel.connect.mjs","/npm/@zag-js/carousel@1.41.2/dist/carousel.machine.mjs","/npm/@zag-js/carousel@1.41.2/dist/carousel.props.mjs"],"names":[],"mappings":"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","file":"/npm/@zag-js/carousel@1.41.2/dist/index.mjs/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.48.0.\n * Original file: /npm/@zag-js/carousel@1.41.2/dist/index.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// src/carousel.anatomy.ts\nimport { createAnatomy } from \"@zag-js/anatomy\";\nvar anatomy = createAnatomy(\"carousel\").parts(\n  \"root\",\n  \"itemGroup\",\n  \"item\",\n  \"control\",\n  \"nextTrigger\",\n  \"prevTrigger\",\n  \"indicatorGroup\",\n  \"indicator\",\n  \"autoplayTrigger\",\n  \"progressText\"\n);\nvar parts = anatomy.build();\nexport {\n  anatomy,\n  parts\n};\n","// src/carousel.dom.ts\nimport { getTabbables, queryAll } from \"@zag-js/dom-query\";\nvar getRootId = (ctx) => ctx.ids?.root ?? `carousel:${ctx.id}`;\nvar getItemId = (ctx, index) => ctx.ids?.item?.(index) ?? `carousel:${ctx.id}:item:${index}`;\nvar getItemGroupId = (ctx) => ctx.ids?.itemGroup ?? `carousel:${ctx.id}:item-group`;\nvar getNextTriggerId = (ctx) => ctx.ids?.nextTrigger ?? `carousel:${ctx.id}:next-trigger`;\nvar getPrevTriggerId = (ctx) => ctx.ids?.prevTrigger ?? `carousel:${ctx.id}:prev-trigger`;\nvar getIndicatorGroupId = (ctx) => ctx.ids?.indicatorGroup ?? `carousel:${ctx.id}:indicator-group`;\nvar getIndicatorId = (ctx, index) => ctx.ids?.indicator?.(index) ?? `carousel:${ctx.id}:indicator:${index}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getItemGroupEl = (ctx) => ctx.getById(getItemGroupId(ctx));\nvar getItemEl = (ctx, index) => ctx.getById(getItemId(ctx, index));\nvar getItemEls = (ctx) => queryAll(getItemGroupEl(ctx), `[data-part=item]`);\nvar getIndicatorEl = (ctx, page) => ctx.getById(getIndicatorId(ctx, page));\nvar syncTabIndex = (ctx) => {\n  const el = getItemGroupEl(ctx);\n  if (!el) return;\n  const tabbables = getTabbables(el);\n  el.setAttribute(\"tabindex\", tabbables.length > 0 ? \"-1\" : \"0\");\n};\nexport {\n  getIndicatorEl,\n  getIndicatorGroupId,\n  getIndicatorId,\n  getItemEl,\n  getItemEls,\n  getItemGroupEl,\n  getItemGroupId,\n  getItemId,\n  getNextTriggerId,\n  getPrevTriggerId,\n  getRootEl,\n  getRootId,\n  syncTabIndex\n};\n","// src/carousel.connect.ts\nimport { ariaAttr, contains, dataAttr, getEventKey, getEventTarget, isFocusable, isLeftClick } from \"@zag-js/dom-query\";\nimport { clampValue, throttle } from \"@zag-js/utils\";\nimport { parts } from \"./carousel.anatomy.mjs\";\nimport * as dom from \"./carousel.dom.mjs\";\nfunction connect(service, normalize) {\n  const { state, context, computed, send, scope, prop } = service;\n  const isPlaying = state.matches(\"autoplay\");\n  const isDragging = state.matches(\"dragging\");\n  const canScrollNext = computed(\"canScrollNext\");\n  const canScrollPrev = computed(\"canScrollPrev\");\n  const horizontal = computed(\"isHorizontal\");\n  const autoSize = prop(\"autoSize\");\n  const pageSnapPoints = Array.from(context.get(\"pageSnapPoints\"));\n  const page = context.get(\"page\");\n  const activePage = pageSnapPoints.length ? clampValue(page, 0, pageSnapPoints.length - 1) : 0;\n  const slidesPerPage = prop(\"slidesPerPage\");\n  const padding = prop(\"padding\");\n  const translations = prop(\"translations\");\n  return {\n    isPlaying,\n    isDragging,\n    page: activePage,\n    pageSnapPoints,\n    canScrollNext,\n    canScrollPrev,\n    getProgress() {\n      return activePage / pageSnapPoints.length;\n    },\n    getProgressText() {\n      const details = { page: activePage + 1, totalPages: pageSnapPoints.length };\n      return translations.progressText?.(details) ?? \"\";\n    },\n    scrollToIndex(index, instant) {\n      send({ type: \"INDEX.SET\", index, instant });\n    },\n    scrollTo(index, instant) {\n      send({ type: \"PAGE.SET\", index, instant });\n    },\n    scrollNext(instant) {\n      send({ type: \"PAGE.NEXT\", instant });\n    },\n    scrollPrev(instant) {\n      send({ type: \"PAGE.PREV\", instant });\n    },\n    play() {\n      send({ type: \"AUTOPLAY.START\" });\n    },\n    pause() {\n      send({ type: \"AUTOPLAY.PAUSE\" });\n    },\n    isInView(index) {\n      return Array.from(context.get(\"slidesInView\")).includes(index);\n    },\n    refresh() {\n      send({ type: \"SNAP.REFRESH\" });\n    },\n    getRootProps() {\n      return normalize.element({\n        ...parts.root.attrs,\n        id: dom.getRootId(scope),\n        role: \"region\",\n        \"aria-roledescription\": \"carousel\",\n        \"data-orientation\": prop(\"orientation\"),\n        dir: prop(\"dir\"),\n        style: {\n          \"--slides-per-page\": slidesPerPage,\n          \"--slide-spacing\": prop(\"spacing\"),\n          \"--slide-item-size\": autoSize ? \"auto\" : \"calc(100% / var(--slides-per-page) - var(--slide-spacing) * (var(--slides-per-page) - 1) / var(--slides-per-page))\"\n        }\n      });\n    },\n    getItemGroupProps() {\n      return normalize.element({\n        ...parts.itemGroup.attrs,\n        id: dom.getItemGroupId(scope),\n        \"data-orientation\": prop(\"orientation\"),\n        \"data-dragging\": dataAttr(isDragging),\n        dir: prop(\"dir\"),\n        \"aria-live\": isPlaying ? \"off\" : \"polite\",\n        onFocus(event) {\n          if (!contains(event.currentTarget, getEventTarget(event))) return;\n          send({ type: \"VIEWPORT.FOCUS\" });\n        },\n        onBlur(event) {\n          if (contains(event.currentTarget, event.relatedTarget)) return;\n          send({ type: \"VIEWPORT.BLUR\" });\n        },\n        onMouseDown(event) {\n          if (event.defaultPrevented) return;\n          if (!prop(\"allowMouseDrag\")) return;\n          if (!isLeftClick(event)) return;\n          const target = getEventTarget(event);\n          if (isFocusable(target) && target !== event.currentTarget) return;\n          event.preventDefault();\n          send({ type: \"DRAGGING.START\" });\n        },\n        onWheel: throttle((event) => {\n          const axis = prop(\"orientation\") === \"horizontal\" ? \"deltaX\" : \"deltaY\";\n          const isScrollingLeft = event[axis] < 0;\n          if (isScrollingLeft && !computed(\"canScrollPrev\")) return;\n          const isScrollingRight = event[axis] > 0;\n          if (isScrollingRight && !computed(\"canScrollNext\")) return;\n          send({ type: \"USER.SCROLL\" });\n        }, 150),\n        onTouchStart() {\n          send({ type: \"USER.SCROLL\" });\n        },\n        style: {\n          display: autoSize ? \"flex\" : \"grid\",\n          gap: \"var(--slide-spacing)\",\n          scrollSnapType: [horizontal ? \"x\" : \"y\", prop(\"snapType\")].join(\" \"),\n          gridAutoFlow: horizontal ? \"column\" : \"row\",\n          scrollbarWidth: \"none\",\n          overscrollBehaviorX: \"contain\",\n          [horizontal ? \"gridAutoColumns\" : \"gridAutoRows\"]: autoSize ? void 0 : \"var(--slide-item-size)\",\n          [horizontal ? \"scrollPaddingInline\" : \"scrollPaddingBlock\"]: padding,\n          [horizontal ? \"paddingInline\" : \"paddingBlock\"]: padding,\n          [horizontal ? \"overflowX\" : \"overflowY\"]: \"auto\"\n        }\n      });\n    },\n    getItemProps(props) {\n      const isInView = context.get(\"slidesInView\").includes(props.index);\n      return normalize.element({\n        ...parts.item.attrs,\n        id: dom.getItemId(scope, props.index),\n        dir: prop(\"dir\"),\n        role: \"group\",\n        \"data-index\": props.index,\n        \"data-inview\": dataAttr(isInView),\n        \"aria-roledescription\": \"slide\",\n        \"data-orientation\": prop(\"orientation\"),\n        \"aria-label\": translations.item(props.index, prop(\"slideCount\")),\n        \"aria-hidden\": ariaAttr(!isInView),\n        style: {\n          flex: \"0 0 auto\",\n          [horizontal ? \"maxWidth\" : \"maxHeight\"]: \"100%\",\n          scrollSnapAlign: (() => {\n            const snapAlign = props.snapAlign ?? \"start\";\n            const slidesPerMove = prop(\"slidesPerMove\");\n            const perMove = slidesPerMove === \"auto\" ? Math.floor(prop(\"slidesPerPage\")) : slidesPerMove;\n            const shouldSnap = (props.index + perMove) % perMove === 0;\n            return shouldSnap ? snapAlign : void 0;\n          })()\n        }\n      });\n    },\n    getControlProps() {\n      return normalize.element({\n        ...parts.control.attrs,\n        \"data-orientation\": prop(\"orientation\")\n      });\n    },\n    getPrevTriggerProps() {\n      return normalize.button({\n        ...parts.prevTrigger.attrs,\n        id: dom.getPrevTriggerId(scope),\n        type: \"button\",\n        disabled: !canScrollPrev,\n        dir: prop(\"dir\"),\n        \"aria-label\": translations.prevTrigger,\n        \"data-orientation\": prop(\"orientation\"),\n        \"aria-controls\": dom.getItemGroupId(scope),\n        onClick(event) {\n          if (event.defaultPrevented) return;\n          send({ type: \"PAGE.PREV\", src: \"trigger\" });\n        }\n      });\n    },\n    getNextTriggerProps() {\n      return normalize.button({\n        ...parts.nextTrigger.attrs,\n        dir: prop(\"dir\"),\n        id: dom.getNextTriggerId(scope),\n        type: \"button\",\n        \"aria-label\": translations.nextTrigger,\n        \"data-orientation\": prop(\"orientation\"),\n        \"aria-controls\": dom.getItemGroupId(scope),\n        disabled: !canScrollNext,\n        onClick(event) {\n          if (event.defaultPrevented) return;\n          send({ type: \"PAGE.NEXT\", src: \"trigger\" });\n        }\n      });\n    },\n    getIndicatorGroupProps() {\n      return normalize.element({\n        ...parts.indicatorGroup.attrs,\n        dir: prop(\"dir\"),\n        id: dom.getIndicatorGroupId(scope),\n        \"data-orientation\": prop(\"orientation\"),\n        onKeyDown(event) {\n          if (event.defaultPrevented) return;\n          const src = \"indicator\";\n          const keyMap = {\n            ArrowDown(event2) {\n              if (horizontal) return;\n              send({ type: \"PAGE.NEXT\", src });\n              event2.preventDefault();\n            },\n            ArrowUp(event2) {\n              if (horizontal) return;\n              send({ type: \"PAGE.PREV\", src });\n              event2.preventDefault();\n            },\n            ArrowRight(event2) {\n              if (!horizontal) return;\n              send({ type: \"PAGE.NEXT\", src });\n              event2.preventDefault();\n            },\n            ArrowLeft(event2) {\n              if (!horizontal) return;\n              send({ type: \"PAGE.PREV\", src });\n              event2.preventDefault();\n            },\n            Home(event2) {\n              send({ type: \"PAGE.SET\", index: 0, src });\n              event2.preventDefault();\n            },\n            End(event2) {\n              send({ type: \"PAGE.SET\", index: pageSnapPoints.length - 1, src });\n              event2.preventDefault();\n            }\n          };\n          const key = getEventKey(event, {\n            dir: prop(\"dir\"),\n            orientation: prop(\"orientation\")\n          });\n          const exec = keyMap[key];\n          exec?.(event);\n        }\n      });\n    },\n    getIndicatorProps(props) {\n      return normalize.button({\n        ...parts.indicator.attrs,\n        dir: prop(\"dir\"),\n        id: dom.getIndicatorId(scope, props.index),\n        type: \"button\",\n        \"data-orientation\": prop(\"orientation\"),\n        \"data-index\": props.index,\n        \"data-readonly\": dataAttr(props.readOnly),\n        \"data-current\": dataAttr(props.index === activePage),\n        \"aria-label\": translations.indicator(props.index),\n        onClick(event) {\n          if (event.defaultPrevented) return;\n          if (props.readOnly) return;\n          send({ type: \"PAGE.SET\", index: props.index, src: \"indicator\" });\n        }\n      });\n    },\n    getAutoplayTriggerProps() {\n      return normalize.button({\n        ...parts.autoplayTrigger.attrs,\n        type: \"button\",\n        \"data-orientation\": prop(\"orientation\"),\n        \"data-pressed\": dataAttr(isPlaying),\n        \"aria-label\": isPlaying ? translations.autoplayStop : translations.autoplayStart,\n        onClick(event) {\n          if (event.defaultPrevented) return;\n          send({ type: isPlaying ? \"AUTOPLAY.PAUSE\" : \"AUTOPLAY.START\" });\n        }\n      });\n    },\n    getProgressTextProps() {\n      return normalize.element({\n        ...parts.progressText.attrs\n      });\n    }\n  };\n}\nexport {\n  connect\n};\n","// src/carousel.machine.ts\nimport { createMachine } from \"@zag-js/core\";\nimport { addDomEvent, raf, resizeObserverBorderBox, trackPointerMove } from \"@zag-js/dom-query\";\nimport { findSnapPoint, getScrollSnapPositions } from \"@zag-js/scroll-snap\";\nimport { add, callAll, clampValue, ensureProps, isObject, nextIndex, prevIndex, remove, uniq } from \"@zag-js/utils\";\nimport * as dom from \"./carousel.dom.mjs\";\nvar DRIFT_THRESHOLD = 1;\nvar machine = createMachine({\n  props({ props }) {\n    ensureProps(props, [\"slideCount\"], \"carousel\");\n    return {\n      dir: \"ltr\",\n      defaultPage: 0,\n      orientation: \"horizontal\",\n      snapType: \"mandatory\",\n      loop: !!props.autoplay,\n      slidesPerPage: 1,\n      slidesPerMove: \"auto\",\n      spacing: \"0px\",\n      autoplay: false,\n      allowMouseDrag: false,\n      inViewThreshold: 0.6,\n      autoSize: false,\n      ...props,\n      translations: {\n        nextTrigger: \"Next slide\",\n        prevTrigger: \"Previous slide\",\n        indicator: (index) => `Go to slide ${index + 1}`,\n        item: (index, count) => `${index + 1} of ${count}`,\n        autoplayStart: \"Start slide rotation\",\n        autoplayStop: \"Stop slide rotation\",\n        progressText: ({ page, totalPages }) => `${page} / ${totalPages}`,\n        ...props.translations\n      }\n    };\n  },\n  refs() {\n    return {\n      timeoutRef: void 0\n    };\n  },\n  initialState({ prop }) {\n    return prop(\"autoplay\") ? \"autoplay\" : \"idle\";\n  },\n  context({ prop, bindable, getContext }) {\n    return {\n      page: bindable(() => ({\n        defaultValue: prop(\"defaultPage\"),\n        value: prop(\"page\"),\n        onChange(page) {\n          const ctx = getContext();\n          const pageSnapPoints = ctx.get(\"pageSnapPoints\");\n          prop(\"onPageChange\")?.({ page, pageSnapPoint: pageSnapPoints[page] });\n        }\n      })),\n      pageSnapPoints: bindable(() => {\n        return {\n          defaultValue: prop(\"autoSize\") ? Array.from({ length: prop(\"slideCount\") }, (_, i) => i) : getPageSnapPoints(prop(\"slideCount\"), prop(\"slidesPerMove\"), prop(\"slidesPerPage\"))\n        };\n      }),\n      slidesInView: bindable(() => ({\n        defaultValue: []\n      }))\n    };\n  },\n  computed: {\n    isRtl: ({ prop }) => prop(\"dir\") === \"rtl\",\n    isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\",\n    canScrollNext: ({ prop, context }) => prop(\"loop\") || context.get(\"page\") < context.get(\"pageSnapPoints\").length - 1,\n    canScrollPrev: ({ prop, context }) => prop(\"loop\") || context.get(\"page\") > 0,\n    autoplayInterval: ({ prop }) => {\n      const autoplay = prop(\"autoplay\");\n      return isObject(autoplay) ? autoplay.delay : 4e3;\n    }\n  },\n  watch({ track, action, context, prop, send }) {\n    track([() => prop(\"slidesPerPage\"), () => prop(\"slidesPerMove\")], () => {\n      action([\"setSnapPoints\"]);\n    });\n    track([() => context.get(\"page\")], () => {\n      action([\"scrollToPage\", \"focusIndicatorEl\"]);\n    });\n    track([() => prop(\"orientation\"), () => prop(\"autoSize\"), () => prop(\"dir\")], () => {\n      action([\"setSnapPoints\", \"scrollToPage\"]);\n    });\n    track([() => prop(\"slideCount\")], () => {\n      send({ type: \"SNAP.REFRESH\", src: \"slide.count\" });\n    });\n    track([() => !!prop(\"autoplay\")], () => {\n      send({ type: prop(\"autoplay\") ? \"AUTOPLAY.START\" : \"AUTOPLAY.PAUSE\", src: \"autoplay.prop.change\" });\n    });\n  },\n  on: {\n    \"PAGE.NEXT\": {\n      target: \"idle\",\n      actions: [\"clearScrollEndTimer\", \"setNextPage\"]\n    },\n    \"PAGE.PREV\": {\n      target: \"idle\",\n      actions: [\"clearScrollEndTimer\", \"setPrevPage\"]\n    },\n    \"PAGE.SET\": {\n      target: \"idle\",\n      actions: [\"clearScrollEndTimer\", \"setPage\"]\n    },\n    \"INDEX.SET\": {\n      target: \"idle\",\n      actions: [\"clearScrollEndTimer\", \"setMatchingPage\"]\n    },\n    \"SNAP.REFRESH\": {\n      actions: [\"setSnapPoints\", \"scrollToPageIfDrifted\"]\n    },\n    \"PAGE.SCROLL\": {\n      actions: [\"scrollToPage\"]\n    }\n  },\n  effects: [\"trackSlideMutation\", \"trackSlideIntersections\", \"trackSlideResize\"],\n  entry: [\"setSnapPoints\", \"setPage\"],\n  exit: [\"clearScrollEndTimer\"],\n  states: {\n    idle: {\n      on: {\n        \"DRAGGING.START\": {\n          target: \"dragging\",\n          actions: [\"invokeDragStart\"]\n        },\n        \"AUTOPLAY.START\": {\n          target: \"autoplay\",\n          actions: [\"invokeAutoplayStart\"]\n        },\n        \"USER.SCROLL\": {\n          target: \"userScroll\"\n        },\n        \"VIEWPORT.FOCUS\": {\n          target: \"focus\"\n        }\n      }\n    },\n    focus: {\n      effects: [\"trackKeyboardScroll\"],\n      on: {\n        \"VIEWPORT.BLUR\": {\n          target: \"idle\"\n        },\n        \"PAGE.NEXT\": {\n          actions: [\"clearScrollEndTimer\", \"setNextPage\"]\n        },\n        \"PAGE.PREV\": {\n          actions: [\"clearScrollEndTimer\", \"setPrevPage\"]\n        },\n        \"PAGE.SET\": {\n          actions: [\"clearScrollEndTimer\", \"setPage\"]\n        },\n        \"INDEX.SET\": {\n          actions: [\"clearScrollEndTimer\", \"setMatchingPage\"]\n        },\n        \"USER.SCROLL\": {\n          target: \"userScroll\"\n        }\n      }\n    },\n    dragging: {\n      effects: [\"trackPointerMove\"],\n      entry: [\"disableScrollSnap\"],\n      on: {\n        DRAGGING: {\n          actions: [\"scrollSlides\", \"invokeDragging\"]\n        },\n        \"DRAGGING.END\": {\n          target: \"settling\",\n          actions: [\"endDragging\"]\n        }\n      }\n    },\n    settling: {\n      effects: [\"trackSettlingScroll\"],\n      on: {\n        \"DRAGGING.START\": {\n          target: \"dragging\",\n          actions: [\"clearScrollEndTimer\", \"invokeDragStart\"]\n        },\n        \"SCROLL.END\": [\n          {\n            guard: \"isFocused\",\n            target: \"focus\",\n            actions: [\"clearScrollEndTimer\", \"setClosestPage\", \"invokeDraggingEnd\"]\n          },\n          {\n            target: \"idle\",\n            actions: [\"clearScrollEndTimer\", \"setClosestPage\", \"invokeDraggingEnd\"]\n          }\n        ]\n      }\n    },\n    userScroll: {\n      effects: [\"trackScroll\"],\n      on: {\n        \"DRAGGING.START\": {\n          target: \"dragging\",\n          actions: [\"invokeDragStart\"]\n        },\n        \"SCROLL.END\": [\n          {\n            guard: \"isFocused\",\n            target: \"focus\",\n            actions: [\"setClosestPage\"]\n          },\n          {\n            target: \"idle\",\n            actions: [\"setClosestPage\"]\n          }\n        ]\n      }\n    },\n    autoplay: {\n      effects: [\"trackDocumentVisibility\", \"trackScroll\", \"autoUpdateSlide\"],\n      exit: [\"invokeAutoplayEnd\"],\n      on: {\n        \"AUTOPLAY.TICK\": {\n          actions: [\"setNextPage\", \"invokeAutoplay\"]\n        },\n        \"DRAGGING.START\": {\n          target: \"dragging\",\n          actions: [\"invokeDragStart\"]\n        },\n        \"AUTOPLAY.PAUSE\": {\n          target: \"idle\"\n        }\n      }\n    }\n  },\n  implementations: {\n    guards: {\n      isFocused: ({ scope }) => scope.isActiveElement(dom.getItemGroupEl(scope))\n    },\n    effects: {\n      autoUpdateSlide({ computed, send }) {\n        const id = setInterval(() => {\n          send({\n            type: computed(\"canScrollNext\") ? \"AUTOPLAY.TICK\" : \"AUTOPLAY.PAUSE\",\n            src: \"autoplay.interval\"\n          });\n        }, computed(\"autoplayInterval\"));\n        return () => clearInterval(id);\n      },\n      trackSlideMutation({ scope, send }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const win = scope.getWin();\n        const observer = new win.MutationObserver(() => {\n          send({ type: \"SNAP.REFRESH\", src: \"slide.mutation\" });\n          dom.syncTabIndex(scope);\n        });\n        dom.syncTabIndex(scope);\n        observer.observe(el, { childList: true, subtree: true });\n        return () => observer.disconnect();\n      },\n      trackSlideResize({ scope, send }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const exec = () => {\n          send({ type: \"SNAP.REFRESH\", src: \"slide.resize\" });\n        };\n        raf(() => {\n          exec();\n          raf(() => {\n            send({ type: \"PAGE.SCROLL\", instant: true });\n          });\n        });\n        const itemEls = dom.getItemEls(scope);\n        itemEls.forEach(exec);\n        const cleanups = [\n          resizeObserverBorderBox.observe(el, exec),\n          ...itemEls.map((el2) => resizeObserverBorderBox.observe(el2, exec))\n        ];\n        return callAll(...cleanups);\n      },\n      trackSlideIntersections({ scope, prop, context }) {\n        const el = dom.getItemGroupEl(scope);\n        const win = scope.getWin();\n        const observer = new win.IntersectionObserver(\n          (entries) => {\n            const slidesInView = entries.reduce((acc, entry) => {\n              const target = entry.target;\n              const index = Number(target.dataset.index ?? \"-1\");\n              if (index == null || Number.isNaN(index) || index === -1) return acc;\n              return entry.isIntersecting ? add(acc, index) : remove(acc, index);\n            }, context.get(\"slidesInView\"));\n            context.set(\"slidesInView\", uniq(slidesInView));\n          },\n          {\n            root: el,\n            threshold: prop(\"inViewThreshold\")\n          }\n        );\n        dom.getItemEls(scope).forEach((slide) => observer.observe(slide));\n        return () => observer.disconnect();\n      },\n      trackScroll({ send, refs, scope }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const onScroll = () => {\n          clearTimeout(refs.get(\"timeoutRef\"));\n          refs.set(\"timeoutRef\", void 0);\n          refs.set(\n            \"timeoutRef\",\n            setTimeout(() => {\n              send({ type: \"SCROLL.END\" });\n            }, 150)\n          );\n        };\n        return addDomEvent(el, \"scroll\", onScroll, { passive: true });\n      },\n      trackSettlingScroll({ send, refs, scope }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const startTimer = () => {\n          clearTimeout(refs.get(\"timeoutRef\"));\n          refs.set(\"timeoutRef\", void 0);\n          refs.set(\n            \"timeoutRef\",\n            setTimeout(() => {\n              send({ type: \"SCROLL.END\" });\n            }, 200)\n          );\n        };\n        startTimer();\n        const onScroll = () => {\n          startTimer();\n        };\n        const cleanup = addDomEvent(el, \"scroll\", onScroll, { passive: true });\n        return () => {\n          cleanup();\n          clearTimeout(refs.get(\"timeoutRef\"));\n          refs.set(\"timeoutRef\", void 0);\n        };\n      },\n      trackDocumentVisibility({ scope, send }) {\n        const doc = scope.getDoc();\n        const onVisibilityChange = () => {\n          if (doc.visibilityState === \"visible\") return;\n          send({ type: \"AUTOPLAY.PAUSE\", src: \"doc.hidden\" });\n        };\n        return addDomEvent(doc, \"visibilitychange\", onVisibilityChange);\n      },\n      trackPointerMove({ scope, send }) {\n        const doc = scope.getDoc();\n        return trackPointerMove(doc, {\n          onPointerMove({ event }) {\n            send({ type: \"DRAGGING\", left: -event.movementX, top: -event.movementY });\n          },\n          onPointerUp() {\n            send({ type: \"DRAGGING.END\" });\n          }\n        });\n      },\n      trackKeyboardScroll({ scope, send, context }) {\n        const win = scope.getWin();\n        const onKeyDown = (event) => {\n          switch (event.key) {\n            case \"ArrowRight\":\n              event.preventDefault();\n              send({ type: \"PAGE.NEXT\" });\n              break;\n            case \"ArrowLeft\":\n              event.preventDefault();\n              send({ type: \"PAGE.PREV\" });\n              break;\n            case \"Home\":\n              event.preventDefault();\n              send({ type: \"PAGE.SET\", index: 0 });\n              break;\n            case \"End\":\n              event.preventDefault();\n              send({ type: \"PAGE.SET\", index: context.get(\"pageSnapPoints\").length - 1 });\n          }\n        };\n        return addDomEvent(win, \"keydown\", onKeyDown, { capture: true });\n      }\n    },\n    actions: {\n      clearScrollEndTimer({ refs }) {\n        if (refs.get(\"timeoutRef\") == null) return;\n        clearTimeout(refs.get(\"timeoutRef\"));\n        refs.set(\"timeoutRef\", void 0);\n      },\n      scrollToPage({ context, event, scope, computed, flush }) {\n        const behavior = event.instant ? \"instant\" : \"smooth\";\n        const index = clampValue(event.index ?? context.get(\"page\"), 0, context.get(\"pageSnapPoints\").length - 1);\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const axis = computed(\"isHorizontal\") ? \"left\" : \"top\";\n        flush(() => {\n          el.scrollTo({ [axis]: context.get(\"pageSnapPoints\")[index], behavior });\n        });\n      },\n      scrollToPageIfDrifted({ context, scope, computed }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const snapPoint = context.get(\"pageSnapPoints\")[context.get(\"page\")];\n        if (snapPoint == null) return;\n        const scrollPos = computed(\"isHorizontal\") ? el.scrollLeft : el.scrollTop;\n        if (Math.abs(scrollPos - snapPoint) <= DRIFT_THRESHOLD) return;\n        const axis = computed(\"isHorizontal\") ? \"left\" : \"top\";\n        el.scrollTo({ [axis]: snapPoint, behavior: \"instant\" });\n      },\n      setClosestPage({ context, scope, computed }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const scrollPosition = computed(\"isHorizontal\") ? el.scrollLeft : el.scrollTop;\n        const snapPoints = context.get(\"pageSnapPoints\");\n        if (!snapPoints.length) return;\n        const page = snapPoints.reduce((closestIndex, snapPoint, index) => {\n          const currentDistance = Math.abs(snapPoint - scrollPosition);\n          const closestDistance = Math.abs(snapPoints[closestIndex] - scrollPosition);\n          return currentDistance < closestDistance ? index : closestIndex;\n        }, 0);\n        context.set(\"page\", page);\n      },\n      setNextPage({ context, prop, state }) {\n        const loop = state.matches(\"autoplay\") || prop(\"loop\");\n        const page = nextIndex(context.get(\"pageSnapPoints\"), context.get(\"page\"), { loop });\n        context.set(\"page\", page);\n      },\n      setPrevPage({ context, prop, state }) {\n        const loop = state.matches(\"autoplay\") || prop(\"loop\");\n        const page = prevIndex(context.get(\"pageSnapPoints\"), context.get(\"page\"), { loop });\n        context.set(\"page\", page);\n      },\n      setMatchingPage({ context, event, computed, scope }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const snapPoint = findSnapPoint(\n          el,\n          computed(\"isHorizontal\") ? \"x\" : \"y\",\n          (node) => node.dataset.index === event.index.toString()\n        );\n        if (snapPoint == null) return;\n        const page = context.get(\"pageSnapPoints\").findIndex((point) => Math.abs(point - snapPoint) < 1);\n        context.set(\"page\", page);\n      },\n      setPage({ context, event }) {\n        const page = event.index ?? context.get(\"page\");\n        context.set(\"page\", page);\n      },\n      setSnapPoints({ context, computed, scope }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const scrollSnapPoints = getScrollSnapPositions(el);\n        const pageSnapPoints = computed(\"isHorizontal\") ? scrollSnapPoints.x : scrollSnapPoints.y;\n        context.set(\"pageSnapPoints\", pageSnapPoints);\n        if (!pageSnapPoints.length) return;\n        const index = clampValue(context.get(\"page\"), 0, pageSnapPoints.length - 1);\n        context.set(\"page\", index);\n      },\n      disableScrollSnap({ scope }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const styles = getComputedStyle(el);\n        el.dataset.scrollSnapType = styles.getPropertyValue(\"scroll-snap-type\");\n        el.style.setProperty(\"scroll-snap-type\", \"none\");\n      },\n      scrollSlides({ scope, event }) {\n        const el = dom.getItemGroupEl(scope);\n        el?.scrollBy({ left: event.left, top: event.top, behavior: \"instant\" });\n      },\n      endDragging({ scope, context, computed }) {\n        const el = dom.getItemGroupEl(scope);\n        if (!el) return;\n        const isHorizontal = computed(\"isHorizontal\");\n        const scrollPos = isHorizontal ? el.scrollLeft : el.scrollTop;\n        const snapPoints = context.get(\"pageSnapPoints\");\n        if (!snapPoints.length) return;\n        const closest = snapPoints.reduce((closest2, curr) => {\n          return Math.abs(curr - scrollPos) < Math.abs(closest2 - scrollPos) ? curr : closest2;\n        }, snapPoints[0]);\n        raf(() => {\n          el.scrollTo({\n            left: isHorizontal ? closest : el.scrollLeft,\n            top: isHorizontal ? el.scrollTop : closest,\n            behavior: \"smooth\"\n          });\n          const scrollSnapType = el.dataset.scrollSnapType;\n          if (scrollSnapType) {\n            el.style.setProperty(\"scroll-snap-type\", scrollSnapType);\n            delete el.dataset.scrollSnapType;\n          }\n        });\n      },\n      focusIndicatorEl({ context, event, scope }) {\n        if (event.src !== \"indicator\") return;\n        const el = dom.getIndicatorEl(scope, context.get(\"page\"));\n        if (!el) return;\n        raf(() => el.focus({ preventScroll: true }));\n      },\n      invokeDragStart({ context, prop }) {\n        prop(\"onDragStatusChange\")?.({ type: \"dragging.start\", isDragging: true, page: context.get(\"page\") });\n      },\n      invokeDragging({ context, prop }) {\n        prop(\"onDragStatusChange\")?.({ type: \"dragging\", isDragging: true, page: context.get(\"page\") });\n      },\n      invokeDraggingEnd({ context, prop }) {\n        prop(\"onDragStatusChange\")?.({ type: \"dragging.end\", isDragging: false, page: context.get(\"page\") });\n      },\n      invokeAutoplay({ context, prop }) {\n        prop(\"onAutoplayStatusChange\")?.({ type: \"autoplay\", isPlaying: true, page: context.get(\"page\") });\n      },\n      invokeAutoplayStart({ context, prop }) {\n        prop(\"onAutoplayStatusChange\")?.({ type: \"autoplay.start\", isPlaying: true, page: context.get(\"page\") });\n      },\n      invokeAutoplayEnd({ context, prop }) {\n        prop(\"onAutoplayStatusChange\")?.({ type: \"autoplay.stop\", isPlaying: false, page: context.get(\"page\") });\n      }\n    }\n  }\n});\nfunction getPageSnapPoints(totalSlides, slidesPerMove, slidesPerPage) {\n  if (totalSlides == null || slidesPerPage <= 0) {\n    return [];\n  }\n  const snapPoints = [];\n  const perMove = slidesPerMove === \"auto\" ? Math.floor(slidesPerPage) : slidesPerMove;\n  if (perMove <= 0) {\n    return [];\n  }\n  for (let i = 0; i < totalSlides; i += perMove) {\n    if (i + slidesPerPage > totalSlides) break;\n    snapPoints.push(i);\n  }\n  return snapPoints;\n}\nexport {\n  machine\n};\n","// src/carousel.props.ts\nimport { createProps } from \"@zag-js/types\";\nimport { createSplitProps } from \"@zag-js/utils\";\nvar props = createProps()([\n  \"dir\",\n  \"getRootNode\",\n  \"id\",\n  \"ids\",\n  \"loop\",\n  \"page\",\n  \"defaultPage\",\n  \"onPageChange\",\n  \"orientation\",\n  \"slideCount\",\n  \"slidesPerPage\",\n  \"slidesPerMove\",\n  \"spacing\",\n  \"padding\",\n  \"autoplay\",\n  \"allowMouseDrag\",\n  \"inViewThreshold\",\n  \"translations\",\n  \"snapType\",\n  \"autoSize\",\n  \"onDragStatusChange\",\n  \"onAutoplayStatusChange\"\n]);\nvar splitProps = createSplitProps(props);\nvar indicatorProps = createProps()([\"index\", \"readOnly\"]);\nvar splitIndicatorProps = createSplitProps(indicatorProps);\nvar itemProps = createProps()([\"index\", \"snapAlign\"]);\nvar splitItemProps = createSplitProps(itemProps);\nexport {\n  indicatorProps,\n  itemProps,\n  props,\n  splitIndicatorProps,\n  splitItemProps,\n  splitProps\n};\n"]}