first commit

This commit is contained in:
齐斌 2025-05-19 10:39:55 +08:00
commit 9a1db3f7b0
14 changed files with 38358 additions and 0 deletions

View File

@ -0,0 +1,4 @@
.klaviyo-form-VnxAjW button {
padding-left: 32px !important;
padding-right: 32px !important
}

View File

@ -0,0 +1,3 @@
.downloadSpecSectionB {
margin-top: -140px !important
}

View File

@ -0,0 +1,196 @@
.formJune>div {
position: relative;
z-index: 2
}
.formJune .nice-select {
line-height: 16px
}
.formJune .nice-select.hs-input {
padding: 14px 20px 14px 28px !important
}
.formJune .nice-select.open {
overflow: visible
}
.formJune .nice-select.open .list {
position: relative;
z-index: 9999;
border-radius: 3px;
border-color: #cee2e7
}
.nice-select.open,
.nice-select:active,
.nice-select:focus {
border-color: #cee2e7
}
.formJune .hs-submit {
z-index: 0
}
.formJune .nice-select.open .list {
transform: scale(1.08) translateY(0)
}
.formJune ul.list li {
margin-bottom: 0;
font-size: 14px;
font-weight: 300;
min-height: 40px;
line-height: 40px
}
.formJune .nice-select .option.focus,
.formJune .nice-select .option.selected.focus,
.formJune .nice-select .option:hover {
background-color: #eff1f2
}
.formJune li.option.selected.disabled.focus {
background-color: transparent;
font-size: 14px;
font-weight: 300
}
.formJune .nice-select.open .list {
margin-top: 0;
padding-top: 15px;
left: -4px;
right: 0;
padding-bottom: 10px;
border: 1px solid #cee2e7;
box-shadow: none
}
.formJune .nice-select.open .list .current {
font-weight: 500
}
.nice-select:after {
border-color: #f06a7f;
right: 42px
}
form .hs-button {
margin: 30px 0 20px
}
.formJune .nice-select {
height: 47px
}
.nice-select .option {
padding-left: 25px
}
.formJune ul.list li {
border-top: 1px solid #cee2e7
}
.formJune ul.list li:first-child {
border-top: 0
}
.nice-select .option.selected {
font-weight: 500
}
.formJune ul.hs-error-msgs,
.hs_error_rollup {
z-index: 0 !important;
position: relative !important
}
_::-webkit-full-page-media,
_:future,
:root .nice-select .list {
top: 40%
}
@media(max-width:800px) {
.nice-select {
min-width: 95%
}
}
@media(max-width:767px) {
.nice-select.hs-input {
min-width: auto;
width: 100% !important
}
.nice-select {
white-space: normal
}
.formJune .nice-select.open .list {
height: auto;
overflow: auto
}
.formJune .nice-select.open .list::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: #f5f5f5
}
.formJune .nice-select.open .list::-webkit-scrollbar {
width: 5px;
background-color: #33bfcc
}
.formJune .nice-select.open .list::-webkit-scrollbar-thumb {
background-color: #33bfcc;
border: 2px solid #33bfcc
}
.formJune ul.list li {
padding: 8px 10px;
line-height: 18px
}
.formJune li.option.selected.disabled.focus {
line-height: 16px;
min-height: 18px
}
.formJune .nice-select.hs-input span.current {
overflow: hidden;
width: 100%;
white-space: nowrap;
display: block;
text-overflow: ellipsis;
max-width: 230px
}
.formJune .nice-select.open .list {
position: absolute;
left: 0;
transform: scale(1);
top: 105%
}
.formJune .nice-select.hs-input {
padding: 14px 15px 14px 15px !important
}
.formJune ul.list li {
min-height: auto
}
}
@media(max-width:480px) {
.formJune .nice-select.open .list {
transform: scale(1.35) translateY(0)
}
.nice-select:after {
right: 20px
}
.demo .form .widget-type-form {
padding: 20px 15px
}
.hs-form fieldset.form-columns-2 .hs-form-field:first-child .input {
margin-right: 0
}
.formJune .nice-select.open .list {
transform: scale(1)
}
.demo .form .widget-type-form .inputs-list {
margin: 30px 0 0 0 !important
}
.demo .form .widget-type-form .actions {
text-align: center
}
}

View File

