{"version":3,"file":"js/91.563f2c97.js","mappings":"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","sources":["webpack://nologo-studios-website.vue.webclient/./node_modules/vue3-carousel/dist/carousel.es.js"],"sourcesContent":["/**\n * Vue 3 Carousel 0.3.4\n * (c) 2024\n * @license MIT\n */\nimport { Fragment, defineComponent, inject, reactive, ref, h, provide, onMounted, nextTick, onUnmounted, computed, watch, cloneVNode } from 'vue';\n\nconst defaultConfigs = {\n itemsToShow: 1,\n itemsToScroll: 1,\n modelValue: 0,\n transition: 300,\n autoplay: 0,\n snapAlign: 'center',\n wrapAround: false,\n throttle: 16,\n pauseAutoplayOnHover: false,\n mouseDrag: true,\n touchDrag: true,\n dir: 'ltr',\n breakpoints: undefined,\n i18n: {\n ariaNextSlide: 'Navigate to next slide',\n ariaPreviousSlide: 'Navigate to previous slide',\n ariaNavigateToSlide: 'Navigate to slide {slideNumber}',\n ariaGallery: 'Gallery',\n itemXofY: 'Item {currentSlide} of {slidesCount}',\n iconArrowUp: 'Arrow pointing upwards',\n iconArrowDown: 'Arrow pointing downwards',\n iconArrowRight: 'Arrow pointing to the right',\n iconArrowLeft: 'Arrow pointing to the left',\n },\n};\n\nconst carouselProps = {\n // count of items to showed per view\n itemsToShow: {\n default: defaultConfigs.itemsToShow,\n type: Number,\n },\n // count of items to be scrolled\n itemsToScroll: {\n default: defaultConfigs.itemsToScroll,\n type: Number,\n },\n // control infinite scrolling mode\n wrapAround: {\n default: defaultConfigs.wrapAround,\n type: Boolean,\n },\n // control max drag\n throttle: {\n default: defaultConfigs.throttle,\n type: Number,\n },\n // control snap position alignment\n snapAlign: {\n default: defaultConfigs.snapAlign,\n validator(value) {\n // The value must match one of these strings\n return ['start', 'end', 'center', 'center-even', 'center-odd'].includes(value);\n },\n },\n // sliding transition time in ms\n transition: {\n default: defaultConfigs.transition,\n type: Number,\n },\n // an object to store breakpoints\n breakpoints: {\n default: defaultConfigs.breakpoints,\n type: Object,\n },\n // time to auto advance slides in ms\n autoplay: {\n default: defaultConfigs.autoplay,\n type: Number,\n },\n // pause autoplay when mouse hover over the carousel\n pauseAutoplayOnHover: {\n default: defaultConfigs.pauseAutoplayOnHover,\n type: Boolean,\n },\n // slide number number of initial slide\n modelValue: {\n default: undefined,\n type: Number,\n },\n // toggle mouse dragging.\n mouseDrag: {\n default: defaultConfigs.mouseDrag,\n type: Boolean,\n },\n // toggle mouse dragging.\n touchDrag: {\n default: defaultConfigs.touchDrag,\n type: Boolean,\n },\n // control snap position alignment\n dir: {\n default: defaultConfigs.dir,\n validator(value) {\n // The value must match one of these strings\n return ['rtl', 'ltr'].includes(value);\n },\n },\n // aria-labels and additional text labels\n i18n: {\n default: defaultConfigs.i18n,\n type: Object,\n },\n // an object to pass all settings\n settings: {\n default() {\n return {};\n },\n type: Object,\n },\n};\n\nfunction getMaxSlideIndex({ config, slidesCount }) {\n const { snapAlign, wrapAround, itemsToShow = 1 } = config;\n if (wrapAround) {\n return Math.max(slidesCount - 1, 0);\n }\n let output;\n switch (snapAlign) {\n case 'start':\n output = slidesCount - itemsToShow;\n break;\n case 'end':\n output = slidesCount - 1;\n break;\n case 'center':\n case 'center-odd':\n output = slidesCount - Math.ceil((itemsToShow - 0.5) / 2);\n break;\n case 'center-even':\n output = slidesCount - Math.ceil(itemsToShow / 2);\n break;\n default:\n output = 0;\n break;\n }\n return Math.max(output, 0);\n}\n\nfunction getMinSlideIndex({ config, slidesCount }) {\n const { wrapAround, snapAlign, itemsToShow = 1 } = config;\n let output = 0;\n if (wrapAround || itemsToShow > slidesCount) {\n return output;\n }\n switch (snapAlign) {\n case 'start':\n output = 0;\n break;\n case 'end':\n output = itemsToShow - 1;\n break;\n case 'center':\n case 'center-odd':\n output = Math.floor((itemsToShow - 1) / 2);\n break;\n case 'center-even':\n output = Math.floor((itemsToShow - 2) / 2);\n break;\n default:\n output = 0;\n break;\n }\n return output;\n}\n\nfunction getNumberInRange({ val, max, min }) {\n if (max < min) {\n return val;\n }\n return Math.min(Math.max(val, min), max);\n}\n\nfunction getSlidesToScroll({ config, currentSlide, slidesCount }) {\n const { snapAlign, wrapAround, itemsToShow = 1 } = config;\n let output = currentSlide;\n switch (snapAlign) {\n case 'center':\n case 'center-odd':\n output -= (itemsToShow - 1) / 2;\n break;\n case 'center-even':\n output -= (itemsToShow - 2) / 2;\n break;\n case 'end':\n output -= itemsToShow - 1;\n break;\n }\n if (wrapAround) {\n return output;\n }\n return getNumberInRange({\n val: output,\n max: slidesCount - itemsToShow,\n min: 0,\n });\n}\n\nfunction getSlidesVNodes(vNode) {\n if (!vNode)\n return [];\n return vNode.reduce((acc, node) => {\n var _a;\n if (node.type === Fragment) {\n return [...acc, ...getSlidesVNodes(node.children)];\n }\n if (((_a = node.type) === null || _a === void 0 ? void 0 : _a.name) === 'CarouselSlide') {\n return [...acc, node];\n }\n return acc;\n }, []);\n}\n\nfunction mapNumberToRange({ val, max, min = 0 }) {\n if (val > max) {\n return mapNumberToRange({ val: val - (max + 1), max, min });\n }\n if (val < min) {\n return mapNumberToRange({ val: val + (max + 1), max, min });\n }\n return val;\n}\n\n/**\n * return a throttle version of the function\n * Throttling\n *\n */\n// eslint-disable-next-line no-unused-vars\nfunction throttle(fn, limit) {\n let inThrottle;\n if (!limit) {\n return fn;\n }\n return function (...args) {\n const self = this;\n if (!inThrottle) {\n fn.apply(self, args);\n inThrottle = true;\n setTimeout(() => (inThrottle = false), limit);\n }\n };\n}\n\n/**\n * return a debounced version of the function\n * @param fn\n * @param delay\n */\n// eslint-disable-next-line no-unused-vars\nfunction debounce(fn, delay) {\n let timerId;\n return function (...args) {\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(() => {\n fn(...args);\n timerId = null;\n }, delay);\n };\n}\n\nfunction i18nFormatter(string = '', values = {}) {\n return Object.entries(values).reduce((acc, [key, value]) => acc.replace(`{${key}}`, String(value)), string);\n}\n\nvar ARIAComponent = defineComponent({\n name: 'ARIA',\n setup() {\n const config = inject('config', reactive(Object.assign({}, defaultConfigs)));\n const currentSlide = inject('currentSlide', ref(0));\n const slidesCount = inject('slidesCount', ref(0));\n return () => h('div', {\n class: ['carousel__liveregion', 'carousel__sr-only'],\n 'aria-live': 'polite',\n 'aria-atomic': 'true',\n }, i18nFormatter(config.i18n['itemXofY'], {\n currentSlide: currentSlide.value + 1,\n slidesCount: slidesCount.value,\n }));\n },\n});\n\nvar Carousel = defineComponent({\n name: 'Carousel',\n props: carouselProps,\n setup(props, { slots, emit, expose }) {\n var _a;\n const root = ref(null);\n const slides = ref([]);\n const slideWidth = ref(0);\n const slidesCount = ref(0);\n // current config\n const config = reactive(Object.assign({}, defaultConfigs));\n // default carousel configs\n let __defaultConfig = Object.assign({}, defaultConfigs);\n // breakpoints configs\n let breakpoints;\n // slides\n const currentSlideIndex = ref((_a = props.modelValue) !== null && _a !== void 0 ? _a : 0);\n const prevSlideIndex = ref(0);\n const middleSlideIndex = ref(0);\n const maxSlideIndex = ref(0);\n const minSlideIndex = ref(0);\n let autoplayTimer;\n let transitionTimer;\n provide('config', config);\n provide('slidesCount', slidesCount);\n provide('currentSlide', currentSlideIndex);\n provide('maxSlide', maxSlideIndex);\n provide('minSlide', minSlideIndex);\n provide('slideWidth', slideWidth);\n /**\n * Configs\n */\n function initDefaultConfigs() {\n breakpoints = Object.assign({}, props.breakpoints);\n __defaultConfig = Object.assign(Object.assign(Object.assign({}, __defaultConfig), props), { i18n: Object.assign(Object.assign({}, __defaultConfig.i18n), props.i18n), breakpoints: undefined });\n bindConfigs(__defaultConfig);\n }\n function updateBreakpointsConfigs() {\n if (!breakpoints || !Object.keys(breakpoints).length)\n return;\n const breakpointsArray = Object.keys(breakpoints)\n .map((key) => Number(key))\n .sort((a, b) => +b - +a);\n let newConfig = Object.assign({}, __defaultConfig);\n breakpointsArray.some((breakpoint) => {\n const isMatched = window.matchMedia(`(min-width: ${breakpoint}px)`).matches;\n if (isMatched) {\n newConfig = Object.assign(Object.assign({}, newConfig), breakpoints[breakpoint]);\n }\n return isMatched;\n });\n bindConfigs(newConfig);\n }\n function bindConfigs(newConfig) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore\n Object.entries(newConfig).forEach(([key, val]) => (config[key] = val));\n }\n const handleWindowResize = debounce(() => {\n updateBreakpointsConfigs();\n updateSlidesData();\n updateSlideWidth();\n }, 16);\n /**\n * Setup functions\n */\n function updateSlideWidth() {\n if (!root.value)\n return;\n const rect = root.value.getBoundingClientRect();\n slideWidth.value = rect.width / config.itemsToShow;\n }\n function updateSlidesData() {\n if (slidesCount.value <= 0)\n return;\n middleSlideIndex.value = Math.ceil((slidesCount.value - 1) / 2);\n maxSlideIndex.value = getMaxSlideIndex({ config, slidesCount: slidesCount.value });\n minSlideIndex.value = getMinSlideIndex({ config, slidesCount: slidesCount.value });\n if (!config.wrapAround) {\n currentSlideIndex.value = getNumberInRange({\n val: currentSlideIndex.value,\n max: maxSlideIndex.value,\n min: minSlideIndex.value,\n });\n }\n }\n onMounted(() => {\n nextTick(() => updateSlideWidth());\n // Overcome some edge cases\n setTimeout(() => updateSlideWidth(), 1000);\n updateBreakpointsConfigs();\n initAutoplay();\n window.addEventListener('resize', handleWindowResize, { passive: true });\n emit('init');\n });\n onUnmounted(() => {\n if (transitionTimer) {\n clearTimeout(transitionTimer);\n }\n if (autoplayTimer) {\n clearInterval(autoplayTimer);\n }\n window.removeEventListener('resize', handleWindowResize, {\n passive: true,\n });\n });\n /**\n * Carousel Event listeners\n */\n let isTouch = false;\n const startPosition = { x: 0, y: 0 };\n const endPosition = { x: 0, y: 0 };\n const dragged = reactive({ x: 0, y: 0 });\n const isHover = ref(false);\n const isDragging = ref(false);\n const handleMouseEnter = () => {\n isHover.value = true;\n };\n const handleMouseLeave = () => {\n isHover.value = false;\n };\n function handleDragStart(event) {\n if (['INPUT', 'TEXTAREA', 'SELECT'].includes(event.target.tagName)) {\n return;\n }\n isTouch = event.type === 'touchstart';\n if (!isTouch) {\n event.preventDefault();\n }\n if ((!isTouch && event.button !== 0) || isSliding.value) {\n return;\n }\n startPosition.x = isTouch ? event.touches[0].clientX : event.clientX;\n startPosition.y = isTouch ? event.touches[0].clientY : event.clientY;\n document.addEventListener(isTouch ? 'touchmove' : 'mousemove', handleDragging, true);\n document.addEventListener(isTouch ? 'touchend' : 'mouseup', handleDragEnd, true);\n }\n const handleDragging = throttle((event) => {\n isDragging.value = true;\n endPosition.x = isTouch ? event.touches[0].clientX : event.clientX;\n endPosition.y = isTouch ? event.touches[0].clientY : event.clientY;\n const deltaX = endPosition.x - startPosition.x;\n const deltaY = endPosition.y - startPosition.y;\n dragged.y = deltaY;\n dragged.x = deltaX;\n }, config.throttle);\n function handleDragEnd() {\n const direction = config.dir === 'rtl' ? -1 : 1;\n const tolerance = Math.sign(dragged.x) * 0.4;\n const draggedSlides = Math.round(dragged.x / slideWidth.value + tolerance) * direction;\n // Prevent clicking if there is clicked slides\n if (draggedSlides && !isTouch) {\n const captureClick = (e) => {\n window.removeEventListener('click', captureClick, true);\n };\n window.addEventListener('click', captureClick, true);\n }\n slideTo(currentSlideIndex.value - draggedSlides);\n dragged.x = 0;\n dragged.y = 0;\n isDragging.value = false;\n document.removeEventListener(isTouch ? 'touchmove' : 'mousemove', handleDragging, true);\n document.removeEventListener(isTouch ? 'touchend' : 'mouseup', handleDragEnd, true);\n }\n /**\n * Autoplay\n */\n function initAutoplay() {\n if (!config.autoplay || config.autoplay <= 0) {\n return;\n }\n autoplayTimer = setInterval(() => {\n if (config.pauseAutoplayOnHover && isHover.value) {\n return;\n }\n next();\n }, config.autoplay);\n }\n function resetAutoplay() {\n if (autoplayTimer) {\n clearInterval(autoplayTimer);\n autoplayTimer = null;\n }\n initAutoplay();\n }\n /**\n * Navigation function\n */\n const isSliding = ref(false);\n function slideTo(slideIndex) {\n const currentVal = config.wrapAround\n ? slideIndex\n : getNumberInRange({\n val: slideIndex,\n max: maxSlideIndex.value,\n min: minSlideIndex.value,\n });\n if (currentSlideIndex.value === currentVal || isSliding.value) {\n return;\n }\n emit('slide-start', {\n slidingToIndex: slideIndex,\n currentSlideIndex: currentSlideIndex.value,\n prevSlideIndex: prevSlideIndex.value,\n slidesCount: slidesCount.value,\n });\n isSliding.value = true;\n prevSlideIndex.value = currentSlideIndex.value;\n currentSlideIndex.value = currentVal;\n transitionTimer = setTimeout(() => {\n if (config.wrapAround) {\n const mappedNumber = mapNumberToRange({\n val: currentVal,\n max: maxSlideIndex.value,\n min: 0,\n });\n if (mappedNumber !== currentSlideIndex.value) {\n currentSlideIndex.value = mappedNumber;\n emit('loop', {\n currentSlideIndex: currentSlideIndex.value,\n slidingToIndex: slideIndex,\n });\n }\n }\n emit('update:modelValue', currentSlideIndex.value);\n emit('slide-end', {\n currentSlideIndex: currentSlideIndex.value,\n prevSlideIndex: prevSlideIndex.value,\n slidesCount: slidesCount.value,\n });\n isSliding.value = false;\n resetAutoplay();\n }, config.transition);\n }\n function next() {\n slideTo(currentSlideIndex.value + config.itemsToScroll);\n }\n function prev() {\n slideTo(currentSlideIndex.value - config.itemsToScroll);\n }\n const nav = { slideTo, next, prev };\n provide('nav', nav);\n provide('isSliding', isSliding);\n /**\n * Track style\n */\n const slidesToScroll = computed(() => getSlidesToScroll({\n config,\n currentSlide: currentSlideIndex.value,\n slidesCount: slidesCount.value,\n }));\n provide('slidesToScroll', slidesToScroll);\n const trackStyle = computed(() => {\n const direction = config.dir === 'rtl' ? -1 : 1;\n const xScroll = slidesToScroll.value * slideWidth.value * direction;\n return {\n transform: `translateX(${dragged.x - xScroll}px)`,\n transition: `${isSliding.value ? config.transition : 0}ms`,\n margin: config.wrapAround ? `0 -${slidesCount.value * slideWidth.value}px` : '',\n width: `100%`,\n };\n });\n function restartCarousel() {\n initDefaultConfigs();\n updateBreakpointsConfigs();\n updateSlidesData();\n updateSlideWidth();\n resetAutoplay();\n }\n // Update the carousel on props change\n Object.keys(carouselProps).forEach((prop) => {\n if (['modelValue'].includes(prop))\n return;\n watch(() => props[prop], restartCarousel);\n });\n // Handle changing v-model value\n watch(() => props['modelValue'], (val) => {\n if (val === currentSlideIndex.value) {\n return;\n }\n slideTo(Number(val));\n });\n // Handel when slides added/removed\n watch(slidesCount, updateSlidesData);\n // Init carousel\n emit('before-init');\n initDefaultConfigs();\n const data = {\n config,\n slidesCount,\n slideWidth,\n next,\n prev,\n slideTo,\n currentSlide: currentSlideIndex,\n maxSlide: maxSlideIndex,\n minSlide: minSlideIndex,\n middleSlide: middleSlideIndex,\n };\n expose({\n updateBreakpointsConfigs,\n updateSlidesData,\n updateSlideWidth,\n initDefaultConfigs,\n restartCarousel,\n slideTo,\n next,\n prev,\n nav,\n data,\n });\n const slotSlides = slots.default || slots.slides;\n const slotAddons = slots.addons;\n const slotsProps = reactive(data);\n return () => {\n const slidesElements = getSlidesVNodes(slotSlides === null || slotSlides === void 0 ? void 0 : slotSlides(slotsProps));\n const addonsElements = (slotAddons === null || slotAddons === void 0 ? void 0 : slotAddons(slotsProps)) || [];\n slidesElements.forEach((el, index) => (el.props.index = index));\n let output = slidesElements;\n if (config.wrapAround) {\n const slidesBefore = slidesElements.map((el, index) => cloneVNode(el, {\n index: -slidesElements.length + index,\n isClone: true,\n key: `clone-before-${index}`,\n }));\n const slidesAfter = slidesElements.map((el, index) => cloneVNode(el, {\n index: slidesElements.length + index,\n isClone: true,\n key: `clone-after-${index}`,\n }));\n output = [...slidesBefore, ...slidesElements, ...slidesAfter];\n }\n slides.value = slidesElements;\n slidesCount.value = Math.max(slidesElements.length, 1);\n const trackEl = h('ol', {\n class: 'carousel__track',\n style: trackStyle.value,\n onMousedownCapture: config.mouseDrag ? handleDragStart : null,\n onTouchstartPassiveCapture: config.touchDrag ? handleDragStart : null,\n }, output);\n const viewPortEl = h('div', { class: 'carousel__viewport' }, trackEl);\n return h('section', {\n ref: root,\n class: {\n carousel: true,\n 'is-sliding': isSliding.value,\n 'is-dragging': isDragging.value,\n 'is-hover': isHover.value,\n 'carousel--rtl': config.dir === 'rtl',\n },\n dir: config.dir,\n 'aria-label': config.i18n['ariaGallery'],\n tabindex: '0',\n onMouseenter: handleMouseEnter,\n onMouseleave: handleMouseLeave,\n }, [viewPortEl, addonsElements, h(ARIAComponent)]);\n };\n },\n});\n\nvar IconName;\n(function (IconName) {\n IconName[\"arrowUp\"] = \"arrowUp\";\n IconName[\"arrowDown\"] = \"arrowDown\";\n IconName[\"arrowRight\"] = \"arrowRight\";\n IconName[\"arrowLeft\"] = \"arrowLeft\";\n})(IconName || (IconName = {}));\nconst icons = {\n arrowUp: 'M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z',\n arrowDown: 'M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z',\n arrowRight: 'M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z',\n arrowLeft: 'M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z',\n};\n\nfunction isIconName(candidate) {\n return candidate in IconName;\n}\nconst Icon = (props) => {\n const config = inject('config', reactive(Object.assign({}, defaultConfigs)));\n const iconName = String(props.name);\n const iconI18n = `icon${iconName.charAt(0).toUpperCase() + iconName.slice(1)}`;\n if (!iconName || typeof iconName !== 'string' || !isIconName(iconName)) {\n return;\n }\n const path = icons[iconName];\n const pathEl = h('path', { d: path });\n const iconTitle = config.i18n[iconI18n] || props.title || iconName;\n const titleEl = h('title', iconTitle);\n return h('svg', {\n class: 'carousel__icon',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-label': iconTitle,\n }, [titleEl, pathEl]);\n};\nIcon.props = { name: String, title: String };\n\nconst Navigation = (props, { slots, attrs }) => {\n const { next: slotNext, prev: slotPrev } = slots || {};\n const config = inject('config', reactive(Object.assign({}, defaultConfigs)));\n const maxSlide = inject('maxSlide', ref(1));\n const minSlide = inject('minSlide', ref(1));\n const currentSlide = inject('currentSlide', ref(1));\n const nav = inject('nav', {});\n const { dir, wrapAround, i18n } = config;\n const isRTL = dir === 'rtl';\n const prevButton = h('button', {\n type: 'button',\n class: [\n 'carousel__prev',\n !wrapAround && currentSlide.value <= minSlide.value && 'carousel__prev--disabled',\n attrs === null || attrs === void 0 ? void 0 : attrs.class,\n ],\n 'aria-label': i18n['ariaPreviousSlide'],\n onClick: nav.prev,\n }, (slotPrev === null || slotPrev === void 0 ? void 0 : slotPrev()) || h(Icon, { name: isRTL ? 'arrowRight' : 'arrowLeft' }));\n const nextButton = h('button', {\n type: 'button',\n class: [\n 'carousel__next',\n !wrapAround && currentSlide.value >= maxSlide.value && 'carousel__next--disabled',\n attrs === null || attrs === void 0 ? void 0 : attrs.class,\n ],\n 'aria-label': i18n['ariaNextSlide'],\n onClick: nav.next,\n }, (slotNext === null || slotNext === void 0 ? void 0 : slotNext()) || h(Icon, { name: isRTL ? 'arrowLeft' : 'arrowRight' }));\n return [prevButton, nextButton];\n};\n\nconst Pagination = () => {\n const config = inject('config', reactive(Object.assign({}, defaultConfigs)));\n const maxSlide = inject('maxSlide', ref(1));\n const minSlide = inject('minSlide', ref(1));\n const currentSlide = inject('currentSlide', ref(1));\n const nav = inject('nav', {});\n const isActive = (slide) => mapNumberToRange({\n val: currentSlide.value,\n max: maxSlide.value,\n min: 0,\n }) === slide;\n const children = [];\n for (let slide = minSlide.value; slide < maxSlide.value + 1; slide++) {\n const button = h('button', {\n type: 'button',\n class: {\n 'carousel__pagination-button': true,\n 'carousel__pagination-button--active': isActive(slide),\n },\n 'aria-label': i18nFormatter(config.i18n['ariaNavigateToSlide'], {\n slideNumber: slide + 1,\n }),\n onClick: () => nav.slideTo(slide),\n });\n const item = h('li', { class: 'carousel__pagination-item', key: slide }, button);\n children.push(item);\n }\n return h('ol', { class: 'carousel__pagination' }, children);\n};\n\nvar Slide = defineComponent({\n name: 'CarouselSlide',\n props: {\n index: {\n type: Number,\n default: 1,\n },\n isClone: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, { slots }) {\n const config = inject('config', reactive(Object.assign({}, defaultConfigs)));\n const currentSlide = inject('currentSlide', ref(0));\n const slidesToScroll = inject('slidesToScroll', ref(0));\n const isSliding = inject('isSliding', ref(false));\n const isActive = computed(() => props.index === currentSlide.value);\n const isPrev = computed(() => props.index === currentSlide.value - 1);\n const isNext = computed(() => props.index === currentSlide.value + 1);\n const isVisible = computed(() => {\n const min = Math.floor(slidesToScroll.value);\n const max = Math.ceil(slidesToScroll.value + config.itemsToShow - 1);\n return props.index >= min && props.index <= max;\n });\n return () => {\n var _a;\n return h('li', {\n style: { width: `${100 / config.itemsToShow}%` },\n class: {\n carousel__slide: true,\n 'carousel__slide--clone': props.isClone,\n 'carousel__slide--visible': isVisible.value,\n 'carousel__slide--active': isActive.value,\n 'carousel__slide--prev': isPrev.value,\n 'carousel__slide--next': isNext.value,\n 'carousel__slide--sliding': isSliding.value,\n },\n 'aria-hidden': !isVisible.value,\n }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots, {\n isActive: isActive.value,\n isClone: props.isClone,\n isPrev: isPrev.value,\n isNext: isNext.value,\n isSliding: isSliding.value,\n isVisible: isVisible.value\n }));\n };\n },\n});\n\nexport { Carousel, Icon, Navigation, Pagination, Slide };\n"],"names":["defaultConfigs","itemsToShow","itemsToScroll","modelValue","transition","autoplay","snapAlign","wrapAround","throttle","pauseAutoplayOnHover","mouseDrag","touchDrag","dir","breakpoints","undefined","i18n","ariaNextSlide","ariaPreviousSlide","ariaNavigateToSlide","ariaGallery","itemXofY","iconArrowUp","iconArrowDown","iconArrowRight","iconArrowLeft","carouselProps","default","type","Number","Boolean","validator","value","includes","Object","settings","getMaxSlideIndex","config","slidesCount","Math","max","output","ceil","getMinSlideIndex","floor","getNumberInRange","val","min","getSlidesToScroll","currentSlide","getSlidesVNodes","vNode","reduce","acc","node","_a","children","name","mapNumberToRange","fn","limit","inThrottle","args","self","this","apply","setTimeout","debounce","delay","timerId","clearTimeout","i18nFormatter","string","values","entries","key","replace","String","IconName","ARIAComponent","setup","assign","h","class","Carousel","props","slots","emit","expose","root","slides","slideWidth","__defaultConfig","currentSlideIndex","prevSlideIndex","middleSlideIndex","maxSlideIndex","minSlideIndex","autoplayTimer","transitionTimer","initDefaultConfigs","bindConfigs","updateBreakpointsConfigs","keys","length","breakpointsArray","map","sort","a","b","newConfig","some","breakpoint","isMatched","window","matchMedia","matches","forEach","handleWindowResize","updateSlidesData","updateSlideWidth","rect","getBoundingClientRect","width","initAutoplay","addEventListener","passive","clearInterval","removeEventListener","isTouch","startPosition","x","y","endPosition","dragged","isHover","isDragging","handleMouseEnter","handleMouseLeave","handleDragStart","event","target","tagName","preventDefault","button","isSliding","touches","clientX","clientY","document","handleDragging","handleDragEnd","deltaX","deltaY","direction","tolerance","sign","draggedSlides","round","captureClick","e","slideTo","setInterval","next","resetAutoplay","slideIndex","currentVal","slidingToIndex","mappedNumber","prev","nav","slidesToScroll","trackStyle","xScroll","transform","margin","restartCarousel","prop","data","maxSlide","minSlide","middleSlide","slotSlides","slotAddons","addons","slotsProps","slidesElements","addonsElements","el","index","slidesBefore","isClone","slidesAfter","trackEl","style","onMousedownCapture","onTouchstartPassiveCapture","viewPortEl","ref","carousel","tabindex","onMouseenter","onMouseleave","icons","arrowUp","arrowDown","arrowRight","arrowLeft","isIconName","candidate","Icon","iconName","iconI18n","charAt","toUpperCase","slice","path","pathEl","d","iconTitle","title","titleEl","viewBox","role","Navigation","attrs","slotNext","slotPrev","isRTL","prevButton","onClick","nextButton","Slide","isActive","isPrev","isNext","isVisible","carousel__slide","call"],"sourceRoot":""}