@pendo/agent 2.303.0 → 2.304.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dom.esm.js +38 -39
- package/dist/pendo.module.js +83 -57
- package/dist/pendo.module.min.js +8 -8
- package/dist/servers.json +7 -7
- package/package.json +1 -1
package/dist/dom.esm.js
CHANGED
|
@@ -7359,7 +7359,7 @@ function getScreenPosition(element) {
|
|
|
7359
7359
|
};
|
|
7360
7360
|
}
|
|
7361
7361
|
|
|
7362
|
-
var VERSION = '2.
|
|
7362
|
+
var VERSION = '2.304.0_';
|
|
7363
7363
|
|
|
7364
7364
|
var decodeURIComponent = _.isFunction(window.decodeURIComponent) ? window.decodeURIComponent : _.identity;
|
|
7365
7365
|
|
|
@@ -9255,50 +9255,49 @@ function isElementVisible(element, overflowPattern) {
|
|
|
9255
9255
|
// *Probably* visible...
|
|
9256
9256
|
return true;
|
|
9257
9257
|
}
|
|
9258
|
+
function scrollElementIntoParentRect(element, scrollParent) {
|
|
9259
|
+
var clientRect = getClientRect(element);
|
|
9260
|
+
var scrollRect = getClientRect(scrollParent);
|
|
9261
|
+
var yScrollAmount = 0;
|
|
9262
|
+
var xScrollAmount = 0;
|
|
9263
|
+
var diff;
|
|
9264
|
+
if (clientRect.bottom > scrollRect.bottom) {
|
|
9265
|
+
yScrollAmount += clientRect.bottom - scrollRect.bottom;
|
|
9266
|
+
clientRect.top -= yScrollAmount;
|
|
9267
|
+
clientRect.bottom -= yScrollAmount;
|
|
9268
|
+
}
|
|
9269
|
+
if (clientRect.top < scrollRect.top) {
|
|
9270
|
+
diff = scrollRect.top - clientRect.top;
|
|
9271
|
+
yScrollAmount -= diff;
|
|
9272
|
+
clientRect.top += diff;
|
|
9273
|
+
clientRect.bottom += diff;
|
|
9274
|
+
}
|
|
9275
|
+
if (clientRect.right > scrollRect.right) {
|
|
9276
|
+
xScrollAmount += clientRect.right - scrollRect.right;
|
|
9277
|
+
clientRect.left -= xScrollAmount;
|
|
9278
|
+
clientRect.right -= xScrollAmount;
|
|
9279
|
+
}
|
|
9280
|
+
if (clientRect.left < scrollRect.left) {
|
|
9281
|
+
diff = scrollRect.left - clientRect.left;
|
|
9282
|
+
xScrollAmount -= diff;
|
|
9283
|
+
clientRect.left += diff;
|
|
9284
|
+
clientRect.right += diff;
|
|
9285
|
+
}
|
|
9286
|
+
if (_.isFunction(scrollParent.scrollBy)) {
|
|
9287
|
+
scrollParent.scrollBy(xScrollAmount, yScrollAmount);
|
|
9288
|
+
}
|
|
9289
|
+
else {
|
|
9290
|
+
scrollParent.scrollTop += yScrollAmount;
|
|
9291
|
+
scrollParent.scrollLeft += xScrollAmount;
|
|
9292
|
+
}
|
|
9293
|
+
}
|
|
9258
9294
|
function scrollIntoView(element) {
|
|
9259
9295
|
var overflowScroll = /(auto|scroll)/;
|
|
9260
|
-
var clientRect;
|
|
9261
9296
|
var scrollParent;
|
|
9262
|
-
var scrollRect;
|
|
9263
|
-
var yScrollAmount;
|
|
9264
|
-
var xScrollAmount;
|
|
9265
|
-
var diff;
|
|
9266
9297
|
var pbody = getBody();
|
|
9267
9298
|
scrollParent = getScrollParent(element, overflowScroll);
|
|
9268
9299
|
while (scrollParent && scrollParent !== pbody) {
|
|
9269
|
-
|
|
9270
|
-
scrollRect = getClientRect(scrollParent);
|
|
9271
|
-
yScrollAmount = 0;
|
|
9272
|
-
xScrollAmount = 0;
|
|
9273
|
-
if (clientRect.bottom > scrollRect.bottom) {
|
|
9274
|
-
yScrollAmount += clientRect.bottom - scrollRect.bottom;
|
|
9275
|
-
clientRect.top -= yScrollAmount;
|
|
9276
|
-
clientRect.bottom -= yScrollAmount;
|
|
9277
|
-
}
|
|
9278
|
-
if (clientRect.top < scrollRect.top) {
|
|
9279
|
-
diff = scrollRect.top - clientRect.top;
|
|
9280
|
-
yScrollAmount -= diff;
|
|
9281
|
-
clientRect.top += diff;
|
|
9282
|
-
clientRect.bottom += diff;
|
|
9283
|
-
}
|
|
9284
|
-
if (clientRect.right > scrollRect.right) {
|
|
9285
|
-
xScrollAmount += clientRect.right - scrollRect.right;
|
|
9286
|
-
clientRect.left -= xScrollAmount;
|
|
9287
|
-
clientRect.right -= xScrollAmount;
|
|
9288
|
-
}
|
|
9289
|
-
if (clientRect.left < scrollRect.left) {
|
|
9290
|
-
diff = scrollRect.left - clientRect.left;
|
|
9291
|
-
xScrollAmount -= diff;
|
|
9292
|
-
clientRect.left += diff;
|
|
9293
|
-
clientRect.right += diff;
|
|
9294
|
-
}
|
|
9295
|
-
if (_.isFunction(scrollParent.scrollBy)) {
|
|
9296
|
-
scrollParent.scrollBy(xScrollAmount, yScrollAmount);
|
|
9297
|
-
}
|
|
9298
|
-
else {
|
|
9299
|
-
scrollParent.scrollTop += yScrollAmount;
|
|
9300
|
-
scrollParent.scrollLeft += xScrollAmount;
|
|
9301
|
-
}
|
|
9300
|
+
scrollElementIntoParentRect(element, scrollParent);
|
|
9302
9301
|
scrollParent = getScrollParent(scrollParent, overflowScroll);
|
|
9303
9302
|
}
|
|
9304
9303
|
}
|
package/dist/pendo.module.js
CHANGED
|
@@ -3904,8 +3904,8 @@ let SERVER = '';
|
|
|
3904
3904
|
let ASSET_HOST = '';
|
|
3905
3905
|
let ASSET_PATH = '';
|
|
3906
3906
|
let DESIGNER_SERVER = '';
|
|
3907
|
-
let VERSION = '2.
|
|
3908
|
-
let PACKAGE_VERSION = '2.
|
|
3907
|
+
let VERSION = '2.304.0_';
|
|
3908
|
+
let PACKAGE_VERSION = '2.304.0';
|
|
3909
3909
|
let LOADER = 'xhr';
|
|
3910
3910
|
/* eslint-enable agent-eslint-rules/no-gulp-env-references */
|
|
3911
3911
|
/**
|
|
@@ -10744,50 +10744,49 @@ function wouldBeVisibleAfterAutoScroll(element) {
|
|
|
10744
10744
|
}
|
|
10745
10745
|
return true;
|
|
10746
10746
|
}
|
|
10747
|
+
function scrollElementIntoParentRect(element, scrollParent) {
|
|
10748
|
+
var clientRect = getClientRect(element);
|
|
10749
|
+
var scrollRect = getClientRect(scrollParent);
|
|
10750
|
+
var yScrollAmount = 0;
|
|
10751
|
+
var xScrollAmount = 0;
|
|
10752
|
+
var diff;
|
|
10753
|
+
if (clientRect.bottom > scrollRect.bottom) {
|
|
10754
|
+
yScrollAmount += clientRect.bottom - scrollRect.bottom;
|
|
10755
|
+
clientRect.top -= yScrollAmount;
|
|
10756
|
+
clientRect.bottom -= yScrollAmount;
|
|
10757
|
+
}
|
|
10758
|
+
if (clientRect.top < scrollRect.top) {
|
|
10759
|
+
diff = scrollRect.top - clientRect.top;
|
|
10760
|
+
yScrollAmount -= diff;
|
|
10761
|
+
clientRect.top += diff;
|
|
10762
|
+
clientRect.bottom += diff;
|
|
10763
|
+
}
|
|
10764
|
+
if (clientRect.right > scrollRect.right) {
|
|
10765
|
+
xScrollAmount += clientRect.right - scrollRect.right;
|
|
10766
|
+
clientRect.left -= xScrollAmount;
|
|
10767
|
+
clientRect.right -= xScrollAmount;
|
|
10768
|
+
}
|
|
10769
|
+
if (clientRect.left < scrollRect.left) {
|
|
10770
|
+
diff = scrollRect.left - clientRect.left;
|
|
10771
|
+
xScrollAmount -= diff;
|
|
10772
|
+
clientRect.left += diff;
|
|
10773
|
+
clientRect.right += diff;
|
|
10774
|
+
}
|
|
10775
|
+
if (_.isFunction(scrollParent.scrollBy)) {
|
|
10776
|
+
scrollParent.scrollBy(xScrollAmount, yScrollAmount);
|
|
10777
|
+
}
|
|
10778
|
+
else {
|
|
10779
|
+
scrollParent.scrollTop += yScrollAmount;
|
|
10780
|
+
scrollParent.scrollLeft += xScrollAmount;
|
|
10781
|
+
}
|
|
10782
|
+
}
|
|
10747
10783
|
function scrollIntoView(element) {
|
|
10748
10784
|
var overflowScroll = /(auto|scroll)/;
|
|
10749
|
-
var clientRect;
|
|
10750
10785
|
var scrollParent;
|
|
10751
|
-
var scrollRect;
|
|
10752
|
-
var yScrollAmount;
|
|
10753
|
-
var xScrollAmount;
|
|
10754
|
-
var diff;
|
|
10755
10786
|
var pbody = getBody();
|
|
10756
10787
|
scrollParent = getScrollParent(element, overflowScroll);
|
|
10757
10788
|
while (scrollParent && scrollParent !== pbody) {
|
|
10758
|
-
|
|
10759
|
-
scrollRect = getClientRect(scrollParent);
|
|
10760
|
-
yScrollAmount = 0;
|
|
10761
|
-
xScrollAmount = 0;
|
|
10762
|
-
if (clientRect.bottom > scrollRect.bottom) {
|
|
10763
|
-
yScrollAmount += clientRect.bottom - scrollRect.bottom;
|
|
10764
|
-
clientRect.top -= yScrollAmount;
|
|
10765
|
-
clientRect.bottom -= yScrollAmount;
|
|
10766
|
-
}
|
|
10767
|
-
if (clientRect.top < scrollRect.top) {
|
|
10768
|
-
diff = scrollRect.top - clientRect.top;
|
|
10769
|
-
yScrollAmount -= diff;
|
|
10770
|
-
clientRect.top += diff;
|
|
10771
|
-
clientRect.bottom += diff;
|
|
10772
|
-
}
|
|
10773
|
-
if (clientRect.right > scrollRect.right) {
|
|
10774
|
-
xScrollAmount += clientRect.right - scrollRect.right;
|
|
10775
|
-
clientRect.left -= xScrollAmount;
|
|
10776
|
-
clientRect.right -= xScrollAmount;
|
|
10777
|
-
}
|
|
10778
|
-
if (clientRect.left < scrollRect.left) {
|
|
10779
|
-
diff = scrollRect.left - clientRect.left;
|
|
10780
|
-
xScrollAmount -= diff;
|
|
10781
|
-
clientRect.left += diff;
|
|
10782
|
-
clientRect.right += diff;
|
|
10783
|
-
}
|
|
10784
|
-
if (_.isFunction(scrollParent.scrollBy)) {
|
|
10785
|
-
scrollParent.scrollBy(xScrollAmount, yScrollAmount);
|
|
10786
|
-
}
|
|
10787
|
-
else {
|
|
10788
|
-
scrollParent.scrollTop += yScrollAmount;
|
|
10789
|
-
scrollParent.scrollLeft += xScrollAmount;
|
|
10790
|
-
}
|
|
10789
|
+
scrollElementIntoParentRect(element, scrollParent);
|
|
10791
10790
|
scrollParent = getScrollParent(scrollParent, overflowScroll);
|
|
10792
10791
|
}
|
|
10793
10792
|
}
|
|
@@ -11541,9 +11540,33 @@ function hasHashedAllowedOriginServers() {
|
|
|
11541
11540
|
function parseUrl(url) {
|
|
11542
11541
|
if (!_.isString(url))
|
|
11543
11542
|
return;
|
|
11543
|
+
try {
|
|
11544
|
+
const urlObj = new URL(url);
|
|
11545
|
+
const filename = _.last(urlObj.pathname.split('/'));
|
|
11546
|
+
const splitFilename = filename.split('.');
|
|
11547
|
+
const result = {
|
|
11548
|
+
filename: _.first(splitFilename),
|
|
11549
|
+
extension: splitFilename.slice(1).join('.'),
|
|
11550
|
+
query: {}
|
|
11551
|
+
};
|
|
11552
|
+
if (urlObj.search.length) {
|
|
11553
|
+
result.query = queryStringToObject(urlObj.search.substring(1));
|
|
11554
|
+
}
|
|
11555
|
+
if (urlObj.hash.length) {
|
|
11556
|
+
const fragQueryStart = urlObj.hash.indexOf('?');
|
|
11557
|
+
if (fragQueryStart >= 0) {
|
|
11558
|
+
const fragmentQuery = urlObj.hash.substring(fragQueryStart + 1);
|
|
11559
|
+
result.fragmentQuery = queryStringToObject(fragmentQuery);
|
|
11560
|
+
}
|
|
11561
|
+
}
|
|
11562
|
+
return result;
|
|
11563
|
+
}
|
|
11564
|
+
catch (e) {
|
|
11565
|
+
}
|
|
11566
|
+
// original implementation, if URL object fails
|
|
11544
11567
|
var queryString = parseQueryString(url).substring(1);
|
|
11545
11568
|
var query = queryString && queryString.length ? queryStringToObject(queryString) : {};
|
|
11546
|
-
var filename = _.last(_.first(url.split(
|
|
11569
|
+
var filename = _.last(_.first(url.split(/[?#]/)).split('/'));
|
|
11547
11570
|
var splitFilename = filename.split('.');
|
|
11548
11571
|
return {
|
|
11549
11572
|
filename: _.first(splitFilename),
|
|
@@ -16506,7 +16529,7 @@ var BuildingBlockTooltips = (function () {
|
|
|
16506
16529
|
attachBBAdvanceActions,
|
|
16507
16530
|
attachScrollHandlers,
|
|
16508
16531
|
isBuildingBlockGuideRelativeToElement,
|
|
16509
|
-
|
|
16532
|
+
positionStepForGuide,
|
|
16510
16533
|
patchGuideContainerWidthForResponsiveTooltips
|
|
16511
16534
|
};
|
|
16512
16535
|
function patchGuideContainerWidthForResponsiveTooltips(step, providedGuideContainer, json) {
|
|
@@ -16525,12 +16548,19 @@ var BuildingBlockTooltips = (function () {
|
|
|
16525
16548
|
return;
|
|
16526
16549
|
calculateVwRelativeToLayoutDir(guideContainer, tooltipContext);
|
|
16527
16550
|
}
|
|
16528
|
-
function
|
|
16529
|
-
|
|
16530
|
-
|
|
16531
|
-
|
|
16551
|
+
function positionStepForGuide(step, json, guideContainerEle) {
|
|
16552
|
+
if (step.attributes && step.attributes.calculatedType === 'tooltip') {
|
|
16553
|
+
// This directly modifies step.guideElement object
|
|
16554
|
+
createBBTooltip(json, step.element, step, guideContainerEle);
|
|
16555
|
+
if (!step.hasBeenScrolledTo) {
|
|
16556
|
+
scrollIntoView(step.element);
|
|
16557
|
+
scrollToTooltip(step.element, guideContainerEle, step.attributes.layoutDir);
|
|
16558
|
+
step.hasBeenScrolledTo = true;
|
|
16559
|
+
}
|
|
16560
|
+
}
|
|
16561
|
+
else if (step.element && !step.hasBeenScrolledTo) {
|
|
16532
16562
|
scrollIntoView(step.element);
|
|
16533
|
-
|
|
16563
|
+
scrollElementIntoParentRect(step.element, window);
|
|
16534
16564
|
step.hasBeenScrolledTo = true;
|
|
16535
16565
|
}
|
|
16536
16566
|
}
|
|
@@ -18383,9 +18413,7 @@ function recalculateGuideHeightOnImgLoad(node, step) {
|
|
|
18383
18413
|
FlexboxPolyfill.flexAllThings(step.containerId, step);
|
|
18384
18414
|
}
|
|
18385
18415
|
}
|
|
18386
|
-
|
|
18387
|
-
BuildingBlockTooltips.positionStepForTooltip(step, step.domJson, guideContainer);
|
|
18388
|
-
}
|
|
18416
|
+
BuildingBlockTooltips.positionStepForGuide(step, step.domJson, guideContainer);
|
|
18389
18417
|
guideContainer.style.visibility = 'visible';
|
|
18390
18418
|
guideContainer.parentNode.style.visibility = 'visible';
|
|
18391
18419
|
dom.event.dispatch(guideContainer, {
|
|
@@ -18401,9 +18429,7 @@ function recalculateGuideHeightOnImgLoad(node, step) {
|
|
|
18401
18429
|
log.info('Failed to find guideContainer for id: ' + step.containerId);
|
|
18402
18430
|
return;
|
|
18403
18431
|
}
|
|
18404
|
-
|
|
18405
|
-
BuildingBlockTooltips.positionStepForTooltip(step, step.domJson, guideContainer);
|
|
18406
|
-
}
|
|
18432
|
+
BuildingBlockTooltips.positionStepForGuide(step, step.domJson, guideContainer);
|
|
18407
18433
|
guideContainer.style.visibility = 'visible';
|
|
18408
18434
|
guideContainer.parentNode.style.visibility = 'visible';
|
|
18409
18435
|
FlexboxPolyfill.flexAllThings(step.containerId, step);
|
|
@@ -28761,7 +28787,7 @@ var BuildingBlockGuides = (function () {
|
|
|
28761
28787
|
adjustGuideContentWidth,
|
|
28762
28788
|
findDomBlockInDomJson,
|
|
28763
28789
|
isElementHiddenInGuide: FlexboxPolyfill.isElementHiddenInGuide,
|
|
28764
|
-
positionStepForTooltip: BuildingBlockTooltips.
|
|
28790
|
+
positionStepForTooltip: BuildingBlockTooltips.positionStepForGuide,
|
|
28765
28791
|
flexAllThings: FlexboxPolyfill.flexAllThings,
|
|
28766
28792
|
flexElement: FlexboxPolyfill.flexElement,
|
|
28767
28793
|
findTopLevelContainer,
|
|
@@ -28913,8 +28939,8 @@ var BuildingBlockGuides = (function () {
|
|
|
28913
28939
|
else {
|
|
28914
28940
|
BuildingBlockTooltips.attachBBAdvanceActions(step);
|
|
28915
28941
|
}
|
|
28916
|
-
if (
|
|
28917
|
-
BuildingBlockTooltips.
|
|
28942
|
+
if (!hasImageCount) {
|
|
28943
|
+
BuildingBlockTooltips.positionStepForGuide(step, modifiableJSON, guideContainer[0]);
|
|
28918
28944
|
}
|
|
28919
28945
|
if (isResourceCenter) {
|
|
28920
28946
|
BuildingBlockResourceCenter.showHomeViewOrEmptyState(guide);
|
|
@@ -38966,7 +38992,7 @@ class WebAnalytics {
|
|
|
38966
38992
|
const parsedUrl = this.api.util.parseUrl(url);
|
|
38967
38993
|
if (!parsedUrl)
|
|
38968
38994
|
return {};
|
|
38969
|
-
const
|
|
38995
|
+
const query = this.pendo._.extend({}, parsedUrl.fragmentQuery, parsedUrl.query);
|
|
38970
38996
|
const source = query.utm_source;
|
|
38971
38997
|
const medium = query.utm_medium;
|
|
38972
38998
|
const campaign = query.utm_campaign;
|