@ -0,0 +1,471 @@
/*
* jQuery FlexSlider v2.6.4
* Copyright 2012 WooThemes
* Contributing Author: Tyler Smith
*/
! function($) {
var e = !0;
$.flexslider = function(t, a) {
var n = $(t);
n.vars = $.extend({}, $.flexslider.defaults, a);
var i = n.vars.namespace,
r = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
s = ("ontouchstart" in window || r || window.DocumentTouch && document instanceof DocumentTouch) && n.vars.touch,
o = "click touchend MSPointerUp keyup",
l = "",
c, d = "vertical" === n.vars.direction,
u = n.vars.reverse,
v = n.vars.itemWidth > 0,
p = "fade" === n.vars.animation,
m = "" !== n.vars.asNavFor,
f = {};
$.data(t, "flexslider", n), f = {
init: function() {
n.animating = !1, n.currentSlide = parseInt(n.vars.startAt ? n.vars.startAt : 0, 10), isNaN(n.currentSlide) && (n.currentSlide = 0), n.animatingTo = n.currentSlide, n.atEnd = 0 === n.currentSlide || n.currentSlide === n.last, n.containerSelector = n.vars.selector.substr(0, n.vars.selector.search(" ")), n.slides = $(n.vars.selector, n), n.container = $(n.containerSelector, n), n.count = n.slides.length, n.syncExists = $(n.vars.sync).length > 0, "slide" === n.vars.animation && (n.vars.animation = "swing"), n.prop = d ? "top" : "marginLeft", n.args = {}, n.manualPause = !1, n.stopped = !1, n.started = !1, n.startTimeout = null, n.transitions = !n.vars.video && !p && n.vars.useCSS && function() {
var e = document.createElement("div"),
t = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
for (var a in t)
if (void 0 !== e.style[t[a]]) return n.pfx = t[a].replace("Perspective", "").toLowerCase(), n.prop = "-" + n.pfx + "-transform", !0;
return !1
}(), n.ensureAnimationEnd = "", "" !== n.vars.controlsContainer && (n.controlsContainer = $(n.vars.controlsContainer).length > 0 && $(n.vars.controlsContainer)), "" !== n.vars.manualControls && (n.manualControls = $(n.vars.manualControls).length > 0 && $(n.vars.manualControls)), "" !== n.vars.customDirectionNav && (n.customDirectionNav = 2 === $(n.vars.customDirectionNav).length && $(n.vars.customDirectionNav)), n.vars.randomize && (n.slides.sort(function() {
return Math.round(Math.random()) - .5
}), n.container.empty().append(n.slides)), n.doMath(), n.setup("init"), n.vars.controlNav && f.controlNav.setup(), n.vars.directionNav && f.directionNav.setup(), n.vars.keyboard && (1 === $(n.containerSelector).length || n.vars.multipleKeyboard) && $(document).bind("keyup", function(e) {
var t = e.keyCode;
if (!n.animating && (39 === t || 37 === t)) {
var a = 39 === t ? n.getTarget("next") : 37 === t && n.getTarget("prev");
n.flexAnimate(a, n.vars.pauseOnAction)
}
}), n.vars.mousewheel && n.bind("mousewheel", function(e, t, a, i) {
e.preventDefault();
var r = t < 0 ? n.getTarget("next") : n.getTarget("prev");
n.flexAnimate(r, n.vars.pauseOnAction)
}), n.vars.pausePlay && f.pausePlay.setup(), n.vars.slideshow && n.vars.pauseInvisible && f.pauseInvisible.init(), n.vars.slideshow && (n.vars.pauseOnHover && n.hover(function() {
n.manualPlay || n.manualPause || n.pause()
}, function() {
n.manualPause || n.manualPlay || n.stopped || n.play()
}), n.vars.pauseInvisible && f.pauseInvisible.isHidden() || (n.vars.initDelay > 0 ? n.startTimeout = setTimeout(n.play, n.vars.initDelay) : n.play())), m && f.asNav.setup(), s && n.vars.touch && f.touch(), (!p || p && n.vars.smoothHeight) && $(window).bind("resize orientationchange focus", f.resize()), n.find("img").attr("draggable", "false"), setTimeout(function() {
n.vars.start(n)
}, 200)
},
asNav: {
setup: function() {
n.asNav = !0, n.animatingTo = Math.floor(n.currentSlide / n.move), n.currentItem = n.currentSlide, n.slides.removeClass(i + "active-slide").eq(n.currentItem).addClass(i + "active-slide"), r ? (t._slider = n, n.slides.each(function() {
var e = this;
e._gesture = new MSGesture, e._gesture.target = e, e.addEventListener("MSPointerDown", function(e) {
e.preventDefault(), e.currentTarget._gesture && e.currentTarget._gesture.addPointer(e.pointerId)
}, !1), e.addEventListener("MSGestureTap", function(e) {
e.preventDefault();
var t = $(this),
a = t.index();
$(n.vars.asNavFor).data("flexslider").animating || t.hasClass("active") || (n.direction = n.currentItem < a ? "next" : "prev", n.flexAnimate(a, n.vars.pauseOnAction, !1, !0, !0))
})
})) : n.slides.on(o, function(e) {
e.preventDefault();
var t = $(this),
a = t.index();
t.offset().left - $(n).scrollLeft() <= 0 && t.hasClass(i + "active-slide") ? n.flexAnimate(n.getTarget("prev"), !0) : $(n.vars.asNavFor).data("flexslider").animating || t.hasClass(i + "active-slide") || (n.direction = n.currentItem < a ? "next" : "prev", n.flexAnimate(a, n.vars.pauseOnAction, !1, !0, !0))
})
}
},
controlNav: {
setup: function() {
n.manualControls ? f.controlNav.setupManual() : f.controlNav.setupPaging()
},
setupPaging: function() {
var e = "thumbnails" === n.vars.controlNav ? "control-thumbs" : "control-paging",
t = 1,
a, r;
if (n.controlNavScaffold = $('<ol class="' + i + "control-nav " + i + e + '"></ol>'), n.pagingCount > 1)
for (var s = 0; s < n.pagingCount; s++) {
r = n.slides.eq(s), void 0 === r.attr("data-thumb-alt") && r.attr("data-thumb-alt", "");
var c = "" !== r.attr("data-thumb-alt") ? c = ' alt="' + r.attr("data-thumb-alt") + '"' : "";
if (a = "thumbnails" === n.vars.controlNav ? '<img src="' + r.attr("data-thumb") + '"' + c + "/>" : '<a href="#">' + t + "</a>", "thumbnails" === n.vars.controlNav && !0 === n.vars.thumbCaptions) {
var d = r.attr("data-thumbcaption");
"" !== d && void 0 !== d && (a += '<span class="' + i + 'caption">' + d + "</span>")
}
n.controlNavScaffold.append("<li>" + a + "</li>"), t++
}
n.controlsContainer ? $(n.controlsContainer).append(n.controlNavScaffold) : n.append(n.controlNavScaffold), f.controlNav.set(), f.controlNav.active(), n.controlNavScaffold.delegate("a, img", o, function(e) {
if (e.preventDefault(), "" === l || l === e.type) {
var t = $(this),
a = n.controlNav.index(t);
t.hasClass(i + "active") || (n.direction = a > n.currentSlide ? "next" : "prev", n.flexAnimate(a, n.vars.pauseOnAction))
}
"" === l && (l = e.type), f.setToClearWatchedEvent()
})
},
setupManual: function() {
n.controlNav = n.manualControls, f.controlNav.active(), n.controlNav.bind(o, function(e) {
if (e.preventDefault(), "" === l || l === e.type) {
var t = $(this),
a = n.controlNav.index(t);
t.hasClass(i + "active") || (a > n.currentSlide ? n.direction = "next" : n.direction = "prev", n.flexAnimate(a, n.vars.pauseOnAction))
}
"" === l && (l = e.type), f.setToClearWatchedEvent()
})
},
set: function() {
var e = "thumbnails" === n.vars.controlNav ? "img" : "a";
n.controlNav = $("." + i + "control-nav li " + e, n.controlsContainer ? n.controlsContainer : n)
},
active: function() {
n.controlNav.removeClass(i + "active").eq(n.animatingTo).addClass(i + "active")
},
update: function(e, t) {
n.pagingCount > 1 && "add" === e ? n.controlNavScaffold.append($('<li><a href="#">' + n.count + "</a></li>")) : 1 === n.pagingCount ? n.controlNavScaffold.find("li").remove() : n.controlNav.eq(t).closest("li").remove(), f.controlNav.set(), n.pagingCount > 1 && n.pagingCount !== n.controlNav.length ? n.update(t, e) : f.controlNav.active()
}
},
directionNav: {
setup: function() {
var e = $('<ul class="' + i + 'direction-nav"><li class="' + i + 'nav-prev"><a class="' + i + 'prev" href="#">' + n.vars.prevText + '</a></li><li class="' + i + 'nav-next"><a class="' + i + 'next" href="#">' + n.vars.nextText + "</a></li></ul>");
n.customDirectionNav ? n.directionNav = n.customDirectionNav : n.controlsContainer ? ($(n.controlsContainer).append(e), n.directionNav = $("." + i + "direction-nav li a", n.controlsContainer)) : (n.append(e), n.directionNav = $("." + i + "direction-nav li a", n)), f.directionNav.update(), n.directionNav.bind(o, function(e) {
e.preventDefault();
var t;
"" !== l && l !== e.type || (t = $(this).hasClass(i + "next") ? n.getTarget("next") : n.getTarget("prev"), n.flexAnimate(t, n.vars.pauseOnAction)), "" === l && (l = e.type), f.setToClearWatchedEvent()
})
},
update: function() {
var e = i + "disabled";
1 === n.pagingCount ? n.directionNav.addClass(e).attr("tabindex", "-1") : n.vars.animationLoop ? n.directionNav.removeClass(e).removeAttr("tabindex") : 0 === n.animatingTo ? n.directionNav.removeClass(e).filter("." + i + "prev").addClass(e).attr("tabindex", "-1") : n.animatingTo === n.last ? n.directionNav.removeClass(e).filter("." + i + "next").addClass(e).attr("tabindex", "-1") : n.directionNav.removeClass(e).removeAttr("tabindex")
}
},
pausePlay: {
setup: function() {
var e = $('<div class="' + i + 'pauseplay"><a href="#"></a></div>');
n.controlsContainer ? (n.controlsContainer.append(e), n.pausePlay = $("." + i + "pauseplay a", n.controlsContainer)) : (n.append(e), n.pausePlay = $("." + i + "pauseplay a", n)), f.pausePlay.update(n.vars.slideshow ? i + "pause" : i + "play"), n.pausePlay.bind(o, function(e) {
e.preventDefault(), "" !== l && l !== e.type || ($(this).hasClass(i + "pause") ? (n.manualPause = !0, n.manualPlay = !1, n.pause()) : (n.manualPause = !1, n.manualPlay = !0, n.play())), "" === l && (l = e.type), f.setToClearWatchedEvent()
})
},
update: function(e) {
"play" === e ? n.pausePlay.removeClass(i + "pause").addClass(i + "play").html(n.vars.playText) : n.pausePlay.removeClass(i + "play").addClass(i + "pause").html(n.vars.pauseText)
}
},
touch: function() {
function e(e) {
e.stopPropagation(), n.animating ? e.preventDefault() : (n.pause(), t._gesture.addPointer(e.pointerId), T = 0, c = d ? n.h : n.w, f = Number(new Date), l = v && u && n.animatingTo === n.last ? 0 : v && u ? n.limit - (n.itemW + n.vars.itemMargin) * n.move * n.animatingTo : v && n.currentSlide === n.last ? n.limit : v ? (n.itemW + n.vars.itemMargin) * n.move * n.currentSlide : u ? (n.last - n.currentSlide + n.cloneOffset) * c : (n.currentSlide + n.cloneOffset) * c)
}
function a(e) {
e.stopPropagation();
var a = e.target._slider;
if (a) {
var n = -e.translationX,
i = -e.translationY;
if (T += d ? i : n, m = T, y = d ? Math.abs(T) < Math.abs(-n) : Math.abs(T) < Math.abs(-i), e.detail === e.MSGESTURE_FLAG_INERTIA) return void setImmediate(function() {
t._gesture.stop()
});
(!y || Number(new Date) - f > 500) && (e.preventDefault(), !p && a.transitions && (a.vars.animationLoop || (m = T / (0 === a.currentSlide && T < 0 || a.currentSlide === a.last && T > 0 ? Math.abs(T) / c + 2 : 1)), a.setProps(l + m, "setTouch")))
}
}
function i(e) {
e.stopPropagation();
var t = e.target._slider;
if (t) {
if (t.animatingTo === t.currentSlide && !y && null !== m) {
var a = u ? -m : m,
n = a > 0 ? t.getTarget("next") : t.getTarget("prev");
t.canAdvance(n) && (Number(new Date) - f < 550 && Math.abs(a) > 50 || Math.abs(a) > c / 2) ? t.flexAnimate(n, t.vars.pauseOnAction) : p || t.flexAnimate(t.currentSlide, t.vars.pauseOnAction, !0)
}
s = null, o = null, m = null, l = null, T = 0
}
}
var s, o, l, c, m, f, g, h, S, y = !1,
x = 0,
b = 0,
T = 0;
r ? (t.style.msTouchAction = "none", t._gesture = new MSGesture, t._gesture.target = t, t.addEventListener("MSPointerDown", e, !1), t._slider = n, t.addEventListener("MSGestureChange", a, !1), t.addEventListener("MSGestureEnd", i, !1)) : (g = function(e) {
n.animating ? e.preventDefault() : (window.navigator.msPointerEnabled || 1 === e.touches.length) && (n.pause(), c = d ? n.h : n.w, f = Number(new Date), x = e.touches[0].pageX, b = e.touches[0].pageY, l = v && u && n.animatingTo === n.last ? 0 : v && u ? n.limit - (n.itemW + n.vars.itemMargin) * n.move * n.animatingTo : v && n.currentSlide === n.last ? n.limit : v ? (n.itemW + n.vars.itemMargin) * n.move * n.currentSlide : u ? (n.last - n.currentSlide + n.cloneOffset) * c : (n.currentSlide + n.cloneOffset) * c, s = d ? b : x, o = d ? x : b, t.addEventListener("touchmove", h, !1), t.addEventListener("touchend", S, !1))
}, h = function(e) {
x = e.touches[0].pageX, b = e.touches[0].pageY, m = d ? s - b : s - x, y = d ? Math.abs(m) < Math.abs(x - o) : Math.abs(m) < Math.abs(b - o);
var t = 500;
(!y || Number(new Date) - f > 500) && (e.preventDefault(), !p && n.transitions && (n.vars.animationLoop || (m /= 0 === n.currentSlide && m < 0 || n.currentSlide === n.last && m > 0 ? Math.abs(m) / c + 2 : 1), n.setProps(l + m, "setTouch")))
}, S = function(e) {
if (t.removeEventListener("touchmove", h, !1), n.animatingTo === n.currentSlide && !y && null !== m) {
var a = u ? -m : m,
i = a > 0 ? n.getTarget("next") : n.getTarget("prev");
n.canAdvance(i) && (Number(new Date) - f < 550 && Math.abs(a) > 50 || Math.abs(a) > c / 2) ? n.flexAnimate(i, n.vars.pauseOnAction) : p || n.flexAnimate(n.currentSlide, n.vars.pauseOnAction, !0)
}
t.removeEventListener("touchend", S, !1), s = null, o = null, m = null, l = null
}, t.addEventListener("touchstart", g, !1))
},
resize: function() {
!n.animating && n.is(":visible") && (v || n.doMath(), p ? f.smoothHeight() : v ? (n.slides.width(n.computedW), n.update(n.pagingCount), n.setProps()) : d ? (n.viewport.height(n.h), n.setProps(n.h, "setTotal")) : (n.vars.smoothHeight && f.smoothHeight(), n.newSlides.width(n.computedW), n.setProps(n.computedW, "setTotal")))
},
smoothHeight: function(e) {
if (!d || p) {
var t = p ? n : n.viewport;
e ? t.animate({
height: n.slides.eq(n.animatingTo).innerHeight()
}, e) : t.innerHeight(n.slides.eq(n.animatingTo).innerHeight())
}
},
sync: function(e) {
var t = $(n.vars.sync).data("flexslider"),
a = n.animatingTo;
switch (e) {
case "animate":
t.flexAnimate(a, n.vars.pauseOnAction, !1, !0);
break;
case "play":
t.playing || t.asNav || t.play();
break;
case "pause":
t.pause();
break
}
},
uniqueID: function(e) {
return e.filter("[id]").add(e.find("[id]")).each(function() {
var e = $(this);
e.attr("id", e.attr("id") + "_clone")
}), e
},
pauseInvisible: {
visProp: null,
init: function() {
var e = f.pauseInvisible.getHiddenProp();
if (e) {
var t = e.replace(/[H|h]idden/, "") + "visibilitychange";
document.addEventListener(t, function() {
f.pauseInvisible.isHidden() ? n.startTimeout ? clearTimeout(n.startTimeout) : n.pause() : n.started ? n.play() : n.vars.initDelay > 0 ? setTimeout(n.play, n.vars.initDelay) : n.play()
})
}
},
isHidden: function() {
var e = f.pauseInvisible.getHiddenProp();
return !!e && document[e]
},
getHiddenProp: function() {
var e = ["webkit", "moz", "ms", "o"];
if ("hidden" in document) return "hidden";
for (var t = 0; t < e.length; t++)
if (e[t] + "Hidden" in document) return e[t] + "Hidden";
return null
}
},
setToClearWatchedEvent: function() {
clearTimeout(c), c = setTimeout(function() {
l = ""
}, 3e3)
}
}, n.flexAnimate = function(e, t, a, r, o) {
if (n.vars.animationLoop || e === n.currentSlide || (n.direction = e > n.currentSlide ? "next" : "prev"), m && 1 === n.pagingCount && (n.direction = n.currentItem < e ? "next" : "prev"), !n.animating && (n.canAdvance(e, o) || a) && n.is(":visible")) {
if (m && r) {
var l = $(n.vars.asNavFor).data("flexslider");
if (n.atEnd = 0 === e || e === n.count - 1, l.flexAnimate(e, !0, !1, !0, o), n.direction = n.currentItem < e ? "next" : "prev", l.direction = n.direction, Math.ceil((e + 1) / n.visible) - 1 === n.currentSlide || 0 === e) return n.currentItem = e, n.slides.removeClass(i + "active-slide").eq(e).addClass(i + "active-slide"), !1;
n.currentItem = e, n.slides.removeClass(i + "active-slide").eq(e).addClass(i + "active-slide"), e = Math.floor(e / n.visible)
}
if (n.animating = !0, n.animatingTo = e, t && n.pause(), n.vars.before(n), n.syncExists && !o && f.sync("animate"), n.vars.controlNav && f.controlNav.active(), v || n.slides.removeClass(i + "active-slide").eq(e).addClass(i + "active-slide"), n.atEnd = 0 === e || e === n.last, n.vars.directionNav && f.directionNav.update(), e === n.last && (n.vars.end(n), n.vars.animationLoop || n.pause()), p) s ? (n.slides.eq(n.currentSlide).css({
opacity: 0,
zIndex: 1
}), n.slides.eq(e).css({
opacity: 1,
zIndex: 2
}), n.wrapup(c)) : (n.slides.eq(n.currentSlide).css({
zIndex: 1
}).animate({
opacity: 0
}, n.vars.animationSpeed, n.vars.easing), n.slides.eq(e).css({
zIndex: 2
}).animate({
opacity: 1
}, n.vars.animationSpeed, n.vars.easing, n.wrapup));
else {
var c = d ? n.slides.filter(":first").height() : n.computedW,
g, h, S;
v ? (g = n.vars.itemMargin, S = (n.itemW + g) * n.move * n.animatingTo, h = S > n.limit && 1 !== n.visible ? n.limit : S) : h = 0 === n.currentSlide && e === n.count - 1 && n.vars.animationLoop && "next" !== n.direction ? u ? (n.count + n.cloneOffset) * c : 0 : n.currentSlide === n.last && 0 === e && n.vars.animationLoop && "prev" !== n.direction ? u ? 0 : (n.count + 1) * c : u ? (n.count - 1 - e + n.cloneOffset) * c : (e + n.cloneOffset) * c, n.setProps(h, "", n.vars.animationSpeed), n.transitions ? (n.vars.animationLoop && n.atEnd || (n.animating = !1, n.currentSlide = n.animatingTo), n.container.unbind("webkitTransitionEnd transitionend"), n.container.bind("webkitTransitionEnd transitionend", function() {
clearTimeout(n.ensureAnimationEnd), n.wrapup(c)
}), clearTimeout(n.ensureAnimationEnd), n.ensureAnimationEnd = setTimeout(function() {
n.wrapup(c)
}, n.vars.animationSpeed + 100)) : n.container.animate(n.args, n.vars.animationSpeed, n.vars.easing, function() {
n.wrapup(c)
})
}
n.vars.smoothHeight && f.smoothHeight(n.vars.animationSpeed)
}
}, n.wrapup = function(e) {
p || v || (0 === n.currentSlide && n.animatingTo === n.last && n.vars.animationLoop ? n.setProps(e, "jumpEnd") : n.currentSlide === n.last && 0 === n.animatingTo && n.vars.animationLoop && n.setProps(e, "jumpStart")), n.animating = !1, n.currentSlide = n.animatingTo, n.vars.after(n)
}, n.animateSlides = function() {
!n.animating && e && n.flexAnimate(n.getTarget("next"))
}, n.pause = function() {
clearInterval(n.animatedSlides), n.animatedSlides = null, n.playing = !1, n.vars.pausePlay && f.pausePlay.update("play"), n.syncExists && f.sync("pause")
}, n.play = function() {
n.playing && clearInterval(n.animatedSlides), n.animatedSlides = n.animatedSlides || setInterval(n.animateSlides, n.vars.slideshowSpeed), n.started = n.playing = !0, n.vars.pausePlay && f.pausePlay.update("pause"), n.syncExists && f.sync("play")
}, n.stop = function() {
n.pause(), n.stopped = !0
}, n.canAdvance = function(e, t) {
var a = m ? n.pagingCount - 1 : n.last;
return !!t || (!(!m || n.currentItem !== n.count - 1 || 0 !== e || "prev" !== n.direction) || (!m || 0 !== n.currentItem || e !== n.pagingCount - 1 || "next" === n.direction) && (!(e === n.currentSlide && !m) && (!!n.vars.animationLoop || (!n.atEnd || 0 !== n.currentSlide || e !== a || "next" === n.direction) && (!n.atEnd || n.currentSlide !== a || 0 !== e || "next" !== n.direction))))
}, n.getTarget = function(e) {
return n.direction = e, "next" === e ? n.currentSlide === n.last ? 0 : n.currentSlide + 1 : 0 === n.currentSlide ? n.last : n.currentSlide - 1
}, n.setProps = function(e, t, a) {
var i = function() {
var a = e || (n.itemW + n.vars.itemMargin) * n.move * n.animatingTo;
return -1 * function() {
if (v) return "setTouch" === t ? e : u && n.animatingTo === n.last ? 0 : u ? n.limit - (n.itemW + n.vars.itemMargin) * n.move * n.animatingTo : n.animatingTo === n.last ? n.limit : a;
switch (t) {
case "setTotal":
return u ? (n.count - 1 - n.currentSlide + n.cloneOffset) * e : (n.currentSlide + n.cloneOffset) * e;
case "setTouch":
return e;
case "jumpEnd":
return u ? e : n.count * e;
case "jumpStart":
return u ? n.count * e : e;
default:
return e
}
}() + "px"
}();
n.transitions && (i = d ? "translate3d(0," + i + ",0)" : "translate3d(" + i + ",0,0)", a = void 0 !== a ? a / 1e3 + "s" : "0s", n.container.css("-" + n.pfx + "-transition-duration", a), n.container.css("transition-duration", a)), n.args[n.prop] = i, (n.transitions || void 0 === a) && n.container.css(n.args), n.container.css("transform", i)
}, n.setup = function(e) {
if (p) n.slides.css({
width: "100%",
float: "left",
marginRight: "-100%",
position: "relative"
}), "init" === e && (s ? n.slides.css({
opacity: 0,
display: "block",
webkitTransition: "opacity " + n.vars.animationSpeed / 1e3 + "s ease",
zIndex: 1
}).eq(n.currentSlide).css({
opacity: 1,
zIndex: 2
}) : 0 == n.vars.fadeFirstSlide ? n.slides.css({
opacity: 0,
display: "block",
zIndex: 1
}).eq(n.currentSlide).css({
zIndex: 2
}).css({
opacity: 1
}) : n.slides.css({
opacity: 0,
display: "block",
zIndex: 1
}).eq(n.currentSlide).css({
zIndex: 2
}).animate({
opacity: 1
}, n.vars.animationSpeed, n.vars.easing)), n.vars.smoothHeight && f.smoothHeight();
else {
var t, a;
"init" === e && (n.viewport = $('<div class="' + i + 'viewport"></div>').css({
overflow: "hidden",
position: "relative"
}).appendTo(n).append(n.container), n.cloneCount = 0, n.cloneOffset = 0, u && (a = $.makeArray(n.slides).reverse(), n.slides = $(a), n.container.empty().append(n.slides))), n.vars.animationLoop && !v && (n.cloneCount = 2, n.cloneOffset = 1, "init" !== e && n.container.find(".clone").remove(), n.container.append(f.uniqueID(n.slides.first().clone().addClass("clone")).attr("aria-hidden", "true")).prepend(f.uniqueID(n.slides.last().clone().addClass("clone")).attr("aria-hidden", "true"))), n.newSlides = $(n.vars.selector, n), t = u ? n.count - 1 - n.currentSlide + n.cloneOffset : n.currentSlide + n.cloneOffset, d && !v ? (n.container.height(200 * (n.count + n.cloneCount) + "%").css("position", "absolute").width("100%"), setTimeout(function() {
n.newSlides.css({
display: "block"
}), n.doMath(), n.viewport.height(n.h), n.setProps(t * n.h, "init")
}, "init" === e ? 100 : 0)) : (n.container.width(200 * (n.count + n.cloneCount) + "%"), n.setProps(t * n.computedW, "init"), setTimeout(function() {
n.doMath(), n.newSlides.css({
width: n.computedW,
marginRight: n.computedM,
float: "left",
display: "block"
}), n.vars.smoothHeight && f.smoothHeight()
}, "init" === e ? 100 : 0))
}
v || n.slides.removeClass(i + "active-slide").eq(n.currentSlide).addClass(i + "active-slide"), n.vars.init(n)
}, n.doMath = function() {
var e = n.slides.first(),
t = n.vars.itemMargin,
a = n.vars.minItems,
i = n.vars.maxItems;
n.w = void 0 === n.viewport ? n.width() : n.viewport.width(), n.h = e.height(), n.boxPadding = e.outerWidth() - e.width(), v ? (n.itemT = n.vars.itemWidth + t, n.itemM = t, n.minW = a ? a * n.itemT : n.w, n.maxW = i ? i * n.itemT - t : n.w, n.itemW = n.minW > n.w ? (n.w - t * (a - 1)) / a : n.maxW < n.w ? (n.w - t * (i - 1)) / i : n.vars.itemWidth > n.w ? n.w : n.vars.itemWidth, n.visible = Math.floor(n.w / n.itemW), n.move = n.vars.move > 0 && n.vars.move < n.visible ? n.vars.move : n.visible, n.pagingCount = Math.ceil((n.count - n.visible) / n.move + 1), n.last = n.pagingCount - 1, n.limit = 1 === n.pagingCount ? 0 : n.vars.itemWidth > n.w ? n.itemW * (n.count - 1) + t * (n.count - 1) : (n.itemW + t) * n.count - n.w - t) : (n.itemW = n.w, n.itemM = t, n.pagingCount = n.count, n.last = n.count - 1), n.computedW = n.itemW - n.boxPadding, n.computedM = n.itemM
}, n.update = function(e, t) {
n.doMath(), v || (e < n.currentSlide ? n.currentSlide += 1 : e <= n.currentSlide && 0 !== e && (n.currentSlide -= 1), n.animatingTo = n.currentSlide), n.vars.controlNav && !n.manualControls && ("add" === t && !v || n.pagingCount > n.controlNav.length ? f.controlNav.update("add") : ("remove" === t && !v || n.pagingCount < n.controlNav.length) && (v && n.currentSlide > n.last && (n.currentSlide -= 1, n.animatingTo -= 1), f.controlNav.update("remove", n.last))), n.vars.directionNav && f.directionNav.update()
}, n.addSlide = function(e, t) {
var a = $(e);
n.count += 1, n.last = n.count - 1, d && u ? void 0 !== t ? n.slides.eq(n.count - t).after(a) : n.container.prepend(a) : void 0 !== t ? n.slides.eq(t).before(a) : n.container.append(a), n.update(t, "add"), n.slides = $(n.vars.selector + ":not(.clone)", n), n.setup(), n.vars.added(n)
}, n.removeSlide = function(e) {
var t = isNaN(e) ? n.slides.index($(e)) : e;
n.count -= 1, n.last = n.count - 1, isNaN(e) ? $(e, n.slides).remove() : d && u ? n.slides.eq(n.last).remove() : n.slides.eq(e).remove(), n.doMath(), n.update(t, "remove"), n.slides = $(n.vars.selector + ":not(.clone)", n), n.setup(), n.vars.removed(n)
}, f.init()
}, $(window).blur(function(t) {
e = !1
}).focus(function(t) {
e = !0
}), $.flexslider.defaults = {
namespace: "flex-",
selector: ".slides > li",
animation: "fade",
easing: "swing",
direction: "horizontal",
reverse: !1,
animationLoop: !0,
smoothHeight: !1,
startAt: 0,
slideshow: !0,
slideshowSpeed: 7e3,
animationSpeed: 600,
initDelay: 0,
randomize: !1,
fadeFirstSlide: !0,
thumbCaptions: !1,
pauseOnAction: !0,
pauseOnHover: !1,
pauseInvisible: !0,
useCSS: !0,
touch: !0,
video: !1,
controlNav: !0,
directionNav: !0,
prevText: "Previous",
nextText: "Next",
keyboard: !0,
multipleKeyboard: !1,
mousewheel: !1,
pausePlay: !1,
pauseText: "Pause",
playText: "Play",
controlsContainer: "",
manualControls: "",
customDirectionNav: "",
sync: "",
asNavFor: "",
itemWidth: 0,
itemMargin: 0,
minItems: 1,
maxItems: 0,
move: 0,
allowOneSlide: !0,
start: function() {},
before: function() {},
after: function() {},
end: function() {},
added: function() {},
removed: function() {},
init: function() {}
}, $.fn.flexslider = function(e) {
if (void 0 === e && (e = {}), "object" == typeof e) return this.each(function() {
var t = $(this),
a = e.selector ? e.selector : ".slides > li",
n = t.find(a);
1 === n.length && !1 === e.allowOneSlide || 0 === n.length ? (n.fadeIn(400), e.start && e.start(t)) : void 0 === t.data("flexslider") && new $.flexslider(this, e)
});
var t = $(this).data("flexslider");
switch (e) {
case "play":
t.play();
break;
case "pause":
t.pause();
break;
case "stop":
t.stop();
break;
case "next":
t.flexAnimate(t.getTarget("next"), !0);
break;
case "prev":
case "previous":
t.flexAnimate(t.getTarget("prev"), !0);
break;
default:
"number" == typeof e && t.flexAnimate(e, !0)
}
}
}(jQuery);

