@itcenteratunihelsinki/huds-lib 0.8.61 → 0.8.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/hy-hero-carousel.js +328 -1
- package/components/hy-hero-carousel.js.map +1 -1
- package/components/hy-menu-main-group2.js +20 -27
- package/components/hy-menu-main-group2.js.map +1 -1
- package/components/menu-language.js +4 -3
- package/components/menu-language.js.map +1 -1
- package/components/site-search.js +14 -78
- package/components/site-search.js.map +1 -1
- package/dist/cjs/huds-lib.cjs.js +1 -1
- package/dist/cjs/hy-breadcrumbs_15.cjs.entry.js +17 -80
- package/dist/cjs/hy-breadcrumbs_15.cjs.entry.js.map +1 -1
- package/dist/cjs/hy-hero-carousel.cjs.entry.js +328 -1
- package/dist/cjs/hy-hero-carousel.cjs.entry.js.map +1 -1
- package/dist/cjs/hy-menu-main-group.cjs.entry.js +19 -26
- package/dist/cjs/hy-menu-main-group.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/hy-hero-carousel/hy-hero-carousel.js +5 -2
- package/dist/collection/components/hy-hero-carousel/hy-hero-carousel.js.map +1 -1
- package/dist/collection/components/hy-navigation/hy-menu-main-group/hy-menu-main-group.js +24 -31
- package/dist/collection/components/hy-navigation/hy-menu-main-group/hy-menu-main-group.js.map +1 -1
- package/dist/collection/components/hy-navigation/menu-language/menu-language.js +4 -3
- package/dist/collection/components/hy-navigation/menu-language/menu-language.js.map +1 -1
- package/dist/collection/components/hy-site-header/site-search/site-search.css +13 -2
- package/dist/collection/components/hy-site-header/site-search/site-search.js +36 -82
- package/dist/collection/components/hy-site-header/site-search/site-search.js.map +1 -1
- package/dist/esm/huds-lib.js +1 -1
- package/dist/esm/hy-breadcrumbs_15.entry.js +17 -80
- package/dist/esm/hy-breadcrumbs_15.entry.js.map +1 -1
- package/dist/esm/hy-hero-carousel.entry.js +328 -1
- package/dist/esm/hy-hero-carousel.entry.js.map +1 -1
- package/dist/esm/hy-menu-main-group.entry.js +19 -26
- package/dist/esm/hy-menu-main-group.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/huds-lib/huds-lib.esm.js +1 -1
- package/dist/huds-lib/huds-lib.esm.js.map +1 -1
- package/dist/huds-lib/hy-breadcrumbs_15.entry.js +1 -1
- package/dist/huds-lib/hy-breadcrumbs_15.entry.js.map +1 -1
- package/dist/huds-lib/hy-hero-carousel.entry.js +1 -1
- package/dist/huds-lib/hy-hero-carousel.entry.js.map +1 -1
- package/dist/huds-lib/hy-menu-main-group.entry.js +1 -1
- package/dist/huds-lib/hy-menu-main-group.entry.js.map +1 -1
- package/dist/types/components/hy-navigation/hy-menu-main-group/hy-menu-main-group.d.ts +2 -5
- package/dist/types/components/hy-site-header/site-search/site-search.d.ts +1 -6
- package/package.json +2 -2
|
@@ -3863,6 +3863,330 @@ Object.keys(prototypes).forEach(prototypeGroup => {
|
|
|
3863
3863
|
});
|
|
3864
3864
|
Swiper.use([Resize, Observer]);
|
|
3865
3865
|
|
|
3866
|
+
function Virtual({
|
|
3867
|
+
swiper,
|
|
3868
|
+
extendParams,
|
|
3869
|
+
on,
|
|
3870
|
+
emit
|
|
3871
|
+
}) {
|
|
3872
|
+
extendParams({
|
|
3873
|
+
virtual: {
|
|
3874
|
+
enabled: false,
|
|
3875
|
+
slides: [],
|
|
3876
|
+
cache: true,
|
|
3877
|
+
renderSlide: null,
|
|
3878
|
+
renderExternal: null,
|
|
3879
|
+
renderExternalUpdate: true,
|
|
3880
|
+
addSlidesBefore: 0,
|
|
3881
|
+
addSlidesAfter: 0
|
|
3882
|
+
}
|
|
3883
|
+
});
|
|
3884
|
+
let cssModeTimeout;
|
|
3885
|
+
const document = getDocument();
|
|
3886
|
+
swiper.virtual = {
|
|
3887
|
+
cache: {},
|
|
3888
|
+
from: undefined,
|
|
3889
|
+
to: undefined,
|
|
3890
|
+
slides: [],
|
|
3891
|
+
offset: 0,
|
|
3892
|
+
slidesGrid: []
|
|
3893
|
+
};
|
|
3894
|
+
const tempDOM = document.createElement('div');
|
|
3895
|
+
function renderSlide(slide, index) {
|
|
3896
|
+
const params = swiper.params.virtual;
|
|
3897
|
+
if (params.cache && swiper.virtual.cache[index]) {
|
|
3898
|
+
return swiper.virtual.cache[index];
|
|
3899
|
+
}
|
|
3900
|
+
// eslint-disable-next-line
|
|
3901
|
+
let slideEl;
|
|
3902
|
+
if (params.renderSlide) {
|
|
3903
|
+
slideEl = params.renderSlide.call(swiper, slide, index);
|
|
3904
|
+
if (typeof slideEl === 'string') {
|
|
3905
|
+
tempDOM.innerHTML = slideEl;
|
|
3906
|
+
slideEl = tempDOM.children[0];
|
|
3907
|
+
}
|
|
3908
|
+
} else if (swiper.isElement) {
|
|
3909
|
+
slideEl = createElement('swiper-slide');
|
|
3910
|
+
} else {
|
|
3911
|
+
slideEl = createElement('div', swiper.params.slideClass);
|
|
3912
|
+
}
|
|
3913
|
+
slideEl.setAttribute('data-swiper-slide-index', index);
|
|
3914
|
+
if (!params.renderSlide) {
|
|
3915
|
+
slideEl.innerHTML = slide;
|
|
3916
|
+
}
|
|
3917
|
+
if (params.cache) swiper.virtual.cache[index] = slideEl;
|
|
3918
|
+
return slideEl;
|
|
3919
|
+
}
|
|
3920
|
+
function update(force) {
|
|
3921
|
+
const {
|
|
3922
|
+
slidesPerView,
|
|
3923
|
+
slidesPerGroup,
|
|
3924
|
+
centeredSlides,
|
|
3925
|
+
loop: isLoop
|
|
3926
|
+
} = swiper.params;
|
|
3927
|
+
const {
|
|
3928
|
+
addSlidesBefore,
|
|
3929
|
+
addSlidesAfter
|
|
3930
|
+
} = swiper.params.virtual;
|
|
3931
|
+
const {
|
|
3932
|
+
from: previousFrom,
|
|
3933
|
+
to: previousTo,
|
|
3934
|
+
slides,
|
|
3935
|
+
slidesGrid: previousSlidesGrid,
|
|
3936
|
+
offset: previousOffset
|
|
3937
|
+
} = swiper.virtual;
|
|
3938
|
+
if (!swiper.params.cssMode) {
|
|
3939
|
+
swiper.updateActiveIndex();
|
|
3940
|
+
}
|
|
3941
|
+
const activeIndex = swiper.activeIndex || 0;
|
|
3942
|
+
let offsetProp;
|
|
3943
|
+
if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';
|
|
3944
|
+
let slidesAfter;
|
|
3945
|
+
let slidesBefore;
|
|
3946
|
+
if (centeredSlides) {
|
|
3947
|
+
slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
|
|
3948
|
+
slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
|
|
3949
|
+
} else {
|
|
3950
|
+
slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
|
|
3951
|
+
slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;
|
|
3952
|
+
}
|
|
3953
|
+
let from = activeIndex - slidesBefore;
|
|
3954
|
+
let to = activeIndex + slidesAfter;
|
|
3955
|
+
if (!isLoop) {
|
|
3956
|
+
from = Math.max(from, 0);
|
|
3957
|
+
to = Math.min(to, slides.length - 1);
|
|
3958
|
+
}
|
|
3959
|
+
let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
|
|
3960
|
+
if (isLoop && activeIndex >= slidesBefore) {
|
|
3961
|
+
from -= slidesBefore;
|
|
3962
|
+
if (!centeredSlides) offset += swiper.slidesGrid[0];
|
|
3963
|
+
} else if (isLoop && activeIndex < slidesBefore) {
|
|
3964
|
+
from = -slidesBefore;
|
|
3965
|
+
if (centeredSlides) offset += swiper.slidesGrid[0];
|
|
3966
|
+
}
|
|
3967
|
+
Object.assign(swiper.virtual, {
|
|
3968
|
+
from,
|
|
3969
|
+
to,
|
|
3970
|
+
offset,
|
|
3971
|
+
slidesGrid: swiper.slidesGrid,
|
|
3972
|
+
slidesBefore,
|
|
3973
|
+
slidesAfter
|
|
3974
|
+
});
|
|
3975
|
+
function onRendered() {
|
|
3976
|
+
swiper.updateSlides();
|
|
3977
|
+
swiper.updateProgress();
|
|
3978
|
+
swiper.updateSlidesClasses();
|
|
3979
|
+
emit('virtualUpdate');
|
|
3980
|
+
}
|
|
3981
|
+
if (previousFrom === from && previousTo === to && !force) {
|
|
3982
|
+
if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
|
|
3983
|
+
swiper.slides.forEach(slideEl => {
|
|
3984
|
+
slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
|
|
3985
|
+
});
|
|
3986
|
+
}
|
|
3987
|
+
swiper.updateProgress();
|
|
3988
|
+
emit('virtualUpdate');
|
|
3989
|
+
return;
|
|
3990
|
+
}
|
|
3991
|
+
if (swiper.params.virtual.renderExternal) {
|
|
3992
|
+
swiper.params.virtual.renderExternal.call(swiper, {
|
|
3993
|
+
offset,
|
|
3994
|
+
from,
|
|
3995
|
+
to,
|
|
3996
|
+
slides: function getSlides() {
|
|
3997
|
+
const slidesToRender = [];
|
|
3998
|
+
for (let i = from; i <= to; i += 1) {
|
|
3999
|
+
slidesToRender.push(slides[i]);
|
|
4000
|
+
}
|
|
4001
|
+
return slidesToRender;
|
|
4002
|
+
}()
|
|
4003
|
+
});
|
|
4004
|
+
if (swiper.params.virtual.renderExternalUpdate) {
|
|
4005
|
+
onRendered();
|
|
4006
|
+
} else {
|
|
4007
|
+
emit('virtualUpdate');
|
|
4008
|
+
}
|
|
4009
|
+
return;
|
|
4010
|
+
}
|
|
4011
|
+
const prependIndexes = [];
|
|
4012
|
+
const appendIndexes = [];
|
|
4013
|
+
const getSlideIndex = index => {
|
|
4014
|
+
let slideIndex = index;
|
|
4015
|
+
if (index < 0) {
|
|
4016
|
+
slideIndex = slides.length + index;
|
|
4017
|
+
} else if (slideIndex >= slides.length) {
|
|
4018
|
+
// eslint-disable-next-line
|
|
4019
|
+
slideIndex = slideIndex - slides.length;
|
|
4020
|
+
}
|
|
4021
|
+
return slideIndex;
|
|
4022
|
+
};
|
|
4023
|
+
if (force) {
|
|
4024
|
+
swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}, swiper-slide`).forEach(slideEl => {
|
|
4025
|
+
slideEl.remove();
|
|
4026
|
+
});
|
|
4027
|
+
} else {
|
|
4028
|
+
for (let i = previousFrom; i <= previousTo; i += 1) {
|
|
4029
|
+
if (i < from || i > to) {
|
|
4030
|
+
const slideIndex = getSlideIndex(i);
|
|
4031
|
+
swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`).forEach(slideEl => {
|
|
4032
|
+
slideEl.remove();
|
|
4033
|
+
});
|
|
4034
|
+
}
|
|
4035
|
+
}
|
|
4036
|
+
}
|
|
4037
|
+
const loopFrom = isLoop ? -slides.length : 0;
|
|
4038
|
+
const loopTo = isLoop ? slides.length * 2 : slides.length;
|
|
4039
|
+
for (let i = loopFrom; i < loopTo; i += 1) {
|
|
4040
|
+
if (i >= from && i <= to) {
|
|
4041
|
+
const slideIndex = getSlideIndex(i);
|
|
4042
|
+
if (typeof previousTo === 'undefined' || force) {
|
|
4043
|
+
appendIndexes.push(slideIndex);
|
|
4044
|
+
} else {
|
|
4045
|
+
if (i > previousTo) appendIndexes.push(slideIndex);
|
|
4046
|
+
if (i < previousFrom) prependIndexes.push(slideIndex);
|
|
4047
|
+
}
|
|
4048
|
+
}
|
|
4049
|
+
}
|
|
4050
|
+
appendIndexes.forEach(index => {
|
|
4051
|
+
swiper.slidesEl.append(renderSlide(slides[index], index));
|
|
4052
|
+
});
|
|
4053
|
+
if (isLoop) {
|
|
4054
|
+
for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {
|
|
4055
|
+
const index = prependIndexes[i];
|
|
4056
|
+
swiper.slidesEl.prepend(renderSlide(slides[index], index));
|
|
4057
|
+
}
|
|
4058
|
+
} else {
|
|
4059
|
+
prependIndexes.sort((a, b) => b - a);
|
|
4060
|
+
prependIndexes.forEach(index => {
|
|
4061
|
+
swiper.slidesEl.prepend(renderSlide(slides[index], index));
|
|
4062
|
+
});
|
|
4063
|
+
}
|
|
4064
|
+
elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => {
|
|
4065
|
+
slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
|
|
4066
|
+
});
|
|
4067
|
+
onRendered();
|
|
4068
|
+
}
|
|
4069
|
+
function appendSlide(slides) {
|
|
4070
|
+
if (typeof slides === 'object' && 'length' in slides) {
|
|
4071
|
+
for (let i = 0; i < slides.length; i += 1) {
|
|
4072
|
+
if (slides[i]) swiper.virtual.slides.push(slides[i]);
|
|
4073
|
+
}
|
|
4074
|
+
} else {
|
|
4075
|
+
swiper.virtual.slides.push(slides);
|
|
4076
|
+
}
|
|
4077
|
+
update(true);
|
|
4078
|
+
}
|
|
4079
|
+
function prependSlide(slides) {
|
|
4080
|
+
const activeIndex = swiper.activeIndex;
|
|
4081
|
+
let newActiveIndex = activeIndex + 1;
|
|
4082
|
+
let numberOfNewSlides = 1;
|
|
4083
|
+
if (Array.isArray(slides)) {
|
|
4084
|
+
for (let i = 0; i < slides.length; i += 1) {
|
|
4085
|
+
if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
|
|
4086
|
+
}
|
|
4087
|
+
newActiveIndex = activeIndex + slides.length;
|
|
4088
|
+
numberOfNewSlides = slides.length;
|
|
4089
|
+
} else {
|
|
4090
|
+
swiper.virtual.slides.unshift(slides);
|
|
4091
|
+
}
|
|
4092
|
+
if (swiper.params.virtual.cache) {
|
|
4093
|
+
const cache = swiper.virtual.cache;
|
|
4094
|
+
const newCache = {};
|
|
4095
|
+
Object.keys(cache).forEach(cachedIndex => {
|
|
4096
|
+
const cachedEl = cache[cachedIndex];
|
|
4097
|
+
const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index');
|
|
4098
|
+
if (cachedElIndex) {
|
|
4099
|
+
cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);
|
|
4100
|
+
}
|
|
4101
|
+
newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;
|
|
4102
|
+
});
|
|
4103
|
+
swiper.virtual.cache = newCache;
|
|
4104
|
+
}
|
|
4105
|
+
update(true);
|
|
4106
|
+
swiper.slideTo(newActiveIndex, 0);
|
|
4107
|
+
}
|
|
4108
|
+
function removeSlide(slidesIndexes) {
|
|
4109
|
+
if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;
|
|
4110
|
+
let activeIndex = swiper.activeIndex;
|
|
4111
|
+
if (Array.isArray(slidesIndexes)) {
|
|
4112
|
+
for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {
|
|
4113
|
+
swiper.virtual.slides.splice(slidesIndexes[i], 1);
|
|
4114
|
+
if (swiper.params.virtual.cache) {
|
|
4115
|
+
delete swiper.virtual.cache[slidesIndexes[i]];
|
|
4116
|
+
}
|
|
4117
|
+
if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
|
|
4118
|
+
activeIndex = Math.max(activeIndex, 0);
|
|
4119
|
+
}
|
|
4120
|
+
} else {
|
|
4121
|
+
swiper.virtual.slides.splice(slidesIndexes, 1);
|
|
4122
|
+
if (swiper.params.virtual.cache) {
|
|
4123
|
+
delete swiper.virtual.cache[slidesIndexes];
|
|
4124
|
+
}
|
|
4125
|
+
if (slidesIndexes < activeIndex) activeIndex -= 1;
|
|
4126
|
+
activeIndex = Math.max(activeIndex, 0);
|
|
4127
|
+
}
|
|
4128
|
+
update(true);
|
|
4129
|
+
swiper.slideTo(activeIndex, 0);
|
|
4130
|
+
}
|
|
4131
|
+
function removeAllSlides() {
|
|
4132
|
+
swiper.virtual.slides = [];
|
|
4133
|
+
if (swiper.params.virtual.cache) {
|
|
4134
|
+
swiper.virtual.cache = {};
|
|
4135
|
+
}
|
|
4136
|
+
update(true);
|
|
4137
|
+
swiper.slideTo(0, 0);
|
|
4138
|
+
}
|
|
4139
|
+
on('beforeInit', () => {
|
|
4140
|
+
if (!swiper.params.virtual.enabled) return;
|
|
4141
|
+
let domSlidesAssigned;
|
|
4142
|
+
if (typeof swiper.passedParams.virtual.slides === 'undefined') {
|
|
4143
|
+
const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));
|
|
4144
|
+
if (slides && slides.length) {
|
|
4145
|
+
swiper.virtual.slides = [...slides];
|
|
4146
|
+
domSlidesAssigned = true;
|
|
4147
|
+
slides.forEach((slideEl, slideIndex) => {
|
|
4148
|
+
slideEl.setAttribute('data-swiper-slide-index', slideIndex);
|
|
4149
|
+
swiper.virtual.cache[slideIndex] = slideEl;
|
|
4150
|
+
slideEl.remove();
|
|
4151
|
+
});
|
|
4152
|
+
}
|
|
4153
|
+
}
|
|
4154
|
+
if (!domSlidesAssigned) {
|
|
4155
|
+
swiper.virtual.slides = swiper.params.virtual.slides;
|
|
4156
|
+
}
|
|
4157
|
+
swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);
|
|
4158
|
+
swiper.params.watchSlidesProgress = true;
|
|
4159
|
+
swiper.originalParams.watchSlidesProgress = true;
|
|
4160
|
+
if (!swiper.params.initialSlide) {
|
|
4161
|
+
update();
|
|
4162
|
+
}
|
|
4163
|
+
});
|
|
4164
|
+
on('setTranslate', () => {
|
|
4165
|
+
if (!swiper.params.virtual.enabled) return;
|
|
4166
|
+
if (swiper.params.cssMode && !swiper._immediateVirtual) {
|
|
4167
|
+
clearTimeout(cssModeTimeout);
|
|
4168
|
+
cssModeTimeout = setTimeout(() => {
|
|
4169
|
+
update();
|
|
4170
|
+
}, 100);
|
|
4171
|
+
} else {
|
|
4172
|
+
update();
|
|
4173
|
+
}
|
|
4174
|
+
});
|
|
4175
|
+
on('init update resize', () => {
|
|
4176
|
+
if (!swiper.params.virtual.enabled) return;
|
|
4177
|
+
if (swiper.params.cssMode) {
|
|
4178
|
+
setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);
|
|
4179
|
+
}
|
|
4180
|
+
});
|
|
4181
|
+
Object.assign(swiper.virtual, {
|
|
4182
|
+
appendSlide,
|
|
4183
|
+
prependSlide,
|
|
4184
|
+
removeSlide,
|
|
4185
|
+
removeAllSlides,
|
|
4186
|
+
update
|
|
4187
|
+
});
|
|
4188
|
+
}
|
|
4189
|
+
|
|
3866
4190
|
function createElementIfNotDefined(swiper, originalParams, params, checkProps) {
|
|
3867
4191
|
if (swiper.params.createElements) {
|
|
3868
4192
|
Object.keys(checkProps).forEach(key => {
|
|
@@ -5054,7 +5378,7 @@ const HyHeroCarousel$1 = /*@__PURE__*/ proxyCustomElement(class HyHeroCarousel e
|
|
|
5054
5378
|
}
|
|
5055
5379
|
componentDidLoad() {
|
|
5056
5380
|
new Swiper(".swiper", {
|
|
5057
|
-
modules: [Navigation, Pagination, A11y, EffectFade],
|
|
5381
|
+
modules: [Navigation, Pagination, A11y, EffectFade, Virtual],
|
|
5058
5382
|
enabled: true,
|
|
5059
5383
|
effect: 'fade',
|
|
5060
5384
|
fadeEffect: {
|
|
@@ -5065,6 +5389,9 @@ const HyHeroCarousel$1 = /*@__PURE__*/ proxyCustomElement(class HyHeroCarousel e
|
|
|
5065
5389
|
spaceBetween: 50,
|
|
5066
5390
|
virtual: {
|
|
5067
5391
|
enabled: true,
|
|
5392
|
+
cache: true,
|
|
5393
|
+
addSlidesAfter: 0,
|
|
5394
|
+
addSlidesBefore: 0,
|
|
5068
5395
|
},
|
|
5069
5396
|
navigation: {
|
|
5070
5397
|
nextEl: ".swiper-button-next",
|