logistic uploaded for doormile
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
|
||||
.elementor-widget-divider {
|
||||
--divider-border-style: none;
|
||||
--divider-border-width: 1px;
|
||||
--divider-color: #0c0d0e;
|
||||
--divider-icon-size: 20px;
|
||||
--divider-element-spacing: 10px;
|
||||
--divider-pattern-height: 24px;
|
||||
--divider-pattern-size: 20px;
|
||||
--divider-pattern-url: none;
|
||||
--divider-pattern-repeat: repeat-x
|
||||
}
|
||||
|
||||
.elementor-widget-divider .elementor-divider {
|
||||
display: flex
|
||||
}
|
||||
|
||||
.elementor-widget-divider .elementor-divider__text {
|
||||
font-size: 15px;
|
||||
line-height: 1;
|
||||
max-width: 95%
|
||||
}
|
||||
|
||||
.elementor-widget-divider .elementor-divider__element {
|
||||
flex-shrink: 0;
|
||||
margin: 0 var(--divider-element-spacing)
|
||||
}
|
||||
|
||||
.elementor-widget-divider .elementor-icon {
|
||||
font-size: var(--divider-icon-size)
|
||||
}
|
||||
|
||||
.elementor-widget-divider .elementor-divider-separator {
|
||||
direction: ltr;
|
||||
display: flex;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.elementor-widget-divider--view-line_icon .elementor-divider-separator,
|
||||
.elementor-widget-divider--view-line_text .elementor-divider-separator {
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,
|
||||
.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,
|
||||
.elementor-widget-divider--view-line_text .elementor-divider-separator:after,
|
||||
.elementor-widget-divider--view-line_text .elementor-divider-separator:before {
|
||||
border-block-end: 0;
|
||||
border-block-start: var(--divider-border-width) var(--divider-border-style) var(--divider-color);
|
||||
content: "";
|
||||
display: block;
|
||||
flex-grow: 1
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type {
|
||||
flex-grow: 0;
|
||||
flex-shrink: 100
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-left .elementor-divider-separator:before {
|
||||
content: none
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-left .elementor-divider__element {
|
||||
margin-left: 0
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type {
|
||||
flex-grow: 0;
|
||||
flex-shrink: 100
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-right .elementor-divider-separator:after {
|
||||
content: none
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-right .elementor-divider__element {
|
||||
margin-right: 0
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-start .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type {
|
||||
flex-grow: 0;
|
||||
flex-shrink: 100
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-start .elementor-divider-separator:before {
|
||||
content: none
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-start .elementor-divider__element {
|
||||
margin-inline-start: 0
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-end .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type {
|
||||
flex-grow: 0;
|
||||
flex-shrink: 100
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-end .elementor-divider-separator:after {
|
||||
content: none
|
||||
}
|
||||
|
||||
.elementor-widget-divider--element-align-end .elementor-divider__element {
|
||||
margin-inline-end: 0
|
||||
}
|
||||
|
||||
.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
|
||||
border-block-start: var(--divider-border-width) var(--divider-border-style) var(--divider-color)
|
||||
}
|
||||
|
||||
.elementor-widget-divider--separator-type-pattern {
|
||||
--divider-border-style: none
|
||||
}
|
||||
|
||||
.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,
|
||||
.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,
|
||||
.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,
|
||||
.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator {
|
||||
background-color: var(--divider-color);
|
||||
-webkit-mask-image: var(--divider-pattern-url);
|
||||
mask-image: var(--divider-pattern-url);
|
||||
-webkit-mask-repeat: var(--divider-pattern-repeat);
|
||||
mask-repeat: var(--divider-pattern-repeat);
|
||||
-webkit-mask-size: var(--divider-pattern-size) 100%;
|
||||
mask-size: var(--divider-pattern-size) 100%;
|
||||
min-height: var(--divider-pattern-height);
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-widget-divider--no-spacing {
|
||||
--divider-pattern-size: auto
|
||||
}
|
||||
|
||||
.elementor-widget-divider--bg-round {
|
||||
--divider-pattern-repeat: round
|
||||
}
|
||||
|
||||
.rtl .elementor-widget-divider .elementor-divider__text {
|
||||
direction: rtl
|
||||
}
|
||||
|
||||
.e-con-inner>.elementor-widget-divider,
|
||||
.e-con>.elementor-widget-divider {
|
||||
width: var(--container-widget-width, 100%);
|
||||
--flex-grow: var( --container-widget-flex-grow)
|
||||
}
|
||||
@@ -0,0 +1,343 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
|
||||
.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container,
|
||||
.elementor-widget:not(:has(.elementor-widget-container)) .elementor-widget-container {
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-items.elementor-inline-items {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-inline: -8px
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-inline-item {
|
||||
word-break: break-word
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
|
||||
margin-inline: 8px
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after {
|
||||
border-width: 0;
|
||||
border-inline-start-width: 1px;
|
||||
border-style: solid;
|
||||
height: 100%;
|
||||
inset-inline-end: -8px;
|
||||
inset-inline-start: auto;
|
||||
position: relative;
|
||||
width: auto
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-items {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-item {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-item:after {
|
||||
inset-block-end: 0;
|
||||
position: absolute;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-item,
|
||||
.elementor-widget .elementor-icon-list-item a {
|
||||
align-items: var(--icon-vertical-align, center);
|
||||
display: flex;
|
||||
font-size: inherit
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text {
|
||||
align-self: center;
|
||||
padding-inline-start: 5px
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-icon {
|
||||
display: flex;
|
||||
inset-block-start: var(--icon-vertical-offset, initial);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-icon svg {
|
||||
height: var(--e-icon-list-icon-size, 1em);
|
||||
width: var(--e-icon-list-icon-size, 1em)
|
||||
}
|
||||
|
||||
.elementor-widget .elementor-icon-list-icon i {
|
||||
font-size: var(--e-icon-list-icon-size);
|
||||
width: 1.25em
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon {
|
||||
text-align: var(--e-icon-list-icon-align)
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
|
||||
margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-list-item-link-full_width a {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-align-center .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-align-center .elementor-icon-list-item a {
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-align-center .elementor-icon-list-item:after {
|
||||
margin: auto
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-align-center .elementor-inline-items {
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-align-left .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-align-left .elementor-icon-list-item a {
|
||||
justify-content: flex-start;
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-align-left .elementor-inline-items {
|
||||
justify-content: flex-start
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-align-right .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-align-right .elementor-icon-list-item a {
|
||||
justify-content: flex-end;
|
||||
text-align: right
|
||||
}
|
||||
|
||||
.elementor-widget.elementor-align-right .elementor-icon-list-items {
|
||||
justify-content: flex-end
|
||||
}
|
||||
|
||||
.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after {
|
||||
inset-inline-start: 0
|
||||
}
|
||||
|
||||
.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after {
|
||||
inset-inline-end: 0
|
||||
}
|
||||
|
||||
@media (min-width:-1) {
|
||||
.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after {
|
||||
margin: auto
|
||||
}
|
||||
.elementor-widget.elementor-widescreen-align-center .elementor-inline-items {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a {
|
||||
justify-content: flex-start;
|
||||
text-align: left
|
||||
}
|
||||
.elementor-widget.elementor-widescreen-align-left .elementor-inline-items {
|
||||
justify-content: flex-start
|
||||
}
|
||||
.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a {
|
||||
justify-content: flex-end;
|
||||
text-align: right
|
||||
}
|
||||
.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items {
|
||||
justify-content: flex-end
|
||||
}
|
||||
.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after {
|
||||
inset-inline-start: 0
|
||||
}
|
||||
.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after {
|
||||
inset-inline-end: 0
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:-1) {
|
||||
.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after {
|
||||
margin: auto
|
||||
}
|
||||
.elementor-widget.elementor-laptop-align-center .elementor-inline-items {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a {
|
||||
justify-content: flex-start;
|
||||
text-align: left
|
||||
}
|
||||
.elementor-widget.elementor-laptop-align-left .elementor-inline-items {
|
||||
justify-content: flex-start
|
||||
}
|
||||
.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a {
|
||||
justify-content: flex-end;
|
||||
text-align: right
|
||||
}
|
||||
.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items {
|
||||
justify-content: flex-end
|
||||
}
|
||||
.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after {
|
||||
inset-inline-start: 0
|
||||
}
|
||||
.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after {
|
||||
inset-inline-end: 0
|
||||
}
|
||||
.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after {
|
||||
margin: auto
|
||||
}
|
||||
.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a {
|
||||
justify-content: flex-start;
|
||||
text-align: left
|
||||
}
|
||||
.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items {
|
||||
justify-content: flex-start
|
||||
}
|
||||
.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a {
|
||||
justify-content: flex-end;
|
||||
text-align: right
|
||||
}
|
||||
.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items {
|
||||
justify-content: flex-end
|
||||
}
|
||||
.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after {
|
||||
inset-inline-start: 0
|
||||
}
|
||||
.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after {
|
||||
inset-inline-end: 0
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:1024px) {
|
||||
.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after {
|
||||
margin: auto
|
||||
}
|
||||
.elementor-widget.elementor-tablet-align-center .elementor-inline-items {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a {
|
||||
justify-content: flex-start;
|
||||
text-align: left
|
||||
}
|
||||
.elementor-widget.elementor-tablet-align-left .elementor-inline-items {
|
||||
justify-content: flex-start
|
||||
}
|
||||
.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a {
|
||||
justify-content: flex-end;
|
||||
text-align: right
|
||||
}
|
||||
.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items {
|
||||
justify-content: flex-end
|
||||
}
|
||||
.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after {
|
||||
inset-inline-start: 0
|
||||
}
|
||||
.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after {
|
||||
inset-inline-end: 0
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:-1) {
|
||||
.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after {
|
||||
margin: auto
|
||||
}
|
||||
.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a {
|
||||
justify-content: flex-start;
|
||||
text-align: left
|
||||
}
|
||||
.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items {
|
||||
justify-content: flex-start
|
||||
}
|
||||
.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a {
|
||||
justify-content: flex-end;
|
||||
text-align: right
|
||||
}
|
||||
.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items {
|
||||
justify-content: flex-end
|
||||
}
|
||||
.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after {
|
||||
inset-inline-start: 0
|
||||
}
|
||||
.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after {
|
||||
inset-inline-end: 0
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:767px) {
|
||||
.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after {
|
||||
margin: auto
|
||||
}
|
||||
.elementor-widget.elementor-mobile-align-center .elementor-inline-items {
|
||||
justify-content: center
|
||||
}
|
||||
.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a {
|
||||
justify-content: flex-start;
|
||||
text-align: left
|
||||
}
|
||||
.elementor-widget.elementor-mobile-align-left .elementor-inline-items {
|
||||
justify-content: flex-start
|
||||
}
|
||||
.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,
|
||||
.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a {
|
||||
justify-content: flex-end;
|
||||
text-align: right
|
||||
}
|
||||
.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items {
|
||||
justify-content: flex-end
|
||||
}
|
||||
.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after {
|
||||
inset-inline-start: 0
|
||||
}
|
||||
.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after {
|
||||
inset-inline-end: 0
|
||||
}
|
||||
}
|
||||
|
||||
#left-area ul.elementor-icon-list-items,
|
||||
.elementor .elementor-element ul.elementor-icon-list-items,
|
||||
.elementor-edit-area .elementor-element ul.elementor-icon-list-items {
|
||||
padding: 0
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
|
||||
.elementor-widget-image {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.elementor-widget-image a {
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.elementor-widget-image a img[src$=".svg"] {
|
||||
width: 48px
|
||||
}
|
||||
|
||||
.elementor-widget-image img {
|
||||
display: inline-block;
|
||||
vertical-align: middle
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,301 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
|
||||
.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,
|
||||
.elementor-widget-social-icons.elementor-grid-0:not(:has(.elementor-widget-container)),
|
||||
.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,
|
||||
.elementor-widget-social-icons.elementor-grid-mobile-0:not(:has(.elementor-widget-container)),
|
||||
.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container,
|
||||
.elementor-widget-social-icons.elementor-grid-tablet-0:not(:has(.elementor-widget-container)) {
|
||||
font-size: 0;
|
||||
line-height: 1
|
||||
}
|
||||
|
||||
.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid {
|
||||
display: inline-grid
|
||||
}
|
||||
|
||||
.elementor-widget-social-icons .elementor-grid {
|
||||
grid-column-gap: var(--grid-column-gap, 5px);
|
||||
grid-row-gap: var(--grid-row-gap, 5px);
|
||||
grid-template-columns: var(--grid-template-columns);
|
||||
justify-content: var(--justify-content, center);
|
||||
justify-items: var(--justify-content, center)
|
||||
}
|
||||
|
||||
.elementor-icon.elementor-social-icon {
|
||||
font-size: var(--icon-size, 25px);
|
||||
height: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));
|
||||
line-height: var(--icon-size, 25px);
|
||||
width: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em))
|
||||
}
|
||||
|
||||
.elementor-social-icon {
|
||||
--e-social-icon-icon-color: #fff;
|
||||
align-items: center;
|
||||
background-color: #69727d;
|
||||
cursor: pointer;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.elementor-social-icon i {
|
||||
color: var(--e-social-icon-icon-color)
|
||||
}
|
||||
|
||||
.elementor-social-icon svg {
|
||||
fill: var(--e-social-icon-icon-color)
|
||||
}
|
||||
|
||||
.elementor-social-icon:last-child {
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.elementor-social-icon:hover {
|
||||
color: #fff;
|
||||
opacity: .9
|
||||
}
|
||||
|
||||
.elementor-social-icon-android {
|
||||
background-color: #a4c639
|
||||
}
|
||||
|
||||
.elementor-social-icon-apple {
|
||||
background-color: #999
|
||||
}
|
||||
|
||||
.elementor-social-icon-behance {
|
||||
background-color: #1769ff
|
||||
}
|
||||
|
||||
.elementor-social-icon-bitbucket {
|
||||
background-color: #205081
|
||||
}
|
||||
|
||||
.elementor-social-icon-codepen {
|
||||
background-color: #000
|
||||
}
|
||||
|
||||
.elementor-social-icon-delicious {
|
||||
background-color: #39f
|
||||
}
|
||||
|
||||
.elementor-social-icon-deviantart {
|
||||
background-color: #05cc47
|
||||
}
|
||||
|
||||
.elementor-social-icon-digg {
|
||||
background-color: #005be2
|
||||
}
|
||||
|
||||
.elementor-social-icon-dribbble {
|
||||
background-color: #ea4c89
|
||||
}
|
||||
|
||||
.elementor-social-icon-elementor {
|
||||
background-color: #d30c5c
|
||||
}
|
||||
|
||||
.elementor-social-icon-envelope {
|
||||
background-color: #ea4335
|
||||
}
|
||||
|
||||
.elementor-social-icon-facebook,
|
||||
.elementor-social-icon-facebook-f {
|
||||
background-color: #3b5998
|
||||
}
|
||||
|
||||
.elementor-social-icon-flickr {
|
||||
background-color: #0063dc
|
||||
}
|
||||
|
||||
.elementor-social-icon-foursquare {
|
||||
background-color: #2d5be3
|
||||
}
|
||||
|
||||
.elementor-social-icon-free-code-camp,
|
||||
.elementor-social-icon-freecodecamp {
|
||||
background-color: #006400
|
||||
}
|
||||
|
||||
.elementor-social-icon-github {
|
||||
background-color: #333
|
||||
}
|
||||
|
||||
.elementor-social-icon-gitlab {
|
||||
background-color: #e24329
|
||||
}
|
||||
|
||||
.elementor-social-icon-globe {
|
||||
background-color: #69727d
|
||||
}
|
||||
|
||||
.elementor-social-icon-google-plus,
|
||||
.elementor-social-icon-google-plus-g {
|
||||
background-color: #dd4b39
|
||||
}
|
||||
|
||||
.elementor-social-icon-houzz {
|
||||
background-color: #7ac142
|
||||
}
|
||||
|
||||
.elementor-social-icon-instagram {
|
||||
background-color: #262626
|
||||
}
|
||||
|
||||
.elementor-social-icon-jsfiddle {
|
||||
background-color: #487aa2
|
||||
}
|
||||
|
||||
.elementor-social-icon-link {
|
||||
background-color: #818a91
|
||||
}
|
||||
|
||||
.elementor-social-icon-linkedin,
|
||||
.elementor-social-icon-linkedin-in {
|
||||
background-color: #0077b5
|
||||
}
|
||||
|
||||
.elementor-social-icon-medium {
|
||||
background-color: #00ab6b
|
||||
}
|
||||
|
||||
.elementor-social-icon-meetup {
|
||||
background-color: #ec1c40
|
||||
}
|
||||
|
||||
.elementor-social-icon-mixcloud {
|
||||
background-color: #273a4b
|
||||
}
|
||||
|
||||
.elementor-social-icon-odnoklassniki {
|
||||
background-color: #f4731c
|
||||
}
|
||||
|
||||
.elementor-social-icon-pinterest {
|
||||
background-color: #bd081c
|
||||
}
|
||||
|
||||
.elementor-social-icon-product-hunt {
|
||||
background-color: #da552f
|
||||
}
|
||||
|
||||
.elementor-social-icon-reddit {
|
||||
background-color: #ff4500
|
||||
}
|
||||
|
||||
.elementor-social-icon-rss {
|
||||
background-color: #f26522
|
||||
}
|
||||
|
||||
.elementor-social-icon-shopping-cart {
|
||||
background-color: #4caf50
|
||||
}
|
||||
|
||||
.elementor-social-icon-skype {
|
||||
background-color: #00aff0
|
||||
}
|
||||
|
||||
.elementor-social-icon-slideshare {
|
||||
background-color: #0077b5
|
||||
}
|
||||
|
||||
.elementor-social-icon-snapchat {
|
||||
background-color: #fffc00
|
||||
}
|
||||
|
||||
.elementor-social-icon-soundcloud {
|
||||
background-color: #f80
|
||||
}
|
||||
|
||||
.elementor-social-icon-spotify {
|
||||
background-color: #2ebd59
|
||||
}
|
||||
|
||||
.elementor-social-icon-stack-overflow {
|
||||
background-color: #fe7a15
|
||||
}
|
||||
|
||||
.elementor-social-icon-steam {
|
||||
background-color: #00adee
|
||||
}
|
||||
|
||||
.elementor-social-icon-stumbleupon {
|
||||
background-color: #eb4924
|
||||
}
|
||||
|
||||
.elementor-social-icon-telegram {
|
||||
background-color: #2ca5e0
|
||||
}
|
||||
|
||||
.elementor-social-icon-threads {
|
||||
background-color: #000
|
||||
}
|
||||
|
||||
.elementor-social-icon-thumb-tack {
|
||||
background-color: #1aa1d8
|
||||
}
|
||||
|
||||
.elementor-social-icon-tripadvisor {
|
||||
background-color: #589442
|
||||
}
|
||||
|
||||
.elementor-social-icon-tumblr {
|
||||
background-color: #35465c
|
||||
}
|
||||
|
||||
.elementor-social-icon-twitch {
|
||||
background-color: #6441a5
|
||||
}
|
||||
|
||||
.elementor-social-icon-twitter {
|
||||
background-color: #1da1f2
|
||||
}
|
||||
|
||||
.elementor-social-icon-viber {
|
||||
background-color: #665cac
|
||||
}
|
||||
|
||||
.elementor-social-icon-vimeo {
|
||||
background-color: #1ab7ea
|
||||
}
|
||||
|
||||
.elementor-social-icon-vk {
|
||||
background-color: #45668e
|
||||
}
|
||||
|
||||
.elementor-social-icon-weibo {
|
||||
background-color: #dd2430
|
||||
}
|
||||
|
||||
.elementor-social-icon-weixin {
|
||||
background-color: #31a918
|
||||
}
|
||||
|
||||
.elementor-social-icon-whatsapp {
|
||||
background-color: #25d366
|
||||
}
|
||||
|
||||
.elementor-social-icon-wordpress {
|
||||
background-color: #21759b
|
||||
}
|
||||
|
||||
.elementor-social-icon-x-twitter {
|
||||
background-color: #000
|
||||
}
|
||||
|
||||
.elementor-social-icon-xing {
|
||||
background-color: #026466
|
||||
}
|
||||
|
||||
.elementor-social-icon-yelp {
|
||||
background-color: #af0606
|
||||
}
|
||||
|
||||
.elementor-social-icon-youtube {
|
||||
background-color: #cd201f
|
||||
}
|
||||
|
||||
.elementor-social-icon-500px {
|
||||
background-color: #0099e5
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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))
|
||||
})()
|
||||
})();
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
}
|
||||
});
|
||||
@@ -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
|
||||
});
|
||||
@@ -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);
|
||||
@@ -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);
|
||||
@@ -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)
|
||||
}();
|
||||
@@ -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))
|
||||
}
|
||||
});
|
||||
@@ -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: "/"
|
||||
})
|
||||
});
|
||||
@@ -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)
|
||||
});
|
||||
@@ -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
|
||||
}));
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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 |
@@ -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);
|
||||
@@ -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();
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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));
|
||||
@@ -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
|
||||
});
|
||||
@@ -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);
|
||||
@@ -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(".")
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user