Removes migration build and updates Swiper to version 10.

This commit is contained in:
mateuswetah 2023-08-31 10:46:49 -03:00
parent b5bc411dee
commit 7044563df1
56 changed files with 1002 additions and 637 deletions

81
package-lock.json generated
View File

@ -1295,6 +1295,22 @@
"regenerator-runtime": "^0.13.11" "regenerator-runtime": "^0.13.11"
} }
}, },
"@babel/runtime-corejs3": {
"version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.22.11.tgz",
"integrity": "sha512-NhfzUbdWbiE6fCFypbWCPu6AR8xre31EOPF7wwAIJEvGQ2avov04eymayWinCuyXmV1b0+jzoXP/HYzzUYdvwg==",
"requires": {
"core-js-pure": "^3.30.2",
"regenerator-runtime": "^0.14.0"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
}
}
},
"@babel/template": { "@babel/template": {
"version": "7.21.9", "version": "7.21.9",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz",
@ -1927,16 +1943,6 @@
"vue": "^3.2.25" "vue": "^3.2.25"
} }
}, },
"@vue/compat": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/compat/-/compat-3.3.4.tgz",
"integrity": "sha512-VwAsPqUqRJVxeLQPUC03Sa5d+T8UG2Qv4VItq74KmNvtQlRXICpa/sqq12BcyBB4Tz1U5paOEZxWCUoXkrZ9QQ==",
"requires": {
"@babel/parser": "^7.21.3",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
}
},
"@vue/compiler-core": { "@vue/compiler-core": {
"version": "3.3.4", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
@ -3077,6 +3083,11 @@
"browserslist": "^4.21.5" "browserslist": "^4.21.5"
} }
}, },
"core-js-pure": {
"version": "3.32.1",
"resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.1.tgz",
"integrity": "sha512-f52QZwkFVDPf7UEQZGHKx6NYxsxmVGJe5DIvbzOdRMJlmT6yv0KDjR8rmy3ngr/t5wU54c7Sp/qIJH0ppbhVpQ=="
},
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@ -3280,14 +3291,6 @@
"esutils": "^2.0.2" "esutils": "^2.0.2"
} }
}, },
"dom7": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.6.tgz",
"integrity": "sha512-emjdpPLhpNubapLFdjNL9tP06Sr+GZkrIHEXLWvOGsytACUrkbeIdjO5g77m00BrHTznnlcNqgmn7pCN192TBA==",
"requires": {
"ssr-window": "^4.0.0"
}
},
"duplexer": { "duplexer": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
@ -4497,6 +4500,14 @@
"integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
"dev": true "dev": true
}, },
"imask": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/imask/-/imask-7.1.3.tgz",
"integrity": "sha512-jZCqTI5Jgukhl2ff+znBQd8BiHOTlnFYCIgggzHYDdoJsHmSSWr1BaejcYBxsjy4ZIs8Rm0HhbOxQcobcdESRQ==",
"requires": {
"@babel/runtime-corejs3": "^7.22.6"
}
},
"import-fresh": { "import-fresh": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@ -6545,11 +6556,6 @@
"tweetnacl": "~0.14.0" "tweetnacl": "~0.14.0"
} }
}, },
"ssr-window": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz",
"integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ=="
},
"ssri": { "ssri": {
"version": "8.0.1", "version": "8.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
@ -6731,13 +6737,9 @@
} }
}, },
"swiper": { "swiper": {
"version": "8.4.7", "version": "10.2.0",
"resolved": "https://registry.npmjs.org/swiper/-/swiper-8.4.7.tgz", "resolved": "https://registry.npmjs.org/swiper/-/swiper-10.2.0.tgz",
"integrity": "sha512-VwO/KU3i9IV2Sf+W2NqyzwWob4yX9Qdedq6vBtS0rFqJ6Fa5iLUJwxQkuD4I38w0WDJwmFl8ojkdcRFPHWD+2g==", "integrity": "sha512-nktQsOtBInJjr3f5DicxC8eHYGcLXDVIGPSon0QoXRaO6NjKnATCbQ8SZsD3dN1Ph1RH4EhVPwSYCcuDRFWHGQ=="
"requires": {
"dom7": "^4.0.4",
"ssr-window": "^4.0.2"
}
}, },
"tapable": { "tapable": {
"version": "2.2.1", "version": "2.2.1",
@ -7076,6 +7078,11 @@
"countup.js": "^2.6.2" "countup.js": "^2.6.2"
} }
}, },
"vue-demi": {
"version": "0.14.6",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
"integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w=="
},
"vue-eslint-parser": { "vue-eslint-parser": {
"version": "9.3.1", "version": "9.3.1",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz", "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz",
@ -7102,6 +7109,15 @@
} }
} }
}, },
"vue-imask": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/vue-imask/-/vue-imask-7.1.3.tgz",
"integrity": "sha512-WkkEwx34UjNJhN5vwgfLNgydLoqyFxBGJibT2322Extl68kW6YHQrFIusLeEZ4EVGzmv2zWhuxXxke55I2x4Dw==",
"requires": {
"imask": "^7.1.3",
"vue-demi": "^0.14.5"
}
},
"vue-loader": { "vue-loader": {
"version": "17.2.2", "version": "17.2.2",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.2.2.tgz", "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.2.2.tgz",
@ -7126,11 +7142,6 @@
"@vue/devtools-api": "^6.5.0" "@vue/devtools-api": "^6.5.0"
} }
}, },
"vue-the-mask": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/vue-the-mask/-/vue-the-mask-0.11.1.tgz",
"integrity": "sha512-UquSfnSWejD0zAfcD+3jJ1chUAkOAyoxya9Lxh9acCRtrlmGcAIvd0cQYraWqKenbuZJUdum+S174atv2AuEHQ=="
},
"vue3-apexcharts": { "vue3-apexcharts": {
"version": "1.4.4", "version": "1.4.4",
"resolved": "https://registry.npmjs.org/vue3-apexcharts/-/vue3-apexcharts-1.4.4.tgz", "resolved": "https://registry.npmjs.org/vue3-apexcharts/-/vue3-apexcharts-1.4.4.tgz",

View File

@ -10,7 +10,6 @@
"dependencies": { "dependencies": {
"@ntohq/buefy-next": "^0.1.1", "@ntohq/buefy-next": "^0.1.1",
"@vue-leaflet/vue-leaflet": "^0.10.1", "@vue-leaflet/vue-leaflet": "^0.10.1",
"@vue/compat": "^3.3.4",
"another-vue3-blurhash": "^0.0.1", "another-vue3-blurhash": "^0.0.1",
"apexcharts": "^3.41.0", "apexcharts": "^3.41.0",
"axios": "^1.4.0", "axios": "^1.4.0",
@ -32,11 +31,11 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"sortablejs": "^1.15.0", "sortablejs": "^1.15.0",
"sortablejs-vue3": "^1.2.9", "sortablejs-vue3": "^1.2.9",
"swiper": "^8.4.7", "swiper": "^10.2.0",
"vue": "^3.3.4", "vue": "^3.3.4",
"vue-countup-v3": "^1.3.0", "vue-countup-v3": "^1.3.0",
"vue-router": "^4.2.4", "vue-router": "^4.2.4",
"vue-the-mask": "^0.11.1", "vue-imask": "^7.1.3",
"vue3-apexcharts": "^1.4.4", "vue3-apexcharts": "^1.4.4",
"vuex": "^4.1.0" "vuex": "^4.1.0"
}, },

View File

@ -1,5 +1,5 @@
/** /**
* Swiper 8.4.7 * Swiper 10.2.0
* Most modern mobile touch slider and framework with hardware accelerated transitions * Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com * https://swiperjs.com
* *
@ -7,7 +7,7 @@
* *
* Released under the MIT License * Released under the MIT License
* *
* Released on: January 30, 2023 * Released on: August 17, 2023
*/ */
@font-face { @font-face {
font-family: 'swiper-icons'; font-family: 'swiper-icons';
@ -15,16 +15,29 @@
font-weight: 400; font-weight: 400;
font-style: normal; } font-style: normal; }
:root { :root {
--swiper-theme-color: #007aff; } --swiper-theme-color: #007aff;
/*
--swiper-preloader-color: var(--swiper-theme-color);
--swiper-wrapper-transition-timing-function: initial;
*/ }
:host {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
z-index: 1; }
.swiper { .swiper {
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
overflow: clip;
list-style: none; list-style: none;
padding: 0; padding: 0;
/* Fix of Webkit flickering */ /* Fix of Webkit flickering */
z-index: 1; } z-index: 1;
display: block; }
.swiper-vertical > .swiper-wrapper { .swiper-vertical > .swiper-wrapper {
flex-direction: column; } flex-direction: column; }
@ -36,23 +49,27 @@
z-index: 1; z-index: 1;
display: flex; display: flex;
transition-property: transform; transition-property: transform;
transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
box-sizing: content-box; } box-sizing: content-box; }
.swiper-android .swiper-slide, .swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper { .swiper-wrapper {
transform: translate3d(0px, 0, 0); } transform: translate3d(0px, 0, 0); }
.swiper-pointer-events { .swiper-horizontal {
touch-action: pan-y; } touch-action: pan-y; }
.swiper-pointer-events.swiper-vertical {
touch-action: pan-x; } .swiper-vertical {
touch-action: pan-x; }
.swiper-slide { .swiper-slide {
flex-shrink: 0; flex-shrink: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
transition-property: transform; } transition-property: transform;
display: block; }
.swiper-slide-invisible-blank { .swiper-slide-invisible-blank {
visibility: hidden; } visibility: hidden; }
@ -61,6 +78,7 @@
.swiper-autoheight, .swiper-autoheight,
.swiper-autoheight .swiper-slide { .swiper-autoheight .swiper-slide {
height: auto; } height: auto; }
.swiper-autoheight .swiper-wrapper { .swiper-autoheight .swiper-wrapper {
align-items: flex-start; align-items: flex-start;
transition-property: transform, height; } transition-property: transform, height; }
@ -70,17 +88,64 @@
backface-visibility: hidden; } backface-visibility: hidden; }
/* 3D Effects */ /* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper { .swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px; } perspective: 1200px; }
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide, .swiper-3d .swiper-wrapper {
transform-style: preserve-3d; }
.swiper-3d {
perspective: 1200px; }
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d; }
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */ }
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none; }
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start; }
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
scroll-snap-type: x mandatory; }
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
scroll-snap-type: y mandatory; }
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
scroll-snap-type: none; }
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: none; }
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999; }
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always; }
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before); }
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after); }
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before); }
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after); }
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d; }
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-right,
@ -104,50 +169,47 @@
.swiper-3d .swiper-slide-shadow-bottom { .swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
/* CSS Mode */ .swiper-lazy-preloader {
.swiper-css-mode > .swiper-wrapper { width: 42px;
overflow: auto; height: 42px;
scrollbar-width: none; position: absolute;
/* For Firefox */ left: 50%;
-ms-overflow-style: none; top: 50%;
/* For Internet Explorer and Edge */ } margin-left: -21px;
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { margin-top: -21px;
display: none; } z-index: 10;
.swiper-css-mode > .swiper-wrapper > .swiper-slide { transform-origin: 50%;
scroll-snap-align: start start; } box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent; }
.swiper-horizontal.swiper-css-mode > .swiper-wrapper { .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
scroll-snap-type: x mandatory; } .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
animation: swiper-preloader-spin 1s infinite linear; }
.swiper-vertical.swiper-css-mode > .swiper-wrapper { .swiper-lazy-preloader-white {
scroll-snap-type: y mandatory; } --swiper-preloader-color: #fff; }
.swiper-centered > .swiper-wrapper::before { .swiper-lazy-preloader-black {
content: ''; --swiper-preloader-color: #000; }
flex-shrink: 0;
order: 9999; }
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before); }
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
width: var(--swiper-centered-offset-after); }
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before); }
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
height: var(--swiper-centered-offset-after); }
.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always; }
@keyframes swiper-preloader-spin {
0% {
transform: rotate(0deg); }
100% {
transform: rotate(360deg); } }
/* Slide styles end */
:root { :root {
--swiper-navigation-size: 44px; --swiper-navigation-size: 44px;
/* /*
--swiper-navigation-top-offset: 50%;
--swiper-navigation-sides-offset: 10px;
--swiper-navigation-color: var(--swiper-theme-color); --swiper-navigation-color: var(--swiper-theme-color);
*/ } */ }
.swiper-button-prev, .swiper-button-next { .swiper-button-prev, .swiper-button-next {
position: absolute; position: absolute;
top: 50%; top: var(--swiper-navigation-top-offset, 50%);
width: calc(var(--swiper-navigation-size) / 44 * 27); width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size); height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
@ -170,33 +232,50 @@
.swiper-navigation-disabled .swiper-button-prev, .swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next { .swiper-navigation-disabled .swiper-button-next {
display: none !important; } display: none !important; }
.swiper-button-prev:after, .swiper-button-next:after { .swiper-button-prev svg, .swiper-button-next svg {
font-family: swiper-icons; width: 100%;
font-size: var(--swiper-navigation-size); height: 100%;
text-transform: none !important; object-fit: contain;
letter-spacing: 0; transform-origin: center; }
font-variant: initial; .swiper-rtl .swiper-button-prev svg, .swiper-rtl .swiper-button-next svg {
line-height: 1; } transform: rotate(180deg); }
.swiper-button-prev, .swiper-button-prev,
.swiper-rtl .swiper-button-next { .swiper-rtl .swiper-button-next {
left: 10px; left: var(--swiper-navigation-sides-offset, 10px);
right: auto; } right: auto; }
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'; }
.swiper-button-next, .swiper-button-next,
.swiper-rtl .swiper-button-prev { .swiper-rtl .swiper-button-prev {
right: 10px; right: var(--swiper-navigation-sides-offset, 10px);
left: auto; }
.swiper-button-lock {
display: none; }
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
font-variant: initial;
line-height: 1; }
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'; }
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto; } left: auto; }
.swiper-button-next:after, .swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after { .swiper-rtl .swiper-button-prev:after {
content: 'next'; } content: 'next'; }
.swiper-button-lock { /* Navigation font end */
display: none; }
/* a11y */ /* a11y */
.swiper .swiper-notification { .swiper .swiper-notification {
position: absolute; position: absolute;

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/** /**
* Swiper 8.4.7 * Swiper 10.2.0
* Most modern mobile touch slider and framework with hardware accelerated transitions * Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com * https://swiperjs.com
* *
@ -7,7 +7,7 @@
* *
* Released under the MIT License * Released under the MIT License
* *
* Released on: January 30, 2023 * Released on: August 17, 2023
*/ */
@font-face { @font-face {
font-family: 'swiper-icons'; font-family: 'swiper-icons';
@ -15,16 +15,29 @@
font-weight: 400; font-weight: 400;
font-style: normal; } font-style: normal; }
:root { :root {
--swiper-theme-color: #007aff; } --swiper-theme-color: #007aff;
/*
--swiper-preloader-color: var(--swiper-theme-color);
--swiper-wrapper-transition-timing-function: initial;
*/ }
:host {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
z-index: 1; }
.swiper { .swiper {
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
overflow: clip;
list-style: none; list-style: none;
padding: 0; padding: 0;
/* Fix of Webkit flickering */ /* Fix of Webkit flickering */
z-index: 1; } z-index: 1;
display: block; }
.swiper-vertical > .swiper-wrapper { .swiper-vertical > .swiper-wrapper {
flex-direction: column; } flex-direction: column; }
@ -36,23 +49,27 @@
z-index: 1; z-index: 1;
display: flex; display: flex;
transition-property: transform; transition-property: transform;
transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
box-sizing: content-box; } box-sizing: content-box; }
.swiper-android .swiper-slide, .swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper { .swiper-wrapper {
transform: translate3d(0px, 0, 0); } transform: translate3d(0px, 0, 0); }
.swiper-pointer-events { .swiper-horizontal {
touch-action: pan-y; } touch-action: pan-y; }
.swiper-pointer-events.swiper-vertical {
touch-action: pan-x; } .swiper-vertical {
touch-action: pan-x; }
.swiper-slide { .swiper-slide {
flex-shrink: 0; flex-shrink: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
transition-property: transform; } transition-property: transform;
display: block; }
.swiper-slide-invisible-blank { .swiper-slide-invisible-blank {
visibility: hidden; } visibility: hidden; }
@ -61,6 +78,7 @@
.swiper-autoheight, .swiper-autoheight,
.swiper-autoheight .swiper-slide { .swiper-autoheight .swiper-slide {
height: auto; } height: auto; }
.swiper-autoheight .swiper-wrapper { .swiper-autoheight .swiper-wrapper {
align-items: flex-start; align-items: flex-start;
transition-property: transform, height; } transition-property: transform, height; }
@ -70,17 +88,64 @@
backface-visibility: hidden; } backface-visibility: hidden; }
/* 3D Effects */ /* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper { .swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px; } perspective: 1200px; }
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide, .swiper-3d .swiper-wrapper {
transform-style: preserve-3d; }
.swiper-3d {
perspective: 1200px; }
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d; }
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */ }
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none; }
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start; }
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
scroll-snap-type: x mandatory; }
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
scroll-snap-type: y mandatory; }
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
scroll-snap-type: none; }
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: none; }
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999; }
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always; }
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before); }
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after); }
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before); }
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after); }
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d; }
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-right,
@ -104,50 +169,47 @@
.swiper-3d .swiper-slide-shadow-bottom { .swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
/* CSS Mode */ .swiper-lazy-preloader {
.swiper-css-mode > .swiper-wrapper { width: 42px;
overflow: auto; height: 42px;
scrollbar-width: none; position: absolute;
/* For Firefox */ left: 50%;
-ms-overflow-style: none; top: 50%;
/* For Internet Explorer and Edge */ } margin-left: -21px;
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { margin-top: -21px;
display: none; } z-index: 10;
.swiper-css-mode > .swiper-wrapper > .swiper-slide { transform-origin: 50%;
scroll-snap-align: start start; } box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent; }
.swiper-horizontal.swiper-css-mode > .swiper-wrapper { .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
scroll-snap-type: x mandatory; } .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
animation: swiper-preloader-spin 1s infinite linear; }
.swiper-vertical.swiper-css-mode > .swiper-wrapper { .swiper-lazy-preloader-white {
scroll-snap-type: y mandatory; } --swiper-preloader-color: #fff; }
.swiper-centered > .swiper-wrapper::before { .swiper-lazy-preloader-black {
content: ''; --swiper-preloader-color: #000; }
flex-shrink: 0;
order: 9999; }
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before); }
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
width: var(--swiper-centered-offset-after); }
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before); }
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
height: var(--swiper-centered-offset-after); }
.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always; }
@keyframes swiper-preloader-spin {
0% {
transform: rotate(0deg); }
100% {
transform: rotate(360deg); } }
/* Slide styles end */
:root { :root {
--swiper-navigation-size: 44px; --swiper-navigation-size: 44px;
/* /*
--swiper-navigation-top-offset: 50%;
--swiper-navigation-sides-offset: 10px;
--swiper-navigation-color: var(--swiper-theme-color); --swiper-navigation-color: var(--swiper-theme-color);
*/ } */ }
.swiper-button-prev, .swiper-button-next { .swiper-button-prev, .swiper-button-next {
position: absolute; position: absolute;
top: 50%; top: var(--swiper-navigation-top-offset, 50%);
width: calc(var(--swiper-navigation-size) / 44 * 27); width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size); height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
@ -170,33 +232,50 @@
.swiper-navigation-disabled .swiper-button-prev, .swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next { .swiper-navigation-disabled .swiper-button-next {
display: none !important; } display: none !important; }
.swiper-button-prev:after, .swiper-button-next:after { .swiper-button-prev svg, .swiper-button-next svg {
font-family: swiper-icons; width: 100%;
font-size: var(--swiper-navigation-size); height: 100%;
text-transform: none !important; object-fit: contain;
letter-spacing: 0; transform-origin: center; }
font-variant: initial; .swiper-rtl .swiper-button-prev svg, .swiper-rtl .swiper-button-next svg {
line-height: 1; } transform: rotate(180deg); }
.swiper-button-prev, .swiper-button-prev,
.swiper-rtl .swiper-button-next { .swiper-rtl .swiper-button-next {
left: 10px; left: var(--swiper-navigation-sides-offset, 10px);
right: auto; } right: auto; }
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'; }
.swiper-button-next, .swiper-button-next,
.swiper-rtl .swiper-button-prev { .swiper-rtl .swiper-button-prev {
right: 10px; right: var(--swiper-navigation-sides-offset, 10px);
left: auto; }
.swiper-button-lock {
display: none; }
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
font-variant: initial;
line-height: 1; }
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'; }
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto; } left: auto; }
.swiper-button-next:after, .swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after { .swiper-rtl .swiper-button-prev:after {
content: 'next'; } content: 'next'; }
.swiper-button-lock { /* Navigation font end */
display: none; }
/* a11y */ /* a11y */
.swiper .swiper-notification { .swiper .swiper-notification {
position: absolute; position: absolute;

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/** /**
* Swiper 8.4.7 * Swiper 10.2.0
* Most modern mobile touch slider and framework with hardware accelerated transitions * Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com * https://swiperjs.com
* *
@ -7,7 +7,7 @@
* *
* Released under the MIT License * Released under the MIT License
* *
* Released on: January 30, 2023 * Released on: August 17, 2023
*/ */
@font-face { @font-face {
font-family: 'swiper-icons'; font-family: 'swiper-icons';
@ -15,16 +15,29 @@
font-weight: 400; font-weight: 400;
font-style: normal; } font-style: normal; }
:root { :root {
--swiper-theme-color: #007aff; } --swiper-theme-color: #007aff;
/*
--swiper-preloader-color: var(--swiper-theme-color);
--swiper-wrapper-transition-timing-function: initial;
*/ }
:host {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
z-index: 1; }
.swiper { .swiper {
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
overflow: clip;
list-style: none; list-style: none;
padding: 0; padding: 0;
/* Fix of Webkit flickering */ /* Fix of Webkit flickering */
z-index: 1; } z-index: 1;
display: block; }
.swiper-vertical > .swiper-wrapper { .swiper-vertical > .swiper-wrapper {
flex-direction: column; } flex-direction: column; }
@ -36,23 +49,27 @@
z-index: 1; z-index: 1;
display: flex; display: flex;
transition-property: transform; transition-property: transform;
transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
box-sizing: content-box; } box-sizing: content-box; }
.swiper-android .swiper-slide, .swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper { .swiper-wrapper {
transform: translate3d(0px, 0, 0); } transform: translate3d(0px, 0, 0); }
.swiper-pointer-events { .swiper-horizontal {
touch-action: pan-y; } touch-action: pan-y; }
.swiper-pointer-events.swiper-vertical {
touch-action: pan-x; } .swiper-vertical {
touch-action: pan-x; }
.swiper-slide { .swiper-slide {
flex-shrink: 0; flex-shrink: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
transition-property: transform; } transition-property: transform;
display: block; }
.swiper-slide-invisible-blank { .swiper-slide-invisible-blank {
visibility: hidden; } visibility: hidden; }
@ -61,6 +78,7 @@
.swiper-autoheight, .swiper-autoheight,
.swiper-autoheight .swiper-slide { .swiper-autoheight .swiper-slide {
height: auto; } height: auto; }
.swiper-autoheight .swiper-wrapper { .swiper-autoheight .swiper-wrapper {
align-items: flex-start; align-items: flex-start;
transition-property: transform, height; } transition-property: transform, height; }
@ -70,17 +88,64 @@
backface-visibility: hidden; } backface-visibility: hidden; }
/* 3D Effects */ /* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper { .swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px; } perspective: 1200px; }
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide, .swiper-3d .swiper-wrapper {
transform-style: preserve-3d; }
.swiper-3d {
perspective: 1200px; }
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d; }
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */ }
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none; }
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start; }
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
scroll-snap-type: x mandatory; }
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
scroll-snap-type: y mandatory; }
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
scroll-snap-type: none; }
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: none; }
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999; }
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always; }
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before); }
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after); }
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before); }
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after); }
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d; }
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-right,
@ -104,50 +169,47 @@
.swiper-3d .swiper-slide-shadow-bottom { .swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
/* CSS Mode */ .swiper-lazy-preloader {
.swiper-css-mode > .swiper-wrapper { width: 42px;
overflow: auto; height: 42px;
scrollbar-width: none; position: absolute;
/* For Firefox */ left: 50%;
-ms-overflow-style: none; top: 50%;
/* For Internet Explorer and Edge */ } margin-left: -21px;
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { margin-top: -21px;
display: none; } z-index: 10;
.swiper-css-mode > .swiper-wrapper > .swiper-slide { transform-origin: 50%;
scroll-snap-align: start start; } box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent; }
.swiper-horizontal.swiper-css-mode > .swiper-wrapper { .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
scroll-snap-type: x mandatory; } .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
animation: swiper-preloader-spin 1s infinite linear; }
.swiper-vertical.swiper-css-mode > .swiper-wrapper { .swiper-lazy-preloader-white {
scroll-snap-type: y mandatory; } --swiper-preloader-color: #fff; }
.swiper-centered > .swiper-wrapper::before { .swiper-lazy-preloader-black {
content: ''; --swiper-preloader-color: #000; }
flex-shrink: 0;
order: 9999; }
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before); }
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
width: var(--swiper-centered-offset-after); }
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before); }
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
height: var(--swiper-centered-offset-after); }
.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always; }
@keyframes swiper-preloader-spin {
0% {
transform: rotate(0deg); }
100% {
transform: rotate(360deg); } }
/* Slide styles end */
:root { :root {
--swiper-navigation-size: 44px; --swiper-navigation-size: 44px;
/* /*
--swiper-navigation-top-offset: 50%;
--swiper-navigation-sides-offset: 10px;
--swiper-navigation-color: var(--swiper-theme-color); --swiper-navigation-color: var(--swiper-theme-color);
*/ } */ }
.swiper-button-prev, .swiper-button-next { .swiper-button-prev, .swiper-button-next {
position: absolute; position: absolute;
top: 50%; top: var(--swiper-navigation-top-offset, 50%);
width: calc(var(--swiper-navigation-size) / 44 * 27); width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size); height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
@ -170,33 +232,50 @@
.swiper-navigation-disabled .swiper-button-prev, .swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next { .swiper-navigation-disabled .swiper-button-next {
display: none !important; } display: none !important; }
.swiper-button-prev:after, .swiper-button-next:after { .swiper-button-prev svg, .swiper-button-next svg {
font-family: swiper-icons; width: 100%;
font-size: var(--swiper-navigation-size); height: 100%;
text-transform: none !important; object-fit: contain;
letter-spacing: 0; transform-origin: center; }
font-variant: initial; .swiper-rtl .swiper-button-prev svg, .swiper-rtl .swiper-button-next svg {
line-height: 1; } transform: rotate(180deg); }
.swiper-button-prev, .swiper-button-prev,
.swiper-rtl .swiper-button-next { .swiper-rtl .swiper-button-next {
left: 10px; left: var(--swiper-navigation-sides-offset, 10px);
right: auto; } right: auto; }
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'; }
.swiper-button-next, .swiper-button-next,
.swiper-rtl .swiper-button-prev { .swiper-rtl .swiper-button-prev {
right: 10px; right: var(--swiper-navigation-sides-offset, 10px);
left: auto; }
.swiper-button-lock {
display: none; }
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
font-variant: initial;
line-height: 1; }
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'; }
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto; } left: auto; }
.swiper-button-next:after, .swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after { .swiper-rtl .swiper-button-prev:after {
content: 'next'; } content: 'next'; }
.swiper-button-lock { /* Navigation font end */
display: none; }
/* a11y */ /* a11y */
.swiper .swiper-notification { .swiper .swiper-notification {
position: absolute; position: absolute;

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/** /**
* Swiper 8.4.7 * Swiper 10.2.0
* Most modern mobile touch slider and framework with hardware accelerated transitions * Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com * https://swiperjs.com
* *
@ -7,7 +7,7 @@
* *
* Released under the MIT License * Released under the MIT License
* *
* Released on: January 30, 2023 * Released on: August 17, 2023
*/ */
@font-face { @font-face {
font-family: 'swiper-icons'; font-family: 'swiper-icons';
@ -15,16 +15,29 @@
font-weight: 400; font-weight: 400;
font-style: normal; } font-style: normal; }
:root { :root {
--swiper-theme-color: #007aff; } --swiper-theme-color: #007aff;
/*
--swiper-preloader-color: var(--swiper-theme-color);
--swiper-wrapper-transition-timing-function: initial;
*/ }
:host {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
z-index: 1; }
.swiper { .swiper {
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
overflow: clip;
list-style: none; list-style: none;
padding: 0; padding: 0;
/* Fix of Webkit flickering */ /* Fix of Webkit flickering */
z-index: 1; } z-index: 1;
display: block; }
.swiper-vertical > .swiper-wrapper { .swiper-vertical > .swiper-wrapper {
flex-direction: column; } flex-direction: column; }
@ -36,23 +49,27 @@
z-index: 1; z-index: 1;
display: flex; display: flex;
transition-property: transform; transition-property: transform;
transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
box-sizing: content-box; } box-sizing: content-box; }
.swiper-android .swiper-slide, .swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper { .swiper-wrapper {
transform: translate3d(0px, 0, 0); } transform: translate3d(0px, 0, 0); }
.swiper-pointer-events { .swiper-horizontal {
touch-action: pan-y; } touch-action: pan-y; }
.swiper-pointer-events.swiper-vertical {
touch-action: pan-x; } .swiper-vertical {
touch-action: pan-x; }
.swiper-slide { .swiper-slide {
flex-shrink: 0; flex-shrink: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
transition-property: transform; } transition-property: transform;
display: block; }
.swiper-slide-invisible-blank { .swiper-slide-invisible-blank {
visibility: hidden; } visibility: hidden; }
@ -61,6 +78,7 @@
.swiper-autoheight, .swiper-autoheight,
.swiper-autoheight .swiper-slide { .swiper-autoheight .swiper-slide {
height: auto; } height: auto; }
.swiper-autoheight .swiper-wrapper { .swiper-autoheight .swiper-wrapper {
align-items: flex-start; align-items: flex-start;
transition-property: transform, height; } transition-property: transform, height; }
@ -70,17 +88,64 @@
backface-visibility: hidden; } backface-visibility: hidden; }
/* 3D Effects */ /* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper { .swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px; } perspective: 1200px; }
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide, .swiper-3d .swiper-wrapper {
transform-style: preserve-3d; }
.swiper-3d {
perspective: 1200px; }
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d; }
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */ }
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none; }
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start; }
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
scroll-snap-type: x mandatory; }
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
scroll-snap-type: y mandatory; }
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
scroll-snap-type: none; }
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: none; }
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999; }
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always; }
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before); }
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after); }
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before); }
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after); }
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d; }
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-right,
@ -104,50 +169,47 @@
.swiper-3d .swiper-slide-shadow-bottom { .swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
/* CSS Mode */ .swiper-lazy-preloader {
.swiper-css-mode > .swiper-wrapper { width: 42px;
overflow: auto; height: 42px;
scrollbar-width: none; position: absolute;
/* For Firefox */ left: 50%;
-ms-overflow-style: none; top: 50%;
/* For Internet Explorer and Edge */ } margin-left: -21px;
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { margin-top: -21px;
display: none; } z-index: 10;
.swiper-css-mode > .swiper-wrapper > .swiper-slide { transform-origin: 50%;
scroll-snap-align: start start; } box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent; }
.swiper-horizontal.swiper-css-mode > .swiper-wrapper { .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
scroll-snap-type: x mandatory; } .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
animation: swiper-preloader-spin 1s infinite linear; }
.swiper-vertical.swiper-css-mode > .swiper-wrapper { .swiper-lazy-preloader-white {
scroll-snap-type: y mandatory; } --swiper-preloader-color: #fff; }
.swiper-centered > .swiper-wrapper::before { .swiper-lazy-preloader-black {
content: ''; --swiper-preloader-color: #000; }
flex-shrink: 0;
order: 9999; }
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before); }
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
width: var(--swiper-centered-offset-after); }
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before); }
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
height: var(--swiper-centered-offset-after); }
.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always; }
@keyframes swiper-preloader-spin {
0% {
transform: rotate(0deg); }
100% {
transform: rotate(360deg); } }
/* Slide styles end */
:root { :root {
--swiper-navigation-size: 44px; --swiper-navigation-size: 44px;
/* /*
--swiper-navigation-top-offset: 50%;
--swiper-navigation-sides-offset: 10px;
--swiper-navigation-color: var(--swiper-theme-color); --swiper-navigation-color: var(--swiper-theme-color);
*/ } */ }
.swiper-button-prev, .swiper-button-next { .swiper-button-prev, .swiper-button-next {
position: absolute; position: absolute;
top: 50%; top: var(--swiper-navigation-top-offset, 50%);
width: calc(var(--swiper-navigation-size) / 44 * 27); width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size); height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
@ -170,33 +232,50 @@
.swiper-navigation-disabled .swiper-button-prev, .swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next { .swiper-navigation-disabled .swiper-button-next {
display: none !important; } display: none !important; }
.swiper-button-prev:after, .swiper-button-next:after { .swiper-button-prev svg, .swiper-button-next svg {
font-family: swiper-icons; width: 100%;
font-size: var(--swiper-navigation-size); height: 100%;
text-transform: none !important; object-fit: contain;
letter-spacing: 0; transform-origin: center; }
font-variant: initial; .swiper-rtl .swiper-button-prev svg, .swiper-rtl .swiper-button-next svg {
line-height: 1; } transform: rotate(180deg); }
.swiper-button-prev, .swiper-button-prev,
.swiper-rtl .swiper-button-next { .swiper-rtl .swiper-button-next {
left: 10px; left: var(--swiper-navigation-sides-offset, 10px);
right: auto; } right: auto; }
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'; }
.swiper-button-next, .swiper-button-next,
.swiper-rtl .swiper-button-prev { .swiper-rtl .swiper-button-prev {
right: 10px; right: var(--swiper-navigation-sides-offset, 10px);
left: auto; }
.swiper-button-lock {
display: none; }
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
font-variant: initial;
line-height: 1; }
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'; }
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto; } left: auto; }
.swiper-button-next:after, .swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after { .swiper-rtl .swiper-button-prev:after {
content: 'next'; } content: 'next'; }
.swiper-button-lock { /* Navigation font end */
display: none; }
/* a11y */ /* a11y */
.swiper .swiper-notification { .swiper .swiper-notification {
position: absolute; position: absolute;

File diff suppressed because one or more lines are too long

View File

@ -54,7 +54,6 @@
import TainacanHeader from './components/navigation/tainacan-header.vue'; import TainacanHeader from './components/navigation/tainacan-header.vue';
import TainacanRepositorySubheader from './components/navigation/tainacan-repository-subheader.vue'; import TainacanRepositorySubheader from './components/navigation/tainacan-repository-subheader.vue';
import CustomDialog from './components/other/custom-dialog.vue'; import CustomDialog from './components/other/custom-dialog.vue';
import "floating-vue/dist/style.css";
export default { export default {
name: "AdminPage", name: "AdminPage",
@ -146,6 +145,7 @@
</script> </script>
<style lang="scss"> <style lang="scss">
@import url('floating-vue/dist/style.css');
.is-fullheight { .is-fullheight {
height: 100%; height: 100%;

View File

@ -730,7 +730,9 @@ import ItemFormFooterButtons from './item-form-footer-buttons.vue';
import 'swiper/css'; import 'swiper/css';
import 'swiper/css/mousewheel'; import 'swiper/css/mousewheel';
import 'swiper/css/navigation'; import 'swiper/css/navigation';
import Swiper, { Mousewheel, Navigation } from 'swiper';
import Swiper from 'swiper';
import { Mousewheel, Navigation } from 'swiper/modules';
export default { export default {
name: 'ItemEditionForm', name: 'ItemEditionForm',

View File

@ -10,7 +10,7 @@
class="show" class="show"
v-model="singleCollapseOpen" v-model="singleCollapseOpen"
animation="filter-item"> animation="filter-item">
<template #trigger="{ props }"> <template #trigger="props">
<button <button
:for="'filter-input-id-' + filter.id" :for="'filter-input-id-' + filter.id"
:aria-controls="'filter-input-id-' + filter.id" :aria-controls="'filter-input-id-' + filter.id"
@ -32,8 +32,8 @@
<span class="icon"> <span class="icon">
<i <i
:class="{ :class="{
'tainacan-icon-arrowdown' : props.open, 'tainacan-icon-arrowdown' : props && props.open,
'tainacan-icon-arrowright' : !props.open 'tainacan-icon-arrowright' : props && !props.open
}" }"
class="tainacan-icon tainacan-icon-1-25em"/> class="tainacan-icon tainacan-icon-1-25em"/>
</span> </span>

View File

@ -94,6 +94,7 @@
put: [ 'metadata-sections' ] put: [ 'metadata-sections' ]
}, },
sort: (openedMetadataSectionId == '' || openedMetadataSectionId == undefined) && (openedMetadatumId == '' || openedMetadatumId == undefined), sort: (openedMetadataSectionId == '' || openedMetadataSectionId == undefined) && (openedMetadatumId == '' || openedMetadatumId == undefined),
direction: 'vertical',
handle: '.handle', handle: '.handle',
ghostClass: 'sortable-ghost', ghostClass: 'sortable-ghost',
chosenClass: 'sortable-chosen', chosenClass: 'sortable-chosen',
@ -273,6 +274,7 @@
}, },
sort: (openedMetadatumId == '' || openedMetadatumId == undefined) && (openedMetadataSectionId == '' || openedMetadataSectionId == undefined), sort: (openedMetadatumId == '' || openedMetadatumId == undefined) && (openedMetadataSectionId == '' || openedMetadataSectionId == undefined),
handle: '.handle', handle: '.handle',
direction: 'vertical',
ghostClass: 'sortable-ghost', ghostClass: 'sortable-ghost',
chosenClass: 'sortable-chosen', chosenClass: 'sortable-chosen',
filter: '.not-sortable-item', filter: '.not-sortable-item',
@ -466,7 +468,7 @@
:is-parent-multiple="metadatum.multiple == 'yes'" :is-parent-multiple="metadatum.multiple == 'yes'"
:is-repository-level="false" :is-repository-level="false"
:collapse-all="collapseAll" :collapse-all="collapseAll"
:section-id="metadataSection.id" /> :section-id="metadataSection.id + ''" />
<!-- Metadata edition form, for each metadata --> <!-- Metadata edition form, for each metadata -->
<b-modal <b-modal
@ -565,7 +567,7 @@ export default {
set(value) { set(value) {
this.updateMetadataSections(value); this.updateMetadataSections(value);
} }
} },
}, },
watch: { watch: {
'$route.query': { '$route.query': {
@ -643,7 +645,8 @@ export default {
'moveMetadatumDown' 'moveMetadatumDown'
]), ]),
...mapGetters('metadata',[ ...mapGetters('metadata',[
'getMetadataSections' 'getMetadataSections',
'getMetadatumTypes'
]), ]),
handleSectionChange($event) { handleSectionChange($event) {
switch ( $event.type ) { switch ( $event.type ) {
@ -669,9 +672,11 @@ export default {
handleChange($event, sectionIndex) { handleChange($event, sectionIndex) {
switch ( $event.type ) { switch ( $event.type ) {
case 'add': case 'add':
if ( !this.activeMetadataSectionsList[sectionIndex].metadata_object_list[$event.oldIndex]['id'] )
this.addNewMetadatum(this.activeMetadataSectionsList[sectionIndex].metadata_object_list[$event.oldIndex], $event.newIndex, sectionIndex); if ( !$event.from.classList.contains('active-metadata-area') ) {
else { this.addNewMetadatum(this.getMetadatumTypes()[$event.oldIndex], $event.newIndex, sectionIndex);
$event.originalTarget.removeChild($event.item)
} else {
this.updateMetadatum({ this.updateMetadatum({
collectionId: this.collectionId, collectionId: this.collectionId,
@ -699,6 +704,7 @@ export default {
this.updateMetadataOrder(sectionIndex); this.updateMetadataOrder(sectionIndex);
break; break;
} }
}, },
updateMetadataOrder(sectionIndex) { updateMetadataOrder(sectionIndex) {
let metadataOrder = []; let metadataOrder = [];
@ -711,8 +717,13 @@ export default {
this.isUpdatingMetadataOrder = true; this.isUpdatingMetadataOrder = true;
this.updateCollectionMetadataOrder({ collectionId: this.collectionId, metadataOrder: metadataOrder, metadataSectionId: this.activeMetadataSectionsList[sectionIndex].id }) this.updateCollectionMetadataOrder({ collectionId: this.collectionId, metadataOrder: metadataOrder, metadataSectionId: this.activeMetadataSectionsList[sectionIndex].id })
.then(() => this.isUpdatingMetadataOrder = false) .then(() => {
this.isUpdatingMetadataOrder = false
})
.catch(() => this.isUpdatingMetadataOrder = false); .catch(() => this.isUpdatingMetadataOrder = false);
}, },
updateMetadataSectionsOrder() { updateMetadataSectionsOrder() {
let metadataSectionsOrder = []; let metadataSectionsOrder = [];
@ -782,9 +793,7 @@ export default {
sectionId: this.activeMetadataSectionsList[sectionIndex].id sectionId: this.activeMetadataSectionsList[sectionIndex].id
}) })
.then((metadatum) => { .then((metadatum) => {
this.updateMetadataOrder(sectionIndex); this.updateMetadataOrder(sectionIndex);
this.toggleMetadatumEdition(metadatum) this.toggleMetadatumEdition(metadatum)
this.highlightedMetadatum = ''; this.highlightedMetadatum = '';
this.isUpdatingMetadatum = false; this.isUpdatingMetadatum = false;

View File

@ -5,7 +5,7 @@
:disabled="disabled" :disabled="disabled"
:custom-class="{ 'is-danger': isInvalidDate && dateValue }" :custom-class="{ 'is-danger': isInvalidDate && dateValue }"
type="text" type="text"
v-mask="dateMask" v-imask="dateMask"
v-model="dateValue" v-model="dateValue"
@update:model-value="onInput" @update:model-value="onInput"
@blur="onBlur" @blur="onBlur"
@ -21,8 +21,12 @@
<script> <script>
import { dateInter } from "../../../js/mixins"; import { dateInter } from "../../../js/mixins";
import moment from 'moment'; import moment from 'moment';
import { IMaskDirective } from 'vue-imask';
export default { export default {
directives: {
imask: IMaskDirective
},
mixins: [ dateInter ], mixins: [ dateInter ],
props: { props: {
itemMetadatum: Object, itemMetadatum: Object,

View File

@ -68,7 +68,7 @@ export default {
}, },
computed: { computed: {
slotPassed() { slotPassed() {
return this.$slots && this.$slots.default && (!!this.$slots.default[0].text || !!this.$slots.default[0].tag) return this.$slots && this.$slots.default && this.$slots.default[0] && (!!this.$slots.default[0].text || !!this.$slots.default[0].tag)
}, },
collection() { collection() {
return this.getCollection(); return this.getCollection();

View File

@ -40,12 +40,12 @@
</template> </template>
<script> <script>
import { VTooltip } from 'floating-vue'; import { Tooltip } from 'floating-vue';
export default { export default {
name: 'HelpButton', name: 'HelpButton',
components: [ components: {
VTooltip 'v-tooltip': Tooltip
], },
props: { props: {
formErrors: Array formErrors: Array
}, },

View File

@ -113,7 +113,7 @@
v-else-if="getAdvancedSearchQueryCriterionMetadataType(searchCriterion.index) == 'date'" v-else-if="getAdvancedSearchQueryCriterionMetadataType(searchCriterion.index) == 'date'"
class="input" class="input"
:value="parseValidDateToNavigatorLanguage(advancedSearchQuery.metaquery[searchCriterion.index].value)" :value="parseValidDateToNavigatorLanguage(advancedSearchQuery.metaquery[searchCriterion.index].value)"
v-mask="dateMask" v-imask="dateMask"
@input="addValueToAdvancedSearchQuery($event.target.value, searchCriterion)" @input="addValueToAdvancedSearchQuery($event.target.value, searchCriterion)"
:placeholder="dateFormat" :placeholder="dateFormat"
type="text" type="text"
@ -236,9 +236,13 @@
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import { dateInter } from '../../js/mixins.js'; import { dateInter } from '../../js/mixins.js';
import moment from 'moment'; import moment from 'moment';
import { IMaskDirective } from 'vue-imask';
export default { export default {
name: "AdvancedSearch", name: "AdvancedSearch",
directives: {
imask: IMaskDirective
},
mixins: [ dateInter ], mixins: [ dateInter ],
props: { props: {
isRepositoryLevel: false, isRepositoryLevel: false,

View File

@ -80,7 +80,6 @@
<template v-if="taxonomyFilter.length > 0"> <template v-if="taxonomyFilter.length > 0">
<tainacan-filter-item <tainacan-filter-item
:is-loading-items="isLoadingItems" :is-loading-items="isLoadingItems"
v-show="!isMenuCompressed"
:query="getQuery" :query="getQuery"
v-for="(filter, filterIndex) in taxonomyFilter" v-for="(filter, filterIndex) in taxonomyFilter"
:key="filterIndex" :key="filterIndex"
@ -129,8 +128,7 @@
</div> </div>
<template v-if="taxonomyFilter.length > 0"> <template v-if="taxonomyFilter.length > 0">
<tainacan-filter-item <tainacan-filter-item
:is-loading-items="isLoadingItems" :is-loading-items="isLoadingItems"
v-show="!isMenuCompressed"
:query="getQuery" :query="getQuery"
v-for="(filter, filterIndex) in taxonomyFilter" v-for="(filter, filterIndex) in taxonomyFilter"
:key="filterIndex" :key="filterIndex"
@ -183,8 +181,7 @@
</div> </div>
<template v-if="repositoryCollectionFilter.length > 0"> <template v-if="repositoryCollectionFilter.length > 0">
<tainacan-filter-item <tainacan-filter-item
:is-loading-items="isLoadingItems" :is-loading-items="isLoadingItems"
v-show="!isMenuCompressed"
:query="getQuery" :query="getQuery"
v-for="(filter, filterIndex) in repositoryCollectionFilter" v-for="(filter, filterIndex) in repositoryCollectionFilter"
:key="filterIndex" :key="filterIndex"
@ -233,8 +230,7 @@
</div> </div>
<template v-if="repositoryCollectionFilter.length > 0"> <template v-if="repositoryCollectionFilter.length > 0">
<tainacan-filter-item <tainacan-filter-item
:is-loading-items="isLoadingItems" :is-loading-items="isLoadingItems"
v-show="!isMenuCompressed"
:query="getQuery" :query="getQuery"
v-for="(filter, filterIndex) in repositoryCollectionFilter" v-for="(filter, filterIndex) in repositoryCollectionFilter"
:key="filterIndex" :key="filterIndex"
@ -259,7 +255,6 @@
<template v-else> <template v-else>
<tainacan-filter-item <tainacan-filter-item
:is-loading-items="isLoadingItems" :is-loading-items="isLoadingItems"
v-show="!isMenuCompressed"
:query="getQuery" :query="getQuery"
v-for="(filter, index) in filters" v-for="(filter, index) in filters"
:key="index" :key="index"

View File

@ -81,7 +81,8 @@
import 'swiper/css'; import 'swiper/css';
import 'swiper/css/mousewheel'; import 'swiper/css/mousewheel';
import 'swiper/css/navigation'; import 'swiper/css/navigation';
import Swiper, { Mousewheel, Navigation } from 'swiper'; import Swiper from 'swiper';
import { Mousewheel, Navigation } from 'swiper/modules';
export default { export default {
name: 'FiltersTagsList', name: 'FiltersTagsList',
@ -134,6 +135,7 @@
watch: { watch: {
filterTags: { filterTags: {
handler() { handler() {
console.log(this.swiper)
if (typeof this.swiper.update == 'function') if (typeof this.swiper.update == 'function')
this.swiper.update(); this.swiper.update();
}, },

View File

@ -29,8 +29,7 @@ import {
Toast, Toast,
Numberinput Numberinput
} from '@ntohq/buefy-next'; } from '@ntohq/buefy-next';
import VTooltip from 'floating-vue'; import FloatingVue from 'floating-vue';
import VueTheMask from 'vue-the-mask';
import cssVars from 'css-vars-ponyfill'; import cssVars from 'css-vars-ponyfill';
import VueBlurHash from 'another-vue3-blurhash'; import VueBlurHash from 'another-vue3-blurhash';
@ -87,13 +86,13 @@ import {
} from './utilities'; } from './utilities';
import mitt from 'mitt'; import mitt from 'mitt';
import { configureCompat } from 'vue' // import { configureCompat } from 'vue';
// configureCompat({
// Desabilita a compatibilidade Vue2 para certos recursos já tratados no código // COMPONENT_V_MODEL: false,
configureCompat({ // ATTR_FALSE_VALUE: false,
COMPONENT_V_MODEL: false // RENDER_FUNCTION: false,
}) // MODE: 3
// })
export default (element) => { export default (element) => {
@ -149,41 +148,41 @@ export default (element) => {
app.use(Snackbar); app.use(Snackbar);
app.use(Toast); app.use(Toast);
app.use(Numberinput); app.use(Numberinput);
// app.use(VTooltip, { app.use(FloatingVue, {
// popperTriggers: ['hover', 'touch'], popperTriggers: ['hover', 'touch'],
// themes: { themes: {
// 'taianacan-tooltip': { 'taianacan-tooltip': {
// '$extend': 'tooltip', '$extend': 'tooltip',
// triggers: ['hover', 'focus', 'touch'], triggers: ['hover', 'focus', 'touch'],
// autoHide: true, autoHide: true,
// html: true html: true
// }, },
// 'tainacan-repository-tooltip': { 'tainacan-repository-tooltip': {
// '$extend': 'tainacan-tooltip', '$extend': 'tainacan-tooltip',
// triggers: ['hover', 'focus', 'touch'], triggers: ['hover', 'focus', 'touch'],
// autoHide: true, autoHide: true,
// html: true, html: true,
// }, },
// 'tainacan-repository-tooltip': { 'tainacan-repository-tooltip': {
// '$extend': 'tainacan-header-tooltip', '$extend': 'tainacan-header-tooltip',
// triggers: ['hover', 'focus', 'touch'], triggers: ['hover', 'focus', 'touch'],
// autoHide: true, autoHide: true,
// html: true, html: true,
// }, },
// 'tainacan-repository-tooltip': { 'tainacan-repository-tooltip': {
// '$extend': 'tainacan-repository-header-tooltip', '$extend': 'tainacan-repository-header-tooltip',
// triggers: ['hover', 'focus', 'touch'], triggers: ['hover', 'focus', 'touch'],
// autoHide: true, autoHide: true,
// html: true, html: true,
// }, },
// 'tainacan-helper-tooltip': { 'tainacan-helper-tooltip': {
// '$extend': 'tainacan-tooltip', '$extend': 'tainacan-tooltip',
// triggers: ['hover', 'focus', 'touch'], triggers: ['hover', 'focus', 'touch'],
// autoHide: true, autoHide: true,
// html: true, html: true,
// } }
// } }
// }); });
app.use(VueBlurHash); app.use(VueBlurHash);
app.use(I18NPlugin); app.use(I18NPlugin);
app.use(UserPrefsPlugin); app.use(UserPrefsPlugin);
@ -193,7 +192,6 @@ export default (element) => {
app.use(OrderByHelperPlugin); app.use(OrderByHelperPlugin);
app.use(StatusHelperPlugin); app.use(StatusHelperPlugin);
app.use(ConsolePlugin, {visual: false}); app.use(ConsolePlugin, {visual: false});
app.use(VueTheMask);
app.use(CommentsStatusHelperPlugin); app.use(CommentsStatusHelperPlugin);
app.use(AdminOptionsHelperPlugin, pageElement.dataset['options']); app.use(AdminOptionsHelperPlugin, pageElement.dataset['options']);
@ -242,8 +240,8 @@ export default (element) => {
app.component('tainacan-title', TainacanTitle); app.component('tainacan-title', TainacanTitle);
// Event bus are needed to facilate comunication between child-parent-child components // Event bus are needed to facilate comunication between child-parent-child components
app.use(eventBusMetadataList, {}); app.use(eventBusMetadataList);
app.use(eventBusSearch, { store: store, router: router }); app.use(eventBusSearch);
// Changing title of pages // Changing title of pages
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {

View File

@ -5,9 +5,11 @@ import mitt from 'mitt';
const emitter = mitt(); const emitter = mitt();
export const eventBusItemMetadata = createApp({ export const eventBusItemMetadata = createApp({
data: { data: () => {
errors : [], return {
conditionalSections: {} errors : [],
conditionalSections: {}
}
}, },
watch: { watch: {
errors: { errors: {

View File

@ -1,15 +1,15 @@
import mitt from 'mitt'; import mitt from 'mitt';
const emitter = mitt();
export default { export default {
install(app, options = {}) { install(app, options = {}) {
app.config.globalProperties.$eventBusSearch = { const emitter = mitt();
const bus = {
$store: app.config.globalProperties.$store, $store: app.config.globalProperties.$store,
$router: app.config.globalProperties.$router, $router: app.config.globalProperties.$router,
$route: app.config.globalProperties.$route, $route: app.config.globalProperties.$route,
$userPrefs: app.config.globalProperties.$userPrefs,
errors : [], errors : [],
query: {}, query: {},
collectionId: undefined, collectionId: undefined,
@ -209,11 +209,11 @@ export default {
this.$store.dispatch('search/set_postquery', this.$route.query); this.$store.dispatch('search/set_postquery', this.$route.query);
}, },
loadItems() { loadItems() {
console.log('loadItems')
// Forces fetch_only to be filled before any search happens // Forces fetch_only to be filled before any search happens
if (this.$store.getters['search/getPostQuery']['fetch_only'] != undefined) { if (this.$store.getters['search/getPostQuery']['fetch_only'] != undefined) {
this.$eventBusSearchEmitter.emit( 'isLoadingItems', true); app.config.globalProperties.$eventBusSearchEmitter.emit( 'isLoadingItems', true);
// Cancels previous Request // Cancels previous Request
if (this.searchCancel != undefined) if (this.searchCancel != undefined)
this.searchCancel.cancel('Item search Canceled.'); this.searchCancel.cancel('Item search Canceled.');
@ -226,11 +226,11 @@ export default {
}).then((resp) => { }).then((resp) => {
// The actual fetch item request // The actual fetch item request
resp.request.then((res) => { resp.request.then((res) => {
this.$eventBusSearchEmitter.emit( 'isLoadingItems', false); app.config.globalProperties.$eventBusSearchEmitter.emit( 'isLoadingItems', false);
this.$eventBusSearchEmitter.emit( 'hasFiltered', res.hasFiltered); app.config.globalProperties.$eventBusSearchEmitter.emit( 'hasFiltered', res.hasFiltered);
}) })
.catch(() => { .catch(() => {
this.$eventBusSearchEmitter.emit( 'isLoadingItems', false); app.config.globalProperties.$eventBusSearchEmitter.emit( 'isLoadingItems', false);
}); });
// Search Request Token for cancelling // Search Request Token for cancelling
@ -260,26 +260,27 @@ export default {
this.updateURLQueries(); this.updateURLQueries();
} }
} }
app.config.globalProperties.$eventBusSearch = bus;
// Defines the global $eventBusSearchEmitter for handling events across different search components // Defines the global $eventBusSearchEmitter for handling events across different search components
emitter.on('input', data => { emitter.on('input', data => {
if (data.taxonomy) if (data.taxonomy)
$eventBusSearch.addTaxquery(data); app.config.globalProperties.$eventBusSearch.addTaxquery(data);
else else
$eventBusSearch.addMetaquery(data); app.config.globalProperties.$eventBusSearch.addMetaquery(data);
}); });
emitter.on('closeAdvancedSearch', () => { emitter.on('closeAdvancedSearch', () => {
$eventBusSearch.$store.dispatch('search/setPage', 1); app.config.globalProperties.$eventBusSearch.$store.dispatch('search/setPage', 1);
$eventBusSearch.performAdvancedSearch({}); app.config.globalProperties.$eventBusSearch.performAdvancedSearch({});
}); });
emitter.on('performAdvancedSearch', advancedSearchQuery => { emitter.on('performAdvancedSearch', advancedSearchQuery => {
$eventBusSearch.$store.dispatch('search/setPage', 1); app.config.globalProperties.$eventBusSearch.$store.dispatch('search/setPage', 1);
$eventBusSearch.performAdvancedSearch(advancedSearchQuery); app.config.globalProperties.$eventBusSearch.performAdvancedSearch(advancedSearchQuery);
$eventBusSearch.updateURLQueries(); app.config.globalProperties.$eventBusSearch.updateURLQueries();
}); });
app.config.globalProperties.$eventBusSearchEmitter = emitter; app.config.globalProperties.$eventBusSearchEmitter = emitter;

View File

@ -19,7 +19,7 @@ export const filterTypeMixin = {
isRepositoryLevel: Boolean, isRepositoryLevel: Boolean,
isUsingElasticSearch: Boolean, isUsingElasticSearch: Boolean,
isLoadingItems: Boolean, isLoadingItems: Boolean,
currentCollectionId: Boolean currentCollectionId: String|Number
}, },
created() { created() {
this.collectionId = this.filter.collection_id ? this.filter.collection_id : this.collectionId; this.collectionId = this.filter.collection_id ? this.filter.collection_id : this.collectionId;

View File

@ -90,7 +90,6 @@ export default createRouter({
}, },
stringifyQuery(query) { stringifyQuery(query) {
let result = qs.stringify(query); let result = qs.stringify(query);
return result ? result : '';
return result ? ('?' + result) : '';
} }
}); });

View File

@ -97,6 +97,7 @@ export const fetchItems = ({ rootGetters, dispatch, commit }, { collectionId, is
hasFiltered: hasFiltered, hasFiltered: hasFiltered,
itemsPerPage: res.headers['x-wp-itemperpage'] }); itemsPerPage: res.headers['x-wp-itemperpage'] });
} }
console.log(res.headers['x-wp-total']);
dispatch('search/setTotalItems', res.headers['x-wp-total'], { root: true } ); dispatch('search/setTotalItems', res.headers['x-wp-total'], { root: true } );
dispatch('search/setTotalPages', res.headers['x-wp-totalpages'], { root: true } ); dispatch('search/setTotalPages', res.headers['x-wp-totalpages'], { root: true } );
dispatch('search/setItemsPerPage', res.headers['x-wp-itemsperpage'], { root: true } ); dispatch('search/setItemsPerPage', res.headers['x-wp-itemsperpage'], { root: true } );

View File

@ -135,6 +135,7 @@ export const removePostIn = ( state ) => {
}; };
export const setTotalItems = ( state, total ) => { export const setTotalItems = ( state, total ) => {
console.log(total)
state.totalItems = total; state.totalItems = total;
}; };

View File

@ -16,14 +16,6 @@ import capability from './modules/capability';
import report from './modules/report'; import report from './modules/report';
export default createStore({ export default createStore({
/*
In strict mode, whenever Vuex state is mutated outside of mutation handlers, an error will be thrown
Do not enable strict mode when deploying for production! Strict mode runs a synchronous deep watcher
on the state tree for detecting inappropriate mutations, and it can be quite expensive when you make
large amount of mutations to the state. Make sure to turn it off in production to avoid the performance cost.
*/
strict: TAINACAN_ENV !== 'production',
modules: { modules: {
item, item,
collection, collection,

View File

@ -31,7 +31,7 @@
<button <button
aria-controls="filters-modal" aria-controls="filters-modal"
:aria-expanded="isFiltersModalActive" :aria-expanded="isFiltersModalActive"
v-if="!openAdvancedSearch && !(registeredViewModes[viewMode] != undefined && registeredViewModes[viewMode].full_screen)" v-if="!openAdvancedSearch"
id="filter-menu-compress-button" id="filter-menu-compress-button"
:aria-label="!isFiltersModalActive ? $i18n.get('label_show_filters') : $i18n.get('label_hide_filters')" :aria-label="!isFiltersModalActive ? $i18n.get('label_show_filters') : $i18n.get('label_hide_filters')"
@click="isFiltersModalActive = !isFiltersModalActive" @click="isFiltersModalActive = !isFiltersModalActive"
@ -533,7 +533,7 @@
aria-modal aria-modal
role="dialog" role="dialog"
id="filters-items-list" id="filters-items-list"
:collection-id="collectionId" :collection-id="collectionId + ''"
:is-repository-level="isRepositoryLevel"/> :is-repository-level="isRepositoryLevel"/>
</b-modal> </b-modal>
@ -583,20 +583,14 @@
</h3> </h3>
<div <div
v-show="(showLoading && v-show="showLoading"
!(registeredViewModes[viewMode] != undefined && registeredViewModes[viewMode].implements_skeleton == true))"
class="loading-container"> class="loading-container">
<!-- Default loading, to be used view modes without any skeleton--> <!-- Default loading, to be used view modes without any skeleton-->
<b-loading <b-loading
v-if="!(registeredViewModes[viewMode] != undefined && registeredViewModes[viewMode].skeleton_template != undefined)"
:is-full-page="false" :is-full-page="false"
:model-value="showLoading"/> :model-value="showLoading"/>
<!-- Custom skeleton templates used by some view modes -->
<div
v-if="(registeredViewModes[viewMode] != undefined && registeredViewModes[viewMode].skeleton_template != undefined)"
v-html="registeredViewModes[viewMode].skeleton_template"/>
</div> </div>
<!-- Alert if custom metada is being used for sorting --> <!-- Alert if custom metada is being used for sorting -->
@ -735,7 +729,7 @@
AdvancedSearch AdvancedSearch
}, },
props: { props: {
collectionId: Number collectionId: String
}, },
data() { data() {
return { return {
@ -822,14 +816,15 @@
watch: { watch: {
'$route': { '$route': {
handler(to, from) { handler(to, from) {
console.log('line 819')
// Should set Collection ID from URL only when in admin. // Should set Collection ID from URL only when in admin.
if (this.$route.name == 'CollectionItemsPage' || this.$route.name == 'ItemsPage') if (this.$route.name == 'CollectionItemsPage' || this.$route.name == 'ItemsPage')
this.$eventBusSearch.setCollectionId( !this.$route.params.collectionId ? this.$route.params.collectionId : parseInt(this.$route.params.collectionId) ); this.$eventBusSearch.setCollectionId( !this.$route.params.collectionId ? this.$route.params.collectionId : parseInt(this.$route.params.collectionId) );
console.log('line 824')
// Fills the URL with appropriate default values in case a query is not passed // Fills the URL with appropriate default values in case a query is not passed
if (this.$route.name == null || this.$route.name == undefined || this.$route.name == 'CollectionItemsPage' || this.$route.name == 'ItemsPage') { if (this.$route.name == null || this.$route.name == undefined || this.$route.name == 'CollectionItemsPage' || this.$route.name == 'ItemsPage') {
console.log('line 828')
// Items Per Page // Items Per Page
if (this.$route.query.perpage == undefined || to.params.collectionId != from.params.collectionId) { if (this.$route.query.perpage == undefined || to.params.collectionId != from.params.collectionId) {
let perPageKey = (this.collectionId != undefined ? 'items_per_page_' + this.collectionId : 'items_per_page'); let perPageKey = (this.collectionId != undefined ? 'items_per_page_' + this.collectionId : 'items_per_page');
@ -842,11 +837,12 @@
this.$userPrefs.set(perPageKey, 12); this.$userPrefs.set(perPageKey, 12);
} }
} }
console.log('line 841')
console.log(this.$route.query, to.params, from.params);
// Page // Page
if (this.$route.query.paged == undefined || to.params.collectionId != from.params.collectionId) if (this.$route.query.paged == undefined || to.params.collectionId != from.params.collectionId)
this.$route.query.paged = 1; this.$route.query.paged = 1;
console.log('line 845')
// Order (ASC, DESC) // Order (ASC, DESC)
if (this.$route.query.order == undefined || to.params.collectionId != from.params.collectionId) { if (this.$route.query.order == undefined || to.params.collectionId != from.params.collectionId) {
let orderKey = (this.collectionId != undefined ? 'order_' + this.collectionId : 'order'); let orderKey = (this.collectionId != undefined ? 'order_' + this.collectionId : 'order');
@ -859,7 +855,7 @@
this.$userPrefs.set(orderKey, 'DESC'); this.$userPrefs.set(orderKey, 'DESC');
} }
} }
console.log('line 851')
// Order By (required extra work to deal with custom metadata ordering) // Order By (required extra work to deal with custom metadata ordering)
if (this.$route.query.orderby == undefined || (to.params.collectionId != from.params.collectionId)) { if (this.$route.query.orderby == undefined || (to.params.collectionId != from.params.collectionId)) {
let orderByKey = (this.collectionId != undefined ? 'order_by_' + this.collectionId : 'order_by'); let orderByKey = (this.collectionId != undefined ? 'order_by_' + this.collectionId : 'order_by');
@ -888,7 +884,7 @@
} else if ( this.$route.query.orderby == 'creation_date' ) { // Fixes old usage of creation_date } else if ( this.$route.query.orderby == 'creation_date' ) { // Fixes old usage of creation_date
this.$route.query.orderby = 'date' this.$route.query.orderby = 'date'
} }
console.log('line 887')
// Theme View Modes // Theme View Modes
if ((this.$route.name == null || this.$route.name == undefined ) && if ((this.$route.name == null || this.$route.name == undefined ) &&
this.$route.name != 'CollectionItemsPage' && this.$route.name != 'ItemsPage' && this.$route.name != 'CollectionItemsPage' && this.$route.name != 'ItemsPage' &&
@ -909,7 +905,7 @@
// Emit slideshow-from to start this view mode from index // Emit slideshow-from to start this view mode from index
if (this.$route.query.view_mode != 'slideshow' && this.$route.query['slideshow-from'] !== null && this.$route.query['slideshow-from'] !== undefined && this.$route.query['slideshow-from'] !== false) if (this.$route.query.view_mode != 'slideshow' && this.$route.query['slideshow-from'] !== null && this.$route.query['slideshow-from'] !== undefined && this.$route.query['slideshow-from'] !== false)
this.$eventBusSearchEmitter.emit('startSlideshowFromItem', this.$route.query['slideshow-from']); this.$eventBusSearchEmitter.emit('startSlideshowFromItem', this.$route.query['slideshow-from']);
console.log('line 908')
// Admin View Modes // Admin View Modes
if (this.$route.name != null && this.$route.name != undefined && if (this.$route.name != null && this.$route.name != undefined &&
(this.$route.name == 'CollectionItemsPage' || this.$route.name == 'ItemsPage') && (this.$route.name == 'CollectionItemsPage' || this.$route.name == 'ItemsPage') &&
@ -933,6 +929,7 @@
this.$store.dispatch('search/set_postquery', this.$route.query); this.$store.dispatch('search/set_postquery', this.$route.query);
} }
console.log('line 931')
// Checks current metaqueries and taxqueries to alert filters that should reload // Checks current metaqueries and taxqueries to alert filters that should reload
// For some reason, this process is not working accessing to.query, so we need to check the path string. // For some reason, this process is not working accessing to.query, so we need to check the path string.
const oldQueryString = from.fullPath.replace(from.path + '?', ''); const oldQueryString = from.fullPath.replace(from.path + '?', '');
@ -958,10 +955,14 @@
) { ) {
this.$eventBusSearchEmitter.emit('hasToReloadFacets', true); this.$eventBusSearchEmitter.emit('hasToReloadFacets', true);
} }
console.log('line 958')
console.log(to.query, from.query);
// Finally, loads items // Finally, loads items
if (to.fullPath != from.fullPath) //if (to.fullPath != from.fullPath) {
console.log('vai')
this.$eventBusSearch.loadItems(); this.$eventBusSearch.loadItems();
//}
} }
}, },
deep: true deep: true

View File

@ -46,7 +46,7 @@ export default {
(this.collectionId != this.$route.params.collectionId) (this.collectionId != this.$route.params.collectionId)
) { ) {
this.isLoadingCollectionBasics = true; this.isLoadingCollectionBasics = true;
this.collectionId = this.$route.params.collectionId; this.collectionId = Number(this.$route.params.collectionId);
this.fetchCollectionBasics({ collectionId: this.collectionId, isContextEdit: true }) this.fetchCollectionBasics({ collectionId: this.collectionId, isContextEdit: true })
.then(() => { .then(() => {
this.isLoadingCollectionBasics = false; this.isLoadingCollectionBasics = false;
@ -61,7 +61,7 @@ export default {
} }
}, },
created() { created() {
this.collectionId = this.$route.params.collectionId; this.collectionId = Number(this.$route.params.collectionId);
this.$eventBusSearch.setCollectionId(this.collectionId); this.$eventBusSearch.setCollectionId(this.collectionId);
// Loads to store basic collection info such as name, url, current_user_can_edit... etc. // Loads to store basic collection info such as name, url, current_user_can_edit... etc.

View File

@ -4,6 +4,7 @@
// Tainacan custom colors and bulma's core // Tainacan custom colors and bulma's core
@import "./_variables.scss"; @import "./_variables.scss";
// Import Bulma and Buefy styles // Import Bulma and Buefy styles
@import "../../assets/css/materialdesignicons.css"; @import "../../assets/css/materialdesignicons.css";
@import "../../../../node_modules/bulma/bulma.sass"; @import "../../../../node_modules/bulma/bulma.sass";

View File

@ -1,8 +1,8 @@
@import '../../scss/gutenberg-blocks-variables.scss'; @import '../../scss/gutenberg-blocks-variables.scss';
@import '../../../../../node_modules/swiper/swiper.scss'; @import '../../../../../node_modules/swiper/swiper.scss';
@import '../../../../../node_modules/swiper/modules/navigation/navigation.scss'; @import '../../../../../node_modules/swiper/modules/navigation.scss';
@import '../../../../../node_modules/swiper/modules/a11y/a11y.scss'; @import '../../../../../node_modules/swiper/modules/a11y.scss';
@import '../../../../../node_modules/swiper/modules/autoplay/autoplay.scss'; @import '../../../../../node_modules/swiper/modules/autoplay.scss';
.components-panel__body .collection-carousel-view-modes { .components-panel__body .collection-carousel-view-modes {
display: flex; display: flex;

View File

@ -22,25 +22,27 @@ export default (element) => {
// Configure Vue logic before passing it to constructor: // Configure Vue logic before passing it to constructor:
let vueOptions = { let vueOptions = {
data: { data: () => {
selectedItem: [], return {
maxItemsNumber: 12, selectedItem: [],
arrowsPosition: 'around', maxItemsNumber: 12,
autoPlay: false, arrowsPosition: 'around',
autoPlaySpeed: 3, autoPlay: false,
largeArrows: false, autoPlaySpeed: 3,
arrowsStyle: 'type-1', largeArrows: false,
maxCollectionsPerScreen: 6, arrowsStyle: 'type-1',
spaceBetweenCollections: 32, maxCollectionsPerScreen: 6,
spaceAroundCarousel: 50, spaceBetweenCollections: 32,
imageSize: 'tainacan-medium', spaceAroundCarousel: 50,
loopSlides: false, imageSize: 'tainacan-medium',
hideName: true, loopSlides: false,
showCollectionThumbnail: false, hideName: true,
tainacanApiRoot: '', showCollectionThumbnail: false,
tainacanBaseUrl: '', tainacanApiRoot: '',
className: '', tainacanBaseUrl: '',
style: '' className: '',
style: ''
}
}, },
render() { render() {
return h(CarouselCollectionsListTheme, { return h(CarouselCollectionsListTheme, {

View File

@ -153,7 +153,8 @@ import 'swiper/css';
import 'swiper/css/a11y'; import 'swiper/css/a11y';
import 'swiper/css/autoplay'; import 'swiper/css/autoplay';
import 'swiper/css/navigation'; import 'swiper/css/navigation';
import Swiper, { Autoplay, Navigation, A11y } from 'swiper'; import Swiper from 'swiper';
import { Autoplay, Navigation, A11y } from 'swiper/modules';
export default { export default {
name: "CarouselCollectionsListTheme", name: "CarouselCollectionsListTheme",

View File

@ -1,8 +1,8 @@
@import '../../scss/gutenberg-blocks-variables.scss'; @import '../../scss/gutenberg-blocks-variables.scss';
@import '../../../../../node_modules/swiper/swiper.scss'; @import '../../../../../node_modules/swiper/swiper.scss';
@import '../../../../../node_modules/swiper/modules/navigation/navigation.scss'; @import '../../../../../node_modules/swiper/modules/navigation.scss';
@import '../../../../../node_modules/swiper/modules/a11y/a11y.scss'; @import '../../../../../node_modules/swiper/modules/a11y.scss';
@import '../../../../../node_modules/swiper/modules/autoplay/autoplay.scss'; @import '../../../../../node_modules/swiper/modules/autoplay.scss';
.wp-block-tainacan-carousel-items-list { .wp-block-tainacan-carousel-items-list {
margin: 2em auto; margin: 2em auto;

View File

@ -22,33 +22,35 @@ export default (element) => {
for (let blockId of blockIds) { for (let blockId of blockIds) {
// Configure Vue logic before passing it to constructor: // Configure Vue logic before passing it to constructor:
let vueOptions = { let vueOptions = {
data: { data: () => {
collectionId: '', return {
searchURL: '', collectionId: '',
selectedItems: [], searchURL: '',
loadStrategy: 'search', selectedItems: [],
maxItemsNumber: 12, loadStrategy: 'search',
maxItemsPerScreen: 7, maxItemsNumber: 12,
spaceBetweenItems: 32, maxItemsPerScreen: 7,
spaceAroundCarousel: 50, spaceBetweenItems: 32,
arrowsPosition: 'around', spaceAroundCarousel: 50,
largeArrows: false, arrowsPosition: 'around',
arrowsStyle: 'type-1', largeArrows: false,
autoPlay: false, arrowsStyle: 'type-1',
autoPlaySpeed: 3, autoPlay: false,
loopSlides: false, autoPlaySpeed: 3,
hideTitle: true, loopSlides: false,
imageSize: 'tainacan-medium', hideTitle: true,
showCollectionHeader: false, imageSize: 'tainacan-medium',
showCollectionLabel: false, showCollectionHeader: false,
collectionBackgroundColor: '#373839', showCollectionLabel: false,
collectionTextColor: '#ffffff', collectionBackgroundColor: '#373839',
tainacanApiRoot: '', collectionTextColor: '#ffffff',
tainacanBaseUrl: '', tainacanApiRoot: '',
className: '', tainacanBaseUrl: '',
style: '' className: '',
style: ''
}
}, },
render(){ render() {
return h(CarouselItemsListTheme, { return h(CarouselItemsListTheme, {
props: { props: {
blockId: blockId, blockId: blockId,

View File

@ -156,7 +156,8 @@ import 'swiper/css';
import 'swiper/css/a11y'; import 'swiper/css/a11y';
import 'swiper/css/autoplay'; import 'swiper/css/autoplay';
import 'swiper/css/navigation'; import 'swiper/css/navigation';
import Swiper, { Autoplay, Navigation, A11y } from 'swiper'; import Swiper from 'swiper';
import { Autoplay, Navigation, A11y } from 'swiper/modules';
export default { export default {
name: "CarouselItemsListTheme", name: "CarouselItemsListTheme",

View File

@ -1,8 +1,8 @@
@import '../../scss/gutenberg-blocks-variables.scss'; @import '../../scss/gutenberg-blocks-variables.scss';
@import '../../../../../node_modules/swiper/swiper.scss'; @import '../../../../../node_modules/swiper/swiper.scss';
@import '../../../../../node_modules/swiper/modules/navigation/navigation.scss'; @import '../../../../../node_modules/swiper/modules/navigation.scss';
@import '../../../../../node_modules/swiper/modules/a11y/a11y.scss'; @import '../../../../../node_modules/swiper/modules/a11y.scss';
@import '../../../../../node_modules/swiper/modules/autoplay/autoplay.scss'; @import '../../../../../node_modules/swiper/modules/autoplay.scss';
.components-panel__body .term-carousel-view-modes { .components-panel__body .term-carousel-view-modes {
display: flex; display: flex;

View File

@ -22,28 +22,30 @@ export default (element) => {
// Configure Vue logic before passing it to constructor: // Configure Vue logic before passing it to constructor:
let vueOptions = { let vueOptions = {
data: { data: () => {
selectedItem: [], return {
maxItemsNumber: 12, selectedItem: [],
arrowsPosition: 'around', maxItemsNumber: 12,
autoPlay: false, arrowsPosition: 'around',
autoPlaySpeed: 3, autoPlay: false,
largeArrows: false, autoPlaySpeed: 3,
arrowsStyle: 'type-1', largeArrows: false,
maxTermsPerScreen: 6, arrowsStyle: 'type-1',
spaceBetweenTerms: 32, maxTermsPerScreen: 6,
spaceAroundCarousel: 50, spaceBetweenTerms: 32,
imageSize: 'tainacan-medium', spaceAroundCarousel: 50,
loopSlides: false, imageSize: 'tainacan-medium',
hideName: true, loopSlides: false,
showTermThumbnail: false, hideName: true,
tainacanApiRoot: '', showTermThumbnail: false,
tainacanBaseUrl: '', tainacanApiRoot: '',
className: '', tainacanBaseUrl: '',
taxonomyId: '', className: '',
style: '' taxonomyId: '',
style: ''
}
}, },
render(){ render() {
return h(CarouselTermsListTheme, { return h(CarouselTermsListTheme, {
props: { props: {
blockId: blockId, blockId: blockId,

View File

@ -154,7 +154,8 @@ import 'swiper/css';
import 'swiper/css/a11y'; import 'swiper/css/a11y';
import 'swiper/css/autoplay'; import 'swiper/css/autoplay';
import 'swiper/css/navigation'; import 'swiper/css/navigation';
import Swiper, { Autoplay, Navigation, A11y } from 'swiper'; import Swiper from 'swiper';
import { Autoplay, Navigation, A11y } from 'swiper/modules';
export default { export default {
name: "CarouselTermsListTheme", name: "CarouselTermsListTheme",

View File

@ -23,38 +23,40 @@ export default (element) => {
// Configure Vue logic before passing it to constructor: // Configure Vue logic before passing it to constructor:
let vueOptions = { let vueOptions = {
data: { data: () => {
collectionId: '', return {
showImage: true, collectionId: '',
showName: true, showImage: true,
layout: 'grid', showName: true,
gridMargin: 0, layout: 'grid',
searchURL: '', gridMargin: 0,
selectedItems: [], searchURL: '',
loadStrategy: 'search', selectedItems: [],
maxItemsNumber: 12, loadStrategy: 'search',
mosaicHeight: 40, maxItemsNumber: 12,
mosaicDensity: 5, mosaicHeight: 40,
mosaicGridRows: 3, mosaicDensity: 5,
mosaicGridColumns: 3, mosaicGridRows: 3,
mosaicItemFocalPointX : 0.5, mosaicGridColumns: 3,
mosaicItemFocalPointY : 0.5, mosaicItemFocalPointX : 0.5,
maxColumnsCount: 4, mosaicItemFocalPointY : 0.5,
imageSize: 'tainacan-medium', maxColumnsCount: 4,
order: 'asc', imageSize: 'tainacan-medium',
orderBy: 'date', order: 'asc',
orderByMetaKey: '', orderBy: 'date',
showSearchBar: false, orderByMetaKey: '',
showCollectionHeader: false, showSearchBar: false,
showCollectionLabel: false, showCollectionHeader: false,
collectionBackgroundColor: '#373839', showCollectionLabel: false,
collectionTextColor: '#ffffff', collectionBackgroundColor: '#373839',
tainacanApiRoot: '', collectionTextColor: '#ffffff',
tainacanBaseUrl: '', tainacanApiRoot: '',
className: '', tainacanBaseUrl: '',
style: '' className: '',
style: ''
}
}, },
render(){ render() {
return h(DynamicItemsListTheme, { return h(DynamicItemsListTheme, {
props: { props: {
collectionId: this.collectionId, collectionId: this.collectionId,

View File

@ -360,7 +360,8 @@ import 'swiper/css';
import 'swiper/css/mousewheel'; import 'swiper/css/mousewheel';
import 'swiper/css/navigation'; import 'swiper/css/navigation';
import 'swiper/css/virtual'; import 'swiper/css/virtual';
import Swiper, {Navigation, Virtual, Mousewheel } from 'swiper'; import Swiper from 'swiper';
import { Navigation, Virtual, Mousewheel } from 'swiper/modules';
import CircularCounter from './circular-counter.vue'; import CircularCounter from './circular-counter.vue';
import SlidesHelpModal from './slides-help-modal.vue' import SlidesHelpModal from './slides-help-modal.vue'
import { viewModesMixin } from '../js/view-modes-mixin.js'; import { viewModesMixin } from '../js/view-modes-mixin.js';

View File

@ -12,7 +12,6 @@ export default createRouter ({
}, },
stringifyQuery(query) { stringifyQuery(query) {
let result = qs.stringify(query); let result = qs.stringify(query);
return result ? result : '';
return result ? ('?' + result) : '';
} }
}); });

View File

@ -443,7 +443,7 @@
:role="filtersAsModal ? 'dialog' : ''" :role="filtersAsModal ? 'dialog' : ''"
id="filters-items-list" id="filters-items-list"
:taxonomy="taxonomy" :taxonomy="taxonomy"
:collection-id="collectionId" :collection-id="collectionId + ''"
:is-repository-level="isRepositoryLevel" :is-repository-level="isRepositoryLevel"
:filters-as-modal="filtersAsModal" :filters-as-modal="filtersAsModal"
:has-filtered="hasFiltered" :has-filtered="hasFiltered"

View File

@ -1,5 +1,5 @@
// Main imports // Main imports
import { createApp, h } from 'vue'; import { createApp, h, onMounted } from 'vue';
import { import {
Field, Field,
Input, Input,
@ -46,6 +46,13 @@ import {
} from '../../../admin/js/utilities'; } from '../../../admin/js/utilities';
import mitt from 'mitt'; import mitt from 'mitt';
// import { configureCompat } from 'vue';
// configureCompat({
// COMPONENT_V_MODEL: false,
// ATTR_FALSE_VALUE: false,
// RENDER_FUNCTION: false
// })
export default (element) => { export default (element) => {
function renderTainacanItemsListComponent() { function renderTainacanItemsListComponent() {
@ -58,37 +65,38 @@ export default (element) => {
const VueItemsList = createApp({ const VueItemsList = createApp({
el: '#tainacan-items-page', el: '#tainacan-items-page',
data: { data: () => {
termId: '', return {
taxonomy: '', termId: '',
collectionId: '', taxonomy: '',
defaultViewMode: '', collectionId: '',
defaultOrder: 'ASC', defaultViewMode: '',
defaultOrderBy: 'date', defaultOrder: 'ASC',
defaultOrderByMeta: '', defaultOrderBy: 'date',
defaultOrderByType: '', defaultOrderByMeta: '',
isForcedViewMode: false, defaultOrderByType: '',
enabledViewModes: {}, isForcedViewMode: false,
defaultItemsPerPage: '', enabledViewModes: {},
hideFilters: false, defaultItemsPerPage: '',
hideHideFiltersButton: false, hideFilters: false,
hideSearch: false, hideHideFiltersButton: false,
hideAdvancedSearch: false, hideSearch: false,
hideDisplayedMetadataButton: false, hideAdvancedSearch: false,
hideSortByButton: false, hideDisplayedMetadataButton: false,
hideSortingArea: false, hideSortByButton: false,
hideItemsThumbnail: false, hideSortingArea: false,
hideItemsPerPageButton: false, hideItemsThumbnail: false,
hideGoToPageButton: false, hideItemsPerPageButton: false,
hidePaginationArea: false, hideGoToPageButton: false,
showFiltersButtonInsideSearchControl: false, hidePaginationArea: false,
startWithFiltersHidden: false, showFiltersButtonInsideSearchControl: false,
filtersAsModal: false, startWithFiltersHidden: false,
showInlineViewModeOptions: false, filtersAsModal: false,
showFullscreenWithViewModes: false showInlineViewModeOptions: false,
showFullscreenWithViewModes: false
}
}, },
beforeMount() { created() {
// Loads params if passed previously // Loads params if passed previously
if (this.$route.hash && this.$route.hash.split('#/?') && this.$route.hash.split('#/?')[1]) { if (this.$route.hash && this.$route.hash.split('#/?') && this.$route.hash.split('#/?')[1]) {
const existingQueries = qs.parse(this.$route.hash.split('#/?')[1]); const existingQueries = qs.parse(this.$route.hash.split('#/?')[1]);
@ -96,7 +104,9 @@ export default (element) => {
for (let key of Object.keys(existingQueries)) for (let key of Object.keys(existingQueries))
this.$route.query[key] = existingQueries[key]; this.$route.query[key] = existingQueries[key];
} }
},
mounted() {
// Collection or Term source settings // Collection or Term source settings
if (this.$el.attributes['collection-id'] != undefined) if (this.$el.attributes['collection-id'] != undefined)
this.collectionId = this.$el.attributes['collection-id'].value; this.collectionId = this.$el.attributes['collection-id'].value;

View File

@ -33,7 +33,6 @@
</template> </template>
<script> <script>
import "floating-vue/dist/style.css";
export default { export default {
name: "ThemeSearch", name: "ThemeSearch",
created() { created() {
@ -47,6 +46,9 @@ export default {
// TAINACAN Variables // TAINACAN Variables
@import "../../../admin/scss/_variables.scss"; @import "../../../admin/scss/_variables.scss";
//Vue Tooltip
@import "../../../../../node_modules/floating-vue/dist/style.css";
// Bulma imports // Bulma imports
@import "./theme-search/scss/theme-basics.sass"; @import "./theme-search/scss/theme-basics.sass";

View File

@ -21,31 +21,33 @@ export default (element) => {
// Configure Vue logic before passing it to constructor: // Configure Vue logic before passing it to constructor:
let vueOptions = { let vueOptions = {
data: { data: () => {
metadatumId: '', return {
metadatumType: '', metadatumId: '',
collectionId: '', metadatumType: '',
collectionSlug: '', collectionId: '',
parentTermId: null, collectionSlug: '',
showImage: true, parentTermId: null,
showItemsCount: true, showImage: true,
showSearchBar: false, showItemsCount: true,
showLoadMore: false, showSearchBar: false,
nameInsideImage: false, showLoadMore: false,
linkTermFacetsToTermPage: true, nameInsideImage: false,
appendChildTerms: false, linkTermFacetsToTermPage: true,
imageSize: 'tainacan-medium', appendChildTerms: false,
layout: 'grid', imageSize: 'tainacan-medium',
itemsCountStyle: 'default', layout: 'grid',
cloudRate: 1, itemsCountStyle: 'default',
gridMargin: 24, cloudRate: 1,
maxFacetsNumber: 12, gridMargin: 24,
maxColumnsCount: 5, maxFacetsNumber: 12,
tainacanApiRoot: '', maxColumnsCount: 5,
tainacanBaseUrl: '', tainacanApiRoot: '',
tainacanSiteUrl: '', tainacanBaseUrl: '',
className: '', tainacanSiteUrl: '',
style: '' className: '',
style: ''
}
}, },
render(){ render(){
return h(FacetsListTheme, { return h(FacetsListTheme, {

View File

@ -1,7 +1,7 @@
@import '../../../../../node_modules/swiper/swiper.scss'; @import '../../../../../node_modules/swiper/swiper.scss';
@import '../../../../../node_modules/swiper/modules/navigation/navigation.scss'; @import '../../../../../node_modules/swiper/modules/navigation.scss';
@import '../../../../../node_modules/swiper/modules/a11y/a11y.scss'; @import '../../../../../node_modules/swiper/modules/a11y.scss';
@import '../../../../../node_modules/swiper/modules/autoplay/autoplay.scss'; @import '../../../../../node_modules/swiper/modules/autoplay.scss';
.item-gallery-edit-container { .item-gallery-edit-container {
.tainacan-media-component { .tainacan-media-component {

View File

@ -5,7 +5,8 @@
import PhotoSwipeLightbox from 'photoswipe/lightbox'; import PhotoSwipeLightbox from 'photoswipe/lightbox';
import PhotoSwipe from 'photoswipe'; import PhotoSwipe from 'photoswipe';
import 'photoswipe/dist/photoswipe.css'; import 'photoswipe/dist/photoswipe.css';
import Swiper, { Navigation, A11y, Thumbs } from 'swiper'; import Swiper from 'swiper';
import { Navigation, A11y, Thumbs } from 'swiper';
const { __ } = wp.i18n; const { __ } = wp.i18n;

View File

@ -24,7 +24,6 @@ import {
} from '@ntohq/buefy-next'; } from '@ntohq/buefy-next';
import VTooltip from 'floating-vue'; import VTooltip from 'floating-vue';
import cssVars from 'css-vars-ponyfill'; import cssVars from 'css-vars-ponyfill';
import VueTheMask from 'vue-the-mask';
// Metadata Types // Metadata Types
import Text from '../../../admin/components/metadata-types/text/Text.vue'; import Text from '../../../admin/components/metadata-types/text/Text.vue';
@ -61,30 +60,32 @@ export default (element) => {
const VueItemSubmission = createApp({ const VueItemSubmission = createApp({
el: '#tainacan-item-submission-form', el: '#tainacan-item-submission-form',
data: { data: () => {
collectionId: '', return {
hideFileModalButton: false, collectionId: '',
hideTextModalButton: false, hideFileModalButton: false,
hideLinkModalButton: false, hideTextModalButton: false,
hideThumbnailSection: false, hideLinkModalButton: false,
hideAttachmentsSection: false, hideThumbnailSection: false,
showAllowCommentsSection: false, hideAttachmentsSection: false,
hideHelpButtons: false, showAllowCommentsSection: false,
hideMetadataTypes: false, hideHelpButtons: false,
hideCollapses: false, hideMetadataTypes: false,
enabledMetadata: [], hideCollapses: false,
sentFormHeading: '', enabledMetadata: [],
sentFormMessage: '', sentFormHeading: '',
documentSectionLabel: '', sentFormMessage: '',
thumbnailSectionLabel: '', documentSectionLabel: '',
attachmentsSectionLabel: '', thumbnailSectionLabel: '',
metadataSectionLabel: '', attachmentsSectionLabel: '',
showItemLinkButton: false, metadataSectionLabel: '',
itemLinkButtonLabel: '', showItemLinkButton: false,
helpInfoBellowLabel: false, itemLinkButtonLabel: '',
showItemLinkButton: false, helpInfoBellowLabel: false,
termsAgreementMessage: '', showItemLinkButton: false,
isLayoutSteps: false termsAgreementMessage: '',
isLayoutSteps: false
}
}, },
beforeMount () { beforeMount () {
// Collection source settings // Collection source settings
@ -206,7 +207,6 @@ export default (element) => {
VueItemSubmission.use(StatusHelperPlugin); VueItemSubmission.use(StatusHelperPlugin);
VueItemSubmission.use(RouterHelperPlugin); VueItemSubmission.use(RouterHelperPlugin);
VueItemSubmission.use(ConsolePlugin, {visual: false}); VueItemSubmission.use(ConsolePlugin, {visual: false});
VueItemSubmission.use(VueTheMask);
VueItemSubmission.use(CommentsStatusHelperPlugin); VueItemSubmission.use(CommentsStatusHelperPlugin);
VueItemSubmission.use(ThumbnailHelperPlugin); VueItemSubmission.use(ThumbnailHelperPlugin);
VueItemSubmission.use(AdminOptionsHelperPlugin, blockElement.dataset['options']); VueItemSubmission.use(AdminOptionsHelperPlugin, blockElement.dataset['options']);

View File

@ -28,7 +28,6 @@
</template> </template>
<script> <script>
import "floating-vue/dist/style.css";
export default { export default {
name: "ItemSubmission" name: "ItemSubmission"
} }
@ -39,6 +38,9 @@ export default {
// TAINACAN Variables // TAINACAN Variables
@import "../../../admin/scss/_variables.scss"; @import "../../../admin/scss/_variables.scss";
//Vue Tooltip
@import "../../../../../node_modules/floating-vue/dist/style.css";
// Bulma imports // Bulma imports
@import "./item-submission/scss/item-submission-basics.sass"; @import "./item-submission/scss/item-submission-basics.sass";

View File

@ -18,7 +18,6 @@ export default createRouter({
}, },
stringifyQuery(query) { stringifyQuery(query) {
let result = qs.stringify(query); let result = qs.stringify(query);
return result ? result : '';
return result ? ('?' + result) : '';
} }
}); });

View File

@ -8,6 +8,13 @@ import { I18NPlugin } from './wp-i18n-plugin';
import RolesPage from '../roles.vue'; import RolesPage from '../roles.vue';
// import { configureCompat } from 'vue'
// configureCompat({
// COMPONENT_V_MODEL: false,
// RENDER_FUNCTION: false,
// MODE: 3
// })
export default (element) => { export default (element) => {
function renderTainacanRolePage() { function renderTainacanRolePage() {

View File

@ -21,7 +21,6 @@ export default createRouter({
}, },
stringifyQuery(query) { stringifyQuery(query) {
let result = qs.stringify(query); let result = qs.stringify(query);
return result ? result : '';
return result ? ('?' + result) : '';
} }
}); });

View File

@ -5,13 +5,14 @@
</template> </template>
<script> <script>
import "floating-vue/dist/style.css";
export default { export default {
name: "RolesPage" name: "RolesPage"
} }
</script> </script>
<style lang="scss"> <style lang="scss">
@import url('floating-vue/dist/style.css');
.tainacan_page_tainacan_roles #wpbody { .tainacan_page_tainacan_roles #wpbody {
overflow-x: hidden; overflow-x: hidden;
} }

View File

@ -45,7 +45,7 @@ module.exports = {
tls: false tls: false
}, },
alias: { alias: {
vue: '@vue/compat' vue: 'vue/dist/vue.esm-bundler.js',
} }
}, },
module: { module: {
@ -53,15 +53,7 @@ module.exports = {
{ {
test: /\.vue$/, test: /\.vue$/,
exclude: /node_modules/, exclude: /node_modules/,
loader: 'vue-loader', loader: 'vue-loader'
options: {
compilerOptions: {
compatConfig: {
// Default everything to Vue 2 behavior
MODE: 2
}
}
}
}, },
{ {
test: /\.js$/, test: /\.js$/,
@ -75,6 +67,7 @@ module.exports = {
{ {
test: /\.css$/, test: /\.css$/,
use: [ use: [
'style-loader',
'css-loader', 'css-loader',
'postcss-loader', 'postcss-loader',
], ],
@ -108,7 +101,7 @@ module.exports = {
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'TAINACAN_ENV': JSON.stringify(process.env.NODE_ENV), 'TAINACAN_ENV': JSON.stringify(process.env.NODE_ENV),
__VUE_OPTIONS_API__: true, __VUE_OPTIONS_API__: true,
__VUE_PROD_DEVTOOLS__: true, __VUE_PROD_DEVTOOLS__: false,
}), }),
new VueLoaderPlugin({ new VueLoaderPlugin({
prettify: false prettify: false