View File

@ -0,0 +1,45 @@
$(function() {
var a = $(".header-container-wrapper");
$(window).scroll(function() {
var b = $(window).scrollTop();
if (b >= 50) {
a.removeClass("static").addClass("scroll")
} else {
a.removeClass("scroll").addClass("static")
}
});
$("a[href*=#]:not([href=#])").click(function() {
if (location.pathname.replace(/^\//, "") == this.pathname.replace(/^\//, "") && location.hostname == this.hostname) {
var b = $(this.hash);
b = b.length ? b : $("[name=" + this.hash.slice(1) + "]");
if (b.length) {
$("html,body").animate({
scrollTop: b.offset().top - 30
}, 500);
return false
}
}
});
$(".sidebar .widget-span span:empty").parent().parent().hide();
$(".flexslider").flexslider({
animation: "fade",
slideshow: false,
touch: true,
keyboard: true,
pauseOnHover: true,
selector: ".slides .hs_cos_wrapper_type_custom_widget"
});
$(".safe .hero").append('<a href="#content" class="scroll-indicator"><span class="dots"></span></a>')
});
window.addEventListener("load", function() {
$(".feed").fadeIn();
$(".feed .hs-rss-item").click(function() {
window.location = $(this).find("a").attr("href");
return false
});
$(".feed .hs-rss-item").each(function() {
var a = $(this);
$(".hs-rss-item-image-wrapper", a).prependTo(a)
});
$(".feed .hs-rss-item").addClass("span4")
}, false);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,402 @@
! function() {
var e = [, function(e, t) {
e.exports = "//static.hsappstatic.net/HubspotToolsMenu/static-1.432/js/sprocket_white.svg"
}, function(e, t) {
e.exports = "//static.hsappstatic.net/HubspotToolsMenu/static-1.432/js/sprocket_orange.svg"
}, function(e, t) {
e.exports = "//static.hsappstatic.net/HubspotToolsMenu/static-1.432/css/toolsmenu.css"
}],
t = {};
function n(s) {
var o = t[s];
if (void 0 !== o) return o.exports;
var i = t[s] = {
exports: {}
};
e[s].call(i.exports, i, i.exports, n);
return i.exports
}
n.n = function(e) {
var t = e && e.__esModule ? function() {
return e.default
} : function() {
return e
};
n.d(t, {
a: t
});
return t
};
n.d = function(e, t) {
for (var s in t) n.o(t, s) && !n.o(e, s) && Object.defineProperty(e, s, {
enumerable: !0,
get: t[s]
})
};
n.o = function(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
};
! function() {
"use strict";
const e = "HS_SPROCKET_MENU_LOCAL_OVERRIDE",
t = "https://local.hsappstatic.net/HubspotToolsMenu/static/js/index.js",
s = () => Array.from(document.body.getElementsByTagName("script")).some((e => e.src === t)),
o = () => !(!window.localStorage.getItem(e) && 1) && !s(),
i = () => {
const e = document.createElement("script");
e.src = t;
e.onload = () => {
setTimeout((() => {
const e = new Event("DOMContentLoaded");
document.dispatchEvent(e)
}), 100)
};
document.body.appendChild(e)
};
o() && i();
var r = n(1),
a = n.n(r),
l = n(2),
c = n.n(l),
d = n(3),
h = n.n(d);
const p = {
SUCCESS: "hs-local-dev-server--success",
WARNING: "hs-local-dev-server--warning",
FAILURE: "hs-local-dev-server--failed"
};
class u {
constructor(e) {
this.baseUrl = this.getHsBaseUrl(e.app_hs_base_url);
this.cpBaseUrl = this.getHsBaseUrl(e.cp_hs_base_url);
this.contentId = e.dynamic_page_id && "0" !== e.dynamic_page_id && "null" !== e.dynamic_page_id ? e.dynamic_page_id : e.page_id;
this.categoryId = e.category_id;
this.contentGroupId = e.content_group_id;
this.portalId = e.portal_id;
this.environments = {
PRODUCTION: 1,
STAGING: 2
};
this.isCustomerPortal = !0 === e.is_customer_portal;
this.cmsEnvironment = this.getCmsEnvironmentFromCookie();
this.contentUrl = this.getHsContentUrl();
this.permissionObj = {};
this.dynamic_page_id = e.dynamic_page_id;
e.scp_id && "0" !== e.scp_id && "null" !== e.scp_id && (this.contentId = e.scp_id)
}
getHsBaseUrl(e) {
return window.localStorage.getItem("HS_LOCAL_TESTING") ? e.replace(/[^/](\w+?)(?=\.)/, "local") : e
}
getHsContentUrl() {
const e = window.location.href.split("?")[0],
t = new URLSearchParams(window.location.search);
return t.has("hs_preview") ? `${e}?hs_preview=${t.get("hs_preview")}` : e
}
createElementFromHTML(e) {
const t = document.createElement("div");
t.innerHTML = e.trim();
return t.firstChild
}
jsonp(e, t) {
window.jsonpHandler = e => {
t(e)
};
const n = `${e}${-1!==e.indexOf("?")?"&":"?"}callback=jsonpHandler`,
s = document.createElement("script");
s.type = "text/javascript";
s.referrerPolicy = "no-referrer-when-downgrade";
s.async = !0;
s.src = n;
document.getElementsByTagName("head")[0].appendChild(s)
}
httpGet(e, t) {
const n = new XMLHttpRequest;
n.withCredentials = !0;
n.onreadystatechange = function() {
4 === this.readyState && 200 === this.status && t(JSON.parse(this.responseText))
};
n.open("GET", e, !0);
n.send()
}
showToolsMenuIfAuthor() {
let e, t = this.contentId;
const n = this.contentUrl;
let s = !1;
if (this.isCustomerPortal) e = "customer-portal";
else if (window.location.pathname.endsWith("_hcms/mem/login")) e = "content-membership";
else if (this.contentId && this.contentGroupId)
if (7 === this.categoryId) e = "blog-listing-pages";
else if (6 === this.categoryId) e = "knowledge-articles";
else if (12 === this.categoryId)
if (this.dynamic_page_id) e = "knowledge-articles";
else {
e = "knowledge-bases";
t = this.contentGroupId
}
else e = 13 === this.categoryId ? "case-studies" : "blog-posts";
else if (this.contentGroupId) {
e = 6 === this.categoryId ? "knowledge-bases" : "blogs";
t = this.contentGroupId
} else {
s = !0;
e = "landing-pages"
}
const o = `${this.baseUrl}/content-tools-menu/api/v1/tools-menu/has-permission-json?portalId=${this.portalId}`;
this.httpGet(o, (o => {
if (o.has_permission) {
const o = `${this.cpBaseUrl}/content-tools-menu/api/v1/tools-menu/permissions?portalId=${this.portalId}`;
this.httpGet(o, (o => {
this.permissionObj = o;
"content-membership" === e ? this.getContentMembershipCookie(e, this.portalId) : this.getAppLinks(e, t, this.portalId, n);
s && this.setupDeferredPrefetchingOfEditorAssets(e)
}))
}
}))
}
getContentMembershipCookie(e, t) {
this.jsonp(`${this.baseUrl}/content-tools-menu/api/v1/content/validate-hubspot-user?redirect_url=${window.location.href}&portalId=${t}`, (e => {
if (e && e.verified) {
const t = this.getUrlParameter("redirect_url") || e.redirectUrl || window.location.origin;
window.location.href = `/_hcms/mem/automatic-login-loading-message?redirect_url=${t}`
}
}))
}
getAppLinks(e, t, n, s) {
this.httpGet(`${this.baseUrl}/content-tools-menu/api/v1/tools-menu/${e}/${t}/actions-json?portalId=${n}&clientUrl=${s}`, (e => {
e.actions && e.strings && this.showAppLinks(e.actions, e.strings)
}))
}
renderAction(e) {
const t = e[2] ? `class='${e[2]}'` : "",
n = e[1] ? `href='${e[1]}'` : "";
return e[0].includes("Track Page Speed") ? ` <li class="site-speed-list-item">\n <a target='_blank' ${n} ${t}>\n ${e[0]}\n </a>\n <div class="new-badge">\n New\n </div>\n </li> ` : `<li><a target='_blank' ${n} ${t}>\n${e[0]}\n</a></li>`
}
showAppLinks(e, t) {
const n = [].slice.call(document.querySelectorAll("[data-menu-id]")).filter((e => !!e.getAttribute("data-menu-id").trim())),
s = n.length > 0 ? n[0] : null;
if (null !== s) {
const n = s.getAttribute("data-menu-id").trim();
e.push([t.EDIT_NAVIGATION_MENU, `${this.baseUrl}/menus/${this.portalId}/edit/${n}`])
}
e.push(["Open Local Dev Server", "", "hs-local-dev-server"]);
let o = e.map(this.renderAction).join("");
if (this.permissionObj.permissions.includes("CAN_PREVIEW_ENVIRONMENTS")) {
o += ` <li><a class="hs-environment-buffer-on">${t.VIEW_BUFFER}</a></li> <li><a class="hs-environment-buffer-off">${t.VIEW_HARD}</a></li> `;
o += ` <li><a class="hs-environment-staging">${t.VIEW_STAGING}</a></li> <li><a class="hs-environment-production">${t.VIEW_PRODUCTION}</a></li> `
}
const i = `<link rel="stylesheet" href="${h()}" />`,
r = `\n <div role="button" class="hs-tools-menu hs-collapsed" aria-expanded="false">\n <img class="hs-sprocket" alt="${t.MENU_ICON_ALT_TEXT}" src="${a()}" />\n <div class="hs-dropdown">\n <div class="hs-title">${t.MENU_TITLE}</div>\n <ul class="hs-tools-actions">\n ${o}\n <li>\n <a role="button" href="#hide-menu" class="hs-menu-hider">${t.HIDE_THIS_MENU}</a>\n </li>\n </ul>\n </div>\n </div>\n `;
document.body.appendChild(this.createElementFromHTML(i));
document.body.appendChild(this.createElementFromHTML(r));
this.registerEvents()
}
registerEvents() {
const e = document.querySelector(".hs-tools-menu");
this.registerDropdown(e);
e.querySelector(".hs-menu-hider").addEventListener("click", (t => {
t.preventDefault();
t.stopPropagation();
e.style.display = "none"
}));
const t = e.querySelector(".hs-environment-buffer-on");
t && (this.cmsEnvironment.buffer ? t.parentElement.removeChild(t) : t.addEventListener("click", (e => {
e.preventDefault();
e.stopPropagation();
this.requestAndSetEnvironmentCookie(this.portalId, !0, this.cmsEnvironment.environmentId)
})));
const n = e.querySelector(".hs-environment-buffer-off");
n && (this.cmsEnvironment.buffer ? n.addEventListener("click", (e => {
e.preventDefault();
e.stopPropagation();
this.requestAndSetEnvironmentCookie(this.portalId, !1, this.cmsEnvironment.environmentId)
})) : n.parentElement.removeChild(n));
const s = e.querySelector(".hs-environment-staging");
s && (this.cmsEnvironment.environmentId !== this.environments.STAGING ? s.addEventListener("click", (e => {
e.preventDefault();
e.stopPropagation();
this.requestAndSetEnvironmentCookie(this.portalId, this.cmsEnvironment.buffer, this.environments.STAGING)
})) : s.parentElement.removeChild(s));
const o = e.querySelector(".hs-environment-production");
o && (this.cmsEnvironment.environmentId !== this.environments.PRODUCTION ? o.addEventListener("click", (e => {
e.preventDefault();
e.stopPropagation();
this.requestAndSetEnvironmentCookie(this.portalId, this.cmsEnvironment.buffer, this.environments.PRODUCTION)
})) : o.parentElement.removeChild(o))
}
requestAndSetEnvironmentCookie(e, t, n) {
const s = `${this.cpBaseUrl}/content-tools-menu/api/v1/tools-menu/environment-cookie?portalId=${e}&environmentId=${n}&buffer=${t}`;
this.httpGet(s, (e => {
document.cookie = `hs_cms_environment=${btoa(JSON.stringify(e))}`;
window.location.reload()
}))
}
registerDropdown(e) {
const t = Array.from(e.children).find((e => e.classList.contains("hs-sprocket"))),
n = () => {
e.classList.add("hs-collapsed");
e.setAttribute("aria-expanded", !1);
t.setAttribute("src", a())
},
s = () => {
e.classList.remove("hs-collapsed");
e.setAttribute("aria-expanded", !0);
t.setAttribute("src", c());
e.querySelector(".hs-dropdown").style.display = ""
},
o = () => {
n();
document.body.removeEventListener("click", o)
},
i = t => {
if (null === t.target.getAttribute("href") || t.target.classList.contains("hs-local-dev-server")) {
t.preventDefault();
t.stopPropagation();
if (t.target.classList.contains("hs-local-dev-server")) this.setUpLocalDevUrl();
else if (e.classList.contains("hs-collapsed")) {
s();
document.body.addEventListener("click", o)
} else {
n();
document.body.removeEventListener("click", o)
}
}
};
e.addEventListener("click", i, !1)
}
getUrlParameter(e) {
e = e.replace(/[[]/, "\\[").replace(/[\]]/, "\\]");
const t = new RegExp(`[\\?&]${e}=([^&#]*)`).exec(location.search);
return null === t ? "" : decodeURIComponent(t[1].replace(/\+/g, " "))
}
getCmsEnvironmentFromCookie() {
const e = this.getCookie("hs_cms_environment");
return e ? JSON.parse(atob(e)) : {
portalId: 0,
environmentId: this.environments.PRODUCTION,
buffer: !1,
createdAt: 0
}
}
getCookie(e) {
const t = `${e}=`,
n = document.cookie.split(";");
for (let e = 0; e < n.length; e++) {
let s = n[e];
for (;
" " === s.charAt(0);) s = s.substring(1);
if (0 === s.indexOf(t)) return s.substring(t.length, s.length)
}
return ""
}
setupDeferredPrefetchingOfEditorAssets(e) {
window.addEventListener("load", (() => {
setTimeout((() => {
let t;
if ("landing-pages" !== e) return;
t = "content/editor/prefetcher.js";
const n = document.createElement("script");
n.src = `${this.baseUrl}/${t}`;
document.head.appendChild(n)
}), 2e3)
}))
}
setUpLocalDevUrl() {
let e = window.location.hostname,
t = window.location.pathname;
const n = window.location.search,
s = document.querySelector(".hs-tools-menu .hs-tools-actions .hs-local-dev-server");
n && n.slice("1").split("&").forEach((n => {
if (n.indexOf("hsDebugOverridePublicHost") > -1) {
e = n.split("=")[1];
t = t.replace("/cos-rendering/v1/public", "")
}
}));
const o = {
hostName: e,
pathName: t,
protocol: window.location.protocol,
contentId: this.contentId,
portalId: this.portalId
},
i = Object.keys(o).map((e => `${e}=${o[e]}`)).join("&"),
r = this.resetLocalDevLink.bind(this),
a = this.setLocalDevServerSuccess.bind(this),
l = this.setLocalDevServerFailure.bind(this);
r(s);
fetch(`http://localhost:1442/check-if-local-dev-server?${i}`).then((e => {
if (!e.ok) throw e.statusText;
return e.json()
})).then((e => a(e, s))).catch((e => {
console.error(e);
l(s)
}))
}
resetLocalDevLink(e) {
e.classList.remove(p.SUCCESS, p.WARNING, p.FAILURE);
e.removeAttribute("href", "title")
}
setLocalDevServerSuccess(e, t) {
if (e.localProxyUrl) {
t.setAttribute("href", e.localProxyUrl);
t.classList.add(p.SUCCESS);
window.open(e.localProxyUrl, "_blank")
} else {
t.classList.add(p.WARNING);
t.setAttribute("title", "Proxy unavailable - Click to retry")
}
}
setLocalDevServerFailure(e) {
e.classList.add(p.FAILURE);
e.setAttribute("title", "Local server not running - Click to retry")
}
}
class m {
constructor() {
this.getShowAllFiltersLinkEventHandler = e => t => {
const {
previousElementSibling: {
children: n
}
} = e;
n && [].slice.call(n, 0).forEach((e => {
e.style.display = "block"
}));
e.style.display = "none";
t.preventDefault();
t.stopPropagation()
}
}
setup() {
[].slice.call(document.querySelectorAll(".filter-expand-link"), 0).forEach((e => {
e.addEventListener("click", this.getShowAllFiltersLinkEventHandler(e))
}))
}
}
const v = () => {
const e = window.location,
{
port: t,
hostname: n,
pathname: s
} = e,
i = e !== window.parent.location,
r = s.includes("_hcms/preview/template"),
a = "" !== t || n.includes("hslocal.net") || n.includes("localhost");
return !(i || r || o() || a)
};
! function() {
if (window.document.documentMode) return;
const e = () => {
if (!window.hsVars || !window.hsVars.portal_id) return;
new u(window.hsVars).showToolsMenuIfAuthor();
(new m).setup()
};
v() && ("loading" === document.readyState ? document.addEventListener("DOMContentLoaded", (function t() {
e();
document.removeEventListener("DOMContentLoaded", t)
}), !1) : e())
}()
}()
}();
//# sourceMappingURL=//static.hsappstatic.net/HubspotToolsMenu/static-1.432/js/index.js.map

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,687 @@
! function() {
"use strict";
const t = "/_hcms/perf/v2",
e = window,
n = Math.pow(2, 31);
var i = {
mode: "compressed",
staticDomainPrefix: "//static.hsappstatic.net",
bender: {
depVersions: {
"content-cwv-embed": "static-1.1293",
"browserslist-config-hubspot": "static-1.114",
csstype: "static-1.8",
"head-dlb": "static-1.1074",
HeadJS: "static-2.440",
"hoist-non-react-statics": "static-3.9",
"hs-test-utils": "static-1.3276",
"hub-http": "static-1.2011",
"hub-http-janus": "static-1.493",
"hub-http-rxjs": "static-1.463",
HubStyleTokens: "static-2.6808",
jasmine: "static-4.425",
"jasmine-runner": "static-1.1821",
"metrics-js": "static-1.4705",
msw: "static-1.39",
quartz: "static-1.2288",
react: "static-7.123",
"react-dom": "static-7.85",
"react-redux": "static-7.16",
redux: "static-4.16",
"redux-thunk": "static-2.17",
rxjs: "static-5.10",
StyleGuideUI: "static-3.401",
"testing-library": "static-1.99",
"webpack-env": "static-1.4",
enviro: "static-4.230",
"hs-promise-rejection-tracking": "static-1.903",
PortalIdParser: "static-2.218",
raven: "static-3.863",
"raven-hubspot": "static-1.1170"
},
depPathPrefixes: {
"content-cwv-embed": "/content-cwv-embed/static-1.1293",
"browserslist-config-hubspot": "/browserslist-config-hubspot/static-1.114",
csstype: "/csstype/static-1.8",
"head-dlb": "/head-dlb/static-1.1074",
HeadJS: "/HeadJS/static-2.440",
"hoist-non-react-statics": "/hoist-non-react-statics/static-3.9",
"hs-test-utils": "/hs-test-utils/static-1.3276",
"hub-http": "/hub-http/static-1.2011",
"hub-http-janus": "/hub-http-janus/static-1.493",
"hub-http-rxjs": "/hub-http-rxjs/static-1.463",
HubStyleTokens: "/HubStyleTokens/static-2.6808",
jasmine: "/jasmine/static-4.425",
"jasmine-runner": "/jasmine-runner/static-1.1821",
"metrics-js": "/metrics-js/static-1.4705",
msw: "/msw/static-1.39",
quartz: "/quartz/static-1.2288",
react: "/react/static-7.123",
"react-dom": "/react-dom/static-7.85",
"react-redux": "/react-redux/static-7.16",
redux: "/redux/static-4.16",
"redux-thunk": "/redux-thunk/static-2.17",
rxjs: "/rxjs/static-5.10",
StyleGuideUI: "/StyleGuideUI/static-3.401",
"testing-library": "/testing-library/static-1.99",
"webpack-env": "/webpack-env/static-1.4",
enviro: "/enviro/static-4.230",
"hs-promise-rejection-tracking": "/hs-promise-rejection-tracking/static-1.903",
PortalIdParser: "/PortalIdParser/static-2.218",
raven: "/raven/static-3.863",
"raven-hubspot": "/raven-hubspot/static-1.1170"
},
project: "content-cwv-embed",
staticDomain: "//static.hsappstatic.net",
staticDomainPrefix: "//static.hsappstatic.net"
}
};
function r() {
const t = document.getElementById("hs-script-loader");
return t && "SCRIPT" === t.tagName
}
function a() {
return Array.prototype.slice.apply(document.querySelectorAll('script[data-loader="hs-scriptloader"], script#hs-analytics')).filter((t => t.src)).map((t => t.id))
}
function o() {
if (!r()) return {
usesScriptLoader: !1,
embedIdsPresent: []
};
return {
usesScriptLoader: !0,
embedIdsPresent: a()
}
}
function c() {
const t = navigator,
e = t.connection || t.mozConnection || t.webkitConnection;
return e ? {
type: e.type,
effectiveType: e.effectiveType,
downlink: e.downlink,
rtt: e.rtt
} : {}
}
let s = {};
function u(t) {
const e = t.navigationType;
"navigate" !== e && "reload" !== e && "prerender" !== e || (s[t.name] = t.value)
}
function d() {
const t = s;
s = {};
return t
}
function f(t, e) {
return Math.floor(Math.round(t / e) * e)
}
function p() {
return performance.timing.toJSON()
}
function l() {
return performance.getEntriesByType("navigation")[0]
}
function m() {
const t = l();
return {
startTime: t.startTime,
requestStart: t.requestStart,
responseStart: t.responseStart,
responseEnd: t.responseEnd,
domComplete: t.domComplete,
decodedBodySize: t.decodedBodySize,
encodedBodySize: t.encodedBodySize,
activationStart: t.activationStart,
deliveryType: t.deliveryType
}
}
function h() {
const t = e.hsVars;
t || console.warn("Cannot collect HS CMS performance data, hsVars are missing");
const n = i.bender.depVersions[i.bender.project].replace(/static-/, ""),
r = "static" === n;
return {
url: location.href,
portal: t.portal_id,
content: t.page_id,
group: t.content_group_id,
renderId: t.render_id,
embedPackageVersion: r ? void 0 : n
}
}
function v() {
return Object.assign({}, h(), {
visibleOnScriptLoad: !1
})
}
function g() {
const t = Object.assign({}, h(), {
visibleOnScriptLoad: !0,
connection: c(),
timing: p(),
navTiming: m(),
scriptLoader: o()
}),
{
width: i,
height: r
} = b();
i && r && (t.viewport = {
width: i,
height: r
});
if (e.hsVideoApi && "function" == typeof e.hsVideoApi.getPerformanceMetrics) {
const {
embedType: i,
embedVersion: r,
firstVideoLoadedAt: a,
firstVideoReadyAt: o,
firstVideoPlayedAt: c,
numHsVideos: s,
numAutoplay: u,
numInitiallyVisible: d,
numInteractedWith: f,
secondsOfVideoPlayed: p
} = e.hsVideoApi.getPerformanceMetrics();
if (s > 0) {
t.hsVideo = {
embedType: i,
embedVersion: r,
numHsVideos: s,
numAutoplay: u,
numInitiallyVisible: d,
numInteractedWith: f,
secondsOfVideoPlayed: p
};
a && (t.hsVideo.firstVideoLoadedAt = Math.min(a, n));
o && (t.hsVideo.firstVideoReadyAt = Math.min(o, n));
c && (t.hsVideo.firstVideoPlayedAt = Math.min(c, n))
}
}
if (e.leadflows && e.leadflows.perfMetrics && "function" == typeof e.leadflows.perfMetrics.getPerformanceMetrics) {
const {
numConfigured: n,
numEmbedsPresent: i,
numMatchingCurrentUrl: r,
numRendered: a
} = e.leadflows.perfMetrics.getPerformanceMetrics();
n > 0 && (t.leadflows = {
numConfigured: n,
numEmbedsPresent: i,
numMatchingCurrentUrl: r,
numRendered: a
})
}
if (e.hsCookieBanner && "function" == typeof e.hsCookieBanner.getPerfMetrics) {
const n = e.hsCookieBanner.getPerfMetrics();
if (n) {
const {
numSettings: e,
bannerInitAt: i,
bannerStartAt: r,
bannerReadyAt: a,
matchedBannerType: o,
usesGpc: c,
geolocationRequestInCriticalPath: s,
geolocationRequestDuration: u,
bannerRendered: d
} = n;
t.cookieBanner = {
numSettings: e,
bannerInitAt: i,
bannerStartAt: r,
bannerReadyAt: a,
matchedBannerType: o,
usesGpc: c,
geolocationRequestInCriticalPath: s,
geolocationRequestDuration: u,
bannerRendered: d
}
}
}
return t
}
function y() {
const t = g(),
e = d();
e && (t.cwv = e);
return t
}
function b() {
const t = window.innerWidth,
e = window.innerHeight;
return t > 0 && e > 0 ? {
width: f(t, 25),
height: f(e, 25)
} : {}
}
let w, S = !1;
function T(e) {
const n = new XMLHttpRequest;
n.open("POST", t, !0);
n.setRequestHeader("Content-type", "application/json");
n.onreadystatechange = function() {};
n.send(JSON.stringify(e));
S = !0
}
function E(e) {
S = navigator.sendBeacon(`${t}?viaBeacon=true`, new Blob([JSON.stringify(e)], {
type: "application/json"
}))
}
function C(t) {
try {
navigator.sendBeacon ? E(t) : T(t)
} catch (t) {
console.warn("Error sending HSCMS perf data", t)
}
}
function P() {
S || C(y())
}
function A() {
S || C(v())
}
function L(t) {
const e = () => {
if ("hidden" === document.visibilityState) {
t();
removeEventListener("visibilitychange", e, !0)
}
};
addEventListener("visibilitychange", e, !0);
addEventListener("pagehide", t, {
capture: !0,
once: !0
});
w = () => {
removeEventListener("visibilitychange", e, !0);
removeEventListener("pagehide", t, {
capture: !0
})
}
}
function I() {
L(P)
}
function M() {
L(A)
}
var j, k, V, x, B, R = -1,
H = function(t) {
addEventListener("pageshow", (function(e) {
e.persisted && (R = e.timeStamp, t(e))
}), !0)
},
q = function() {
return window.performance && performance.getEntriesByType && performance.getEntriesByType("navigation")[0]
},
O = function() {
var t = q();
return t && t.activationStart || 0
},
D = function(t, e) {
var n = q(),
i = "navigate";
R >= 0 ? i = "back-forward-cache" : n && (document.prerendering || O() > 0 ? i = "prerender" : document.wasDiscarded ? i = "restore" : n.type && (i = n.type.replace(/_/g, "-")));
return {
name: t,
value: void 0 === e ? -1 : e,
rating: "good",
delta: 0,
entries: [],
id: "v3-".concat(Date.now(), "-").concat(Math.floor(8999999999999 * Math.random()) + 1e12),
navigationType: i
}
},
z = function(t, e, n) {
try {
if (PerformanceObserver.supportedEntryTypes.includes(t)) {
var i = new PerformanceObserver((function(t) {
Promise.resolve().then((function() {
e(t.getEntries())
}))
}));
return i.observe(Object.assign({
type: t,
buffered: !0
}, n || {})), i
}
} catch (t) {}
},
F = function(t, e, n, i) {
var r, a;
return function(o) {
e.value >= 0 && (o || i) && ((a = e.value - (r || 0)) || void 0 === r) && (r = e.value, e.delta = a, e.rating = function(t, e) {
return t > e[1] ? "poor" : t > e[0] ? "needs-improvement" : "good"
}(e.value, n), t(e))
}
},
_ = function(t) {
requestAnimationFrame((function() {
return requestAnimationFrame((function() {
return t()
}))
}))
},
J = function(t) {
var e = function(e) {
"pagehide" !== e.type && "hidden" !== document.visibilityState || t(e)
};
addEventListener("visibilitychange", e, !0), addEventListener("pagehide", e, !0)
},
N = function(t) {
var e = !1;
return function(n) {
e || (t(n), e = !0)
}
},
G = -1,
U = function() {
return "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0
},
W = function(t) {
"hidden" === document.visibilityState && G > -1 && (G = "visibilitychange" === t.type ? t.timeStamp : 0, $())
},
X = function() {
addEventListener("visibilitychange", W, !0), addEventListener("prerenderingchange", W, !0)
},
$ = function() {
removeEventListener("visibilitychange", W, !0), removeEventListener("prerenderingchange", W, !0)
},
K = function() {
return G < 0 && (G = U(), X(), H((function() {
setTimeout((function() {
G = U(), X()
}), 0)
}))), {
get firstHiddenTime() {
return G
}
}
},
Q = function(t) {
document.prerendering ? addEventListener("prerenderingchange", (function() {
return t()
}), !0) : t()
},
Y = [1800, 3e3],
Z = function(t, e) {
e = e || {}, Q((function() {
var n, i = K(),
r = D("FCP"),
a = z("paint", (function(t) {
t.forEach((function(t) {
"first-contentful-paint" === t.name && (a.disconnect(), t.startTime < i.firstHiddenTime && (r.value = Math.max(t.startTime - O(), 0), r.entries.push(t), n(!0)))
}))
}));
a && (n = F(t, r, Y, e.reportAllChanges), H((function(i) {
r = D("FCP"), n = F(t, r, Y, e.reportAllChanges), _((function() {
r.value = performance.now() - i.timeStamp, n(!0)
}))
})))
}))
},
tt = [.1, .25],
et = function(t, e) {
e = e || {}, Z(N((function() {
var n, i = D("CLS", 0),
r = 0,
a = [],
o = function(t) {
t.forEach((function(t) {
if (!t.hadRecentInput) {
var e = a[0],
n = a[a.length - 1];
r && t.startTime - n.startTime < 1e3 && t.startTime - e.startTime < 5e3 ? (r += t.value, a.push(t)) : (r = t.value, a = [t])
}
})), r > i.value && (i.value = r, i.entries = a, n())
},
c = z("layout-shift", o);
c && (n = F(t, i, tt, e.reportAllChanges), J((function() {
o(c.takeRecords()), n(!0)
})), H((function() {
r = 0, i = D("CLS", 0), n = F(t, i, tt, e.reportAllChanges), _((function() {
return n()
}))
})), setTimeout(n, 0))
})))
},
nt = {
passive: !0,
capture: !0
},
it = new Date,
rt = function(t, e) {
j || (j = e, k = t, V = new Date, ct(removeEventListener), at())
},
at = function() {
if (k >= 0 && k < V - it) {
var t = {
entryType: "first-input",
name: j.type,
target: j.target,
cancelable: j.cancelable,
startTime: j.timeStamp,
processingStart: j.timeStamp + k
};
x.forEach((function(e) {
e(t)
})), x = []
}
},
ot = function(t) {
if (t.cancelable) {
var e = (t.timeStamp > 1e12 ? new Date : performance.now()) - t.timeStamp;
"pointerdown" == t.type ? function(t, e) {
var n = function() {
rt(t, e), r()
},
i = function() {
r()
},
r = function() {
removeEventListener("pointerup", n, nt), removeEventListener("pointercancel", i, nt)
};
addEventListener("pointerup", n, nt), addEventListener("pointercancel", i, nt)
}(e, t) : rt(e, t)
}
},
ct = function(t) {
["mousedown", "keydown", "touchstart", "pointerdown"].forEach((function(e) {
return t(e, ot, nt)
}))
},
st = [100, 300],
ut = function(t, e) {
e = e || {}, Q((function() {
var n, i = K(),
r = D("FID"),
a = function(t) {
t.startTime < i.firstHiddenTime && (r.value = t.processingStart - t.startTime, r.entries.push(t), n(!0))
},
o = function(t) {
t.forEach(a)
},
c = z("first-input", o);
n = F(t, r, st, e.reportAllChanges), c && J(N((function() {
o(c.takeRecords()), c.disconnect()
}))), c && H((function() {
var i;
r = D("FID"), n = F(t, r, st, e.reportAllChanges), x = [], k = -1, j = null, ct(addEventListener), i = a, x.push(i), at()
}))
}))
},
dt = 0,
ft = 1 / 0,
pt = 0,
lt = function(t) {
t.forEach((function(t) {
t.interactionId && (ft = Math.min(ft, t.interactionId), pt = Math.max(pt, t.interactionId), dt = pt ? (pt - ft) / 7 + 1 : 0)
}))
},
mt = function() {
return B ? dt : performance.interactionCount || 0
},
ht = function() {
"interactionCount" in performance || B || (B = z("event", lt, {
type: "event",
buffered: !0,
durationThreshold: 0
}))
},
vt = [200, 500],
gt = 0,
yt = function() {
return mt() - gt
},
bt = [],
wt = {},
St = function(t) {
var e = bt[bt.length - 1],
n = wt[t.interactionId];
if (n || bt.length < 10 || t.duration > e.latency) {
if (n) n.entries.push(t), n.latency = Math.max(n.latency, t.duration);
else {
var i = {
id: t.interactionId,
latency: t.duration,
entries: [t]
};
wt[i.id] = i, bt.push(i)
}
bt.sort((function(t, e) {
return e.latency - t.latency
})), bt.splice(10).forEach((function(t) {
delete wt[t.id]
}))
}
},
Tt = function(t, e) {
e = e || {}, Q((function() {
var n;
ht();
var i, r = D("INP"),
a = function(t) {
t.forEach((function(t) {
(t.interactionId && St(t), "first-input" === t.entryType) && !bt.some((function(e) {
return e.entries.some((function(e) {
return t.duration === e.duration && t.startTime === e.startTime
}))
})) && St(t)
}));
var e, n = (e = Math.min(bt.length - 1, Math.floor(yt() / 50)), bt[e]);
n && n.latency !== r.value && (r.value = n.latency, r.entries = n.entries, i())
},
o = z("event", a, {
durationThreshold: null !== (n = e.durationThreshold) && void 0 !== n ? n : 40
});
i = F(t, r, vt, e.reportAllChanges), o && ("PerformanceEventTiming" in window && "interactionId" in PerformanceEventTiming.prototype && o.observe({
type: "first-input",
buffered: !0
}), J((function() {
a(o.takeRecords()), r.value < 0 && yt() > 0 && (r.value = 0, r.entries = []), i(!0)
})), H((function() {
bt = [], gt = mt(), r = D("INP"), i = F(t, r, vt, e.reportAllChanges)
})))
}))
},
Et = [2500, 4e3],
Ct = {},
Pt = function(t, e) {
e = e || {}, Q((function() {
var n, i = K(),
r = D("LCP"),
a = function(t) {
var e = t[t.length - 1];
e && e.startTime < i.firstHiddenTime && (r.value = Math.max(e.startTime - O(), 0), r.entries = [e], n())
},
o = z("largest-contentful-paint", a);
if (o) {
n = F(t, r, Et, e.reportAllChanges);
var c = N((function() {
Ct[r.id] || (a(o.takeRecords()), o.disconnect(), Ct[r.id] = !0, n(!0))
}));
["keydown", "click"].forEach((function(t) {
addEventListener(t, (function() {
return setTimeout(c, 0)
}), !0)
})), J(c), H((function(i) {
r = D("LCP"), n = F(t, r, Et, e.reportAllChanges), _((function() {
r.value = performance.now() - i.timeStamp, Ct[r.id] = !0, n(!0)
}))
}))
}
}))
},
At = [800, 1800],
Lt = function t(e) {
document.prerendering ? Q((function() {
return t(e)
})) : "complete" !== document.readyState ? addEventListener("load", (function() {
return t(e)
}), !0) : setTimeout(e, 0)
},
It = function(t, e) {
e = e || {};
var n = D("TTFB"),
i = F(t, n, At, e.reportAllChanges);
Lt((function() {
var r = q();
if (r) {
var a = r.responseStart;
if (a <= 0 || a > performance.now()) return;
n.value = Math.max(a - O(), 0), n.entries = [r], i(!0), H((function() {
n = D("TTFB", 0), (i = F(t, n, At, e.reportAllChanges))(!0)
}))
}
}))
};
function Mt() {
if ("hidden" !== document.visibilityState) {
et(u, {
reportAllChanges: !0
});
Tt(u, {
reportAllChanges: !0
});
ut(u);
Z(u);
Pt(u);
It(u);
I()
} else M()
}
function jt() {
!!document.prerendering ? document.addEventListener("prerenderingchange", Mt, {
once: !0
}) : Mt()
}
jt()
}();

View File

@ -0,0 +1,55 @@
"use strict";
function hs_i18n_log(n) {
console.log("i18n_getmessage: " + n)
}
function hs_i18n_substituteStrings(n, e) {
var s = n.match(new RegExp("\\$[0-9]+", "g"));
if (null == s) return n;
for (var r = 0; r < s.length; r++) {
var l = s[r],
t = parseInt(l.replace("$", ""));
t <= 0 || null == e || t > e.length ? hs_i18n_log("no substitution string at index " + t + " found for string '" + n + "'") : n = n.replace(l, e[t - 1])
}
return n
}
function hs_i18n_insertPlaceholders(n, e) {
var s = n.message,
r = s.match(new RegExp("\\$\\w+\\$", "g"));
if (null == r) return s;
for (var l = 0; l < r.length; l++) {
var t = r[l],
o = t.replace(new RegExp("\\$", "g"), "").toLowerCase(),
a = n.placeholders[o];
null == a && hs_i18n_log("no placeholder found for '" + o + "'");
s = s.replace(t, a.content)
}
return (s = hs_i18n_substituteStrings(s, e)).replace(/\$\$/g, "$")
}
function hs_i18n_getMessage(n, e) {
if (null == n) {
hs_i18n_log("no messages found");
return ""
}
var s = arguments[2];
if (null == s || 0 == s.length || null == s[0]) {
hs_i18n_log("no message name passed");
return ""
}
var r = s[0],
l = e.split("-")[0],
t = n[e] || n[l];
if (null == t) {
hs_i18n_log("no messages found for language '" + e + "'");
return ""
}
var o = t[r] || n[l][r];
if (null == o) {
hs_i18n_log("no message found for language '" + e + "' named '" + r + "'");
return ""
}
return null == o.placeholders ? o.message || "" : hs_i18n_insertPlaceholders(o, s[1])
}

File diff suppressed because it is too large Load Diff

1788
index.html Normal file

File diff suppressed because it is too large Load Diff