vue3-carousel
Advanced tools
Comparing version 0.3.1 to 0.3.3
@@ -5,2 +5,18 @@ # Changelog | ||
## [0.3.2](https://github.com/ismail9k/vue3-carousel/releases/tag/v0.3.3) - 2024-04-02 | ||
- Anchor links (a tags) redirect the app to the new page after dragging (#362) @Iran-110 | ||
## [0.3.2](https://github.com/ismail9k/vue3-carousel/releases/tag/v0.3.2) - 2023-12-11 | ||
- fix: Remove padding from carousel__pagination (#317) @ricardoboss | ||
- enhance: Slide Performance improvements and slot props support (#324) @craigrileyuk | ||
- enhance: Pagination apply hover classes only on supported devices (#341) @hhofner | ||
- fix: update slides data on window resize (#354) @RickRosendaal | ||
## [0.3.1](https://github.com/ismail9k/vue3-carousel/releases/tag/v0.3.1) - 2023-04-29 | ||
- Add MIT License (#305) | ||
- Support i18n for text and ARIA labels (#303) @thormeier | ||
## [0.3.0](https://github.com/ismail9k/vue3-carousel/releases/tag/v0.2.16) - 2023-04-09 | ||
@@ -7,0 +23,0 @@ |
@@ -111,3 +111,3 @@ import * as vue from 'vue'; | ||
[key: string]: any; | ||
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{ | ||
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, vue.EmitsOptions, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{ | ||
itemsToShow: { | ||
@@ -199,3 +199,3 @@ default: number; | ||
settings: Record<string, any>; | ||
}>; | ||
}, {}>; | ||
@@ -235,3 +235,3 @@ interface Data { | ||
[key: string]: any; | ||
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{ | ||
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, vue.EmitsOptions, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{ | ||
index: { | ||
@@ -248,4 +248,4 @@ type: NumberConstructor; | ||
isClone: boolean; | ||
}>; | ||
}, {}>; | ||
export { _default$1 as Carousel, Icon, Navigation, Pagination, _default as Slide }; |
/** | ||
* Vue 3 Carousel 0.3.1 | ||
* (c) 2023 | ||
* Vue 3 Carousel 0.3.3 | ||
* (c) 2024 | ||
* @license MIT | ||
@@ -353,2 +353,3 @@ */ | ||
updateBreakpointsConfigs(); | ||
updateSlidesData(); | ||
updateSlideWidth(); | ||
@@ -446,3 +447,2 @@ }, 16); | ||
const captureClick = (e) => { | ||
e.stopPropagation(); | ||
window.removeEventListener('click', captureClick, true); | ||
@@ -771,10 +771,10 @@ }; | ||
const isSliding = inject('isSliding', ref(false)); | ||
const isActive = () => props.index === currentSlide.value; | ||
const isPrev = () => props.index === currentSlide.value - 1; | ||
const isNext = () => props.index === currentSlide.value + 1; | ||
const isVisible = () => { | ||
const isActive = computed(() => props.index === currentSlide.value); | ||
const isPrev = computed(() => props.index === currentSlide.value - 1); | ||
const isNext = computed(() => props.index === currentSlide.value + 1); | ||
const isVisible = computed(() => { | ||
const min = Math.floor(slidesToScroll.value); | ||
const max = Math.ceil(slidesToScroll.value + config.itemsToShow - 1); | ||
return props.index >= min && props.index <= max; | ||
}; | ||
}); | ||
return () => { | ||
@@ -787,10 +787,17 @@ var _a; | ||
'carousel__slide--clone': props.isClone, | ||
'carousel__slide--visible': isVisible(), | ||
'carousel__slide--active': isActive(), | ||
'carousel__slide--prev': isPrev(), | ||
'carousel__slide--next': isNext(), | ||
'carousel__slide--visible': isVisible.value, | ||
'carousel__slide--active': isActive.value, | ||
'carousel__slide--prev': isPrev.value, | ||
'carousel__slide--next': isNext.value, | ||
'carousel__slide--sliding': isSliding.value, | ||
}, | ||
'aria-hidden': !isVisible(), | ||
}, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); | ||
'aria-hidden': !isVisible.value, | ||
}, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots, { | ||
isActive: isActive.value, | ||
isClone: props.isClone, | ||
isPrev: isPrev.value, | ||
isNext: isNext.value, | ||
isSliding: isSliding.value, | ||
isVisible: isVisible.value | ||
})); | ||
}; | ||
@@ -797,0 +804,0 @@ }, |
/** | ||
* Vue 3 Carousel 0.3.1 | ||
* (c) 2023 | ||
* Vue 3 Carousel 0.3.3 | ||
* (c) 2024 | ||
* @license MIT | ||
@@ -357,2 +357,3 @@ */ | ||
updateBreakpointsConfigs(); | ||
updateSlidesData(); | ||
updateSlideWidth(); | ||
@@ -450,3 +451,2 @@ }, 16); | ||
const captureClick = (e) => { | ||
e.stopPropagation(); | ||
window.removeEventListener('click', captureClick, true); | ||
@@ -775,10 +775,10 @@ }; | ||
const isSliding = vue.inject('isSliding', vue.ref(false)); | ||
const isActive = () => props.index === currentSlide.value; | ||
const isPrev = () => props.index === currentSlide.value - 1; | ||
const isNext = () => props.index === currentSlide.value + 1; | ||
const isVisible = () => { | ||
const isActive = vue.computed(() => props.index === currentSlide.value); | ||
const isPrev = vue.computed(() => props.index === currentSlide.value - 1); | ||
const isNext = vue.computed(() => props.index === currentSlide.value + 1); | ||
const isVisible = vue.computed(() => { | ||
const min = Math.floor(slidesToScroll.value); | ||
const max = Math.ceil(slidesToScroll.value + config.itemsToShow - 1); | ||
return props.index >= min && props.index <= max; | ||
}; | ||
}); | ||
return () => { | ||
@@ -791,10 +791,17 @@ var _a; | ||
'carousel__slide--clone': props.isClone, | ||
'carousel__slide--visible': isVisible(), | ||
'carousel__slide--active': isActive(), | ||
'carousel__slide--prev': isPrev(), | ||
'carousel__slide--next': isNext(), | ||
'carousel__slide--visible': isVisible.value, | ||
'carousel__slide--active': isActive.value, | ||
'carousel__slide--prev': isPrev.value, | ||
'carousel__slide--next': isNext.value, | ||
'carousel__slide--sliding': isSliding.value, | ||
}, | ||
'aria-hidden': !isVisible(), | ||
}, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); | ||
'aria-hidden': !isVisible.value, | ||
}, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots, { | ||
isActive: isActive.value, | ||
isClone: props.isClone, | ||
isPrev: isPrev.value, | ||
isNext: isNext.value, | ||
isSliding: isSliding.value, | ||
isVisible: isVisible.value | ||
})); | ||
}; | ||
@@ -810,4 +817,2 @@ }, | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
})); |
{ | ||
"name": "vue3-carousel", | ||
"version": "0.3.1", | ||
"version": "0.3.3", | ||
"type": "module", | ||
"scripts": { | ||
@@ -39,12 +40,13 @@ "build": "rollup -c", | ||
"prettier": "^2.3.2", | ||
"rollup": "^2.56.2", | ||
"rollup-plugin-css-only": "^3.1.0", | ||
"rollup": "^4.13.2", | ||
"rollup-plugin-css-only": "^4.5.2", | ||
"rollup-plugin-delete": "^2.0.0", | ||
"rollup-plugin-dts": "^4.2.2", | ||
"rollup-plugin-typescript-paths": "^1.4.0", | ||
"rollup-plugin-typescript2": "^0.30.0", | ||
"stylus": "^0.59.0", | ||
"rollup-plugin-dts": "^6.1.0", | ||
"rollup-plugin-typescript-paths": "^1.5.0", | ||
"rollup-plugin-typescript2": "^0.36.0", | ||
"stylus": "^0.63.0", | ||
"ts-jest": "^27.0.3", | ||
"typescript": "^4.5.4", | ||
"vitepress": "^1.0.0-alpha.29", | ||
"tslib": "^2.6.2", | ||
"typescript": "^5.4.3", | ||
"vitepress": "^1.0.2", | ||
"vue": "^3.2.0", | ||
@@ -51,0 +53,0 @@ "vue-jest": "^3.0.7" |
import css from 'rollup-plugin-css-only' | ||
import typescript from 'rollup-plugin-typescript2' | ||
import del from 'rollup-plugin-delete' | ||
import dts from 'rollup-plugin-dts' | ||
import { typescriptPaths } from 'rollup-plugin-typescript-paths' | ||
import typescript from 'rollup-plugin-typescript2' | ||
import pkg from './package.json' | ||
import pkg from './package.json' assert { type: 'json' } | ||
@@ -9,0 +9,0 @@ const banner = `/** |
Sorry, the diff of this file is not supported yet
2082
Yes
77526
25
13