fixes
This commit is contained in:
510
assets/css/custom-lightbox.min.css
vendored
Normal file
510
assets/css/custom-lightbox.min.css
vendored
Normal file
@@ -0,0 +1,510 @@
|
||||
.elementor-lightbox {
|
||||
--lightbox-ui-color: hsla(0, 0%, 93%, .9);
|
||||
--lightbox-ui-color-hover: #fff;
|
||||
--lightbox-text-color: var(--lightbox-ui-color);
|
||||
--lightbox-header-icons-size: 20px;
|
||||
--lightbox-navigation-icons-size: 25px
|
||||
}
|
||||
|
||||
.elementor-lightbox:not(.elementor-popup-modal) .dialog-header,
|
||||
.elementor-lightbox:not(.elementor-popup-modal) .dialog-message {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-header {
|
||||
display: none
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-widget-content {
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
height: 100%;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
|
||||
.elementor-lightbox .dialog-message {
|
||||
animation-duration: .3s;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-message.dialog-lightbox-message {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
font-size: var(--lightbox-header-icons-size);
|
||||
inset-inline-end: .75em;
|
||||
line-height: 1;
|
||||
margin-top: 13px;
|
||||
padding: .25em;
|
||||
position: absolute;
|
||||
z-index: 2
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button svg {
|
||||
height: 1em;
|
||||
width: 1em
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button,
|
||||
.elementor-lightbox .elementor-swiper-button {
|
||||
color: var(--lightbox-ui-color);
|
||||
opacity: 1;
|
||||
transition: all .3s
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button svg,
|
||||
.elementor-lightbox .elementor-swiper-button svg {
|
||||
fill: var(--lightbox-ui-color)
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button:hover,
|
||||
.elementor-lightbox .elementor-swiper-button:hover {
|
||||
color: var(--lightbox-ui-color-hover)
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button:hover svg,
|
||||
.elementor-lightbox .elementor-swiper-button:hover svg {
|
||||
fill: var(--lightbox-ui-color-hover)
|
||||
}
|
||||
|
||||
.elementor-lightbox .swiper {
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-lightbox-item {
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
margin: auto;
|
||||
padding: 70px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
@media (max-width:767px) {
|
||||
.elementor-lightbox .elementor-lightbox-item {
|
||||
padding: 70px 0
|
||||
}
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-lightbox-image {
|
||||
max-height: 100%;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-lightbox-image,
|
||||
.elementor-lightbox .elementor-lightbox-image:hover {
|
||||
border: none;
|
||||
filter: none;
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-lightbox-image {
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 0 30px rgba(0, 0, 0, .3), 0 0 8px -5px rgba(0, 0, 0, .3)
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container {
|
||||
left: 50%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square {
|
||||
height: 100%;
|
||||
margin: auto;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square iframe {
|
||||
background-color: #000;
|
||||
border: 0
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape video,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait video,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square video {
|
||||
aspect-ratio: var(--video-aspect-ratio, 1.77777)
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square video {
|
||||
height: min(90vh, 90vw);
|
||||
width: min(90vh, 90vw)
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape video {
|
||||
height: auto;
|
||||
max-height: 90vh;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait video {
|
||||
height: 100%;
|
||||
max-width: 90vw
|
||||
}
|
||||
|
||||
@media (min-width:1025px) {
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape {
|
||||
max-height: 85vh;
|
||||
width: 85vw
|
||||
}
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait {
|
||||
height: 85vh;
|
||||
max-width: 85vw
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:1024px) {
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape {
|
||||
max-height: 95vh;
|
||||
width: 95vw
|
||||
}
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait {
|
||||
height: 95vh;
|
||||
max-width: 95vw
|
||||
}
|
||||
}
|
||||
|
||||
.elementor-lightbox .swiper .elementor-swiper-button-prev {
|
||||
left: 0
|
||||
}
|
||||
|
||||
.elementor-lightbox .swiper .elementor-swiper-button-next {
|
||||
right: 0
|
||||
}
|
||||
|
||||
.elementor-lightbox .swiper .swiper-pagination-fraction {
|
||||
color: #fff;
|
||||
width: -moz-max-content;
|
||||
width: max-content
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-swiper-button:focus {
|
||||
outline-width: 1px
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-swiper-button-next,
|
||||
.elementor-lightbox .elementor-swiper-button-prev {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
font-size: var(--lightbox-navigation-icons-size);
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
width: 15%
|
||||
}
|
||||
|
||||
@media (max-width:1024px) {
|
||||
.elementor-lightbox .elementor-swiper-button-next:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev:active {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i,
|
||||
.elementor-lightbox .elementor-swiper-button-next svg,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i,
|
||||
.elementor-lightbox .elementor-swiper-button-prev svg {
|
||||
cursor: pointer
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i:active,
|
||||
.elementor-lightbox .elementor-swiper-button-next svg:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev svg:active {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
outline: none
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:767px) {
|
||||
.elementor-lightbox .elementor-swiper-button:focus {
|
||||
outline: none
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next,
|
||||
.elementor-lightbox .elementor-swiper-button-prev {
|
||||
width: 20%
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev:active {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
padding: 10px
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i,
|
||||
.elementor-lightbox .elementor-swiper-button-next svg,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i,
|
||||
.elementor-lightbox .elementor-swiper-button-prev svg {
|
||||
cursor: pointer
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i:active,
|
||||
.elementor-lightbox .elementor-swiper-button-next svg:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev svg:active {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
outline: none
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-prev {
|
||||
justify-content: flex-start;
|
||||
left: 0
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next {
|
||||
justify-content: flex-end;
|
||||
right: 0
|
||||
}
|
||||
}
|
||||
|
||||
.elementor-slideshow__counter {
|
||||
color: currentColor;
|
||||
font-size: .75em;
|
||||
width: -moz-max-content;
|
||||
width: max-content
|
||||
}
|
||||
|
||||
.elementor-slideshow__footer,
|
||||
.elementor-slideshow__header {
|
||||
left: 0;
|
||||
padding: 15px 20px;
|
||||
position: absolute;
|
||||
transition: .3s;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-slideshow__footer {
|
||||
color: var(--lightbox-text-color)
|
||||
}
|
||||
|
||||
.elementor-slideshow__header {
|
||||
align-items: center;
|
||||
color: var(--lightbox-ui-color);
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
font-size: var(--lightbox-header-icons-size);
|
||||
padding-inline-end: 2.6em;
|
||||
padding-inline-start: 1em;
|
||||
top: 0;
|
||||
z-index: 10
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>i,
|
||||
.elementor-slideshow__header>svg {
|
||||
cursor: pointer;
|
||||
margin: 0 .35em;
|
||||
padding: .25em
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>i {
|
||||
font-size: inherit
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>i:hover {
|
||||
color: var(--lightbox-ui-color-hover)
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>svg {
|
||||
box-sizing: content-box;
|
||||
fill: var(--lightbox-ui-color);
|
||||
height: 1em;
|
||||
width: 1em
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>svg:hover {
|
||||
fill: var(--lightbox-ui-color-hover)
|
||||
}
|
||||
|
||||
.elementor-slideshow__header .elementor-slideshow__counter {
|
||||
margin-inline-end: auto
|
||||
}
|
||||
|
||||
.elementor-slideshow__header .elementor-icon-share {
|
||||
z-index: 5
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-menu {
|
||||
background-color: transparent;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
transition: background-color .4s;
|
||||
width: 0
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-menu .elementor-slideshow__share-links a {
|
||||
color: #0c0d0e
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links {
|
||||
background-color: #fff;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 4px 15px rgba(0, 0, 0, .3);
|
||||
display: block;
|
||||
inset-inline-end: 2.8em;
|
||||
min-width: 200px;
|
||||
opacity: 0;
|
||||
padding: 14px 20px;
|
||||
position: absolute;
|
||||
top: 3em;
|
||||
transform: scale(0);
|
||||
transform-origin: 90% 10%;
|
||||
transition: all .25s .1s
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a {
|
||||
color: #3f444b;
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
line-height: 2.5;
|
||||
opacity: 0;
|
||||
text-align: start;
|
||||
transition: opacity .5s .1s
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a:hover {
|
||||
color: #000
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a i,
|
||||
.elementor-slideshow__share-links a svg {
|
||||
margin-inline-end: .75em
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a i {
|
||||
font-size: 1.25em
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a svg {
|
||||
height: 1.25em;
|
||||
width: 1.25em
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links:before {
|
||||
border: .45em solid transparent;
|
||||
border-bottom-color: #fff;
|
||||
content: "";
|
||||
display: block;
|
||||
inset-inline-end: .5em;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
transform: translateY(-100%) scaleX(.7)
|
||||
}
|
||||
|
||||
.elementor-slideshow__footer {
|
||||
bottom: 0;
|
||||
position: fixed;
|
||||
z-index: 5
|
||||
}
|
||||
|
||||
.elementor-slideshow__description,
|
||||
.elementor-slideshow__title {
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.elementor-slideshow__title {
|
||||
font-size: 16px;
|
||||
font-weight: 700
|
||||
}
|
||||
|
||||
.elementor-slideshow__description {
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.elementor-slideshow--ui-hidden .elementor-slideshow__footer,
|
||||
.elementor-slideshow--ui-hidden .elementor-slideshow__header {
|
||||
opacity: 0;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.elementor-slideshow--ui-hidden .elementor-swiper-button-next,
|
||||
.elementor-slideshow--ui-hidden .elementor-swiper-button-prev {
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.elementor-slideshow--fullscreen-mode .elementor-video-container {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-slideshow--zoom-mode .elementor-slideshow__footer,
|
||||
.elementor-slideshow--zoom-mode .elementor-slideshow__header {
|
||||
background-color: rgba(0, 0, 0, .5)
|
||||
}
|
||||
|
||||
.elementor-slideshow--zoom-mode .elementor-swiper-button-next,
|
||||
.elementor-slideshow--zoom-mode .elementor-swiper-button-prev {
|
||||
opacity: 0;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-menu {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
cursor: default;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
opacity: 1;
|
||||
top: 0;
|
||||
width: 100vw
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links {
|
||||
transform: scale(1)
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links,
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links a {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter {
|
||||
color: #1da1f2
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook {
|
||||
color: #3b5998
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest {
|
||||
color: #bd081c
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold {
|
||||
color: #9da5ae
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter {
|
||||
fill: #1da1f2
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook {
|
||||
fill: #3b5998
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest {
|
||||
fill: #bd081c
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold {
|
||||
fill: #9da5ae
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .eicon-share-arrow {
|
||||
z-index: 2
|
||||
}
|
||||
369
assets/css/dialog.min.css
vendored
Normal file
369
assets/css/dialog.min.css
vendored
Normal file
@@ -0,0 +1,369 @@
|
||||
.dialog-widget-content {
|
||||
background-color: var(--e-a-bg-default);
|
||||
border-radius: 3px;
|
||||
box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2);
|
||||
overflow: hidden;
|
||||
position: absolute
|
||||
}
|
||||
|
||||
.dialog-message {
|
||||
box-sizing: border-box;
|
||||
line-height: 1.5
|
||||
}
|
||||
|
||||
.dialog-close-button {
|
||||
color: var(--e-a-color-txt);
|
||||
cursor: pointer;
|
||||
font-size: 15px;
|
||||
inset-inline-end: 15px;
|
||||
line-height: 1;
|
||||
margin-block-start: 15px;
|
||||
position: absolute;
|
||||
transition: var(--e-a-transition-hover)
|
||||
}
|
||||
|
||||
.dialog-close-button:hover {
|
||||
color: var(--e-a-color-txt-hover)
|
||||
}
|
||||
|
||||
.dialog-prevent-scroll {
|
||||
max-height: 100vh;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.dialog-type-lightbox {
|
||||
background-color: rgba(0, 0, 0, .8);
|
||||
bottom: 0;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
position: fixed;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
width: 100%;
|
||||
z-index: 9999
|
||||
}
|
||||
|
||||
.elementor-editor-active .elementor-popup-modal {
|
||||
background-color: initial
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-widget-content,
|
||||
.dialog-type-confirm .dialog-widget-content {
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
width: 400px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-header,
|
||||
.dialog-type-confirm .dialog-header {
|
||||
font-size: 15px;
|
||||
font-weight: 500
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-header:after,
|
||||
.dialog-type-confirm .dialog-header:after {
|
||||
border-block-end: var(--e-a-border);
|
||||
content: "";
|
||||
display: block;
|
||||
margin-block-end: 10px;
|
||||
margin-inline-end: -20px;
|
||||
margin-inline-start: -20px;
|
||||
padding-block-end: 10px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-message,
|
||||
.dialog-type-confirm .dialog-message {
|
||||
min-height: 50px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper {
|
||||
display: flex;
|
||||
gap: 15px;
|
||||
justify-content: flex-end;
|
||||
padding-block-start: 10px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button {
|
||||
background-color: var(--e-a-btn-bg);
|
||||
border: none;
|
||||
border-radius: var(--e-a-border-radius);
|
||||
color: var(--e-a-btn-color-invert);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
outline: none;
|
||||
padding: 8px 16px;
|
||||
transition: var(--e-a-transition-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover {
|
||||
border: none
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover {
|
||||
background-color: var(--e-a-btn-bg-hover);
|
||||
color: var(--e-a-btn-color-invert)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:active,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:active {
|
||||
background-color: var(--e-a-btn-bg-active)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:not([disabled]),
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:not([disabled]) {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:disabled,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:disabled {
|
||||
background-color: var(--e-a-btn-bg-disabled);
|
||||
color: var(--e-a-btn-color-disabled)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:not(.elementor-button-state) .elementor-state-icon,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:not(.elementor-button-state) .elementor-state-icon {
|
||||
display: none
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt {
|
||||
background: transparent;
|
||||
color: var(--e-a-color-txt)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:hover {
|
||||
background: var(--e-a-bg-hover);
|
||||
color: var(--e-a-color-txt-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:disabled,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:disabled,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:disabled,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:disabled {
|
||||
background: transparent;
|
||||
color: var(--e-a-color-txt-disabled)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt-border,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt-border {
|
||||
border: 1px solid var(--e-a-color-txt-muted)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success {
|
||||
background-color: var(--e-a-btn-bg-success)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success:hover {
|
||||
background-color: var(--e-a-btn-bg-success-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary {
|
||||
background-color: var(--e-a-btn-bg-primary);
|
||||
color: var(--e-a-btn-color)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary:hover {
|
||||
background-color: var(--e-a-btn-bg-primary-hover);
|
||||
color: var(--e-a-btn-color)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt {
|
||||
background: transparent;
|
||||
color: var(--e-a-color-primary-bold)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:hover {
|
||||
background: var(--e-a-bg-primary)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro {
|
||||
background-color: var(--e-a-btn-bg-accent)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:hover {
|
||||
background-color: var(--e-a-btn-bg-accent-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:active,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:active,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:active,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:active {
|
||||
background-color: var(--e-a-btn-bg-accent-active)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info {
|
||||
background-color: var(--e-a-btn-bg-info)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info:hover {
|
||||
background-color: var(--e-a-btn-bg-info-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning {
|
||||
background-color: var(--e-a-btn-bg-warning)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning:hover {
|
||||
background-color: var(--e-a-btn-bg-warning-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger {
|
||||
background-color: var(--e-a-btn-bg-danger)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger.color-white,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger.color-white,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger.color-white,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger.color-white {
|
||||
color: var(--e-a-color-white)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger:hover {
|
||||
background-color: var(--e-a-btn-bg-danger-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button i,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button i {
|
||||
margin-inline-end: 5px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:visited,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:visited {
|
||||
color: initial
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled],
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled] {
|
||||
background-color: var(--e-a-btn-bg-disabled);
|
||||
cursor: not-allowed
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:visited,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:visited {
|
||||
background-color: var(--e-a-btn-bg-disabled)
|
||||
}
|
||||
3263
assets/css/google-fonts.css
Normal file
3263
assets/css/google-fonts.css
Normal file
File diff suppressed because it is too large
Load Diff
15
assets/css/style.css
Normal file
15
assets/css/style.css
Normal file
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
Theme Name: Logico Child
|
||||
Description: Logico Child Theme
|
||||
Theme URI: https://demo.artureanec.com/themes/logico
|
||||
Author: Artureanec
|
||||
Author URI: https://demo.artureanec.com
|
||||
Template: logico
|
||||
Version: 1.0.0
|
||||
License: GNU General Public License version 3.0
|
||||
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
||||
Text Domain: logico-child
|
||||
*/
|
||||
|
||||
/* =Theme customization starts here
|
||||
------------------------------------------------------- */
|
||||
731
assets/css/swiper.min.css
vendored
Normal file
731
assets/css/swiper.min.css
vendored
Normal file
@@ -0,0 +1,731 @@
|
||||
/**
|
||||
* Swiper 8.4.5
|
||||
* Most modern mobile touch slider and framework with hardware accelerated transitions
|
||||
* https://swiperjs.com
|
||||
*
|
||||
* Copyright 2014-2022 Vladimir Kharlampidi
|
||||
*
|
||||
* Released under the MIT License
|
||||
*
|
||||
* Released on: November 21, 2022
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: swiper-icons;
|
||||
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
|
||||
font-weight: 400;
|
||||
font-style: normal
|
||||
}
|
||||
|
||||
:root {
|
||||
--swiper-theme-color: #007aff
|
||||
}
|
||||
|
||||
.swiper {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.swiper-vertical>.swiper-wrapper {
|
||||
flex-direction: column
|
||||
}
|
||||
|
||||
.swiper-wrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
transition-property: transform;
|
||||
box-sizing: content-box
|
||||
}
|
||||
|
||||
.swiper-android .swiper-slide,
|
||||
.swiper-wrapper {
|
||||
transform: translate3d(0px, 0, 0)
|
||||
}
|
||||
|
||||
.swiper-pointer-events {
|
||||
touch-action: pan-y
|
||||
}
|
||||
|
||||
.swiper-pointer-events.swiper-vertical {
|
||||
touch-action: pan-x
|
||||
}
|
||||
|
||||
.swiper-slide {
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
transition-property: transform
|
||||
}
|
||||
|
||||
.swiper-slide-invisible-blank {
|
||||
visibility: hidden
|
||||
}
|
||||
|
||||
.swiper-autoheight,
|
||||
.swiper-autoheight .swiper-slide {
|
||||
height: auto
|
||||
}
|
||||
|
||||
.swiper-autoheight .swiper-wrapper {
|
||||
align-items: flex-start;
|
||||
transition-property: transform, height
|
||||
}
|
||||
|
||||
.swiper-backface-hidden .swiper-slide {
|
||||
transform: translateZ(0);
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden
|
||||
}
|
||||
|
||||
.swiper-3d,
|
||||
.swiper-3d.swiper-css-mode .swiper-wrapper {
|
||||
perspective: 1200px
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-cube-shadow,
|
||||
.swiper-3d .swiper-slide,
|
||||
.swiper-3d .swiper-slide-shadow,
|
||||
.swiper-3d .swiper-slide-shadow-bottom,
|
||||
.swiper-3d .swiper-slide-shadow-left,
|
||||
.swiper-3d .swiper-slide-shadow-right,
|
||||
.swiper-3d .swiper-slide-shadow-top,
|
||||
.swiper-3d .swiper-wrapper {
|
||||
transform-style: preserve-3d
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow,
|
||||
.swiper-3d .swiper-slide-shadow-bottom,
|
||||
.swiper-3d .swiper-slide-shadow-left,
|
||||
.swiper-3d .swiper-slide-shadow-right,
|
||||
.swiper-3d .swiper-slide-shadow-top {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
pointer-events: none;
|
||||
z-index: 10
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow {
|
||||
background: rgba(0, 0, 0, .15)
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow-left {
|
||||
background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow-right {
|
||||
background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow-top {
|
||||
background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow-bottom {
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
|
||||
}
|
||||
|
||||
.swiper-css-mode>.swiper-wrapper {
|
||||
overflow: auto;
|
||||
scrollbar-width: none;
|
||||
-ms-overflow-style: none
|
||||
}
|
||||
|
||||
.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
|
||||
display: none
|
||||
}
|
||||
|
||||
.swiper-css-mode>.swiper-wrapper>.swiper-slide {
|
||||
scroll-snap-align: start start
|
||||
}
|
||||
|
||||
.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
|
||||
scroll-snap-type: x mandatory
|
||||
}
|
||||
|
||||
.swiper-vertical.swiper-css-mode>.swiper-wrapper {
|
||||
scroll-snap-type: y mandatory
|
||||
}
|
||||
|
||||
.swiper-centered>.swiper-wrapper::before {
|
||||
content: '';
|
||||
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%;
|
||||
min-height: 1px;
|
||||
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%;
|
||||
min-width: 1px;
|
||||
height: var(--swiper-centered-offset-after)
|
||||
}
|
||||
|
||||
.swiper-centered>.swiper-wrapper>.swiper-slide {
|
||||
scroll-snap-align: center center
|
||||
}
|
||||
|
||||
.swiper-virtual .swiper-slide {
|
||||
-webkit-backface-visibility: hidden;
|
||||
transform: translateZ(0)
|
||||
}
|
||||
|
||||
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
|
||||
height: 1px;
|
||||
width: var(--swiper-virtual-size)
|
||||
}
|
||||
|
||||
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
|
||||
width: 1px;
|
||||
height: var(--swiper-virtual-size)
|
||||
}
|
||||
|
||||
:root {
|
||||
--swiper-navigation-size: 44px
|
||||
}
|
||||
|
||||
.swiper-button-next,
|
||||
.swiper-button-prev {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: calc(var(--swiper-navigation-size)/ 44 * 27);
|
||||
height: var(--swiper-navigation-size);
|
||||
margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
|
||||
z-index: 10;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--swiper-navigation-color, var(--swiper-theme-color))
|
||||
}
|
||||
|
||||
.swiper-button-next.swiper-button-disabled,
|
||||
.swiper-button-prev.swiper-button-disabled {
|
||||
opacity: .35;
|
||||
cursor: auto;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-button-next.swiper-button-hidden,
|
||||
.swiper-button-prev.swiper-button-hidden {
|
||||
opacity: 0;
|
||||
cursor: auto;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-navigation-disabled .swiper-button-next,
|
||||
.swiper-navigation-disabled .swiper-button-prev {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.swiper-button-next:after,
|
||||
.swiper-button-prev: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,
|
||||
.swiper-rtl .swiper-button-next {
|
||||
left: 10px;
|
||||
right: auto
|
||||
}
|
||||
|
||||
.swiper-button-prev:after,
|
||||
.swiper-rtl .swiper-button-next:after {
|
||||
content: 'prev'
|
||||
}
|
||||
|
||||
.swiper-button-next,
|
||||
.swiper-rtl .swiper-button-prev {
|
||||
right: 10px;
|
||||
left: auto
|
||||
}
|
||||
|
||||
.swiper-button-next:after,
|
||||
.swiper-rtl .swiper-button-prev:after {
|
||||
content: 'next'
|
||||
}
|
||||
|
||||
.swiper-button-lock {
|
||||
display: none
|
||||
}
|
||||
|
||||
.swiper-pagination {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
transition: .3s opacity;
|
||||
transform: translate3d(0, 0, 0);
|
||||
z-index: 10
|
||||
}
|
||||
|
||||
.swiper-pagination.swiper-pagination-hidden {
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.swiper-pagination-disabled>.swiper-pagination,
|
||||
.swiper-pagination.swiper-pagination-disabled {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-bullets,
|
||||
.swiper-pagination-bullets.swiper-pagination-horizontal,
|
||||
.swiper-pagination-custom,
|
||||
.swiper-pagination-fraction {
|
||||
bottom: 10px;
|
||||
left: 0;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic {
|
||||
overflow: hidden;
|
||||
font-size: 0
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
transform: scale(.33);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
|
||||
transform: scale(1)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
|
||||
transform: scale(1)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
|
||||
transform: scale(.66)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
|
||||
transform: scale(.33)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
|
||||
transform: scale(.66)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
|
||||
transform: scale(.33)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullet {
|
||||
width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
|
||||
height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
|
||||
display: inline-block;
|
||||
border-radius: 50%;
|
||||
background: var(--swiper-pagination-bullet-inactive-color, #000);
|
||||
opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
|
||||
}
|
||||
|
||||
button.swiper-pagination-bullet {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
-webkit-appearance: none;
|
||||
appearance: none
|
||||
}
|
||||
|
||||
.swiper-pagination-clickable .swiper-pagination-bullet {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.swiper-pagination-bullet:only-child {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.swiper-pagination-bullet-active {
|
||||
opacity: var(--swiper-pagination-bullet-opacity, 1);
|
||||
background: var(--swiper-pagination-color, var(--swiper-theme-color))
|
||||
}
|
||||
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets,
|
||||
.swiper-vertical>.swiper-pagination-bullets {
|
||||
right: 10px;
|
||||
top: 50%;
|
||||
transform: translate3d(0px, -50%, 0)
|
||||
}
|
||||
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
|
||||
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
|
||||
margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
|
||||
display: block
|
||||
}
|
||||
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
|
||||
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 8px
|
||||
}
|
||||
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
|
||||
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
display: inline-block;
|
||||
transition: .2s transform, .2s top
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
|
||||
margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
transition: .2s transform, .2s left
|
||||
}
|
||||
|
||||
.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
transition: .2s transform, .2s right
|
||||
}
|
||||
|
||||
.swiper-pagination-progressbar {
|
||||
background: rgba(0, 0, 0, .25);
|
||||
position: absolute
|
||||
}
|
||||
|
||||
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
||||
background: var(--swiper-pagination-color, var(--swiper-theme-color));
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transform: scale(0);
|
||||
transform-origin: left top
|
||||
}
|
||||
|
||||
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
||||
transform-origin: right top
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-progressbar,
|
||||
.swiper-pagination-progressbar.swiper-pagination-horizontal,
|
||||
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
|
||||
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
|
||||
width: 100%;
|
||||
height: 4px;
|
||||
left: 0;
|
||||
top: 0
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
|
||||
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
|
||||
.swiper-pagination-progressbar.swiper-pagination-vertical,
|
||||
.swiper-vertical>.swiper-pagination-progressbar {
|
||||
width: 4px;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0
|
||||
}
|
||||
|
||||
.swiper-pagination-lock {
|
||||
display: none
|
||||
}
|
||||
|
||||
.swiper-scrollbar {
|
||||
border-radius: 10px;
|
||||
position: relative;
|
||||
-ms-touch-action: none;
|
||||
background: rgba(0, 0, 0, .1)
|
||||
}
|
||||
|
||||
.swiper-scrollbar-disabled>.swiper-scrollbar,
|
||||
.swiper-scrollbar.swiper-scrollbar-disabled {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-scrollbar,
|
||||
.swiper-scrollbar.swiper-scrollbar-horizontal {
|
||||
position: absolute;
|
||||
left: 1%;
|
||||
bottom: 3px;
|
||||
z-index: 50;
|
||||
height: 5px;
|
||||
width: 98%
|
||||
}
|
||||
|
||||
.swiper-scrollbar.swiper-scrollbar-vertical,
|
||||
.swiper-vertical>.swiper-scrollbar {
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 1%;
|
||||
z-index: 50;
|
||||
width: 5px;
|
||||
height: 98%
|
||||
}
|
||||
|
||||
.swiper-scrollbar-drag {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
background: rgba(0, 0, 0, .5);
|
||||
border-radius: 10px;
|
||||
left: 0;
|
||||
top: 0
|
||||
}
|
||||
|
||||
.swiper-scrollbar-cursor-drag {
|
||||
cursor: move
|
||||
}
|
||||
|
||||
.swiper-scrollbar-lock {
|
||||
display: none
|
||||
}
|
||||
|
||||
.swiper-zoom-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.swiper-zoom-container>canvas,
|
||||
.swiper-zoom-container>img,
|
||||
.swiper-zoom-container>svg {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
object-fit: contain
|
||||
}
|
||||
|
||||
.swiper-slide-zoomed {
|
||||
cursor: move
|
||||
}
|
||||
|
||||
.swiper-lazy-preloader {
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-left: -21px;
|
||||
margin-top: -21px;
|
||||
z-index: 10;
|
||||
transform-origin: 50%;
|
||||
box-sizing: border-box;
|
||||
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
|
||||
border-radius: 50%;
|
||||
border-top-color: transparent
|
||||
}
|
||||
|
||||
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
|
||||
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
|
||||
animation: swiper-preloader-spin 1s infinite linear
|
||||
}
|
||||
|
||||
.swiper-lazy-preloader-white {
|
||||
--swiper-preloader-color: #fff
|
||||
}
|
||||
|
||||
.swiper-lazy-preloader-black {
|
||||
--swiper-preloader-color: #000
|
||||
}
|
||||
|
||||
@keyframes swiper-preloader-spin {
|
||||
0% {
|
||||
transform: rotate(0deg)
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg)
|
||||
}
|
||||
}
|
||||
|
||||
.swiper .swiper-notification {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
z-index: -1000
|
||||
}
|
||||
|
||||
.swiper-free-mode>.swiper-wrapper {
|
||||
transition-timing-function: ease-out;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.swiper-grid>.swiper-wrapper {
|
||||
flex-wrap: wrap
|
||||
}
|
||||
|
||||
.swiper-grid-column>.swiper-wrapper {
|
||||
flex-wrap: wrap;
|
||||
flex-direction: column
|
||||
}
|
||||
|
||||
.swiper-fade.swiper-free-mode .swiper-slide {
|
||||
transition-timing-function: ease-out
|
||||
}
|
||||
|
||||
.swiper-fade .swiper-slide {
|
||||
pointer-events: none;
|
||||
transition-property: opacity
|
||||
}
|
||||
|
||||
.swiper-fade .swiper-slide .swiper-slide {
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-fade .swiper-slide-active,
|
||||
.swiper-fade .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.swiper-cube {
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide {
|
||||
pointer-events: none;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1;
|
||||
visibility: hidden;
|
||||
transform-origin: 0 0;
|
||||
width: 100%;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide .swiper-slide {
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-cube.swiper-rtl .swiper-slide {
|
||||
transform-origin: 100% 0
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide-active,
|
||||
.swiper-cube .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide-active,
|
||||
.swiper-cube .swiper-slide-next,
|
||||
.swiper-cube .swiper-slide-next+.swiper-slide,
|
||||
.swiper-cube .swiper-slide-prev {
|
||||
pointer-events: auto;
|
||||
visibility: visible
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide-shadow-bottom,
|
||||
.swiper-cube .swiper-slide-shadow-left,
|
||||
.swiper-cube .swiper-slide-shadow-right,
|
||||
.swiper-cube .swiper-slide-shadow-top {
|
||||
z-index: 0;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-cube-shadow {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: .6;
|
||||
z-index: 0
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-cube-shadow:before {
|
||||
content: '';
|
||||
background: #000;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
filter: blur(50px)
|
||||
}
|
||||
|
||||
.swiper-flip {
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
.swiper-flip .swiper-slide {
|
||||
pointer-events: none;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.swiper-flip .swiper-slide .swiper-slide {
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-flip .swiper-slide-active,
|
||||
.swiper-flip .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.swiper-flip .swiper-slide-shadow-bottom,
|
||||
.swiper-flip .swiper-slide-shadow-left,
|
||||
.swiper-flip .swiper-slide-shadow-right,
|
||||
.swiper-flip .swiper-slide-shadow-top {
|
||||
z-index: 0;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden
|
||||
}
|
||||
|
||||
.swiper-creative .swiper-slide {
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
overflow: hidden;
|
||||
transition-property: transform, opacity, height
|
||||
}
|
||||
|
||||
.swiper-cards {
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
.swiper-cards .swiper-slide {
|
||||
transform-origin: center bottom;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
overflow: hidden
|
||||
}
|
||||
1
assets/fonts/Manrope-SemiBold.ttf
Normal file
1
assets/fonts/Manrope-SemiBold.ttf
Normal file
@@ -0,0 +1 @@
|
||||
No Content: https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/themes/logico/fonts/Manrope-SemiBold.ttf
|
||||
1
assets/fonts/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2
Normal file
1
assets/fonts/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2
Normal file
@@ -0,0 +1 @@
|
||||
No Content: https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2
|
||||
1
assets/fonts/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2
Normal file
1
assets/fonts/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2
Normal file
@@ -0,0 +1 @@
|
||||
No Content: https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2
|
||||
@@ -0,0 +1 @@
|
||||
No Content: https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2
|
||||
1
assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2
Normal file
1
assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2
Normal file
@@ -0,0 +1 @@
|
||||
No Content: https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2
|
||||
BIN
assets/images/bg-404.png
Normal file
BIN
assets/images/bg-404.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
BIN
assets/images/bg-map.png
Normal file
BIN
assets/images/bg-map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
BIN
assets/images/bg-slide-sidebar.jpg
Normal file
BIN
assets/images/bg-slide-sidebar.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.1 KiB |
BIN
assets/images/home2-banner-4.jpg
Normal file
BIN
assets/images/home2-banner-4.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/images/home2alt-bg-1.jpg
Normal file
BIN
assets/images/home2alt-bg-1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 321 KiB |
1
assets/images/submit-spin.svg
Normal file
1
assets/images/submit-spin.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="currentColor" width="30" height="30"><g transform="translate(1 1)" stroke-width="5" fill="none" fill-rule="evenodd"><circle stroke-opacity=".4" cx="24" cy="24" r="22.2"/><path d="M46.2 24c0-12.2-9.9-22.2-22.2-22.2"><animateTransform accumulate="none" additive="replace" attributeName="transform" calcMode="linear" dur="1s" fill="remove" from="0 24 24" repeatCount="indefinite" restart="always" to="360 24 24" type="rotate"/></path></g></svg>
|
||||
|
After Width: | Height: | Size: 509 B |
189
assets/js/accordion.28788e18d1d35c23f450.bundle.min.js
vendored
Normal file
189
assets/js/accordion.28788e18d1d35c23f450.bundle.min.js
vendored
Normal file
@@ -0,0 +1,189 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
"use strict";
|
||||
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([[131], {
|
||||
5249: (e, t, a) => {
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}),
|
||||
t.default = void 0,
|
||||
a(6281),
|
||||
a(4846),
|
||||
a(7458),
|
||||
a(6211);
|
||||
class baseTabs extends elementorModules.frontend.handlers.Base {
|
||||
getDefaultSettings() {
|
||||
return {
|
||||
selectors: {
|
||||
tablist: '[role="tablist"]',
|
||||
tabTitle: ".elementor-tab-title",
|
||||
tabContent: ".elementor-tab-content"
|
||||
},
|
||||
classes: {
|
||||
active: "elementor-active"
|
||||
},
|
||||
showTabFn: "show",
|
||||
hideTabFn: "hide",
|
||||
toggleSelf: !0,
|
||||
hidePrevious: !0,
|
||||
autoExpand: !0,
|
||||
keyDirection: {
|
||||
ArrowLeft: elementorFrontendConfig.is_rtl ? 1 : -1,
|
||||
ArrowUp: -1,
|
||||
ArrowRight: elementorFrontendConfig.is_rtl ? -1 : 1,
|
||||
ArrowDown: 1
|
||||
}
|
||||
}
|
||||
}
|
||||
getDefaultElements() {
|
||||
const e = this.getSettings("selectors");
|
||||
return {
|
||||
$tabTitles: this.findElement(e.tabTitle),
|
||||
$tabContents: this.findElement(e.tabContent)
|
||||
}
|
||||
}
|
||||
activateDefaultTab() {
|
||||
const e = this.getSettings();
|
||||
if (!e.autoExpand || "editor" === e.autoExpand && !this.isEdit)
|
||||
return;
|
||||
const t = this.getEditSettings("activeItemIndex") || 1
|
||||
, a = {
|
||||
showTabFn: e.showTabFn,
|
||||
hideTabFn: e.hideTabFn
|
||||
};
|
||||
this.setSettings({
|
||||
showTabFn: "show",
|
||||
hideTabFn: "hide"
|
||||
}),
|
||||
this.changeActiveTab(t),
|
||||
this.setSettings(a)
|
||||
}
|
||||
handleKeyboardNavigation(e) {
|
||||
const t = e.currentTarget
|
||||
, a = jQuery(t.closest(this.getSettings("selectors").tablist))
|
||||
, i = a.find(this.getSettings("selectors").tabTitle)
|
||||
, s = "vertical" === a.attr("aria-orientation");
|
||||
switch (e.key) {
|
||||
case "ArrowLeft":
|
||||
case "ArrowRight":
|
||||
if (s)
|
||||
return;
|
||||
break;
|
||||
case "ArrowUp":
|
||||
case "ArrowDown":
|
||||
if (!s)
|
||||
return;
|
||||
e.preventDefault();
|
||||
break;
|
||||
case "Home":
|
||||
return e.preventDefault(),
|
||||
void i.first().trigger("focus");
|
||||
case "End":
|
||||
return e.preventDefault(),
|
||||
void i.last().trigger("focus");
|
||||
default:
|
||||
return
|
||||
}
|
||||
const n = t.getAttribute("data-tab") - 1
|
||||
, r = this.getSettings("keyDirection")[e.key]
|
||||
, o = i[n + r];
|
||||
o ? o.focus() : -1 === n + r ? i.last().trigger("focus") : i.first().trigger("focus")
|
||||
}
|
||||
deactivateActiveTab(e) {
|
||||
const t = this.getSettings()
|
||||
, a = t.classes.active
|
||||
, i = e ? '[data-tab="' + e + '"]' : "." + a
|
||||
, s = this.elements.$tabTitles.filter(i)
|
||||
, n = this.elements.$tabContents.filter(i);
|
||||
s.add(n).removeClass(a + " active"),
|
||||
s.closest(".elementor-accordion-item").removeClass("active"),
|
||||
s.attr({
|
||||
tabindex: "-1",
|
||||
"aria-selected": "false",
|
||||
"aria-expanded": "false"
|
||||
}),
|
||||
n[t.hideTabFn](),
|
||||
n.attr("hidden", "hidden")
|
||||
}
|
||||
activateTab(e) {
|
||||
const t = this.getSettings()
|
||||
, a = t.classes.active
|
||||
, i = this.elements.$tabTitles.filter('[data-tab="' + e + '"]')
|
||||
, s = this.elements.$tabContents.filter('[data-tab="' + e + '"]')
|
||||
, n = "show" === t.showTabFn ? 0 : 400;
|
||||
i.add(s).addClass(a + " active"),
|
||||
i.closest(".elementor-accordion-item").addClass("active"),
|
||||
i.attr({
|
||||
tabindex: "0",
|
||||
"aria-selected": "true",
|
||||
"aria-expanded": "true"
|
||||
}),
|
||||
s[t.showTabFn](n, () => elementorFrontend.elements.$window.trigger("elementor-pro/motion-fx/recalc")),
|
||||
s.removeAttr("hidden")
|
||||
}
|
||||
isActiveTab(e) {
|
||||
return this.elements.$tabTitles.filter('[data-tab="' + e + '"]').hasClass(this.getSettings("classes.active"))
|
||||
}
|
||||
bindEvents() {
|
||||
this.elements.$tabTitles.on({
|
||||
keydown: e => {
|
||||
jQuery(e.target).is("a") && "Enter" === e.key && e.preventDefault(),
|
||||
["End", "Home", "ArrowUp", "ArrowDown"].includes(e.key) && this.handleKeyboardNavigation(e)
|
||||
}
|
||||
,
|
||||
keyup: e => {
|
||||
switch (e.code) {
|
||||
case "ArrowLeft":
|
||||
case "ArrowRight":
|
||||
this.handleKeyboardNavigation(e);
|
||||
break;
|
||||
case "Enter":
|
||||
case "Space":
|
||||
e.preventDefault(),
|
||||
this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))
|
||||
}
|
||||
}
|
||||
,
|
||||
click: e => {
|
||||
e.preventDefault(),
|
||||
this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))
|
||||
}
|
||||
})
|
||||
}
|
||||
onInit() {
|
||||
super.onInit(...arguments),
|
||||
this.activateDefaultTab()
|
||||
}
|
||||
onEditSettingsChange(e) {
|
||||
"activeItemIndex" === e && this.activateDefaultTab()
|
||||
}
|
||||
changeActiveTab(e) {
|
||||
const t = this.isActiveTab(e)
|
||||
, a = this.getSettings();
|
||||
if (t) return;
|
||||
!a.toggleSelf && t || !a.hidePrevious || this.deactivateActiveTab(),
|
||||
!a.hidePrevious && t && this.deactivateActiveTab(e),
|
||||
t || this.activateTab(e)
|
||||
}
|
||||
}
|
||||
t.default = baseTabs
|
||||
}
|
||||
,
|
||||
9675: (e, t, a) => {
|
||||
var i = a(6784);
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}),
|
||||
t.default = void 0;
|
||||
var s = i(a(5249));
|
||||
class Accordion extends s.default {
|
||||
getDefaultSettings() {
|
||||
return {
|
||||
...super.getDefaultSettings(),
|
||||
showTabFn: "slideDown",
|
||||
hideTabFn: "slideUp"
|
||||
}
|
||||
}
|
||||
}
|
||||
t.default = Accordion
|
||||
}
|
||||
}]);
|
||||
97
assets/js/add-to-cart.min.js
vendored
Normal file
97
assets/js/add-to-cart.min.js
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
jQuery(function(t) {
|
||||
if ("undefined" == typeof wc_add_to_cart_params) return !1;
|
||||
var a = function() {
|
||||
this.requests = [], this.addRequest = this.addRequest.bind(this), this.run = this.run.bind(this), this.$liveRegion = this.createLiveRegion(), t(document.body).on("click", ".add_to_cart_button:not(.wc-interactive)", {
|
||||
addToCartHandler: this
|
||||
}, this.onAddToCart).on("click", ".remove_from_cart_button", {
|
||||
addToCartHandler: this
|
||||
}, this.onRemoveFromCart).on("added_to_cart", {
|
||||
addToCartHandler: this
|
||||
}, this.onAddedToCart).on("removed_from_cart", {
|
||||
addToCartHandler: this
|
||||
}, this.onRemovedFromCart).on("ajax_request_not_sent.adding_to_cart", this.updateButton)
|
||||
};
|
||||
a.prototype.addRequest = function(t) {
|
||||
this.requests.push(t), 1 === this.requests.length && this.run()
|
||||
}, a.prototype.run = function() {
|
||||
var a = this,
|
||||
e = a.requests[0].complete;
|
||||
a.requests[0].complete = function() {
|
||||
"function" == typeof e && e(), a.requests.shift(), a.requests.length > 0 && a.run()
|
||||
}, t.ajax(this.requests[0])
|
||||
}, a.prototype.onAddToCart = function(a) {
|
||||
var e = t(this);
|
||||
if (e.is(".ajax_add_to_cart")) {
|
||||
if (!e.attr("data-product_id")) return !0;
|
||||
if (a.data.addToCartHandler.$liveRegion.text("").removeAttr("aria-relevant"), a.preventDefault(), e.removeClass("added"), e.addClass("loading"), !1 === t(document.body).triggerHandler("should_send_ajax_request.adding_to_cart", [e])) return t(document.body).trigger("ajax_request_not_sent.adding_to_cart", [!1, !1, e]), !0;
|
||||
var r = {};
|
||||
t.each(e.data(), function(t, a) {
|
||||
r[t] = a
|
||||
}), t.each(e[0].dataset, function(t, a) {
|
||||
r[t] = a
|
||||
}), t(document.body).trigger("adding_to_cart", [e, r]), a.data.addToCartHandler.addRequest({
|
||||
type: "POST",
|
||||
url: wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "add_to_cart"),
|
||||
data: r,
|
||||
success: function(a) {
|
||||
a && (a.error && a.product_url ? window.location = a.product_url : "yes" !== wc_add_to_cart_params.cart_redirect_after_add ? t(document.body).trigger("added_to_cart", [a.fragments, a.cart_hash, e]) : window.location = wc_add_to_cart_params.cart_url)
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
}
|
||||
}, a.prototype.onRemoveFromCart = function(a) {
|
||||
var e = t(this),
|
||||
r = e.closest(".woocommerce-mini-cart-item");
|
||||
a.data.addToCartHandler.$liveRegion.text("").removeAttr("aria-relevant"), a.preventDefault(), r.block({
|
||||
message: null,
|
||||
overlayCSS: {
|
||||
opacity: .6
|
||||
}
|
||||
}), a.data.addToCartHandler.addRequest({
|
||||
type: "POST",
|
||||
url: wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "remove_from_cart"),
|
||||
data: {
|
||||
cart_item_key: e.data("cart_item_key")
|
||||
},
|
||||
success: function(a) {
|
||||
a && a.fragments ? t(document.body).trigger("removed_from_cart", [a.fragments, a.cart_hash, e]) : window.location = e.attr("href")
|
||||
},
|
||||
error: function() {
|
||||
window.location = e.attr("href")
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
}, a.prototype.updateButton = function(a, e, r, d) {
|
||||
if (d = void 0 !== d && d) {
|
||||
if (d.removeClass("loading"), e && d.addClass("added"), e && !wc_add_to_cart_params.is_cart && 0 === d.parent().find(".added_to_cart").length) {
|
||||
var o = document.createElement("a");
|
||||
o.href = wc_add_to_cart_params.cart_url, o.className = "added_to_cart wc-forward", o.title = wc_add_to_cart_params.i18n_view_cart, o.textContent = wc_add_to_cart_params.i18n_view_cart, d.after(o)
|
||||
}
|
||||
t(document.body).trigger("wc_cart_button_updated", [d])
|
||||
}
|
||||
}, a.prototype.updateFragments = function(a, e) {
|
||||
e && (t.each(e, function(a) {
|
||||
t(a).addClass("updating").fadeTo("400", "0.6").block({
|
||||
message: null,
|
||||
overlayCSS: {
|
||||
opacity: .6
|
||||
}
|
||||
})
|
||||
}), t.each(e, function(a, e) {
|
||||
t(a).replaceWith(e), t(a).stop(!0).css("opacity", "1").unblock()
|
||||
}), t(document.body).trigger("wc_fragments_loaded"))
|
||||
}, a.prototype.alertCartUpdated = function(t, a, e, r) {
|
||||
if (r = void 0 !== r && r) {
|
||||
var d = r.data("success_message");
|
||||
if (!d) return;
|
||||
t.data.addToCartHandler.$liveRegion.delay(1e3).text(d).attr("aria-relevant", "all")
|
||||
}
|
||||
}, a.prototype.createLiveRegion = function() {
|
||||
var a = t(".widget_shopping_cart_live_region");
|
||||
return a.length ? a : t('<div class="widget_shopping_cart_live_region screen-reader-text" role="status"></div>').appendTo("body")
|
||||
}, a.prototype.onAddedToCart = function(t, a, e, r) {
|
||||
t.data.addToCartHandler.updateButton(t, a, e, r), t.data.addToCartHandler.updateFragments(t, a), t.data.addToCartHandler.alertCartUpdated(t, a, e, r)
|
||||
}, a.prototype.onRemovedFromCart = function(t, a, e, r) {
|
||||
t.data.addToCartHandler.updateFragments(t, a), t.data.addToCartHandler.alertCartUpdated(t, a, e, r)
|
||||
}, new a
|
||||
});
|
||||
31
assets/js/address.min.js
vendored
Normal file
31
assets/js/address.min.js
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
((e, s) => {
|
||||
let o = {
|
||||
noStateCountries: [],
|
||||
init() {
|
||||
s(e).on("load", o.onLoad), s(document).on("wpformsRepeaterFieldCloneCreated", o.setChangeHandlers)
|
||||
},
|
||||
onLoad() {
|
||||
o.noStateCountries = wpforms_settings ? .address_field ? .list_countries_without_states || [], o.noStateCountries.length && o.setChangeHandlers()
|
||||
},
|
||||
setChangeHandlers() {
|
||||
s(".wpforms-field-address").each(function() {
|
||||
var e = s(this).find("select.wpforms-field-address-country");
|
||||
e.length && (o.handleCountryChange(e), e.off("change").on("change", function() {
|
||||
o.handleCountryChange(this)
|
||||
}))
|
||||
})
|
||||
},
|
||||
handleCountryChange(e) {
|
||||
var e = s(e),
|
||||
t = e.closest(".wpforms-field").find(".wpforms-field-address-state"),
|
||||
n = t.closest(".wpforms-field-row");
|
||||
n.length && (e = e.val(), o.handleStateInput(t, n, e))
|
||||
},
|
||||
handleStateInput(e, t, n) {
|
||||
o.noStateCountries.includes(n) ? (e.val("").prop("disabled", !0).prop("required", !1).on("change", function() {
|
||||
s(this).val("")
|
||||
}), t.addClass("wpforms-without-state")) : (e.prop("disabled", !1).prop("required", t.find(".wpforms-first input").prop("required")).off("change"), t.removeClass("wpforms-without-state"))
|
||||
}
|
||||
};
|
||||
o.init(), o
|
||||
})(window, jQuery);
|
||||
683
assets/js/core.min.js
vendored
Normal file
683
assets/js/core.min.js
vendored
Normal file
@@ -0,0 +1,683 @@
|
||||
/*! jQuery UI - v1.13.3 - 2024-04-26
|
||||
* https://jqueryui.com
|
||||
* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
|
||||
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
||||
! function(t) {
|
||||
"use strict";
|
||||
"function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery)
|
||||
}(function(x) {
|
||||
"use strict";
|
||||
var t, e, i, n, W, C, o, s, r, l, a, h, u;
|
||||
|
||||
function E(t, e, i) {
|
||||
return [parseFloat(t[0]) * (a.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (a.test(t[1]) ? i / 100 : 1)]
|
||||
}
|
||||
|
||||
function L(t, e) {
|
||||
return parseInt(x.css(t, e), 10) || 0
|
||||
}
|
||||
|
||||
function N(t) {
|
||||
return null != t && t === t.window
|
||||
}
|
||||
x.ui = x.ui || {}, x.ui.version = "1.13.3",
|
||||
/*!
|
||||
* jQuery UI :data 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.extend(x.expr.pseudos, {
|
||||
data: x.expr.createPseudo ? x.expr.createPseudo(function(e) {
|
||||
return function(t) {
|
||||
return !!x.data(t, e)
|
||||
}
|
||||
}) : function(t, e, i) {
|
||||
return !!x.data(t, i[3])
|
||||
}
|
||||
}),
|
||||
/*!
|
||||
* jQuery UI Disable Selection 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.fn.extend({
|
||||
disableSelection: (t = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown", function() {
|
||||
return this.on(t + ".ui-disableSelection", function(t) {
|
||||
t.preventDefault()
|
||||
})
|
||||
}),
|
||||
enableSelection: function() {
|
||||
return this.off(".ui-disableSelection")
|
||||
}
|
||||
}),
|
||||
/*!
|
||||
* jQuery UI Focusable 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.ui.focusable = function(t, e) {
|
||||
var i, n, o, s = t.nodeName.toLowerCase();
|
||||
return "area" === s ? (o = (i = t.parentNode).name, !(!t.href || !o || "map" !== i.nodeName.toLowerCase()) && 0 < (i = x("img[usemap='#" + o + "']")).length && i.is(":visible")) : (/^(input|select|textarea|button|object)$/.test(s) ? (n = !t.disabled) && (o = x(t).closest("fieldset")[0]) && (n = !o.disabled) : n = "a" === s && t.href || e, n && x(t).is(":visible") && function(t) {
|
||||
var e = t.css("visibility");
|
||||
for (;
|
||||
"inherit" === e;) t = t.parent(), e = t.css("visibility");
|
||||
return "visible" === e
|
||||
}(x(t)))
|
||||
}, x.extend(x.expr.pseudos, {
|
||||
focusable: function(t) {
|
||||
return x.ui.focusable(t, null != x.attr(t, "tabindex"))
|
||||
}
|
||||
}), x.fn._form = function() {
|
||||
return "string" == typeof this[0].form ? this.closest("form") : x(this[0].form)
|
||||
},
|
||||
/*!
|
||||
* jQuery UI Form Reset Mixin 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.ui.formResetMixin = {
|
||||
_formResetHandler: function() {
|
||||
var e = x(this);
|
||||
setTimeout(function() {
|
||||
var t = e.data("ui-form-reset-instances");
|
||||
x.each(t, function() {
|
||||
this.refresh()
|
||||
})
|
||||
})
|
||||
},
|
||||
_bindFormResetHandler: function() {
|
||||
var t;
|
||||
this.form = this.element._form(), this.form.length && ((t = this.form.data("ui-form-reset-instances") || []).length || this.form.on("reset.ui-form-reset", this._formResetHandler), t.push(this), this.form.data("ui-form-reset-instances", t))
|
||||
},
|
||||
_unbindFormResetHandler: function() {
|
||||
var t;
|
||||
this.form.length && ((t = this.form.data("ui-form-reset-instances")).splice(x.inArray(this, t), 1), t.length ? this.form.data("ui-form-reset-instances", t) : this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))
|
||||
}
|
||||
}, x.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
|
||||
/*!
|
||||
* jQuery UI Support for jQuery core 1.8.x and newer 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*
|
||||
*/
|
||||
x.expr.pseudos || (x.expr.pseudos = x.expr[":"]), x.uniqueSort || (x.uniqueSort = x.unique), x.escapeSelector || (e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, i = function(t, e) {
|
||||
return e ? "\0" === t ? "<22>" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t
|
||||
}, x.escapeSelector = function(t) {
|
||||
return (t + "").replace(e, i)
|
||||
}), x.fn.even && x.fn.odd || x.fn.extend({
|
||||
even: function() {
|
||||
return this.filter(function(t) {
|
||||
return t % 2 == 0
|
||||
})
|
||||
},
|
||||
odd: function() {
|
||||
return this.filter(function(t) {
|
||||
return t % 2 == 1
|
||||
})
|
||||
}
|
||||
}),
|
||||
/*!
|
||||
* jQuery UI Keycode 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.ui.keyCode = {
|
||||
BACKSPACE: 8,
|
||||
COMMA: 188,
|
||||
DELETE: 46,
|
||||
DOWN: 40,
|
||||
END: 35,
|
||||
ENTER: 13,
|
||||
ESCAPE: 27,
|
||||
HOME: 36,
|
||||
LEFT: 37,
|
||||
PAGE_DOWN: 34,
|
||||
PAGE_UP: 33,
|
||||
PERIOD: 190,
|
||||
RIGHT: 39,
|
||||
SPACE: 32,
|
||||
TAB: 9,
|
||||
UP: 38
|
||||
},
|
||||
/*!
|
||||
* jQuery UI Labels 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.fn.labels = function() {
|
||||
var t, e, i;
|
||||
return this.length ? this[0].labels && this[0].labels.length ? this.pushStack(this[0].labels) : (e = this.eq(0).parents("label"), (t = this.attr("id")) && (i = (i = this.eq(0).parents().last()).add((i.length ? i : this).siblings()), t = "label[for='" + x.escapeSelector(t) + "']", e = e.add(i.find(t).addBack(t))), this.pushStack(e)) : this.pushStack([])
|
||||
}, x.ui.plugin = {
|
||||
add: function(t, e, i) {
|
||||
var n, o = x.ui[t].prototype;
|
||||
for (n in i) o.plugins[n] = o.plugins[n] || [], o.plugins[n].push([e, i[n]])
|
||||
},
|
||||
call: function(t, e, i, n) {
|
||||
var o, s = t.plugins[e];
|
||||
if (s && (n || t.element[0].parentNode && 11 !== t.element[0].parentNode.nodeType))
|
||||
for (o = 0; o < s.length; o++) t.options[s[o][0]] && s[o][1].apply(t.element, i)
|
||||
}
|
||||
},
|
||||
/*!
|
||||
* jQuery UI Position 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* https://api.jqueryui.com/position/
|
||||
*/
|
||||
W = Math.max, C = Math.abs, o = /left|center|right/, s = /top|center|bottom/, r = /[\+\-]\d+(\.[\d]+)?%?/, l = /^\w+/, a = /%$/, h = x.fn.position, x.position = {
|
||||
scrollbarWidth: function() {
|
||||
var t, e, i;
|
||||
return void 0 !== n ? n : (i = (e = x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0], x("body").append(e), t = i.offsetWidth, e.css("overflow", "scroll"), t === (i = i.offsetWidth) && (i = e[0].clientWidth), e.remove(), n = t - i)
|
||||
},
|
||||
getScrollInfo: function(t) {
|
||||
var e = t.isWindow || t.isDocument ? "" : t.element.css("overflow-x"),
|
||||
i = t.isWindow || t.isDocument ? "" : t.element.css("overflow-y"),
|
||||
e = "scroll" === e || "auto" === e && t.width < t.element[0].scrollWidth;
|
||||
return {
|
||||
width: "scroll" === i || "auto" === i && t.height < t.element[0].scrollHeight ? x.position.scrollbarWidth() : 0,
|
||||
height: e ? x.position.scrollbarWidth() : 0
|
||||
}
|
||||
},
|
||||
getWithinInfo: function(t) {
|
||||
var e = x(t || window),
|
||||
i = N(e[0]),
|
||||
n = !!e[0] && 9 === e[0].nodeType;
|
||||
return {
|
||||
element: e,
|
||||
isWindow: i,
|
||||
isDocument: n,
|
||||
offset: !i && !n ? x(t).offset() : {
|
||||
left: 0,
|
||||
top: 0
|
||||
},
|
||||
scrollLeft: e.scrollLeft(),
|
||||
scrollTop: e.scrollTop(),
|
||||
width: e.outerWidth(),
|
||||
height: e.outerHeight()
|
||||
}
|
||||
}
|
||||
}, x.fn.position = function(f) {
|
||||
var c, d, p, g, m, v, y, w, b, _, t, e;
|
||||
return f && f.of ? (v = "string" == typeof(f = x.extend({}, f)).of ? x(document).find(f.of) : x(f.of), y = x.position.getWithinInfo(f.within), w = x.position.getScrollInfo(y), b = (f.collision || "flip").split(" "), _ = {}, e = 9 === (e = (t = v)[0]).nodeType ? {
|
||||
width: t.width(),
|
||||
height: t.height(),
|
||||
offset: {
|
||||
top: 0,
|
||||
left: 0
|
||||
}
|
||||
} : N(e) ? {
|
||||
width: t.width(),
|
||||
height: t.height(),
|
||||
offset: {
|
||||
top: t.scrollTop(),
|
||||
left: t.scrollLeft()
|
||||
}
|
||||
} : e.preventDefault ? {
|
||||
width: 0,
|
||||
height: 0,
|
||||
offset: {
|
||||
top: e.pageY,
|
||||
left: e.pageX
|
||||
}
|
||||
} : {
|
||||
width: t.outerWidth(),
|
||||
height: t.outerHeight(),
|
||||
offset: t.offset()
|
||||
}, v[0].preventDefault && (f.at = "left top"), d = e.width, p = e.height, m = x.extend({}, g = e.offset), x.each(["my", "at"], function() {
|
||||
var t, e, i = (f[this] || "").split(" ");
|
||||
(i = 1 === i.length ? o.test(i[0]) ? i.concat(["center"]) : s.test(i[0]) ? ["center"].concat(i) : ["center", "center"] : i)[0] = o.test(i[0]) ? i[0] : "center", i[1] = s.test(i[1]) ? i[1] : "center", t = r.exec(i[0]), e = r.exec(i[1]), _[this] = [t ? t[0] : 0, e ? e[0] : 0], f[this] = [l.exec(i[0])[0], l.exec(i[1])[0]]
|
||||
}), 1 === b.length && (b[1] = b[0]), "right" === f.at[0] ? m.left += d : "center" === f.at[0] && (m.left += d / 2), "bottom" === f.at[1] ? m.top += p : "center" === f.at[1] && (m.top += p / 2), c = E(_.at, d, p), m.left += c[0], m.top += c[1], this.each(function() {
|
||||
var i, t, r = x(this),
|
||||
l = r.outerWidth(),
|
||||
a = r.outerHeight(),
|
||||
e = L(this, "marginLeft"),
|
||||
n = L(this, "marginTop"),
|
||||
o = l + e + L(this, "marginRight") + w.width,
|
||||
s = a + n + L(this, "marginBottom") + w.height,
|
||||
h = x.extend({}, m),
|
||||
u = E(_.my, r.outerWidth(), r.outerHeight());
|
||||
"right" === f.my[0] ? h.left -= l : "center" === f.my[0] && (h.left -= l / 2), "bottom" === f.my[1] ? h.top -= a : "center" === f.my[1] && (h.top -= a / 2), h.left += u[0], h.top += u[1], i = {
|
||||
marginLeft: e,
|
||||
marginTop: n
|
||||
}, x.each(["left", "top"], function(t, e) {
|
||||
x.ui.position[b[t]] && x.ui.position[b[t]][e](h, {
|
||||
targetWidth: d,
|
||||
targetHeight: p,
|
||||
elemWidth: l,
|
||||
elemHeight: a,
|
||||
collisionPosition: i,
|
||||
collisionWidth: o,
|
||||
collisionHeight: s,
|
||||
offset: [c[0] + u[0], c[1] + u[1]],
|
||||
my: f.my,
|
||||
at: f.at,
|
||||
within: y,
|
||||
elem: r
|
||||
})
|
||||
}), f.using && (t = function(t) {
|
||||
var e = g.left - h.left,
|
||||
i = e + d - l,
|
||||
n = g.top - h.top,
|
||||
o = n + p - a,
|
||||
s = {
|
||||
target: {
|
||||
element: v,
|
||||
left: g.left,
|
||||
top: g.top,
|
||||
width: d,
|
||||
height: p
|
||||
},
|
||||
element: {
|
||||
element: r,
|
||||
left: h.left,
|
||||
top: h.top,
|
||||
width: l,
|
||||
height: a
|
||||
},
|
||||
horizontal: i < 0 ? "left" : 0 < e ? "right" : "center",
|
||||
vertical: o < 0 ? "top" : 0 < n ? "bottom" : "middle"
|
||||
};
|
||||
d < l && C(e + i) < d && (s.horizontal = "center"), p < a && C(n + o) < p && (s.vertical = "middle"), W(C(e), C(i)) > W(C(n), C(o)) ? s.important = "horizontal" : s.important = "vertical", f.using.call(this, t, s)
|
||||
}), r.offset(x.extend(h, {
|
||||
using: t
|
||||
}))
|
||||
})) : h.apply(this, arguments)
|
||||
}, x.ui.position = {
|
||||
fit: {
|
||||
left: function(t, e) {
|
||||
var i, n = e.within,
|
||||
o = n.isWindow ? n.scrollLeft : n.offset.left,
|
||||
n = n.width,
|
||||
s = t.left - e.collisionPosition.marginLeft,
|
||||
r = o - s,
|
||||
l = s + e.collisionWidth - n - o;
|
||||
n < e.collisionWidth ? 0 < r && l <= 0 ? (i = t.left + r + e.collisionWidth - n - o, t.left += r - i) : t.left = !(0 < l && r <= 0) && l < r ? o + n - e.collisionWidth : o : 0 < r ? t.left += r : 0 < l ? t.left -= l : t.left = W(t.left - s, t.left)
|
||||
},
|
||||
top: function(t, e) {
|
||||
var i, n = e.within,
|
||||
n = n.isWindow ? n.scrollTop : n.offset.top,
|
||||
o = e.within.height,
|
||||
s = t.top - e.collisionPosition.marginTop,
|
||||
r = n - s,
|
||||
l = s + e.collisionHeight - o - n;
|
||||
o < e.collisionHeight ? 0 < r && l <= 0 ? (i = t.top + r + e.collisionHeight - o - n, t.top += r - i) : t.top = !(0 < l && r <= 0) && l < r ? n + o - e.collisionHeight : n : 0 < r ? t.top += r : 0 < l ? t.top -= l : t.top = W(t.top - s, t.top)
|
||||
}
|
||||
},
|
||||
flip: {
|
||||
left: function(t, e) {
|
||||
var i = e.within,
|
||||
n = i.offset.left + i.scrollLeft,
|
||||
o = i.width,
|
||||
i = i.isWindow ? i.scrollLeft : i.offset.left,
|
||||
s = t.left - e.collisionPosition.marginLeft,
|
||||
r = s - i,
|
||||
s = s + e.collisionWidth - o - i,
|
||||
l = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0,
|
||||
a = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0,
|
||||
h = -2 * e.offset[0];
|
||||
r < 0 ? ((o = t.left + l + a + h + e.collisionWidth - o - n) < 0 || o < C(r)) && (t.left += l + a + h) : 0 < s && (0 < (n = t.left - e.collisionPosition.marginLeft + l + a + h - i) || C(n) < s) && (t.left += l + a + h)
|
||||
},
|
||||
top: function(t, e) {
|
||||
var i = e.within,
|
||||
n = i.offset.top + i.scrollTop,
|
||||
o = i.height,
|
||||
i = i.isWindow ? i.scrollTop : i.offset.top,
|
||||
s = t.top - e.collisionPosition.marginTop,
|
||||
r = s - i,
|
||||
s = s + e.collisionHeight - o - i,
|
||||
l = "top" === e.my[1] ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0,
|
||||
a = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0,
|
||||
h = -2 * e.offset[1];
|
||||
r < 0 ? ((o = t.top + l + a + h + e.collisionHeight - o - n) < 0 || o < C(r)) && (t.top += l + a + h) : 0 < s && (0 < (n = t.top - e.collisionPosition.marginTop + l + a + h - i) || C(n) < s) && (t.top += l + a + h)
|
||||
}
|
||||
},
|
||||
flipfit: {
|
||||
left: function() {
|
||||
x.ui.position.flip.left.apply(this, arguments), x.ui.position.fit.left.apply(this, arguments)
|
||||
},
|
||||
top: function() {
|
||||
x.ui.position.flip.top.apply(this, arguments), x.ui.position.fit.top.apply(this, arguments)
|
||||
}
|
||||
}
|
||||
}, x.ui.safeActiveElement = function(e) {
|
||||
var i;
|
||||
try {
|
||||
i = e.activeElement
|
||||
} catch (t) {
|
||||
i = e.body
|
||||
}
|
||||
return i = (i = i || e.body).nodeName ? i : e.body
|
||||
}, x.ui.safeBlur = function(t) {
|
||||
t && "body" !== t.nodeName.toLowerCase() && x(t).trigger("blur")
|
||||
},
|
||||
/*!
|
||||
* jQuery UI Scroll Parent 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.fn.scrollParent = function(t) {
|
||||
var e = this.css("position"),
|
||||
i = "absolute" === e,
|
||||
n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
|
||||
t = this.parents().filter(function() {
|
||||
var t = x(this);
|
||||
return (!i || "static" !== t.css("position")) && n.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"))
|
||||
}).eq(0);
|
||||
return "fixed" !== e && t.length ? t : x(this[0].ownerDocument || document)
|
||||
},
|
||||
/*!
|
||||
* jQuery UI Tabbable 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.extend(x.expr.pseudos, {
|
||||
tabbable: function(t) {
|
||||
var e = x.attr(t, "tabindex"),
|
||||
i = null != e;
|
||||
return (!i || 0 <= e) && x.ui.focusable(t, i)
|
||||
}
|
||||
}),
|
||||
/*!
|
||||
* jQuery UI Unique ID 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
x.fn.extend({
|
||||
uniqueId: (u = 0, function() {
|
||||
return this.each(function() {
|
||||
this.id || (this.id = "ui-id-" + ++u)
|
||||
})
|
||||
}),
|
||||
removeUniqueId: function() {
|
||||
return this.each(function() {
|
||||
/^ui-id-\d+$/.test(this.id) && x(this).removeAttr("id")
|
||||
})
|
||||
}
|
||||
});
|
||||
/*!
|
||||
* jQuery UI Widget 1.13.3
|
||||
* https://jqueryui.com
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
*/
|
||||
var f, c = 0,
|
||||
d = Array.prototype.hasOwnProperty,
|
||||
p = Array.prototype.slice;
|
||||
x.cleanData = (f = x.cleanData, function(t) {
|
||||
for (var e, i, n = 0; null != (i = t[n]); n++)(e = x._data(i, "events")) && e.remove && x(i).triggerHandler("remove");
|
||||
f(t)
|
||||
}), x.widget = function(t, i, e) {
|
||||
var n, o, s, r = {},
|
||||
l = t.split(".")[0],
|
||||
a = l + "-" + (t = t.split(".")[1]);
|
||||
return e || (e = i, i = x.Widget), Array.isArray(e) && (e = x.extend.apply(null, [{}].concat(e))), x.expr.pseudos[a.toLowerCase()] = function(t) {
|
||||
return !!x.data(t, a)
|
||||
}, x[l] = x[l] || {}, n = x[l][t], o = x[l][t] = function(t, e) {
|
||||
if (!this || !this._createWidget) return new o(t, e);
|
||||
arguments.length && this._createWidget(t, e)
|
||||
}, x.extend(o, n, {
|
||||
version: e.version,
|
||||
_proto: x.extend({}, e),
|
||||
_childConstructors: []
|
||||
}), (s = new i).options = x.widget.extend({}, s.options), x.each(e, function(e, n) {
|
||||
function o() {
|
||||
return i.prototype[e].apply(this, arguments)
|
||||
}
|
||||
|
||||
function s(t) {
|
||||
return i.prototype[e].apply(this, t)
|
||||
}
|
||||
r[e] = "function" != typeof n ? n : function() {
|
||||
var t, e = this._super,
|
||||
i = this._superApply;
|
||||
return this._super = o, this._superApply = s, t = n.apply(this, arguments), this._super = e, this._superApply = i, t
|
||||
}
|
||||
}), o.prototype = x.widget.extend(s, {
|
||||
widgetEventPrefix: n && s.widgetEventPrefix || t
|
||||
}, r, {
|
||||
constructor: o,
|
||||
namespace: l,
|
||||
widgetName: t,
|
||||
widgetFullName: a
|
||||
}), n ? (x.each(n._childConstructors, function(t, e) {
|
||||
var i = e.prototype;
|
||||
x.widget(i.namespace + "." + i.widgetName, o, e._proto)
|
||||
}), delete n._childConstructors) : i._childConstructors.push(o), x.widget.bridge(t, o), o
|
||||
}, x.widget.extend = function(t) {
|
||||
for (var e, i, n = p.call(arguments, 1), o = 0, s = n.length; o < s; o++)
|
||||
for (e in n[o]) i = n[o][e], d.call(n[o], e) && void 0 !== i && (x.isPlainObject(i) ? t[e] = x.isPlainObject(t[e]) ? x.widget.extend({}, t[e], i) : x.widget.extend({}, i) : t[e] = i);
|
||||
return t
|
||||
}, x.widget.bridge = function(s, e) {
|
||||
var r = e.prototype.widgetFullName || s;
|
||||
x.fn[s] = function(i) {
|
||||
var t = "string" == typeof i,
|
||||
n = p.call(arguments, 1),
|
||||
o = this;
|
||||
return t ? this.length || "instance" !== i ? this.each(function() {
|
||||
var t, e = x.data(this, r);
|
||||
return "instance" === i ? (o = e, !1) : e ? "function" != typeof e[i] || "_" === i.charAt(0) ? x.error("no such method '" + i + "' for " + s + " widget instance") : (t = e[i].apply(e, n)) !== e && void 0 !== t ? (o = t && t.jquery ? o.pushStack(t.get()) : t, !1) : void 0 : x.error("cannot call methods on " + s + " prior to initialization; attempted to call method '" + i + "'")
|
||||
}) : o = void 0 : (n.length && (i = x.widget.extend.apply(null, [i].concat(n))), this.each(function() {
|
||||
var t = x.data(this, r);
|
||||
t ? (t.option(i || {}), t._init && t._init()) : x.data(this, r, new e(i, this))
|
||||
})), o
|
||||
}
|
||||
}, x.Widget = function() {}, x.Widget._childConstructors = [], x.Widget.prototype = {
|
||||
widgetName: "widget",
|
||||
widgetEventPrefix: "",
|
||||
defaultElement: "<div>",
|
||||
options: {
|
||||
classes: {},
|
||||
disabled: !1,
|
||||
create: null
|
||||
},
|
||||
_createWidget: function(t, e) {
|
||||
e = x(e || this.defaultElement || this)[0], this.element = x(e), this.uuid = c++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = x(), this.hoverable = x(), this.focusable = x(), this.classesElementLookup = {}, e !== this && (x.data(e, this.widgetFullName, this), this._on(!0, this.element, {
|
||||
remove: function(t) {
|
||||
t.target === e && this.destroy()
|
||||
}
|
||||
}), this.document = x(e.style ? e.ownerDocument : e.document || e), this.window = x(this.document[0].defaultView || this.document[0].parentWindow)), this.options = x.widget.extend({}, this.options, this._getCreateOptions(), t), this._create(), this.options.disabled && this._setOptionDisabled(this.options.disabled), this._trigger("create", null, this._getCreateEventData()), this._init()
|
||||
},
|
||||
_getCreateOptions: function() {
|
||||
return {}
|
||||
},
|
||||
_getCreateEventData: x.noop,
|
||||
_create: x.noop,
|
||||
_init: x.noop,
|
||||
destroy: function() {
|
||||
var i = this;
|
||||
this._destroy(), x.each(this.classesElementLookup, function(t, e) {
|
||||
i._removeClass(e, t)
|
||||
}), this.element.off(this.eventNamespace).removeData(this.widgetFullName), this.widget().off(this.eventNamespace).removeAttr("aria-disabled"), this.bindings.off(this.eventNamespace)
|
||||
},
|
||||
_destroy: x.noop,
|
||||
widget: function() {
|
||||
return this.element
|
||||
},
|
||||
option: function(t, e) {
|
||||
var i, n, o, s = t;
|
||||
if (0 === arguments.length) return x.widget.extend({}, this.options);
|
||||
if ("string" == typeof t)
|
||||
if (s = {}, t = (i = t.split(".")).shift(), i.length) {
|
||||
for (n = s[t] = x.widget.extend({}, this.options[t]), o = 0; o < i.length - 1; o++) n[i[o]] = n[i[o]] || {}, n = n[i[o]];
|
||||
if (t = i.pop(), 1 === arguments.length) return void 0 === n[t] ? null : n[t];
|
||||
n[t] = e
|
||||
} else {
|
||||
if (1 === arguments.length) return void 0 === this.options[t] ? null : this.options[t];
|
||||
s[t] = e
|
||||
}
|
||||
return this._setOptions(s), this
|
||||
},
|
||||
_setOptions: function(t) {
|
||||
for (var e in t) this._setOption(e, t[e]);
|
||||
return this
|
||||
},
|
||||
_setOption: function(t, e) {
|
||||
return "classes" === t && this._setOptionClasses(e), this.options[t] = e, "disabled" === t && this._setOptionDisabled(e), this
|
||||
},
|
||||
_setOptionClasses: function(t) {
|
||||
var e, i, n;
|
||||
for (e in t) n = this.classesElementLookup[e], t[e] !== this.options.classes[e] && n && n.length && (i = x(n.get()), this._removeClass(n, e), i.addClass(this._classes({
|
||||
element: i,
|
||||
keys: e,
|
||||
classes: t,
|
||||
add: !0
|
||||
})))
|
||||
},
|
||||
_setOptionDisabled: function(t) {
|
||||
this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus"))
|
||||
},
|
||||
enable: function() {
|
||||
return this._setOptions({
|
||||
disabled: !1
|
||||
})
|
||||
},
|
||||
disable: function() {
|
||||
return this._setOptions({
|
||||
disabled: !0
|
||||
})
|
||||
},
|
||||
_classes: function(o) {
|
||||
var s = [],
|
||||
r = this;
|
||||
|
||||
function t(t, e) {
|
||||
for (var i, n = 0; n < t.length; n++) i = r.classesElementLookup[t[n]] || x(), i = o.add ? (function() {
|
||||
var i = [];
|
||||
o.element.each(function(t, e) {
|
||||
x.map(r.classesElementLookup, function(t) {
|
||||
return t
|
||||
}).some(function(t) {
|
||||
return t.is(e)
|
||||
}) || i.push(e)
|
||||
}), r._on(x(i), {
|
||||
remove: "_untrackClassesElement"
|
||||
})
|
||||
}(), x(x.uniqueSort(i.get().concat(o.element.get())))) : x(i.not(o.element).get()), r.classesElementLookup[t[n]] = i, s.push(t[n]), e && o.classes[t[n]] && s.push(o.classes[t[n]])
|
||||
}
|
||||
return (o = x.extend({
|
||||
element: this.element,
|
||||
classes: this.options.classes || {}
|
||||
}, o)).keys && t(o.keys.match(/\S+/g) || [], !0), o.extra && t(o.extra.match(/\S+/g) || []), s.join(" ")
|
||||
},
|
||||
_untrackClassesElement: function(i) {
|
||||
var n = this;
|
||||
x.each(n.classesElementLookup, function(t, e) {
|
||||
-1 !== x.inArray(i.target, e) && (n.classesElementLookup[t] = x(e.not(i.target).get()))
|
||||
}), this._off(x(i.target))
|
||||
},
|
||||
_removeClass: function(t, e, i) {
|
||||
return this._toggleClass(t, e, i, !1)
|
||||
},
|
||||
_addClass: function(t, e, i) {
|
||||
return this._toggleClass(t, e, i, !0)
|
||||
},
|
||||
_toggleClass: function(t, e, i, n) {
|
||||
var o = "string" == typeof t || null === t,
|
||||
e = {
|
||||
extra: o ? e : i,
|
||||
keys: o ? t : e,
|
||||
element: o ? this.element : t,
|
||||
add: n = "boolean" == typeof n ? n : i
|
||||
};
|
||||
return e.element.toggleClass(this._classes(e), n), this
|
||||
},
|
||||
_on: function(o, s, t) {
|
||||
var r, l = this;
|
||||
"boolean" != typeof o && (t = s, s = o, o = !1), t ? (s = r = x(s), this.bindings = this.bindings.add(s)) : (t = s, s = this.element, r = this.widget()), x.each(t, function(t, e) {
|
||||
function i() {
|
||||
if (o || !0 !== l.options.disabled && !x(this).hasClass("ui-state-disabled")) return ("string" == typeof e ? l[e] : e).apply(l, arguments)
|
||||
}
|
||||
"string" != typeof e && (i.guid = e.guid = e.guid || i.guid || x.guid++);
|
||||
var t = t.match(/^([\w:-]*)\s*(.*)$/),
|
||||
n = t[1] + l.eventNamespace,
|
||||
t = t[2];
|
||||
t ? r.on(n, t, i) : s.on(n, i)
|
||||
})
|
||||
},
|
||||
_off: function(t, e) {
|
||||
e = (e || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, t.off(e), this.bindings = x(this.bindings.not(t).get()), this.focusable = x(this.focusable.not(t).get()), this.hoverable = x(this.hoverable.not(t).get())
|
||||
},
|
||||
_delay: function(t, e) {
|
||||
var i = this;
|
||||
return setTimeout(function() {
|
||||
return ("string" == typeof t ? i[t] : t).apply(i, arguments)
|
||||
}, e || 0)
|
||||
},
|
||||
_hoverable: function(t) {
|
||||
this.hoverable = this.hoverable.add(t), this._on(t, {
|
||||
mouseenter: function(t) {
|
||||
this._addClass(x(t.currentTarget), null, "ui-state-hover")
|
||||
},
|
||||
mouseleave: function(t) {
|
||||
this._removeClass(x(t.currentTarget), null, "ui-state-hover")
|
||||
}
|
||||
})
|
||||
},
|
||||
_focusable: function(t) {
|
||||
this.focusable = this.focusable.add(t), this._on(t, {
|
||||
focusin: function(t) {
|
||||
this._addClass(x(t.currentTarget), null, "ui-state-focus")
|
||||
},
|
||||
focusout: function(t) {
|
||||
this._removeClass(x(t.currentTarget), null, "ui-state-focus")
|
||||
}
|
||||
})
|
||||
},
|
||||
_trigger: function(t, e, i) {
|
||||
var n, o, s = this.options[t];
|
||||
if (i = i || {}, (e = x.Event(e)).type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase(), e.target = this.element[0], o = e.originalEvent)
|
||||
for (n in o) n in e || (e[n] = o[n]);
|
||||
return this.element.trigger(e, i), !("function" == typeof s && !1 === s.apply(this.element[0], [e].concat(i)) || e.isDefaultPrevented())
|
||||
}
|
||||
}, x.each({
|
||||
show: "fadeIn",
|
||||
hide: "fadeOut"
|
||||
}, function(s, r) {
|
||||
x.Widget.prototype["_" + s] = function(e, t, i) {
|
||||
var n, o = (t = "string" == typeof t ? {
|
||||
effect: t
|
||||
} : t) ? !0 !== t && "number" != typeof t && t.effect || r : s;
|
||||
"number" == typeof(t = t || {}) ? t = {
|
||||
duration: t
|
||||
}: !0 === t && (t = {}), n = !x.isEmptyObject(t), t.complete = i, t.delay && e.delay(t.delay), n && x.effects && x.effects.effect[o] ? e[s](t) : o !== s && e[o] ? e[o](t.duration, t.easing, i) : e.queue(function(t) {
|
||||
x(this)[s](), i && i.call(e[0]), t()
|
||||
})
|
||||
}
|
||||
})
|
||||
});
|
||||
405
assets/js/dialog.min.js
vendored
Normal file
405
assets/js/dialog.min.js
vendored
Normal file
@@ -0,0 +1,405 @@
|
||||
/*!
|
||||
* Dialogs Manager v4.9.4
|
||||
* https://github.com/kobizz/dialogs-manager
|
||||
*
|
||||
* Copyright Kobi Zaltzberg
|
||||
* Released under the MIT license
|
||||
* https://github.com/kobizz/dialogs-manager/blob/master/LICENSE.txt
|
||||
*/
|
||||
! function(t, e) {
|
||||
"use strict";
|
||||
var n = {
|
||||
widgetsTypes: {},
|
||||
createWidgetType: function(e, i, o) {
|
||||
o || (o = this.Widget);
|
||||
var s = function() {
|
||||
o.apply(this, arguments)
|
||||
},
|
||||
r = s.prototype = new o(e);
|
||||
return r.types = r.types.concat([e]), t.extend(r, i), r.constructor = s, s.extend = function(t, e) {
|
||||
return n.createWidgetType(t, e, s)
|
||||
}, s
|
||||
},
|
||||
addWidgetType: function(t, e, n) {
|
||||
return e && e.prototype instanceof this.Widget ? this.widgetsTypes[t] = e : this.widgetsTypes[t] = this.createWidgetType(t, e, n)
|
||||
},
|
||||
getWidgetType: function(t) {
|
||||
return this.widgetsTypes[t]
|
||||
}
|
||||
};
|
||||
n.Instance = function() {
|
||||
var e = this,
|
||||
i = {},
|
||||
o = {};
|
||||
e.openDialogs = [];
|
||||
var s = function(e) {
|
||||
t.extend(o, {
|
||||
classPrefix: "dialog",
|
||||
effects: {
|
||||
show: "fadeIn",
|
||||
hide: "fadeOut"
|
||||
}
|
||||
}, e)
|
||||
};
|
||||
this.createWidget = function(t, i) {
|
||||
var o = new(n.getWidgetType(t))(t);
|
||||
return i = i || {}, o.init(e, i), o
|
||||
}, this.getSettings = function(t) {
|
||||
return t ? o[t] : Object.create(o)
|
||||
}, this.maybeLoadAssets = async function() {
|
||||
if (!!window.elementorFrontend ? .utils ? .assetsLoader) try {
|
||||
await elementorFrontend.utils.assetsLoader.load("style", "dialog")
|
||||
} catch (t) {
|
||||
console.error("Failed to load assets:", t)
|
||||
}
|
||||
}, this.init = function(n) {
|
||||
return this.maybeLoadAssets(), s(n), i.body = t("body"), e
|
||||
}, e.init()
|
||||
}, n.Widget = function(e) {
|
||||
var i = this,
|
||||
o = {},
|
||||
s = {},
|
||||
r = {},
|
||||
a = 0,
|
||||
c = ["refreshPosition"],
|
||||
d = function(t, e) {
|
||||
var n = o.effects[t],
|
||||
i = r.widget;
|
||||
if ("function" == typeof n) n.apply(i, e);
|
||||
else {
|
||||
if (!i[n]) throw "Reference Error: The effect " + n + " not found";
|
||||
i[n].apply(i, e)
|
||||
}
|
||||
},
|
||||
u = function(e) {
|
||||
if (!f(e)) {
|
||||
if (o.hide.onClick) {
|
||||
if (t(e.target).closest(o.selectors.preventClose).length) return
|
||||
} else if (e.target !== this) return;
|
||||
i.hide()
|
||||
}
|
||||
},
|
||||
l = function(e) {
|
||||
f(e) || t(e.target).closest(r.widget).length || function(e) {
|
||||
return !!o.hide.ignore && !!t(e.target).closest(o.hide.ignore).length
|
||||
}(e) || i.hide()
|
||||
},
|
||||
g = function() {
|
||||
t.each(o, (function(t) {
|
||||
var e = t.match(/^on([A-Z].*)/);
|
||||
e && (e = e[1].charAt(0).toLowerCase() + e[1].slice(1), i.on(e, this))
|
||||
}))
|
||||
},
|
||||
f = function(t) {
|
||||
return "click" === t.type && 2 === t.button
|
||||
},
|
||||
h = function(t) {
|
||||
27 === t.which && i.hide()
|
||||
},
|
||||
p = function() {
|
||||
var t = [r.window];
|
||||
r.iframe && t.push(jQuery(r.iframe[0].contentWindow)), t.forEach((function(t) {
|
||||
o.hide.onEscKeyPress && t.off("keyup", h), o.hide.onOutsideClick && t[0].removeEventListener("click", l, !0), o.hide.onOutsideContextMenu && t[0].removeEventListener("contextmenu", l, !0), o.position.autoRefresh && t.off("resize", i.refreshPosition)
|
||||
})), (o.hide.onClick || o.hide.onBackgroundClick) && r.widget.off("click", u)
|
||||
};
|
||||
this.addElement = function(e, n, i) {
|
||||
var s = r[e] = t(n || "<div>"),
|
||||
a = function(t) {
|
||||
return t.replace(/([a-z])([A-Z])/g, (function() {
|
||||
return arguments[1] + "-" + arguments[2].toLowerCase()
|
||||
}))
|
||||
}(e);
|
||||
return i = i ? i + " " : "", i += o.classes.globalPrefix + "-" + a, i += " " + o.classes.prefix + "-" + a, s.addClass(i), s
|
||||
}, this.destroy = function() {
|
||||
const t = i.getElements("widget") ? .attr("id"),
|
||||
e = i.parent.openDialogs.lastIndexOf(t);
|
||||
return -1 !== e && i.parent.openDialogs.splice(e, 1), p(), r.widget.remove(), i.trigger("destroy"), i
|
||||
}, this.getElements = function(t) {
|
||||
return t ? r[t] : r
|
||||
}, this.getSettings = function(t) {
|
||||
var e = Object.create(o);
|
||||
return t ? e[t] : e
|
||||
}, this.hide = function() {
|
||||
if (!i.isVisible()) return;
|
||||
const t = i.getElements("widget") ? .attr("id"),
|
||||
e = i.parent.openDialogs;
|
||||
return e[e.length - 1] === t ? (e.pop(), clearTimeout(a), d("hide", arguments), p(), o.preventScroll && i.getElements("body").removeClass(o.classes.preventScroll), i.trigger("hide"), i) : void 0
|
||||
}, this.init = function(s, a) {
|
||||
if (!(s instanceof n.Instance)) throw "The " + i.widgetName + " must to be initialized from an instance of DialogsManager.Instance";
|
||||
var d;
|
||||
return i.parent = s, d = c.concat(i.getClosureMethods()), t.each(d, (function() {
|
||||
var t = i[this];
|
||||
i[this] = function() {
|
||||
t.apply(i, arguments)
|
||||
}
|
||||
})), i.trigger("init", a),
|
||||
function(n, s) {
|
||||
var r = t.extend(!0, {}, n.getSettings());
|
||||
o = {
|
||||
headerMessage: "",
|
||||
message: "",
|
||||
effects: r.effects,
|
||||
classes: {
|
||||
globalPrefix: r.classPrefix,
|
||||
prefix: r.classPrefix + "-" + e,
|
||||
preventScroll: r.classPrefix + "-prevent-scroll"
|
||||
},
|
||||
selectors: {
|
||||
preventClose: "." + r.classPrefix + "-prevent-close"
|
||||
},
|
||||
container: "body",
|
||||
preventScroll: !1,
|
||||
iframe: null,
|
||||
closeButton: !1,
|
||||
closeButtonOptions: {
|
||||
iconClass: r.classPrefix + "-close-button-icon",
|
||||
attributes: {
|
||||
role: "button",
|
||||
tabindex: 0,
|
||||
"aria-label": "Close",
|
||||
href: "#"
|
||||
},
|
||||
iconElement: "<i>"
|
||||
},
|
||||
position: {
|
||||
element: "widget",
|
||||
my: "center",
|
||||
at: "center",
|
||||
enable: !0,
|
||||
autoRefresh: !1
|
||||
},
|
||||
hide: {
|
||||
auto: !1,
|
||||
autoDelay: 5e3,
|
||||
onClick: !1,
|
||||
onOutsideClick: !0,
|
||||
onOutsideContextMenu: !1,
|
||||
onBackgroundClick: !0,
|
||||
onEscKeyPress: !0,
|
||||
ignore: ""
|
||||
}
|
||||
}, t.extend(!0, o, i.getDefaultSettings(), s), g()
|
||||
}(s, a),
|
||||
function() {
|
||||
if (i.addElement("widget"), i.addElement("header"), i.addElement("message"), i.addElement("window", window), i.addElement("body", document.body), i.addElement("container", o.container), o.iframe && i.addElement("iframe", o.iframe), o.closeButton) {
|
||||
o.closeButtonClass && (o.closeButtonOptions.iconClass = o.closeButtonClass);
|
||||
const e = t("<a>", o.closeButtonOptions.attributes),
|
||||
n = t(o.closeButtonOptions.iconElement).addClass(o.closeButtonOptions.iconClass);
|
||||
e.append(n), i.addElement("closeButton", e)
|
||||
}
|
||||
var e = i.getSettings("id");
|
||||
e && i.setID(e);
|
||||
var n = [];
|
||||
t.each(i.types, (function() {
|
||||
n.push(o.classes.globalPrefix + "-type-" + this)
|
||||
})), n.push(i.getSettings("className")), r.widget.addClass(n.join(" ")).attr({
|
||||
"aria-modal": !0,
|
||||
role: "document",
|
||||
tabindex: 0
|
||||
})
|
||||
}(), i.buildWidget(), i.attachEvents(), i.trigger("ready"), i
|
||||
}, this.isVisible = function() {
|
||||
return r.widget.is(":visible")
|
||||
}, this.on = function(e, n) {
|
||||
return "object" == typeof e ? (t.each(e, (function(t) {
|
||||
i.on(t, this)
|
||||
})), i) : (e.split(" ").forEach((function(t) {
|
||||
s[t] || (s[t] = []), s[t].push(n)
|
||||
})), i)
|
||||
}, this.off = function(t, e) {
|
||||
if (!s[t]) return i;
|
||||
if (!e) return delete s[t], i;
|
||||
var n = s[t].indexOf(e);
|
||||
return -1 !== n && s[t].splice(n, 1), i
|
||||
}, this.refreshPosition = function() {
|
||||
if (o.position.enable) {
|
||||
var e = t.extend({}, o.position);
|
||||
r[e.of] && (e.of = r[e.of]), e.of || (e.of = window), o.iframe && function(t) {
|
||||
if (t.my) {
|
||||
var e = /([+-]\d+)?$/,
|
||||
n = r.iframe.offset(),
|
||||
i = r.iframe[0].contentWindow,
|
||||
o = t.my.split(" "),
|
||||
s = [];
|
||||
1 === o.length && (/left|right/.test(o[0]) ? o.push("center") : o.unshift("center")), o.forEach((function(t, o) {
|
||||
var r = t.replace(e, (function(t) {
|
||||
return t = +t || 0, (t += o ? n.top - i.scrollY : n.left - i.scrollX) >= 0 && (t = "+" + t), t
|
||||
}));
|
||||
s.push(r)
|
||||
})), t.my = s.join(" ")
|
||||
}
|
||||
}(e), r[e.element].position(e)
|
||||
}
|
||||
}, this.setID = function(t) {
|
||||
return r.widget.attr("id", t), i
|
||||
}, this.setHeaderMessage = function(t) {
|
||||
return i.getElements("header").html(t), i
|
||||
}, this.setMessage = function(t) {
|
||||
return r.message.html(t), i
|
||||
}, this.setSettings = function(e, n) {
|
||||
return jQuery.isPlainObject(n) ? t.extend(!0, o[e], n) : o[e] = n, i
|
||||
}, this.show = function() {
|
||||
var t;
|
||||
clearTimeout(a), r.widget.appendTo(r.container).hide(), d("show", arguments), i.refreshPosition(), o.hide.auto && (a = setTimeout(i.hide, o.hide.autoDelay)), t = [r.window], r.iframe && t.push(jQuery(r.iframe[0].contentWindow)), t.forEach((function(t) {
|
||||
o.hide.onEscKeyPress && t.on("keyup", h), o.hide.onOutsideClick && t[0].addEventListener("click", l, !0), o.hide.onOutsideContextMenu && t[0].addEventListener("contextmenu", l, !0), o.position.autoRefresh && t.on("resize", i.refreshPosition)
|
||||
})), (o.hide.onClick || o.hide.onBackgroundClick) && r.widget.on("click", u), o.preventScroll && i.getElements("body").addClass(o.classes.preventScroll), i.trigger("show");
|
||||
const e = i.getElements("widget") ? .attr("id");
|
||||
return i.parent.openDialogs.push(e), i
|
||||
}, this.trigger = function(e, n) {
|
||||
var o = "on" + e[0].toUpperCase() + e.slice(1);
|
||||
i[o] && i[o](n);
|
||||
var r = s[e];
|
||||
if (r) return t.each(r, (function(t, e) {
|
||||
e.call(i, n)
|
||||
})), i
|
||||
}
|
||||
}, n.Widget.prototype.types = [], n.Widget.prototype.buildWidget = function() {
|
||||
var t = this.getElements(),
|
||||
e = this.getSettings();
|
||||
t.widget.append(t.header, t.message), this.setHeaderMessage(e.headerMessage), this.setMessage(e.message), this.getSettings("closeButton") && t.widget.prepend(t.closeButton)
|
||||
}, n.Widget.prototype.attachEvents = function() {
|
||||
var t = this;
|
||||
t.getSettings("closeButton") && t.getElements("closeButton").on("click", (function(e) {
|
||||
e.preventDefault(), t.hide()
|
||||
}))
|
||||
}, n.Widget.prototype.getDefaultSettings = function() {
|
||||
return {}
|
||||
}, n.Widget.prototype.getClosureMethods = function() {
|
||||
return []
|
||||
}, n.Widget.prototype.onHide = function() {}, n.Widget.prototype.onShow = function() {}, n.Widget.prototype.onInit = function() {}, n.Widget.prototype.onReady = function() {}, n.widgetsTypes.simple = n.Widget, n.addWidgetType("buttons", {
|
||||
activeKeyUp: function(t) {
|
||||
9 === t.which && t.preventDefault(), this.hotKeys[t.which] && this.hotKeys[t.which](this)
|
||||
},
|
||||
activeKeyDown: function(t) {
|
||||
if (this.focusedButton) {
|
||||
if (9 === t.which) {
|
||||
t.preventDefault();
|
||||
var e, n = this.focusedButton.index();
|
||||
t.shiftKey ? (e = n - 1) < 0 && (e = this.buttons.length - 1) : (e = n + 1) >= this.buttons.length && (e = 0), this.focusedButton = this.buttons[e].trigger("focus")
|
||||
}
|
||||
}
|
||||
},
|
||||
addButton: function(e) {
|
||||
var n = this,
|
||||
i = n.getSettings(),
|
||||
o = jQuery.extend(i.button, e),
|
||||
s = e.classes ? e.classes + " " : "";
|
||||
s += i.classes.globalPrefix + "-button";
|
||||
var r = n.addElement(e.name, t("<" + o.tag + ">").html(e.text), s);
|
||||
n.buttons.push(r);
|
||||
var a = function() {
|
||||
i.hide.onButtonClick && n.hide(), "function" == typeof e.callback && e.callback.call(this, n)
|
||||
};
|
||||
return r.on("click", a), e.hotKey && (this.hotKeys[e.hotKey] = a), this.getElements("buttonsWrapper").append(r), e.focus && (this.focusedButton = r), n
|
||||
},
|
||||
bindHotKeys: function() {
|
||||
this.getElements("window").on({
|
||||
keyup: this.activeKeyUp,
|
||||
keydown: this.activeKeyDown
|
||||
})
|
||||
},
|
||||
buildWidget: function() {
|
||||
n.Widget.prototype.buildWidget.apply(this, arguments);
|
||||
var t = this.addElement("buttonsWrapper");
|
||||
this.getElements("widget").append(t)
|
||||
},
|
||||
getClosureMethods: function() {
|
||||
return ["activeKeyUp", "activeKeyDown"]
|
||||
},
|
||||
getDefaultSettings: function() {
|
||||
return {
|
||||
hide: {
|
||||
onButtonClick: !0
|
||||
},
|
||||
button: {
|
||||
tag: "button"
|
||||
}
|
||||
}
|
||||
},
|
||||
onHide: function() {
|
||||
this.unbindHotKeys()
|
||||
},
|
||||
onInit: function() {
|
||||
this.buttons = [], this.hotKeys = {}, this.focusedButton = null
|
||||
},
|
||||
onShow: function() {
|
||||
this.bindHotKeys(), this.focusedButton || (this.focusedButton = this.buttons[0]), this.focusedButton && this.focusedButton.trigger("focus")
|
||||
},
|
||||
unbindHotKeys: function() {
|
||||
this.getElements("window").off({
|
||||
keyup: this.activeKeyUp,
|
||||
keydown: this.activeKeyDown
|
||||
})
|
||||
}
|
||||
}), n.addWidgetType("lightbox", n.getWidgetType("buttons").extend("lightbox", {
|
||||
getDefaultSettings: function() {
|
||||
var e = n.getWidgetType("buttons").prototype.getDefaultSettings.apply(this, arguments);
|
||||
return t.extend(!0, e, {
|
||||
contentWidth: "auto",
|
||||
contentHeight: "auto",
|
||||
position: {
|
||||
element: "widgetContent",
|
||||
of: "widget",
|
||||
autoRefresh: !0
|
||||
}
|
||||
})
|
||||
},
|
||||
buildWidget: function() {
|
||||
n.getWidgetType("buttons").prototype.buildWidget.apply(this, arguments);
|
||||
var t = this.addElement("widgetContent"),
|
||||
e = this.getElements();
|
||||
t.append(e.header, e.message, e.buttonsWrapper), e.widget.html(t), e.closeButton && t.prepend(e.closeButton)
|
||||
},
|
||||
onReady: function() {
|
||||
var t = this.getElements(),
|
||||
e = this.getSettings();
|
||||
"auto" !== e.contentWidth && t.message.width(e.contentWidth), "auto" !== e.contentHeight && t.message.height(e.contentHeight)
|
||||
}
|
||||
})), n.addWidgetType("confirm", n.getWidgetType("lightbox").extend("confirm", {
|
||||
onReady: function() {
|
||||
n.getWidgetType("lightbox").prototype.onReady.apply(this, arguments);
|
||||
var t = this.getSettings("strings"),
|
||||
e = "cancel" === this.getSettings("defaultOption");
|
||||
this.addButton({
|
||||
name: "cancel",
|
||||
text: t.cancel,
|
||||
callback: function(t) {
|
||||
t.trigger("cancel")
|
||||
},
|
||||
focus: e
|
||||
}), this.addButton({
|
||||
name: "ok",
|
||||
text: t.confirm,
|
||||
callback: function(t) {
|
||||
t.trigger("confirm")
|
||||
},
|
||||
focus: !e
|
||||
})
|
||||
},
|
||||
getDefaultSettings: function() {
|
||||
var t = n.getWidgetType("lightbox").prototype.getDefaultSettings.apply(this, arguments);
|
||||
return t.strings = {
|
||||
confirm: "OK",
|
||||
cancel: "Cancel"
|
||||
}, t.defaultOption = "cancel", t
|
||||
}
|
||||
})), n.addWidgetType("alert", n.getWidgetType("lightbox").extend("alert", {
|
||||
onReady: function() {
|
||||
n.getWidgetType("lightbox").prototype.onReady.apply(this, arguments);
|
||||
var t = this.getSettings("strings");
|
||||
this.addButton({
|
||||
name: "ok",
|
||||
text: t.confirm,
|
||||
callback: function(t) {
|
||||
t.trigger("confirm")
|
||||
}
|
||||
})
|
||||
},
|
||||
getDefaultSettings: function() {
|
||||
var t = n.getWidgetType("lightbox").prototype.getDefaultSettings.apply(this, arguments);
|
||||
return t.strings = {
|
||||
confirm: "OK"
|
||||
}, t
|
||||
}
|
||||
})), e.DialogsManager = n
|
||||
}("undefined" != typeof jQuery ? jQuery : "function" == typeof require && require("jquery"), "undefined" != typeof module && void 0 !== module.exports ? module.exports : window);
|
||||
194
assets/js/elementor-widgets.js
Normal file
194
assets/js/elementor-widgets.js
Normal file
@@ -0,0 +1,194 @@
|
||||
'use strict';
|
||||
function animate_heading($scope) {
|
||||
if ($scope.data('settings') && $scope.data('settings')._animation && $scope.data('settings')._animation == 'logico_heading_animation') {
|
||||
const $title = $scope.find('.logico-title');
|
||||
if ($title.hasClass('animated-ready')) return;
|
||||
|
||||
$title.addClass('animated-ready');
|
||||
|
||||
const text = $title.text().trim();
|
||||
if (!text) return;
|
||||
|
||||
$title.empty();
|
||||
|
||||
let count = 0;
|
||||
const words = text.split(/\s+/);
|
||||
words.forEach(function(word) {
|
||||
const $word = jQuery('<span class="word"></span>');
|
||||
for (let i = 0; i < word.length; i++) {
|
||||
const $letter = jQuery('<span class="letter"></span>').text(word[i]);
|
||||
$letter.css('animation-delay', (count / 50) + 's');
|
||||
$word.append($letter);
|
||||
count++;
|
||||
}
|
||||
$title.append($word).append(' ');
|
||||
});
|
||||
$scope.removeClass('elementor-invisible');
|
||||
}
|
||||
}
|
||||
function sticky_element_activate(obj) {
|
||||
if (obj.hasClass('sticky-container-on')) {
|
||||
let el_offset = obj.offset().top
|
||||
, el_height = Math.round(obj.outerHeight())
|
||||
, el_ready = Math.round(el_offset + el_height + 200)
|
||||
, el_start = Math.round(el_offset + el_height + 400);
|
||||
if ((obj.css('position') === 'static' || obj.css('position') === 'relative') && obj.prev('.sticky-container-placeholder').length <= 0) {
|
||||
obj.before('<div class="sticky-container-placeholder"></div>')
|
||||
}
|
||||
jQuery(window).on('scroll', function() {
|
||||
let st = Math.round(jQuery(window).scrollTop());
|
||||
if (st <= el_ready) {
|
||||
obj.removeClass('sticky-container-ready');
|
||||
obj.prev('.sticky-container-placeholder').removeAttr('style')
|
||||
} else {
|
||||
obj.addClass('sticky-container-ready');
|
||||
obj.prev('.sticky-container-placeholder').height(el_height)
|
||||
}
|
||||
if (st <= el_start) {
|
||||
obj.removeClass('sticky-container-active')
|
||||
} else {
|
||||
obj.addClass('sticky-container-active')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
jQuery(window).on('elementor/frontend/init', function() {
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_blog_listing.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
setTimeout(elements_slider_init, 300);
|
||||
setTimeout(fix_responsive_iframe, 600);
|
||||
if (jQuery(window.wp.mediaelement).length > 0) {
|
||||
jQuery(window.wp.mediaelement.initialize)
|
||||
}
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_portfolio_listing.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
setTimeout(elements_slider_init, 500);
|
||||
setTimeout(isotope_init, 2500)
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_testimonial_carousel.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
setTimeout(elements_slider_init, 500)
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_awards.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
setTimeout(elements_slider_init, 500)
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_timeline.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
setTimeout(elements_slider_init, 500)
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_steps.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
setTimeout(elements_slider_init, 500)
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_content_slider.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
setTimeout(elements_slider_init, 500)
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_image_carousel.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
setTimeout(elements_slider_init, 500)
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_decorative_block.default', function() {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
decorative_block_animate()
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_wpforms.default', function($scope) {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
wrap_multycolumns_wpform_fields($scope);
|
||||
jQuery('.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text').each(function() {
|
||||
check_custom_field(jQuery(this))
|
||||
})
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/section', function($scope) {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7)
|
||||
}
|
||||
sticky_element_activate($scope);
|
||||
jQuery(window).on('resize', function() {
|
||||
sticky_element_activate($scope)
|
||||
})
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/container', function($scope) {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7)
|
||||
}
|
||||
sticky_element_activate($scope);
|
||||
jQuery(window).on('resize', function() {
|
||||
sticky_element_activate($scope)
|
||||
})
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_page_title.default', function($scope) {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
if ($scope.innerWidth() > 1020) {
|
||||
jQuery('.page-title-decoration.animation-enable', $scope).addClass('animated')
|
||||
}
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_search.default', function($scope) {
|
||||
jQuery('.site-search', $scope).detach().prependTo('body');
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
search_panel_open();
|
||||
overlay_close_all()
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_slide_sidebar.default', function($scope) {
|
||||
jQuery('.slide-sidebar-wrapper', $scope).detach().prependTo('body');
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
side_panel_open();
|
||||
overlay_close_all()
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_tracking.default', function($scope) {
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
tracking_popup_open()
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_heading.default', function($scope) {
|
||||
animate_heading($scope)
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/logico_navigation_menu.default', function($scope) {
|
||||
jQuery('.mobile-header-menu-container', $scope).detach().prependTo('body');
|
||||
if (jQuery('body').hasClass('elementor-editor-active')) {
|
||||
mobile_menu_open();
|
||||
overlay_close_all()
|
||||
}
|
||||
});
|
||||
elementorFrontend.hooks.addAction('frontend/element_ready/image.default', function($scope) {
|
||||
if (jQuery(window).width() >= 1021) {
|
||||
const $wrapper = $scope;
|
||||
const cursor = jQuery('.hovered-text', $scope);
|
||||
function showCustomCursor(event) {
|
||||
if (jQuery('body').hasClass('rtl')) {
|
||||
cursor.css('left', event.clientX - 20).css('top', event.clientY)
|
||||
} else {
|
||||
cursor.css('left', event.clientX + 20).css('top', event.clientY)
|
||||
}
|
||||
}
|
||||
if (cursor.length > 0) {
|
||||
$wrapper.mousemove(showCustomCursor);
|
||||
$wrapper.mouseleave(function(e) {
|
||||
if (!jQuery('body').hasClass('elementor-editor-active')) {
|
||||
cursor.removeClass('active')
|
||||
}
|
||||
});
|
||||
$wrapper.mouseenter(function(e) {
|
||||
if (!jQuery('body').hasClass('elementor-editor-active')) {
|
||||
cursor.addClass('active')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
2837
assets/js/frontend-modules.min.js
vendored
Normal file
2837
assets/js/frontend-modules.min.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1386
assets/js/frontend.min.js
vendored
Normal file
1386
assets/js/frontend.min.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
145
assets/js/imagesloaded.min.js
vendored
Normal file
145
assets/js/imagesloaded.min.js
vendored
Normal file
@@ -0,0 +1,145 @@
|
||||
/*! This file is auto-generated */
|
||||
/*!
|
||||
* imagesLoaded PACKAGED v5.0.0
|
||||
* JavaScript is all like "You images are done yet or what?"
|
||||
* MIT License
|
||||
*/
|
||||
! function(t, e) {
|
||||
"object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e()
|
||||
}("undefined" != typeof window ? window : this, (function() {
|
||||
function t() {}
|
||||
let e = t.prototype;
|
||||
return e.on = function(t, e) {
|
||||
if (!t || !e) return this;
|
||||
let i = this._events = this._events || {},
|
||||
s = i[t] = i[t] || [];
|
||||
return s.includes(e) || s.push(e), this
|
||||
}, e.once = function(t, e) {
|
||||
if (!t || !e) return this;
|
||||
this.on(t, e);
|
||||
let i = this._onceEvents = this._onceEvents || {};
|
||||
return (i[t] = i[t] || {})[e] = !0, this
|
||||
}, e.off = function(t, e) {
|
||||
let i = this._events && this._events[t];
|
||||
if (!i || !i.length) return this;
|
||||
let s = i.indexOf(e);
|
||||
return -1 != s && i.splice(s, 1), this
|
||||
}, e.emitEvent = function(t, e) {
|
||||
let i = this._events && this._events[t];
|
||||
if (!i || !i.length) return this;
|
||||
i = i.slice(0), e = e || [];
|
||||
let s = this._onceEvents && this._onceEvents[t];
|
||||
for (let n of i) {
|
||||
s && s[n] && (this.off(t, n), delete s[n]), n.apply(this, e)
|
||||
}
|
||||
return this
|
||||
}, e.allOff = function() {
|
||||
return delete this._events, delete this._onceEvents, this
|
||||
}, t
|
||||
})),
|
||||
/*!
|
||||
* imagesLoaded v5.0.0
|
||||
* JavaScript is all like "You images are done yet or what?"
|
||||
* MIT License
|
||||
*/
|
||||
function(t, e) {
|
||||
"object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter")) : t.imagesLoaded = e(t, t.EvEmitter)
|
||||
}("undefined" != typeof window ? window : this, (function(t, e) {
|
||||
let i = t.jQuery,
|
||||
s = t.console;
|
||||
|
||||
function n(t, e, o) {
|
||||
if (!(this instanceof n)) return new n(t, e, o);
|
||||
let r = t;
|
||||
var h;
|
||||
("string" == typeof t && (r = document.querySelectorAll(t)), r) ? (this.elements = (h = r, Array.isArray(h) ? h : "object" == typeof h && "number" == typeof h.length ? [...h] : [h]), this.options = {}, "function" == typeof e ? o = e : Object.assign(this.options, e), o && this.on("always", o), this.getImages(), i && (this.jqDeferred = new i.Deferred), setTimeout(this.check.bind(this))) : s.error(`Bad element for imagesLoaded ${r||t}`)
|
||||
}
|
||||
n.prototype = Object.create(e.prototype), n.prototype.getImages = function() {
|
||||
this.images = [], this.elements.forEach(this.addElementImages, this)
|
||||
};
|
||||
const o = [1, 9, 11];
|
||||
n.prototype.addElementImages = function(t) {
|
||||
"IMG" === t.nodeName && this.addImage(t), !0 === this.options.background && this.addElementBackgroundImages(t);
|
||||
let {
|
||||
nodeType: e
|
||||
} = t;
|
||||
if (!e || !o.includes(e)) return;
|
||||
let i = t.querySelectorAll("img");
|
||||
for (let t of i) this.addImage(t);
|
||||
if ("string" == typeof this.options.background) {
|
||||
let e = t.querySelectorAll(this.options.background);
|
||||
for (let t of e) this.addElementBackgroundImages(t)
|
||||
}
|
||||
};
|
||||
const r = /url\((['"])?(.*?)\1\)/gi;
|
||||
|
||||
function h(t) {
|
||||
this.img = t
|
||||
}
|
||||
|
||||
function d(t, e) {
|
||||
this.url = t, this.element = e, this.img = new Image
|
||||
}
|
||||
return n.prototype.addElementBackgroundImages = function(t) {
|
||||
let e = getComputedStyle(t);
|
||||
if (!e) return;
|
||||
let i = r.exec(e.backgroundImage);
|
||||
for (; null !== i;) {
|
||||
let s = i && i[2];
|
||||
s && this.addBackground(s, t), i = r.exec(e.backgroundImage)
|
||||
}
|
||||
}, n.prototype.addImage = function(t) {
|
||||
let e = new h(t);
|
||||
this.images.push(e)
|
||||
}, n.prototype.addBackground = function(t, e) {
|
||||
let i = new d(t, e);
|
||||
this.images.push(i)
|
||||
}, n.prototype.check = function() {
|
||||
if (this.progressedCount = 0, this.hasAnyBroken = !1, !this.images.length) return void this.complete();
|
||||
let t = (t, e, i) => {
|
||||
setTimeout((() => {
|
||||
this.progress(t, e, i)
|
||||
}))
|
||||
};
|
||||
this.images.forEach((function(e) {
|
||||
e.once("progress", t), e.check()
|
||||
}))
|
||||
}, n.prototype.progress = function(t, e, i) {
|
||||
this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded, this.emitEvent("progress", [this, t, e]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t), this.progressedCount === this.images.length && this.complete(), this.options.debug && s && s.log(`progress: ${i}`, t, e)
|
||||
}, n.prototype.complete = function() {
|
||||
let t = this.hasAnyBroken ? "fail" : "done";
|
||||
if (this.isComplete = !0, this.emitEvent(t, [this]), this.emitEvent("always", [this]), this.jqDeferred) {
|
||||
let t = this.hasAnyBroken ? "reject" : "resolve";
|
||||
this.jqDeferred[t](this)
|
||||
}
|
||||
}, h.prototype = Object.create(e.prototype), h.prototype.check = function() {
|
||||
this.getIsImageComplete() ? this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image, this.img.crossOrigin && (this.proxyImage.crossOrigin = this.img.crossOrigin), this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.proxyImage.src = this.img.currentSrc || this.img.src)
|
||||
}, h.prototype.getIsImageComplete = function() {
|
||||
return this.img.complete && this.img.naturalWidth
|
||||
}, h.prototype.confirm = function(t, e) {
|
||||
this.isLoaded = t;
|
||||
let {
|
||||
parentNode: i
|
||||
} = this.img, s = "PICTURE" === i.nodeName ? i : this.img;
|
||||
this.emitEvent("progress", [this, s, e])
|
||||
}, h.prototype.handleEvent = function(t) {
|
||||
let e = "on" + t.type;
|
||||
this[e] && this[e](t)
|
||||
}, h.prototype.onload = function() {
|
||||
this.confirm(!0, "onload"), this.unbindEvents()
|
||||
}, h.prototype.onerror = function() {
|
||||
this.confirm(!1, "onerror"), this.unbindEvents()
|
||||
}, h.prototype.unbindEvents = function() {
|
||||
this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this)
|
||||
}, d.prototype = Object.create(h.prototype), d.prototype.check = function() {
|
||||
this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url, this.getIsImageComplete() && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents())
|
||||
}, d.prototype.unbindEvents = function() {
|
||||
this.img.removeEventListener("load", this), this.img.removeEventListener("error", this)
|
||||
}, d.prototype.confirm = function(t, e) {
|
||||
this.isLoaded = t, this.emitEvent("progress", [this, this.element, e])
|
||||
}, n.makeJQueryPlugin = function(e) {
|
||||
(e = e || t.jQuery) && (i = e, i.fn.imagesLoaded = function(t, e) {
|
||||
return new n(this, t, e).jqDeferred.promise(i(this))
|
||||
})
|
||||
}, n.makeJQueryPlugin(), n
|
||||
}));
|
||||
1243
assets/js/isotope.pkgd.min.js
vendored
Normal file
1243
assets/js/isotope.pkgd.min.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
297
assets/js/jquery-migrate.min.js
vendored
Normal file
297
assets/js/jquery-migrate.min.js
vendored
Normal file
@@ -0,0 +1,297 @@
|
||||
/*! jQuery Migrate v3.4.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
|
||||
"undefined" == typeof jQuery.migrateMute && (jQuery.migrateMute = !0),
|
||||
function(t) {
|
||||
"use strict";
|
||||
"function" == typeof define && define.amd ? define(["jquery"], function(e) {
|
||||
return t(e, window)
|
||||
}) : "object" == typeof module && module.exports ? module.exports = t(require("jquery"), window) : t(jQuery, window)
|
||||
}(function(s, n) {
|
||||
"use strict";
|
||||
|
||||
function e(e) {
|
||||
return 0 <= function(e, t) {
|
||||
for (var r = /^(\d+)\.(\d+)\.(\d+)/, n = r.exec(e) || [], o = r.exec(t) || [], a = 1; a <= 3; a++) {
|
||||
if (+o[a] < +n[a]) return 1;
|
||||
if (+n[a] < +o[a]) return -1
|
||||
}
|
||||
return 0
|
||||
}(s.fn.jquery, e)
|
||||
}
|
||||
s.migrateVersion = "3.4.1";
|
||||
var t = Object.create(null);
|
||||
s.migrateDisablePatches = function() {
|
||||
for (var e = 0; e < arguments.length; e++) t[arguments[e]] = !0
|
||||
}, s.migrateEnablePatches = function() {
|
||||
for (var e = 0; e < arguments.length; e++) delete t[arguments[e]]
|
||||
}, s.migrateIsPatchEnabled = function(e) {
|
||||
return !t[e]
|
||||
}, n.console && n.console.log && (s && e("3.0.0") && !e("5.0.0") || n.console.log("JQMIGRATE: jQuery 3.x-4.x REQUIRED"), s.migrateWarnings && n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"), n.console.log("JQMIGRATE: Migrate is installed" + (s.migrateMute ? "" : " with logging active") + ", version " + s.migrateVersion));
|
||||
var o = {};
|
||||
|
||||
function u(e, t) {
|
||||
var r = n.console;
|
||||
!s.migrateIsPatchEnabled(e) || s.migrateDeduplicateWarnings && o[t] || (o[t] = !0, s.migrateWarnings.push(t + " [" + e + "]"), r && r.warn && !s.migrateMute && (r.warn("JQMIGRATE: " + t), s.migrateTrace && r.trace && r.trace()))
|
||||
}
|
||||
|
||||
function r(e, t, r, n, o) {
|
||||
Object.defineProperty(e, t, {
|
||||
configurable: !0,
|
||||
enumerable: !0,
|
||||
get: function() {
|
||||
return u(n, o), r
|
||||
},
|
||||
set: function(e) {
|
||||
u(n, o), r = e
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function a(e, t, r, n, o) {
|
||||
var a = e[t];
|
||||
e[t] = function() {
|
||||
return o && u(n, o), (s.migrateIsPatchEnabled(n) ? r : a || s.noop).apply(this, arguments)
|
||||
}
|
||||
}
|
||||
|
||||
function c(e, t, r, n, o) {
|
||||
if (!o) throw new Error("No warning message provided");
|
||||
return a(e, t, r, n, o), 0
|
||||
}
|
||||
|
||||
function i(e, t, r, n) {
|
||||
return a(e, t, r, n), 0
|
||||
}
|
||||
s.migrateDeduplicateWarnings = !0, s.migrateWarnings = [], void 0 === s.migrateTrace && (s.migrateTrace = !0), s.migrateReset = function() {
|
||||
o = {}, s.migrateWarnings.length = 0
|
||||
}, "BackCompat" === n.document.compatMode && u("quirks", "jQuery is not compatible with Quirks Mode");
|
||||
var d, l, p, f = {},
|
||||
m = s.fn.init,
|
||||
y = s.find,
|
||||
h = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,
|
||||
g = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,
|
||||
v = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
|
||||
for (d in i(s.fn, "init", function(e) {
|
||||
var t = Array.prototype.slice.call(arguments);
|
||||
return s.migrateIsPatchEnabled("selector-empty-id") && "string" == typeof e && "#" === e && (u("selector-empty-id", "jQuery( '#' ) is not a valid selector"), t[0] = []), m.apply(this, t)
|
||||
}, "selector-empty-id"), s.fn.init.prototype = s.fn, i(s, "find", function(t) {
|
||||
var r = Array.prototype.slice.call(arguments);
|
||||
if ("string" == typeof t && h.test(t)) try {
|
||||
n.document.querySelector(t)
|
||||
} catch (e) {
|
||||
t = t.replace(g, function(e, t, r, n) {
|
||||
return "[" + t + r + '"' + n + '"]'
|
||||
});
|
||||
try {
|
||||
n.document.querySelector(t), u("selector-hash", "Attribute selector with '#' must be quoted: " + r[0]), r[0] = t
|
||||
} catch (e) {
|
||||
u("selector-hash", "Attribute selector with '#' was not fixed: " + r[0])
|
||||
}
|
||||
}
|
||||
return y.apply(this, r)
|
||||
}, "selector-hash"), y) Object.prototype.hasOwnProperty.call(y, d) && (s.find[d] = y[d]);
|
||||
c(s.fn, "size", function() {
|
||||
return this.length
|
||||
}, "size", "jQuery.fn.size() is deprecated and removed; use the .length property"), c(s, "parseJSON", function() {
|
||||
return JSON.parse.apply(null, arguments)
|
||||
}, "parseJSON", "jQuery.parseJSON is deprecated; use JSON.parse"), c(s, "holdReady", s.holdReady, "holdReady", "jQuery.holdReady is deprecated"), c(s, "unique", s.uniqueSort, "unique", "jQuery.unique is deprecated; use jQuery.uniqueSort"), r(s.expr, "filters", s.expr.pseudos, "expr-pre-pseudos", "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"), r(s.expr, ":", s.expr.pseudos, "expr-pre-pseudos", "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"), e("3.1.1") && c(s, "trim", function(e) {
|
||||
return null == e ? "" : (e + "").replace(v, "$1")
|
||||
}, "trim", "jQuery.trim is deprecated; use String.prototype.trim"), e("3.2.0") && (c(s, "nodeName", function(e, t) {
|
||||
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
|
||||
}, "nodeName", "jQuery.nodeName is deprecated"), c(s, "isArray", Array.isArray, "isArray", "jQuery.isArray is deprecated; use Array.isArray")), e("3.3.0") && (c(s, "isNumeric", function(e) {
|
||||
var t = typeof e;
|
||||
return ("number" == t || "string" == t) && !isNaN(e - parseFloat(e))
|
||||
}, "isNumeric", "jQuery.isNumeric() is deprecated"), s.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
|
||||
f["[object " + t + "]"] = t.toLowerCase()
|
||||
}), c(s, "type", function(e) {
|
||||
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? f[Object.prototype.toString.call(e)] || "object" : typeof e
|
||||
}, "type", "jQuery.type is deprecated"), c(s, "isFunction", function(e) {
|
||||
return "function" == typeof e
|
||||
}, "isFunction", "jQuery.isFunction() is deprecated"), c(s, "isWindow", function(e) {
|
||||
return null != e && e === e.window
|
||||
}, "isWindow", "jQuery.isWindow() is deprecated")), s.ajax && (l = s.ajax, p = /(=)\?(?=&|$)|\?\?/, i(s, "ajax", function() {
|
||||
var e = l.apply(this, arguments);
|
||||
return e.promise && (c(e, "success", e.done, "jqXHR-methods", "jQXHR.success is deprecated and removed"), c(e, "error", e.fail, "jqXHR-methods", "jQXHR.error is deprecated and removed"), c(e, "complete", e.always, "jqXHR-methods", "jQXHR.complete is deprecated and removed")), e
|
||||
}, "jqXHR-methods"), e("4.0.0") || s.ajaxPrefilter("+json", function(e) {
|
||||
!1 !== e.jsonp && (p.test(e.url) || "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && p.test(e.data)) && u("jsonp-promotion", "JSON-to-JSONP auto-promotion is deprecated")
|
||||
}));
|
||||
var j = s.fn.removeAttr,
|
||||
b = s.fn.toggleClass,
|
||||
w = /\S+/g;
|
||||
|
||||
function x(e) {
|
||||
return e.replace(/-([a-z])/g, function(e, t) {
|
||||
return t.toUpperCase()
|
||||
})
|
||||
}
|
||||
i(s.fn, "removeAttr", function(e) {
|
||||
var r = this,
|
||||
n = !1;
|
||||
return s.each(e.match(w), function(e, t) {
|
||||
s.expr.match.bool.test(t) && r.each(function() {
|
||||
if (!1 !== s(this).prop(t)) return !(n = !0)
|
||||
}), n && (u("removeAttr-bool", "jQuery.fn.removeAttr no longer sets boolean properties: " + t), r.prop(t, !1))
|
||||
}), j.apply(this, arguments)
|
||||
}, "removeAttr-bool"), i(s.fn, "toggleClass", function(t) {
|
||||
return void 0 !== t && "boolean" != typeof t ? b.apply(this, arguments) : (u("toggleClass-bool", "jQuery.fn.toggleClass( boolean ) is deprecated"), this.each(function() {
|
||||
var e = this.getAttribute && this.getAttribute("class") || "";
|
||||
e && s.data(this, "__className__", e), this.setAttribute && this.setAttribute("class", !e && !1 !== t && s.data(this, "__className__") || "")
|
||||
}))
|
||||
}, "toggleClass-bool");
|
||||
var Q, A, R = !1,
|
||||
C = /^[a-z]/,
|
||||
N = /^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;
|
||||
s.swap && s.each(["height", "width", "reliableMarginRight"], function(e, t) {
|
||||
var r = s.cssHooks[t] && s.cssHooks[t].get;
|
||||
r && (s.cssHooks[t].get = function() {
|
||||
var e;
|
||||
return R = !0, e = r.apply(this, arguments), R = !1, e
|
||||
})
|
||||
}), i(s, "swap", function(e, t, r, n) {
|
||||
var o, a, i = {};
|
||||
for (a in R || u("swap", "jQuery.swap() is undocumented and deprecated"), t) i[a] = e.style[a], e.style[a] = t[a];
|
||||
for (a in o = r.apply(e, n || []), t) e.style[a] = i[a];
|
||||
return o
|
||||
}, "swap"), e("3.4.0") && "undefined" != typeof Proxy && (s.cssProps = new Proxy(s.cssProps || {}, {
|
||||
set: function() {
|
||||
return u("cssProps", "jQuery.cssProps is deprecated"), Reflect.set.apply(this, arguments)
|
||||
}
|
||||
})), e("4.0.0") ? (A = {
|
||||
animationIterationCount: !0,
|
||||
columnCount: !0,
|
||||
fillOpacity: !0,
|
||||
flexGrow: !0,
|
||||
flexShrink: !0,
|
||||
fontWeight: !0,
|
||||
gridArea: !0,
|
||||
gridColumn: !0,
|
||||
gridColumnEnd: !0,
|
||||
gridColumnStart: !0,
|
||||
gridRow: !0,
|
||||
gridRowEnd: !0,
|
||||
gridRowStart: !0,
|
||||
lineHeight: !0,
|
||||
opacity: !0,
|
||||
order: !0,
|
||||
orphans: !0,
|
||||
widows: !0,
|
||||
zIndex: !0,
|
||||
zoom: !0
|
||||
}, "undefined" != typeof Proxy ? s.cssNumber = new Proxy(A, {
|
||||
get: function() {
|
||||
return u("css-number", "jQuery.cssNumber is deprecated"), Reflect.get.apply(this, arguments)
|
||||
},
|
||||
set: function() {
|
||||
return u("css-number", "jQuery.cssNumber is deprecated"), Reflect.set.apply(this, arguments)
|
||||
}
|
||||
}) : s.cssNumber = A) : A = s.cssNumber, Q = s.fn.css, i(s.fn, "css", function(e, t) {
|
||||
var r, n, o = this;
|
||||
return e && "object" == typeof e && !Array.isArray(e) ? (s.each(e, function(e, t) {
|
||||
s.fn.css.call(o, e, t)
|
||||
}), this) : ("number" == typeof t && (r = x(e), n = r, C.test(n) && N.test(n[0].toUpperCase() + n.slice(1)) || A[r] || u("css-number", 'Number-typed values are deprecated for jQuery.fn.css( "' + e + '", value )')), Q.apply(this, arguments))
|
||||
}, "css-number");
|
||||
var S, P, k, H, E = s.data;
|
||||
i(s, "data", function(e, t, r) {
|
||||
var n, o, a;
|
||||
if (t && "object" == typeof t && 2 === arguments.length) {
|
||||
for (a in n = s.hasData(e) && E.call(this, e), o = {}, t) a !== x(a) ? (u("data-camelCase", "jQuery.data() always sets/gets camelCased names: " + a), n[a] = t[a]) : o[a] = t[a];
|
||||
return E.call(this, e, o), t
|
||||
}
|
||||
return t && "string" == typeof t && t !== x(t) && (n = s.hasData(e) && E.call(this, e)) && t in n ? (u("data-camelCase", "jQuery.data() always sets/gets camelCased names: " + t), 2 < arguments.length && (n[t] = r), n[t]) : E.apply(this, arguments)
|
||||
}, "data-camelCase"), s.fx && (k = s.Tween.prototype.run, H = function(e) {
|
||||
return e
|
||||
}, i(s.Tween.prototype, "run", function() {
|
||||
1 < s.easing[this.easing].length && (u("easing-one-arg", "'jQuery.easing." + this.easing.toString() + "' should use only one argument"), s.easing[this.easing] = H), k.apply(this, arguments)
|
||||
}, "easing-one-arg"), S = s.fx.interval, P = "jQuery.fx.interval is deprecated", n.requestAnimationFrame && Object.defineProperty(s.fx, "interval", {
|
||||
configurable: !0,
|
||||
enumerable: !0,
|
||||
get: function() {
|
||||
return n.document.hidden || u("fx-interval", P), s.migrateIsPatchEnabled("fx-interval") && void 0 === S ? 13 : S
|
||||
},
|
||||
set: function(e) {
|
||||
u("fx-interval", P), S = e
|
||||
}
|
||||
}));
|
||||
var M = s.fn.load,
|
||||
q = s.event.add,
|
||||
O = s.event.fix;
|
||||
s.event.props = [], s.event.fixHooks = {}, r(s.event.props, "concat", s.event.props.concat, "event-old-patch", "jQuery.event.props.concat() is deprecated and removed"), i(s.event, "fix", function(e) {
|
||||
var t, r = e.type,
|
||||
n = this.fixHooks[r],
|
||||
o = s.event.props;
|
||||
if (o.length) {
|
||||
u("event-old-patch", "jQuery.event.props are deprecated and removed: " + o.join());
|
||||
while (o.length) s.event.addProp(o.pop())
|
||||
}
|
||||
if (n && !n._migrated_ && (n._migrated_ = !0, u("event-old-patch", "jQuery.event.fixHooks are deprecated and removed: " + r), (o = n.props) && o.length))
|
||||
while (o.length) s.event.addProp(o.pop());
|
||||
return t = O.call(this, e), n && n.filter ? n.filter(t, e) : t
|
||||
}, "event-old-patch"), i(s.event, "add", function(e, t) {
|
||||
return e === n && "load" === t && "complete" === n.document.readyState && u("load-after-event", "jQuery(window).on('load'...) called after load event occurred"), q.apply(this, arguments)
|
||||
}, "load-after-event"), s.each(["load", "unload", "error"], function(e, t) {
|
||||
i(s.fn, t, function() {
|
||||
var e = Array.prototype.slice.call(arguments, 0);
|
||||
return "load" === t && "string" == typeof e[0] ? M.apply(this, e) : (u("shorthand-removed-v3", "jQuery.fn." + t + "() is deprecated"), e.splice(0, 0, t), arguments.length ? this.on.apply(this, e) : (this.triggerHandler.apply(this, e), this))
|
||||
}, "shorthand-removed-v3")
|
||||
}), s.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(e, r) {
|
||||
c(s.fn, r, function(e, t) {
|
||||
return 0 < arguments.length ? this.on(r, null, e, t) : this.trigger(r)
|
||||
}, "shorthand-deprecated-v3", "jQuery.fn." + r + "() event shorthand is deprecated")
|
||||
}), s(function() {
|
||||
s(n.document).triggerHandler("ready")
|
||||
}), s.event.special.ready = {
|
||||
setup: function() {
|
||||
this === n.document && u("ready-event", "'ready' event is deprecated")
|
||||
}
|
||||
}, c(s.fn, "bind", function(e, t, r) {
|
||||
return this.on(e, null, t, r)
|
||||
}, "pre-on-methods", "jQuery.fn.bind() is deprecated"), c(s.fn, "unbind", function(e, t) {
|
||||
return this.off(e, null, t)
|
||||
}, "pre-on-methods", "jQuery.fn.unbind() is deprecated"), c(s.fn, "delegate", function(e, t, r, n) {
|
||||
return this.on(t, e, r, n)
|
||||
}, "pre-on-methods", "jQuery.fn.delegate() is deprecated"), c(s.fn, "undelegate", function(e, t, r) {
|
||||
return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", r)
|
||||
}, "pre-on-methods", "jQuery.fn.undelegate() is deprecated"), c(s.fn, "hover", function(e, t) {
|
||||
return this.on("mouseenter", e).on("mouseleave", t || e)
|
||||
}, "pre-on-methods", "jQuery.fn.hover() is deprecated");
|
||||
|
||||
function T(e) {
|
||||
var t = n.document.implementation.createHTMLDocument("");
|
||||
return t.body.innerHTML = e, t.body && t.body.innerHTML
|
||||
}
|
||||
var F = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi;
|
||||
s.UNSAFE_restoreLegacyHtmlPrefilter = function() {
|
||||
s.migrateEnablePatches("self-closed-tags")
|
||||
}, i(s, "htmlPrefilter", function(e) {
|
||||
var t, r;
|
||||
return (r = (t = e).replace(F, "<$1></$2>")) !== t && T(t) !== T(r) && u("self-closed-tags", "HTML tags must be properly nested and closed: " + t), e.replace(F, "<$1></$2>")
|
||||
}, "self-closed-tags"), s.migrateDisablePatches("self-closed-tags");
|
||||
var D, W, _, I = s.fn.offset;
|
||||
return i(s.fn, "offset", function() {
|
||||
var e = this[0];
|
||||
return !e || e.nodeType && e.getBoundingClientRect ? I.apply(this, arguments) : (u("offset-valid-elem", "jQuery.fn.offset() requires a valid DOM element"), arguments.length ? this : void 0)
|
||||
}, "offset-valid-elem"), s.ajax && (D = s.param, i(s, "param", function(e, t) {
|
||||
var r = s.ajaxSettings && s.ajaxSettings.traditional;
|
||||
return void 0 === t && r && (u("param-ajax-traditional", "jQuery.param() no longer uses jQuery.ajaxSettings.traditional"), t = r), D.call(this, e, t)
|
||||
}, "param-ajax-traditional")), c(s.fn, "andSelf", s.fn.addBack, "andSelf", "jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"), s.Deferred && (W = s.Deferred, _ = [
|
||||
["resolve", "done", s.Callbacks("once memory"), s.Callbacks("once memory"), "resolved"],
|
||||
["reject", "fail", s.Callbacks("once memory"), s.Callbacks("once memory"), "rejected"],
|
||||
["notify", "progress", s.Callbacks("memory"), s.Callbacks("memory")]
|
||||
], i(s, "Deferred", function(e) {
|
||||
var a = W(),
|
||||
i = a.promise();
|
||||
|
||||
function t() {
|
||||
var o = arguments;
|
||||
return s.Deferred(function(n) {
|
||||
s.each(_, function(e, t) {
|
||||
var r = "function" == typeof o[e] && o[e];
|
||||
a[t[1]](function() {
|
||||
var e = r && r.apply(this, arguments);
|
||||
e && "function" == typeof e.promise ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[t[0] + "With"](this === i ? n.promise() : this, r ? [e] : arguments)
|
||||
})
|
||||
}), o = null
|
||||
}).promise()
|
||||
}
|
||||
return c(a, "pipe", t, "deferred-pipe", "deferred.pipe() is deprecated"), c(i, "pipe", t, "deferred-pipe", "deferred.pipe() is deprecated"), e && e.call(a, a), a
|
||||
}, "deferred-pipe"), s.Deferred.exceptionHook = W.exceptionHook), s
|
||||
});
|
||||
254
assets/js/jquery.blockUI.min.js
vendored
Normal file
254
assets/js/jquery.blockUI.min.js
vendored
Normal file
@@ -0,0 +1,254 @@
|
||||
/*!
|
||||
* jQuery blockUI plugin
|
||||
* Version 2.70.0-2014.11.23
|
||||
* Requires jQuery v1.7 or later
|
||||
*
|
||||
* Examples at: http://malsup.com/jquery/block/
|
||||
* Copyright (c) 2007-2013 M. Alsup
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
* Thanks to Amir-Hossein Sobhi for some excellent contributions!
|
||||
*/
|
||||
! function() {
|
||||
"use strict";
|
||||
|
||||
function e(e) {
|
||||
e.fn._fadeIn = e.fn.fadeIn;
|
||||
var t = e.noop || function() {},
|
||||
o = /MSIE/.test(navigator.userAgent),
|
||||
n = /MSIE 6.0/.test(navigator.userAgent) && !/MSIE 8.0/.test(navigator.userAgent),
|
||||
i = (document.documentMode, "function" == typeof document.createElement("div").style.setExpression && document.createElement("div").style.setExpression);
|
||||
e.blockUI = function(e) {
|
||||
d(window, e)
|
||||
}, e.unblockUI = function(e) {
|
||||
a(window, e)
|
||||
}, e.growlUI = function(t, o, n, i) {
|
||||
var s = e('<div class="growlUI"></div>');
|
||||
t && s.append("<h1>" + t + "</h1>"), o && s.append("<h2>" + o + "</h2>"), n === undefined && (n = 3e3);
|
||||
var l = function(t) {
|
||||
t = t || {}, e.blockUI({
|
||||
message: s,
|
||||
fadeIn: "undefined" != typeof t.fadeIn ? t.fadeIn : 700,
|
||||
fadeOut: "undefined" != typeof t.fadeOut ? t.fadeOut : 1e3,
|
||||
timeout: "undefined" != typeof t.timeout ? t.timeout : n,
|
||||
centerY: !1,
|
||||
showOverlay: !1,
|
||||
onUnblock: i,
|
||||
css: e.blockUI.defaults.growlCSS
|
||||
})
|
||||
};
|
||||
l();
|
||||
s.css("opacity");
|
||||
s.on("mouseover", function() {
|
||||
l({
|
||||
fadeIn: 0,
|
||||
timeout: 3e4
|
||||
});
|
||||
var t = e(".blockMsg");
|
||||
t.stop(), t.fadeTo(300, 1)
|
||||
}).on("mouseout", function() {
|
||||
e(".blockMsg").fadeOut(1e3)
|
||||
})
|
||||
}, e.fn.block = function(t) {
|
||||
if (this[0] === window) return e.blockUI(t), this;
|
||||
var o = e.extend({}, e.blockUI.defaults, t || {});
|
||||
return this.each(function() {
|
||||
var t = e(this);
|
||||
o.ignoreIfBlocked && t.data("blockUI.isBlocked") || t.unblock({
|
||||
fadeOut: 0
|
||||
})
|
||||
}), this.each(function() {
|
||||
"static" == e.css(this, "position") && (this.style.position = "relative", e(this).data("blockUI.static", !0)), this.style.zoom = 1, d(this, t)
|
||||
})
|
||||
}, e.fn.unblock = function(t) {
|
||||
return this[0] === window ? (e.unblockUI(t), this) : this.each(function() {
|
||||
a(this, t)
|
||||
})
|
||||
}, e.blockUI.version = 2.7, e.blockUI.defaults = {
|
||||
message: "<h1>Please wait...</h1>",
|
||||
title: null,
|
||||
draggable: !0,
|
||||
theme: !1,
|
||||
css: {
|
||||
padding: 0,
|
||||
margin: 0,
|
||||
width: "30%",
|
||||
top: "40%",
|
||||
left: "35%",
|
||||
textAlign: "center",
|
||||
color: "#000",
|
||||
border: "3px solid #aaa",
|
||||
backgroundColor: "#fff",
|
||||
cursor: "wait"
|
||||
},
|
||||
themedCSS: {
|
||||
width: "30%",
|
||||
top: "40%",
|
||||
left: "35%"
|
||||
},
|
||||
overlayCSS: {
|
||||
backgroundColor: "#000",
|
||||
opacity: .6,
|
||||
cursor: "wait"
|
||||
},
|
||||
cursorReset: "default",
|
||||
growlCSS: {
|
||||
width: "350px",
|
||||
top: "10px",
|
||||
left: "",
|
||||
right: "10px",
|
||||
border: "none",
|
||||
padding: "5px",
|
||||
opacity: .6,
|
||||
cursor: "default",
|
||||
color: "#fff",
|
||||
backgroundColor: "#000",
|
||||
"-webkit-border-radius": "10px",
|
||||
"-moz-border-radius": "10px",
|
||||
"border-radius": "10px"
|
||||
},
|
||||
iframeSrc: /^https/i.test(window.location.href || "") ? "javascript:false" : "about:blank",
|
||||
forceIframe: !1,
|
||||
baseZ: 1e3,
|
||||
centerX: !0,
|
||||
centerY: !0,
|
||||
allowBodyStretch: !0,
|
||||
bindEvents: !0,
|
||||
constrainTabKey: !0,
|
||||
fadeIn: 200,
|
||||
fadeOut: 400,
|
||||
timeout: 0,
|
||||
showOverlay: !0,
|
||||
focusInput: !0,
|
||||
focusableElements: ":input:enabled:visible",
|
||||
onBlock: null,
|
||||
onUnblock: null,
|
||||
onOverlayClick: null,
|
||||
quirksmodeOffsetHack: 4,
|
||||
blockMsgClass: "blockMsg",
|
||||
ignoreIfBlocked: !1
|
||||
};
|
||||
var s = null,
|
||||
l = [];
|
||||
|
||||
function d(d, c) {
|
||||
var u, b, h = d == window,
|
||||
k = c && c.message !== undefined ? c.message : undefined;
|
||||
if (!(c = e.extend({}, e.blockUI.defaults, c || {})).ignoreIfBlocked || !e(d).data("blockUI.isBlocked")) {
|
||||
if (c.overlayCSS = e.extend({}, e.blockUI.defaults.overlayCSS, c.overlayCSS || {}), u = e.extend({}, e.blockUI.defaults.css, c.css || {}), c.onOverlayClick && (c.overlayCSS.cursor = "pointer"), b = e.extend({}, e.blockUI.defaults.themedCSS, c.themedCSS || {}), k = k === undefined ? c.message : k, h && s && a(window, {
|
||||
fadeOut: 0
|
||||
}), k && "string" != typeof k && (k.parentNode || k.jquery)) {
|
||||
var y = k.jquery ? k[0] : k,
|
||||
m = {};
|
||||
e(d).data("blockUI.history", m), m.el = y, m.parent = y.parentNode, m.display = y.style.display, m.position = y.style.position, m.parent && m.parent.removeChild(y)
|
||||
}
|
||||
e(d).data("blockUI.onUnblock", c.onUnblock);
|
||||
var g, v, I, w, U = c.baseZ;
|
||||
g = o || c.forceIframe ? e('<iframe class="blockUI" style="z-index:' + U++ + ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' + c.iframeSrc + '"></iframe>') : e('<div class="blockUI" style="display:none"></div>'), v = c.theme ? e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:' + U++ + ';display:none"></div>') : e('<div class="blockUI blockOverlay" style="z-index:' + U++ + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'), c.theme && h ? (w = '<div class="blockUI ' + c.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + (U + 10) + ';display:none;position:fixed">', c.title && (w += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (c.title || " ") + "</div>"), w += '<div class="ui-widget-content ui-dialog-content"></div>', w += "</div>") : c.theme ? (w = '<div class="blockUI ' + c.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:' + (U + 10) + ';display:none;position:absolute">', c.title && (w += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (c.title || " ") + "</div>"), w += '<div class="ui-widget-content ui-dialog-content"></div>', w += "</div>") : w = h ? '<div class="blockUI ' + c.blockMsgClass + ' blockPage" style="z-index:' + (U + 10) + ';display:none;position:fixed"></div>' : '<div class="blockUI ' + c.blockMsgClass + ' blockElement" style="z-index:' + (U + 10) + ';display:none;position:absolute"></div>', I = e(w), k && (c.theme ? (I.css(b), I.addClass("ui-widget-content")) : I.css(u)), c.theme || v.css(c.overlayCSS), v.css("position", h ? "fixed" : "absolute"), (o || c.forceIframe) && g.css("opacity", 0);
|
||||
var x = [g, v, I],
|
||||
C = e(h ? "body" : d);
|
||||
e.each(x, function() {
|
||||
this.appendTo(C)
|
||||
}), c.theme && c.draggable && e.fn.draggable && I.draggable({
|
||||
handle: ".ui-dialog-titlebar",
|
||||
cancel: "li"
|
||||
});
|
||||
var S = i && (!e.support.boxModel || e("object,embed", h ? null : d).length > 0);
|
||||
if (n || S) {
|
||||
if (h && c.allowBodyStretch && e.support.boxModel && e("html,body").css("height", "100%"), (n || !e.support.boxModel) && !h) var E = p(d, "borderTopWidth"),
|
||||
O = p(d, "borderLeftWidth"),
|
||||
T = E ? "(0 - " + E + ")" : 0,
|
||||
M = O ? "(0 - " + O + ")" : 0;
|
||||
e.each(x, function(e, t) {
|
||||
var o = t[0].style;
|
||||
if (o.position = "absolute", e < 2) h ? o.setExpression("height", "Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:" + c.quirksmodeOffsetHack + ') + "px"') : o.setExpression("height", 'this.parentNode.offsetHeight + "px"'), h ? o.setExpression("width", 'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') : o.setExpression("width", 'this.parentNode.offsetWidth + "px"'), M && o.setExpression("left", M), T && o.setExpression("top", T);
|
||||
else if (c.centerY) h && o.setExpression("top", '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'), o.marginTop = 0;
|
||||
else if (!c.centerY && h) {
|
||||
var n = "((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + " + (c.css && c.css.top ? parseInt(c.css.top, 10) : 0) + ') + "px"';
|
||||
o.setExpression("top", n)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (k && (c.theme ? I.find(".ui-widget-content").append(k) : I.append(k), (k.jquery || k.nodeType) && e(k).show()), (o || c.forceIframe) && c.showOverlay && g.show(), c.fadeIn) {
|
||||
var B = c.onBlock ? c.onBlock : t,
|
||||
j = c.showOverlay && !k ? B : t,
|
||||
H = k ? B : t;
|
||||
c.showOverlay && v._fadeIn(c.fadeIn, j), k && I._fadeIn(c.fadeIn, H)
|
||||
} else c.showOverlay && v.show(), k && I.show(), c.onBlock && c.onBlock.bind(I)();
|
||||
if (r(1, d, c), h ? (s = I[0], l = e(c.focusableElements, s), c.focusInput && setTimeout(f, 20)) : function(e, t, o) {
|
||||
var n = e.parentNode,
|
||||
i = e.style,
|
||||
s = (n.offsetWidth - e.offsetWidth) / 2 - p(n, "borderLeftWidth"),
|
||||
l = (n.offsetHeight - e.offsetHeight) / 2 - p(n, "borderTopWidth");
|
||||
t && (i.left = s > 0 ? s + "px" : "0");
|
||||
o && (i.top = l > 0 ? l + "px" : "0")
|
||||
}(I[0], c.centerX, c.centerY), c.timeout) {
|
||||
var z = setTimeout(function() {
|
||||
h ? e.unblockUI(c) : e(d).unblock(c)
|
||||
}, c.timeout);
|
||||
e(d).data("blockUI.timeout", z)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function a(t, o) {
|
||||
var n, i, d = t == window,
|
||||
a = e(t),
|
||||
u = a.data("blockUI.history"),
|
||||
f = a.data("blockUI.timeout");
|
||||
f && (clearTimeout(f), a.removeData("blockUI.timeout")), o = e.extend({}, e.blockUI.defaults, o || {}), r(0, t, o), null === o.onUnblock && (o.onUnblock = a.data("blockUI.onUnblock"), a.removeData("blockUI.onUnblock")), i = d ? e(document.body).children().filter(".blockUI").add("body > .blockUI") : a.find(">.blockUI"), o.cursorReset && (i.length > 1 && (i[1].style.cursor = o.cursorReset), i.length > 2 && (i[2].style.cursor = o.cursorReset)), d && (s = l = null), o.fadeOut ? (n = i.length, i.stop().fadeOut(o.fadeOut, function() {
|
||||
0 == --n && c(i, u, o, t)
|
||||
})) : c(i, u, o, t)
|
||||
}
|
||||
|
||||
function c(t, o, n, i) {
|
||||
var s = e(i);
|
||||
if (!s.data("blockUI.isBlocked")) {
|
||||
t.each(function(e, t) {
|
||||
this.parentNode && this.parentNode.removeChild(this)
|
||||
}), o && o.el && (o.el.style.display = o.display, o.el.style.position = o.position, o.el.style.cursor = "default", o.parent && o.parent.appendChild(o.el), s.removeData("blockUI.history")), s.data("blockUI.static") && s.css("position", "static"), "function" == typeof n.onUnblock && n.onUnblock(i, n);
|
||||
var l = e(document.body),
|
||||
d = l.width(),
|
||||
a = l[0].style.width;
|
||||
l.width(d - 1).width(d), l[0].style.width = a
|
||||
}
|
||||
}
|
||||
|
||||
function r(t, o, n) {
|
||||
var i = o == window,
|
||||
l = e(o);
|
||||
if ((t || (!i || s) && (i || l.data("blockUI.isBlocked"))) && (l.data("blockUI.isBlocked", t), i && n.bindEvents && (!t || n.showOverlay))) {
|
||||
var d = "mousedown mouseup keydown keypress keyup touchstart touchend touchmove";
|
||||
t ? e(document).on(d, n, u) : e(document).off(d, u)
|
||||
}
|
||||
}
|
||||
|
||||
function u(t) {
|
||||
if ("keydown" === t.type && t.keyCode && 9 == t.keyCode && s && t.data.constrainTabKey) {
|
||||
var o = l,
|
||||
n = !t.shiftKey && t.target === o[o.length - 1],
|
||||
i = t.shiftKey && t.target === o[0];
|
||||
if (n || i) return setTimeout(function() {
|
||||
f(i)
|
||||
}, 10), !1
|
||||
}
|
||||
var d = t.data,
|
||||
a = e(t.target);
|
||||
return a.hasClass("blockOverlay") && d.onOverlayClick && d.onOverlayClick(t), a.parents("div." + d.blockMsgClass).length > 0 || 0 === a.parents().children().filter("div.blockUI").length
|
||||
}
|
||||
|
||||
function f(e) {
|
||||
if (l) {
|
||||
var t = l[!0 === e ? l.length - 1 : 0];
|
||||
t && t.trigger("focus")
|
||||
}
|
||||
}
|
||||
|
||||
function p(t, o) {
|
||||
return parseInt(e.css(t, o), 10) || 0
|
||||
}
|
||||
}
|
||||
"function" == typeof define && define.amd && define.amd.jQuery ? define(["jquery"], e) : e(jQuery)
|
||||
}();
|
||||
54
assets/js/jquery.cookie.min.js
vendored
Normal file
54
assets/js/jquery.cookie.min.js
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
/*!
|
||||
* jQuery Cookie Plugin v1.4.1
|
||||
* https://github.com/carhartl/jquery-cookie
|
||||
*
|
||||
* Copyright 2013 Klaus Hartl
|
||||
* Released under the MIT license
|
||||
*/
|
||||
! function(e) {
|
||||
"function" == typeof define && define.amd ? define(["jquery"], e) : "object" == typeof exports ? e(require("jquery")) : e(jQuery)
|
||||
}(function(e) {
|
||||
var n = /\+/g;
|
||||
|
||||
function o(e) {
|
||||
return r.raw ? e : encodeURIComponent(e)
|
||||
}
|
||||
|
||||
function i(e, o) {
|
||||
var i = r.raw ? e : function(e) {
|
||||
0 === e.indexOf('"') && (e = e.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\"));
|
||||
try {
|
||||
return e = decodeURIComponent(e.replace(n, " ")), r.json ? JSON.parse(e) : e
|
||||
} catch (o) {}
|
||||
}(e);
|
||||
return "function" == typeof o ? o(i) : i
|
||||
}
|
||||
var r = e.cookie = function(n, t, u) {
|
||||
if (t !== undefined && "function" != typeof t) {
|
||||
if ("number" == typeof(u = e.extend({}, r.defaults, u)).expires) {
|
||||
var c = u.expires,
|
||||
f = u.expires = new Date;
|
||||
f.setTime(+f + 864e5 * c)
|
||||
}
|
||||
return document.cookie = [o(n), "=", function(e) {
|
||||
return o(r.json ? JSON.stringify(e) : String(e))
|
||||
}(t), u.expires ? "; expires=" + u.expires.toUTCString() : "", u.path ? "; path=" + u.path : "", u.domain ? "; domain=" + u.domain : "", u.secure ? "; secure" : ""].join("")
|
||||
}
|
||||
for (var d, a = n ? undefined : {}, p = document.cookie ? document.cookie.split("; ") : [], s = 0, m = p.length; s < m; s++) {
|
||||
var x = p[s].split("="),
|
||||
y = (d = x.shift(), r.raw ? d : decodeURIComponent(d)),
|
||||
k = x.join("=");
|
||||
if (n && n === y) {
|
||||
a = i(k, t);
|
||||
break
|
||||
}
|
||||
n || (k = i(k)) === undefined || (a[y] = k)
|
||||
}
|
||||
return a
|
||||
};
|
||||
r.defaults = {}, e.removeCookie = function(n, o) {
|
||||
return e.cookie(n) !== undefined && (e.cookie(n, "", e.extend({}, o, {
|
||||
expires: -1
|
||||
})), !e.cookie(n))
|
||||
}
|
||||
});
|
||||
178
assets/js/jquery.marquee.min.js
vendored
Normal file
178
assets/js/jquery.marquee.min.js
vendored
Normal file
@@ -0,0 +1,178 @@
|
||||
/**
|
||||
* jQuery.marquee - scrolling text like old marquee element
|
||||
* @author Aamir Afridi - aamirafridi(at)gmail(dot)com / http://aamirafridi.com/jquery/jquery-marquee-plugin
|
||||
*/
|
||||
(function(f) {
|
||||
f.fn.marquee = function(x) {
|
||||
return this.each(function() {
|
||||
var a = f.extend({}, f.fn.marquee.defaults, x),
|
||||
b = f(this),
|
||||
c, t, e = 3,
|
||||
y = "animation-play-state",
|
||||
p = !1,
|
||||
E = function(a, b, c) {
|
||||
for (var e = ["webkit", "moz", "MS", "o", ""], d = 0; d < e.length; d++) e[d] || (b = b.toLowerCase()), a.addEventListener(e[d] + b, c, !1)
|
||||
},
|
||||
F = function(a) {
|
||||
var b = [],
|
||||
c;
|
||||
for (c in a) a.hasOwnProperty(c) && b.push(c + ":" + a[c]);
|
||||
b.push();
|
||||
return "{" + b.join(",") + "}"
|
||||
},
|
||||
l = {
|
||||
pause: function() {
|
||||
p && a.allowCss3Support ? c.css(y, "paused") : f.fn.pause && c.pause();
|
||||
b.data("runningStatus",
|
||||
"paused");
|
||||
b.trigger("paused")
|
||||
},
|
||||
resume: function() {
|
||||
p && a.allowCss3Support ? c.css(y, "running") : f.fn.resume && c.resume();
|
||||
b.data("runningStatus", "resumed");
|
||||
b.trigger("resumed")
|
||||
},
|
||||
toggle: function() {
|
||||
l["resumed" == b.data("runningStatus") ? "pause" : "resume"]()
|
||||
},
|
||||
destroy: function() {
|
||||
clearTimeout(b.timer);
|
||||
b.find("*").addBack().unbind();
|
||||
b.html(b.find(".js-marquee:first").html())
|
||||
}
|
||||
};
|
||||
if ("string" === typeof x) f.isFunction(l[x]) && (c || (c = b.find(".js-marquee-wrapper")), !0 === b.data("css3AnimationIsSupported") && (p = !0), l[x]());
|
||||
else {
|
||||
var u;
|
||||
f.each(a, function(c, d) {
|
||||
u = b.attr("data-" + c);
|
||||
if ("undefined" !== typeof u) {
|
||||
switch (u) {
|
||||
case "true":
|
||||
u = !0;
|
||||
break;
|
||||
case "false":
|
||||
u = !1
|
||||
}
|
||||
a[c] = u
|
||||
}
|
||||
});
|
||||
a.speed && (a.duration = parseInt(b.width(), 10) / a.speed * 1E3);
|
||||
var v = "up" == a.direction || "down" == a.direction;
|
||||
a.gap = a.duplicated ? parseInt(a.gap) : 0;
|
||||
b.wrapInner('<div class="js-marquee"></div>');
|
||||
var h = b.find(".js-marquee").css({
|
||||
"margin-right": a.gap,
|
||||
"float": "left"
|
||||
});
|
||||
a.duplicated && h.clone(!0).appendTo(b);
|
||||
b.wrapInner('<div style="width:100000px" class="js-marquee-wrapper"></div>');
|
||||
c = b.find(".js-marquee-wrapper");
|
||||
if (v) {
|
||||
var k = b.height();
|
||||
c.removeAttr("style");
|
||||
b.height(k);
|
||||
b.find(".js-marquee").css({
|
||||
"float": "none",
|
||||
"margin-bottom": a.gap,
|
||||
"margin-right": 0
|
||||
});
|
||||
a.duplicated && b.find(".js-marquee:last").css({
|
||||
"margin-bottom": 0
|
||||
});
|
||||
var q = b.find(".js-marquee:first").height() + a.gap;
|
||||
a.startVisible && !a.duplicated ? (a._completeDuration = (parseInt(q, 10) + parseInt(k, 10)) / parseInt(k, 10) * a.duration, a.duration *= parseInt(q, 10) / parseInt(k, 10)) : a.duration *= (parseInt(q, 10) + parseInt(k, 10)) / parseInt(k, 10)
|
||||
} else {
|
||||
var m =
|
||||
b.find(".js-marquee:first").width() + a.gap;
|
||||
var n = b.width();
|
||||
a.startVisible && !a.duplicated ? (a._completeDuration = (parseInt(m, 10) + parseInt(n, 10)) / parseInt(n, 10) * a.duration, a.duration *= parseInt(m, 10) / parseInt(n, 10)) : a.duration *= (parseInt(m, 10) + parseInt(n, 10)) / parseInt(n, 10)
|
||||
}
|
||||
a.duplicated && (a.duration /= 2);
|
||||
if (a.allowCss3Support) {
|
||||
h = document.body || document.createElement("div");
|
||||
var g = "marqueeAnimation-" + Math.floor(1E7 * Math.random()),
|
||||
A = ["Webkit", "Moz", "O", "ms", "Khtml"],
|
||||
B = "animation",
|
||||
d = "",
|
||||
r = "";
|
||||
h.style.animation &&
|
||||
(r = "@keyframes " + g + " ", p = !0);
|
||||
if (!1 === p)
|
||||
for (var z = 0; z < A.length; z++)
|
||||
if (void 0 !== h.style[A[z] + "AnimationName"]) {
|
||||
h = "-" + A[z].toLowerCase() + "-";
|
||||
B = h + B;
|
||||
y = h + y;
|
||||
r = "@" + h + "keyframes " + g + " ";
|
||||
p = !0;
|
||||
break
|
||||
}
|
||||
p && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s infinite " + a.css3easing, b.data("css3AnimationIsSupported", !0))
|
||||
}
|
||||
var C = function() {
|
||||
c.css("transform", "translateY(" + ("up" == a.direction ? k + "px" : "-" + q + "px") + ")")
|
||||
},
|
||||
D = function() {
|
||||
c.css("transform", "translateX(" + ("left" == a.direction ? n + "px" : "-" + m + "px") + ")")
|
||||
};
|
||||
a.duplicated ?
|
||||
(v ? a.startVisible ? c.css("transform", "translateY(0)") : c.css("transform", "translateY(" + ("up" == a.direction ? k + "px" : "-" + (2 * q - a.gap) + "px") + ")") : a.startVisible ? c.css("transform", "translateX(0)") : c.css("transform", "translateX(" + ("left" == a.direction ? n + "px" : "-" + (2 * m - a.gap) + "px") + ")"), a.startVisible || (e = 1)) : a.startVisible ? e = 2 : v ? C() : D();
|
||||
var w = function() {
|
||||
a.duplicated && (1 === e ? (a._originalDuration = a.duration, a.duration = v ? "up" == a.direction ? a.duration + k / (q / a.duration) : 2 * a.duration : "left" == a.direction ? a.duration + n /
|
||||
(m / a.duration) : 2 * a.duration, d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing), e++) : 2 === e && (a.duration = a._originalDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), e++));
|
||||
v ? a.duplicated ? (2 < e && c.css("transform", "translateY(" + ("up" == a.direction ? 0 : "-" + q + "px") + ")"), t = {
|
||||
transform: "translateY(" + ("up" == a.direction ? "-" + q + "px" : 0) + ")"
|
||||
}) : a.startVisible ? 2 === e ? (d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing), t = {
|
||||
transform: "translateY(" +
|
||||
("up" == a.direction ? "-" + q + "px" : k + "px") + ")"
|
||||
}, e++) : 3 === e && (a.duration = a._completeDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), C()) : (C(), t = {
|
||||
transform: "translateY(" + ("up" == a.direction ? "-" + c.height() + "px" : k + "px") + ")"
|
||||
}) : a.duplicated ? (2 < e && c.css("transform", "translateX(" + ("left" == a.direction ? 0 : "-" + m + "px") + ")"), t = {
|
||||
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : 0) + ")"
|
||||
}) : a.startVisible ? 2 === e ? (d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing),
|
||||
t = {
|
||||
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : n + "px") + ")"
|
||||
}, e++) : 3 === e && (a.duration = a._completeDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), D()) : (D(), t = {
|
||||
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : n + "px") + ")"
|
||||
});
|
||||
b.trigger("beforeStarting");
|
||||
if (p) {
|
||||
c.css(B, d);
|
||||
var h = r + " { 100% " + F(t) + "}",
|
||||
l = c.find("style");
|
||||
0 !== l.length ? l.filter(":last").html(h) : f("head").append("<style>" + h + "</style>");
|
||||
E(c[0], "AnimationIteration", function() {
|
||||
b.trigger("finished")
|
||||
});
|
||||
E(c[0], "AnimationEnd", function() {
|
||||
w();
|
||||
b.trigger("finished")
|
||||
})
|
||||
} else c.animate(t, a.duration, a.easing, function() {
|
||||
b.trigger("finished");
|
||||
a.pauseOnCycle ? b.timer = setTimeout(w, a.delayBeforeStart) : w()
|
||||
});
|
||||
b.data("runningStatus", "resumed")
|
||||
};
|
||||
b.bind("pause", l.pause);
|
||||
b.bind("resume", l.resume);
|
||||
a.pauseOnHover && (b.bind("mouseenter", l.pause), b.bind("mouseleave", l.resume));
|
||||
p && a.allowCss3Support ? w() : b.timer = setTimeout(w, a.delayBeforeStart)
|
||||
}
|
||||
})
|
||||
};
|
||||
f.fn.marquee.defaults = {
|
||||
allowCss3Support: !0,
|
||||
css3easing: "linear",
|
||||
easing: "linear",
|
||||
delayBeforeStart: 1E3,
|
||||
direction: "left",
|
||||
duplicated: !1,
|
||||
duration: 5E3,
|
||||
gap: 20,
|
||||
pauseOnCycle: !1,
|
||||
pauseOnHover: !1,
|
||||
startVisible: !1
|
||||
}
|
||||
})(jQuery);
|
||||
3193
assets/js/jquery.min.js
vendored
Normal file
3193
assets/js/jquery.min.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
624
assets/js/jquery.validate.min.js
vendored
Normal file
624
assets/js/jquery.validate.min.js
vendored
Normal file
@@ -0,0 +1,624 @@
|
||||
/*! jQuery Validation Plugin - v1.21.0 - 7/17/2024
|
||||
* https://jqueryvalidation.org/
|
||||
* Copyright (c) 2024 Jörn Zaefferer; Licensed MIT */
|
||||
! function(a) {
|
||||
"function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof module && module.exports ? module.exports = a(require("jquery")) : a(jQuery)
|
||||
}(function(a) {
|
||||
a.extend(a.fn, {
|
||||
validate: function(b) {
|
||||
if (!this.length) return void(b && b.debug && window.console && console.warn("Nothing selected, can't validate, returning nothing."));
|
||||
var c = a.data(this[0], "validator");
|
||||
return c ? c : (this.attr("novalidate", "novalidate"), c = new a.validator(b, this[0]), a.data(this[0], "validator", c), c.settings.onsubmit && (this.on("click.validate", ":submit", function(b) {
|
||||
c.submitButton = b.currentTarget, a(this).hasClass("cancel") && (c.cancelSubmit = !0), void 0 !== a(this).attr("formnovalidate") && (c.cancelSubmit = !0)
|
||||
}), this.on("submit.validate", function(b) {
|
||||
function d() {
|
||||
var d, e;
|
||||
return c.submitButton && (c.settings.submitHandler || c.formSubmitted) && (d = a("<input type='hidden'/>").attr("name", c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)), !(c.settings.submitHandler && !c.settings.debug) || (e = c.settings.submitHandler.call(c, c.currentForm, b), d && d.remove(), void 0 !== e && e)
|
||||
}
|
||||
return c.settings.debug && b.preventDefault(), c.cancelSubmit ? (c.cancelSubmit = !1, d()) : c.form() ? c.pendingRequest ? (c.formSubmitted = !0, !1) : d() : (c.focusInvalid(), !1)
|
||||
})), c)
|
||||
},
|
||||
valid: function() {
|
||||
var b, c, d;
|
||||
return a(this[0]).is("form") ? b = this.validate().form() : (d = [], b = !0, c = a(this[0].form).validate(), this.each(function() {
|
||||
b = c.element(this) && b, b || (d = d.concat(c.errorList))
|
||||
}), c.errorList = d), b
|
||||
},
|
||||
rules: function(b, c) {
|
||||
var d, e, f, g, h, i, j = this[0],
|
||||
k = "undefined" != typeof this.attr("contenteditable") && "false" !== this.attr("contenteditable");
|
||||
if (null != j && (!j.form && k && (j.form = this.closest("form")[0], j.name = this.attr("name")), null != j.form)) {
|
||||
if (b) switch (d = a.data(j.form, "validator").settings, e = d.rules, f = a.validator.staticRules(j), b) {
|
||||
case "add":
|
||||
a.extend(f, a.validator.normalizeRule(c)), delete f.messages, e[j.name] = f, c.messages && (d.messages[j.name] = a.extend(d.messages[j.name], c.messages));
|
||||
break;
|
||||
case "remove":
|
||||
return c ? (i = {}, a.each(c.split(/\s/), function(a, b) {
|
||||
i[b] = f[b], delete f[b]
|
||||
}), i) : (delete e[j.name], f)
|
||||
}
|
||||
return g = a.validator.normalizeRules(a.extend({}, a.validator.classRules(j), a.validator.attributeRules(j), a.validator.dataRules(j), a.validator.staticRules(j)), j), g.required && (h = g.required, delete g.required, g = a.extend({
|
||||
required: h
|
||||
}, g)), g.remote && (h = g.remote, delete g.remote, g = a.extend(g, {
|
||||
remote: h
|
||||
})), g
|
||||
}
|
||||
}
|
||||
});
|
||||
var b = function(a) {
|
||||
return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")
|
||||
};
|
||||
a.extend(a.expr.pseudos || a.expr[":"], {
|
||||
blank: function(c) {
|
||||
return !b("" + a(c).val())
|
||||
},
|
||||
filled: function(c) {
|
||||
var d = a(c).val();
|
||||
return null !== d && !!b("" + d)
|
||||
},
|
||||
unchecked: function(b) {
|
||||
return !a(b).prop("checked")
|
||||
}
|
||||
}), a.validator = function(b, c) {
|
||||
this.settings = a.extend(!0, {}, a.validator.defaults, b), this.currentForm = c, this.init()
|
||||
}, a.validator.format = function(b, c) {
|
||||
return 1 === arguments.length ? function() {
|
||||
var c = a.makeArray(arguments);
|
||||
return c.unshift(b), a.validator.format.apply(this, c)
|
||||
} : void 0 === c ? b : (arguments.length > 2 && c.constructor !== Array && (c = a.makeArray(arguments).slice(1)), c.constructor !== Array && (c = [c]), a.each(c, function(a, c) {
|
||||
b = b.replace(new RegExp("\\{" + a + "\\}", "g"), function() {
|
||||
return c
|
||||
})
|
||||
}), b)
|
||||
}, a.extend(a.validator, {
|
||||
defaults: {
|
||||
messages: {},
|
||||
groups: {},
|
||||
rules: {},
|
||||
errorClass: "error",
|
||||
pendingClass: "pending",
|
||||
validClass: "valid",
|
||||
errorElement: "label",
|
||||
focusCleanup: !1,
|
||||
focusInvalid: !0,
|
||||
errorContainer: a([]),
|
||||
errorLabelContainer: a([]),
|
||||
onsubmit: !0,
|
||||
ignore: ":hidden",
|
||||
ignoreTitle: !1,
|
||||
customElements: [],
|
||||
onfocusin: function(a) {
|
||||
this.lastActive = a, this.settings.focusCleanup && (this.settings.unhighlight && this.settings.unhighlight.call(this, a, this.settings.errorClass, this.settings.validClass), this.hideThese(this.errorsFor(a)))
|
||||
},
|
||||
onfocusout: function(a) {
|
||||
this.checkable(a) || !(a.name in this.submitted) && this.optional(a) || this.element(a)
|
||||
},
|
||||
onkeyup: function(b, c) {
|
||||
var d = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225];
|
||||
9 === c.which && "" === this.elementValue(b) || a.inArray(c.keyCode, d) !== -1 || (b.name in this.submitted || b.name in this.invalid) && this.element(b)
|
||||
},
|
||||
onclick: function(a) {
|
||||
a.name in this.submitted ? this.element(a) : a.parentNode.name in this.submitted && this.element(a.parentNode)
|
||||
},
|
||||
highlight: function(b, c, d) {
|
||||
"radio" === b.type ? this.findByName(b.name).addClass(c).removeClass(d) : a(b).addClass(c).removeClass(d)
|
||||
},
|
||||
unhighlight: function(b, c, d) {
|
||||
"radio" === b.type ? this.findByName(b.name).removeClass(c).addClass(d) : a(b).removeClass(c).addClass(d)
|
||||
}
|
||||
},
|
||||
setDefaults: function(b) {
|
||||
a.extend(a.validator.defaults, b)
|
||||
},
|
||||
messages: {
|
||||
required: "This field is required.",
|
||||
remote: "Please fix this field.",
|
||||
email: "Please enter a valid email address.",
|
||||
url: "Please enter a valid URL.",
|
||||
date: "Please enter a valid date.",
|
||||
dateISO: "Please enter a valid date (ISO).",
|
||||
number: "Please enter a valid number.",
|
||||
digits: "Please enter only digits.",
|
||||
equalTo: "Please enter the same value again.",
|
||||
maxlength: a.validator.format("Please enter no more than {0} characters."),
|
||||
minlength: a.validator.format("Please enter at least {0} characters."),
|
||||
rangelength: a.validator.format("Please enter a value between {0} and {1} characters long."),
|
||||
range: a.validator.format("Please enter a value between {0} and {1}."),
|
||||
max: a.validator.format("Please enter a value less than or equal to {0}."),
|
||||
min: a.validator.format("Please enter a value greater than or equal to {0}."),
|
||||
step: a.validator.format("Please enter a multiple of {0}.")
|
||||
},
|
||||
autoCreateRanges: !1,
|
||||
prototype: {
|
||||
init: function() {
|
||||
function b(b) {
|
||||
var c = "undefined" != typeof a(this).attr("contenteditable") && "false" !== a(this).attr("contenteditable");
|
||||
if (!this.form && c && (this.form = a(this).closest("form")[0], this.name = a(this).attr("name")), d === this.form) {
|
||||
var e = a.data(this.form, "validator"),
|
||||
f = "on" + b.type.replace(/^validate/, ""),
|
||||
g = e.settings;
|
||||
g[f] && !a(this).is(g.ignore) && g[f].call(e, this, b)
|
||||
}
|
||||
}
|
||||
this.labelContainer = a(this.settings.errorLabelContainer), this.errorContext = this.labelContainer.length && this.labelContainer || a(this.currentForm), this.containers = a(this.settings.errorContainer).add(this.settings.errorLabelContainer), this.submitted = {}, this.valueCache = {}, this.pendingRequest = 0, this.pending = {}, this.invalid = {}, this.reset();
|
||||
var c, d = this.currentForm,
|
||||
e = this.groups = {};
|
||||
a.each(this.settings.groups, function(b, c) {
|
||||
"string" == typeof c && (c = c.split(/\s/)), a.each(c, function(a, c) {
|
||||
e[c] = b
|
||||
})
|
||||
}), c = this.settings.rules, a.each(c, function(b, d) {
|
||||
c[b] = a.validator.normalizeRule(d)
|
||||
});
|
||||
var f = [":text", "[type='password']", "[type='file']", "select", "textarea", "[type='number']", "[type='search']", "[type='tel']", "[type='url']", "[type='email']", "[type='datetime']", "[type='date']", "[type='month']", "[type='week']", "[type='time']", "[type='datetime-local']", "[type='range']", "[type='color']", "[type='radio']", "[type='checkbox']", "[contenteditable]", "[type='button']"],
|
||||
g = ["select", "option", "[type='radio']", "[type='checkbox']"];
|
||||
a(this.currentForm).on("focusin.validate focusout.validate keyup.validate", f.concat(this.settings.customElements).join(", "), b).on("click.validate", g.concat(this.settings.customElements).join(", "), b), this.settings.invalidHandler && a(this.currentForm).on("invalid-form.validate", this.settings.invalidHandler)
|
||||
},
|
||||
form: function() {
|
||||
return this.checkForm(), a.extend(this.submitted, this.errorMap), this.invalid = a.extend({}, this.errorMap), this.valid() || a(this.currentForm).triggerHandler("invalid-form", [this]), this.showErrors(), this.valid()
|
||||
},
|
||||
checkForm: function() {
|
||||
this.prepareForm();
|
||||
for (var a = 0, b = this.currentElements = this.elements(); b[a]; a++) this.check(b[a]);
|
||||
return this.valid()
|
||||
},
|
||||
element: function(b) {
|
||||
var c, d, e = this.clean(b),
|
||||
f = this.validationTargetFor(e),
|
||||
g = this,
|
||||
h = !0;
|
||||
return void 0 === f ? delete this.invalid[e.name] : (this.prepareElement(f), this.currentElements = a(f), d = this.groups[f.name], d && a.each(this.groups, function(a, b) {
|
||||
b === d && a !== f.name && (e = g.validationTargetFor(g.clean(g.findByName(a))), e && e.name in g.invalid && (g.currentElements.push(e), h = g.check(e) && h))
|
||||
}), c = this.check(f) !== !1, h = h && c, c ? this.invalid[f.name] = !1 : this.invalid[f.name] = !0, this.numberOfInvalids() || (this.toHide = this.toHide.add(this.containers)), this.showErrors(), a(b).attr("aria-invalid", !c)), h
|
||||
},
|
||||
showErrors: function(b) {
|
||||
if (b) {
|
||||
var c = this;
|
||||
a.extend(this.errorMap, b), this.errorList = a.map(this.errorMap, function(a, b) {
|
||||
return {
|
||||
message: a,
|
||||
element: c.findByName(b)[0]
|
||||
}
|
||||
}), this.successList = a.grep(this.successList, function(a) {
|
||||
return !(a.name in b)
|
||||
})
|
||||
}
|
||||
this.settings.showErrors ? this.settings.showErrors.call(this, this.errorMap, this.errorList) : this.defaultShowErrors()
|
||||
},
|
||||
resetForm: function() {
|
||||
a.fn.resetForm && a(this.currentForm).resetForm(), this.invalid = {}, this.submitted = {}, this.prepareForm(), this.hideErrors();
|
||||
var b = this.elements().removeData("previousValue").removeAttr("aria-invalid");
|
||||
this.resetElements(b)
|
||||
},
|
||||
resetElements: function(a) {
|
||||
var b;
|
||||
if (this.settings.unhighlight)
|
||||
for (b = 0; a[b]; b++) this.settings.unhighlight.call(this, a[b], this.settings.errorClass, ""), this.findByName(a[b].name).removeClass(this.settings.validClass);
|
||||
else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)
|
||||
},
|
||||
numberOfInvalids: function() {
|
||||
return this.objectLength(this.invalid)
|
||||
},
|
||||
objectLength: function(a) {
|
||||
var b, c = 0;
|
||||
for (b in a) void 0 !== a[b] && null !== a[b] && a[b] !== !1 && c++;
|
||||
return c
|
||||
},
|
||||
hideErrors: function() {
|
||||
this.hideThese(this.toHide)
|
||||
},
|
||||
hideThese: function(a) {
|
||||
a.not(this.containers).text(""), this.addWrapper(a).hide()
|
||||
},
|
||||
valid: function() {
|
||||
return 0 === this.size()
|
||||
},
|
||||
size: function() {
|
||||
return this.errorList.length
|
||||
},
|
||||
focusInvalid: function() {
|
||||
if (this.settings.focusInvalid) try {
|
||||
a(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").trigger("focus").trigger("focusin")
|
||||
} catch (b) {}
|
||||
},
|
||||
findLastActive: function() {
|
||||
var b = this.lastActive;
|
||||
return b && 1 === a.grep(this.errorList, function(a) {
|
||||
return a.element.name === b.name
|
||||
}).length && b
|
||||
},
|
||||
elements: function() {
|
||||
var b = this,
|
||||
c = {},
|
||||
d = ["input", "select", "textarea", "[contenteditable]"];
|
||||
return a(this.currentForm).find(d.concat(this.settings.customElements).join(", ")).not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function() {
|
||||
var d = this.name || a(this).attr("name"),
|
||||
e = "undefined" != typeof a(this).attr("contenteditable") && "false" !== a(this).attr("contenteditable");
|
||||
return !d && b.settings.debug && window.console && console.error("%o has no name assigned", this), e && (this.form = a(this).closest("form")[0], this.name = d), this.form === b.currentForm && (!(d in c || !b.objectLength(a(this).rules())) && (c[d] = !0, !0))
|
||||
})
|
||||
},
|
||||
clean: function(b) {
|
||||
return a(b)[0]
|
||||
},
|
||||
errors: function() {
|
||||
var b = this.settings.errorClass.split(" ").join(".");
|
||||
return a(this.settings.errorElement + "." + b, this.errorContext)
|
||||
},
|
||||
resetInternals: function() {
|
||||
this.successList = [], this.errorList = [], this.errorMap = {}, this.toShow = a([]), this.toHide = a([])
|
||||
},
|
||||
reset: function() {
|
||||
this.resetInternals(), this.currentElements = a([])
|
||||
},
|
||||
prepareForm: function() {
|
||||
this.reset(), this.toHide = this.errors().add(this.containers)
|
||||
},
|
||||
prepareElement: function(a) {
|
||||
this.reset(), this.toHide = this.errorsFor(a)
|
||||
},
|
||||
elementValue: function(b) {
|
||||
var c, d, e = a(b),
|
||||
f = b.type,
|
||||
g = "undefined" != typeof e.attr("contenteditable") && "false" !== e.attr("contenteditable");
|
||||
return "radio" === f || "checkbox" === f ? this.findByName(b.name).filter(":checked").val() : "number" === f && "undefined" != typeof b.validity ? b.validity.badInput ? "NaN" : e.val() : (c = g ? e.text() : e.val(), "file" === f ? "C:\\fakepath\\" === c.substr(0, 12) ? c.substr(12) : (d = c.lastIndexOf("/"), d >= 0 ? c.substr(d + 1) : (d = c.lastIndexOf("\\"), d >= 0 ? c.substr(d + 1) : c)) : "string" == typeof c ? c.replace(/\r/g, "") : c)
|
||||
},
|
||||
check: function(b) {
|
||||
b = this.validationTargetFor(this.clean(b));
|
||||
var c, d, e, f, g = a(b).rules(),
|
||||
h = a.map(g, function(a, b) {
|
||||
return b
|
||||
}).length,
|
||||
i = !1,
|
||||
j = this.elementValue(b);
|
||||
this.abortRequest(b), "function" == typeof g.normalizer ? f = g.normalizer : "function" == typeof this.settings.normalizer && (f = this.settings.normalizer), f && (j = f.call(b, j), delete g.normalizer);
|
||||
for (d in g) {
|
||||
e = {
|
||||
method: d,
|
||||
parameters: g[d]
|
||||
};
|
||||
try {
|
||||
if (c = a.validator.methods[d].call(this, j, b, e.parameters), "dependency-mismatch" === c && 1 === h) {
|
||||
i = !0;
|
||||
continue
|
||||
}
|
||||
if (i = !1, "pending" === c) return void(this.toHide = this.toHide.not(this.errorsFor(b)));
|
||||
if (!c) return this.formatAndAdd(b, e), !1
|
||||
} catch (k) {
|
||||
throw this.settings.debug && window.console && console.log("Exception occurred when checking element " + b.id + ", check the '" + e.method + "' method.", k), k instanceof TypeError && (k.message += ". Exception occurred when checking element " + b.id + ", check the '" + e.method + "' method."), k
|
||||
}
|
||||
}
|
||||
if (!i) return this.objectLength(g) && this.successList.push(b), !0
|
||||
},
|
||||
customDataMessage: function(b, c) {
|
||||
return a(b).data("msg" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase()) || a(b).data("msg")
|
||||
},
|
||||
customMessage: function(a, b) {
|
||||
var c = this.settings.messages[a];
|
||||
return c && (c.constructor === String ? c : c[b])
|
||||
},
|
||||
findDefined: function() {
|
||||
for (var a = 0; a < arguments.length; a++)
|
||||
if (void 0 !== arguments[a]) return arguments[a]
|
||||
},
|
||||
defaultMessage: function(b, c) {
|
||||
"string" == typeof c && (c = {
|
||||
method: c
|
||||
});
|
||||
var d = this.findDefined(this.customMessage(b.name, c.method), this.customDataMessage(b, c.method), !this.settings.ignoreTitle && b.title || void 0, a.validator.messages[c.method], "<strong>Warning: No message defined for " + b.name + "</strong>"),
|
||||
e = /\$?\{(\d+)\}/g;
|
||||
return "function" == typeof d ? d = d.call(this, c.parameters, b) : e.test(d) && (d = a.validator.format(d.replace(e, "{$1}"), c.parameters)), d
|
||||
},
|
||||
formatAndAdd: function(a, b) {
|
||||
var c = this.defaultMessage(a, b);
|
||||
this.errorList.push({
|
||||
message: c,
|
||||
element: a,
|
||||
method: b.method
|
||||
}), this.errorMap[a.name] = c, this.submitted[a.name] = c
|
||||
},
|
||||
addWrapper: function(a) {
|
||||
return this.settings.wrapper && (a = a.add(a.parent(this.settings.wrapper))), a
|
||||
},
|
||||
defaultShowErrors: function() {
|
||||
var a, b, c;
|
||||
for (a = 0; this.errorList[a]; a++) c = this.errorList[a], this.settings.highlight && this.settings.highlight.call(this, c.element, this.settings.errorClass, this.settings.validClass), this.showLabel(c.element, c.message);
|
||||
if (this.errorList.length && (this.toShow = this.toShow.add(this.containers)), this.settings.success)
|
||||
for (a = 0; this.successList[a]; a++) this.showLabel(this.successList[a]);
|
||||
if (this.settings.unhighlight)
|
||||
for (a = 0, b = this.validElements(); b[a]; a++) this.settings.unhighlight.call(this, b[a], this.settings.errorClass, this.settings.validClass);
|
||||
this.toHide = this.toHide.not(this.toShow), this.hideErrors(), this.addWrapper(this.toShow).show()
|
||||
},
|
||||
validElements: function() {
|
||||
return this.currentElements.not(this.invalidElements())
|
||||
},
|
||||
invalidElements: function() {
|
||||
return a(this.errorList).map(function() {
|
||||
return this.element
|
||||
})
|
||||
},
|
||||
showLabel: function(b, c) {
|
||||
var d, e, f, g, h = this.errorsFor(b),
|
||||
i = this.idOrName(b),
|
||||
j = a(b).attr("aria-describedby");
|
||||
h.length ? (h.removeClass(this.settings.validClass).addClass(this.settings.errorClass), this.settings && this.settings.escapeHtml ? h.text(c || "") : h.html(c || "")) : (h = a("<" + this.settings.errorElement + ">").attr("id", i + "-error").addClass(this.settings.errorClass), this.settings && this.settings.escapeHtml ? h.text(c || "") : h.html(c || ""), d = h, this.settings.wrapper && (d = h.hide().show().wrap("<" + this.settings.wrapper + "/>").parent()), this.labelContainer.length ? this.labelContainer.append(d) : this.settings.errorPlacement ? this.settings.errorPlacement.call(this, d, a(b)) : d.insertAfter(b), h.is("label") ? h.attr("for", i) : 0 === h.parents("label[for='" + this.escapeCssMeta(i) + "']").length && (f = h.attr("id"), j ? j.match(new RegExp("\\b" + this.escapeCssMeta(f) + "\\b")) || (j += " " + f) : j = f, a(b).attr("aria-describedby", j), e = this.groups[b.name], e && (g = this, a.each(g.groups, function(b, c) {
|
||||
c === e && a("[name='" + g.escapeCssMeta(b) + "']", g.currentForm).attr("aria-describedby", h.attr("id"))
|
||||
})))), !c && this.settings.success && (h.text(""), "string" == typeof this.settings.success ? h.addClass(this.settings.success) : this.settings.success(h, b)), this.toShow = this.toShow.add(h)
|
||||
},
|
||||
errorsFor: function(b) {
|
||||
var c = this.escapeCssMeta(this.idOrName(b)),
|
||||
d = a(b).attr("aria-describedby"),
|
||||
e = "label[for='" + c + "'], label[for='" + c + "'] *";
|
||||
return d && (e = e + ", #" + this.escapeCssMeta(d).replace(/\s+/g, ", #")), this.errors().filter(e)
|
||||
},
|
||||
escapeCssMeta: function(a) {
|
||||
return void 0 === a ? "" : a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g, "\\$1")
|
||||
},
|
||||
idOrName: function(a) {
|
||||
return this.groups[a.name] || (this.checkable(a) ? a.name : a.id || a.name)
|
||||
},
|
||||
validationTargetFor: function(b) {
|
||||
return this.checkable(b) && (b = this.findByName(b.name)), a(b).not(this.settings.ignore)[0]
|
||||
},
|
||||
checkable: function(a) {
|
||||
return /radio|checkbox/i.test(a.type)
|
||||
},
|
||||
findByName: function(b) {
|
||||
return a(this.currentForm).find("[name='" + this.escapeCssMeta(b) + "']")
|
||||
},
|
||||
getLength: function(b, c) {
|
||||
switch (c.nodeName.toLowerCase()) {
|
||||
case "select":
|
||||
return a("option:selected", c).length;
|
||||
case "input":
|
||||
if (this.checkable(c)) return this.findByName(c.name).filter(":checked").length
|
||||
}
|
||||
return b.length
|
||||
},
|
||||
depend: function(a, b) {
|
||||
return !this.dependTypes[typeof a] || this.dependTypes[typeof a](a, b)
|
||||
},
|
||||
dependTypes: {
|
||||
"boolean": function(a) {
|
||||
return a
|
||||
},
|
||||
string: function(b, c) {
|
||||
return !!a(b, c.form).length
|
||||
},
|
||||
"function": function(a, b) {
|
||||
return a(b)
|
||||
}
|
||||
},
|
||||
optional: function(b) {
|
||||
var c = this.elementValue(b);
|
||||
return !a.validator.methods.required.call(this, c, b) && "dependency-mismatch"
|
||||
},
|
||||
elementAjaxPort: function(a) {
|
||||
return "validate" + a.name
|
||||
},
|
||||
startRequest: function(b) {
|
||||
this.pending[b.name] || (this.pendingRequest++, a(b).addClass(this.settings.pendingClass), this.pending[b.name] = !0)
|
||||
},
|
||||
stopRequest: function(b, c) {
|
||||
this.pendingRequest--, this.pendingRequest < 0 && (this.pendingRequest = 0), delete this.pending[b.name], a(b).removeClass(this.settings.pendingClass), c && 0 === this.pendingRequest && this.formSubmitted && this.form() && 0 === this.pendingRequest ? (a(this.currentForm).trigger("submit"), this.submitButton && a("input:hidden[name='" + this.submitButton.name + "']", this.currentForm).remove(), this.formSubmitted = !1) : !c && 0 === this.pendingRequest && this.formSubmitted && (a(this.currentForm).triggerHandler("invalid-form", [this]), this.formSubmitted = !1)
|
||||
},
|
||||
abortRequest: function(b) {
|
||||
var c;
|
||||
this.pending[b.name] && (c = this.elementAjaxPort(b), a.ajaxAbort(c), this.pendingRequest--, this.pendingRequest < 0 && (this.pendingRequest = 0), delete this.pending[b.name], a(b).removeClass(this.settings.pendingClass))
|
||||
},
|
||||
previousValue: function(b, c) {
|
||||
return c = "string" == typeof c && c || "remote", a.data(b, "previousValue") || a.data(b, "previousValue", {
|
||||
old: null,
|
||||
valid: !0,
|
||||
message: this.defaultMessage(b, {
|
||||
method: c
|
||||
})
|
||||
})
|
||||
},
|
||||
destroy: function() {
|
||||
this.resetForm(), a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")
|
||||
}
|
||||
},
|
||||
classRuleSettings: {
|
||||
required: {
|
||||
required: !0
|
||||
},
|
||||
email: {
|
||||
email: !0
|
||||
},
|
||||
url: {
|
||||
url: !0
|
||||
},
|
||||
date: {
|
||||
date: !0
|
||||
},
|
||||
dateISO: {
|
||||
dateISO: !0
|
||||
},
|
||||
number: {
|
||||
number: !0
|
||||
},
|
||||
digits: {
|
||||
digits: !0
|
||||
},
|
||||
creditcard: {
|
||||
creditcard: !0
|
||||
}
|
||||
},
|
||||
addClassRules: function(b, c) {
|
||||
b.constructor === String ? this.classRuleSettings[b] = c : a.extend(this.classRuleSettings, b)
|
||||
},
|
||||
classRules: function(b) {
|
||||
var c = {},
|
||||
d = a(b).attr("class");
|
||||
return d && a.each(d.split(" "), function() {
|
||||
this in a.validator.classRuleSettings && a.extend(c, a.validator.classRuleSettings[this])
|
||||
}), c
|
||||
},
|
||||
normalizeAttributeRule: function(a, b, c, d) {
|
||||
/min|max|step/.test(c) && (null === b || /number|range|text/.test(b)) && (d = Number(d), isNaN(d) && (d = void 0)), d || 0 === d ? a[c] = d : b === c && "range" !== b && (a["date" === b ? "dateISO" : c] = !0)
|
||||
},
|
||||
attributeRules: function(b) {
|
||||
var c, d, e = {},
|
||||
f = a(b),
|
||||
g = b.getAttribute("type");
|
||||
for (c in a.validator.methods) "required" === c ? (d = b.getAttribute(c), "" === d && (d = !0), d = !!d) : d = f.attr(c), this.normalizeAttributeRule(e, g, c, d);
|
||||
return e.maxlength && /-1|2147483647|524288/.test(e.maxlength) && delete e.maxlength, e
|
||||
},
|
||||
dataRules: function(b) {
|
||||
var c, d, e = {},
|
||||
f = a(b),
|
||||
g = b.getAttribute("type");
|
||||
for (c in a.validator.methods) d = f.data("rule" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase()), "" === d && (d = !0), this.normalizeAttributeRule(e, g, c, d);
|
||||
return e
|
||||
},
|
||||
staticRules: function(b) {
|
||||
var c = {},
|
||||
d = a.data(b.form, "validator");
|
||||
return d.settings.rules && (c = a.validator.normalizeRule(d.settings.rules[b.name]) || {}), c
|
||||
},
|
||||
normalizeRules: function(b, c) {
|
||||
return a.each(b, function(d, e) {
|
||||
if (e === !1) return void delete b[d];
|
||||
if (e.param || e.depends) {
|
||||
var f = !0;
|
||||
switch (typeof e.depends) {
|
||||
case "string":
|
||||
f = !!a(e.depends, c.form).length;
|
||||
break;
|
||||
case "function":
|
||||
f = e.depends.call(c, c)
|
||||
}
|
||||
f ? b[d] = void 0 === e.param || e.param : (a.data(c.form, "validator").resetElements(a(c)), delete b[d])
|
||||
}
|
||||
}), a.each(b, function(a, d) {
|
||||
b[a] = "function" == typeof d && "normalizer" !== a ? d(c) : d
|
||||
}), a.each(["minlength", "maxlength"], function() {
|
||||
b[this] && (b[this] = Number(b[this]))
|
||||
}), a.each(["rangelength", "range"], function() {
|
||||
var a;
|
||||
b[this] && (Array.isArray(b[this]) ? b[this] = [Number(b[this][0]), Number(b[this][1])] : "string" == typeof b[this] && (a = b[this].replace(/[\[\]]/g, "").split(/[\s,]+/), b[this] = [Number(a[0]), Number(a[1])]))
|
||||
}), a.validator.autoCreateRanges && (null != b.min && null != b.max && (b.range = [b.min, b.max], delete b.min, delete b.max), null != b.minlength && null != b.maxlength && (b.rangelength = [b.minlength, b.maxlength], delete b.minlength, delete b.maxlength)), b
|
||||
},
|
||||
normalizeRule: function(b) {
|
||||
if ("string" == typeof b) {
|
||||
var c = {};
|
||||
a.each(b.split(/\s/), function() {
|
||||
c[this] = !0
|
||||
}), b = c
|
||||
}
|
||||
return b
|
||||
},
|
||||
addMethod: function(b, c, d) {
|
||||
a.validator.methods[b] = c, a.validator.messages[b] = void 0 !== d ? d : a.validator.messages[b], c.length < 3 && a.validator.addClassRules(b, a.validator.normalizeRule(b))
|
||||
},
|
||||
methods: {
|
||||
required: function(b, c, d) {
|
||||
if (!this.depend(d, c)) return "dependency-mismatch";
|
||||
if ("select" === c.nodeName.toLowerCase()) {
|
||||
var e = a(c).val();
|
||||
return e && e.length > 0
|
||||
}
|
||||
return this.checkable(c) ? this.getLength(b, c) > 0 : void 0 !== b && null !== b && b.length > 0
|
||||
},
|
||||
email: function(a, b) {
|
||||
return this.optional(b) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)
|
||||
},
|
||||
url: function(a, b) {
|
||||
return this.optional(b) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)
|
||||
},
|
||||
date: function() {
|
||||
var a = !1;
|
||||
return function(b, c) {
|
||||
return a || (a = !0, this.settings.debug && window.console && console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")), this.optional(c) || !/Invalid|NaN/.test(new Date(b).toString())
|
||||
}
|
||||
}(),
|
||||
dateISO: function(a, b) {
|
||||
return this.optional(b) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)
|
||||
},
|
||||
number: function(a, b) {
|
||||
return this.optional(b) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:-?\.\d+)?$/.test(a)
|
||||
},
|
||||
digits: function(a, b) {
|
||||
return this.optional(b) || /^\d+$/.test(a)
|
||||
},
|
||||
minlength: function(a, b, c) {
|
||||
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
|
||||
return this.optional(b) || d >= c
|
||||
},
|
||||
maxlength: function(a, b, c) {
|
||||
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
|
||||
return this.optional(b) || d <= c
|
||||
},
|
||||
rangelength: function(a, b, c) {
|
||||
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
|
||||
return this.optional(b) || d >= c[0] && d <= c[1]
|
||||
},
|
||||
min: function(a, b, c) {
|
||||
return this.optional(b) || a >= c
|
||||
},
|
||||
max: function(a, b, c) {
|
||||
return this.optional(b) || a <= c
|
||||
},
|
||||
range: function(a, b, c) {
|
||||
return this.optional(b) || a >= c[0] && a <= c[1]
|
||||
},
|
||||
step: function(b, c, d) {
|
||||
var e, f = a(c).attr("type"),
|
||||
g = "Step attribute on input type " + f + " is not supported.",
|
||||
h = ["text", "number", "range"],
|
||||
i = new RegExp("\\b" + f + "\\b"),
|
||||
j = f && !i.test(h.join()),
|
||||
k = function(a) {
|
||||
var b = ("" + a).match(/(?:\.(\d+))?$/);
|
||||
return b && b[1] ? b[1].length : 0
|
||||
},
|
||||
l = function(a) {
|
||||
return Math.round(a * Math.pow(10, e))
|
||||
},
|
||||
m = !0;
|
||||
if (j) throw new Error(g);
|
||||
return e = k(d), (k(b) > e || l(b) % l(d) !== 0) && (m = !1), this.optional(c) || m
|
||||
},
|
||||
equalTo: function(b, c, d) {
|
||||
var e = a(d);
|
||||
return this.settings.onfocusout && e.not(".validate-equalTo-blur").length && e.addClass("validate-equalTo-blur").on("blur.validate-equalTo", function() {
|
||||
a(c).valid()
|
||||
}), b === e.val()
|
||||
},
|
||||
remote: function(b, c, d, e) {
|
||||
if (this.optional(c)) return "dependency-mismatch";
|
||||
e = "string" == typeof e && e || "remote";
|
||||
var f, g, h, i = this.previousValue(c, e);
|
||||
return this.settings.messages[c.name] || (this.settings.messages[c.name] = {}), i.originalMessage = i.originalMessage || this.settings.messages[c.name][e], this.settings.messages[c.name][e] = i.message, d = "string" == typeof d && {
|
||||
url: d
|
||||
} || d, h = a.param(a.extend({
|
||||
data: b
|
||||
}, d.data)), null !== i.valid && i.old === h ? i.valid : (i.old = h, i.valid = null, f = this, this.startRequest(c), g = {}, g[c.name] = b, a.ajax(a.extend(!0, {
|
||||
mode: "abort",
|
||||
port: this.elementAjaxPort(c),
|
||||
dataType: "json",
|
||||
data: g,
|
||||
context: f.currentForm,
|
||||
success: function(a) {
|
||||
var d, g, h, j = a === !0 || "true" === a;
|
||||
f.settings.messages[c.name][e] = i.originalMessage, j ? (h = f.formSubmitted, f.toHide = f.errorsFor(c), f.formSubmitted = h, f.successList.push(c), f.invalid[c.name] = !1, f.showErrors()) : (d = {}, g = a || f.defaultMessage(c, {
|
||||
method: e,
|
||||
parameters: b
|
||||
}), d[c.name] = i.message = g, f.invalid[c.name] = !0, f.showErrors(d)), i.valid = j, f.stopRequest(c, j)
|
||||
}
|
||||
}, d)), "pending")
|
||||
}
|
||||
}
|
||||
});
|
||||
var c, d = {};
|
||||
return a.ajaxPrefilter ? a.ajaxPrefilter(function(b, c, e) {
|
||||
var f = b.port;
|
||||
"abort" === b.mode && (a.ajaxAbort(f), d[f] = e)
|
||||
}) : (c = a.ajax, a.ajax = function(b) {
|
||||
var e = ("mode" in b ? b : a.ajaxSettings).mode,
|
||||
f = ("port" in b ? b : a.ajaxSettings).port;
|
||||
return "abort" === e ? (a.ajaxAbort(f), d[f] = c.apply(this, arguments), d[f]) : c.apply(this, arguments)
|
||||
}), a.ajaxAbort = function(a) {
|
||||
d[a] && (d[a].abort(), delete d[a])
|
||||
}, a
|
||||
});
|
||||
72
assets/js/js.cookie.min.js
vendored
Normal file
72
assets/js/js.cookie.min.js
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
/*! js-cookie v3.0.5 | MIT */ ! function(e, t) {
|
||||
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self, function() {
|
||||
var n = e.Cookies,
|
||||
o = e.Cookies = t();
|
||||
o.noConflict = function() {
|
||||
return e.Cookies = n, o
|
||||
}
|
||||
}())
|
||||
}(this, function() {
|
||||
"use strict";
|
||||
|
||||
function e(e) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var n = arguments[t];
|
||||
for (var o in n) e[o] = n[o]
|
||||
}
|
||||
return e
|
||||
}
|
||||
return function t(n, o) {
|
||||
function r(t, r, i) {
|
||||
if ("undefined" != typeof document) {
|
||||
"number" == typeof(i = e({}, o, i)).expires && (i.expires = new Date(Date.now() + 864e5 * i.expires)), i.expires && (i.expires = i.expires.toUTCString()), t = encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
|
||||
var c = "";
|
||||
for (var u in i) i[u] && (c += "; " + u, !0 !== i[u] && (c += "=" + i[u].split(";")[0]));
|
||||
return document.cookie = t + "=" + n.write(r, t) + c
|
||||
}
|
||||
}
|
||||
return Object.create({
|
||||
set: r,
|
||||
get: function(e) {
|
||||
if ("undefined" != typeof document && (!arguments.length || e)) {
|
||||
for (var t = document.cookie ? document.cookie.split("; ") : [], o = {}, r = 0; r < t.length; r++) {
|
||||
var i = t[r].split("="),
|
||||
c = i.slice(1).join("=");
|
||||
try {
|
||||
var u = decodeURIComponent(i[0]);
|
||||
if (o[u] = n.read(c, u), e === u) break
|
||||
} catch (f) {}
|
||||
}
|
||||
return e ? o[e] : o
|
||||
}
|
||||
},
|
||||
remove: function(t, n) {
|
||||
r(t, "", e({}, n, {
|
||||
expires: -1
|
||||
}))
|
||||
},
|
||||
withAttributes: function(n) {
|
||||
return t(this.converter, e({}, this.attributes, n))
|
||||
},
|
||||
withConverter: function(n) {
|
||||
return t(e({}, this.converter, n), this.attributes)
|
||||
}
|
||||
}, {
|
||||
attributes: {
|
||||
value: Object.freeze(o)
|
||||
},
|
||||
converter: {
|
||||
value: Object.freeze(n)
|
||||
}
|
||||
})
|
||||
}({
|
||||
read: function(e) {
|
||||
return '"' === e[0] && (e = e.slice(1, -1)), e.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
|
||||
},
|
||||
write: function(e) {
|
||||
return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent)
|
||||
}
|
||||
}, {
|
||||
path: "/"
|
||||
})
|
||||
});
|
||||
457
assets/js/lazyload.min.js
vendored
Normal file
457
assets/js/lazyload.min.js
vendored
Normal file
@@ -0,0 +1,457 @@
|
||||
! function(n, t) {
|
||||
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (n = "undefined" != typeof globalThis ? globalThis : n || self).LazyLoad = t()
|
||||
}(this, (function() {
|
||||
"use strict";
|
||||
|
||||
function n() {
|
||||
return n = Object.assign || function(n) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var e = arguments[t];
|
||||
for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (n[i] = e[i])
|
||||
}
|
||||
return n
|
||||
}, n.apply(this, arguments)
|
||||
}
|
||||
var t = "undefined" != typeof window,
|
||||
e = t && !("onscroll" in window) || "undefined" != typeof navigator && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),
|
||||
i = t && "IntersectionObserver" in window,
|
||||
o = t && "classList" in document.createElement("p"),
|
||||
a = t && window.devicePixelRatio > 1,
|
||||
r = {
|
||||
elements_selector: ".lazy",
|
||||
container: e || t ? document : null,
|
||||
threshold: 300,
|
||||
thresholds: null,
|
||||
data_src: "src",
|
||||
data_srcset: "srcset",
|
||||
data_sizes: "sizes",
|
||||
data_bg: "bg",
|
||||
data_bg_hidpi: "bg-hidpi",
|
||||
data_bg_multi: "bg-multi",
|
||||
data_bg_multi_hidpi: "bg-multi-hidpi",
|
||||
data_bg_set: "bg-set",
|
||||
data_poster: "poster",
|
||||
class_applied: "applied",
|
||||
class_loading: "loading",
|
||||
class_loaded: "loaded",
|
||||
class_error: "error",
|
||||
class_entered: "entered",
|
||||
class_exited: "exited",
|
||||
unobserve_completed: !0,
|
||||
unobserve_entered: !1,
|
||||
cancel_on_exit: !0,
|
||||
callback_enter: null,
|
||||
callback_exit: null,
|
||||
callback_applied: null,
|
||||
callback_loading: null,
|
||||
callback_loaded: null,
|
||||
callback_error: null,
|
||||
callback_finish: null,
|
||||
callback_cancel: null,
|
||||
use_native: !1,
|
||||
restore_on_error: !1
|
||||
},
|
||||
c = function(t) {
|
||||
return n({}, r, t)
|
||||
},
|
||||
l = function(n, t) {
|
||||
var e, i = "LazyLoad::Initialized",
|
||||
o = new n(t);
|
||||
try {
|
||||
e = new CustomEvent(i, {
|
||||
detail: {
|
||||
instance: o
|
||||
}
|
||||
})
|
||||
} catch (n) {
|
||||
(e = document.createEvent("CustomEvent")).initCustomEvent(i, !1, !1, {
|
||||
instance: o
|
||||
})
|
||||
}
|
||||
window.dispatchEvent(e)
|
||||
},
|
||||
u = "src",
|
||||
s = "srcset",
|
||||
d = "sizes",
|
||||
f = "poster",
|
||||
_ = "llOriginalAttrs",
|
||||
g = "data",
|
||||
v = "loading",
|
||||
b = "loaded",
|
||||
m = "applied",
|
||||
p = "error",
|
||||
h = "native",
|
||||
E = "data-",
|
||||
I = "ll-status",
|
||||
y = function(n, t) {
|
||||
return n.getAttribute(E + t)
|
||||
},
|
||||
k = function(n) {
|
||||
return y(n, I)
|
||||
},
|
||||
w = function(n, t) {
|
||||
return function(n, t, e) {
|
||||
var i = "data-ll-status";
|
||||
null !== e ? n.setAttribute(i, e) : n.removeAttribute(i)
|
||||
}(n, 0, t)
|
||||
},
|
||||
A = function(n) {
|
||||
return w(n, null)
|
||||
},
|
||||
L = function(n) {
|
||||
return null === k(n)
|
||||
},
|
||||
O = function(n) {
|
||||
return k(n) === h
|
||||
},
|
||||
x = [v, b, m, p],
|
||||
C = function(n, t, e, i) {
|
||||
n && (void 0 === i ? void 0 === e ? n(t) : n(t, e) : n(t, e, i))
|
||||
},
|
||||
N = function(n, t) {
|
||||
o ? n.classList.add(t) : n.className += (n.className ? " " : "") + t
|
||||
},
|
||||
M = function(n, t) {
|
||||
o ? n.classList.remove(t) : n.className = n.className.replace(new RegExp("(^|\\s+)" + t + "(\\s+|$)"), " ").replace(/^\s+/, "").replace(/\s+$/, "")
|
||||
},
|
||||
z = function(n) {
|
||||
return n.llTempImage
|
||||
},
|
||||
T = function(n, t) {
|
||||
if (t) {
|
||||
var e = t._observer;
|
||||
e && e.unobserve(n)
|
||||
}
|
||||
},
|
||||
R = function(n, t) {
|
||||
n && (n.loadingCount += t)
|
||||
},
|
||||
G = function(n, t) {
|
||||
n && (n.toLoadCount = t)
|
||||
},
|
||||
j = function(n) {
|
||||
for (var t, e = [], i = 0; t = n.children[i]; i += 1) "SOURCE" === t.tagName && e.push(t);
|
||||
return e
|
||||
},
|
||||
D = function(n, t) {
|
||||
var e = n.parentNode;
|
||||
e && "PICTURE" === e.tagName && j(e).forEach(t)
|
||||
},
|
||||
H = function(n, t) {
|
||||
j(n).forEach(t)
|
||||
},
|
||||
V = [u],
|
||||
F = [u, f],
|
||||
B = [u, s, d],
|
||||
J = [g],
|
||||
P = function(n) {
|
||||
return !!n[_]
|
||||
},
|
||||
S = function(n) {
|
||||
return n[_]
|
||||
},
|
||||
U = function(n) {
|
||||
return delete n[_]
|
||||
},
|
||||
$ = function(n, t) {
|
||||
if (!P(n)) {
|
||||
var e = {};
|
||||
t.forEach((function(t) {
|
||||
e[t] = n.getAttribute(t)
|
||||
})), n[_] = e
|
||||
}
|
||||
},
|
||||
q = function(n, t) {
|
||||
if (P(n)) {
|
||||
var e = S(n);
|
||||
t.forEach((function(t) {
|
||||
! function(n, t, e) {
|
||||
e ? n.setAttribute(t, e) : n.removeAttribute(t)
|
||||
}(n, t, e[t])
|
||||
}))
|
||||
}
|
||||
},
|
||||
K = function(n, t, e) {
|
||||
N(n, t.class_applied), w(n, m), e && (t.unobserve_completed && T(n, t), C(t.callback_applied, n, e))
|
||||
},
|
||||
Q = function(n, t, e) {
|
||||
N(n, t.class_loading), w(n, v), e && (R(e, 1), C(t.callback_loading, n, e))
|
||||
},
|
||||
W = function(n, t, e) {
|
||||
e && n.setAttribute(t, e)
|
||||
},
|
||||
X = function(n, t) {
|
||||
W(n, d, y(n, t.data_sizes)), W(n, s, y(n, t.data_srcset)), W(n, u, y(n, t.data_src))
|
||||
},
|
||||
Y = {
|
||||
IMG: function(n, t) {
|
||||
D(n, (function(n) {
|
||||
$(n, B), X(n, t)
|
||||
})), $(n, B), X(n, t)
|
||||
},
|
||||
IFRAME: function(n, t) {
|
||||
$(n, V), W(n, u, y(n, t.data_src))
|
||||
},
|
||||
VIDEO: function(n, t) {
|
||||
H(n, (function(n) {
|
||||
$(n, V), W(n, u, y(n, t.data_src))
|
||||
})), $(n, F), W(n, f, y(n, t.data_poster)), W(n, u, y(n, t.data_src)), n.load()
|
||||
},
|
||||
OBJECT: function(n, t) {
|
||||
$(n, J), W(n, g, y(n, t.data_src))
|
||||
}
|
||||
},
|
||||
Z = ["IMG", "IFRAME", "VIDEO", "OBJECT"],
|
||||
nn = function(n, t) {
|
||||
!t || function(n) {
|
||||
return n.loadingCount > 0
|
||||
}(t) || function(n) {
|
||||
return n.toLoadCount > 0
|
||||
}(t) || C(n.callback_finish, t)
|
||||
},
|
||||
tn = function(n, t, e) {
|
||||
n.addEventListener(t, e), n.llEvLisnrs[t] = e
|
||||
},
|
||||
en = function(n, t, e) {
|
||||
n.removeEventListener(t, e)
|
||||
},
|
||||
on = function(n) {
|
||||
return !!n.llEvLisnrs
|
||||
},
|
||||
an = function(n) {
|
||||
if (on(n)) {
|
||||
var t = n.llEvLisnrs;
|
||||
for (var e in t) {
|
||||
var i = t[e];
|
||||
en(n, e, i)
|
||||
}
|
||||
delete n.llEvLisnrs
|
||||
}
|
||||
},
|
||||
rn = function(n, t, e) {
|
||||
! function(n) {
|
||||
delete n.llTempImage
|
||||
}(n), R(e, -1),
|
||||
function(n) {
|
||||
n && (n.toLoadCount -= 1)
|
||||
}(e), M(n, t.class_loading), t.unobserve_completed && T(n, e)
|
||||
},
|
||||
cn = function(n, t, e) {
|
||||
var i = z(n) || n;
|
||||
on(i) || function(n, t, e) {
|
||||
on(n) || (n.llEvLisnrs = {});
|
||||
var i = "VIDEO" === n.tagName ? "loadeddata" : "load";
|
||||
tn(n, i, t), tn(n, "error", e)
|
||||
}(i, (function(o) {
|
||||
! function(n, t, e, i) {
|
||||
var o = O(t);
|
||||
rn(t, e, i), N(t, e.class_loaded), w(t, b), C(e.callback_loaded, t, i), o || nn(e, i)
|
||||
}(0, n, t, e), an(i)
|
||||
}), (function(o) {
|
||||
! function(n, t, e, i) {
|
||||
var o = O(t);
|
||||
rn(t, e, i), N(t, e.class_error), w(t, p), C(e.callback_error, t, i), e.restore_on_error && q(t, B), o || nn(e, i)
|
||||
}(0, n, t, e), an(i)
|
||||
}))
|
||||
},
|
||||
ln = function(n, t, e) {
|
||||
! function(n) {
|
||||
return Z.indexOf(n.tagName) > -1
|
||||
}(n) ? function(n, t, e) {
|
||||
! function(n) {
|
||||
n.llTempImage = document.createElement("IMG")
|
||||
}(n), cn(n, t, e),
|
||||
function(n) {
|
||||
P(n) || (n[_] = {
|
||||
backgroundImage: n.style.backgroundImage
|
||||
})
|
||||
}(n),
|
||||
function(n, t, e) {
|
||||
var i = y(n, t.data_bg),
|
||||
o = y(n, t.data_bg_hidpi),
|
||||
r = a && o ? o : i;
|
||||
r && (n.style.backgroundImage = 'url("'.concat(r, '")'), z(n).setAttribute(u, r), Q(n, t, e))
|
||||
}(n, t, e),
|
||||
function(n, t, e) {
|
||||
var i = y(n, t.data_bg_multi),
|
||||
o = y(n, t.data_bg_multi_hidpi),
|
||||
r = a && o ? o : i;
|
||||
r && (n.style.backgroundImage = r, K(n, t, e))
|
||||
}(n, t, e),
|
||||
function(n, t, e) {
|
||||
var i = y(n, t.data_bg_set);
|
||||
if (i) {
|
||||
var o = i.split("|"),
|
||||
a = o.map((function(n) {
|
||||
return "image-set(".concat(n, ")")
|
||||
}));
|
||||
n.style.backgroundImage = a.join(), "" === n.style.backgroundImage && (a = o.map((function(n) {
|
||||
return "-webkit-image-set(".concat(n, ")")
|
||||
})), n.style.backgroundImage = a.join()), K(n, t, e)
|
||||
}
|
||||
}(n, t, e)
|
||||
}(n, t, e) : function(n, t, e) {
|
||||
cn(n, t, e),
|
||||
function(n, t, e) {
|
||||
var i = Y[n.tagName];
|
||||
i && (i(n, t), Q(n, t, e))
|
||||
}(n, t, e)
|
||||
}(n, t, e)
|
||||
},
|
||||
un = function(n) {
|
||||
n.removeAttribute(u), n.removeAttribute(s), n.removeAttribute(d)
|
||||
},
|
||||
sn = function(n) {
|
||||
D(n, (function(n) {
|
||||
q(n, B)
|
||||
})), q(n, B)
|
||||
},
|
||||
dn = {
|
||||
IMG: sn,
|
||||
IFRAME: function(n) {
|
||||
q(n, V)
|
||||
},
|
||||
VIDEO: function(n) {
|
||||
H(n, (function(n) {
|
||||
q(n, V)
|
||||
})), q(n, F), n.load()
|
||||
},
|
||||
OBJECT: function(n) {
|
||||
q(n, J)
|
||||
}
|
||||
},
|
||||
fn = function(n, t) {
|
||||
(function(n) {
|
||||
var t = dn[n.tagName];
|
||||
t ? t(n) : function(n) {
|
||||
if (P(n)) {
|
||||
var t = S(n);
|
||||
n.style.backgroundImage = t.backgroundImage
|
||||
}
|
||||
}(n)
|
||||
})(n),
|
||||
function(n, t) {
|
||||
L(n) || O(n) || (M(n, t.class_entered), M(n, t.class_exited), M(n, t.class_applied), M(n, t.class_loading), M(n, t.class_loaded), M(n, t.class_error))
|
||||
}(n, t), A(n), U(n)
|
||||
},
|
||||
_n = ["IMG", "IFRAME", "VIDEO"],
|
||||
gn = function(n) {
|
||||
return n.use_native && "loading" in HTMLImageElement.prototype
|
||||
},
|
||||
vn = function(n, t, e) {
|
||||
n.forEach((function(n) {
|
||||
return function(n) {
|
||||
return n.isIntersecting || n.intersectionRatio > 0
|
||||
}(n) ? function(n, t, e, i) {
|
||||
var o = function(n) {
|
||||
return x.indexOf(k(n)) >= 0
|
||||
}(n);
|
||||
w(n, "entered"), N(n, e.class_entered), M(n, e.class_exited),
|
||||
function(n, t, e) {
|
||||
t.unobserve_entered && T(n, e)
|
||||
}(n, e, i), C(e.callback_enter, n, t, i), o || ln(n, e, i)
|
||||
}(n.target, n, t, e) : function(n, t, e, i) {
|
||||
L(n) || (N(n, e.class_exited), function(n, t, e, i) {
|
||||
e.cancel_on_exit && function(n) {
|
||||
return k(n) === v
|
||||
}(n) && "IMG" === n.tagName && (an(n), function(n) {
|
||||
D(n, (function(n) {
|
||||
un(n)
|
||||
})), un(n)
|
||||
}(n), sn(n), M(n, e.class_loading), R(i, -1), A(n), C(e.callback_cancel, n, t, i))
|
||||
}(n, t, e, i), C(e.callback_exit, n, t, i))
|
||||
}(n.target, n, t, e)
|
||||
}))
|
||||
},
|
||||
bn = function(n) {
|
||||
return Array.prototype.slice.call(n)
|
||||
},
|
||||
mn = function(n) {
|
||||
return n.container.querySelectorAll(n.elements_selector)
|
||||
},
|
||||
pn = function(n) {
|
||||
return function(n) {
|
||||
return k(n) === p
|
||||
}(n)
|
||||
},
|
||||
hn = function(n, t) {
|
||||
return function(n) {
|
||||
return bn(n).filter(L)
|
||||
}(n || mn(t))
|
||||
},
|
||||
En = function(n, e) {
|
||||
var o = c(n);
|
||||
this._settings = o, this.loadingCount = 0,
|
||||
function(n, t) {
|
||||
i && !gn(n) && (t._observer = new IntersectionObserver((function(e) {
|
||||
vn(e, n, t)
|
||||
}), function(n) {
|
||||
return {
|
||||
root: n.container === document ? null : n.container,
|
||||
rootMargin: n.thresholds || n.threshold + "px"
|
||||
}
|
||||
}(n)))
|
||||
}(o, this),
|
||||
function(n, e) {
|
||||
t && (e._onlineHandler = function() {
|
||||
! function(n, t) {
|
||||
var e;
|
||||
(e = mn(n), bn(e).filter(pn)).forEach((function(t) {
|
||||
M(t, n.class_error), A(t)
|
||||
})), t.update()
|
||||
}(n, e)
|
||||
}, window.addEventListener("online", e._onlineHandler))
|
||||
}(o, this), this.update(e)
|
||||
};
|
||||
return En.prototype = {
|
||||
update: function(n) {
|
||||
var t, o, a = this._settings,
|
||||
r = hn(n, a);
|
||||
G(this, r.length), !e && i ? gn(a) ? function(n, t, e) {
|
||||
n.forEach((function(n) {
|
||||
-1 !== _n.indexOf(n.tagName) && function(n, t, e) {
|
||||
n.setAttribute("loading", "lazy"), cn(n, t, e),
|
||||
function(n, t) {
|
||||
var e = Y[n.tagName];
|
||||
e && e(n, t)
|
||||
}(n, t), w(n, h)
|
||||
}(n, t, e)
|
||||
})), G(e, 0)
|
||||
}(r, a, this) : (o = r, function(n) {
|
||||
n.disconnect()
|
||||
}(t = this._observer), function(n, t) {
|
||||
t.forEach((function(t) {
|
||||
n.observe(t)
|
||||
}))
|
||||
}(t, o)) : this.loadAll(r)
|
||||
},
|
||||
destroy: function() {
|
||||
this._observer && this._observer.disconnect(), t && window.removeEventListener("online", this._onlineHandler), mn(this._settings).forEach((function(n) {
|
||||
U(n)
|
||||
})), delete this._observer, delete this._settings, delete this._onlineHandler, delete this.loadingCount, delete this.toLoadCount
|
||||
},
|
||||
loadAll: function(n) {
|
||||
var t = this,
|
||||
e = this._settings;
|
||||
hn(n, e).forEach((function(n) {
|
||||
T(n, t), ln(n, e, t)
|
||||
}))
|
||||
},
|
||||
restoreAll: function() {
|
||||
var n = this._settings;
|
||||
mn(n).forEach((function(t) {
|
||||
fn(t, n)
|
||||
}))
|
||||
}
|
||||
}, En.load = function(n, t) {
|
||||
var e = c(t);
|
||||
ln(n, e)
|
||||
}, En.resetStatus = function(n) {
|
||||
A(n)
|
||||
}, t && function(n, t) {
|
||||
if (t)
|
||||
if (t.length)
|
||||
for (var e, i = 0; e = t[i]; i += 1) l(n, e);
|
||||
else l(n, t)
|
||||
}(En, window.lazyLoadOptions), En
|
||||
}));
|
||||
873
assets/js/lightbox.408665be3d65f6ab17f0.bundle.min.js
vendored
Normal file
873
assets/js/lightbox.408665be3d65f6ab17f0.bundle.min.js
vendored
Normal file
@@ -0,0 +1,873 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
"use strict";
|
||||
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([
|
||||
[216], {
|
||||
667: (e, t, i) => {
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.default = void 0, i(6281), i(5724), i(4846), i(4364);
|
||||
class IconsManager {
|
||||
static symbolsContainer;
|
||||
static iconsUsageList = [];
|
||||
constructor(e) {
|
||||
this.prefix = `${e}-`, this.createSvgSymbolsContainer()
|
||||
}
|
||||
createSvgElement(e, t) {
|
||||
let {
|
||||
path: i,
|
||||
width: n,
|
||||
height: s
|
||||
} = t;
|
||||
const o = this.prefix + e,
|
||||
l = "#" + this.prefix + e;
|
||||
if (!IconsManager.iconsUsageList.includes(o)) {
|
||||
if (!IconsManager.symbolsContainer.querySelector(l)) {
|
||||
const e = this.createSymbolElement({
|
||||
id: o,
|
||||
path: i,
|
||||
width: n,
|
||||
height: s
|
||||
});
|
||||
IconsManager.symbolsContainer.appendChild(e)
|
||||
}
|
||||
IconsManager.iconsUsageList.push(o)
|
||||
}
|
||||
return this.createSvgIconElement({
|
||||
iconName: o,
|
||||
iconSelector: l
|
||||
})
|
||||
}
|
||||
createSvgNode(e, t) {
|
||||
let {
|
||||
props: i = {},
|
||||
attrs: n = {}
|
||||
} = t;
|
||||
const s = document.createElementNS("http://www.w3.org/2000/svg", e);
|
||||
return Object.keys(i).map(e => s[e] = i[e]), Object.keys(n).map(e => s.setAttributeNS(null, e, n[e])), s
|
||||
}
|
||||
createSvgIconElement(e) {
|
||||
let {
|
||||
iconName: t,
|
||||
iconSelector: i
|
||||
} = e;
|
||||
return this.createSvgNode("svg", {
|
||||
props: {
|
||||
innerHTML: '<use xlink:href="' + i + '" />'
|
||||
},
|
||||
attrs: {
|
||||
class: "e-font-icon-svg e-" + t
|
||||
}
|
||||
})
|
||||
}
|
||||
createSvgSymbolsContainer() {
|
||||
if (!IconsManager.symbolsContainer) {
|
||||
const e = "e-font-icon-svg-symbols";
|
||||
IconsManager.symbolsContainer = document.getElementById(e), IconsManager.symbolsContainer || (IconsManager.symbolsContainer = this.createSvgNode("svg", {
|
||||
attrs: {
|
||||
style: "display: none;",
|
||||
class: e
|
||||
}
|
||||
}), document.body.appendChild(IconsManager.symbolsContainer))
|
||||
}
|
||||
}
|
||||
createSymbolElement(e) {
|
||||
let {
|
||||
id: t,
|
||||
path: i,
|
||||
width: n,
|
||||
height: s
|
||||
} = e;
|
||||
return this.createSvgNode("symbol", {
|
||||
props: {
|
||||
innerHTML: '<path d="' + i + '"></path>',
|
||||
id: t
|
||||
},
|
||||
attrs: {
|
||||
viewBox: "0 0 " + n + " " + s
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
t.default = IconsManager
|
||||
},
|
||||
3942: (e, t, i) => {
|
||||
var n = i(6784);
|
||||
i(5724), i(4846), i(7458), i(6211), i(9655);
|
||||
var s = n(i(7954)),
|
||||
o = i(9556);
|
||||
e.exports = elementorModules.ViewModule.extend({
|
||||
oldAnimation: null,
|
||||
swiper: null,
|
||||
player: null,
|
||||
isFontIconSvgExperiment: elementorFrontend.config.experimentalFeatures.e_font_icon_svg,
|
||||
getDefaultSettings: () => ({
|
||||
classes: {
|
||||
item: "elementor-lightbox-item",
|
||||
image: "elementor-lightbox-image",
|
||||
videoContainer: "elementor-video-container",
|
||||
videoWrapper: "elementor-video-wrapper",
|
||||
playButton: "elementor-custom-embed-play",
|
||||
playButtonIcon: "fa",
|
||||
playing: "elementor-playing",
|
||||
hidden: "elementor-hidden",
|
||||
invisible: "elementor-invisible",
|
||||
preventClose: "elementor-lightbox-prevent-close",
|
||||
slideshow: {
|
||||
container: "swiper",
|
||||
slidesWrapper: "swiper-wrapper",
|
||||
prevButton: "elementor-swiper-button elementor-swiper-button-prev",
|
||||
nextButton: "elementor-swiper-button elementor-swiper-button-next",
|
||||
prevButtonIcon: "eicon-chevron-left",
|
||||
nextButtonIcon: "eicon-chevron-right",
|
||||
slide: "swiper-slide",
|
||||
header: "elementor-slideshow__header",
|
||||
footer: "elementor-slideshow__footer",
|
||||
title: "elementor-slideshow__title",
|
||||
description: "elementor-slideshow__description",
|
||||
counter: "elementor-slideshow__counter",
|
||||
iconExpand: "eicon-frame-expand",
|
||||
iconShrink: "eicon-frame-minimize",
|
||||
iconZoomIn: "eicon-zoom-in-bold",
|
||||
iconZoomOut: "eicon-zoom-out-bold",
|
||||
iconShare: "eicon-share-arrow",
|
||||
shareMenu: "elementor-slideshow__share-menu",
|
||||
shareLinks: "elementor-slideshow__share-links",
|
||||
hideUiVisibility: "elementor-slideshow--ui-hidden",
|
||||
shareMode: "elementor-slideshow--share-mode",
|
||||
fullscreenMode: "elementor-slideshow--fullscreen-mode",
|
||||
zoomMode: "elementor-slideshow--zoom-mode"
|
||||
}
|
||||
},
|
||||
selectors: {
|
||||
image: ".elementor-lightbox-image",
|
||||
links: "a, [data-elementor-lightbox]",
|
||||
slideshow: {
|
||||
activeSlide: ".swiper-slide-active",
|
||||
prevSlide: ".swiper-slide-prev",
|
||||
nextSlide: ".swiper-slide-next"
|
||||
}
|
||||
},
|
||||
modalOptions: {
|
||||
id: "elementor-lightbox",
|
||||
entranceAnimation: "zoomIn",
|
||||
videoAspectRatio: 169,
|
||||
position: {
|
||||
enable: !1
|
||||
}
|
||||
}
|
||||
}),
|
||||
getModal() {
|
||||
return e.exports.modal || this.initModal(), e.exports.modal
|
||||
},
|
||||
initModal() {
|
||||
const t = {};
|
||||
this.isFontIconSvgExperiment ? t.iconElement = o.close.element : t.iconClass = "eicon-close";
|
||||
const i = e.exports.modal = elementorFrontend.getDialogsManager().createWidget("lightbox", {
|
||||
className: "elementor-lightbox",
|
||||
closeButton: !0,
|
||||
closeButtonOptions: { ...t,
|
||||
attributes: {
|
||||
role: "button",
|
||||
tabindex: 0,
|
||||
"aria-label": elementorFrontend.config.i18n.close + " (Esc)"
|
||||
}
|
||||
},
|
||||
selectors: {
|
||||
preventClose: "." + this.getSettings("classes.preventClose")
|
||||
},
|
||||
hide: {
|
||||
onClick: !0
|
||||
}
|
||||
});
|
||||
i.on("hide", function() {
|
||||
i.setMessage("")
|
||||
})
|
||||
},
|
||||
showModal(e) {
|
||||
if (e.url && !e.url.startsWith("http")) return;
|
||||
this.elements.$closeButton = this.getModal().getElements("closeButton"), this.$buttons = this.elements.$closeButton, this.focusedButton = null;
|
||||
const t = this,
|
||||
i = t.getDefaultSettings().modalOptions;
|
||||
t.id = e.id, t.setSettings("modalOptions", jQuery.extend(i, e.modalOptions));
|
||||
const n = t.getModal();
|
||||
switch (n.setID(t.getSettings("modalOptions.id")), n.onShow = function() {
|
||||
DialogsManager.getWidgetType("lightbox").prototype.onShow.apply(n, arguments), t.setEntranceAnimation()
|
||||
}, n.onHide = function() {
|
||||
DialogsManager.getWidgetType("lightbox").prototype.onHide.apply(n, arguments), n.getElements("message").removeClass("animated"), s.default.isFullscreen && t.deactivateFullscreen(), t.unbindHotKeys()
|
||||
}, e.type) {
|
||||
case "video":
|
||||
t.setVideoContent(e);
|
||||
break;
|
||||
case "image":
|
||||
{
|
||||
const i = [{
|
||||
image: e.url,
|
||||
index: 0,
|
||||
title: e.title,
|
||||
description: e.description,
|
||||
hash: e.hash
|
||||
}];e.slideshow = {
|
||||
slides: i,
|
||||
swiper: {
|
||||
loop: !1,
|
||||
pagination: !1
|
||||
}
|
||||
},
|
||||
t.setSlideshowContent(e.slideshow);
|
||||
break
|
||||
}
|
||||
case "slideshow":
|
||||
t.setSlideshowContent(e.slideshow);
|
||||
break;
|
||||
default:
|
||||
t.setHTMLContent(e.html)
|
||||
}
|
||||
n.show()
|
||||
},
|
||||
createLightbox(e) {
|
||||
let t = {};
|
||||
if (e.dataset.elementorLightbox && (t = JSON.parse(e.dataset.elementorLightbox)), t.type && "slideshow" !== t.type) return void this.showModal(t);
|
||||
if (!e.dataset.elementorLightboxSlideshow) {
|
||||
const t = "single-img";
|
||||
return void this.showModal({
|
||||
type: "image",
|
||||
id: t,
|
||||
url: e.href,
|
||||
hash: e.getAttribute("data-e-action-hash"),
|
||||
title: e.dataset.elementorLightboxTitle,
|
||||
description: e.dataset.elementorLightboxDescription,
|
||||
modalOptions: {
|
||||
id: "elementor-lightbox-slideshow-" + t
|
||||
}
|
||||
})
|
||||
}
|
||||
const i = e.dataset.elementorLightboxVideo || e.href;
|
||||
this.openSlideshow(e.dataset.elementorLightboxSlideshow, i)
|
||||
},
|
||||
setHTMLContent(e) {
|
||||
window.elementorCommon && elementorDevTools.deprecation.deprecated("elementorFrontend.utils.lightbox.setHTMLContent()", "3.1.4"), this.getModal().setMessage(e)
|
||||
},
|
||||
setVideoContent(e) {
|
||||
const t = jQuery;
|
||||
let i;
|
||||
if ("hosted" === e.videoType) {
|
||||
const n = t.extend({
|
||||
src: e.url,
|
||||
autoplay: ""
|
||||
}, e.videoParams);
|
||||
i = t("<video>", n)
|
||||
} else {
|
||||
let n;
|
||||
if (-1 !== e.url.indexOf("vimeo.com")) n = elementorFrontend.utils.vimeo;
|
||||
else {
|
||||
if (!e.url.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com|youtube-nocookie\.com)/)) return;
|
||||
n = elementorFrontend.utils.youtube
|
||||
}
|
||||
i = t("<iframe>", {
|
||||
allowfullscreen: 1
|
||||
}), "yes" === e.autoplay ? (i.attr("allow", "autoplay"), i.attr("src", n.getAutoplayURL(e.url))) : i.attr("src", e.url)
|
||||
}
|
||||
const n = this.getSettings("classes"),
|
||||
s = this.getRatioDictionry(this.getSettings("modalOptions.videoAspectRatio")),
|
||||
o = t("<div>", {
|
||||
class: `${n.videoContainer} ${n.preventClose}`
|
||||
}),
|
||||
l = t("<div>", {
|
||||
class: `${n.videoWrapper} elementor-video-${this.getRatioType(s)}`,
|
||||
style: "--video-aspect-ratio: " + s
|
||||
});
|
||||
l.append(i), o.append(l);
|
||||
const a = this.getModal();
|
||||
a.setMessage(o);
|
||||
const r = a.onHide;
|
||||
a.onHide = function() {
|
||||
r(), this.$buttons = jQuery(), this.focusedButton = null, a.getElements("message").removeClass("elementor-video-wrapper")
|
||||
}
|
||||
},
|
||||
getRatioDictionry: e => ({
|
||||
219: 2.33333,
|
||||
169: 1.77777,
|
||||
43: 1.33333,
|
||||
32: 1.5,
|
||||
11: 1,
|
||||
916: .5625
|
||||
}[e] || e),
|
||||
getRatioType(e) {
|
||||
let t = "";
|
||||
return t = 1 === e ? "square" : e < 1 ? "portrait" : "landscape", t
|
||||
},
|
||||
getShareLinks() {
|
||||
const {
|
||||
i18n: e
|
||||
} = elementorFrontend.config, t = {
|
||||
facebook: {
|
||||
label: e.shareOnFacebook,
|
||||
iconElement: o.facebook
|
||||
},
|
||||
twitter: {
|
||||
label: e.shareOnTwitter,
|
||||
iconElement: o.twitter
|
||||
},
|
||||
pinterest: {
|
||||
label: e.pinIt,
|
||||
iconElement: o.pinterest
|
||||
}
|
||||
}, i = jQuery, n = this.getSettings("classes"), s = this.getSettings("selectors"), l = i("<div>", {
|
||||
class: n.slideshow.shareLinks
|
||||
}), a = this.getSlide("active"), r = a.find(s.image), d = a.data("elementor-slideshow-video");
|
||||
let h;
|
||||
if (h = d || r.attr("src"), i.each(t, (e, t) => {
|
||||
const n = t.label,
|
||||
s = i("<a>", {
|
||||
href: this.createShareLink(e, h, a.attr("data-e-action-hash")),
|
||||
target: "_blank"
|
||||
}).text(n),
|
||||
o = this.isFontIconSvgExperiment ? i(t.iconElement.element) : i("<i>", {
|
||||
class: "eicon-" + e,
|
||||
"aria-hidden": "true"
|
||||
});
|
||||
s.prepend(o), l.append(s)
|
||||
}), !d) {
|
||||
const t = this.isFontIconSvgExperiment ? i(o.downloadBold.element) : i("<i>", {
|
||||
class: "eicon-download-bold"
|
||||
});
|
||||
t.attr("aria-label", e.download), l.append(i("<a>", {
|
||||
href: h,
|
||||
download: ""
|
||||
}).text(e.downloadImage).prepend(t))
|
||||
}
|
||||
return l
|
||||
},
|
||||
createShareLink(e, t) {
|
||||
let i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;
|
||||
const n = {};
|
||||
return "pinterest" === e ? n.image = encodeURIComponent(t) : n.url = encodeURIComponent(location.href.replace(/#.*/, "") + i), ShareLink.getNetworkLink(e, n)
|
||||
},
|
||||
getSlideshowHeader() {
|
||||
const {
|
||||
i18n: e
|
||||
} = elementorFrontend.config, t = jQuery, i = "yes" === elementorFrontend.getKitSettings("lightbox_enable_counter"), n = "yes" === elementorFrontend.getKitSettings("lightbox_enable_fullscreen"), s = "yes" === elementorFrontend.getKitSettings("lightbox_enable_zoom"), l = "yes" === elementorFrontend.getKitSettings("lightbox_enable_share"), a = this.getSettings("classes"), r = a.slideshow, d = this.elements;
|
||||
if (i || n || s || l) {
|
||||
if (d.$header = t("<header>", {
|
||||
class: r.header + " " + a.preventClose
|
||||
}), l) {
|
||||
const i = this.isFontIconSvgExperiment ? o.shareArrow.element : "<i>";
|
||||
d.$iconShare = t(i, {
|
||||
class: r.iconShare,
|
||||
role: "button",
|
||||
tabindex: 0,
|
||||
"aria-label": e.share,
|
||||
"aria-expanded": !1
|
||||
}).append(t("<span>"));
|
||||
const n = t("<div>");
|
||||
n.on("click", e => {
|
||||
e.stopPropagation()
|
||||
}), d.$shareMenu = t("<div>", {
|
||||
class: r.shareMenu
|
||||
}).append(n), d.$iconShare.add(d.$shareMenu).on("click", this.toggleShareMenu), d.$header.append(d.$iconShare, d.$shareMenu), this.$buttons = this.$buttons.add(d.$iconShare)
|
||||
}
|
||||
if (s) {
|
||||
const i = this.isFontIconSvgExperiment ? o.zoomInBold.element : "<i>",
|
||||
n = [],
|
||||
s = {
|
||||
role: "switch",
|
||||
tabindex: 0,
|
||||
"aria-checked": !1,
|
||||
"aria-label": e.zoom
|
||||
},
|
||||
l = { ...s
|
||||
};
|
||||
this.isFontIconSvgExperiment || (l.class = r.iconZoomIn), d.$iconZoom = t(i).attr(l).on("click", this.toggleZoomMode), n.push(d.$iconZoom), this.isFontIconSvgExperiment && (d.$iconZoomOut = t(o.zoomOutBold.element).attr(s).addClass(a.hidden).on("click", this.toggleZoomMode), n.push(d.$iconZoomOut)), d.$header.append(n), this.$buttons = this.$buttons.add(n)
|
||||
}
|
||||
if (n) {
|
||||
const i = this.isFontIconSvgExperiment ? o.frameExpand.element : "<i>",
|
||||
n = [],
|
||||
s = {
|
||||
role: "switch",
|
||||
tabindex: 0,
|
||||
"aria-checked": !1,
|
||||
"aria-label": e.fullscreen
|
||||
},
|
||||
l = { ...s
|
||||
};
|
||||
this.isFontIconSvgExperiment || (l.class = r.iconExpand), d.$iconExpand = t(i).append(t("<span>"), t("<span>")).attr(l).on("click", this.toggleFullscreen), n.push(d.$iconExpand), this.isFontIconSvgExperiment && (d.$iconMinimize = t(o.frameMinimize.element).attr(s).addClass(a.hidden).on("click", this.toggleFullscreen), n.push(d.$iconMinimize)), d.$header.append(n), this.$buttons = this.$buttons.add(n)
|
||||
}
|
||||
return i && (d.$counter = t("<span>", {
|
||||
class: r.counter
|
||||
}), d.$header.append(d.$counter)), d.$header
|
||||
}
|
||||
},
|
||||
toggleFullscreen() {
|
||||
s.default.isFullscreen ? this.deactivateFullscreen() : s.default.isEnabled && this.activateFullscreen()
|
||||
},
|
||||
toggleZoomMode() {
|
||||
1 !== this.swiper.zoom.scale ? this.deactivateZoom() : this.activateZoom()
|
||||
},
|
||||
toggleShareMenu() {
|
||||
this.shareMode ? this.deactivateShareMode() : (this.elements.$shareMenu.html(this.getShareLinks()), this.activateShareMode())
|
||||
},
|
||||
activateShareMode() {
|
||||
const e = this.getSettings("classes");
|
||||
this.elements.$container.addClass(e.slideshow.shareMode), this.elements.$iconShare.attr("aria-expanded", !0), this.swiper.detachEvents(), this.$originalButtons = this.$buttons, this.$buttons = this.elements.$iconShare.add(this.elements.$shareMenu.find("a")), this.shareMode = !0
|
||||
},
|
||||
deactivateShareMode() {
|
||||
const e = this.getSettings("classes");
|
||||
this.elements.$container.removeClass(e.slideshow.shareMode), this.elements.$iconShare.attr("aria-expanded", !1), this.swiper.attachEvents(), this.$buttons = this.$originalButtons, this.shareMode = !1
|
||||
},
|
||||
activateFullscreen() {
|
||||
const e = this.getSettings("classes");
|
||||
s.default.request(this.elements.$container.parents(".dialog-widget")[0]), this.isFontIconSvgExperiment ? (this.elements.$iconExpand.addClass(e.hidden).attr("aria-checked", "false"), this.elements.$iconMinimize.removeClass(e.hidden).attr("aria-checked", "true")) : this.elements.$iconExpand.removeClass(e.slideshow.iconExpand).addClass(e.slideshow.iconShrink).attr("aria-checked", "true"), this.elements.$container.addClass(e.slideshow.fullscreenMode)
|
||||
},
|
||||
deactivateFullscreen() {
|
||||
const e = this.getSettings("classes");
|
||||
s.default.exit(), this.isFontIconSvgExperiment ? (this.elements.$iconExpand.removeClass(e.hidden).attr("aria-checked", "true"), this.elements.$iconMinimize.addClass(e.hidden).attr("aria-checked", "false")) : this.elements.$iconExpand.removeClass(e.slideshow.iconShrink).addClass(e.slideshow.iconExpand).attr("aria-checked", "false"), this.elements.$container.removeClass(e.slideshow.fullscreenMode)
|
||||
},
|
||||
activateZoom() {
|
||||
const e = this.swiper,
|
||||
t = this.elements,
|
||||
i = this.getSettings("classes");
|
||||
e.zoom.in(), e.allowSlideNext = !1, e.allowSlidePrev = !1, e.allowTouchMove = !1, t.$container.addClass(i.slideshow.zoomMode), this.isFontIconSvgExperiment ? (t.$iconZoom.addClass(i.hidden).attr("aria-checked", "false"), t.$iconZoomOut.removeClass(i.hidden).attr("aria-checked", "true")) : t.$iconZoom.removeClass(i.slideshow.iconZoomIn).addClass(i.slideshow.iconZoomOut)
|
||||
},
|
||||
deactivateZoom() {
|
||||
const e = this.swiper,
|
||||
t = this.elements,
|
||||
i = this.getSettings("classes");
|
||||
e.zoom.out(), e.allowSlideNext = !0, e.allowSlidePrev = !0, e.allowTouchMove = !0, t.$container.removeClass(i.slideshow.zoomMode), this.isFontIconSvgExperiment ? (t.$iconZoom.removeClass(i.hidden).attr("aria-checked", "true"), t.$iconZoomOut.addClass(i.hidden).attr("aria-checked", "false")) : t.$iconZoom.removeClass(i.slideshow.iconZoomOut).addClass(i.slideshow.iconZoomIn)
|
||||
},
|
||||
getSlideshowFooter() {
|
||||
const e = jQuery,
|
||||
t = this.getSettings("classes"),
|
||||
i = e("<footer>", {
|
||||
class: t.slideshow.footer + " " + t.preventClose
|
||||
}),
|
||||
n = e("<div>", {
|
||||
class: t.slideshow.title
|
||||
}),
|
||||
s = e("<div>", {
|
||||
class: t.slideshow.description
|
||||
});
|
||||
return i.append(n, s), i
|
||||
},
|
||||
setSlideshowContent(e) {
|
||||
const {
|
||||
i18n: t
|
||||
} = elementorFrontend.config, i = jQuery, n = 1 === e.slides.length, s = "" !== elementorFrontend.getKitSettings("lightbox_title_src"), l = "" !== elementorFrontend.getKitSettings("lightbox_description_src"), a = s || l, r = this.getSettings("classes"), d = r.slideshow, h = i("<div>", {
|
||||
class: d.container
|
||||
}), c = i("<div>", {
|
||||
class: d.slidesWrapper
|
||||
});
|
||||
let m, g;
|
||||
if (e.slides.forEach(e => {
|
||||
let n = d.slide + " " + r.item;
|
||||
e.video && (n += " " + r.video);
|
||||
const s = i("<div>", {
|
||||
class: n
|
||||
});
|
||||
if (e.video) {
|
||||
s.attr("data-elementor-slideshow-video", e.video);
|
||||
const n = this.isFontIconSvgExperiment ? o.loading.element : "<i>",
|
||||
l = i("<div>", {
|
||||
class: r.playButton
|
||||
}).html(i(n).attr("aria-label", t.playVideo).addClass(r.playButtonIcon));
|
||||
s.append(l)
|
||||
} else {
|
||||
const t = i("<div>", {
|
||||
class: "swiper-zoom-container"
|
||||
}),
|
||||
n = i('<div class="swiper-lazy-preloader"></div>'),
|
||||
o = {
|
||||
"data-src": e.image,
|
||||
class: r.image + " " + r.preventClose + " swiper-lazy"
|
||||
};
|
||||
e.title && (o["data-title"] = e.title, o.alt = e.title), e.description && (o["data-description"] = e.description, o.alt += " - " + e.description);
|
||||
const l = i("<img>", o);
|
||||
t.append([l, n]), s.append(t)
|
||||
}
|
||||
e.hash && s.attr("data-e-action-hash", e.hash), c.append(s)
|
||||
}), this.elements.$container = h, this.elements.$header = this.getSlideshowHeader(), h.prepend(this.elements.$header).append(c), !n) {
|
||||
const e = this.isFontIconSvgExperiment ? i(o.chevronLeft.element) : i("<i>", {
|
||||
class: d.prevButtonIcon,
|
||||
"aria-hidden": "true"
|
||||
}),
|
||||
n = this.isFontIconSvgExperiment ? i(o.chevronRight.element) : i("<i>", {
|
||||
class: d.nextButtonIcon,
|
||||
"aria-hidden": "true"
|
||||
}),
|
||||
s = i("<span>", {
|
||||
class: "screen-reader-text"
|
||||
}).html(t.previous),
|
||||
l = i("<span>", {
|
||||
class: "screen-reader-text"
|
||||
}).html(t.next);
|
||||
m = i("<div>", {
|
||||
class: d.prevButton + " " + r.preventClose
|
||||
}).append(e, s), g = i("<div>", {
|
||||
class: d.nextButton + " " + r.preventClose
|
||||
}).append(n, l), h.append(g, m), this.$buttons = this.$buttons.add(g).add(m)
|
||||
}
|
||||
a && (this.elements.$footer = this.getSlideshowFooter(), h.append(this.elements.$footer)), this.setSettings("hideUiTimeout", ""), h.on("click mousemove keypress", this.showLightboxUi);
|
||||
const p = this.getModal();
|
||||
p.setMessage(h);
|
||||
const u = p.onShow;
|
||||
p.onShow = async () => {
|
||||
u();
|
||||
const t = {
|
||||
pagination: {
|
||||
el: "." + d.counter,
|
||||
type: "fraction"
|
||||
},
|
||||
on: {
|
||||
slideChangeTransitionEnd: this.onSlideChange
|
||||
},
|
||||
lazy: {
|
||||
loadPrevNext: !0
|
||||
},
|
||||
zoom: !0,
|
||||
spaceBetween: 100,
|
||||
grabCursor: !0,
|
||||
runCallbacksOnInit: !1,
|
||||
loop: !0,
|
||||
keyboard: !0,
|
||||
handleElementorBreakpoints: !0
|
||||
};
|
||||
n || (t.navigation = {
|
||||
prevEl: m[0],
|
||||
nextEl: g[0]
|
||||
}), e.swiper && i.extend(t, e.swiper);
|
||||
const s = elementorFrontend.utils.swiper;
|
||||
this.swiper = await new s(h, t), h.data("swiper", this.swiper), this.playSlideVideo(), a && this.updateFooterText(), this.bindHotKeys(), this.makeButtonsAccessible()
|
||||
}
|
||||
},
|
||||
makeButtonsAccessible() {
|
||||
this.$buttons.attr("tabindex", 0).on("keypress", e => {
|
||||
13 !== e.which && 32 !== e.which || jQuery(e.currentTarget).trigger("click")
|
||||
})
|
||||
},
|
||||
showLightboxUi() {
|
||||
const e = this.getSettings("classes").slideshow;
|
||||
this.elements.$container.removeClass(e.hideUiVisibility), clearTimeout(this.getSettings("hideUiTimeout")), this.setSettings("hideUiTimeout", setTimeout(() => {
|
||||
this.shareMode || this.elements.$container.addClass(e.hideUiVisibility)
|
||||
}, 3500))
|
||||
},
|
||||
bindHotKeys() {
|
||||
this.getModal().getElements("window").on("keydown", this.activeKeyDown)
|
||||
},
|
||||
unbindHotKeys() {
|
||||
this.getModal().getElements("window").off("keydown", this.activeKeyDown)
|
||||
},
|
||||
activeKeyDown(e) {
|
||||
this.showLightboxUi();
|
||||
if (9 === e.which) {
|
||||
const t = this.$buttons;
|
||||
let i, n = !1,
|
||||
s = !1;
|
||||
t.each(e => {
|
||||
const o = t[e];
|
||||
if (jQuery(o).is(":focus")) return i = o, n = 0 === e, s = t.length - 1 === e, !1
|
||||
}), e.shiftKey ? n && (e.preventDefault(), t.last().trigger("focus")) : !s && i || (e.preventDefault(), t.first().trigger("focus"))
|
||||
}
|
||||
},
|
||||
getSlide(e) {
|
||||
return jQuery(this.swiper.slides).filter(this.getSettings("selectors.slideshow." + e + "Slide"))
|
||||
},
|
||||
updateFooterText() {
|
||||
if (!this.elements.$footer) return;
|
||||
const e = this.getSettings("classes"),
|
||||
t = this.getSlide("active").find(".elementor-lightbox-image"),
|
||||
i = t.data("title"),
|
||||
n = t.data("description"),
|
||||
s = this.elements.$footer.find("." + e.slideshow.title),
|
||||
o = this.elements.$footer.find("." + e.slideshow.description);
|
||||
s.text(i || ""), o.text(n || "")
|
||||
},
|
||||
playSlideVideo() {
|
||||
const e = this.getSlide("active"),
|
||||
t = e.data("elementor-slideshow-video");
|
||||
if (!t) return;
|
||||
const i = this.getSettings("classes"),
|
||||
n = this.getRatioDictionry(this.getSettings("modalOptions.videoAspectRatio")),
|
||||
s = jQuery("<div>", {
|
||||
class: i.videoContainer + " " + i.invisible
|
||||
}),
|
||||
o = jQuery("<div>", {
|
||||
class: `${i.videoWrapper} elementor-video-${this.getRatioType(n)}`,
|
||||
style: "--video-aspect-ratio: " + n
|
||||
}),
|
||||
l = e.children("." + i.playButton);
|
||||
let a, r;
|
||||
s.append(o), e.append(s), -1 !== t.indexOf("vimeo.com") ? (a = "vimeo", r = elementorFrontend.utils.vimeo) : t.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com)/) && (a = "youtube", r = elementorFrontend.utils.youtube);
|
||||
const d = r.getVideoIDFromURL(t);
|
||||
r.onApiReady(e => {
|
||||
"youtube" === a ? this.prepareYTVideo(e, d, s, o, l) : "vimeo" === a && this.prepareVimeoVideo(e, t, s, o, l)
|
||||
}), l.addClass(i.playing).removeClass(i.hidden)
|
||||
},
|
||||
prepareYTVideo(e, t, i, n, s) {
|
||||
const o = this.getSettings("classes"),
|
||||
l = jQuery("<div>");
|
||||
let a = e.PlayerState.PLAYING;
|
||||
n.append(l), window.chrome && (a = e.PlayerState.UNSTARTED), i.addClass("elementor-loading " + o.invisible), this.player = new e.Player(l[0], {
|
||||
videoId: t,
|
||||
events: {
|
||||
onReady: () => {
|
||||
s.addClass(o.hidden), i.removeClass(o.invisible), this.player.playVideo()
|
||||
},
|
||||
onStateChange: e => {
|
||||
e.data === a && i.removeClass("elementor-loading " + o.invisible)
|
||||
}
|
||||
},
|
||||
playerVars: {
|
||||
controls: 0,
|
||||
rel: 0
|
||||
}
|
||||
})
|
||||
},
|
||||
prepareVimeoVideo(e, t, i, n, s) {
|
||||
const o = this.getSettings("classes"),
|
||||
l = {
|
||||
url: t,
|
||||
autoplay: !0,
|
||||
transparent: !1,
|
||||
playsinline: !1,
|
||||
cc_load_policy: !1
|
||||
};
|
||||
this.player = new e.Player(n, l), this.player.ready().then(() => {
|
||||
s.addClass(o.hidden), i.removeClass(o.invisible)
|
||||
})
|
||||
},
|
||||
setEntranceAnimation(e) {
|
||||
e = e || elementorFrontend.getCurrentDeviceSetting(this.getSettings("modalOptions"), "entranceAnimation");
|
||||
const t = this.getModal().getElements("message");
|
||||
this.oldAnimation && t.removeClass(this.oldAnimation), this.oldAnimation = e, e && t.addClass("animated " + e)
|
||||
},
|
||||
openSlideshow(e, t) {
|
||||
const i = jQuery(this.getSettings("selectors.links")).filter((t, i) => {
|
||||
const n = jQuery(i);
|
||||
return e === i.dataset.elementorLightboxSlideshow && !n.parent(".swiper-slide-duplicate").length && !n.parents(".slick-cloned").length
|
||||
}),
|
||||
n = [];
|
||||
let s = 0;
|
||||
i.each(function() {
|
||||
const e = this.dataset.elementorLightboxVideo;
|
||||
let o = this.dataset.elementorLightboxIndex;
|
||||
void 0 === o && (o = i.index(this)), (t === this.href || e && t === e) && (s = o);
|
||||
const l = {
|
||||
image: this.href,
|
||||
index: o,
|
||||
title: this.dataset.elementorLightboxTitle,
|
||||
description: this.dataset.elementorLightboxDescription,
|
||||
hash: this.getAttribute("data-e-action-hash")
|
||||
};
|
||||
e && (l.video = e), n.push(l)
|
||||
}), n.sort((e, t) => e.index - t.index), this.showModal({
|
||||
type: "slideshow",
|
||||
id: e,
|
||||
modalOptions: {
|
||||
id: "elementor-lightbox-slideshow-" + e
|
||||
},
|
||||
slideshow: {
|
||||
slides: n,
|
||||
swiper: {
|
||||
initialSlide: +s
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
onSlideChange() {
|
||||
this.getSlide("prev").add(this.getSlide("next")).add(this.getSlide("active")).find("." + this.getSettings("classes.videoWrapper")).remove(), this.playSlideVideo(), this.updateFooterText()
|
||||
}
|
||||
})
|
||||
},
|
||||
7954: e => {
|
||||
! function() {
|
||||
var t = "undefined" != typeof window && void 0 !== window.document ? window.document : {},
|
||||
i = e.exports,
|
||||
n = function() {
|
||||
for (var e, i = [
|
||||
["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
|
||||
["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"],
|
||||
["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"],
|
||||
["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"],
|
||||
["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
|
||||
], n = 0, s = i.length, o = {}; n < s; n++)
|
||||
if ((e = i[n]) && e[1] in t) {
|
||||
var l = e.length;
|
||||
for (n = 0; n < l; n++) o[i[0][n]] = e[n];
|
||||
return o
|
||||
}
|
||||
return !1
|
||||
}(),
|
||||
s = {
|
||||
change: n.fullscreenchange,
|
||||
error: n.fullscreenerror
|
||||
},
|
||||
o = {
|
||||
request(e) {
|
||||
return new Promise(function(i, s) {
|
||||
var o = function() {
|
||||
this.off("change", o), i()
|
||||
}.bind(this);
|
||||
this.on("change", o), e = e || t.documentElement, Promise.resolve(e[n.requestFullscreen]()).catch(s)
|
||||
}.bind(this))
|
||||
},
|
||||
exit() {
|
||||
return new Promise(function(e, i) {
|
||||
if (this.isFullscreen) {
|
||||
var s = function() {
|
||||
this.off("change", s), e()
|
||||
}.bind(this);
|
||||
this.on("change", s), Promise.resolve(t[n.exitFullscreen]()).catch(i)
|
||||
} else e()
|
||||
}.bind(this))
|
||||
},
|
||||
toggle(e) {
|
||||
return this.isFullscreen ? this.exit() : this.request(e)
|
||||
},
|
||||
onchange(e) {
|
||||
this.on("change", e)
|
||||
},
|
||||
onerror(e) {
|
||||
this.on("error", e)
|
||||
},
|
||||
on(e, i) {
|
||||
var n = s[e];
|
||||
n && t.addEventListener(n, i, !1)
|
||||
},
|
||||
off(e, i) {
|
||||
var n = s[e];
|
||||
n && t.removeEventListener(n, i, !1)
|
||||
},
|
||||
raw: n
|
||||
};
|
||||
n ? (Object.defineProperties(o, {
|
||||
isFullscreen: {
|
||||
get: () => Boolean(t[n.fullscreenElement])
|
||||
},
|
||||
element: {
|
||||
enumerable: !0,
|
||||
get: () => t[n.fullscreenElement]
|
||||
},
|
||||
isEnabled: {
|
||||
enumerable: !0,
|
||||
get: () => Boolean(t[n.fullscreenEnabled])
|
||||
}
|
||||
}), i ? e.exports = o : window.screenfull = o) : i ? e.exports = {
|
||||
isEnabled: !1
|
||||
} : window.screenfull = {
|
||||
isEnabled: !1
|
||||
}
|
||||
}()
|
||||
},
|
||||
9556: (e, t, i) => {
|
||||
var n = i(6784);
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.zoomOutBold = t.zoomInBold = t.twitter = t.shareArrow = t.pinterest = t.loading = t.frameMinimize = t.frameExpand = t.facebook = t.downloadBold = t.close = t.chevronRight = t.chevronLeft = void 0;
|
||||
const s = new(n(i(667)).default)("eicon");
|
||||
t.chevronLeft = {
|
||||
get element() {
|
||||
return s.createSvgElement("chevron-left", {
|
||||
path: "M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.chevronRight = {
|
||||
get element() {
|
||||
return s.createSvgElement("chevron-right", {
|
||||
path: "M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.close = {
|
||||
get element() {
|
||||
return s.createSvgElement("close", {
|
||||
path: "M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.downloadBold = {
|
||||
get element() {
|
||||
return s.createSvgElement("download-bold", {
|
||||
path: "M572 42H428C405 42 385 61 385 85V385H228C197 385 180 424 203 447L475 719C489 732 511 732 524 719L797 447C819 424 803 385 771 385H614V85C615 61 595 42 572 42ZM958 915V715C958 691 939 672 915 672H653L565 760C529 796 471 796 435 760L347 672H85C61 672 42 691 42 715V915C42 939 61 958 85 958H915C939 958 958 939 958 915ZM736 873C736 853 720 837 700 837 681 837 665 853 665 873 665 892 681 908 700 908 720 908 736 892 736 873ZM815 837C835 837 851 853 851 873 851 892 835 908 815 908 795 908 779 892 779 873 779 853 795 837 815 837Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.facebook = {
|
||||
get element() {
|
||||
return s.createSvgElement("facebook", {
|
||||
path: "M858 42H142C88 42 42 87 42 142V863C42 913 88 958 142 958H421V646H292V500H421V387C421 258 496 192 613 192 667 192 725 200 725 200V325H663C600 325 579 362 579 404V500H721L700 646H583V958H863C917 958 963 913 963 858V142C958 87 913 42 858 42L858 42Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.frameExpand = {
|
||||
get element() {
|
||||
return s.createSvgElement("frame-expand", {
|
||||
path: "M863 583C890 583 914 605 916 632L917 637V863L916 868C914 893 893 914 868 916L863 917H638L632 916C607 914 586 893 584 868L583 863 584 857C586 832 607 811 632 809L638 808H808V637L809 632C811 605 835 583 863 583ZM138 583C165 583 189 605 191 632L192 637V808H363C390 808 414 830 416 857L417 863C417 890 395 914 368 916L363 917H138C110 917 86 895 84 868L83 863V637C83 607 108 583 138 583ZM863 83C890 83 914 105 916 132L917 137V362C917 392 893 417 863 417 835 417 811 395 809 368L808 362V192H638C610 192 586 170 584 143L583 137C583 110 605 86 632 84L638 83H863ZM363 83L368 84C393 86 414 107 416 132L417 137 416 143C414 168 393 189 368 191L363 192H192V362L191 368C189 395 165 417 138 417S86 395 84 368L83 362V137L84 132C86 107 107 86 132 84L138 83H363Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.frameMinimize = {
|
||||
get element() {
|
||||
return s.createSvgElement("frame-minimize", {
|
||||
path: "M363 583C392 583 413 604 417 633L417 637V863C417 892 392 917 363 917 333 917 313 896 308 867L308 863V692H138C108 692 88 671 83 642L83 637C83 608 104 587 133 583L138 583H363ZM638 583C608 583 588 604 583 633L583 637V863C583 892 608 917 638 917 667 917 688 896 692 867L692 863V692H863C892 692 913 671 917 642L917 637C917 608 896 587 867 583L863 583H638ZM363 417C392 417 413 396 417 367L417 362V137C417 108 392 83 363 83 333 83 313 104 308 133L308 137V308H138C108 308 88 329 83 358L83 362C83 392 104 412 133 417L138 417H363ZM638 417C608 417 588 396 583 367L583 362V137C583 108 608 83 638 83 667 83 688 104 692 133L692 137V308H863C892 308 913 329 917 358L917 362C917 392 896 412 867 417L863 417H638Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.loading = {
|
||||
get element() {
|
||||
return s.createSvgElement("loading", {
|
||||
path: "M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.pinterest = {
|
||||
get element() {
|
||||
return s.createSvgElement("pinterest", {
|
||||
path: "M950 496C950 746 746 950 496 950 450 950 404 942 363 929 379 900 408 850 421 808 425 787 450 700 450 700 467 729 508 754 554 754 692 754 792 629 792 471 792 321 671 208 513 208 317 208 213 342 213 483 213 550 250 633 304 658 313 662 317 662 321 654 321 650 329 617 333 604 333 600 333 596 329 592 313 567 296 525 296 487 288 387 367 292 496 292 608 292 688 367 688 475 688 600 625 683 546 683 500 683 467 646 479 600 492 546 517 487 517 450 517 417 500 387 458 387 413 387 375 433 375 496 375 537 388 562 388 562S342 754 333 787C325 825 329 883 333 917 163 854 42 687 42 496 42 246 246 42 496 42S950 246 950 496Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.shareArrow = {
|
||||
get element() {
|
||||
return s.createSvgElement("share-arrow", {
|
||||
path: "M946 383L667 133C642 112 604 129 604 162V292C238 296 71 637 42 812 238 587 363 521 604 517V658C604 692 642 708 667 687L946 442C963 425 963 400 946 383Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.twitter = {
|
||||
get element() {
|
||||
return s.createSvgElement("twitter", {
|
||||
path: "M863 312C863 321 863 329 863 337 863 587 675 871 329 871 221 871 125 842 42 787 58 787 71 792 88 792 175 792 254 762 321 712 238 712 171 658 146 583 158 583 171 587 183 587 200 587 217 583 233 579 146 562 83 487 83 396V387C108 400 138 408 167 412 117 379 83 321 83 254 83 221 92 187 108 158 200 271 342 346 496 354 492 342 492 325 492 312 492 208 575 125 679 125 733 125 783 146 817 183 858 175 900 158 938 137 925 179 896 217 854 242 892 237 929 229 963 212 933 250 900 283 863 312Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.zoomInBold = {
|
||||
get element() {
|
||||
return s.createSvgElement("zoom-in-bold", {
|
||||
path: "M388 383V312C388 283 413 258 442 258 471 258 496 283 496 312V383H567C596 383 621 408 621 437S596 492 567 492H496V562C496 592 471 617 442 617 413 617 388 592 388 562V492H317C288 492 263 467 263 437S288 383 317 383H388ZM654 733C592 779 517 804 438 804 233 804 71 642 71 437S233 71 438 71 804 233 804 437C804 521 779 596 733 654L896 817C917 837 917 871 896 892 875 913 842 913 821 892L654 733ZM438 696C579 696 696 579 696 437S579 179 438 179 179 296 179 437 296 696 438 696Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.zoomOutBold = {
|
||||
get element() {
|
||||
return s.createSvgElement("zoom-out-bold", {
|
||||
path: "M750 683L946 879C963 896 963 929 946 946 929 963 896 967 879 946L683 750C617 804 533 833 438 833 221 833 42 654 42 437S221 42 438 42 833 221 833 437C833 529 800 612 750 683ZM296 392H575C600 392 621 412 621 442 621 467 600 487 575 487H296C271 487 250 467 250 442 250 412 271 392 296 392ZM438 737C604 737 738 604 738 437S604 137 438 137 138 271 138 437 271 737 438 737Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]);
|
||||
138
assets/js/mailcheck.min.js
vendored
Normal file
138
assets/js/mailcheck.min.js
vendored
Normal file
@@ -0,0 +1,138 @@
|
||||
/*! mailcheck v1.1.2 @licence MIT */
|
||||
var Mailcheck = {
|
||||
domainThreshold: 2,
|
||||
secondLevelThreshold: 2,
|
||||
topLevelThreshold: 2,
|
||||
defaultDomains: ["msn.com", "bellsouth.net", "telus.net", "comcast.net", "optusnet.com.au", "earthlink.net", "qq.com", "sky.com", "icloud.com", "mac.com", "sympatico.ca", "googlemail.com", "att.net", "xtra.co.nz", "web.de", "cox.net", "gmail.com", "ymail.com", "aim.com", "rogers.com", "verizon.net", "rocketmail.com", "google.com", "optonline.net", "sbcglobal.net", "aol.com", "me.com", "btinternet.com", "charter.net", "shaw.ca"],
|
||||
defaultSecondLevelDomains: ["yahoo", "hotmail", "mail", "live", "outlook", "gmx"],
|
||||
defaultTopLevelDomains: ["com", "com.au", "com.tw", "ca", "co.nz", "co.uk", "de", "fr", "it", "ru", "net", "org", "edu", "gov", "jp", "nl", "kr", "se", "eu", "ie", "co.il", "us", "at", "be", "dk", "hk", "es", "gr", "ch", "no", "cz", "in", "net", "net.au", "info", "biz", "mil", "co.jp", "sg", "hu", "uk"],
|
||||
run: function(a) {
|
||||
a.domains = a.domains || Mailcheck.defaultDomains, a.secondLevelDomains = a.secondLevelDomains || Mailcheck.defaultSecondLevelDomains, a.topLevelDomains = a.topLevelDomains || Mailcheck.defaultTopLevelDomains, a.distanceFunction = a.distanceFunction || Mailcheck.sift4Distance;
|
||||
var b = function(a) {
|
||||
return a
|
||||
},
|
||||
c = a.suggested || b,
|
||||
d = a.empty || b,
|
||||
e = Mailcheck.suggest(Mailcheck.encodeEmail(a.email), a.domains, a.secondLevelDomains, a.topLevelDomains, a.distanceFunction);
|
||||
return e ? c(e) : d()
|
||||
},
|
||||
suggest: function(a, b, c, d, e) {
|
||||
a = a.toLowerCase();
|
||||
var f = this.splitEmail(a);
|
||||
if (c && d && -1 !== c.indexOf(f.secondLevelDomain) && -1 !== d.indexOf(f.topLevelDomain)) return !1;
|
||||
var g = this.findClosestDomain(f.domain, b, e, this.domainThreshold);
|
||||
if (g) return g == f.domain ? !1 : {
|
||||
address: f.address,
|
||||
domain: g,
|
||||
full: f.address + "@" + g
|
||||
};
|
||||
var h = this.findClosestDomain(f.secondLevelDomain, c, e, this.secondLevelThreshold),
|
||||
i = this.findClosestDomain(f.topLevelDomain, d, e, this.topLevelThreshold);
|
||||
if (f.domain) {
|
||||
g = f.domain;
|
||||
var j = !1;
|
||||
if (h && h != f.secondLevelDomain && (g = g.replace(f.secondLevelDomain, h), j = !0), i && i != f.topLevelDomain && "" !== f.secondLevelDomain && (g = g.replace(new RegExp(f.topLevelDomain + "$"), i), j = !0), j) return {
|
||||
address: f.address,
|
||||
domain: g,
|
||||
full: f.address + "@" + g
|
||||
}
|
||||
}
|
||||
return !1
|
||||
},
|
||||
findClosestDomain: function(a, b, c, d) {
|
||||
d = d || this.topLevelThreshold;
|
||||
var e, f = 1 / 0,
|
||||
g = null;
|
||||
if (!a || !b) return !1;
|
||||
c || (c = this.sift4Distance);
|
||||
for (var h = 0; h < b.length; h++) {
|
||||
if (a === b[h]) return a;
|
||||
e = c(a, b[h]), f > e && (f = e, g = b[h])
|
||||
}
|
||||
return d >= f && null !== g ? g : !1
|
||||
},
|
||||
sift4Distance: function(a, b, c) {
|
||||
if (void 0 === c && (c = 5), !a || !a.length) return b ? b.length : 0;
|
||||
if (!b || !b.length) return a.length;
|
||||
for (var d = a.length, e = b.length, f = 0, g = 0, h = 0, i = 0, j = 0, k = []; d > f && e > g;) {
|
||||
if (a.charAt(f) == b.charAt(g)) {
|
||||
i++;
|
||||
for (var l = !1, m = 0; m < k.length;) {
|
||||
var n = k[m];
|
||||
if (f <= n.c1 || g <= n.c2) {
|
||||
l = Math.abs(g - f) >= Math.abs(n.c2 - n.c1), l ? j++ : n.trans || (n.trans = !0, j++);
|
||||
break
|
||||
}
|
||||
f > n.c2 && g > n.c1 ? k.splice(m, 1) : m++
|
||||
}
|
||||
k.push({
|
||||
c1: f,
|
||||
c2: g,
|
||||
trans: l
|
||||
})
|
||||
} else {
|
||||
h += i, i = 0, f != g && (f = g = Math.min(f, g));
|
||||
for (var o = 0; c > o && (d > f + o || e > g + o); o++) {
|
||||
if (d > f + o && a.charAt(f + o) == b.charAt(g)) {
|
||||
f += o - 1, g--;
|
||||
break
|
||||
}
|
||||
if (e > g + o && a.charAt(f) == b.charAt(g + o)) {
|
||||
f--, g += o - 1;
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
f++, g++, (f >= d || g >= e) && (h += i, i = 0, f = g = Math.min(f, g))
|
||||
}
|
||||
return h += i, Math.round(Math.max(d, e) - h + j)
|
||||
},
|
||||
splitEmail: function(a) {
|
||||
a = null !== a ? a.replace(/^\s*/, "").replace(/\s*$/, "") : null;
|
||||
var b = a.split("@");
|
||||
if (b.length < 2) return !1;
|
||||
for (var c = 0; c < b.length; c++)
|
||||
if ("" === b[c]) return !1;
|
||||
var d = b.pop(),
|
||||
e = d.split("."),
|
||||
f = "",
|
||||
g = "";
|
||||
if (0 === e.length) return !1;
|
||||
if (1 == e.length) g = e[0];
|
||||
else {
|
||||
f = e[0];
|
||||
for (var h = 1; h < e.length; h++) g += e[h] + ".";
|
||||
g = g.substring(0, g.length - 1)
|
||||
}
|
||||
return {
|
||||
topLevelDomain: g,
|
||||
secondLevelDomain: f,
|
||||
domain: d,
|
||||
address: b.join("@")
|
||||
}
|
||||
},
|
||||
encodeEmail: function(a) {
|
||||
var b = encodeURI(a);
|
||||
return b = b.replace("%20", " ").replace("%25", "%").replace("%5E", "^").replace("%60", "`").replace("%7B", "{").replace("%7C", "|").replace("%7D", "}")
|
||||
}
|
||||
};
|
||||
"undefined" != typeof module && module.exports && (module.exports = Mailcheck), "function" == typeof define && define.amd && define("mailcheck", [], function() {
|
||||
return Mailcheck
|
||||
}), "undefined" != typeof window && window.jQuery && ! function(a) {
|
||||
a.fn.mailcheck = function(a) {
|
||||
var b = this;
|
||||
if (a.suggested) {
|
||||
var c = a.suggested;
|
||||
a.suggested = function(a) {
|
||||
c(b, a)
|
||||
}
|
||||
}
|
||||
if (a.empty) {
|
||||
var d = a.empty;
|
||||
a.empty = function() {
|
||||
d.call(null, b)
|
||||
}
|
||||
}
|
||||
a.email = this.val(), Mailcheck.run(a)
|
||||
}
|
||||
}(jQuery);
|
||||
75
assets/js/order-attribution.min.js
vendored
Normal file
75
assets/js/order-attribution.min.js
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
! function(t) {
|
||||
"use strict";
|
||||
const e = t.params,
|
||||
n = (document.querySelector.bind(document), (t, e) => e.split(".").reduce((t, e) => t && t[e], t)),
|
||||
s = () => null,
|
||||
i = t => null === t || t === undefined ? "" : t,
|
||||
o = "wc/store/checkout";
|
||||
|
||||
function a(t) {
|
||||
window.wp && window.wp.data && window.wp.data.dispatch && window.wc && window.wc.wcBlocksData && window.wp.data.dispatch(window.wc.wcBlocksData.CHECKOUT_STORE_KEY).setExtensionData("woocommerce/order-attribution", t, !0)
|
||||
}
|
||||
|
||||
function r() {
|
||||
return "undefined" != typeof sbjs
|
||||
}
|
||||
|
||||
function c() {
|
||||
if (window.wp && window.wp.data && "function" == typeof window.wp.data.subscribe) {
|
||||
const e = window.wp.data.subscribe(function() {
|
||||
e(), a(t.getAttributionData())
|
||||
}, o)
|
||||
}
|
||||
}
|
||||
t.getAttributionData = function() {
|
||||
const i = e.allowTracking && r() ? n : s,
|
||||
o = r() ? sbjs.get : {},
|
||||
a = Object.entries(t.fields).map(([t, e]) => [t, i(o, e)]);
|
||||
return Object.fromEntries(a)
|
||||
}, t.setOrderTracking = function(n) {
|
||||
if (e.allowTracking = n, n) {
|
||||
if (!r()) return;
|
||||
sbjs.init({
|
||||
lifetime: Number(e.lifetime),
|
||||
session_length: Number(e.session),
|
||||
base64: Boolean(e.base64),
|
||||
timezone_offset: "0"
|
||||
})
|
||||
} else ! function() {
|
||||
const t = window.location.hostname;
|
||||
["sbjs_current", "sbjs_current_add", "sbjs_first", "sbjs_first_add", "sbjs_session", "sbjs_udata", "sbjs_migrations", "sbjs_promo"].forEach(e => {
|
||||
document.cookie = `${e}=; path=/; max-age=-999; domain=.${t};`
|
||||
})
|
||||
}();
|
||||
const s = t.getAttributionData();
|
||||
! function(t) {
|
||||
for (const e of document.querySelectorAll("wc-order-attribution-inputs")) e.values = t
|
||||
}(s), a(s)
|
||||
}, t.setOrderTracking(e.allowTracking), "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", c) : c(), window.customElements.define("wc-order-attribution-inputs", class extends HTMLElement {
|
||||
constructor() {
|
||||
if (super(), this._fieldNames = Object.keys(t.fields), this.hasOwnProperty("_values")) {
|
||||
let t = this.values;
|
||||
delete this.values, this.values = t || {}
|
||||
}
|
||||
}
|
||||
connectedCallback() {
|
||||
this.innerHTML = "";
|
||||
const t = new DocumentFragment;
|
||||
for (const n of this._fieldNames) {
|
||||
const s = document.createElement("input");
|
||||
s.type = "hidden", s.name = `${e.prefix}${n}`, s.value = i(this.values && this.values[n] || ""), t.appendChild(s)
|
||||
}
|
||||
this.appendChild(t)
|
||||
}
|
||||
set values(t) {
|
||||
if (this._values = t, this.isConnected)
|
||||
for (const t of this._fieldNames) {
|
||||
const n = this.querySelector(`input[name="${e.prefix}${t}"]`);
|
||||
n ? n.value = i(this.values[t]) : console.warn(`Field "${t}" not found. ` + "Most likely, the '<wc-order-attribution-inputs>' element was manipulated.")
|
||||
}
|
||||
}
|
||||
get values() {
|
||||
return this._values
|
||||
}
|
||||
})
|
||||
}(window.wc_order_attribution);
|
||||
1034
assets/js/owl.carousel.min.js
vendored
Normal file
1034
assets/js/owl.carousel.min.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
62
assets/js/punycode.min.js
vendored
Normal file
62
assets/js/punycode.min.js
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
"use strict";
|
||||
var punycode = new function() {
|
||||
this.utf16 = {
|
||||
decode: function(r) {
|
||||
for (var e, o, t = [], n = 0, f = r.length; n < f;) {
|
||||
if (55296 == (63488 & (e = r.charCodeAt(n++)))) {
|
||||
if (o = r.charCodeAt(n++), 55296 != (64512 & e) || 56320 != (64512 & o)) throw new RangeError("UTF-16(decode): Illegal UTF-16 sequence");
|
||||
e = ((1023 & e) << 10) + (1023 & o) + 65536
|
||||
}
|
||||
t.push(e)
|
||||
}
|
||||
return t
|
||||
},
|
||||
encode: function(r) {
|
||||
for (var e, o = [], t = 0, n = r.length; t < n;) {
|
||||
if (55296 == (63488 & (e = r[t++]))) throw new RangeError("UTF-16(encode): Illegal UTF-16 value");
|
||||
65535 < e && (e -= 65536, o.push(String.fromCharCode(e >>> 10 & 1023 | 55296)), e = 56320 | 1023 & e), o.push(String.fromCharCode(e))
|
||||
}
|
||||
return o.join("")
|
||||
}
|
||||
};
|
||||
var v = 36,
|
||||
A = 2147483647;
|
||||
this.decode = function(r, e) {
|
||||
var o, t, n, f, h, a, i, c, l = [],
|
||||
u = [],
|
||||
d = r.length,
|
||||
s = 128,
|
||||
g = 0,
|
||||
C = 72,
|
||||
p = r.lastIndexOf("-");
|
||||
for (p < 0 && (p = 0), t = 0; t < p; ++t) {
|
||||
if (e && (u[l.length] = r.charCodeAt(t) - 65 < 26), 128 <= r.charCodeAt(t)) throw new RangeError("Illegal input >= 0x80");
|
||||
l.push(r.charCodeAt(t))
|
||||
}
|
||||
for (n = 0 < p ? p + 1 : 0; n < d;) {
|
||||
for (f = g, h = 1, a = v;; a += v) {
|
||||
if (d <= n) return;
|
||||
if (c = r.charCodeAt(n++), v <= (c = c - 48 < 10 ? c - 22 : c - 65 < 26 ? c - 65 : c - 97 < 26 ? c - 97 : v)) return;
|
||||
if (c > Math.floor((A - g) / h)) return;
|
||||
if (g += c * h, c < (c = a <= C ? 1 : C + 26 <= a ? 26 : a - C)) break;
|
||||
if (h > Math.floor(A / (v - c))) return;
|
||||
h *= v - c
|
||||
}
|
||||
if (C = function(r, e, o) {
|
||||
var t;
|
||||
for (r = o ? Math.floor(r / 700) : r >> 1, r += Math.floor(r / e), t = 0; 455 < r; t += v) r = Math.floor(r / 35);
|
||||
return Math.floor(t + 36 * r / (r + 38))
|
||||
}(g - f, o = l.length + 1, 0 === f), Math.floor(g / o) > A - s) return;
|
||||
s += Math.floor(g / o), g %= o, e && u.splice(g, 0, r.charCodeAt(n - 1) - 65 < 26), l.splice(g, 0, s), g++
|
||||
}
|
||||
if (e)
|
||||
for (g = 0, i = l.length; g < i; g++) u[g] && (l[g] = String.fromCharCode(l[g]).toUpperCase().charCodeAt(0));
|
||||
return this.utf16.encode(l)
|
||||
}, this.toUnicode = function(r) {
|
||||
for (var e = r.split("."), o = [], t = 0; t < e.length; ++t) {
|
||||
var n = e[t];
|
||||
o.push(n.match(/^xn--/) ? punycode.decode(n.slice(4)) : n)
|
||||
}
|
||||
return o.join(".")
|
||||
}
|
||||
};
|
||||
82
assets/js/share-link.min.js
vendored
Normal file
82
assets/js/share-link.min.js
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
! function(t) {
|
||||
window.ShareLink = function(e, r) {
|
||||
var i, n = {},
|
||||
l = function(t) {
|
||||
var e = "";
|
||||
if (n.width && n.height) {
|
||||
var r = screen.width / 2 - n.width / 2,
|
||||
i = screen.height / 2 - n.height / 2;
|
||||
e = "toolbar=0,status=0,width=" + n.width + ",height=" + n.height + ",top=" + i + ",left=" + r
|
||||
}
|
||||
var l = ShareLink.getNetworkLink(t, n),
|
||||
s = /^https?:\/\//.test(l);
|
||||
open(l, s ? "" : "_self", e)
|
||||
},
|
||||
s = function() {
|
||||
t.each(e.classList, (function() {
|
||||
var t, e = (t = this).substr(0, n.classPrefixLength) === n.classPrefix ? t.substr(n.classPrefixLength) : null;
|
||||
if (e) return function(t) {
|
||||
i.on("click", (function() {
|
||||
l(t)
|
||||
})), "button" === i.attr("role") && i.on("keyup", (e => {
|
||||
13 !== e.keyCode && 32 !== e.keyCode || (e.preventDefault(), l(t))
|
||||
}))
|
||||
}(e), !1
|
||||
}))
|
||||
};
|
||||
t.extend(n, ShareLink.defaultSettings, r), ["title", "text"].forEach((function(t) {
|
||||
n[t] = n[t].replace("#", "")
|
||||
})), n.classPrefixLength = n.classPrefix.length, i = t(e), s()
|
||||
}, ShareLink.networkTemplates = {
|
||||
twitter: "https://twitter.com/intent/tweet?text={text} {url}",
|
||||
"x-twitter": "https://x.com/intent/tweet?text={text} {url}",
|
||||
pinterest: "https://www.pinterest.com/pin/create/button/?url={url}&media={image}",
|
||||
facebook: "https://www.facebook.com/sharer.php?u={url}",
|
||||
threads: "https://threads.net/intent/post?text={text} {url}",
|
||||
vk: "https://vkontakte.ru/share.php?url={url}&title={title}&description={text}&image={image}",
|
||||
linkedin: "https://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}&summary={text}&source={url}",
|
||||
odnoklassniki: "https://connect.ok.ru/offer?url={url}&title={title}&imageUrl={image}",
|
||||
tumblr: "https://tumblr.com/share/link?url={url}",
|
||||
google: "https://plus.google.com/share?url={url}",
|
||||
digg: "https://digg.com/submit?url={url}",
|
||||
reddit: "https://reddit.com/submit?url={url}&title={title}",
|
||||
stumbleupon: "https://www.stumbleupon.com/submit?url={url}",
|
||||
pocket: "https://getpocket.com/edit?url={url}",
|
||||
whatsapp: "https://api.whatsapp.com/send?text=*{title}*%0A{text}%0A{url}",
|
||||
xing: "https://www.xing.com/spi/shares/new?url={url}",
|
||||
print: "javascript:print()",
|
||||
email: "mailto:?subject={title}&body={text}%0A{url}",
|
||||
telegram: "https://telegram.me/share/url?url={url}&text={text}",
|
||||
skype: "https://web.skype.com/share?url={url}"
|
||||
}, ShareLink.defaultSettings = {
|
||||
title: "",
|
||||
text: "",
|
||||
image: "",
|
||||
url: location.href,
|
||||
classPrefix: "s_",
|
||||
width: 640,
|
||||
height: 480
|
||||
}, ShareLink.getNetworkLink = function(t, e) {
|
||||
var r = ShareLink.networkTemplates[t].replace(/{([^}]+)}/g, (function(t, r) {
|
||||
return e[r] || ""
|
||||
}));
|
||||
if ("email" === t) {
|
||||
if (-1 < e.title.indexOf("&") || -1 < e.text.indexOf("&")) {
|
||||
var i = {
|
||||
text: e.text.replace(new RegExp("&", "g"), "%26"),
|
||||
title: e.title.replace(new RegExp("&", "g"), "%26"),
|
||||
url: e.url
|
||||
};
|
||||
r = ShareLink.networkTemplates[t].replace(/{([^}]+)}/g, (function(t, e) {
|
||||
return i[e]
|
||||
}))
|
||||
}
|
||||
return r.indexOf("?subject=&body") && (r = r.replace("subject=&", "")), r
|
||||
}
|
||||
return r
|
||||
}, t.fn.shareLink = function(e) {
|
||||
return this.each((function() {
|
||||
t(this).data("shareLink", new ShareLink(this, e))
|
||||
}))
|
||||
}
|
||||
}(jQuery);
|
||||
268
assets/js/shared-frontend-handlers.4c8abccc3e268b0767b2.bundle.min.js
vendored
Normal file
268
assets/js/shared-frontend-handlers.4c8abccc3e268b0767b2.bundle.min.js
vendored
Normal file
@@ -0,0 +1,268 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
"use strict";
|
||||
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([
|
||||
[557], {
|
||||
628: (e, t, i) => {
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.default = void 0, i(4846), i(9655);
|
||||
class BackgroundSlideshow extends elementorModules.frontend.handlers.SwiperBase {
|
||||
getDefaultSettings() {
|
||||
return {
|
||||
classes: {
|
||||
swiperContainer: "elementor-background-slideshow swiper",
|
||||
swiperWrapper: "swiper-wrapper",
|
||||
swiperSlide: "elementor-background-slideshow__slide swiper-slide",
|
||||
swiperPreloader: "swiper-lazy-preloader",
|
||||
slideBackground: "elementor-background-slideshow__slide__image",
|
||||
kenBurns: "elementor-ken-burns",
|
||||
kenBurnsActive: "elementor-ken-burns--active",
|
||||
kenBurnsIn: "elementor-ken-burns--in",
|
||||
kenBurnsOut: "elementor-ken-burns--out"
|
||||
}
|
||||
}
|
||||
}
|
||||
getSwiperOptions() {
|
||||
const e = this.getElementSettings(),
|
||||
t = {
|
||||
grabCursor: !1,
|
||||
slidesPerView: 1,
|
||||
slidesPerGroup: 1,
|
||||
loop: "yes" === e.background_slideshow_loop,
|
||||
speed: e.background_slideshow_transition_duration,
|
||||
autoplay: {
|
||||
delay: e.background_slideshow_slide_duration,
|
||||
stopOnLastSlide: !e.background_slideshow_loop
|
||||
},
|
||||
handleElementorBreakpoints: !0,
|
||||
on: {
|
||||
slideChange: () => {
|
||||
e.background_slideshow_ken_burns && this.handleKenBurns()
|
||||
}
|
||||
}
|
||||
};
|
||||
switch ("yes" === e.background_slideshow_loop && (t.loopedSlides = this.getSlidesCount()), e.background_slideshow_slide_transition) {
|
||||
case "fade":
|
||||
t.effect = "fade", t.fadeEffect = {
|
||||
crossFade: !0
|
||||
};
|
||||
break;
|
||||
case "slide_down":
|
||||
t.autoplay.reverseDirection = !0, t.direction = "vertical";
|
||||
break;
|
||||
case "slide_up":
|
||||
t.direction = "vertical"
|
||||
}
|
||||
return "yes" === e.background_slideshow_lazyload && (t.lazy = {
|
||||
loadPrevNext: !0,
|
||||
loadPrevNextAmount: 1
|
||||
}), t
|
||||
}
|
||||
buildSwiperElements() {
|
||||
const e = this.getSettings("classes"),
|
||||
t = this.getElementSettings(),
|
||||
i = "slide_left" === t.background_slideshow_slide_transition ? "ltr" : "rtl",
|
||||
o = jQuery("<div>", {
|
||||
class: e.swiperContainer,
|
||||
dir: i
|
||||
}),
|
||||
n = jQuery("<div>", {
|
||||
class: e.swiperWrapper
|
||||
}),
|
||||
s = t.background_slideshow_ken_burns,
|
||||
r = "yes" === t.background_slideshow_lazyload;
|
||||
let d = e.slideBackground;
|
||||
if (s) {
|
||||
d += " " + e.kenBurns;
|
||||
const i = "in" === t.background_slideshow_ken_burns_zoom_direction ? "kenBurnsIn" : "kenBurnsOut";
|
||||
d += " " + e[i]
|
||||
}
|
||||
r && (d += " swiper-lazy"), this.elements.$slides = jQuery(), t.background_slideshow_gallery.forEach(t => {
|
||||
const i = jQuery("<div>", {
|
||||
class: e.swiperSlide
|
||||
});
|
||||
let o;
|
||||
if (r) {
|
||||
const i = jQuery("<div>", {
|
||||
class: e.swiperPreloader
|
||||
});
|
||||
o = jQuery("<div>", {
|
||||
class: d,
|
||||
"data-background": t.url
|
||||
}), o.append(i)
|
||||
} else o = jQuery("<div>", {
|
||||
class: d,
|
||||
style: 'background-image: url("' + t.url + '");'
|
||||
});
|
||||
i.append(o), n.append(i), this.elements.$slides = this.elements.$slides.add(i)
|
||||
}), o.append(n), this.$element.prepend(o), this.elements.$backgroundSlideShowContainer = o
|
||||
}
|
||||
async initSlider() {
|
||||
if (1 >= this.getSlidesCount()) return;
|
||||
const e = this.getElementSettings(),
|
||||
t = elementorFrontend.utils.swiper;
|
||||
this.swiper = await new t(this.elements.$backgroundSlideShowContainer, this.getSwiperOptions()), this.elements.$backgroundSlideShowContainer.data("swiper", this.swiper), e.background_slideshow_ken_burns && this.handleKenBurns()
|
||||
}
|
||||
activate() {
|
||||
this.buildSwiperElements(), this.initSlider()
|
||||
}
|
||||
deactivate() {
|
||||
this.swiper && (this.swiper.destroy(), this.elements.$backgroundSlideShowContainer.remove())
|
||||
}
|
||||
run() {
|
||||
"slideshow" === this.getElementSettings("background_background") ? this.activate() : this.deactivate()
|
||||
}
|
||||
onInit() {
|
||||
super.onInit(), this.getElementSettings("background_slideshow_gallery") && this.run()
|
||||
}
|
||||
onDestroy() {
|
||||
super.onDestroy(), this.deactivate()
|
||||
}
|
||||
onElementChange(e) {
|
||||
"background_background" === e && this.run()
|
||||
}
|
||||
}
|
||||
t.default = BackgroundSlideshow
|
||||
},
|
||||
3031: (e, t, i) => {
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.default = void 0, i(4846), i(6211);
|
||||
class BackgroundVideo extends elementorModules.frontend.handlers.Base {
|
||||
getDefaultSettings() {
|
||||
return {
|
||||
selectors: {
|
||||
backgroundVideoContainer: ".elementor-background-video-container",
|
||||
backgroundVideoEmbed: ".elementor-background-video-embed",
|
||||
backgroundVideoHosted: ".elementor-background-video-hosted"
|
||||
}
|
||||
}
|
||||
}
|
||||
getDefaultElements() {
|
||||
const e = this.getSettings("selectors"),
|
||||
t = {
|
||||
$backgroundVideoContainer: this.$element.find(e.backgroundVideoContainer)
|
||||
};
|
||||
return t.$backgroundVideoEmbed = t.$backgroundVideoContainer.children(e.backgroundVideoEmbed), t.$backgroundVideoHosted = t.$backgroundVideoContainer.children(e.backgroundVideoHosted), t
|
||||
}
|
||||
calcVideosSize(e) {
|
||||
let t = "16:9";
|
||||
"vimeo" === this.videoType && (t = e[0].width + ":" + e[0].height);
|
||||
const i = this.elements.$backgroundVideoContainer.outerWidth(),
|
||||
o = this.elements.$backgroundVideoContainer.outerHeight(),
|
||||
n = t.split(":"),
|
||||
s = n[0] / n[1],
|
||||
r = i / o > s;
|
||||
return {
|
||||
width: r ? i : o * s,
|
||||
height: r ? i / s : o
|
||||
}
|
||||
}
|
||||
changeVideoSize() {
|
||||
if ("hosted" !== this.videoType && !this.player) return;
|
||||
let e;
|
||||
if ("youtube" === this.videoType ? e = jQuery(this.player.getIframe()) : "vimeo" === this.videoType ? e = jQuery(this.player.element) : "hosted" === this.videoType && (e = this.elements.$backgroundVideoHosted), !e) return;
|
||||
const t = this.calcVideosSize(e);
|
||||
e.width(t.width).height(t.height)
|
||||
}
|
||||
startVideoLoop(e) {
|
||||
if (!this.player.getIframe().contentWindow) return;
|
||||
const t = this.getElementSettings(),
|
||||
i = t.background_video_start || 0,
|
||||
o = t.background_video_end;
|
||||
if (!t.background_play_once || e) {
|
||||
if (this.player.seekTo(i), o) {
|
||||
setTimeout(() => {
|
||||
this.startVideoLoop(!1)
|
||||
}, 1e3 * (o - i + 1))
|
||||
}
|
||||
} else this.player.stopVideo()
|
||||
}
|
||||
prepareVimeoVideo(e, t) {
|
||||
const i = this.getElementSettings(),
|
||||
o = {
|
||||
url: t,
|
||||
width: this.elements.$backgroundVideoContainer.outerWidth().width,
|
||||
autoplay: !0,
|
||||
loop: !i.background_play_once,
|
||||
transparent: !0,
|
||||
background: !0,
|
||||
muted: !0
|
||||
};
|
||||
i.background_privacy_mode && (o.dnt = !0), this.player = new e.Player(this.elements.$backgroundVideoContainer, o), this.handleVimeoStartEndTimes(i), this.player.ready().then(() => {
|
||||
jQuery(this.player.element).addClass("elementor-background-video-embed"), this.changeVideoSize()
|
||||
})
|
||||
}
|
||||
handleVimeoStartEndTimes(e) {
|
||||
e.background_video_start && this.player.on("play", t => {
|
||||
0 === t.seconds && this.player.setCurrentTime(e.background_video_start)
|
||||
}), this.player.on("timeupdate", t => {
|
||||
e.background_video_end && e.background_video_end < t.seconds && (e.background_play_once ? this.player.pause() : this.player.setCurrentTime(e.background_video_start)), this.player.getDuration().then(i => {
|
||||
e.background_video_start && !e.background_video_end && t.seconds > i - .5 && this.player.setCurrentTime(e.background_video_start)
|
||||
})
|
||||
})
|
||||
}
|
||||
prepareYTVideo(e, t) {
|
||||
const i = this.elements.$backgroundVideoContainer,
|
||||
o = this.getElementSettings();
|
||||
let n = e.PlayerState.PLAYING;
|
||||
window.chrome && (n = e.PlayerState.UNSTARTED);
|
||||
const s = {
|
||||
videoId: t,
|
||||
events: {
|
||||
onReady: () => {
|
||||
this.player.mute(), this.changeVideoSize(), this.startVideoLoop(!0), this.player.playVideo()
|
||||
},
|
||||
onStateChange: t => {
|
||||
switch (t.data) {
|
||||
case n:
|
||||
i.removeClass("elementor-invisible elementor-loading");
|
||||
break;
|
||||
case e.PlayerState.ENDED:
|
||||
"function" == typeof this.player.seekTo && this.player.seekTo(o.background_video_start || 0), o.background_play_once && this.player.destroy()
|
||||
}
|
||||
}
|
||||
},
|
||||
playerVars: {
|
||||
controls: 0,
|
||||
rel: 0,
|
||||
playsinline: 1,
|
||||
cc_load_policy: 0
|
||||
}
|
||||
};
|
||||
o.background_privacy_mode && (s.host = "https://www.youtube-nocookie.com", s.origin = window.location.hostname), i.addClass("elementor-loading elementor-invisible"), this.player = new e.Player(this.elements.$backgroundVideoEmbed[0], s)
|
||||
}
|
||||
activate() {
|
||||
let e, t = this.getElementSettings("background_video_link");
|
||||
const i = this.getElementSettings("background_play_once");
|
||||
if (-1 !== t.indexOf("vimeo.com") ? (this.videoType = "vimeo", this.apiProvider = elementorFrontend.utils.vimeo) : t.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com)/) && (this.videoType = "youtube", this.apiProvider = elementorFrontend.utils.youtube), this.apiProvider) e = this.apiProvider.getVideoIDFromURL(t), this.apiProvider.onApiReady(i => {
|
||||
"youtube" === this.videoType && this.prepareYTVideo(i, e), "vimeo" === this.videoType && this.prepareVimeoVideo(i, t)
|
||||
});
|
||||
else {
|
||||
this.videoType = "hosted";
|
||||
const e = this.getElementSettings("background_video_start"),
|
||||
o = this.getElementSettings("background_video_end");
|
||||
(e || o) && (t += "#t=" + (e || 0) + (o ? "," + o : "")), this.elements.$backgroundVideoHosted.attr("src", t).one("canplay", this.changeVideoSize.bind(this)), i && this.elements.$backgroundVideoHosted.on("ended", () => {
|
||||
this.elements.$backgroundVideoHosted.hide()
|
||||
})
|
||||
}
|
||||
elementorFrontend.elements.$window.on("resize elementor/bg-video/recalc", this.changeVideoSize)
|
||||
}
|
||||
deactivate() {
|
||||
"youtube" === this.videoType && this.player.getIframe() || "vimeo" === this.videoType ? this.player.destroy() : this.elements.$backgroundVideoHosted.removeAttr("src").off("ended"), elementorFrontend.elements.$window.off("resize", this.changeVideoSize)
|
||||
}
|
||||
run() {
|
||||
const e = this.getElementSettings();
|
||||
(e.background_play_on_mobile || "mobile" !== elementorFrontend.getCurrentDeviceMode()) && ("video" === e.background_background && e.background_video_link ? this.activate() : this.deactivate())
|
||||
}
|
||||
onInit() {
|
||||
super.onInit(...arguments), this.changeVideoSize = this.changeVideoSize.bind(this), this.run()
|
||||
}
|
||||
onElementChange(e) {
|
||||
"background_background" === e && this.run()
|
||||
}
|
||||
}
|
||||
t.default = BackgroundVideo
|
||||
}
|
||||
}
|
||||
]);
|
||||
675
assets/js/slick.min.js
vendored
Normal file
675
assets/js/slick.min.js
vendored
Normal file
@@ -0,0 +1,675 @@
|
||||
/*
|
||||
_ _ _ _
|
||||
___| (_) ___| | __ (_)___
|
||||
/ __| | |/ __| |/ / | / __|
|
||||
\__ \ | | (__| < _ | \__ \
|
||||
|___/_|_|\___|_|\_(_)/ |___/
|
||||
|__/
|
||||
|
||||
Version: 1.6.0
|
||||
Author: Ken Wheeler
|
||||
Website: http://kenwheeler.github.io
|
||||
Docs: http://kenwheeler.github.io/slick
|
||||
Repo: http://github.com/kenwheeler/slick
|
||||
Issues: http://github.com/kenwheeler/slick/issues
|
||||
|
||||
*/
|
||||
! function(a) {
|
||||
"use strict";
|
||||
"function" == typeof define && define.amd ? define(["jquery"], a) : "undefined" != typeof exports ? module.exports = a(require("jquery")) : a(jQuery)
|
||||
}(function(a) {
|
||||
"use strict";
|
||||
var b = window.Slick || {};
|
||||
b = function() {
|
||||
function c(c, d) {
|
||||
var f, e = this;
|
||||
e.defaults = {
|
||||
accessibility: !0,
|
||||
adaptiveHeight: !1,
|
||||
appendArrows: a(c),
|
||||
appendDots: a(c),
|
||||
arrows: !0,
|
||||
asNavFor: null,
|
||||
prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
|
||||
nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
|
||||
autoplay: !1,
|
||||
autoplaySpeed: 3e3,
|
||||
centerMode: !1,
|
||||
centerPadding: "50px",
|
||||
cssEase: "ease",
|
||||
customPaging: function(b, c) {
|
||||
return a('<button type="button" data-role="none" role="button" tabindex="0" />').text(c + 1)
|
||||
},
|
||||
dots: !1,
|
||||
dotsClass: "slick-dots",
|
||||
draggable: !0,
|
||||
easing: "linear",
|
||||
edgeFriction: .35,
|
||||
fade: !1,
|
||||
focusOnSelect: !1,
|
||||
infinite: !0,
|
||||
initialSlide: 0,
|
||||
lazyLoad: "ondemand",
|
||||
mobileFirst: !1,
|
||||
pauseOnHover: !0,
|
||||
pauseOnFocus: !0,
|
||||
pauseOnDotsHover: !1,
|
||||
respondTo: "window",
|
||||
responsive: null,
|
||||
rows: 1,
|
||||
rtl: !1,
|
||||
slide: "",
|
||||
slidesPerRow: 1,
|
||||
slidesToShow: 1,
|
||||
slidesToScroll: 1,
|
||||
speed: 500,
|
||||
swipe: !0,
|
||||
swipeToSlide: !1,
|
||||
touchMove: !0,
|
||||
touchThreshold: 5,
|
||||
useCSS: !0,
|
||||
useTransform: !0,
|
||||
variableWidth: !1,
|
||||
vertical: !1,
|
||||
verticalSwiping: !1,
|
||||
waitForAnimate: !0,
|
||||
zIndex: 1e3
|
||||
}, e.initials = {
|
||||
animating: !1,
|
||||
dragging: !1,
|
||||
autoPlayTimer: null,
|
||||
currentDirection: 0,
|
||||
currentLeft: null,
|
||||
currentSlide: 0,
|
||||
direction: 1,
|
||||
$dots: null,
|
||||
listWidth: null,
|
||||
listHeight: null,
|
||||
loadIndex: 0,
|
||||
$nextArrow: null,
|
||||
$prevArrow: null,
|
||||
slideCount: null,
|
||||
slideWidth: null,
|
||||
$slideTrack: null,
|
||||
$slides: null,
|
||||
sliding: !1,
|
||||
slideOffset: 0,
|
||||
swipeLeft: null,
|
||||
$list: null,
|
||||
touchObject: {},
|
||||
transformsEnabled: !1,
|
||||
unslicked: !1
|
||||
}, a.extend(e, e.initials), e.activeBreakpoint = null, e.animType = null, e.animProp = null, e.breakpoints = [], e.breakpointSettings = [], e.cssTransitions = !1, e.focussed = !1, e.interrupted = !1, e.hidden = "hidden", e.paused = !0, e.positionProp = null, e.respondTo = null, e.rowCount = 1, e.shouldClick = !0, e.$slider = a(c), e.$slidesCache = null, e.transformType = null, e.transitionType = null, e.visibilityChange = "visibilitychange", e.windowWidth = 0, e.windowTimer = null, f = a(c).data("slick") || {}, e.options = a.extend({}, e.defaults, d, f), e.currentSlide = e.options.initialSlide, e.originalSettings = e.options, "undefined" != typeof document.mozHidden ? (e.hidden = "mozHidden", e.visibilityChange = "mozvisibilitychange") : "undefined" != typeof document.webkitHidden && (e.hidden = "webkitHidden", e.visibilityChange = "webkitvisibilitychange"), e.autoPlay = a.proxy(e.autoPlay, e), e.autoPlayClear = a.proxy(e.autoPlayClear, e), e.autoPlayIterator = a.proxy(e.autoPlayIterator, e), e.changeSlide = a.proxy(e.changeSlide, e), e.clickHandler = a.proxy(e.clickHandler, e), e.selectHandler = a.proxy(e.selectHandler, e), e.setPosition = a.proxy(e.setPosition, e), e.swipeHandler = a.proxy(e.swipeHandler, e), e.dragHandler = a.proxy(e.dragHandler, e), e.keyHandler = a.proxy(e.keyHandler, e), e.instanceUid = b++, e.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, e.registerBreakpoints(), e.init(!0)
|
||||
}
|
||||
var b = 0;
|
||||
return c
|
||||
}(), b.prototype.activateADA = function() {
|
||||
var a = this;
|
||||
a.$slideTrack.find(".slick-active").attr({
|
||||
"aria-hidden": "false"
|
||||
}).find("a, input, button, select").attr({
|
||||
tabindex: "0"
|
||||
})
|
||||
}, b.prototype.addSlide = b.prototype.slickAdd = function(b, c, d) {
|
||||
var e = this;
|
||||
if ("boolean" == typeof c) d = c, c = null;
|
||||
else if (0 > c || c >= e.slideCount) return !1;
|
||||
e.unload(), "number" == typeof c ? 0 === c && 0 === e.$slides.length ? a(b).appendTo(e.$slideTrack) : d ? a(b).insertBefore(e.$slides.eq(c)) : a(b).insertAfter(e.$slides.eq(c)) : d === !0 ? a(b).prependTo(e.$slideTrack) : a(b).appendTo(e.$slideTrack), e.$slides = e.$slideTrack.children(this.options.slide), e.$slideTrack.children(this.options.slide).detach(), e.$slideTrack.append(e.$slides), e.$slides.each(function(b, c) {
|
||||
a(c).attr("data-slick-index", b)
|
||||
}), e.$slidesCache = e.$slides, e.reinit()
|
||||
}, b.prototype.animateHeight = function() {
|
||||
var a = this;
|
||||
if (1 === a.options.slidesToShow && a.options.adaptiveHeight === !0 && a.options.vertical === !1) {
|
||||
var b = a.$slides.eq(a.currentSlide).outerHeight(!0);
|
||||
a.$list.animate({
|
||||
height: b
|
||||
}, a.options.speed)
|
||||
}
|
||||
}, b.prototype.animateSlide = function(b, c) {
|
||||
var d = {},
|
||||
e = this;
|
||||
e.animateHeight(), e.options.rtl === !0 && e.options.vertical === !1 && (b = -b), e.transformsEnabled === !1 ? e.options.vertical === !1 ? e.$slideTrack.animate({
|
||||
left: b
|
||||
}, e.options.speed, e.options.easing, c) : e.$slideTrack.animate({
|
||||
top: b
|
||||
}, e.options.speed, e.options.easing, c) : e.cssTransitions === !1 ? (e.options.rtl === !0 && (e.currentLeft = -e.currentLeft), a({
|
||||
animStart: e.currentLeft
|
||||
}).animate({
|
||||
animStart: b
|
||||
}, {
|
||||
duration: e.options.speed,
|
||||
easing: e.options.easing,
|
||||
step: function(a) {
|
||||
a = Math.ceil(a), e.options.vertical === !1 ? (d[e.animType] = "translate(" + a + "px, 0px)", e.$slideTrack.css(d)) : (d[e.animType] = "translate(0px," + a + "px)", e.$slideTrack.css(d))
|
||||
},
|
||||
complete: function() {
|
||||
c && c.call()
|
||||
}
|
||||
})) : (e.applyTransition(), b = Math.ceil(b), e.options.vertical === !1 ? d[e.animType] = "translate3d(" + b + "px, 0px, 0px)" : d[e.animType] = "translate3d(0px," + b + "px, 0px)", e.$slideTrack.css(d), c && setTimeout(function() {
|
||||
e.disableTransition(), c.call()
|
||||
}, e.options.speed))
|
||||
}, b.prototype.getNavTarget = function() {
|
||||
var b = this,
|
||||
c = b.options.asNavFor;
|
||||
return c && null !== c && (c = a(c).not(b.$slider)), c
|
||||
}, b.prototype.asNavFor = function(b) {
|
||||
var c = this,
|
||||
d = c.getNavTarget();
|
||||
null !== d && "object" == typeof d && d.each(function() {
|
||||
var c = a(this).slick("getSlick");
|
||||
c.unslicked || c.slideHandler(b, !0)
|
||||
})
|
||||
}, b.prototype.applyTransition = function(a) {
|
||||
var b = this,
|
||||
c = {};
|
||||
b.options.fade === !1 ? c[b.transitionType] = b.transformType + " " + b.options.speed + "ms " + b.options.cssEase : c[b.transitionType] = "opacity " + b.options.speed + "ms " + b.options.cssEase, b.options.fade === !1 ? b.$slideTrack.css(c) : b.$slides.eq(a).css(c)
|
||||
}, b.prototype.autoPlay = function() {
|
||||
var a = this;
|
||||
a.autoPlayClear(), a.slideCount > a.options.slidesToShow && (a.autoPlayTimer = setInterval(a.autoPlayIterator, a.options.autoplaySpeed))
|
||||
}, b.prototype.autoPlayClear = function() {
|
||||
var a = this;
|
||||
a.autoPlayTimer && clearInterval(a.autoPlayTimer)
|
||||
}, b.prototype.autoPlayIterator = function() {
|
||||
var a = this,
|
||||
b = a.currentSlide + a.options.slidesToScroll;
|
||||
a.paused || a.interrupted || a.focussed || (a.options.infinite === !1 && (1 === a.direction && a.currentSlide + 1 === a.slideCount - 1 ? a.direction = 0 : 0 === a.direction && (b = a.currentSlide - a.options.slidesToScroll, a.currentSlide - 1 === 0 && (a.direction = 1))), a.slideHandler(b))
|
||||
}, b.prototype.buildArrows = function() {
|
||||
var b = this;
|
||||
b.options.arrows === !0 && (b.$prevArrow = a(b.options.prevArrow).addClass("slick-arrow"), b.$nextArrow = a(b.options.nextArrow).addClass("slick-arrow"), b.slideCount > b.options.slidesToShow ? (b.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), b.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), b.htmlExpr.test(b.options.prevArrow) && b.$prevArrow.prependTo(b.options.appendArrows), b.htmlExpr.test(b.options.nextArrow) && b.$nextArrow.appendTo(b.options.appendArrows), b.options.infinite !== !0 && b.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : b.$prevArrow.add(b.$nextArrow).addClass("slick-hidden").attr({
|
||||
"aria-disabled": "true",
|
||||
tabindex: "-1"
|
||||
}))
|
||||
}, b.prototype.buildDots = function() {
|
||||
var c, d, b = this;
|
||||
if (b.options.dots === !0 && b.slideCount > b.options.slidesToShow) {
|
||||
for (b.$slider.addClass("slick-dotted"), d = a("<ul />").addClass(b.options.dotsClass), c = 0; c <= b.getDotCount(); c += 1) d.append(a("<li />").append(b.options.customPaging.call(this, b, c)));
|
||||
b.$dots = d.appendTo(b.options.appendDots), b.$dots.find("li").first().addClass("slick-active").attr("aria-hidden", "false")
|
||||
}
|
||||
}, b.prototype.buildOut = function() {
|
||||
var b = this;
|
||||
b.$slides = b.$slider.children(b.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), b.slideCount = b.$slides.length, b.$slides.each(function(b, c) {
|
||||
a(c).attr("data-slick-index", b).data("originalStyling", a(c).attr("style") || "")
|
||||
}), b.$slider.addClass("slick-slider"), b.$slideTrack = 0 === b.slideCount ? a('<div class="slick-track"/>').appendTo(b.$slider) : b.$slides.wrapAll('<div class="slick-track"/>').parent(), b.$list = b.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(), b.$slideTrack.css("opacity", 0), (b.options.centerMode === !0 || b.options.swipeToSlide === !0) && (b.options.slidesToScroll = 1), a("img[data-lazy]", b.$slider).not("[src]").addClass("slick-loading"), b.setupInfinite(), b.buildArrows(), b.buildDots(), b.updateDots(), b.setSlideClasses("number" == typeof b.currentSlide ? b.currentSlide : 0), b.options.draggable === !0 && b.$list.addClass("draggable")
|
||||
}, b.prototype.buildRows = function() {
|
||||
var b, c, d, e, f, g, h, a = this;
|
||||
if (e = document.createDocumentFragment(), g = a.$slider.children(), a.options.rows > 1) {
|
||||
for (h = a.options.slidesPerRow * a.options.rows, f = Math.ceil(g.length / h), b = 0; f > b; b++) {
|
||||
var i = document.createElement("div");
|
||||
for (c = 0; c < a.options.rows; c++) {
|
||||
var j = document.createElement("div");
|
||||
for (d = 0; d < a.options.slidesPerRow; d++) {
|
||||
var k = b * h + (c * a.options.slidesPerRow + d);
|
||||
g.get(k) && j.appendChild(g.get(k))
|
||||
}
|
||||
i.appendChild(j)
|
||||
}
|
||||
e.appendChild(i)
|
||||
}
|
||||
a.$slider.empty().append(e), a.$slider.children().children().children().css({
|
||||
width: 100 / a.options.slidesPerRow + "%",
|
||||
display: "inline-block"
|
||||
})
|
||||
}
|
||||
}, b.prototype.checkResponsive = function(b, c) {
|
||||
var e, f, g, d = this,
|
||||
h = !1,
|
||||
i = d.$slider.width(),
|
||||
j = window.innerWidth || a(window).width();
|
||||
if ("window" === d.respondTo ? g = j : "slider" === d.respondTo ? g = i : "min" === d.respondTo && (g = Math.min(j, i)), d.options.responsive && d.options.responsive.length && null !== d.options.responsive) {
|
||||
f = null;
|
||||
for (e in d.breakpoints) d.breakpoints.hasOwnProperty(e) && (d.originalSettings.mobileFirst === !1 ? g < d.breakpoints[e] && (f = d.breakpoints[e]) : g > d.breakpoints[e] && (f = d.breakpoints[e]));
|
||||
null !== f ? null !== d.activeBreakpoint ? (f !== d.activeBreakpoint || c) && (d.activeBreakpoint = f, "unslick" === d.breakpointSettings[f] ? d.unslick(f) : (d.options = a.extend({}, d.originalSettings, d.breakpointSettings[f]), b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b)), h = f) : (d.activeBreakpoint = f, "unslick" === d.breakpointSettings[f] ? d.unslick(f) : (d.options = a.extend({}, d.originalSettings, d.breakpointSettings[f]), b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b)), h = f) : null !== d.activeBreakpoint && (d.activeBreakpoint = null, d.options = d.originalSettings, b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b), h = f), b || h === !1 || d.$slider.trigger("breakpoint", [d, h])
|
||||
}
|
||||
}, b.prototype.changeSlide = function(b, c) {
|
||||
var f, g, h, d = this,
|
||||
e = a(b.currentTarget);
|
||||
switch (e.is("a") && b.preventDefault(), e.is("li") || (e = e.closest("li")), h = d.slideCount % d.options.slidesToScroll !== 0, f = h ? 0 : (d.slideCount - d.currentSlide) % d.options.slidesToScroll, b.data.message) {
|
||||
case "previous":
|
||||
g = 0 === f ? d.options.slidesToScroll : d.options.slidesToShow - f, d.slideCount > d.options.slidesToShow && d.slideHandler(d.currentSlide - g, !1, c);
|
||||
break;
|
||||
case "next":
|
||||
g = 0 === f ? d.options.slidesToScroll : f, d.slideCount > d.options.slidesToShow && d.slideHandler(d.currentSlide + g, !1, c);
|
||||
break;
|
||||
case "index":
|
||||
var i = 0 === b.data.index ? 0 : b.data.index || e.index() * d.options.slidesToScroll;
|
||||
d.slideHandler(d.checkNavigable(i), !1, c), e.children().trigger("focus");
|
||||
break;
|
||||
default:
|
||||
return
|
||||
}
|
||||
}, b.prototype.checkNavigable = function(a) {
|
||||
var c, d, b = this;
|
||||
if (c = b.getNavigableIndexes(), d = 0, a > c[c.length - 1]) a = c[c.length - 1];
|
||||
else
|
||||
for (var e in c) {
|
||||
if (a < c[e]) {
|
||||
a = d;
|
||||
break
|
||||
}
|
||||
d = c[e]
|
||||
}
|
||||
return a
|
||||
}, b.prototype.cleanUpEvents = function() {
|
||||
var b = this;
|
||||
b.options.dots && null !== b.$dots && a("li", b.$dots).off("click.slick", b.changeSlide).off("mouseenter.slick", a.proxy(b.interrupt, b, !0)).off("mouseleave.slick", a.proxy(b.interrupt, b, !1)), b.$slider.off("focus.slick blur.slick"), b.options.arrows === !0 && b.slideCount > b.options.slidesToShow && (b.$prevArrow && b.$prevArrow.off("click.slick", b.changeSlide), b.$nextArrow && b.$nextArrow.off("click.slick", b.changeSlide)), b.$list.off("touchstart.slick mousedown.slick", b.swipeHandler), b.$list.off("touchmove.slick mousemove.slick", b.swipeHandler), b.$list.off("touchend.slick mouseup.slick", b.swipeHandler), b.$list.off("touchcancel.slick mouseleave.slick", b.swipeHandler), b.$list.off("click.slick", b.clickHandler), a(document).off(b.visibilityChange, b.visibility), b.cleanUpSlideEvents(), b.options.accessibility === !0 && b.$list.off("keydown.slick", b.keyHandler), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().off("click.slick", b.selectHandler), a(window).off("orientationchange.slick.slick-" + b.instanceUid, b.orientationChange), a(window).off("resize.slick.slick-" + b.instanceUid, b.resize), a("[draggable!=true]", b.$slideTrack).off("dragstart", b.preventDefault), a(window).off("load.slick.slick-" + b.instanceUid, b.setPosition), a(document).off("ready.slick.slick-" + b.instanceUid, b.setPosition)
|
||||
}, b.prototype.cleanUpSlideEvents = function() {
|
||||
var b = this;
|
||||
b.$list.off("mouseenter.slick", a.proxy(b.interrupt, b, !0)), b.$list.off("mouseleave.slick", a.proxy(b.interrupt, b, !1))
|
||||
}, b.prototype.cleanUpRows = function() {
|
||||
var b, a = this;
|
||||
a.options.rows > 1 && (b = a.$slides.children().children(), b.removeAttr("style"), a.$slider.empty().append(b))
|
||||
}, b.prototype.clickHandler = function(a) {
|
||||
var b = this;
|
||||
b.shouldClick === !1 && (a.stopImmediatePropagation(), a.stopPropagation(), a.preventDefault())
|
||||
}, b.prototype.destroy = function(b) {
|
||||
var c = this;
|
||||
c.autoPlayClear(), c.touchObject = {}, c.cleanUpEvents(), a(".slick-cloned", c.$slider).detach(), c.$dots && c.$dots.remove(), c.$prevArrow && c.$prevArrow.length && (c.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), c.htmlExpr.test(c.options.prevArrow) && c.$prevArrow.remove()), c.$nextArrow && c.$nextArrow.length && (c.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), c.htmlExpr.test(c.options.nextArrow) && c.$nextArrow.remove()), c.$slides && (c.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() {
|
||||
a(this).attr("style", a(this).data("originalStyling"))
|
||||
}), c.$slideTrack.children(this.options.slide).detach(), c.$slideTrack.detach(), c.$list.detach(), c.$slider.append(c.$slides)), c.cleanUpRows(), c.$slider.removeClass("slick-slider"), c.$slider.removeClass("slick-initialized"), c.$slider.removeClass("slick-dotted"), c.unslicked = !0, b || c.$slider.trigger("destroy", [c])
|
||||
}, b.prototype.disableTransition = function(a) {
|
||||
var b = this,
|
||||
c = {};
|
||||
c[b.transitionType] = "", b.options.fade === !1 ? b.$slideTrack.css(c) : b.$slides.eq(a).css(c)
|
||||
}, b.prototype.fadeSlide = function(a, b) {
|
||||
var c = this;
|
||||
c.cssTransitions === !1 ? (c.$slides.eq(a).css({
|
||||
zIndex: c.options.zIndex
|
||||
}), c.$slides.eq(a).animate({
|
||||
opacity: 1
|
||||
}, c.options.speed, c.options.easing, b)) : (c.applyTransition(a), c.$slides.eq(a).css({
|
||||
opacity: 1,
|
||||
zIndex: c.options.zIndex
|
||||
}), b && setTimeout(function() {
|
||||
c.disableTransition(a), b.call()
|
||||
}, c.options.speed))
|
||||
}, b.prototype.fadeSlideOut = function(a) {
|
||||
var b = this;
|
||||
b.cssTransitions === !1 ? b.$slides.eq(a).animate({
|
||||
opacity: 0,
|
||||
zIndex: b.options.zIndex - 2
|
||||
}, b.options.speed, b.options.easing) : (b.applyTransition(a), b.$slides.eq(a).css({
|
||||
opacity: 0,
|
||||
zIndex: b.options.zIndex - 2
|
||||
}))
|
||||
}, b.prototype.filterSlides = b.prototype.slickFilter = function(a) {
|
||||
var b = this;
|
||||
null !== a && (b.$slidesCache = b.$slides, b.unload(), b.$slideTrack.children(this.options.slide).detach(), b.$slidesCache.filter(a).appendTo(b.$slideTrack), b.reinit())
|
||||
}, b.prototype.focusHandler = function() {
|
||||
var b = this;
|
||||
b.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*:not(.slick-arrow)", function(c) {
|
||||
c.stopImmediatePropagation();
|
||||
var d = a(this);
|
||||
setTimeout(function() {
|
||||
b.options.pauseOnFocus && (b.focussed = d.is(":focus"), b.autoPlay())
|
||||
}, 0)
|
||||
})
|
||||
}, b.prototype.getCurrent = b.prototype.slickCurrentSlide = function() {
|
||||
var a = this;
|
||||
return a.currentSlide
|
||||
}, b.prototype.getDotCount = function() {
|
||||
var a = this,
|
||||
b = 0,
|
||||
c = 0,
|
||||
d = 0;
|
||||
if (a.options.infinite === !0)
|
||||
for (; b < a.slideCount;) ++d, b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow;
|
||||
else if (a.options.centerMode === !0) d = a.slideCount;
|
||||
else if (a.options.asNavFor)
|
||||
for (; b < a.slideCount;) ++d, b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow;
|
||||
else d = 1 + Math.ceil((a.slideCount - a.options.slidesToShow) / a.options.slidesToScroll);
|
||||
return d - 1
|
||||
}, b.prototype.getLeft = function(a) {
|
||||
var c, d, f, b = this,
|
||||
e = 0;
|
||||
return b.slideOffset = 0, d = b.$slides.first().outerHeight(!0), b.options.infinite === !0 ? (b.slideCount > b.options.slidesToShow && (b.slideOffset = b.slideWidth * b.options.slidesToShow * -1, e = d * b.options.slidesToShow * -1), b.slideCount % b.options.slidesToScroll !== 0 && a + b.options.slidesToScroll > b.slideCount && b.slideCount > b.options.slidesToShow && (a > b.slideCount ? (b.slideOffset = (b.options.slidesToShow - (a - b.slideCount)) * b.slideWidth * -1, e = (b.options.slidesToShow - (a - b.slideCount)) * d * -1) : (b.slideOffset = b.slideCount % b.options.slidesToScroll * b.slideWidth * -1, e = b.slideCount % b.options.slidesToScroll * d * -1))) : a + b.options.slidesToShow > b.slideCount && (b.slideOffset = (a + b.options.slidesToShow - b.slideCount) * b.slideWidth, e = (a + b.options.slidesToShow - b.slideCount) * d), b.slideCount <= b.options.slidesToShow && (b.slideOffset = 0, e = 0), b.options.centerMode === !0 && b.options.infinite === !0 ? b.slideOffset += b.slideWidth * Math.floor(b.options.slidesToShow / 2) - b.slideWidth : b.options.centerMode === !0 && (b.slideOffset = 0, b.slideOffset += b.slideWidth * Math.floor(b.options.slidesToShow / 2)), c = b.options.vertical === !1 ? a * b.slideWidth * -1 + b.slideOffset : a * d * -1 + e, b.options.variableWidth === !0 && (f = b.slideCount <= b.options.slidesToShow || b.options.infinite === !1 ? b.$slideTrack.children(".slick-slide").eq(a) : b.$slideTrack.children(".slick-slide").eq(a + b.options.slidesToShow), c = b.options.rtl === !0 ? f[0] ? -1 * (b.$slideTrack.width() - f[0].offsetLeft - f.width()) : 0 : f[0] ? -1 * f[0].offsetLeft : 0, b.options.centerMode === !0 && (f = b.slideCount <= b.options.slidesToShow || b.options.infinite === !1 ? b.$slideTrack.children(".slick-slide").eq(a) : b.$slideTrack.children(".slick-slide").eq(a + b.options.slidesToShow + 1), c = b.options.rtl === !0 ? f[0] ? -1 * (b.$slideTrack.width() - f[0].offsetLeft - f.width()) : 0 : f[0] ? -1 * f[0].offsetLeft : 0, c += (b.$list.width() - f.outerWidth()) / 2)), c
|
||||
}, b.prototype.getOption = b.prototype.slickGetOption = function(a) {
|
||||
var b = this;
|
||||
return b.options[a]
|
||||
}, b.prototype.getNavigableIndexes = function() {
|
||||
var e, a = this,
|
||||
b = 0,
|
||||
c = 0,
|
||||
d = [];
|
||||
for (a.options.infinite === !1 ? e = a.slideCount : (b = -1 * a.options.slidesToScroll, c = -1 * a.options.slidesToScroll, e = 2 * a.slideCount); e > b;) d.push(b), b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow;
|
||||
return d
|
||||
}, b.prototype.getSlick = function() {
|
||||
return this
|
||||
}, b.prototype.getSlideCount = function() {
|
||||
var c, d, e, b = this;
|
||||
return e = b.options.centerMode === !0 ? b.slideWidth * Math.floor(b.options.slidesToShow / 2) : 0, b.options.swipeToSlide === !0 ? (b.$slideTrack.find(".slick-slide").each(function(c, f) {
|
||||
return f.offsetLeft - e + a(f).outerWidth() / 2 > -1 * b.swipeLeft ? (d = f, !1) : void 0
|
||||
}), c = Math.abs(a(d).attr("data-slick-index") - b.currentSlide) || 1) : b.options.slidesToScroll
|
||||
}, b.prototype.goTo = b.prototype.slickGoTo = function(a, b) {
|
||||
var c = this;
|
||||
c.changeSlide({
|
||||
data: {
|
||||
message: "index",
|
||||
index: parseInt(a)
|
||||
}
|
||||
}, b)
|
||||
}, b.prototype.init = function(b) {
|
||||
var c = this;
|
||||
a(c.$slider).hasClass("slick-initialized") || (a(c.$slider).addClass("slick-initialized"), c.buildRows(), c.buildOut(), c.setProps(), c.startLoad(), c.loadSlider(), c.initializeEvents(), c.updateArrows(), c.updateDots(), c.checkResponsive(!0), c.focusHandler()), b && c.$slider.trigger("init", [c]), c.options.accessibility === !0 && c.initADA(), c.options.autoplay && (c.paused = !1, c.autoPlay())
|
||||
}, b.prototype.initADA = function() {
|
||||
var b = this;
|
||||
b.$slides.add(b.$slideTrack.find(".slick-cloned")).attr({
|
||||
"aria-hidden": "true",
|
||||
tabindex: "-1"
|
||||
}).find("a, input, button, select").attr({
|
||||
tabindex: "-1"
|
||||
}), b.$slideTrack.attr("role", "listbox"), b.$slides.not(b.$slideTrack.find(".slick-cloned")).each(function(c) {
|
||||
a(this).attr({
|
||||
role: "option",
|
||||
"aria-describedby": "slick-slide" + b.instanceUid + c
|
||||
})
|
||||
}), null !== b.$dots && b.$dots.attr("role", "tablist").find("li").each(function(c) {
|
||||
a(this).attr({
|
||||
role: "presentation",
|
||||
"aria-selected": "false",
|
||||
"aria-controls": "navigation" + b.instanceUid + c,
|
||||
id: "slick-slide" + b.instanceUid + c
|
||||
})
|
||||
}).first().attr("aria-selected", "true").end().find("button").attr("role", "button").end().closest("div").attr("role", "toolbar"), b.activateADA()
|
||||
}, b.prototype.initArrowEvents = function() {
|
||||
var a = this;
|
||||
a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.off("click.slick").on("click.slick", {
|
||||
message: "previous"
|
||||
}, a.changeSlide), a.$nextArrow.off("click.slick").on("click.slick", {
|
||||
message: "next"
|
||||
}, a.changeSlide))
|
||||
}, b.prototype.initDotEvents = function() {
|
||||
var b = this;
|
||||
b.options.dots === !0 && b.slideCount > b.options.slidesToShow && a("li", b.$dots).on("click.slick", {
|
||||
message: "index"
|
||||
}, b.changeSlide), b.options.dots === !0 && b.options.pauseOnDotsHover === !0 && a("li", b.$dots).on("mouseenter.slick", a.proxy(b.interrupt, b, !0)).on("mouseleave.slick", a.proxy(b.interrupt, b, !1))
|
||||
}, b.prototype.initSlideEvents = function() {
|
||||
var b = this;
|
||||
b.options.pauseOnHover && (b.$list.on("mouseenter.slick", a.proxy(b.interrupt, b, !0)), b.$list.on("mouseleave.slick", a.proxy(b.interrupt, b, !1)))
|
||||
}, b.prototype.initializeEvents = function() {
|
||||
var b = this;
|
||||
b.initArrowEvents(), b.initDotEvents(), b.initSlideEvents(), b.$list.on("touchstart.slick mousedown.slick", {
|
||||
action: "start"
|
||||
}, b.swipeHandler), b.$list.on("touchmove.slick mousemove.slick", {
|
||||
action: "move"
|
||||
}, b.swipeHandler), b.$list.on("touchend.slick mouseup.slick", {
|
||||
action: "end"
|
||||
}, b.swipeHandler), b.$list.on("touchcancel.slick mouseleave.slick", {
|
||||
action: "end"
|
||||
}, b.swipeHandler), b.$list.on("click.slick", b.clickHandler), a(document).on(b.visibilityChange, a.proxy(b.visibility, b)), b.options.accessibility === !0 && b.$list.on("keydown.slick", b.keyHandler), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().on("click.slick", b.selectHandler), a(window).on("orientationchange.slick.slick-" + b.instanceUid, a.proxy(b.orientationChange, b)), a(window).on("resize.slick.slick-" + b.instanceUid, a.proxy(b.resize, b)), a("[draggable!=true]", b.$slideTrack).on("dragstart", b.preventDefault), a(window).on("load.slick.slick-" + b.instanceUid, b.setPosition), a(document).on("ready.slick.slick-" + b.instanceUid, b.setPosition)
|
||||
}, b.prototype.initUI = function() {
|
||||
var a = this;
|
||||
a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.show(), a.$nextArrow.show()), a.options.dots === !0 && a.slideCount > a.options.slidesToShow && a.$dots.show()
|
||||
}, b.prototype.keyHandler = function(a) {
|
||||
var b = this;
|
||||
a.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === a.keyCode && b.options.accessibility === !0 ? b.changeSlide({
|
||||
data: {
|
||||
message: b.options.rtl === !0 ? "next" : "previous"
|
||||
}
|
||||
}) : 39 === a.keyCode && b.options.accessibility === !0 && b.changeSlide({
|
||||
data: {
|
||||
message: b.options.rtl === !0 ? "previous" : "next"
|
||||
}
|
||||
}))
|
||||
}, b.prototype.lazyLoad = function() {
|
||||
function g(c) {
|
||||
a("img[data-lazy]", c).each(function() {
|
||||
var c = a(this),
|
||||
d = a(this).attr("data-lazy"),
|
||||
e = document.createElement("img");
|
||||
e.onload = function() {
|
||||
c.animate({
|
||||
opacity: 0
|
||||
}, 100, function() {
|
||||
c.attr("src", d).animate({
|
||||
opacity: 1
|
||||
}, 200, function() {
|
||||
c.removeAttr("data-lazy").removeClass("slick-loading")
|
||||
}), b.$slider.trigger("lazyLoaded", [b, c, d])
|
||||
})
|
||||
}, e.onerror = function() {
|
||||
c.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), b.$slider.trigger("lazyLoadError", [b, c, d])
|
||||
}, e.src = d
|
||||
})
|
||||
}
|
||||
var c, d, e, f, b = this;
|
||||
b.options.centerMode === !0 ? b.options.infinite === !0 ? (e = b.currentSlide + (b.options.slidesToShow / 2 + 1), f = e + b.options.slidesToShow + 2) : (e = Math.max(0, b.currentSlide - (b.options.slidesToShow / 2 + 1)), f = 2 + (b.options.slidesToShow / 2 + 1) + b.currentSlide) : (e = b.options.infinite ? b.options.slidesToShow + b.currentSlide : b.currentSlide, f = Math.ceil(e + b.options.slidesToShow), b.options.fade === !0 && (e > 0 && e--, f <= b.slideCount && f++)), c = b.$slider.find(".slick-slide").slice(e, f), g(c), b.slideCount <= b.options.slidesToShow ? (d = b.$slider.find(".slick-slide"), g(d)) : b.currentSlide >= b.slideCount - b.options.slidesToShow ? (d = b.$slider.find(".slick-cloned").slice(0, b.options.slidesToShow), g(d)) : 0 === b.currentSlide && (d = b.$slider.find(".slick-cloned").slice(-1 * b.options.slidesToShow), g(d))
|
||||
}, b.prototype.loadSlider = function() {
|
||||
var a = this;
|
||||
a.setPosition(), a.$slideTrack.css({
|
||||
opacity: 1
|
||||
}), a.$slider.removeClass("slick-loading"), a.initUI(), "progressive" === a.options.lazyLoad && a.progressiveLazyLoad()
|
||||
}, b.prototype.next = b.prototype.slickNext = function() {
|
||||
var a = this;
|
||||
a.changeSlide({
|
||||
data: {
|
||||
message: "next"
|
||||
}
|
||||
})
|
||||
}, b.prototype.orientationChange = function() {
|
||||
var a = this;
|
||||
a.checkResponsive(), a.setPosition()
|
||||
}, b.prototype.pause = b.prototype.slickPause = function() {
|
||||
var a = this;
|
||||
a.autoPlayClear(), a.paused = !0
|
||||
}, b.prototype.play = b.prototype.slickPlay = function() {
|
||||
var a = this;
|
||||
a.autoPlay(), a.options.autoplay = !0, a.paused = !1, a.focussed = !1, a.interrupted = !1
|
||||
}, b.prototype.postSlide = function(a) {
|
||||
var b = this;
|
||||
b.unslicked || (b.$slider.trigger("afterChange", [b, a]), b.animating = !1, b.setPosition(), b.swipeLeft = null, b.options.autoplay && b.autoPlay(), b.options.accessibility === !0 && b.initADA())
|
||||
}, b.prototype.prev = b.prototype.slickPrev = function() {
|
||||
var a = this;
|
||||
a.changeSlide({
|
||||
data: {
|
||||
message: "previous"
|
||||
}
|
||||
})
|
||||
}, b.prototype.preventDefault = function(a) {
|
||||
a.preventDefault()
|
||||
}, b.prototype.progressiveLazyLoad = function(b) {
|
||||
b = b || 1;
|
||||
var e, f, g, c = this,
|
||||
d = a("img[data-lazy]", c.$slider);
|
||||
d.length ? (e = d.first(), f = e.attr("data-lazy"), g = document.createElement("img"), g.onload = function() {
|
||||
e.attr("src", f).removeAttr("data-lazy").removeClass("slick-loading"), c.options.adaptiveHeight === !0 && c.setPosition(), c.$slider.trigger("lazyLoaded", [c, e, f]), c.progressiveLazyLoad()
|
||||
}, g.onerror = function() {
|
||||
3 > b ? setTimeout(function() {
|
||||
c.progressiveLazyLoad(b + 1)
|
||||
}, 500) : (e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), c.$slider.trigger("lazyLoadError", [c, e, f]), c.progressiveLazyLoad())
|
||||
}, g.src = f) : c.$slider.trigger("allImagesLoaded", [c])
|
||||
}, b.prototype.refresh = function(b) {
|
||||
var d, e, c = this;
|
||||
e = c.slideCount - c.options.slidesToShow, !c.options.infinite && c.currentSlide > e && (c.currentSlide = e), c.slideCount <= c.options.slidesToShow && (c.currentSlide = 0), d = c.currentSlide, c.destroy(!0), a.extend(c, c.initials, {
|
||||
currentSlide: d
|
||||
}), c.init(), b || c.changeSlide({
|
||||
data: {
|
||||
message: "index",
|
||||
index: d
|
||||
}
|
||||
}, !1)
|
||||
}, b.prototype.registerBreakpoints = function() {
|
||||
var c, d, e, b = this,
|
||||
f = b.options.responsive || null;
|
||||
if ("array" === a.type(f) && f.length) {
|
||||
b.respondTo = b.options.respondTo || "window";
|
||||
for (c in f)
|
||||
if (e = b.breakpoints.length - 1, d = f[c].breakpoint, f.hasOwnProperty(c)) {
|
||||
for (; e >= 0;) b.breakpoints[e] && b.breakpoints[e] === d && b.breakpoints.splice(e, 1), e--;
|
||||
b.breakpoints.push(d), b.breakpointSettings[d] = f[c].settings
|
||||
}
|
||||
b.breakpoints.sort(function(a, c) {
|
||||
return b.options.mobileFirst ? a - c : c - a
|
||||
})
|
||||
}
|
||||
}, b.prototype.reinit = function() {
|
||||
var b = this;
|
||||
b.$slides = b.$slideTrack.children(b.options.slide).addClass("slick-slide"), b.slideCount = b.$slides.length, b.currentSlide >= b.slideCount && 0 !== b.currentSlide && (b.currentSlide = b.currentSlide - b.options.slidesToScroll), b.slideCount <= b.options.slidesToShow && (b.currentSlide = 0), b.registerBreakpoints(), b.setProps(), b.setupInfinite(), b.buildArrows(), b.updateArrows(), b.initArrowEvents(), b.buildDots(), b.updateDots(), b.initDotEvents(), b.cleanUpSlideEvents(), b.initSlideEvents(), b.checkResponsive(!1, !0), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().on("click.slick", b.selectHandler), b.setSlideClasses("number" == typeof b.currentSlide ? b.currentSlide : 0), b.setPosition(), b.focusHandler(), b.paused = !b.options.autoplay, b.autoPlay(), b.$slider.trigger("reInit", [b])
|
||||
}, b.prototype.resize = function() {
|
||||
var b = this;
|
||||
a(window).width() !== b.windowWidth && (clearTimeout(b.windowDelay), b.windowDelay = window.setTimeout(function() {
|
||||
b.windowWidth = a(window).width(), b.checkResponsive(), b.unslicked || b.setPosition()
|
||||
}, 50))
|
||||
}, b.prototype.removeSlide = b.prototype.slickRemove = function(a, b, c) {
|
||||
var d = this;
|
||||
return "boolean" == typeof a ? (b = a, a = b === !0 ? 0 : d.slideCount - 1) : a = b === !0 ? --a : a, d.slideCount < 1 || 0 > a || a > d.slideCount - 1 ? !1 : (d.unload(), c === !0 ? d.$slideTrack.children().remove() : d.$slideTrack.children(this.options.slide).eq(a).remove(), d.$slides = d.$slideTrack.children(this.options.slide), d.$slideTrack.children(this.options.slide).detach(), d.$slideTrack.append(d.$slides), d.$slidesCache = d.$slides, void d.reinit())
|
||||
}, b.prototype.setCSS = function(a) {
|
||||
var d, e, b = this,
|
||||
c = {};
|
||||
b.options.rtl === !0 && (a = -a), d = "left" == b.positionProp ? Math.ceil(a) + "px" : "0px", e = "top" == b.positionProp ? Math.ceil(a) + "px" : "0px", c[b.positionProp] = a, b.transformsEnabled === !1 ? b.$slideTrack.css(c) : (c = {}, b.cssTransitions === !1 ? (c[b.animType] = "translate(" + d + ", " + e + ")", b.$slideTrack.css(c)) : (c[b.animType] = "translate3d(" + d + ", " + e + ", 0px)", b.$slideTrack.css(c)))
|
||||
}, b.prototype.setDimensions = function() {
|
||||
var a = this;
|
||||
a.options.vertical === !1 ? a.options.centerMode === !0 && a.$list.css({
|
||||
padding: "0px " + a.options.centerPadding
|
||||
}) : (a.$list.height(a.$slides.first().outerHeight(!0) * a.options.slidesToShow), a.options.centerMode === !0 && a.$list.css({
|
||||
padding: a.options.centerPadding + " 0px"
|
||||
})), a.listWidth = a.$list.width(), a.listHeight = a.$list.height(), a.options.vertical === !1 && a.options.variableWidth === !1 ? (a.slideWidth = Math.ceil(a.listWidth / a.options.slidesToShow), a.$slideTrack.width(Math.ceil(a.slideWidth * a.$slideTrack.children(".slick-slide").length))) : a.options.variableWidth === !0 ? a.$slideTrack.width(5e3 * a.slideCount) : (a.slideWidth = Math.ceil(a.listWidth), a.$slideTrack.height(Math.ceil(a.$slides.first().outerHeight(!0) * a.$slideTrack.children(".slick-slide").length)));
|
||||
var b = a.$slides.first().outerWidth(!0) - a.$slides.first().width();
|
||||
a.options.variableWidth === !1 && a.$slideTrack.children(".slick-slide").width(a.slideWidth - b)
|
||||
}, b.prototype.setFade = function() {
|
||||
var c, b = this;
|
||||
b.$slides.each(function(d, e) {
|
||||
c = b.slideWidth * d * -1, b.options.rtl === !0 ? a(e).css({
|
||||
position: "relative",
|
||||
right: c,
|
||||
top: 0,
|
||||
zIndex: b.options.zIndex - 2,
|
||||
opacity: 0
|
||||
}) : a(e).css({
|
||||
position: "relative",
|
||||
left: c,
|
||||
top: 0,
|
||||
zIndex: b.options.zIndex - 2,
|
||||
opacity: 0
|
||||
})
|
||||
}), b.$slides.eq(b.currentSlide).css({
|
||||
zIndex: b.options.zIndex - 1,
|
||||
opacity: 1
|
||||
})
|
||||
}, b.prototype.setHeight = function() {
|
||||
var a = this;
|
||||
if (1 === a.options.slidesToShow && a.options.adaptiveHeight === !0 && a.options.vertical === !1) {
|
||||
var b = a.$slides.eq(a.currentSlide).outerHeight(!0);
|
||||
a.$list.css("height", b)
|
||||
}
|
||||
}, b.prototype.setOption = b.prototype.slickSetOption = function() {
|
||||
var c, d, e, f, h, b = this,
|
||||
g = !1;
|
||||
if ("object" === a.type(arguments[0]) ? (e = arguments[0], g = arguments[1], h = "multiple") : "string" === a.type(arguments[0]) && (e = arguments[0], f = arguments[1], g = arguments[2], "responsive" === arguments[0] && "array" === a.type(arguments[1]) ? h = "responsive" : "undefined" != typeof arguments[1] && (h = "single")), "single" === h) b.options[e] = f;
|
||||
else if ("multiple" === h) a.each(e, function(a, c) {
|
||||
b.options[a] = c
|
||||
});
|
||||
else if ("responsive" === h)
|
||||
for (d in f)
|
||||
if ("array" !== a.type(b.options.responsive)) b.options.responsive = [f[d]];
|
||||
else {
|
||||
for (c = b.options.responsive.length - 1; c >= 0;) b.options.responsive[c].breakpoint === f[d].breakpoint && b.options.responsive.splice(c, 1), c--;
|
||||
b.options.responsive.push(f[d])
|
||||
}
|
||||
g && (b.unload(), b.reinit())
|
||||
}, b.prototype.setPosition = function() {
|
||||
var a = this;
|
||||
a.setDimensions(), a.setHeight(), a.options.fade === !1 ? a.setCSS(a.getLeft(a.currentSlide)) : a.setFade(), a.$slider.trigger("setPosition", [a])
|
||||
}, b.prototype.setProps = function() {
|
||||
var a = this,
|
||||
b = document.body.style;
|
||||
a.positionProp = a.options.vertical === !0 ? "top" : "left", "top" === a.positionProp ? a.$slider.addClass("slick-vertical") : a.$slider.removeClass("slick-vertical"), (void 0 !== b.WebkitTransition || void 0 !== b.MozTransition || void 0 !== b.msTransition) && a.options.useCSS === !0 && (a.cssTransitions = !0), a.options.fade && ("number" == typeof a.options.zIndex ? a.options.zIndex < 3 && (a.options.zIndex = 3) : a.options.zIndex = a.defaults.zIndex), void 0 !== b.OTransform && (a.animType = "OTransform", a.transformType = "-o-transform", a.transitionType = "OTransition", void 0 === b.perspectiveProperty && void 0 === b.webkitPerspective && (a.animType = !1)), void 0 !== b.MozTransform && (a.animType = "MozTransform", a.transformType = "-moz-transform", a.transitionType = "MozTransition", void 0 === b.perspectiveProperty && void 0 === b.MozPerspective && (a.animType = !1)), void 0 !== b.webkitTransform && (a.animType = "webkitTransform", a.transformType = "-webkit-transform", a.transitionType = "webkitTransition", void 0 === b.perspectiveProperty && void 0 === b.webkitPerspective && (a.animType = !1)), void 0 !== b.msTransform && (a.animType = "msTransform", a.transformType = "-ms-transform", a.transitionType = "msTransition", void 0 === b.msTransform && (a.animType = !1)), void 0 !== b.transform && a.animType !== !1 && (a.animType = "transform", a.transformType = "transform", a.transitionType = "transition"), a.transformsEnabled = a.options.useTransform && null !== a.animType && a.animType !== !1
|
||||
}, b.prototype.setSlideClasses = function(a) {
|
||||
var c, d, e, f, b = this;
|
||||
d = b.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), b.$slides.eq(a).addClass("slick-current"), b.options.centerMode === !0 ? (c = Math.floor(b.options.slidesToShow / 2), b.options.infinite === !0 && (a >= c && a <= b.slideCount - 1 - c ? b.$slides.slice(a - c, a + c + 1).addClass("slick-active").attr("aria-hidden", "false") : (e = b.options.slidesToShow + a,
|
||||
d.slice(e - c + 1, e + c + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === a ? d.eq(d.length - 1 - b.options.slidesToShow).addClass("slick-center") : a === b.slideCount - 1 && d.eq(b.options.slidesToShow).addClass("slick-center")), b.$slides.eq(a).addClass("slick-center")) : a >= 0 && a <= b.slideCount - b.options.slidesToShow ? b.$slides.slice(a, a + b.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : d.length <= b.options.slidesToShow ? d.addClass("slick-active").attr("aria-hidden", "false") : (f = b.slideCount % b.options.slidesToShow, e = b.options.infinite === !0 ? b.options.slidesToShow + a : a, b.options.slidesToShow == b.options.slidesToScroll && b.slideCount - a < b.options.slidesToShow ? d.slice(e - (b.options.slidesToShow - f), e + f).addClass("slick-active").attr("aria-hidden", "false") : d.slice(e, e + b.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false")), "ondemand" === b.options.lazyLoad && b.lazyLoad()
|
||||
}, b.prototype.setupInfinite = function() {
|
||||
var c, d, e, b = this;
|
||||
if (b.options.fade === !0 && (b.options.centerMode = !1), b.options.infinite === !0 && b.options.fade === !1 && (d = null, b.slideCount > b.options.slidesToShow)) {
|
||||
for (e = b.options.centerMode === !0 ? b.options.slidesToShow + 1 : b.options.slidesToShow, c = b.slideCount; c > b.slideCount - e; c -= 1) d = c - 1, a(b.$slides[d]).clone(!0).attr("id", "").attr("data-slick-index", d - b.slideCount).prependTo(b.$slideTrack).addClass("slick-cloned");
|
||||
for (c = 0; e > c; c += 1) d = c, a(b.$slides[d]).clone(!0).attr("id", "").attr("data-slick-index", d + b.slideCount).appendTo(b.$slideTrack).addClass("slick-cloned");
|
||||
b.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
|
||||
a(this).attr("id", "")
|
||||
})
|
||||
}
|
||||
}, b.prototype.interrupt = function(a) {
|
||||
var b = this;
|
||||
a || b.autoPlay(), b.interrupted = a
|
||||
}, b.prototype.selectHandler = function(b) {
|
||||
var c = this,
|
||||
d = a(b.target).is(".slick-slide") ? a(b.target) : a(b.target).parents(".slick-slide"),
|
||||
e = parseInt(d.attr("data-slick-index"));
|
||||
return e || (e = 0), c.slideCount <= c.options.slidesToShow ? (c.setSlideClasses(e), void c.asNavFor(e)) : void c.slideHandler(e)
|
||||
}, b.prototype.slideHandler = function(a, b, c) {
|
||||
var d, e, f, g, j, h = null,
|
||||
i = this;
|
||||
return b = b || !1, i.animating === !0 && i.options.waitForAnimate === !0 || i.options.fade === !0 && i.currentSlide === a || i.slideCount <= i.options.slidesToShow ? void 0 : (b === !1 && i.asNavFor(a), d = a, h = i.getLeft(d), g = i.getLeft(i.currentSlide), i.currentLeft = null === i.swipeLeft ? g : i.swipeLeft, i.options.infinite === !1 && i.options.centerMode === !1 && (0 > a || a > i.getDotCount() * i.options.slidesToScroll) ? void(i.options.fade === !1 && (d = i.currentSlide, c !== !0 ? i.animateSlide(g, function() {
|
||||
i.postSlide(d)
|
||||
}) : i.postSlide(d))) : i.options.infinite === !1 && i.options.centerMode === !0 && (0 > a || a > i.slideCount - i.options.slidesToScroll) ? void(i.options.fade === !1 && (d = i.currentSlide, c !== !0 ? i.animateSlide(g, function() {
|
||||
i.postSlide(d)
|
||||
}) : i.postSlide(d))) : (i.options.autoplay && clearInterval(i.autoPlayTimer), e = 0 > d ? i.slideCount % i.options.slidesToScroll !== 0 ? i.slideCount - i.slideCount % i.options.slidesToScroll : i.slideCount + d : d >= i.slideCount ? i.slideCount % i.options.slidesToScroll !== 0 ? 0 : d - i.slideCount : d, i.animating = !0, i.$slider.trigger("beforeChange", [i, i.currentSlide, e]), f = i.currentSlide, i.currentSlide = e, i.setSlideClasses(i.currentSlide), i.options.asNavFor && (j = i.getNavTarget(), j = j.slick("getSlick"), j.slideCount <= j.options.slidesToShow && j.setSlideClasses(i.currentSlide)), i.updateDots(), i.updateArrows(), i.options.fade === !0 ? (c !== !0 ? (i.fadeSlideOut(f), i.fadeSlide(e, function() {
|
||||
i.postSlide(e)
|
||||
})) : i.postSlide(e), void i.animateHeight()) : void(c !== !0 ? i.animateSlide(h, function() {
|
||||
i.postSlide(e)
|
||||
}) : i.postSlide(e))))
|
||||
}, b.prototype.startLoad = function() {
|
||||
var a = this;
|
||||
a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.hide(), a.$nextArrow.hide()), a.options.dots === !0 && a.slideCount > a.options.slidesToShow && a.$dots.hide(), a.$slider.addClass("slick-loading")
|
||||
}, b.prototype.swipeDirection = function() {
|
||||
var a, b, c, d, e = this;
|
||||
return a = e.touchObject.startX - e.touchObject.curX, b = e.touchObject.startY - e.touchObject.curY, c = Math.atan2(b, a), d = Math.round(180 * c / Math.PI), 0 > d && (d = 360 - Math.abs(d)), 45 >= d && d >= 0 ? e.options.rtl === !1 ? "left" : "right" : 360 >= d && d >= 315 ? e.options.rtl === !1 ? "left" : "right" : d >= 135 && 225 >= d ? e.options.rtl === !1 ? "right" : "left" : e.options.verticalSwiping === !0 ? d >= 35 && 135 >= d ? "down" : "up" : "vertical"
|
||||
}, b.prototype.swipeEnd = function(a) {
|
||||
var c, d, b = this;
|
||||
if (b.dragging = !1, b.interrupted = !1, b.shouldClick = b.touchObject.swipeLength > 10 ? !1 : !0, void 0 === b.touchObject.curX) return !1;
|
||||
if (b.touchObject.edgeHit === !0 && b.$slider.trigger("edge", [b, b.swipeDirection()]), b.touchObject.swipeLength >= b.touchObject.minSwipe) {
|
||||
switch (d = b.swipeDirection()) {
|
||||
case "left":
|
||||
case "down":
|
||||
c = b.options.swipeToSlide ? b.checkNavigable(b.currentSlide + b.getSlideCount()) : b.currentSlide + b.getSlideCount(), b.currentDirection = 0;
|
||||
break;
|
||||
case "right":
|
||||
case "up":
|
||||
c = b.options.swipeToSlide ? b.checkNavigable(b.currentSlide - b.getSlideCount()) : b.currentSlide - b.getSlideCount(), b.currentDirection = 1
|
||||
}
|
||||
"vertical" != d && (b.slideHandler(c), b.touchObject = {}, b.$slider.trigger("swipe", [b, d]))
|
||||
} else b.touchObject.startX !== b.touchObject.curX && (b.slideHandler(b.currentSlide), b.touchObject = {})
|
||||
}, b.prototype.swipeHandler = function(a) {
|
||||
var b = this;
|
||||
if (!(b.options.swipe === !1 || "ontouchend" in document && b.options.swipe === !1 || b.options.draggable === !1 && -1 !== a.type.indexOf("mouse"))) switch (b.touchObject.fingerCount = a.originalEvent && void 0 !== a.originalEvent.touches ? a.originalEvent.touches.length : 1, b.touchObject.minSwipe = b.listWidth / b.options.touchThreshold, b.options.verticalSwiping === !0 && (b.touchObject.minSwipe = b.listHeight / b.options.touchThreshold), a.data.action) {
|
||||
case "start":
|
||||
b.swipeStart(a);
|
||||
break;
|
||||
case "move":
|
||||
b.swipeMove(a);
|
||||
break;
|
||||
case "end":
|
||||
b.swipeEnd(a)
|
||||
}
|
||||
}, b.prototype.swipeMove = function(a) {
|
||||
var d, e, f, g, h, b = this;
|
||||
return h = void 0 !== a.originalEvent ? a.originalEvent.touches : null, !b.dragging || h && 1 !== h.length ? !1 : (d = b.getLeft(b.currentSlide), b.touchObject.curX = void 0 !== h ? h[0].pageX : a.clientX, b.touchObject.curY = void 0 !== h ? h[0].pageY : a.clientY, b.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(b.touchObject.curX - b.touchObject.startX, 2))), b.options.verticalSwiping === !0 && (b.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(b.touchObject.curY - b.touchObject.startY, 2)))), e = b.swipeDirection(), "vertical" !== e ? (void 0 !== a.originalEvent && b.touchObject.swipeLength > 4 && a.preventDefault(), g = (b.options.rtl === !1 ? 1 : -1) * (b.touchObject.curX > b.touchObject.startX ? 1 : -1), b.options.verticalSwiping === !0 && (g = b.touchObject.curY > b.touchObject.startY ? 1 : -1), f = b.touchObject.swipeLength, b.touchObject.edgeHit = !1, b.options.infinite === !1 && (0 === b.currentSlide && "right" === e || b.currentSlide >= b.getDotCount() && "left" === e) && (f = b.touchObject.swipeLength * b.options.edgeFriction, b.touchObject.edgeHit = !0), b.options.vertical === !1 ? b.swipeLeft = d + f * g : b.swipeLeft = d + f * (b.$list.height() / b.listWidth) * g, b.options.verticalSwiping === !0 && (b.swipeLeft = d + f * g), b.options.fade === !0 || b.options.touchMove === !1 ? !1 : b.animating === !0 ? (b.swipeLeft = null, !1) : void b.setCSS(b.swipeLeft)) : void 0)
|
||||
}, b.prototype.swipeStart = function(a) {
|
||||
var c, b = this;
|
||||
return b.interrupted = !0, 1 !== b.touchObject.fingerCount || b.slideCount <= b.options.slidesToShow ? (b.touchObject = {}, !1) : (void 0 !== a.originalEvent && void 0 !== a.originalEvent.touches && (c = a.originalEvent.touches[0]), b.touchObject.startX = b.touchObject.curX = void 0 !== c ? c.pageX : a.clientX, b.touchObject.startY = b.touchObject.curY = void 0 !== c ? c.pageY : a.clientY, void(b.dragging = !0))
|
||||
}, b.prototype.unfilterSlides = b.prototype.slickUnfilter = function() {
|
||||
var a = this;
|
||||
null !== a.$slidesCache && (a.unload(), a.$slideTrack.children(this.options.slide).detach(), a.$slidesCache.appendTo(a.$slideTrack), a.reinit())
|
||||
}, b.prototype.unload = function() {
|
||||
var b = this;
|
||||
a(".slick-cloned", b.$slider).remove(), b.$dots && b.$dots.remove(), b.$prevArrow && b.htmlExpr.test(b.options.prevArrow) && b.$prevArrow.remove(), b.$nextArrow && b.htmlExpr.test(b.options.nextArrow) && b.$nextArrow.remove(), b.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
|
||||
}, b.prototype.unslick = function(a) {
|
||||
var b = this;
|
||||
b.$slider.trigger("unslick", [b, a]), b.destroy()
|
||||
}, b.prototype.updateArrows = function() {
|
||||
var b, a = this;
|
||||
b = Math.floor(a.options.slidesToShow / 2), a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && !a.options.infinite && (a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === a.currentSlide ? (a.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : a.currentSlide >= a.slideCount - a.options.slidesToShow && a.options.centerMode === !1 ? (a.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : a.currentSlide >= a.slideCount - 1 && a.options.centerMode === !0 && (a.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
|
||||
}, b.prototype.updateDots = function() {
|
||||
var a = this;
|
||||
null !== a.$dots && (a.$dots.find("li").removeClass("slick-active").attr("aria-hidden", "true"), a.$dots.find("li").eq(Math.floor(a.currentSlide / a.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden", "false"))
|
||||
}, b.prototype.visibility = function() {
|
||||
var a = this;
|
||||
a.options.autoplay && (document[a.hidden] ? a.interrupted = !0 : a.interrupted = !1)
|
||||
}, a.fn.slick = function() {
|
||||
var f, g, a = this,
|
||||
c = arguments[0],
|
||||
d = Array.prototype.slice.call(arguments, 1),
|
||||
e = a.length;
|
||||
for (f = 0; e > f; f++)
|
||||
if ("object" == typeof c || "undefined" == typeof c ? a[f].slick = new b(a[f], c) : g = a[f].slick[c].apply(a[f].slick, d), "undefined" != typeof g) return g;
|
||||
return a
|
||||
}
|
||||
});
|
||||
518
assets/js/sourcebuster.min.js
vendored
Normal file
518
assets/js/sourcebuster.min.js
vendored
Normal file
@@ -0,0 +1,518 @@
|
||||
! function(e) {
|
||||
if ("object" == typeof exports && "undefined" != typeof module) module.exports = e();
|
||||
else if ("function" == typeof define && define.amd) define([], e);
|
||||
else {
|
||||
var t;
|
||||
"undefined" != typeof window ? t = window : "undefined" != typeof global ? t = global : "undefined" != typeof self && (t = self), t.sbjs = e()
|
||||
}
|
||||
}(function() {
|
||||
return function e(t, r, n) {
|
||||
function a(s, o) {
|
||||
if (!r[s]) {
|
||||
if (!t[s]) {
|
||||
var c = "function" == typeof require && require;
|
||||
if (!o && c) return c(s, !0);
|
||||
if (i) return i(s, !0);
|
||||
var u = new Error("Cannot find module '" + s + "'");
|
||||
throw u.code = "MODULE_NOT_FOUND", u
|
||||
}
|
||||
var p = r[s] = {
|
||||
exports: {}
|
||||
};
|
||||
t[s][0].call(p.exports, function(e) {
|
||||
var r = t[s][1][e];
|
||||
return a(r || e)
|
||||
}, p, p.exports, e, t, r, n)
|
||||
}
|
||||
return r[s].exports
|
||||
}
|
||||
for (var i = "function" == typeof require && require, s = 0; s < n.length; s++) a(n[s]);
|
||||
return a
|
||||
}({
|
||||
1: [function(e, t, r) {
|
||||
"use strict";
|
||||
var n = e("./init"),
|
||||
a = {
|
||||
init: function(e) {
|
||||
this.get = n(e), e && e.callback && "function" == typeof e.callback && e.callback(this.get)
|
||||
}
|
||||
};
|
||||
t.exports = a
|
||||
}, {
|
||||
"./init": 6
|
||||
}],
|
||||
2: [function(e, t, r) {
|
||||
"use strict";
|
||||
var n = e("./terms"),
|
||||
a = e("./helpers/utils"),
|
||||
i = {
|
||||
containers: {
|
||||
current: "sbjs_current",
|
||||
current_extra: "sbjs_current_add",
|
||||
first: "sbjs_first",
|
||||
first_extra: "sbjs_first_add",
|
||||
session: "sbjs_session",
|
||||
udata: "sbjs_udata",
|
||||
promocode: "sbjs_promo"
|
||||
},
|
||||
service: {
|
||||
migrations: "sbjs_migrations"
|
||||
},
|
||||
delimiter: "|||",
|
||||
aliases: {
|
||||
main: {
|
||||
type: "typ",
|
||||
source: "src",
|
||||
medium: "mdm",
|
||||
campaign: "cmp",
|
||||
content: "cnt",
|
||||
term: "trm",
|
||||
id: "id",
|
||||
platform: "plt",
|
||||
format: "fmt",
|
||||
tactic: "tct"
|
||||
},
|
||||
extra: {
|
||||
fire_date: "fd",
|
||||
entrance_point: "ep",
|
||||
referer: "rf"
|
||||
},
|
||||
session: {
|
||||
pages_seen: "pgs",
|
||||
current_page: "cpg"
|
||||
},
|
||||
udata: {
|
||||
visits: "vst",
|
||||
ip: "uip",
|
||||
agent: "uag"
|
||||
},
|
||||
promo: "code"
|
||||
},
|
||||
pack: {
|
||||
main: function(e) {
|
||||
return i.aliases.main.type + "=" + e.type + i.delimiter + i.aliases.main.source + "=" + e.source + i.delimiter + i.aliases.main.medium + "=" + e.medium + i.delimiter + i.aliases.main.campaign + "=" + e.campaign + i.delimiter + i.aliases.main.content + "=" + e.content + i.delimiter + i.aliases.main.term + "=" + e.term + i.delimiter + i.aliases.main.id + "=" + e.id + i.delimiter + i.aliases.main.platform + "=" + e.platform + i.delimiter + i.aliases.main.format + "=" + e.format + i.delimiter + i.aliases.main.tactic + "=" + e.tactic
|
||||
},
|
||||
extra: function(e) {
|
||||
return i.aliases.extra.fire_date + "=" + a.setDate(new Date, e) + i.delimiter + i.aliases.extra.entrance_point + "=" + document.location.href + i.delimiter + i.aliases.extra.referer + "=" + (document.referrer || n.none)
|
||||
},
|
||||
user: function(e, t) {
|
||||
return i.aliases.udata.visits + "=" + e + i.delimiter + i.aliases.udata.ip + "=" + t + i.delimiter + i.aliases.udata.agent + "=" + navigator.userAgent
|
||||
},
|
||||
session: function(e) {
|
||||
return i.aliases.session.pages_seen + "=" + e + i.delimiter + i.aliases.session.current_page + "=" + document.location.href
|
||||
},
|
||||
promo: function(e) {
|
||||
return i.aliases.promo + "=" + a.setLeadingZeroToInt(a.randomInt(e.min, e.max), e.max.toString().length)
|
||||
}
|
||||
}
|
||||
};
|
||||
t.exports = i
|
||||
}, {
|
||||
"./helpers/utils": 5,
|
||||
"./terms": 9
|
||||
}],
|
||||
3: [function(e, t, r) {
|
||||
"use strict";
|
||||
var n = e("../data").delimiter;
|
||||
t.exports = {
|
||||
useBase64: !1,
|
||||
setBase64Flag: function(e) {
|
||||
this.useBase64 = e
|
||||
},
|
||||
encodeData: function(e) {
|
||||
return encodeURIComponent(e).replace(/\!/g, "%21").replace(/\~/g, "%7E").replace(/\*/g, "%2A").replace(/\'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29")
|
||||
},
|
||||
decodeData: function(e) {
|
||||
try {
|
||||
return decodeURIComponent(e).replace(/\%21/g, "!").replace(/\%7E/g, "~").replace(/\%2A/g, "*").replace(/\%27/g, "'").replace(/\%28/g, "(").replace(/\%29/g, ")")
|
||||
} catch (t) {
|
||||
try {
|
||||
return unescape(e)
|
||||
} catch (r) {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
},
|
||||
set: function(e, t, r, n, a) {
|
||||
var i, s;
|
||||
if (r) {
|
||||
var o = new Date;
|
||||
o.setTime(o.getTime() + 60 * r * 1e3), i = "; expires=" + o.toGMTString()
|
||||
} else i = "";
|
||||
s = n && !a ? ";domain=." + n : "";
|
||||
var c = this.encodeData(t);
|
||||
this.useBase64 && (c = btoa(c).replace(/=+$/, "")), document.cookie = this.encodeData(e) + "=" + c + i + s + "; path=/"
|
||||
},
|
||||
get: function(e) {
|
||||
for (var t = this.encodeData(e) + "=", r = document.cookie.split(";"), n = 0; n < r.length; n++) {
|
||||
for (var a = r[n];
|
||||
" " === a.charAt(0);) a = a.substring(1, a.length);
|
||||
if (0 === a.indexOf(t)) {
|
||||
var i = a.substring(t.length, a.length);
|
||||
if (/^[A-Za-z0-9+/]+$/.test(i)) try {
|
||||
i = atob(i.padEnd(4 * Math.ceil(i.length / 4), "="))
|
||||
} catch (s) {}
|
||||
return this.decodeData(i)
|
||||
}
|
||||
}
|
||||
return null
|
||||
},
|
||||
destroy: function(e, t, r) {
|
||||
this.set(e, "", -1, t, r)
|
||||
},
|
||||
parse: function(e) {
|
||||
var t = [],
|
||||
r = {};
|
||||
if ("string" == typeof e) t.push(e);
|
||||
else
|
||||
for (var a in e) e.hasOwnProperty(a) && t.push(e[a]);
|
||||
for (var i = 0; i < t.length; i++) {
|
||||
var s;
|
||||
r[this.unsbjs(t[i])] = {}, s = this.get(t[i]) ? this.get(t[i]).split(n) : [];
|
||||
for (var o = 0; o < s.length; o++) {
|
||||
var c = s[o].split("="),
|
||||
u = c.splice(0, 1);
|
||||
u.push(c.join("=")), r[this.unsbjs(t[i])][u[0]] = this.decodeData(u[1])
|
||||
}
|
||||
}
|
||||
return r
|
||||
},
|
||||
unsbjs: function(e) {
|
||||
return e.replace("sbjs_", "")
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"../data": 2
|
||||
}],
|
||||
4: [function(e, t, r) {
|
||||
"use strict";
|
||||
t.exports = {
|
||||
parse: function(e) {
|
||||
for (var t = this.parseOptions, r = t.parser[t.strictMode ? "strict" : "loose"].exec(e), n = {}, a = 14; a--;) n[t.key[a]] = r[a] || "";
|
||||
return n[t.q.name] = {}, n[t.key[12]].replace(t.q.parser, function(e, r, a) {
|
||||
r && (n[t.q.name][r] = a)
|
||||
}), n
|
||||
},
|
||||
parseOptions: {
|
||||
strictMode: !1,
|
||||
key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
|
||||
q: {
|
||||
name: "queryKey",
|
||||
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
|
||||
},
|
||||
parser: {
|
||||
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
|
||||
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
|
||||
}
|
||||
},
|
||||
getParam: function(e) {
|
||||
for (var t = {}, r = (e || window.location.search.substring(1)).split("&"), n = 0; n < r.length; n++) {
|
||||
var a = r[n].split("=");
|
||||
if ("undefined" == typeof t[a[0]]) t[a[0]] = a[1];
|
||||
else if ("string" == typeof t[a[0]]) {
|
||||
var i = [t[a[0]], a[1]];
|
||||
t[a[0]] = i
|
||||
} else t[a[0]].push(a[1])
|
||||
}
|
||||
return t
|
||||
},
|
||||
getHost: function(e) {
|
||||
return this.parse(e).host.replace("www.", "")
|
||||
}
|
||||
}
|
||||
}, {}],
|
||||
5: [function(e, t, r) {
|
||||
"use strict";
|
||||
t.exports = {
|
||||
escapeRegexp: function(e) {
|
||||
return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")
|
||||
},
|
||||
setDate: function(e, t) {
|
||||
var r = e.getTimezoneOffset() / 60,
|
||||
n = e.getHours(),
|
||||
a = t || 0 === t ? t : -r;
|
||||
return e.setHours(n + r + a), e.getFullYear() + "-" + this.setLeadingZeroToInt(e.getMonth() + 1, 2) + "-" + this.setLeadingZeroToInt(e.getDate(), 2) + " " + this.setLeadingZeroToInt(e.getHours(), 2) + ":" + this.setLeadingZeroToInt(e.getMinutes(), 2) + ":" + this.setLeadingZeroToInt(e.getSeconds(), 2)
|
||||
},
|
||||
setLeadingZeroToInt: function(e, t) {
|
||||
for (var r = e + ""; r.length < t;) r = "0" + r;
|
||||
return r
|
||||
},
|
||||
randomInt: function(e, t) {
|
||||
return Math.floor(Math.random() * (t - e + 1)) + e
|
||||
}
|
||||
}
|
||||
}, {}],
|
||||
6: [function(e, t, r) {
|
||||
"use strict";
|
||||
var n = e("./data"),
|
||||
a = e("./terms"),
|
||||
i = e("./helpers/cookies"),
|
||||
s = e("./helpers/uri"),
|
||||
o = e("./helpers/utils"),
|
||||
c = e("./params"),
|
||||
u = e("./migrations");
|
||||
t.exports = function(e) {
|
||||
var t, r, p, f, m, d, l, g, h, y, _, v, b, x = c.fetch(e),
|
||||
k = s.getParam(),
|
||||
w = x.domain.host,
|
||||
q = x.domain.isolate,
|
||||
I = x.lifetime;
|
||||
|
||||
function j(e) {
|
||||
switch (e) {
|
||||
case a.traffic.utm:
|
||||
t = a.traffic.utm, r = "undefined" != typeof k.utm_source ? k.utm_source : "undefined" != typeof k.gclid ? "google" : "undefined" != typeof k.yclid ? "yandex" : a.none, p = "undefined" != typeof k.utm_medium ? k.utm_medium : "undefined" != typeof k.gclid ? "cpc" : "undefined" != typeof k.yclid ? "cpc" : a.none, f = "undefined" != typeof k.utm_campaign ? k.utm_campaign : "undefined" != typeof k[x.campaign_param] ? k[x.campaign_param] : "undefined" != typeof k.gclid ? "google_cpc" : "undefined" != typeof k.yclid ? "yandex_cpc" : a.none, m = "undefined" != typeof k.utm_content ? k.utm_content : "undefined" != typeof k[x.content_param] ? k[x.content_param] : a.none, l = k.utm_id || a.none, g = k.utm_source_platform || a.none, h = k.utm_creative_format || a.none, y = k.utm_marketing_tactic || a.none, d = "undefined" != typeof k.utm_term ? k.utm_term : "undefined" != typeof k[x.term_param] ? k[x.term_param] : function() {
|
||||
var e = document.referrer;
|
||||
if (k.utm_term) return k.utm_term;
|
||||
if (!(e && s.parse(e).host && s.parse(e).host.match(/^(?:.*\.)?yandex\..{2,9}$/i))) return !1;
|
||||
try {
|
||||
return s.getParam(s.parse(document.referrer).query).text
|
||||
} catch (t) {
|
||||
return !1
|
||||
}
|
||||
}() || a.none;
|
||||
break;
|
||||
case a.traffic.organic:
|
||||
t = a.traffic.organic, r = r || s.getHost(document.referrer), p = a.referer.organic, f = a.none, m = a.none, d = a.none, l = a.none, g = a.none, h = a.none, y = a.none;
|
||||
break;
|
||||
case a.traffic.referral:
|
||||
t = a.traffic.referral, r = r || s.getHost(document.referrer), p = p || a.referer.referral, f = a.none, m = s.parse(document.referrer).path, d = a.none, l = a.none, g = a.none, h = a.none, y = a.none;
|
||||
break;
|
||||
case a.traffic.typein:
|
||||
t = a.traffic.typein, r = x.typein_attributes.source, p = x.typein_attributes.medium, f = a.none, m = a.none, d = a.none, l = a.none, g = a.none, h = a.none, y = a.none;
|
||||
break;
|
||||
default:
|
||||
t = a.oops, r = a.oops, p = a.oops, f = a.oops, m = a.oops, d = a.oops, l = a.oops, g = a.oops, h = a.oops, y = a.oops
|
||||
}
|
||||
var i = {
|
||||
type: t,
|
||||
source: r,
|
||||
medium: p,
|
||||
campaign: f,
|
||||
content: m,
|
||||
term: d,
|
||||
id: l,
|
||||
platform: g,
|
||||
format: h,
|
||||
tactic: y
|
||||
};
|
||||
return n.pack.main(i)
|
||||
}
|
||||
|
||||
function R(e) {
|
||||
var t = document.referrer;
|
||||
switch (e) {
|
||||
case a.traffic.organic:
|
||||
return !!t && H(t) && function(e) {
|
||||
var t = new RegExp("^(?:.*\\.)?" + o.escapeRegexp("yandex") + "\\..{2,9}$"),
|
||||
n = new RegExp(".*" + o.escapeRegexp("text") + "=.*"),
|
||||
a = new RegExp("^(?:www\\.)?" + o.escapeRegexp("google") + "\\..{2,9}$");
|
||||
if (s.parse(e).query && s.parse(e).host.match(t) && s.parse(e).query.match(n)) return r = "yandex", !0;
|
||||
if (s.parse(e).host.match(a)) return r = "google", !0;
|
||||
if (!s.parse(e).query) return !1;
|
||||
for (var i = 0; i < x.organics.length; i++) {
|
||||
if (s.parse(e).host.match(new RegExp("^(?:.*\\.)?" + o.escapeRegexp(x.organics[i].host) + "$", "i")) && s.parse(e).query.match(new RegExp(".*" + o.escapeRegexp(x.organics[i].param) + "=.*", "i"))) return r = x.organics[i].display || x.organics[i].host, !0;
|
||||
if (i + 1 === x.organics.length) return !1
|
||||
}
|
||||
}(t);
|
||||
case a.traffic.referral:
|
||||
return !!t && H(t) && function(e) {
|
||||
if (!(x.referrals.length > 0)) return r = s.getHost(e), !0;
|
||||
for (var t = 0; t < x.referrals.length; t++) {
|
||||
if (s.parse(e).host.match(new RegExp("^(?:.*\\.)?" + o.escapeRegexp(x.referrals[t].host) + "$", "i"))) return r = x.referrals[t].display || x.referrals[t].host, p = x.referrals[t].medium || a.referer.referral, !0;
|
||||
if (t + 1 === x.referrals.length) return r = s.getHost(e), !0
|
||||
}
|
||||
}(t);
|
||||
default:
|
||||
return !1
|
||||
}
|
||||
}
|
||||
|
||||
function H(e) {
|
||||
if (x.domain) {
|
||||
if (q) return s.getHost(e) !== s.getHost(w);
|
||||
var t = new RegExp("^(?:.*\\.)?" + o.escapeRegexp(w) + "$", "i");
|
||||
return !s.getHost(e).match(t)
|
||||
}
|
||||
return s.getHost(e) !== s.getHost(document.location.href)
|
||||
}
|
||||
|
||||
function D() {
|
||||
i.set(n.containers.current_extra, n.pack.extra(x.timezone_offset), I, w, q), i.get(n.containers.first_extra) || i.set(n.containers.first_extra, n.pack.extra(x.timezone_offset), I, w, q)
|
||||
}
|
||||
return i.setBase64Flag(x.base64), u.go(I, w, q), i.set(n.containers.current, function() {
|
||||
var e;
|
||||
if ("undefined" != typeof k.utm_source || "undefined" != typeof k.utm_medium || "undefined" != typeof k.utm_campaign || "undefined" != typeof k.utm_content || "undefined" != typeof k.utm_term || "undefined" != typeof k.utm_id || "undefined" != typeof k.utm_source_platform || "undefined" != typeof k.utm_creative_format || "undefined" != typeof k.utm_marketing_tactic || "undefined" != typeof k.gclid || "undefined" != typeof k.yclid || "undefined" != typeof k[x.campaign_param] || "undefined" != typeof k[x.term_param] || "undefined" != typeof k[x.content_param]) D(), e = j(a.traffic.utm);
|
||||
else if (R(a.traffic.organic)) D(), e = j(a.traffic.organic);
|
||||
else if (!i.get(n.containers.session) && R(a.traffic.referral)) D(), e = j(a.traffic.referral);
|
||||
else {
|
||||
if (i.get(n.containers.first) || i.get(n.containers.current)) return i.get(n.containers.current);
|
||||
D(), e = j(a.traffic.typein)
|
||||
}
|
||||
return e
|
||||
}(), I, w, q), i.get(n.containers.first) || i.set(n.containers.first, i.get(n.containers.current), I, w, q), i.get(n.containers.udata) ? (_ = parseInt(i.parse(n.containers.udata)[i.unsbjs(n.containers.udata)][n.aliases.udata.visits]) || 1, _ = i.get(n.containers.session) ? _ : _ + 1, v = n.pack.user(_, x.user_ip)) : (_ = 1, v = n.pack.user(_, x.user_ip)), i.set(n.containers.udata, v, I, w, q), i.get(n.containers.session) ? (b = parseInt(i.parse(n.containers.session)[i.unsbjs(n.containers.session)][n.aliases.session.pages_seen]) || 1, b += 1) : b = 1, i.set(n.containers.session, n.pack.session(b), x.session_length, w, q), x.promocode && !i.get(n.containers.promocode) && i.set(n.containers.promocode, n.pack.promo(x.promocode), I, w, q), i.parse(n.containers)
|
||||
}
|
||||
}, {
|
||||
"./data": 2,
|
||||
"./helpers/cookies": 3,
|
||||
"./helpers/uri": 4,
|
||||
"./helpers/utils": 5,
|
||||
"./migrations": 7,
|
||||
"./params": 8,
|
||||
"./terms": 9
|
||||
}],
|
||||
7: [function(e, t, r) {
|
||||
"use strict";
|
||||
var n = e("./data"),
|
||||
a = e("./helpers/cookies");
|
||||
t.exports = {
|
||||
go: function(e, t, r) {
|
||||
var i, s = this.migrations,
|
||||
o = {
|
||||
l: e,
|
||||
d: t,
|
||||
i: r
|
||||
};
|
||||
if (a.get(n.containers.first) || a.get(n.service.migrations)) {
|
||||
if (!a.get(n.service.migrations))
|
||||
for (i = 0; i < s.length; i++) s[i].go(s[i].id, o)
|
||||
} else {
|
||||
var c = [];
|
||||
for (i = 0; i < s.length; i++) c.push(s[i].id);
|
||||
var u = "";
|
||||
for (i = 0; i < c.length; i++) u += c[i] + "=1", i < c.length - 1 && (u += n.delimiter);
|
||||
a.set(n.service.migrations, u, o.l, o.d, o.i)
|
||||
}
|
||||
},
|
||||
migrations: [{
|
||||
id: "1418474375998",
|
||||
version: "1.0.0-beta",
|
||||
go: function(e, t) {
|
||||
var r = e + "=1",
|
||||
i = e + "=0",
|
||||
s = function(e, t, r) {
|
||||
return t || r ? e : n.delimiter
|
||||
};
|
||||
try {
|
||||
var o = [];
|
||||
for (var c in n.containers) n.containers.hasOwnProperty(c) && o.push(n.containers[c]);
|
||||
for (var u = 0; u < o.length; u++)
|
||||
if (a.get(o[u])) {
|
||||
var p = a.get(o[u]).replace(/(\|)?\|(\|)?/g, s);
|
||||
a.destroy(o[u], t.d, t.i), a.destroy(o[u], t.d, !t.i), a.set(o[u], p, t.l, t.d, t.i)
|
||||
}
|
||||
a.get(n.containers.session) && a.set(n.containers.session, n.pack.session(0), t.l, t.d, t.i), a.set(n.service.migrations, r, t.l, t.d, t.i)
|
||||
} catch (f) {
|
||||
a.set(n.service.migrations, i, t.l, t.d, t.i)
|
||||
}
|
||||
}
|
||||
}]
|
||||
}
|
||||
}, {
|
||||
"./data": 2,
|
||||
"./helpers/cookies": 3
|
||||
}],
|
||||
8: [function(e, t, r) {
|
||||
"use strict";
|
||||
var n = e("./terms"),
|
||||
a = e("./helpers/uri");
|
||||
t.exports = {
|
||||
fetch: function(e) {
|
||||
var t = e || {},
|
||||
r = {};
|
||||
if (r.lifetime = this.validate.checkFloat(t.lifetime) || 6, r.lifetime = parseInt(30 * r.lifetime * 24 * 60), r.session_length = this.validate.checkInt(t.session_length) || 30, r.timezone_offset = this.validate.checkInt(t.timezone_offset), r.base64 = t.base64 || !1, r.campaign_param = t.campaign_param || !1, r.term_param = t.term_param || !1, r.content_param = t.content_param || !1, r.user_ip = t.user_ip || n.none, t.promocode ? (r.promocode = {}, r.promocode.min = parseInt(t.promocode.min) || 1e5, r.promocode.max = parseInt(t.promocode.max) || 999999) : r.promocode = !1, t.typein_attributes && t.typein_attributes.source && t.typein_attributes.medium ? (r.typein_attributes = {}, r.typein_attributes.source = t.typein_attributes.source, r.typein_attributes.medium = t.typein_attributes.medium) : r.typein_attributes = {
|
||||
source: "(direct)",
|
||||
medium: "(none)"
|
||||
}, t.domain && this.validate.isString(t.domain) ? r.domain = {
|
||||
host: t.domain,
|
||||
isolate: !1
|
||||
} : t.domain && t.domain.host ? r.domain = t.domain : r.domain = {
|
||||
host: a.getHost(document.location.hostname),
|
||||
isolate: !1
|
||||
}, r.referrals = [], t.referrals && t.referrals.length > 0)
|
||||
for (var i = 0; i < t.referrals.length; i++) t.referrals[i].host && r.referrals.push(t.referrals[i]);
|
||||
if (r.organics = [], t.organics && t.organics.length > 0)
|
||||
for (var s = 0; s < t.organics.length; s++) t.organics[s].host && t.organics[s].param && r.organics.push(t.organics[s]);
|
||||
return r.organics.push({
|
||||
host: "bing.com",
|
||||
param: "q",
|
||||
display: "bing"
|
||||
}), r.organics.push({
|
||||
host: "yahoo.com",
|
||||
param: "p",
|
||||
display: "yahoo"
|
||||
}), r.organics.push({
|
||||
host: "about.com",
|
||||
param: "q",
|
||||
display: "about"
|
||||
}), r.organics.push({
|
||||
host: "aol.com",
|
||||
param: "q",
|
||||
display: "aol"
|
||||
}), r.organics.push({
|
||||
host: "ask.com",
|
||||
param: "q",
|
||||
display: "ask"
|
||||
}), r.organics.push({
|
||||
host: "globososo.com",
|
||||
param: "q",
|
||||
display: "globo"
|
||||
}), r.organics.push({
|
||||
host: "go.mail.ru",
|
||||
param: "q",
|
||||
display: "go.mail.ru"
|
||||
}), r.organics.push({
|
||||
host: "rambler.ru",
|
||||
param: "query",
|
||||
display: "rambler"
|
||||
}), r.organics.push({
|
||||
host: "tut.by",
|
||||
param: "query",
|
||||
display: "tut.by"
|
||||
}), r.referrals.push({
|
||||
host: "t.co",
|
||||
display: "twitter.com"
|
||||
}), r.referrals.push({
|
||||
host: "plus.url.google.com",
|
||||
display: "plus.google.com"
|
||||
}), r
|
||||
},
|
||||
validate: {
|
||||
checkFloat: function(e) {
|
||||
return !(!e || !this.isNumeric(parseFloat(e))) && parseFloat(e)
|
||||
},
|
||||
checkInt: function(e) {
|
||||
return !(!e || !this.isNumeric(parseInt(e))) && parseInt(e)
|
||||
},
|
||||
isNumeric: function(e) {
|
||||
return !isNaN(e)
|
||||
},
|
||||
isString: function(e) {
|
||||
return "[object String]" === Object.prototype.toString.call(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"./helpers/uri": 4,
|
||||
"./terms": 9
|
||||
}],
|
||||
9: [function(e, t, r) {
|
||||
"use strict";
|
||||
t.exports = {
|
||||
traffic: {
|
||||
utm: "utm",
|
||||
organic: "organic",
|
||||
referral: "referral",
|
||||
typein: "typein"
|
||||
},
|
||||
referer: {
|
||||
referral: "referral",
|
||||
organic: "organic",
|
||||
social: "social"
|
||||
},
|
||||
none: "(none)",
|
||||
oops: "(Houston, we have a problem)"
|
||||
}
|
||||
}, {}]
|
||||
}, {}, [1])(1)
|
||||
});
|
||||
39
assets/js/tabs-widget.js
Normal file
39
assets/js/tabs-widget.js
Normal file
@@ -0,0 +1,39 @@
|
||||
"use strict";
|
||||
jQuery(window).on("elementor/frontend/init", function() {
|
||||
elementorFrontend.hooks.addAction("frontend/element_ready/logico_tabs.default", function(e) {
|
||||
let i, t, a = e.find(".logico-video-trigger-button"), n = e.find(".logico-video-container"), r = e.find(".logico-video-wrapper"), o = e.find(".logico-close-popup-layer"), u = jQuery(r).attr("data-src"), d = e.find(".logico-tabs-titles-container"), s = e.find(".logico-tabs-content-container");
|
||||
jQuery(d).find(".logico-tab-title-item").first().addClass("active"),
|
||||
jQuery(s).find(".logico-tab-content-item").first().addClass("active"),
|
||||
e.find(".logico-tab-title-item a").on("click", function() {
|
||||
let e = jQuery(this).parent().attr("data-id");
|
||||
jQuery(this).parent().is(".active") || (d.find(".active").removeClass("active"),
|
||||
s.find(".active").removeClass("active"),
|
||||
jQuery(this).parent().addClass("active"),
|
||||
s.find("#" + e).addClass("active"))
|
||||
}),
|
||||
jQuery(a).on("click", function() {
|
||||
jQuery(n).addClass("active"),
|
||||
setTimeout(function() {
|
||||
i = jQuery(r).height(),
|
||||
t = i * (16 / 9),
|
||||
jQuery(r).width(t),
|
||||
jQuery(r).append('<iframe frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="100%" height="100%" src="' + u + '?playlist=ZdXao5XqeqM&iv_load_policy=3&enablejsapi=1&disablekb=1&autoplay=1&controls=1&showinfo=0&rel=0&loop=0&wmode=transparent"></iframe>')
|
||||
}, 100),
|
||||
setTimeout(function() {
|
||||
jQuery(n).addClass("visible")
|
||||
}, 500)
|
||||
}),
|
||||
jQuery(o).on("click", function() {
|
||||
jQuery(n).removeClass("visible"),
|
||||
setTimeout(function() {
|
||||
jQuery(r).html(""),
|
||||
jQuery(n).removeClass("active")
|
||||
}, 500)
|
||||
}),
|
||||
jQuery(window).on("resize", function() {
|
||||
i = jQuery(r).height(),
|
||||
t = i * (16 / 9),
|
||||
jQuery(r).width(t)
|
||||
})
|
||||
})
|
||||
})
|
||||
24
assets/js/test-regex.js
Normal file
24
assets/js/test-regex.js
Normal file
@@ -0,0 +1,24 @@
|
||||
const html = `<h3 class="logico-title">Worldwide air freight service\n</h3>`;
|
||||
const regex = /(^|<\/?[^>]+>|\s+)([^\s<]+)/g;
|
||||
|
||||
let innerHTML = `Worldwide air freight service\n`;
|
||||
|
||||
console.log("Original:", innerHTML);
|
||||
|
||||
innerHTML = innerHTML.replace(regex, '$1<span class="word">$2</span>');
|
||||
console.log("Run 1:", innerHTML);
|
||||
|
||||
// Simulate the letter wrapping
|
||||
innerHTML = innerHTML.replace(/>([^<]+)</g, (match, text) => {
|
||||
return '>' + text.replace(/\S/g, '<span class="letter">$&</span>') + '<';
|
||||
});
|
||||
console.log("Run 1 after letters:", innerHTML);
|
||||
|
||||
innerHTML = innerHTML.replace(regex, '$1<span class="word">$2</span>');
|
||||
console.log("Run 2:", innerHTML);
|
||||
|
||||
// Simulate the letter wrapping again
|
||||
innerHTML = innerHTML.replace(/>([^<]+)</g, (match, text) => {
|
||||
return '>' + text.replace(/\S/g, '<span class="letter">$&</span>') + '<';
|
||||
});
|
||||
console.log("Run 2 after letters:", innerHTML);
|
||||
60
assets/js/text-editor.abc8f59c62f2820dc25a.bundle.min.js
vendored
Normal file
60
assets/js/text-editor.abc8f59c62f2820dc25a.bundle.min.js
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
"use strict";
|
||||
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([
|
||||
[212], {
|
||||
5362: (e, t, r) => {
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.default = void 0, r(4846), r(6211);
|
||||
class TextEditor extends elementorModules.frontend.handlers.Base {
|
||||
getDefaultSettings() {
|
||||
return {
|
||||
selectors: {
|
||||
paragraph: "p:first"
|
||||
},
|
||||
classes: {
|
||||
dropCap: "elementor-drop-cap",
|
||||
dropCapLetter: "elementor-drop-cap-letter"
|
||||
}
|
||||
}
|
||||
}
|
||||
getDefaultElements() {
|
||||
const e = this.getSettings("selectors"),
|
||||
t = this.getSettings("classes"),
|
||||
r = jQuery("<span>", {
|
||||
class: t.dropCap
|
||||
}),
|
||||
p = jQuery("<span>", {
|
||||
class: t.dropCapLetter
|
||||
});
|
||||
return r.append(p), {
|
||||
$paragraph: this.$element.find(e.paragraph),
|
||||
$dropCap: r,
|
||||
$dropCapLetter: p
|
||||
}
|
||||
}
|
||||
wrapDropCap() {
|
||||
if (!this.getElementSettings("drop_cap")) return void(this.dropCapLetter && (this.elements.$dropCap.remove(), this.elements.$paragraph.prepend(this.dropCapLetter), this.dropCapLetter = ""));
|
||||
const e = this.elements.$paragraph;
|
||||
if (!e.length) return;
|
||||
const t = e.html().replace(/ /g, " "),
|
||||
r = t.match(/^ *([^ ] ?)/);
|
||||
if (!r) return;
|
||||
const p = r[1],
|
||||
s = p.trim();
|
||||
if ("<" === s) return;
|
||||
this.dropCapLetter = p, this.elements.$dropCapLetter.text(s);
|
||||
const a = t.slice(p.length).replace(/^ */, e => new Array(e.length + 1).join(" "));
|
||||
e.html(a).prepend(this.elements.$dropCap)
|
||||
}
|
||||
onInit() {
|
||||
super.onInit(...arguments), this.wrapDropCap()
|
||||
}
|
||||
onElementChange(e) {
|
||||
"drop_cap" === e && this.wrapDropCap()
|
||||
}
|
||||
}
|
||||
t.default = TextEditor
|
||||
}
|
||||
}
|
||||
]);
|
||||
612
assets/js/theme.js
Normal file
612
assets/js/theme.js
Normal file
@@ -0,0 +1,612 @@
|
||||
"use strict";
|
||||
|
||||
function set_device_mode() {
|
||||
let attr = jQuery('body').attr('data-elementor-device-mode'),
|
||||
mode = 'mobile';
|
||||
if (typeof attr === 'undefined' && attr === !1) {
|
||||
if (jQuery(window).width() > 480) {
|
||||
mode = 'mobile_extra'
|
||||
}
|
||||
if (jQuery(window).width() > 660) {
|
||||
mode = 'tablet'
|
||||
}
|
||||
if (jQuery(window).width() > 840) {
|
||||
mode = 'tablet_extra'
|
||||
}
|
||||
if (jQuery(window).width() > 1020) {
|
||||
mode = 'laptop'
|
||||
}
|
||||
if (jQuery(window).width() > 1200) {
|
||||
mode = 'desktop'
|
||||
}
|
||||
if (jQuery(window).width() >= 2400) {
|
||||
mode = 'widescreen'
|
||||
}
|
||||
} else {
|
||||
mode = attr
|
||||
}
|
||||
jQuery('body').attr('data-mode', mode)
|
||||
}
|
||||
|
||||
function side_panel_open() {
|
||||
jQuery('.dropdown-trigger').on('click', function() {
|
||||
let elemID = '#side-panel-' + jQuery(this).attr('data-id');
|
||||
jQuery(elemID + ', .body-overlay').addClass('active')
|
||||
});
|
||||
jQuery('.slide-sidebar-close').on('click', function() {
|
||||
jQuery(this).parents('.slide-sidebar-wrapper').removeClass('active');
|
||||
jQuery('.body-overlay').removeClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
function search_panel_open() {
|
||||
jQuery('.search-trigger').on('click', function() {
|
||||
let elemID = '#site-search-' + jQuery(this).attr('data-id');
|
||||
jQuery(elemID + ', .body-overlay').addClass('active');
|
||||
jQuery(elemID + ' .search-form .search-form-field').focus()
|
||||
});
|
||||
jQuery('.site-search-close').on('click', function() {
|
||||
jQuery(this).parents('.site-search').removeClass('active');
|
||||
jQuery('.body-overlay').removeClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
function overlay_close_all() {
|
||||
jQuery('.body-overlay').on('click', function() {
|
||||
jQuery(this).removeClass('active');
|
||||
jQuery('.site-search, .mobile-header-menu-container, .simple-sidebar, .slide-sidebar-wrapper, .shop-hidden-sidebar').removeClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
function switch_form_columns() {
|
||||
jQuery('.tab-columns-switcher').on('click', function() {
|
||||
jQuery('.tab-column', jQuery(this).parents('.tab-columns')).toggleClass('hidden')
|
||||
})
|
||||
}
|
||||
|
||||
function sticky_menu_active() {
|
||||
if (jQuery('.sticky-header-on').length) {
|
||||
jQuery('.sticky-header-on').each(function() {
|
||||
let obj = jQuery(this),
|
||||
el_offset = obj.offset().top,
|
||||
el_height = Math.round(jQuery('.sticky-wrapper', obj).outerHeight()),
|
||||
el_ready = Math.round(el_offset + el_height + 200),
|
||||
el_start = Math.round(el_offset + el_height + 400);
|
||||
obj.height(el_height);
|
||||
jQuery(window).on('scroll', function() {
|
||||
let st = jQuery(window).scrollTop();
|
||||
if (st <= el_ready) {
|
||||
obj.removeClass('sticky-ready')
|
||||
} else {
|
||||
obj.addClass('sticky-ready')
|
||||
}
|
||||
if (st <= el_start) {
|
||||
obj.removeClass('sticky-active')
|
||||
} else {
|
||||
obj.addClass('sticky-active')
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function mobile_menu_open() {
|
||||
jQuery('.menu-trigger').on('click', function() {
|
||||
let elemID = '#mobile-header-' + jQuery(this).attr('data-id');
|
||||
jQuery(elemID + ', .body-overlay').addClass('active')
|
||||
});
|
||||
jQuery('.menu-close').on('click', function() {
|
||||
jQuery(this).parents('.mobile-header-menu-container').removeClass('active');
|
||||
jQuery('.body-overlay').removeClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
function simple_sidebar_open() {
|
||||
jQuery('.simple-sidebar-trigger').on('click', function() {
|
||||
let elemID = '#simple-sidebar-' + jQuery(this).attr('data-id');
|
||||
if (jQuery(window).width() < 1021) {
|
||||
jQuery(elemID + ', .body-overlay').addClass('active')
|
||||
}
|
||||
});
|
||||
jQuery('.shop-hidden-sidebar-close').on('click', function() {
|
||||
jQuery(this).parents('.simple-sidebar').removeClass('active');
|
||||
jQuery('.body-overlay').removeClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
function tracking_popup_open() {
|
||||
jQuery('.tracking-trigger').on('click', function() {
|
||||
let elemID = '#tracking-popup-' + jQuery(this).attr('data-id');
|
||||
jQuery(elemID).fadeIn(300)
|
||||
});
|
||||
jQuery('.tracking-form-close').on('click', function() {
|
||||
jQuery(this).parents('.tracking-form-wrapper').fadeOut(300)
|
||||
})
|
||||
}
|
||||
|
||||
function page_title_animate() {
|
||||
if (jQuery('.page-loader-container').length) {
|
||||
jQuery('body').on('pageloader_start_hidden', function() {
|
||||
if (jQuery(window).innerWidth() > 1020) {
|
||||
jQuery('.page-title-decoration.animation-enable').addClass('animated')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
jQuery(window).on('load', function() {
|
||||
if (jQuery(window).innerWidth() > 1020) {
|
||||
jQuery('.page-title-decoration.animation-enable').addClass('animated')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function decorative_block_animate() {
|
||||
jQuery('.block-decoration').each(function() {
|
||||
let element = jQuery(this);
|
||||
let observer = new IntersectionObserver(function(entries, observer) {
|
||||
entries.forEach(function(entry) {
|
||||
if (entry.isIntersecting) {
|
||||
setTimeout(function() {
|
||||
element.addClass('animated')
|
||||
}, 300);
|
||||
observer.unobserve(element[0])
|
||||
}
|
||||
})
|
||||
});
|
||||
observer.observe(element[0])
|
||||
})
|
||||
}
|
||||
|
||||
function widget_list_hierarchy_init() {
|
||||
widget_archives_hierarchy_controller('.widget ul li', 'ul.children', 'parent-archive', 'widget-archive-trigger');
|
||||
widget_archives_hierarchy_controller('.widget_nav_menu .menu li', 'ul.sub-menu', 'parent-archive', 'widget-menu-trigger')
|
||||
}
|
||||
|
||||
function widget_archives_hierarchy_controller(list_item_selector, sublist_item_selector, parent_class, trigger_class) {
|
||||
jQuery(list_item_selector).has(sublist_item_selector).each(function() {
|
||||
jQuery(this).addClass(parent_class);
|
||||
jQuery(this).append("<span class='" + trigger_class + "'></span>")
|
||||
});
|
||||
jQuery(list_item_selector + ">" + sublist_item_selector).css("display", "none");
|
||||
jQuery(list_item_selector + ">.item-wrapper>" + sublist_item_selector).css("display", "none");
|
||||
jQuery(document).on("click", "." + trigger_class, function() {
|
||||
var el = jQuery(this);
|
||||
var sublist = el.siblings(sublist_item_selector);
|
||||
var sublist_alt = el.siblings('.item-wrapper').children(sublist_item_selector);
|
||||
if (!sublist.length && !sublist_alt.length) return;
|
||||
sublist = sublist.first();
|
||||
sublist_alt = sublist_alt.first();
|
||||
el.toggleClass('active').parents('li').toggleClass('active');
|
||||
sublist.slideToggle(300);
|
||||
sublist_alt.slideToggle(300)
|
||||
})
|
||||
}
|
||||
|
||||
function fix_responsive_iframe() {
|
||||
jQuery('.video-embed > div').each(function() {
|
||||
jQuery(this).unwrap('.video-embed')
|
||||
})
|
||||
}
|
||||
|
||||
function elements_slider_init() {
|
||||
jQuery('.elementor-element .owl-carousel, .content-inner > .archive-listing .owl-carousel, .single-post .owl-carousel').each(function() {
|
||||
let slider = jQuery(this),
|
||||
slider_options = slider.data('slider-options'),
|
||||
itemsMobile = slider_options.itemsMobile,
|
||||
itemsMobileExtra = slider_options.itemsMobileExtra,
|
||||
itemsTablet = slider_options.itemsTablet,
|
||||
itemsTabletExtra = slider_options.itemsTabletExtra,
|
||||
itemsLaptop = slider_options.itemsLaptop,
|
||||
itemsDesktop = slider_options.items,
|
||||
itemsWidescreen = slider_options.itemsWidescreen,
|
||||
slideCount = jQuery('.slider-item', slider).length,
|
||||
progress = slider_options.progress ? slider_options.progress : !1;
|
||||
slider_options.responsive = {
|
||||
0: {
|
||||
items: itemsMobile
|
||||
},
|
||||
480: {
|
||||
items: itemsMobileExtra
|
||||
},
|
||||
660: {
|
||||
items: itemsTablet
|
||||
},
|
||||
840: {
|
||||
items: itemsTabletExtra
|
||||
},
|
||||
1020: {
|
||||
items: itemsLaptop
|
||||
},
|
||||
1200: {
|
||||
items: itemsDesktop
|
||||
},
|
||||
2400: {
|
||||
items: itemsWidescreen
|
||||
}
|
||||
};
|
||||
slider_options.onInitialized = function(event) {
|
||||
if (progress) {
|
||||
let progress_wrapper = slider.parents('.elementor-widget-container'),
|
||||
progress_current = jQuery('.slider-progress-current', progress_wrapper),
|
||||
progress_all = jQuery('.slider-progress-all', progress_wrapper),
|
||||
items_count = jQuery('.owl-item:not(.cloned)').length,
|
||||
items_visible = jQuery('.owl-item.active').length,
|
||||
pages = 0;
|
||||
pages = Math.ceil(items_count / items_visible);
|
||||
pages = pages < 10 ? '0' + pages : pages;
|
||||
progress_all.text(pages);
|
||||
progress_current.text('01')
|
||||
}
|
||||
};
|
||||
slider.owlCarousel(slider_options).on('changed.owl.carousel', function(e) {
|
||||
if (slider_options.autoplay) {
|
||||
slider.trigger('stop.owl.autoplay');
|
||||
slider.trigger('play.owl.autoplay')
|
||||
}
|
||||
});
|
||||
if (progress) {
|
||||
slider.on('changed.owl.carousel', function(event) {
|
||||
let progress_wrapper = slider.parents('.elementor-widget-container'),
|
||||
progress_current = jQuery('.slider-progress-current', progress_wrapper),
|
||||
progress_all = jQuery('.slider-progress-all', progress_wrapper);
|
||||
progress_all.text(event.page.count < 10 ? '0' + event.page.count : event.page.count);
|
||||
progress_current.text((event.page.index + 1) < 10 ? '0' + (event.page.index + 1) : (event.page.index + 1))
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function single_portfolio_slider_init() {
|
||||
jQuery('.portfolio-post-gallery.owl-carousel').each(function() {
|
||||
jQuery(this).owlCarousel({
|
||||
items: 1,
|
||||
nav: !1,
|
||||
dots: !1,
|
||||
autoplay: !1,
|
||||
autoplayHoverPause: !1,
|
||||
loop: !0,
|
||||
rewind: !1,
|
||||
dotsContainer: !1,
|
||||
autoHeight: !1,
|
||||
center: !0,
|
||||
margin: 10,
|
||||
rtl: (!!jQuery('body').hasClass('rtl'))
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function isotope_init() {
|
||||
if (jQuery('.isotope').length > 0) {
|
||||
jQuery('.isotope-trigger').isotope({
|
||||
itemSelector: '.isotope-item',
|
||||
gutter: 0
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function help_item_acardeon() {
|
||||
jQuery('.help-item').each(function() {
|
||||
jQuery('.help-item-title', this).on('click', function() {
|
||||
jQuery(this).siblings('.help-item-content').slideToggle(300).parents('.help-item').toggleClass('active')
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function background_image_parallax(object, multiplier) {
|
||||
if (object.length > 0) {
|
||||
multiplier = typeof multiplier !== 'undefined' ? multiplier : 0.5;
|
||||
multiplier = 1 - multiplier;
|
||||
var doc = jQuery(document);
|
||||
object.css({
|
||||
'background-attatchment': 'fixed'
|
||||
});
|
||||
jQuery(window).scroll(function() {
|
||||
if (jQuery(window).width() >= 1021) {
|
||||
var from_top = doc.scrollTop() - object.offset().top,
|
||||
bg_css = 'center ' + (multiplier * from_top) + 'px';
|
||||
object.css({
|
||||
'background-position': bg_css
|
||||
})
|
||||
} else {
|
||||
object.css({
|
||||
'background-position': ''
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function scroll_to_top_init() {
|
||||
let scrollTop = jQuery(window).scrollTop();
|
||||
if (scrollTop > 600) {
|
||||
jQuery('.footer-scroll-top').addClass('active')
|
||||
} else {
|
||||
jQuery('.footer-scroll-top').removeClass('active')
|
||||
}
|
||||
}
|
||||
|
||||
function check_custom_field(element) {
|
||||
if (element.val() || jQuery('option.placeholder', element).is(':selected')) {
|
||||
element.parents('.logico-form-field, .woocommerce-input-wrapper, .wp-block-search__inside-wrapper').addClass('not-empty')
|
||||
} else {
|
||||
element.parents('.logico-form-field, .woocommerce-input-wrapper, .wp-block-search__inside-wrapper').removeClass('not-empty')
|
||||
}
|
||||
}
|
||||
|
||||
function wrap_multycolumns_wpform_fields(wrapper) {
|
||||
jQuery('.wpforms-field .wpforms-field-row .wpforms-field-row-block input', wrapper).each(function() {
|
||||
jQuery(this).wrap('<div class="logico-form-field"></div>')
|
||||
})
|
||||
}
|
||||
|
||||
function logico_custom_cursor() {
|
||||
if (jQuery(window).width() > 1020) {
|
||||
jQuery('.custom-cursor-drag').each(function() {
|
||||
const cursor = jQuery(this);
|
||||
const wrapper = cursor.siblings('.owl-carousel');
|
||||
|
||||
function showViewCursor(event) {
|
||||
cursor.css('left', event.clientX - 32).css('top', event.clientY - 32)
|
||||
}
|
||||
wrapper.mousemove(showViewCursor);
|
||||
wrapper.mouseleave(function(e) {
|
||||
if (!jQuery('body').hasClass('elementor-editor-preview')) {
|
||||
wrapper.css({
|
||||
cursor: 'auto'
|
||||
});
|
||||
cursor.removeClass('active');
|
||||
setTimeout(function() {
|
||||
if (!cursor.hasClass('active')) {
|
||||
cursor.hide()
|
||||
}
|
||||
}, 300)
|
||||
}
|
||||
});
|
||||
wrapper.mouseenter(function(e) {
|
||||
if (!jQuery('body').hasClass('elementor-editor-preview')) {
|
||||
wrapper.css({
|
||||
cursor: 'none'
|
||||
});
|
||||
cursor.show();
|
||||
setTimeout(function() {
|
||||
cursor.addClass('active')
|
||||
}, 10)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function logico_ticker() {
|
||||
jQuery('.ticker').marquee('destroy').marquee({
|
||||
allowCss3Support: !0,
|
||||
css3easing: 'linear',
|
||||
easing: 'linear',
|
||||
delayBeforeStart: 0,
|
||||
direction: jQuery('.ticker').parents('.logico-ticker-wrapper').data('direction'),
|
||||
duplicated: !0,
|
||||
duration: jQuery('.ticker').parents('.logico-ticker-wrapper').data('speed') * 1000,
|
||||
gap: 0,
|
||||
pauseOnCycle: !1,
|
||||
pauseOnHover: !1,
|
||||
startVisible: !0
|
||||
})
|
||||
}
|
||||
|
||||
function mobile_menu() {
|
||||
jQuery('.mobile-header-menu-container .main-menu').find('.menu-item').each(function(i, el) {
|
||||
if (jQuery(el).find('.sub-menu').length != 0 && jQuery(el).find('.sub-menu-trigger').length == 0) {
|
||||
jQuery(el).append('<span class="sub-menu-trigger"></span>')
|
||||
}
|
||||
});
|
||||
jQuery('.sub-menu-trigger').off();
|
||||
jQuery('.sub-menu-trigger').on('click', function() {
|
||||
if (jQuery(this).parent().hasClass('active')) {
|
||||
jQuery(this).prev().slideUp();
|
||||
jQuery(this).parent().removeClass('active')
|
||||
} else {
|
||||
var currentParents = jQuery(this).parents('.menu-item');
|
||||
jQuery('.sub-menu-trigger').parent().not(currentParents).removeClass('active');
|
||||
jQuery('.sub-menu-trigger').parent().not(currentParents).find('.sub-menu').slideUp(300);
|
||||
jQuery(this).prev().slideDown();
|
||||
jQuery(this).parent().addClass('active')
|
||||
}
|
||||
});
|
||||
jQuery('.mobile-header-menu-container .main-menu a').on('click', function() {
|
||||
jQuery('.site-search, .body-overlay, .mobile-header-menu-container').removeClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
function scroll_to_anchor() {
|
||||
jQuery('.scroll-to-anchor a[href*="#"]').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
jQuery('body, html').animate({
|
||||
scrollTop: jQuery(this.hash).offset().top - 150 + 'px'
|
||||
}, 600);
|
||||
window.location.href = jQuery(this).attr('href');
|
||||
return !1
|
||||
})
|
||||
}
|
||||
|
||||
function page_loader_controller() {
|
||||
var page_loader, interval, timeLaps;
|
||||
page_loader = jQuery('.page-loader');
|
||||
timeLaps = 0;
|
||||
interval = setInterval(function() {
|
||||
var page_loaded = check_if_page_loaded();
|
||||
timeLaps++;
|
||||
if (page_loaded || timeLaps === 12) {
|
||||
clearInterval(interval);
|
||||
page_loader.stop_loader()
|
||||
}
|
||||
}, 10)
|
||||
}
|
||||
|
||||
function check_if_page_loaded() {
|
||||
var keys, key, i, r;
|
||||
if (window.modules_state === undefined) return !1;
|
||||
r = !0;
|
||||
keys = Object.keys(window.modules_state);
|
||||
for (i = 0; i < keys.length; i++) {
|
||||
key = keys[i];
|
||||
if (!window.modules_state[key]) {
|
||||
r = !1;
|
||||
break
|
||||
}
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
function start_loader() {
|
||||
let loader = jQuery(this);
|
||||
if (!loader.length) return;
|
||||
let loader_container = loader[0].parentNode;
|
||||
if (loader_container != null) {
|
||||
loader_container.style.opacity = 1;
|
||||
setTimeout(function() {
|
||||
loader_container.style.display = "block"
|
||||
}, 10)
|
||||
}
|
||||
}
|
||||
|
||||
function stop_loader() {
|
||||
let loader = jQuery(this);
|
||||
if (!loader.length) return;
|
||||
let loader_container = loader[0].parentNode;
|
||||
jQuery('body').trigger('pageloader_start_hidden');
|
||||
if (loader_container != null) {
|
||||
setTimeout(function() {
|
||||
loader_container.style.opacity = 0;
|
||||
setTimeout(function() {
|
||||
loader_container.style.display = "none"
|
||||
}, 300)
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
|
||||
function genre_get_posts(paged = 1, id = null, filter_term = null, filter_taxonomy = null) {
|
||||
var ajax_url = ajax_params.ajax_url;
|
||||
var args = jQuery('.archive-listing', '.elementor-element-' + id).attr('data-ajax');
|
||||
var widget = jQuery('.archive-listing', '.elementor-element-' + id).attr('data-widget');
|
||||
var classes = jQuery('.archive-listing-wrapper', '.elementor-element-' + id).attr('class');
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: ajax_url,
|
||||
data: {
|
||||
action: 'pagination',
|
||||
args: args,
|
||||
widget: widget,
|
||||
paged: paged,
|
||||
classes: classes,
|
||||
id: id,
|
||||
filter_term: filter_term,
|
||||
filter_taxonomy: filter_taxonomy,
|
||||
security: ajax_params.ajax_nonce
|
||||
},
|
||||
beforeSend: function() {
|
||||
var height = jQuery('.archive-listing', '.elementor-element-' + id).outerHeight();
|
||||
jQuery('.archive-listing', '.elementor-element-' + id).height(height).addClass('loading')
|
||||
},
|
||||
success: function(data) {
|
||||
jQuery('.archive-listing', '.elementor-element-' + id).html(data);
|
||||
if (jQuery(window.wp.mediaelement).length > 0) {
|
||||
jQuery(window.wp.mediaelement.initialize)
|
||||
}
|
||||
setTimeout(function() {
|
||||
jQuery('.archive-listing', '.elementor-element-' + id).removeAttr('style').removeClass('loading')
|
||||
}, 500);
|
||||
setTimeout(elements_slider_init, 300);
|
||||
setTimeout(fix_responsive_iframe, 600);
|
||||
setTimeout(isotope_init, 500)
|
||||
},
|
||||
error: function() {
|
||||
jQuery('.archive-listing', '.elementor-element-' + id).html('<p class="error">AJAX ERROR</p>')
|
||||
}
|
||||
})
|
||||
}
|
||||
jQuery(document).ready(function() {
|
||||
setTimeout(sticky_menu_active, 300);
|
||||
jQuery('.footer-scroll-top').on('click', function() {
|
||||
jQuery('html, body').animate({
|
||||
scrollTop: 0
|
||||
}, 500)
|
||||
});
|
||||
side_panel_open();
|
||||
search_panel_open();
|
||||
overlay_close_all();
|
||||
setTimeout(set_device_mode, 300);
|
||||
switch_form_columns();
|
||||
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7);
|
||||
mobile_menu_open();
|
||||
tracking_popup_open();
|
||||
simple_sidebar_open();
|
||||
page_title_animate();
|
||||
decorative_block_animate();
|
||||
help_item_acardeon();
|
||||
mobile_menu();
|
||||
widget_list_hierarchy_init();
|
||||
setTimeout(fix_responsive_iframe, 800);
|
||||
setTimeout(isotope_init, 500);
|
||||
wrap_multycolumns_wpform_fields(document);
|
||||
jQuery('.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text').not(':hidden').each(function() {
|
||||
check_custom_field(jQuery(this))
|
||||
});
|
||||
logico_custom_cursor();
|
||||
logico_ticker();
|
||||
scroll_to_anchor();
|
||||
scroll_to_top_init();
|
||||
jQuery('.elementor-widget').on('click', '.content-pagination a', function(e) {
|
||||
e.preventDefault();
|
||||
var paged = null;
|
||||
var id = jQuery(this).parents('.elementor-widget').attr('data-id');
|
||||
if (jQuery(this).hasClass('prev')) {
|
||||
paged = parseInt(jQuery(this).siblings('.current').text()) - 1
|
||||
} else if (jQuery(this).hasClass('next')) {
|
||||
paged = parseInt(jQuery(this).siblings('.current').text()) + 1
|
||||
} else {
|
||||
paged = parseInt(jQuery(this).text())
|
||||
}
|
||||
var filter_term = jQuery('.filter-control-list .dot.active', jQuery(this).parents('.archive-listing').siblings('.filter-control-wrapper')).attr('data-value');
|
||||
var filter_taxonomy = jQuery('.filter-control-list', jQuery(this).parents('.archive-listing').siblings('.filter-control-wrapper')).attr('data-taxonomy');
|
||||
genre_get_posts(paged, id, filter_term, filter_taxonomy)
|
||||
});
|
||||
jQuery('.elementor-widget').on('click', '.filter-control-list .filter-control-item', function(e) {
|
||||
e.preventDefault();
|
||||
var paged = 1;
|
||||
var id = jQuery(this).parents('.elementor-widget').attr('data-id');
|
||||
var filter_term = jQuery(this).attr('data-value');
|
||||
var filter_taxonomy = jQuery(this).parents('.filter-control-list').attr('data-taxonomy');
|
||||
if (filter_term === 'all') {
|
||||
filter_term = null
|
||||
}
|
||||
jQuery(this).addClass('active').siblings('.filter-control-item').removeClass('active');
|
||||
genre_get_posts(paged, id, filter_term, filter_taxonomy)
|
||||
})
|
||||
});
|
||||
jQuery(window).on('load', function() {
|
||||
jQuery.fn.start_loader = start_loader;
|
||||
jQuery.fn.stop_loader = stop_loader;
|
||||
page_loader_controller();
|
||||
elements_slider_init();
|
||||
single_portfolio_slider_init()
|
||||
});
|
||||
jQuery(window).on('resize', function() {
|
||||
setTimeout(set_device_mode, 300);
|
||||
setTimeout(sticky_menu_active, 300);
|
||||
mobile_menu_open();
|
||||
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7);
|
||||
logico_custom_cursor();
|
||||
logico_ticker()
|
||||
});
|
||||
jQuery(window).on('scroll', function() {
|
||||
scroll_to_top_init()
|
||||
});
|
||||
jQuery(document).on('elementor/popup/show', function(event, popupId, popupDocument) {
|
||||
wrap_multycolumns_wpform_fields(popupDocument);
|
||||
jQuery('.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text').each(function() {
|
||||
check_custom_field(jQuery(this))
|
||||
})
|
||||
});
|
||||
jQuery(document).on('change', '.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text', function() {
|
||||
check_custom_field(jQuery(this))
|
||||
})
|
||||
53
assets/js/utils.min.js
vendored
Normal file
53
assets/js/utils.min.js
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
var WPFormsUtils = window.WPFormsUtils || (o => {
|
||||
let a = {
|
||||
triggerEvent(r, t, e = []) {
|
||||
t = new o.Event(t);
|
||||
return r.trigger(t, e), t
|
||||
},
|
||||
debounce(o, s, l) {
|
||||
let a;
|
||||
return function() {
|
||||
let r = this,
|
||||
t = arguments;
|
||||
var e = l && !a;
|
||||
clearTimeout(a), a = setTimeout(function() {
|
||||
a = null, l || o.apply(r, t)
|
||||
}, s), e && o.apply(r, t)
|
||||
}
|
||||
},
|
||||
cssColorsUtils: {
|
||||
isTransparentColor(r, t = .33) {
|
||||
r = a.cssColorsUtils.getColorAsRGBArray(r);
|
||||
return Number(r ? .[3]) <= t
|
||||
},
|
||||
getColorAsRGBArray(r) {
|
||||
if (!a.cssColorsUtils.isValidColor(r)) return !1;
|
||||
r = "transparent" === (r = r.replace(/^#/, "").replaceAll(" ", "")) ? "rgba(0,0,0,0)" : r;
|
||||
let t;
|
||||
return r.match(/[0-9a-f]{6,8}$/gi) ? (t = r.match(/\w\w/g).map(r => parseInt(r, 16)))[3] = t[3] || 0 === t[3] ? (t[3] / 255).toFixed(2) : 1 : t = r.split("(")[1].split(")")[0].split(","), t
|
||||
},
|
||||
isValidColor(r) {
|
||||
var t = (new Option).style;
|
||||
return t.color = r, "" !== t.color
|
||||
},
|
||||
getContrastColor(r) {
|
||||
var r = a.cssColorsUtils.getColorAsRGBArray(r),
|
||||
t = r.reduce((r, t) => r + t, 0);
|
||||
return Math.round(t / 3 * (r[3] ? ? 1)) < 128 ? "#ffffff" : "#000000"
|
||||
},
|
||||
getColorWithOpacity(r, t) {
|
||||
r = r.trim();
|
||||
var e = a.cssColorsUtils.getColorAsRGBArray(r);
|
||||
if (!e) return r;
|
||||
t = t && 0 !== t.length ? t.toString() : "1";
|
||||
r = 4 === e.length ? parseFloat(e[3]) : 1, t = parseFloat(t) * r;
|
||||
return `rgba(${e[0]},${e[1]},${e[2]},${t})`.replace(/\s+/g, "")
|
||||
},
|
||||
rgbaToHex(r) {
|
||||
var t, e, o, s, l;
|
||||
return /^rgb/.test(r) ? !!(s = a.cssColorsUtils.getColorAsRGBArray(r)) && (t = Number(s[0]), e = Number(s[1]), o = Number(s[2]), s = s[3] ? Math.round(255 * Number(s[3])) : 255, ("#" + [(l = r => r.toString(16).padStart(2, "0"))(t), l(e), l(o), s < 255 ? l(s) : ""].join("")).toLowerCase()) : r
|
||||
}
|
||||
}
|
||||
};
|
||||
return a
|
||||
})((document, window, jQuery));
|
||||
132
assets/js/webpack.runtime.min.js
vendored
Normal file
132
assets/js/webpack.runtime.min.js
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
(() => {
|
||||
"use strict";
|
||||
var e, r, _, t, n, a = {},
|
||||
i = {};
|
||||
|
||||
function __webpack_require__(e) {
|
||||
var r = i[e];
|
||||
if (void 0 !== r) return r.exports;
|
||||
var _ = i[e] = {
|
||||
exports: {}
|
||||
};
|
||||
return a[e].call(_.exports, _, _.exports, __webpack_require__), _.exports
|
||||
}
|
||||
__webpack_require__.m = a, e = [], __webpack_require__.O = (r, _, t, n) => {
|
||||
if (!_) {
|
||||
var a = 1 / 0;
|
||||
for (o = 0; o < e.length; o++) {
|
||||
for (var [_, t, n] = e[o], i = !0, c = 0; c < _.length; c++)(!1 & n || a >= n) && Object.keys(__webpack_require__.O).every(e => __webpack_require__.O[e](_[c])) ? _.splice(c--, 1) : (i = !1, n < a && (a = n));
|
||||
if (i) {
|
||||
e.splice(o--, 1);
|
||||
var b = t();
|
||||
void 0 !== b && (r = b)
|
||||
}
|
||||
}
|
||||
return r
|
||||
}
|
||||
n = n || 0;
|
||||
for (var o = e.length; o > 0 && e[o - 1][2] > n; o--) e[o] = e[o - 1];
|
||||
e[o] = [_, t, n]
|
||||
}, _ = Object.getPrototypeOf ? e => Object.getPrototypeOf(e) : e => e.__proto__, __webpack_require__.t = function(e, t) {
|
||||
if (1 & t && (e = this(e)), 8 & t) return e;
|
||||
if ("object" == typeof e && e) {
|
||||
if (4 & t && e.__esModule) return e;
|
||||
if (16 & t && "function" == typeof e.then) return e
|
||||
}
|
||||
var n = Object.create(null);
|
||||
__webpack_require__.r(n);
|
||||
var a = {};
|
||||
r = r || [null, _({}), _([]), _(_)];
|
||||
for (var i = 2 & t && e;
|
||||
"object" == typeof i && !~r.indexOf(i); i = _(i)) Object.getOwnPropertyNames(i).forEach(r => a[r] = () => e[r]);
|
||||
return a.default = () => e, __webpack_require__.d(n, a), n
|
||||
}, __webpack_require__.d = (e, r) => {
|
||||
for (var _ in r) __webpack_require__.o(r, _) && !__webpack_require__.o(e, _) && Object.defineProperty(e, _, {
|
||||
enumerable: !0,
|
||||
get: r[_]
|
||||
})
|
||||
}, __webpack_require__.f = {}, __webpack_require__.e = e => Promise.all(Object.keys(__webpack_require__.f).reduce((r, _) => (__webpack_require__.f[_](e, r), r), [])), __webpack_require__.u = e => 216 === e ? "lightbox.408665be3d65f6ab17f0.bundle.min.js" : 30 === e ? "text-path.ebcd5a983a56266562f3.bundle.min.js" : 131 === e ? "accordion.28788e18d1d35c23f450.bundle.min.js" : 707 === e ? "alert.42cc1d522ef5c60bf874.bundle.min.js" : 457 === e ? "counter.12335f45aaa79d244f24.bundle.min.js" : 234 === e ? "progress.0ea083b809812c0e3aa1.bundle.min.js" : 575 === e ? "tabs.1a165c2a54522842b0f1.bundle.min.js" : 775 === e ? "toggle.f7afe5f9f0f912b34b22.bundle.min.js" : 180 === e ? "video.87291d1f5076f8939c18.bundle.min.js" : 177 === e ? "image-carousel.6167d20b95b33386757b.bundle.min.js" : 212 === e ? "text-editor.abc8f59c62f2820dc25a.bundle.min.js" : 211 === e ? "wp-audio.c9624cb6e5dc9de86abd.bundle.min.js" : 215 === e ? "nested-tabs.a542ad943214eb6c3ed8.bundle.min.js" : 915 === e ? "nested-accordion.a29d85d5aa492aef7142.bundle.min.js" : 1 === e ? "contact-buttons.d999c7d620ad8d4132c6.bundle.min.js" : 336 === e ? "floating-bars.a3070326b4333354cbd7.bundle.min.js" : 557 === e ? "shared-frontend-handlers.4c8abccc3e268b0767b2.bundle.min.js" : 396 === e ? "shared-editor-handlers.a182e3f9ce3b8b1e4b74.bundle.min.js" : 768 === e ? "container-editor-handlers.e7ee82232887ec8b73b7.bundle.min.js" : 77 === e ? "section-frontend-handlers.d85ab872da118940910d.bundle.min.js" : 220 === e ? "section-editor-handlers.c420276353ec5aba196e.bundle.min.js" : 304 === e ? "nested-title-keyboard-handler.fc9d01c2cd0ef46d20fd.bundle.min.js" : void 0, __webpack_require__.g = function() {
|
||||
if ("object" == typeof globalThis) return globalThis;
|
||||
try {
|
||||
return this || new Function("return this")()
|
||||
} catch (e) {
|
||||
if ("object" == typeof window) return window
|
||||
}
|
||||
}(), __webpack_require__.o = (e, r) => Object.prototype.hasOwnProperty.call(e, r), t = {}, n = "elementorFrontend:", __webpack_require__.l = (e, r, _, a) => {
|
||||
if (t[e]) t[e].push(r);
|
||||
else {
|
||||
var i, c;
|
||||
if (void 0 !== _)
|
||||
for (var b = document.getElementsByTagName("script"), o = 0; o < b.length; o++) {
|
||||
var u = b[o];
|
||||
if (u.getAttribute("src") == e || u.getAttribute("data-webpack") == n + _) {
|
||||
i = u;
|
||||
break
|
||||
}
|
||||
}
|
||||
i || (c = !0, (i = document.createElement("script")).charset = "utf-8", i.timeout = 120, __webpack_require__.nc && i.setAttribute("nonce", __webpack_require__.nc), i.setAttribute("data-webpack", n + _), i.src = e), t[e] = [r];
|
||||
var onScriptComplete = (r, _) => {
|
||||
i.onerror = i.onload = null, clearTimeout(d);
|
||||
var n = t[e];
|
||||
if (delete t[e], i.parentNode && i.parentNode.removeChild(i), n && n.forEach(e => e(_)), r) return r(_)
|
||||
},
|
||||
d = setTimeout(onScriptComplete.bind(null, void 0, {
|
||||
type: "timeout",
|
||||
target: i
|
||||
}), 12e4);
|
||||
i.onerror = onScriptComplete.bind(null, i.onerror), i.onload = onScriptComplete.bind(null, i.onload), c && document.head.appendChild(i)
|
||||
}
|
||||
}, __webpack_require__.r = e => {
|
||||
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
|
||||
value: "Module"
|
||||
}), Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
})
|
||||
}, (() => {
|
||||
var e;
|
||||
__webpack_require__.g.importScripts && (e = __webpack_require__.g.location + "");
|
||||
var r = __webpack_require__.g.document;
|
||||
if (!e && r && (r.currentScript && "SCRIPT" === r.currentScript.tagName.toUpperCase() && (e = r.currentScript.src), !e)) {
|
||||
var _ = r.getElementsByTagName("script");
|
||||
if (_.length)
|
||||
for (var t = _.length - 1; t > -1 && (!e || !/^http(s?):/.test(e));) e = _[t--].src
|
||||
}
|
||||
if (!e) throw new Error("Automatic publicPath is not supported in this browser");
|
||||
e = e.replace(/^blob:/, "").replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/"), __webpack_require__.p = e
|
||||
})(), (() => {
|
||||
var e = {
|
||||
76: 0
|
||||
};
|
||||
__webpack_require__.f.j = (r, _) => {
|
||||
var t = __webpack_require__.o(e, r) ? e[r] : void 0;
|
||||
if (0 !== t)
|
||||
if (t) _.push(t[2]);
|
||||
else if (76 != r) {
|
||||
var n = new Promise((_, n) => t = e[r] = [_, n]);
|
||||
_.push(t[2] = n);
|
||||
var a = __webpack_require__.p + __webpack_require__.u(r),
|
||||
i = new Error;
|
||||
__webpack_require__.l(a, _ => {
|
||||
if (__webpack_require__.o(e, r) && (0 !== (t = e[r]) && (e[r] = void 0), t)) {
|
||||
var n = _ && ("load" === _.type ? "missing" : _.type),
|
||||
a = _ && _.target && _.target.src;
|
||||
i.message = "Loading chunk " + r + " failed.\n(" + n + ": " + a + ")", i.name = "ChunkLoadError", i.type = n, i.request = a, t[1](i)
|
||||
}
|
||||
}, "chunk-" + r, r)
|
||||
} else e[r] = 0
|
||||
}, __webpack_require__.O.j = r => 0 === e[r];
|
||||
var webpackJsonpCallback = (r, _) => {
|
||||
var t, n, [a, i, c] = _,
|
||||
b = 0;
|
||||
if (a.some(r => 0 !== e[r])) {
|
||||
for (t in i) __webpack_require__.o(i, t) && (__webpack_require__.m[t] = i[t]);
|
||||
if (c) var o = c(__webpack_require__)
|
||||
}
|
||||
for (r && r(_); b < a.length; b++) n = a[b], __webpack_require__.o(e, n) && e[n] && e[n][0](), e[n] = 0;
|
||||
return __webpack_require__.O(o)
|
||||
},
|
||||
r = self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || [];
|
||||
r.forEach(webpackJsonpCallback.bind(null, 0)), r.push = webpackJsonpCallback.bind(null, r.push.bind(r))
|
||||
})()
|
||||
})();
|
||||
191
assets/js/woo.js
Normal file
191
assets/js/woo.js
Normal file
@@ -0,0 +1,191 @@
|
||||
(function(jQuery) {
|
||||
"use strict";
|
||||
|
||||
function is_mobile() {
|
||||
if (window.innerWidth < 768) {
|
||||
return !0
|
||||
} else {
|
||||
return !1
|
||||
}
|
||||
}
|
||||
|
||||
function is_mobile_device() {
|
||||
if (navigator.userAgent.match(/(Android|iPhone|iPod|iPad|Phone|DROID|webOS|BlackBerry|Windows Phone|ZuneWP7|IEMobile|Tablet|Kindle|Playbook|Nexus|Xoom|SM-N900T|GT-N7100|SAMSUNG-SGH-I717|SM-T330NU)/)) {
|
||||
return !0
|
||||
} else {
|
||||
return !1
|
||||
}
|
||||
}
|
||||
|
||||
function not_desktop() {
|
||||
if ((window.innerWidth < 1367 && is_mobile_device()) || window.innerWidth < 1200) {
|
||||
return !0
|
||||
} else {
|
||||
return !1
|
||||
}
|
||||
}
|
||||
|
||||
function product_filters_open() {
|
||||
jQuery('.product-filters-trigger').on('click', function() {
|
||||
if (jQuery(window).width() < 992) {
|
||||
jQuery('.shop-hidden-sidebar, .body-overlay').addClass('active')
|
||||
}
|
||||
});
|
||||
jQuery('.shop-hidden-sidebar-close').on('click', function() {
|
||||
jQuery('.shop-hidden-sidebar, .body-overlay').removeClass('active')
|
||||
})
|
||||
}
|
||||
product_filters_open();
|
||||
|
||||
function custom_quantity() {
|
||||
jQuery('.quantity-wrapper').each(function() {
|
||||
if (!jQuery(this).hasClass('styled')) {
|
||||
if (!jQuery('.quantity', this).hasClass('hidden')) {
|
||||
jQuery(this).addClass('styled').prepend('<div class="btn-minus"><i class="icon"></i></div>').append('<div class="btn-plus"><i class="icon"></i></div>')
|
||||
} else {
|
||||
jQuery(this).addClass('hidden')
|
||||
}
|
||||
var spinner = jQuery(this),
|
||||
input = spinner.find('input[type="number"]'),
|
||||
btnUp = spinner.find('.btn-plus'),
|
||||
btnDown = spinner.find('.btn-minus'),
|
||||
min = input.attr('min'),
|
||||
max = input.attr('max');
|
||||
if (typeof min !== typeof undefined && min !== !1 && min !== '' && min >= 1) {
|
||||
min = parseInt(min)
|
||||
} else {
|
||||
min = 0
|
||||
}
|
||||
if (typeof max !== typeof undefined && max !== !1 && max !== '' && max > min) {
|
||||
max = parseInt(max)
|
||||
} else {
|
||||
max = 0
|
||||
}
|
||||
btnUp.on('click', function() {
|
||||
if (input.val() == '') {
|
||||
var oldValue = 0
|
||||
} else {
|
||||
var oldValue = parseInt(input.val())
|
||||
}
|
||||
if (oldValue >= max && max !== 0) {
|
||||
var newVal = oldValue
|
||||
} else {
|
||||
var newVal = oldValue + 1
|
||||
}
|
||||
input.val(newVal);
|
||||
input.trigger('change')
|
||||
});
|
||||
btnDown.on('click', function() {
|
||||
if (input.val() == '') {
|
||||
var oldValue = 0
|
||||
} else {
|
||||
var oldValue = parseInt(input.val())
|
||||
}
|
||||
if (oldValue <= min) {
|
||||
var newVal = oldValue
|
||||
} else {
|
||||
var newVal = oldValue - 1
|
||||
}
|
||||
input.val(newVal);
|
||||
input.trigger('change')
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
custom_quantity();
|
||||
jQuery(document.body).on('updated_cart_totals', function() {
|
||||
custom_quantity()
|
||||
});
|
||||
window.addEventListener("load", function() {
|
||||
logico_ajax_add_to_cart();
|
||||
logico_trigger_mini_cart()
|
||||
});
|
||||
|
||||
function logico_trigger_mini_cart() {
|
||||
var cart = jQuery('.mini-cart-panel');
|
||||
cart.off();
|
||||
if (window.innerWidth >= 992) {
|
||||
jQuery('.header .mini-cart-trigger').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
cart.addClass('active');
|
||||
jQuery('.close-mini-cart').off();
|
||||
logico_close_mini_cart()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function logico_close_mini_cart() {
|
||||
jQuery('.close-mini-cart').on('click', function() {
|
||||
jQuery('.mini-cart').removeClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
function logico_ajax_add_to_cart() {
|
||||
if (typeof wc_add_to_cart_params !== 'undefined') {
|
||||
jQuery('.single_add_to_cart_button').off().on('click', function(e) {
|
||||
if (!(jQuery(this).hasClass('single_add_to_cart_button') && wc_add_to_cart_params.cart_redirect_after_add === 'yes')) {
|
||||
e.preventDefault();
|
||||
var button = jQuery(this);
|
||||
var form = button.closest('form.cart');
|
||||
var product_id = form.find('input[name=add-to-cart]').val() || button.val() || form.find('.variation_id').val();
|
||||
if (!product_id)
|
||||
return;
|
||||
if (button.is('.disabled'))
|
||||
return;
|
||||
var data = {
|
||||
action: 'logico_ajax_add_to_cart',
|
||||
'add-to-cart': product_id,
|
||||
security: ajax_params.ajax_nonce
|
||||
};
|
||||
form.serializeArray().forEach(function(element) {
|
||||
data[element.name] = element.value
|
||||
});
|
||||
jQuery(document.body).trigger('adding_to_cart', [button, data]);
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: wc_add_to_cart_params.ajax_url,
|
||||
data: data,
|
||||
beforeSend: function(response) {
|
||||
button.removeClass('added').addClass('loading')
|
||||
},
|
||||
complete: function(response) {
|
||||
button.addClass('added').removeClass('loading')
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.error & response.product_url) {
|
||||
window.location = response.product_url;
|
||||
return
|
||||
} else {
|
||||
jQuery(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, button])
|
||||
}
|
||||
}
|
||||
});
|
||||
return !1
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function single_product_thumb_slider() {
|
||||
jQuery('.woocommerce-product-gallery--with-images').find('.flex-control-nav').slick({
|
||||
mobileFirst: !0,
|
||||
prevArrow: '<div class="slick-button slick-prev"></div>',
|
||||
nextArrow: '<div class="slick-button slick-next"></div>',
|
||||
infinite: !1,
|
||||
adaptiveHeight: !0,
|
||||
responsive: [{
|
||||
breakpoint: 120,
|
||||
settings: {
|
||||
slidesToShow: 3
|
||||
}
|
||||
}, {
|
||||
breakpoint: 400,
|
||||
settings: {
|
||||
slidesToShow: 4
|
||||
}
|
||||
}]
|
||||
})
|
||||
}
|
||||
single_product_thumb_slider();
|
||||
setTimeout(single_product_thumb_slider, 500)
|
||||
}).call(this, jQuery)
|
||||
85
assets/js/woocommerce.min.js
vendored
Normal file
85
assets/js/woocommerce.min.js
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
function focus_populate_live_region() {
|
||||
var e = ["woocommerce-message", "woocommerce-error", "wc-block-components-notice-banner"].map(function(e) {
|
||||
return "." + e + '[role="alert"]'
|
||||
}).join(", "),
|
||||
o = document.querySelectorAll(e);
|
||||
if (0 !== o.length) {
|
||||
var t = o[0];
|
||||
t.setAttribute("tabindex", "-1");
|
||||
var n = setTimeout(function() {
|
||||
t.focus(), clearTimeout(n)
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
|
||||
function refresh_sorted_by_live_region() {
|
||||
var e = document.querySelector(".woocommerce-result-count");
|
||||
if (e) {
|
||||
var o = e.innerHTML;
|
||||
e.setAttribute("aria-hidden", "true");
|
||||
var t = setTimeout(function() {
|
||||
e.setAttribute("aria-hidden", "false"), e.innerHTML = "", e.innerHTML = o, clearTimeout(t)
|
||||
}, 2e3)
|
||||
}
|
||||
}
|
||||
|
||||
function on_document_ready() {
|
||||
focus_populate_live_region(), refresh_sorted_by_live_region()
|
||||
}
|
||||
jQuery(function(e) {
|
||||
e(".woocommerce-ordering").on("change", "select.orderby", function() {
|
||||
e(this).closest("form").trigger("submit")
|
||||
}), e("input.qty:not(.product-quantity input.qty)").each(function() {
|
||||
var o = parseFloat(e(this).attr("min"));
|
||||
o >= 0 && parseFloat(e(this).val()) < o && e(this).val(o)
|
||||
}), document.body.addEventListener("keydown", function(e) {
|
||||
e.target.matches('a[role="button"]') && (" " !== e.key && "Enter" !== e.key || (e.preventDefault(), e.target.click()))
|
||||
});
|
||||
var o = "store_notice" + (e(".woocommerce-store-notice").data("noticeId") || "");
|
||||
if ("hidden" === Cookies.get(o)) e(".woocommerce-store-notice").hide();
|
||||
else {
|
||||
e(".woocommerce-store-notice").show(), e(".woocommerce-store-notice__dismiss-link").on("click", function t(n) {
|
||||
Cookies.set(o, "hidden", {
|
||||
path: "/"
|
||||
}), e(".woocommerce-store-notice").hide(), n.preventDefault(), e(".woocommerce-store-notice__dismiss-link").off("click", t)
|
||||
})
|
||||
}
|
||||
e(".woocommerce-input-wrapper span.description").length && e(document.body).on("click", function() {
|
||||
e(".woocommerce-input-wrapper span.description:visible").prop("aria-hidden", !0).slideUp(250)
|
||||
}), e(".woocommerce-input-wrapper").on("click", function(e) {
|
||||
e.stopPropagation()
|
||||
}), e(".woocommerce-input-wrapper :input").on("keydown", function(o) {
|
||||
var t = e(this).parent().find("span.description");
|
||||
if (27 === o.which && t.length && t.is(":visible")) return t.prop("aria-hidden", !0).slideUp(250), o.preventDefault(), !1
|
||||
}).on("click focus", function() {
|
||||
var o = e(this).parent(),
|
||||
t = o.find("span.description");
|
||||
o.addClass("currentTarget"), e(".woocommerce-input-wrapper:not(.currentTarget) span.description:visible").prop("aria-hidden", !0).slideUp(250), t.length && t.is(":hidden") && t.prop("aria-hidden", !1).slideDown(250), o.removeClass("currentTarget")
|
||||
}), e.scroll_to_notices = function(o) {
|
||||
o.length && e("html, body").animate({
|
||||
scrollTop: o.offset().top - 100
|
||||
}, 1e3)
|
||||
}, e('.woocommerce form .woocommerce-Input[type="password"]').wrap('<span class="password-input"></span>'), e(".woocommerce form input").filter(":password").parent("span").addClass("password-input"), e(".password-input").each(function() {
|
||||
const o = e(this).find("input").attr("id");
|
||||
e(this).append('<button type="button" class="show-password-input" aria-label="' + woocommerce_params.i18n_password_show + '" aria-describedBy="' + o + '"></button>')
|
||||
}), e(".show-password-input").on("click", function(o) {
|
||||
o.preventDefault(), e(this).hasClass("display-password") ? (e(this).removeClass("display-password"), e(this).attr("aria-label", woocommerce_params.i18n_password_show)) : (e(this).addClass("display-password"), e(this).attr("aria-label", woocommerce_params.i18n_password_hide)), e(this).hasClass("display-password") ? e(this).siblings(['input[type="password"]']).prop("type", "text") : e(this).siblings('input[type="text"]').prop("type", "password"), e(this).siblings("input").focus()
|
||||
}), e("a.coming-soon-footer-banner-dismiss").on("click", function(o) {
|
||||
var t = e(o.target);
|
||||
e.ajax({
|
||||
type: "post",
|
||||
url: t.data("rest-url"),
|
||||
data: {
|
||||
woocommerce_meta: {
|
||||
coming_soon_banner_dismissed: "yes"
|
||||
}
|
||||
},
|
||||
beforeSend: function(e) {
|
||||
e.setRequestHeader("X-WP-Nonce", t.data("rest-nonce"))
|
||||
},
|
||||
complete: function() {
|
||||
e("#coming-soon-footer-banner").hide()
|
||||
}
|
||||
})
|
||||
}), e(document.body).on("item_removed_from_classic_cart updated_wc_div", focus_populate_live_region)
|
||||
}), document.addEventListener("DOMContentLoaded", on_document_ready);
|
||||
142
assets/js/wpforms-modern.min.js
vendored
Normal file
142
assets/js/wpforms-modern.min.js
vendored
Normal file
@@ -0,0 +1,142 @@
|
||||
var WPForms = window.WPForms || {};
|
||||
WPForms.FrontendModern = WPForms.FrontendModern || ((i, o) => {
|
||||
let a = {
|
||||
init() {
|
||||
o(a.ready), a.bindOptinMonster()
|
||||
},
|
||||
ready() {
|
||||
a.updateGBBlockAccentColors(), a.initPageBreakButtons(), a.initButtonStyle(), a.events()
|
||||
},
|
||||
events() {
|
||||
o(i).on("wpforms_elementor_form_fields_initialized", a.initPageBreakButtons), o("form.wpforms-form").on("wpformsCombinedUploadsSizeError", a.combinedUploadsSizeError).on("wpformsFormSubmitButtonDisable", a.formSubmitButtonDisable).on("wpformsFormSubmitButtonRestore", a.formSubmitButtonRestore).on("wpformsPageChange", a.pageChange), o("form.wpforms-form .wpforms-submit").on("keydown click", a.disabledButtonPress), o(i).on("focus", ".wpforms-render-modern .wpforms-timepicker", a.updateTimepickerDropdown), o(i).on("focusout", ".wpforms-render-modern .wpforms-timepicker", a.resetTimepickerDropdown)
|
||||
},
|
||||
bindOptinMonster() {
|
||||
i.addEventListener("om.Campaign.load", function() {
|
||||
a.ready()
|
||||
}), o(i).on("OptinMonsterOnShow", function() {
|
||||
a.ready()
|
||||
})
|
||||
},
|
||||
updateTimepickerDropdown() {
|
||||
let e = a.getCssVars(o(this));
|
||||
setTimeout(function() {
|
||||
var r = o(".ui-timepicker-wrapper .ui-timepicker-list");
|
||||
r.css("background", e["field-menu-color"]), r.find("li").css("color", e["field-text-color"]), r.find(".ui-timepicker-selected").css("background", e["button-background-color"]).css("color", e["button-text-color"])
|
||||
}, 0)
|
||||
},
|
||||
resetTimepickerDropdown() {
|
||||
setTimeout(function() {
|
||||
o(".ui-timepicker-wrapper .ui-timepicker-list").find(":not(.ui-timepicker-selected)").attr("style", "")
|
||||
}, 0)
|
||||
},
|
||||
initButtonStyle() {
|
||||
o(".wpforms-block.wpforms-container-full, .elementor-widget-wpforms .wpforms-container-full").each(function() {
|
||||
var r = o(this),
|
||||
e = getComputedStyle(r.get(0)),
|
||||
e = a.getCssVar(e, "--wpforms-button-background-color-alt");
|
||||
a.isTransparentColor(e) && r.find("button.wpforms-submit").addClass("wpforms-opacity-hover")
|
||||
})
|
||||
},
|
||||
isTransparentColor(r) {
|
||||
r = a.getColorAsRGBArray(r);
|
||||
return Number(r ? .[3]) <= .33
|
||||
},
|
||||
updateGBBlockAccentColors() {
|
||||
o(".wpforms-block.wpforms-container-full, .elementor-widget-wpforms .wpforms-container-full").each(function() {
|
||||
var r = o(this);
|
||||
a.updateGBBlockPageIndicatorColor(r), a.updateGBBlockIconChoicesColor(r), a.updateGBBlockRatingColor(r)
|
||||
})
|
||||
},
|
||||
updateGBBlockPageIndicatorColor(r) {
|
||||
var r = r.find(".wpforms-page-indicator"),
|
||||
e = r.find(".wpforms-page-indicator-page-progress, .wpforms-page-indicator-page.active .wpforms-page-indicator-page-number"),
|
||||
o = e.find(".wpforms-page-indicator-page-triangle");
|
||||
r.data("indicator-color", "var( --wpforms-page-break-color )"), e.css("background-color", "var( --wpforms-page-break-color )"), o.css("border-top-color", "var( --wpforms-page-break-color )")
|
||||
},
|
||||
updateGBBlockIconChoicesColor(r) {
|
||||
r.find(".wpforms-icon-choices").css("--wpforms-icon-choices-color", "var( --wpforms-button-background-color )")
|
||||
},
|
||||
updateGBBlockRatingColor(r) {
|
||||
r.find(".wpforms-field-rating-item svg").css("color", "var( --wpforms-page-break-color, var( --wpforms-button-background-color ) )")
|
||||
},
|
||||
initPageBreakButtons() {
|
||||
o(".wpforms-page-button").removeClass("wpforms-disabled").attr("aria-disabled", "false").attr("aria-describedby", "")
|
||||
},
|
||||
combinedUploadsSizeError(r, e, o) {
|
||||
var t = e.data("formid"),
|
||||
s = e.attr("aria-errormessage") || "",
|
||||
t = `wpforms-${t}-footer-error`,
|
||||
i = e.find(".wpforms-submit");
|
||||
e.attr({
|
||||
"aria-invalid": "true",
|
||||
"aria-errormessage": s + " " + t
|
||||
}), o.attr({
|
||||
role: "alert",
|
||||
id: t
|
||||
}), o.find("> .wpforms-hidden:first-child").remove(), o.prepend(`<span class="wpforms-hidden">${wpforms_settings.formErrorMessagePrefix}</span>`), i.attr("aria-describedby", t)
|
||||
},
|
||||
combinedUploadsSizeOk(r, e, o) {
|
||||
console.warn('WARNING! Function "WPForms.FrontendModern( e, $form, $errorCnt )" has been deprecated, please use the new "formSubmitButtonDisable: function( e, $form, $submitBtn )" function instead!'), e.find(".wpforms-submit").removeClass("wpforms-disabled").attr("aria-disabled", "false").attr("aria-describedby", "")
|
||||
},
|
||||
formSubmitButtonDisable(r, e, o) {
|
||||
e = e.attr("id") + "-submit-btn-disabled";
|
||||
o.before(`<div class="wpforms-hidden" id="${e}">${wpforms_settings.submitBtnDisabled}</div>`), o.prop("disabled", !1).addClass("wpforms-disabled").attr("aria-disabled", "true").attr("aria-describedby", e)
|
||||
},
|
||||
formSubmitButtonRestore(r, e, o) {
|
||||
var t = e.attr("id") + "-submit-btn-disabled";
|
||||
e.find("#" + t).remove(), o.removeClass("wpforms-disabled").attr("aria-disabled", "false").attr("aria-describedby", "")
|
||||
},
|
||||
disabledButtonPress(r) {
|
||||
!o(this).hasClass("wpforms-disabled") || "Enter" !== r.key && "click" !== r.type || (r.preventDefault(), r.stopImmediatePropagation())
|
||||
},
|
||||
pageChange(r, o, t) {
|
||||
var s = t.find(".wpforms-page-indicator");
|
||||
if (wpforms_settings.indicatorStepsPattern && s.length) {
|
||||
t = t.find(".wpforms-page").length;
|
||||
let r = wpforms_settings.indicatorStepsPattern,
|
||||
e;
|
||||
r = r.replace("{current}", o).replace("{total}", t), e = s.hasClass("progress") ? s.find(".wpforms-page-indicator-page-title").data(`page-${o}-title`) : s.find(`.wpforms-page-indicator-page-${o} .wpforms-page-indicator-page-title`).text(), r = e ? e + ". " + r : r, s.attr("aria-valuenow", o), a.screenReaderAnnounce(r, "polite")
|
||||
}
|
||||
},
|
||||
screenReaderAnnounce(r, e) {
|
||||
var o = i.createElement("div"),
|
||||
t = "wpforms-screen-reader-announce-" + Date.now();
|
||||
o.setAttribute("id", t), o.setAttribute("aria-live", e || "polite"), o.classList.add("wpforms-screen-reader-announce");
|
||||
let s = i.body.appendChild(o);
|
||||
setTimeout(function() {
|
||||
s.innerHTML = r
|
||||
}, 100), setTimeout(function() {
|
||||
i.body.removeChild(s)
|
||||
}, 1e3)
|
||||
},
|
||||
getColorWithOpacity(r, e) {
|
||||
return WPFormsUtils.cssColorsUtils.getColorWithOpacity(r, e)
|
||||
},
|
||||
getSolidColor(r) {
|
||||
r = r.trim();
|
||||
var e = a.getColorAsRGBArray(r);
|
||||
return e ? `rgb(${e[0]},${e[1]},${e[2]})` : r
|
||||
},
|
||||
isValidColor(r) {
|
||||
return WPFormsUtils.cssColorsUtils.isValidColor(r)
|
||||
},
|
||||
getColorAsRGBArray(r) {
|
||||
return WPFormsUtils.cssColorsUtils.getColorAsRGBArray(r)
|
||||
},
|
||||
getCssVar(r, e) {
|
||||
if (!r || "function" != typeof r.getPropertyValue) return null;
|
||||
let o = r.getPropertyValue(e).trim();
|
||||
return o = e.includes("color") ? o.replace(/\s/g, "") : o
|
||||
},
|
||||
getCssVars(r) {
|
||||
if (!r || !r.length) return null;
|
||||
var r = r.hasClass("wpforms-container") ? r : r.closest(".wpforms-container"),
|
||||
e = getComputedStyle(r.get(0)),
|
||||
o = wpforms_settings.css_vars,
|
||||
t = {};
|
||||
for (let r = 0; r < o.length; r++) t[o[r]] = a.getCssVar(e, "--wpforms-" + o[r]);
|
||||
return t
|
||||
}
|
||||
};
|
||||
return a
|
||||
})(document, (window, jQuery)), WPForms.FrontendModern.init();
|
||||
1042
assets/js/wpforms.min.js
vendored
Normal file
1042
assets/js/wpforms.min.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user