@adobe/alloy 2.19.0-beta.0 → 2.19.0-beta.2
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/libEs5/baseCode/index.js +2 -12
- package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +9 -12
- package/libEs5/components/ActivityCollector/configValidators.js +1 -4
- package/libEs5/components/ActivityCollector/createGetLinkDetails.js +7 -17
- package/libEs5/components/ActivityCollector/createLinkClick.js +3 -8
- package/libEs5/components/ActivityCollector/getLinkName.js +8 -26
- package/libEs5/components/ActivityCollector/getLinkRegion.js +2 -16
- package/libEs5/components/ActivityCollector/index.js +8 -18
- package/libEs5/components/ActivityCollector/utils.js +3 -40
- package/libEs5/components/Audiences/index.js +2 -8
- package/libEs5/components/Audiences/injectProcessDestinations.js +20 -19
- package/libEs5/components/Audiences/injectProcessResponse.js +0 -5
- package/libEs5/components/Context/createComponent.js +0 -4
- package/libEs5/components/Context/implementationDetails.js +0 -5
- package/libEs5/components/Context/index.js +12 -19
- package/libEs5/components/Context/injectDevice.js +3 -20
- package/libEs5/components/Context/injectEnvironment.js +1 -8
- package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +14 -21
- package/libEs5/components/Context/injectPlaceContext.js +2 -8
- package/libEs5/components/Context/injectTimestamp.js +0 -3
- package/libEs5/components/Context/injectWeb.js +0 -3
- package/libEs5/components/DataCollector/index.js +23 -35
- package/libEs5/components/DataCollector/validateApplyResponse.js +0 -3
- package/libEs5/components/DataCollector/validateUserEventOptions.js +0 -5
- package/libEs5/components/EventMerge/createComponent.js +0 -2
- package/libEs5/components/EventMerge/createEventMergeId.js +0 -3
- package/libEs5/components/EventMerge/index.js +1 -4
- package/libEs5/components/Identity/addEcidQueryToPayload.js +0 -3
- package/libEs5/components/Identity/addEcidToPayload.js +0 -3
- package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +0 -5
- package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +5 -19
- package/libEs5/components/Identity/configValidators.js +1 -2
- package/libEs5/components/Identity/constants/authState.js +1 -1
- package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +0 -2
- package/libEs5/components/Identity/createComponent.js +16 -22
- package/libEs5/components/Identity/createLegacyIdentity.js +5 -19
- package/libEs5/components/Identity/getEcidFromResponse.js +0 -4
- package/libEs5/components/Identity/getIdentity/createGetIdentity.js +5 -9
- package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +1 -4
- package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +0 -3
- package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +0 -5
- package/libEs5/components/Identity/index.js +8 -29
- package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +1 -5
- package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +22 -28
- package/libEs5/components/Identity/injectAwaitIdentityCookie.js +7 -8
- package/libEs5/components/Identity/injectEnsureSingleIdentity.js +17 -20
- package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +0 -2
- package/libEs5/components/Identity/injectProcessIdSyncs.js +2 -7
- package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -4
- package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +0 -3
- package/libEs5/components/Identity/visitorService/getVisitor.js +0 -3
- package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +2 -7
- package/libEs5/components/LibraryInfo/index.js +13 -21
- package/libEs5/components/MachineLearning/index.js +1 -3
- package/libEs5/components/MachineLearning/processResponse.js +0 -2
- package/libEs5/components/Personalization/constants/eventType.js +1 -1
- package/libEs5/components/Personalization/constants/loggerMessage.js +0 -1
- package/libEs5/components/Personalization/constants/propositionEventType.js +1 -1
- package/libEs5/components/Personalization/constants/schema.js +1 -1
- package/libEs5/components/Personalization/constants/scopeType.js +1 -1
- package/libEs5/components/Personalization/constants/surface.js +1 -1
- package/libEs5/components/Personalization/createApplyPropositions.js +24 -39
- package/libEs5/components/Personalization/createClickStorage.js +1 -10
- package/libEs5/components/Personalization/createCollect.js +5 -15
- package/libEs5/components/Personalization/createComponent.js +25 -35
- package/libEs5/components/Personalization/createFetchDataHandler.js +35 -46
- package/libEs5/components/Personalization/createGetPageLocation.js +0 -2
- package/libEs5/components/Personalization/createOnClickHandler.js +6 -16
- package/libEs5/components/Personalization/createPendingNotificationsHandler.js +1 -4
- package/libEs5/components/Personalization/createPersonalizationDetails.js +17 -29
- package/libEs5/components/Personalization/createSetTargetMigration.js +0 -5
- package/libEs5/components/Personalization/createViewCacheManager.js +2 -15
- package/libEs5/components/Personalization/createViewChangeHandler.js +4 -11
- package/libEs5/components/Personalization/dom-actions/action.js +3 -19
- package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -13
- package/libEs5/components/Personalization/dom-actions/appendHtml.js +0 -7
- package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +16 -27
- package/libEs5/components/Personalization/dom-actions/createPreprocess.js +0 -4
- package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +0 -4
- package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +0 -3
- package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +4 -10
- package/libEs5/components/Personalization/dom-actions/dom/getParent.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +1 -6
- package/libEs5/components/Personalization/dom-actions/dom/index.js +0 -14
- package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +0 -6
- package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -11
- package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +16 -36
- package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +0 -4
- package/libEs5/components/Personalization/dom-actions/images.js +1 -11
- package/libEs5/components/Personalization/dom-actions/index.js +0 -1
- package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +0 -4
- package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +0 -6
- package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +0 -6
- package/libEs5/components/Personalization/dom-actions/prependHtml.js +4 -12
- package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +1 -6
- package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +2 -8
- package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +2 -16
- package/libEs5/components/Personalization/dom-actions/replaceHtml.js +0 -4
- package/libEs5/components/Personalization/dom-actions/scripts.js +13 -35
- package/libEs5/components/Personalization/dom-actions/setAttributes.js +0 -3
- package/libEs5/components/Personalization/dom-actions/setHtml.js +1 -6
- package/libEs5/components/Personalization/dom-actions/setStyles.js +12 -8
- package/libEs5/components/Personalization/dom-actions/setText.js +0 -2
- package/libEs5/components/Personalization/dom-actions/swapImage.js +6 -9
- package/libEs5/components/Personalization/event.js +2 -10
- package/libEs5/components/Personalization/flicker/index.js +17 -31
- package/libEs5/components/Personalization/handlers/createProcessDomAction.js +4 -11
- package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +3 -8
- package/libEs5/components/Personalization/handlers/createProcessPropositions.js +6 -51
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +5 -8
- package/libEs5/components/Personalization/handlers/injectCreateProposition.js +19 -25
- package/libEs5/components/Personalization/handlers/processDefaultContent.js +0 -2
- package/libEs5/components/Personalization/index.js +17 -42
- package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -4
- package/libEs5/components/Personalization/utils/createAsyncArray.js +0 -3
- package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +0 -2
- package/libEs5/components/Personalization/utils/isPageWideScope.js +0 -4
- package/libEs5/components/Personalization/utils/surfaceUtils.js +1 -27
- package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +2 -6
- package/libEs5/components/Privacy/computeConsentHash.js +11 -8
- package/libEs5/components/Privacy/createComponent.js +24 -26
- package/libEs5/components/Privacy/createConsentHashStore.js +14 -15
- package/libEs5/components/Privacy/createConsentRequest.js +1 -4
- package/libEs5/components/Privacy/createConsentRequestPayload.js +0 -5
- package/libEs5/components/Privacy/createStoredConsent.js +2 -6
- package/libEs5/components/Privacy/index.js +5 -15
- package/libEs5/components/Privacy/injectSendSetConsentRequest.js +7 -12
- package/libEs5/components/Privacy/parseConsentCookie.js +3 -13
- package/libEs5/components/Privacy/validateSetConsentOptions.js +0 -4
- package/libEs5/constants/apiVersion.js +0 -1
- package/libEs5/constants/browser.js +1 -1
- package/libEs5/constants/consentPurpose.js +1 -1
- package/libEs5/constants/consentStatus.js +1 -1
- package/libEs5/constants/cookieNameKey.js +1 -1
- package/libEs5/constants/cookieNamePrefix.js +0 -1
- package/libEs5/constants/coreCommands.js +1 -1
- package/libEs5/constants/debugQueryParam.js +0 -1
- package/libEs5/constants/domain.js +1 -1
- package/libEs5/constants/ecidNamespace.js +0 -1
- package/libEs5/constants/edgeBasePath.js +0 -1
- package/libEs5/constants/elementAttribute.js +1 -1
- package/libEs5/constants/highEntropyUserAgentClientHints.js +0 -1
- package/libEs5/constants/httpHeaderNames.js +1 -1
- package/libEs5/constants/httpStatusCode.js +1 -1
- package/libEs5/constants/identityMapAuthenticatedState.js +0 -1
- package/libEs5/constants/legacyCookies.js +1 -1
- package/libEs5/constants/libraryName.js +0 -1
- package/libEs5/constants/libraryVersion.js +1 -2
- package/libEs5/constants/namespace.js +0 -1
- package/libEs5/constants/pageWideScope.js +0 -1
- package/libEs5/constants/queryStringIdentityParam.js +0 -1
- package/libEs5/constants/shadowSeparator.js +0 -1
- package/libEs5/constants/tagName.js +1 -1
- package/libEs5/core/buildAndValidateConfig.js +21 -32
- package/libEs5/core/componentCreators.js +0 -12
- package/libEs5/core/config/createConfig.js +1 -3
- package/libEs5/core/config/createCoreConfigs.js +0 -7
- package/libEs5/core/consent/createConsent.js +1 -11
- package/libEs5/core/consent/createConsentStateMachine.js +1 -18
- package/libEs5/core/createComponentRegistry.js +4 -14
- package/libEs5/core/createCookieTransfer.js +9 -18
- package/libEs5/core/createEvent.js +24 -33
- package/libEs5/core/createEventManager.js +26 -33
- package/libEs5/core/createInstanceFunction.js +0 -2
- package/libEs5/core/createLifecycle.js +14 -14
- package/libEs5/core/createLogController.js +5 -17
- package/libEs5/core/createLogger.js +3 -17
- package/libEs5/core/edgeNetwork/handleRequestFailure.js +0 -3
- package/libEs5/core/edgeNetwork/injectApplyResponse.js +12 -18
- package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +4 -8
- package/libEs5/core/edgeNetwork/injectGetLocationHint.js +1 -11
- package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +6 -11
- package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +18 -26
- package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +11 -10
- package/libEs5/core/index.js +12 -54
- package/libEs5/core/initializeComponents.js +5 -10
- package/libEs5/core/injectCreateResponse.js +8 -16
- package/libEs5/core/injectExecuteCommand.js +8 -19
- package/libEs5/core/injectHandleError.js +4 -8
- package/libEs5/core/injectShouldTransferCookie.js +1 -5
- package/libEs5/core/network/getRequestRetryDelay.js +10 -17
- package/libEs5/core/network/injectSendNetworkRequest.js +20 -22
- package/libEs5/core/network/isRequestRetryable.js +5 -7
- package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +5 -8
- package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +0 -2
- package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -5
- package/libEs5/core/validateCommandOptions.js +5 -9
- package/libEs5/index.js +7 -15
- package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +1 -5
- package/libEs5/utils/assign.js +0 -2
- package/libEs5/utils/assignIf.js +0 -4
- package/libEs5/utils/clone.js +0 -3
- package/libEs5/utils/cookieJar.js +0 -2
- package/libEs5/utils/crc32.js +0 -8
- package/libEs5/utils/createCallbackAggregator.js +0 -4
- package/libEs5/utils/createLoggingCookieJar.js +1 -6
- package/libEs5/utils/createMerger.js +0 -4
- package/libEs5/utils/createTaskQueue.js +0 -7
- package/libEs5/utils/deduplicateArray.js +0 -5
- package/libEs5/utils/deepAssign.js +2 -10
- package/libEs5/utils/defer.js +0 -3
- package/libEs5/utils/dom/appendNode.js +0 -2
- package/libEs5/utils/dom/awaitSelector.js +1 -29
- package/libEs5/utils/dom/createNode.js +1 -5
- package/libEs5/utils/dom/index.js +0 -8
- package/libEs5/utils/dom/isShadowSelector.js +0 -3
- package/libEs5/utils/dom/matchesSelector.js +2 -5
- package/libEs5/utils/dom/querySelectorAll.js +3 -6
- package/libEs5/utils/dom/removeNode.js +0 -4
- package/libEs5/utils/dom/selectNodes.js +0 -8
- package/libEs5/utils/dom/selectNodesWithShadow.js +6 -20
- package/libEs5/utils/endsWith.js +0 -3
- package/libEs5/utils/filterObject.js +13 -17
- package/libEs5/utils/find.js +0 -5
- package/libEs5/utils/fireImage.js +2 -7
- package/libEs5/utils/flatMap.js +0 -2
- package/libEs5/utils/getApexDomain.js +4 -8
- package/libEs5/utils/getBrowser.js +11 -11
- package/libEs5/utils/getLastArrayItems.js +0 -3
- package/libEs5/utils/getNamespacedCookieName.js +0 -4
- package/libEs5/utils/groupBy.js +0 -5
- package/libEs5/utils/includes.js +0 -3
- package/libEs5/utils/index.js +0 -56
- package/libEs5/utils/injectDoesIdentityCookieExist.js +0 -6
- package/libEs5/utils/injectFireReferrerHideableImage.js +21 -29
- package/libEs5/utils/injectStorage.js +1 -7
- package/libEs5/utils/intersection.js +0 -4
- package/libEs5/utils/isBlankString.js +0 -4
- package/libEs5/utils/isBoolean.js +0 -3
- package/libEs5/utils/isEmptyObject.js +0 -4
- package/libEs5/utils/isFunction.js +0 -3
- package/libEs5/utils/isInteger.js +0 -4
- package/libEs5/utils/isNamespacedCookieName.js +0 -5
- package/libEs5/utils/isNil.js +0 -3
- package/libEs5/utils/isNonEmptyArray.js +0 -3
- package/libEs5/utils/isNonEmptyString.js +0 -4
- package/libEs5/utils/isNumber.js +0 -3
- package/libEs5/utils/isObject.js +11 -5
- package/libEs5/utils/isString.js +0 -3
- package/libEs5/utils/isUnique.js +0 -7
- package/libEs5/utils/isValidRegExp.js +0 -3
- package/libEs5/utils/memoize.js +0 -5
- package/libEs5/utils/noop.js +0 -3
- package/libEs5/utils/padStart.js +0 -6
- package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -21
- package/libEs5/utils/querystring.js +0 -2
- package/libEs5/utils/request/createAddIdentity.js +0 -2
- package/libEs5/utils/request/createDataCollectionRequest.js +1 -6
- package/libEs5/utils/request/createDataCollectionRequestPayload.js +0 -8
- package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -11
- package/libEs5/utils/request/createHasIdentity.js +0 -2
- package/libEs5/utils/request/createRequest.js +3 -6
- package/libEs5/utils/request/createRequestParams.js +4 -12
- package/libEs5/utils/request/createRequestPayload.js +2 -7
- package/libEs5/utils/request/index.js +0 -8
- package/libEs5/utils/sanitizeOrgIdForCookieName.js +0 -2
- package/libEs5/utils/stackError.js +1 -6
- package/libEs5/utils/startsWith.js +0 -3
- package/libEs5/utils/stringToBoolean.js +0 -3
- package/libEs5/utils/toArray.js +0 -4
- package/libEs5/utils/toError.js +0 -3
- package/libEs5/utils/toISOStringLocal.js +3 -7
- package/libEs5/utils/toInteger.js +2 -8
- package/libEs5/utils/updateErrorMessage.js +3 -5
- package/libEs5/utils/uuid.js +0 -2
- package/libEs5/utils/validateConfigOverride.js +0 -3
- package/libEs5/utils/validateIdentityMap.js +0 -4
- package/libEs5/utils/validation/booleanValidator.js +0 -4
- package/libEs5/utils/validation/callbackValidator.js +0 -4
- package/libEs5/utils/validation/createAnyOfValidator.js +0 -5
- package/libEs5/utils/validation/createArrayOfValidator.js +0 -6
- package/libEs5/utils/validation/createDefaultValidator.js +0 -3
- package/libEs5/utils/validation/createDeprecatedValidator.js +13 -21
- package/libEs5/utils/validation/createLiteralValidator.js +0 -3
- package/libEs5/utils/validation/createMapOfValuesValidator.js +0 -9
- package/libEs5/utils/validation/createMinimumValidator.js +0 -3
- package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +0 -4
- package/libEs5/utils/validation/createNonEmptyValidator.js +0 -6
- package/libEs5/utils/validation/createObjectOfValidator.js +2 -10
- package/libEs5/utils/validation/createUniqueItemsValidator.js +0 -4
- package/libEs5/utils/validation/createUniqueValidator.js +0 -3
- package/libEs5/utils/validation/domainValidator.js +1 -4
- package/libEs5/utils/validation/index.js +76 -59
- package/libEs5/utils/validation/integerValidator.js +0 -4
- package/libEs5/utils/validation/numberValidator.js +0 -4
- package/libEs5/utils/validation/regexpValidator.js +0 -4
- package/libEs5/utils/validation/requiredValidator.js +0 -3
- package/libEs5/utils/validation/stringValidator.js +0 -4
- package/libEs5/utils/validation/utils.js +7 -21
- package/libEs5/utils/values.js +0 -3
- package/libEs6/baseCode/index.js +3 -8
- package/libEs6/components/ActivityCollector/attachClickActivityCollector.js +5 -6
- package/libEs6/components/ActivityCollector/configValidators.js +1 -0
- package/libEs6/components/ActivityCollector/createGetLinkDetails.js +1 -8
- package/libEs6/components/ActivityCollector/createLinkClick.js +0 -3
- package/libEs6/components/ActivityCollector/getLinkName.js +8 -23
- package/libEs6/components/ActivityCollector/getLinkRegion.js +2 -12
- package/libEs6/components/ActivityCollector/index.js +3 -6
- package/libEs6/components/ActivityCollector/utils.js +2 -29
- package/libEs6/components/Audiences/index.js +1 -2
- package/libEs6/components/Audiences/injectProcessDestinations.js +3 -6
- package/libEs6/components/Audiences/injectProcessResponse.js +1 -2
- package/libEs6/components/Context/createComponent.js +1 -2
- package/libEs6/components/Context/index.js +3 -3
- package/libEs6/components/Context/injectDevice.js +1 -16
- package/libEs6/components/Context/injectEnvironment.js +1 -4
- package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +2 -5
- package/libEs6/components/Context/injectPlaceContext.js +2 -5
- package/libEs6/components/Context/injectTimestamp.js +1 -0
- package/libEs6/components/Context/injectWeb.js +1 -0
- package/libEs6/components/DataCollector/index.js +1 -10
- package/libEs6/components/DataCollector/validateUserEventOptions.js +1 -1
- package/libEs6/components/EventMerge/createComponent.js +1 -0
- package/libEs6/components/EventMerge/createEventMergeId.js +1 -0
- package/libEs6/components/EventMerge/index.js +1 -2
- package/libEs6/components/Identity/addEcidQueryToPayload.js +1 -0
- package/libEs6/components/Identity/addEcidToPayload.js +1 -0
- package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +1 -1
- package/libEs6/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +0 -4
- package/libEs6/components/Identity/configValidators.js +1 -0
- package/libEs6/components/Identity/constants/authState.js +1 -0
- package/libEs6/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -0
- package/libEs6/components/Identity/createComponent.js +5 -7
- package/libEs6/components/Identity/createLegacyIdentity.js +0 -10
- package/libEs6/components/Identity/getEcidFromResponse.js +1 -0
- package/libEs6/components/Identity/getIdentity/createGetIdentity.js +1 -0
- package/libEs6/components/Identity/getIdentity/createIdentityRequest.js +1 -3
- package/libEs6/components/Identity/getIdentity/createIdentityRequestPayload.js +1 -0
- package/libEs6/components/Identity/getIdentity/getIdentityOptionsValidator.js +1 -1
- package/libEs6/components/Identity/index.js +1 -2
- package/libEs6/components/Identity/injectAddLegacyEcidToPayload.js +1 -1
- package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -7
- package/libEs6/components/Identity/injectAwaitIdentityCookie.js +6 -3
- package/libEs6/components/Identity/injectEnsureSingleIdentity.js +12 -11
- package/libEs6/components/Identity/injectHandleResponseForIdSyncs.js +1 -0
- package/libEs6/components/Identity/injectProcessIdSyncs.js +0 -4
- package/libEs6/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -0
- package/libEs6/components/Identity/visitorService/awaitVisitorOptIn.js +1 -0
- package/libEs6/components/Identity/visitorService/getVisitor.js +1 -0
- package/libEs6/components/Identity/visitorService/injectGetEcidFromVisitor.js +1 -2
- package/libEs6/components/LibraryInfo/index.js +3 -6
- package/libEs6/components/MachineLearning/index.js +1 -2
- package/libEs6/components/MachineLearning/processResponse.js +1 -0
- package/libEs6/components/Personalization/constants/eventType.js +1 -0
- package/libEs6/components/Personalization/constants/propositionEventType.js +1 -0
- package/libEs6/components/Personalization/constants/schema.js +1 -0
- package/libEs6/components/Personalization/constants/scopeType.js +1 -0
- package/libEs6/components/Personalization/constants/surface.js +1 -0
- package/libEs6/components/Personalization/createApplyPropositions.js +7 -11
- package/libEs6/components/Personalization/createClickStorage.js +1 -8
- package/libEs6/components/Personalization/createCollect.js +0 -5
- package/libEs6/components/Personalization/createComponent.js +5 -11
- package/libEs6/components/Personalization/createFetchDataHandler.js +6 -12
- package/libEs6/components/Personalization/createGetPageLocation.js +1 -0
- package/libEs6/components/Personalization/createOnClickHandler.js +1 -4
- package/libEs6/components/Personalization/createPersonalizationDetails.js +1 -22
- package/libEs6/components/Personalization/createSetTargetMigration.js +1 -1
- package/libEs6/components/Personalization/createViewCacheManager.js +3 -12
- package/libEs6/components/Personalization/createViewChangeHandler.js +1 -2
- package/libEs6/components/Personalization/dom-actions/action.js +1 -2
- package/libEs6/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -8
- package/libEs6/components/Personalization/dom-actions/appendHtml.js +1 -0
- package/libEs6/components/Personalization/dom-actions/clicks/collectClicks.js +2 -14
- package/libEs6/components/Personalization/dom-actions/createPreprocess.js +0 -1
- package/libEs6/components/Personalization/dom-actions/dom/createFragment.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getChildNodes.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/getChildren.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/getFirstChild.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getNextSibling.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getNonce.js +6 -5
- package/libEs6/components/Personalization/dom-actions/dom/getParent.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/helperForEq.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/index.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/insertAfter.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/insertBefore.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +7 -6
- package/libEs6/components/Personalization/dom-actions/dom/removeAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +6 -18
- package/libEs6/components/Personalization/dom-actions/dom/setAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/setStyle.js +1 -2
- package/libEs6/components/Personalization/dom-actions/images.js +1 -1
- package/libEs6/components/Personalization/dom-actions/index.js +1 -0
- package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +1 -0
- package/libEs6/components/Personalization/dom-actions/insertHtmlAfter.js +1 -0
- package/libEs6/components/Personalization/dom-actions/insertHtmlBefore.js +1 -0
- package/libEs6/components/Personalization/dom-actions/prependHtml.js +5 -5
- package/libEs6/components/Personalization/dom-actions/rearrangeChildren.js +1 -2
- package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +0 -3
- package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +1 -7
- package/libEs6/components/Personalization/dom-actions/replaceHtml.js +1 -0
- package/libEs6/components/Personalization/dom-actions/scripts.js +5 -16
- package/libEs6/components/Personalization/dom-actions/setAttributes.js +1 -0
- package/libEs6/components/Personalization/dom-actions/setHtml.js +1 -2
- package/libEs6/components/Personalization/dom-actions/setStyles.js +1 -0
- package/libEs6/components/Personalization/dom-actions/setText.js +1 -0
- package/libEs6/components/Personalization/dom-actions/swapImage.js +7 -4
- package/libEs6/components/Personalization/event.js +4 -4
- package/libEs6/components/Personalization/flicker/index.js +9 -12
- package/libEs6/components/Personalization/handlers/createProcessDomAction.js +0 -5
- package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +0 -3
- package/libEs6/components/Personalization/handlers/createProcessPropositions.js +1 -28
- package/libEs6/components/Personalization/handlers/createProcessRedirect.js +2 -3
- package/libEs6/components/Personalization/handlers/injectCreateProposition.js +5 -21
- package/libEs6/components/Personalization/index.js +1 -2
- package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -0
- package/libEs6/components/Personalization/utils/createAsyncArray.js +0 -2
- package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +1 -0
- package/libEs6/components/Personalization/utils/isPageWideScope.js +1 -0
- package/libEs6/components/Personalization/utils/surfaceUtils.js +1 -20
- package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +0 -1
- package/libEs6/components/Privacy/computeConsentHash.js +3 -4
- package/libEs6/components/Privacy/createComponent.js +5 -10
- package/libEs6/components/Privacy/createConsentHashStore.js +0 -10
- package/libEs6/components/Privacy/createConsentRequest.js +1 -3
- package/libEs6/components/Privacy/createConsentRequestPayload.js +1 -2
- package/libEs6/components/Privacy/createStoredConsent.js +1 -2
- package/libEs6/components/Privacy/index.js +1 -2
- package/libEs6/components/Privacy/injectSendSetConsentRequest.js +3 -3
- package/libEs6/constants/browser.js +1 -0
- package/libEs6/constants/consentPurpose.js +1 -0
- package/libEs6/constants/consentStatus.js +1 -0
- package/libEs6/constants/cookieNameKey.js +1 -0
- package/libEs6/constants/cookieNamePrefix.js +1 -0
- package/libEs6/constants/coreCommands.js +1 -0
- package/libEs6/constants/debugQueryParam.js +1 -0
- package/libEs6/constants/domain.js +1 -0
- package/libEs6/constants/ecidNamespace.js +1 -0
- package/libEs6/constants/elementAttribute.js +1 -0
- package/libEs6/constants/highEntropyUserAgentClientHints.js +1 -0
- package/libEs6/constants/httpHeaderNames.js +1 -0
- package/libEs6/constants/httpStatusCode.js +1 -0
- package/libEs6/constants/legacyCookies.js +1 -0
- package/libEs6/constants/libraryName.js +1 -0
- package/libEs6/constants/libraryVersion.js +3 -1
- package/libEs6/constants/namespace.js +1 -0
- package/libEs6/constants/pageWideScope.js +1 -0
- package/libEs6/constants/queryStringIdentityParam.js +1 -0
- package/libEs6/constants/shadowSeparator.js +1 -0
- package/libEs6/constants/tagName.js +1 -0
- package/libEs6/core/buildAndValidateConfig.js +4 -10
- package/libEs6/core/componentCreators.js +3 -3
- package/libEs6/core/config/createConfig.js +1 -2
- package/libEs6/core/config/createCoreConfigs.js +1 -0
- package/libEs6/core/consent/createConsent.js +1 -9
- package/libEs6/core/consent/createConsentStateMachine.js +1 -20
- package/libEs6/core/createComponentRegistry.js +3 -15
- package/libEs6/core/createCookieTransfer.js +6 -12
- package/libEs6/core/createEvent.js +14 -36
- package/libEs6/core/createEventManager.js +5 -8
- package/libEs6/core/createInstanceFunction.js +1 -0
- package/libEs6/core/createLifecycle.js +14 -10
- package/libEs6/core/createLogController.js +1 -7
- package/libEs6/core/createLogger.js +1 -17
- package/libEs6/core/edgeNetwork/handleRequestFailure.js +0 -1
- package/libEs6/core/edgeNetwork/injectApplyResponse.js +2 -3
- package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +5 -6
- package/libEs6/core/edgeNetwork/injectGetLocationHint.js +1 -5
- package/libEs6/core/edgeNetwork/injectProcessWarningsAndErrors.js +1 -2
- package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +5 -5
- package/libEs6/core/index.js +4 -10
- package/libEs6/core/initializeComponents.js +3 -4
- package/libEs6/core/injectCreateResponse.js +3 -7
- package/libEs6/core/injectExecuteCommand.js +5 -11
- package/libEs6/core/injectHandleError.js +4 -3
- package/libEs6/core/injectShouldTransferCookie.js +1 -0
- package/libEs6/core/network/getRequestRetryDelay.js +11 -13
- package/libEs6/core/network/injectSendNetworkRequest.js +3 -7
- package/libEs6/core/network/isRequestRetryable.js +4 -2
- package/libEs6/core/network/requestMethods/injectSendBeaconRequest.js +4 -6
- package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
- package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +1 -5
- package/libEs6/core/validateCommandOptions.js +1 -2
- package/libEs6/index.js +5 -3
- package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +4 -2
- package/libEs6/utils/assign.js +1 -0
- package/libEs6/utils/assignIf.js +1 -1
- package/libEs6/utils/cookieJar.js +1 -0
- package/libEs6/utils/crc32.js +0 -7
- package/libEs6/utils/createCallbackAggregator.js +0 -2
- package/libEs6/utils/createLoggingCookieJar.js +3 -3
- package/libEs6/utils/createMerger.js +2 -1
- package/libEs6/utils/createTaskQueue.js +0 -4
- package/libEs6/utils/deduplicateArray.js +0 -3
- package/libEs6/utils/deepAssign.js +2 -5
- package/libEs6/utils/dom/appendNode.js +1 -0
- package/libEs6/utils/dom/awaitSelector.js +1 -14
- package/libEs6/utils/dom/createNode.js +1 -2
- package/libEs6/utils/dom/index.js +1 -0
- package/libEs6/utils/dom/isShadowSelector.js +1 -0
- package/libEs6/utils/dom/matchesSelector.js +2 -2
- package/libEs6/utils/dom/querySelectorAll.js +3 -2
- package/libEs6/utils/dom/removeNode.js +1 -2
- package/libEs6/utils/dom/selectNodes.js +2 -2
- package/libEs6/utils/dom/selectNodesWithShadow.js +6 -16
- package/libEs6/utils/filterObject.js +8 -12
- package/libEs6/utils/find.js +0 -2
- package/libEs6/utils/fireImage.js +2 -1
- package/libEs6/utils/getApexDomain.js +4 -4
- package/libEs6/utils/getBrowser.js +1 -7
- package/libEs6/utils/getNamespacedCookieName.js +1 -0
- package/libEs6/utils/groupBy.js +0 -2
- package/libEs6/utils/index.js +1 -0
- package/libEs6/utils/injectDoesIdentityCookieExist.js +1 -1
- package/libEs6/utils/injectFireReferrerHideableImage.js +1 -4
- package/libEs6/utils/injectStorage.js +1 -5
- package/libEs6/utils/intersection.js +2 -1
- package/libEs6/utils/isBlankString.js +2 -1
- package/libEs6/utils/isEmptyObject.js +2 -1
- package/libEs6/utils/isInteger.js +2 -1
- package/libEs6/utils/isNamespacedCookieName.js +2 -1
- package/libEs6/utils/isNonEmptyString.js +2 -1
- package/libEs6/utils/isObject.js +2 -1
- package/libEs6/utils/isUnique.js +0 -5
- package/libEs6/utils/memoize.js +0 -2
- package/libEs6/utils/padStart.js +1 -4
- package/libEs6/utils/prepareConfigOverridesForEdge.js +5 -12
- package/libEs6/utils/querystring.js +1 -0
- package/libEs6/utils/request/createDataCollectionRequest.js +1 -3
- package/libEs6/utils/request/createDataCollectionRequestPayload.js +0 -3
- package/libEs6/utils/request/createGetAssuranceValidationTokenParams.js +1 -6
- package/libEs6/utils/request/createHasIdentity.js +1 -0
- package/libEs6/utils/request/createRequest.js +3 -9
- package/libEs6/utils/request/createRequestParams.js +0 -3
- package/libEs6/utils/request/createRequestPayload.js +4 -4
- package/libEs6/utils/request/index.js +1 -0
- package/libEs6/utils/sanitizeOrgIdForCookieName.js +1 -0
- package/libEs6/utils/stackError.js +2 -1
- package/libEs6/utils/toArray.js +1 -2
- package/libEs6/utils/toISOStringLocal.js +4 -3
- package/libEs6/utils/toInteger.js +4 -4
- package/libEs6/utils/updateErrorMessage.js +3 -1
- package/libEs6/utils/uuid.js +1 -0
- package/libEs6/utils/validateConfigOverride.js +1 -0
- package/libEs6/utils/validateIdentityMap.js +1 -0
- package/libEs6/utils/validation/booleanValidator.js +1 -0
- package/libEs6/utils/validation/createArrayOfValidator.js +0 -2
- package/libEs6/utils/validation/createDefaultValidator.js +1 -1
- package/libEs6/utils/validation/createDeprecatedValidator.js +0 -4
- package/libEs6/utils/validation/createMapOfValuesValidator.js +1 -4
- package/libEs6/utils/validation/createNoUnknownFieldsValidator.js +1 -2
- package/libEs6/utils/validation/createNonEmptyValidator.js +1 -1
- package/libEs6/utils/validation/createObjectOfValidator.js +3 -5
- package/libEs6/utils/validation/createUniqueValidator.js +1 -0
- package/libEs6/utils/validation/index.js +14 -32
- package/libEs6/utils/validation/integerValidator.js +1 -0
- package/libEs6/utils/validation/numberValidator.js +1 -0
- package/libEs6/utils/validation/regexpValidator.js +1 -0
- package/libEs6/utils/validation/requiredValidator.js +1 -1
- package/libEs6/utils/validation/utils.js +8 -12
- package/package.json +2 -2
package/libEs5/baseCode/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
|
|
5
4
|
/*
|
|
6
5
|
Copyright 2019 Adobe. All rights reserved.
|
|
7
6
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -13,17 +12,11 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
12
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
13
|
governing permissions and limitations under the License.
|
|
15
14
|
*/
|
|
16
|
-
|
|
17
15
|
/* eslint no-param-reassign: 0 */
|
|
18
|
-
|
|
19
16
|
/* eslint no-underscore-dangle: 0 */
|
|
20
|
-
|
|
21
17
|
/* eslint prefer-rest-params: 0 */
|
|
22
|
-
|
|
23
18
|
/* eslint no-var: 0 */
|
|
24
|
-
|
|
25
19
|
/* eslint-disable func-names */
|
|
26
|
-
|
|
27
20
|
/**
|
|
28
21
|
* This is the code, once minified, that an Alloy consumer copies and pastes
|
|
29
22
|
* into their website's HTML. It sets up any global functions the consumer will
|
|
@@ -49,11 +42,10 @@ var _default = function _default(window, instanceNames) {
|
|
|
49
42
|
// which global functions have been set up so that is can connect them to
|
|
50
43
|
// the library's command processing pipeline.
|
|
51
44
|
(window.__alloyNS = window.__alloyNS || []).push(instanceName);
|
|
52
|
-
|
|
53
45
|
window[instanceName] = function () {
|
|
54
|
-
var userProvidedArgs = arguments;
|
|
46
|
+
var userProvidedArgs = arguments;
|
|
47
|
+
// Always return a promise, because the command may be executed
|
|
55
48
|
// asynchronously, especially if the Alloy library has not yet loaded.
|
|
56
|
-
|
|
57
49
|
return new Promise(function (resolve, reject) {
|
|
58
50
|
// Push required call information into the queue. Once the Alloy
|
|
59
51
|
// library is loaded, it will process this queue and resolve/reject
|
|
@@ -63,10 +55,8 @@ var _default = function _default(window, instanceNames) {
|
|
|
63
55
|
window[instanceName].q.push([resolve, reject, userProvidedArgs]);
|
|
64
56
|
});
|
|
65
57
|
};
|
|
66
|
-
|
|
67
58
|
window[instanceName].q = [];
|
|
68
59
|
}
|
|
69
60
|
});
|
|
70
61
|
};
|
|
71
|
-
|
|
72
62
|
exports.default = _default;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
|
|
5
4
|
var _utils = require("../../utils");
|
|
6
|
-
|
|
7
5
|
/*
|
|
8
6
|
Copyright 2022 Adobe. All rights reserved.
|
|
9
7
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -15,15 +13,16 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
15
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
16
14
|
governing permissions and limitations under the License.
|
|
17
15
|
*/
|
|
16
|
+
|
|
18
17
|
var createClickHandler = function createClickHandler(_ref) {
|
|
19
18
|
var eventManager = _ref.eventManager,
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
lifecycle = _ref.lifecycle,
|
|
20
|
+
handleError = _ref.handleError;
|
|
22
21
|
return function (clickEvent) {
|
|
23
22
|
// TODO: Consider safeguarding from the same object being clicked multiple times in rapid succession?
|
|
24
23
|
var clickedElement = clickEvent.target;
|
|
25
|
-
var event = eventManager.createEvent();
|
|
26
|
-
|
|
24
|
+
var event = eventManager.createEvent();
|
|
25
|
+
// this is to make sure a exit link personalization metric use send beacon
|
|
27
26
|
event.documentMayUnload();
|
|
28
27
|
return lifecycle.onClick({
|
|
29
28
|
event: event,
|
|
@@ -32,20 +31,19 @@ var createClickHandler = function createClickHandler(_ref) {
|
|
|
32
31
|
if (event.isEmpty()) {
|
|
33
32
|
return Promise.resolve();
|
|
34
33
|
}
|
|
35
|
-
|
|
36
34
|
return eventManager.sendEvent(event);
|
|
37
|
-
})
|
|
35
|
+
})
|
|
36
|
+
// eventManager.sendEvent() will return a promise resolved to an
|
|
38
37
|
// object and we want to avoid returning any value to the customer
|
|
39
38
|
.then(_utils.noop).catch(function (error) {
|
|
40
39
|
handleError(error, "click collection");
|
|
41
40
|
});
|
|
42
41
|
};
|
|
43
42
|
};
|
|
44
|
-
|
|
45
43
|
var _default = function _default(_ref2) {
|
|
46
44
|
var eventManager = _ref2.eventManager,
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
lifecycle = _ref2.lifecycle,
|
|
46
|
+
handleError = _ref2.handleError;
|
|
49
47
|
var clickHandler = createClickHandler({
|
|
50
48
|
eventManager: eventManager,
|
|
51
49
|
lifecycle: lifecycle,
|
|
@@ -53,5 +51,4 @@ var _default = function _default(_ref2) {
|
|
|
53
51
|
});
|
|
54
52
|
document.addEventListener("click", clickHandler, true);
|
|
55
53
|
};
|
|
56
|
-
|
|
57
54
|
exports.default = _default;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.downloadLinkQualifier = exports.default = void 0;
|
|
4
|
-
|
|
5
4
|
var _validation = require("../../utils/validation");
|
|
6
|
-
|
|
7
5
|
/*
|
|
8
6
|
Copyright 2019 Adobe. All rights reserved.
|
|
9
7
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -15,13 +13,12 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
15
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
16
14
|
governing permissions and limitations under the License.
|
|
17
15
|
*/
|
|
16
|
+
|
|
18
17
|
var downloadLinkQualifier = (0, _validation.string)().regexp().default("\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$");
|
|
19
18
|
exports.downloadLinkQualifier = downloadLinkQualifier;
|
|
20
|
-
|
|
21
19
|
var _default = (0, _validation.objectOf)({
|
|
22
20
|
clickCollectionEnabled: (0, _validation.boolean)().default(true),
|
|
23
21
|
onBeforeLinkClickSend: (0, _validation.callback)(),
|
|
24
22
|
downloadLinkQualifier: downloadLinkQualifier
|
|
25
23
|
});
|
|
26
|
-
|
|
27
24
|
exports.default = _default;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
|
|
5
4
|
/*
|
|
6
5
|
Copyright 2022 Adobe. All rights reserved.
|
|
7
6
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -15,29 +14,25 @@ governing permissions and limitations under the License.
|
|
|
15
14
|
*/
|
|
16
15
|
var _default = function _default(_ref) {
|
|
17
16
|
var window = _ref.window,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
getLinkName = _ref.getLinkName,
|
|
18
|
+
getLinkRegion = _ref.getLinkRegion,
|
|
19
|
+
getAbsoluteUrlFromAnchorElement = _ref.getAbsoluteUrlFromAnchorElement,
|
|
20
|
+
findSupportedAnchorElement = _ref.findSupportedAnchorElement,
|
|
21
|
+
determineLinkType = _ref.determineLinkType;
|
|
23
22
|
return function (_ref2) {
|
|
24
23
|
var targetElement = _ref2.targetElement,
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
config = _ref2.config,
|
|
25
|
+
logger = _ref2.logger;
|
|
27
26
|
var anchorElement = findSupportedAnchorElement(targetElement);
|
|
28
|
-
|
|
29
27
|
if (!anchorElement) {
|
|
30
28
|
logger.info("This link click event is not triggered because the HTML element is not an anchor.");
|
|
31
29
|
return undefined;
|
|
32
30
|
}
|
|
33
|
-
|
|
34
31
|
var linkUrl = getAbsoluteUrlFromAnchorElement(window, anchorElement);
|
|
35
|
-
|
|
36
32
|
if (!linkUrl) {
|
|
37
33
|
logger.info("This link click event is not triggered because the HTML element doesn't have an URL.");
|
|
38
34
|
return undefined;
|
|
39
35
|
}
|
|
40
|
-
|
|
41
36
|
var linkType = determineLinkType(window, config, linkUrl, anchorElement);
|
|
42
37
|
var linkRegion = getLinkRegion(anchorElement);
|
|
43
38
|
var linkName = getLinkName(anchorElement);
|
|
@@ -60,20 +55,15 @@ var _default = function _default(_ref) {
|
|
|
60
55
|
data: {},
|
|
61
56
|
clickedElement: targetElement
|
|
62
57
|
};
|
|
63
|
-
|
|
64
58
|
if (!onBeforeLinkClickSend) {
|
|
65
59
|
return options;
|
|
66
60
|
}
|
|
67
|
-
|
|
68
61
|
var shouldEventBeTracked = onBeforeLinkClickSend(options);
|
|
69
|
-
|
|
70
62
|
if (shouldEventBeTracked !== false) {
|
|
71
63
|
return options;
|
|
72
64
|
}
|
|
73
|
-
|
|
74
65
|
logger.info("This link click event is not triggered because it was canceled in onBeforeLinkClickSend.");
|
|
75
66
|
return undefined;
|
|
76
67
|
};
|
|
77
68
|
};
|
|
78
|
-
|
|
79
69
|
exports.default = _default;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
|
|
5
4
|
/*
|
|
6
5
|
Copyright 2022 Adobe. All rights reserved.
|
|
7
6
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -15,30 +14,26 @@ governing permissions and limitations under the License.
|
|
|
15
14
|
*/
|
|
16
15
|
var _default = function _default(_ref) {
|
|
17
16
|
var getLinkDetails = _ref.getLinkDetails,
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
config = _ref.config,
|
|
18
|
+
logger = _ref.logger;
|
|
20
19
|
var clickCollectionEnabled = config.clickCollectionEnabled;
|
|
21
|
-
|
|
22
20
|
if (!clickCollectionEnabled) {
|
|
23
21
|
return function () {
|
|
24
22
|
return undefined;
|
|
25
23
|
};
|
|
26
24
|
}
|
|
27
|
-
|
|
28
25
|
return function (_ref2) {
|
|
29
26
|
var targetElement = _ref2.targetElement,
|
|
30
|
-
|
|
27
|
+
event = _ref2.event;
|
|
31
28
|
var linkDetails = getLinkDetails({
|
|
32
29
|
targetElement: targetElement,
|
|
33
30
|
config: config,
|
|
34
31
|
logger: logger
|
|
35
32
|
});
|
|
36
|
-
|
|
37
33
|
if (linkDetails) {
|
|
38
34
|
event.mergeXdm(linkDetails.xdm);
|
|
39
35
|
event.setUserData(linkDetails.data);
|
|
40
36
|
}
|
|
41
37
|
};
|
|
42
38
|
};
|
|
43
|
-
|
|
44
39
|
exports.default = _default;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
|
|
5
4
|
var _utils = require("./utils");
|
|
6
|
-
|
|
7
5
|
/*
|
|
8
6
|
Copyright 2022 Adobe. All rights reserved.
|
|
9
7
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -15,37 +13,34 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
15
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
16
14
|
governing permissions and limitations under the License.
|
|
17
15
|
*/
|
|
16
|
+
|
|
18
17
|
var unsupportedNodeNames = /^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;
|
|
18
|
+
|
|
19
19
|
/**
|
|
20
20
|
* Determines if a node qualifies as a supported link text node.
|
|
21
21
|
* @param {*} node Node to determine support for.
|
|
22
22
|
* @returns {boolean}
|
|
23
23
|
*/
|
|
24
|
-
|
|
25
24
|
var isSupportedTextNode = function isSupportedTextNode(node) {
|
|
26
25
|
if (node && node.nodeName) {
|
|
27
26
|
if (node.nodeName.match(unsupportedNodeNames)) {
|
|
28
27
|
return false;
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
|
-
|
|
32
30
|
return true;
|
|
33
31
|
};
|
|
32
|
+
|
|
34
33
|
/**
|
|
35
34
|
* Orders and returns specified node and its child nodes in arrays of supported
|
|
36
35
|
* and unsupported nodes.
|
|
37
36
|
* @param {*} node The node to extract supported and unsupported nodes from.
|
|
38
37
|
* @returns {{supportedNodes: Array, includesUnsupportedNodes: boolean}} Node support object.
|
|
39
38
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
39
|
var extractSupportedNodes = function extractSupportedNodes(node) {
|
|
43
40
|
var supportedNodes = [];
|
|
44
41
|
var includesUnsupportedNodes = false;
|
|
45
|
-
|
|
46
42
|
if (isSupportedTextNode(node)) {
|
|
47
43
|
supportedNodes.push(node);
|
|
48
|
-
|
|
49
44
|
if (node.childNodes) {
|
|
50
45
|
var childNodes = Array.prototype.slice.call(node.childNodes);
|
|
51
46
|
childNodes.forEach(function (childNode) {
|
|
@@ -57,12 +52,12 @@ var extractSupportedNodes = function extractSupportedNodes(node) {
|
|
|
57
52
|
} else {
|
|
58
53
|
includesUnsupportedNodes = true;
|
|
59
54
|
}
|
|
60
|
-
|
|
61
55
|
return {
|
|
62
56
|
supportedNodes: supportedNodes,
|
|
63
57
|
includesUnsupportedNodes: includesUnsupportedNodes
|
|
64
58
|
};
|
|
65
59
|
};
|
|
60
|
+
|
|
66
61
|
/**
|
|
67
62
|
* Returns the value of a node attribute.
|
|
68
63
|
* @param {*} node The node holding the attribute.
|
|
@@ -70,24 +65,19 @@ var extractSupportedNodes = function extractSupportedNodes(node) {
|
|
|
70
65
|
* @param {string} nodeName Optional node name constraint.
|
|
71
66
|
* @returns {string} Attribute value or undefined.
|
|
72
67
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
68
|
var getNodeAttributeValue = function getNodeAttributeValue(node, attributeName, nodeName) {
|
|
76
69
|
var attributeValue;
|
|
77
|
-
|
|
78
70
|
if (!nodeName || nodeName === node.nodeName.toUpperCase()) {
|
|
79
71
|
attributeValue = node.getAttribute(attributeName);
|
|
80
72
|
}
|
|
81
|
-
|
|
82
73
|
return attributeValue;
|
|
83
74
|
};
|
|
75
|
+
|
|
84
76
|
/**
|
|
85
77
|
* Extracts the children supported nodes attributes map
|
|
86
78
|
* @param {*} nodes The nodes array holding the children nodes.
|
|
87
79
|
* The returned map contains the supported not empty children attributes values.
|
|
88
80
|
* */
|
|
89
|
-
|
|
90
|
-
|
|
91
81
|
var getChildrenAttributes = function getChildrenAttributes(nodes) {
|
|
92
82
|
var attributes = {
|
|
93
83
|
texts: []
|
|
@@ -97,26 +87,23 @@ var getChildrenAttributes = function getChildrenAttributes(nodes) {
|
|
|
97
87
|
if (!attributes.alt) {
|
|
98
88
|
attributes.alt = (0, _utils.truncateWhiteSpace)(supportedNode.getAttribute("alt"));
|
|
99
89
|
}
|
|
100
|
-
|
|
101
90
|
if (!attributes.title) {
|
|
102
91
|
attributes.title = (0, _utils.truncateWhiteSpace)(supportedNode.getAttribute("title"));
|
|
103
92
|
}
|
|
104
|
-
|
|
105
93
|
if (!attributes.inputValue) {
|
|
106
94
|
attributes.inputValue = (0, _utils.truncateWhiteSpace)(getNodeAttributeValue(supportedNode, "value", "INPUT"));
|
|
107
95
|
}
|
|
108
|
-
|
|
109
96
|
if (!attributes.imgSrc) {
|
|
110
97
|
attributes.imgSrc = (0, _utils.truncateWhiteSpace)(getNodeAttributeValue(supportedNode, "src", "IMG"));
|
|
111
98
|
}
|
|
112
99
|
}
|
|
113
|
-
|
|
114
100
|
if (supportedNode.nodeValue) {
|
|
115
101
|
attributes.texts.push(supportedNode.nodeValue);
|
|
116
102
|
}
|
|
117
103
|
});
|
|
118
104
|
return attributes;
|
|
119
105
|
};
|
|
106
|
+
|
|
120
107
|
/**
|
|
121
108
|
* Extracts a link-name from a given node.
|
|
122
109
|
*
|
|
@@ -137,22 +124,17 @@ var getChildrenAttributes = function getChildrenAttributes(nodes) {
|
|
|
137
124
|
* @param {*} node The node to find link text for.
|
|
138
125
|
* @returns {string} link-name or an empty string if not link-name is found.
|
|
139
126
|
*/
|
|
140
|
-
|
|
141
|
-
|
|
142
127
|
var _default = function _default(node) {
|
|
143
128
|
var nodeText = (0, _utils.truncateWhiteSpace)(node.innerText || node.textContent);
|
|
144
|
-
var nodes = extractSupportedNodes(node);
|
|
145
|
-
|
|
129
|
+
var nodes = extractSupportedNodes(node);
|
|
130
|
+
// if contains unsupported nodes we want children node attributes
|
|
146
131
|
if (!nodeText || nodes.includesUnsupportedNodes) {
|
|
147
132
|
var attributesMap = getChildrenAttributes(nodes);
|
|
148
133
|
nodeText = (0, _utils.truncateWhiteSpace)(attributesMap.texts.join(""));
|
|
149
|
-
|
|
150
134
|
if (!nodeText) {
|
|
151
135
|
nodeText = attributesMap.alt || attributesMap.title || attributesMap.inputValue || attributesMap.imgSrc;
|
|
152
136
|
}
|
|
153
137
|
}
|
|
154
|
-
|
|
155
138
|
return nodeText || "";
|
|
156
139
|
};
|
|
157
|
-
|
|
158
140
|
exports.default = _default;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
|
|
5
4
|
var _utils = require("./utils");
|
|
6
|
-
|
|
7
5
|
var _utils2 = require("../../utils");
|
|
8
|
-
|
|
9
6
|
/*
|
|
10
7
|
Copyright 2022 Adobe. All rights reserved.
|
|
11
8
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -17,29 +14,25 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
17
14
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
18
15
|
governing permissions and limitations under the License.
|
|
19
16
|
*/
|
|
20
|
-
var semanticElements = /^(HEADER|MAIN|FOOTER|NAV)$/i;
|
|
21
17
|
|
|
18
|
+
var semanticElements = /^(HEADER|MAIN|FOOTER|NAV)$/i;
|
|
22
19
|
var getAriaRegionLabel = function getAriaRegionLabel(node) {
|
|
23
20
|
var regionLabel;
|
|
24
|
-
|
|
25
21
|
if (node.role === "region" && (0, _utils2.isNonEmptyString)(node["aria-label"])) {
|
|
26
22
|
regionLabel = node["aria-label"];
|
|
27
23
|
}
|
|
28
|
-
|
|
29
24
|
return regionLabel;
|
|
30
25
|
};
|
|
31
|
-
|
|
32
26
|
var getSectionNodeName = function getSectionNodeName(node) {
|
|
33
27
|
var nodeName;
|
|
34
|
-
|
|
35
28
|
if (node && node.nodeName) {
|
|
36
29
|
if (node.nodeName.match(semanticElements)) {
|
|
37
30
|
nodeName = node.nodeName;
|
|
38
31
|
}
|
|
39
32
|
}
|
|
40
|
-
|
|
41
33
|
return nodeName;
|
|
42
34
|
};
|
|
35
|
+
|
|
43
36
|
/**
|
|
44
37
|
* Extracts a node link-region.
|
|
45
38
|
*
|
|
@@ -54,23 +47,16 @@ var getSectionNodeName = function getSectionNodeName(node) {
|
|
|
54
47
|
* @param {*} node The node to find link region for.
|
|
55
48
|
* @returns {string} link-region.
|
|
56
49
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
50
|
var _default = function _default(node) {
|
|
60
51
|
var linkParentNode = node.parentNode;
|
|
61
52
|
var regionName;
|
|
62
|
-
|
|
63
53
|
while (linkParentNode) {
|
|
64
54
|
regionName = (0, _utils.truncateWhiteSpace)(linkParentNode.id || getAriaRegionLabel(linkParentNode) || getSectionNodeName(linkParentNode));
|
|
65
|
-
|
|
66
55
|
if (regionName) {
|
|
67
56
|
return regionName;
|
|
68
57
|
}
|
|
69
|
-
|
|
70
58
|
linkParentNode = linkParentNode.parentNode;
|
|
71
59
|
}
|
|
72
|
-
|
|
73
60
|
return "BODY";
|
|
74
61
|
};
|
|
75
|
-
|
|
76
62
|
exports.default = _default;
|
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
|
|
5
4
|
var _attachClickActivityCollector = require("./attachClickActivityCollector");
|
|
6
|
-
|
|
7
5
|
var _configValidators = require("./configValidators");
|
|
8
|
-
|
|
9
6
|
var _createLinkClick = require("./createLinkClick");
|
|
10
|
-
|
|
11
7
|
var _createGetLinkDetails = require("./createGetLinkDetails");
|
|
12
|
-
|
|
13
8
|
var _getLinkName = require("./getLinkName");
|
|
14
|
-
|
|
15
9
|
var _getLinkRegion = require("./getLinkRegion");
|
|
16
|
-
|
|
17
10
|
var _utils = require("./utils");
|
|
18
|
-
|
|
19
11
|
/*
|
|
20
12
|
Copyright 2019 Adobe. All rights reserved.
|
|
21
13
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -27,6 +19,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
27
19
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
28
20
|
governing permissions and limitations under the License.
|
|
29
21
|
*/
|
|
22
|
+
|
|
30
23
|
var _getLinkDetails = (0, _createGetLinkDetails.default)({
|
|
31
24
|
window: window,
|
|
32
25
|
getLinkName: _getLinkName.default,
|
|
@@ -35,12 +28,11 @@ var _getLinkDetails = (0, _createGetLinkDetails.default)({
|
|
|
35
28
|
findSupportedAnchorElement: _utils.findSupportedAnchorElement,
|
|
36
29
|
determineLinkType: _utils.determineLinkType
|
|
37
30
|
});
|
|
38
|
-
|
|
39
31
|
var createActivityCollector = function createActivityCollector(_ref) {
|
|
40
32
|
var config = _ref.config,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
eventManager = _ref.eventManager,
|
|
34
|
+
handleError = _ref.handleError,
|
|
35
|
+
logger = _ref.logger;
|
|
44
36
|
var linkClick = (0, _createLinkClick.default)({
|
|
45
37
|
getLinkDetails: _getLinkDetails,
|
|
46
38
|
config: config,
|
|
@@ -54,11 +46,12 @@ var createActivityCollector = function createActivityCollector(_ref) {
|
|
|
54
46
|
eventManager: eventManager,
|
|
55
47
|
lifecycle: lifecycle,
|
|
56
48
|
handleError: handleError
|
|
57
|
-
});
|
|
49
|
+
});
|
|
50
|
+
// TODO: createScrollActivityCollector ...
|
|
58
51
|
},
|
|
59
52
|
onClick: function onClick(_ref2) {
|
|
60
53
|
var event = _ref2.event,
|
|
61
|
-
|
|
54
|
+
clickedElement = _ref2.clickedElement;
|
|
62
55
|
linkClick({
|
|
63
56
|
targetElement: clickedElement,
|
|
64
57
|
event: event
|
|
@@ -67,13 +60,11 @@ var createActivityCollector = function createActivityCollector(_ref) {
|
|
|
67
60
|
}
|
|
68
61
|
};
|
|
69
62
|
};
|
|
70
|
-
|
|
71
63
|
createActivityCollector.namespace = "ActivityCollector";
|
|
72
64
|
createActivityCollector.configValidators = _configValidators.default;
|
|
73
|
-
|
|
74
65
|
createActivityCollector.buildOnInstanceConfiguredExtraParams = function (_ref3) {
|
|
75
66
|
var config = _ref3.config,
|
|
76
|
-
|
|
67
|
+
logger = _ref3.logger;
|
|
77
68
|
return {
|
|
78
69
|
getLinkDetails: function getLinkDetails(targetElement) {
|
|
79
70
|
return _getLinkDetails({
|
|
@@ -84,6 +75,5 @@ createActivityCollector.buildOnInstanceConfiguredExtraParams = function (_ref3)
|
|
|
84
75
|
}
|
|
85
76
|
};
|
|
86
77
|
};
|
|
87
|
-
|
|
88
78
|
var _default = createActivityCollector;
|
|
89
79
|
exports.default = _default;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.urlStartsWithScheme = exports.truncateWhiteSpace = exports.trimQueryFromUrl = exports.isSupportedAnchorElement = exports.isExitLink = exports.isEmptyString = exports.isDownloadLink = exports.getAbsoluteUrlFromAnchorElement = exports.findSupportedAnchorElement = exports.determineLinkType = void 0;
|
|
4
|
-
|
|
5
4
|
/*
|
|
6
5
|
Copyright 2019 Adobe. All rights reserved.
|
|
7
6
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -13,90 +12,69 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
12
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
13
|
governing permissions and limitations under the License.
|
|
15
14
|
*/
|
|
15
|
+
|
|
16
16
|
var urlStartsWithScheme = function urlStartsWithScheme(url) {
|
|
17
17
|
return url && /^[a-z0-9]+:\/\//i.test(url);
|
|
18
18
|
};
|
|
19
|
-
|
|
20
19
|
exports.urlStartsWithScheme = urlStartsWithScheme;
|
|
21
|
-
|
|
22
20
|
var getAbsoluteUrlFromAnchorElement = function getAbsoluteUrlFromAnchorElement(window, element) {
|
|
23
21
|
var loc = window.location;
|
|
24
22
|
var url = element.href ? element.href : "";
|
|
25
23
|
var protocol = element.protocol,
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
host = element.host;
|
|
28
25
|
if (!urlStartsWithScheme(url)) {
|
|
29
26
|
if (!protocol) {
|
|
30
27
|
protocol = loc.protocol ? loc.protocol : "";
|
|
31
28
|
}
|
|
32
|
-
|
|
33
29
|
protocol = protocol ? protocol + "//" : "";
|
|
34
|
-
|
|
35
30
|
if (!host) {
|
|
36
31
|
host = loc.host ? loc.host : "";
|
|
37
32
|
}
|
|
38
|
-
|
|
39
33
|
var path = "";
|
|
40
|
-
|
|
41
34
|
if (url.substring(0, 1) !== "/") {
|
|
42
35
|
var indx = loc.pathname.lastIndexOf("/");
|
|
43
36
|
indx = indx < 0 ? 0 : indx;
|
|
44
37
|
path = loc.pathname.substring(0, indx);
|
|
45
38
|
}
|
|
46
|
-
|
|
47
39
|
url = "" + protocol + host + path + "/" + url;
|
|
48
40
|
}
|
|
49
|
-
|
|
50
41
|
return url;
|
|
51
42
|
};
|
|
52
|
-
|
|
53
43
|
exports.getAbsoluteUrlFromAnchorElement = getAbsoluteUrlFromAnchorElement;
|
|
54
|
-
|
|
55
44
|
var isSupportedAnchorElement = function isSupportedAnchorElement(element) {
|
|
56
45
|
if (element.href && (element.tagName === "A" || element.tagName === "AREA") && (!element.onclick || !element.protocol || element.protocol.toLowerCase().indexOf("javascript") < 0)) {
|
|
57
46
|
return true;
|
|
58
47
|
}
|
|
59
|
-
|
|
60
48
|
return false;
|
|
61
49
|
};
|
|
62
|
-
|
|
63
50
|
exports.isSupportedAnchorElement = isSupportedAnchorElement;
|
|
64
|
-
|
|
65
51
|
var trimQueryFromUrl = function trimQueryFromUrl(url) {
|
|
66
52
|
var questionMarkIndex = url.indexOf("?");
|
|
67
53
|
var hashIndex = url.indexOf("#");
|
|
68
|
-
|
|
69
54
|
if (questionMarkIndex >= 0 && (questionMarkIndex < hashIndex || hashIndex < 0)) {
|
|
70
55
|
return url.substring(0, questionMarkIndex);
|
|
71
56
|
}
|
|
72
|
-
|
|
73
57
|
if (hashIndex >= 0) {
|
|
74
58
|
return url.substring(0, hashIndex);
|
|
75
59
|
}
|
|
76
|
-
|
|
77
60
|
return url;
|
|
78
61
|
};
|
|
79
|
-
|
|
80
62
|
exports.trimQueryFromUrl = trimQueryFromUrl;
|
|
81
|
-
|
|
82
63
|
var isDownloadLink = function isDownloadLink(downloadLinkQualifier, linkUrl, clickedObj) {
|
|
83
64
|
var re = new RegExp(downloadLinkQualifier);
|
|
84
65
|
var trimmedLinkUrl = trimQueryFromUrl(linkUrl).toLowerCase();
|
|
85
66
|
return clickedObj.download ? true : re.test(trimmedLinkUrl);
|
|
86
67
|
};
|
|
87
|
-
|
|
88
68
|
exports.isDownloadLink = isDownloadLink;
|
|
89
|
-
|
|
90
69
|
var isExitLink = function isExitLink(window, linkUrl) {
|
|
91
70
|
var currentHostname = window.location.hostname.toLowerCase();
|
|
92
71
|
var trimmedLinkUrl = trimQueryFromUrl(linkUrl).toLowerCase();
|
|
93
|
-
|
|
94
72
|
if (trimmedLinkUrl.indexOf(currentHostname) >= 0) {
|
|
95
73
|
return false;
|
|
96
74
|
}
|
|
97
|
-
|
|
98
75
|
return true;
|
|
99
76
|
};
|
|
77
|
+
|
|
100
78
|
/**
|
|
101
79
|
* Reduces repeated whitespace within a string. Whitespace surrounding the string
|
|
102
80
|
* is trimmed and any occurrence of whitespace within the string is replaced with
|
|
@@ -104,48 +82,33 @@ var isExitLink = function isExitLink(window, linkUrl) {
|
|
|
104
82
|
* @param {string} str String to be formatted.
|
|
105
83
|
* @returns {string} Formatted string.
|
|
106
84
|
*/
|
|
107
|
-
|
|
108
|
-
|
|
109
85
|
exports.isExitLink = isExitLink;
|
|
110
|
-
|
|
111
86
|
var truncateWhiteSpace = function truncateWhiteSpace(str) {
|
|
112
87
|
return str && str.replace(/\s+/g, " ").trim();
|
|
113
88
|
};
|
|
114
|
-
|
|
115
89
|
exports.truncateWhiteSpace = truncateWhiteSpace;
|
|
116
|
-
|
|
117
90
|
var isEmptyString = function isEmptyString(str) {
|
|
118
91
|
return !str || str.length === 0;
|
|
119
92
|
};
|
|
120
|
-
|
|
121
93
|
exports.isEmptyString = isEmptyString;
|
|
122
|
-
|
|
123
94
|
var determineLinkType = function determineLinkType(window, config, linkUrl, clickedObj) {
|
|
124
95
|
var linkType = "other";
|
|
125
|
-
|
|
126
96
|
if (isDownloadLink(config.downloadLinkQualifier, linkUrl, clickedObj)) {
|
|
127
97
|
linkType = "download";
|
|
128
98
|
} else if (isExitLink(window, linkUrl)) {
|
|
129
99
|
linkType = "exit";
|
|
130
100
|
}
|
|
131
|
-
|
|
132
101
|
return linkType;
|
|
133
102
|
};
|
|
134
|
-
|
|
135
103
|
exports.determineLinkType = determineLinkType;
|
|
136
|
-
|
|
137
104
|
var findSupportedAnchorElement = function findSupportedAnchorElement(targetElement) {
|
|
138
105
|
var node = targetElement;
|
|
139
|
-
|
|
140
106
|
while (node) {
|
|
141
107
|
if (isSupportedAnchorElement(node)) {
|
|
142
108
|
return node;
|
|
143
109
|
}
|
|
144
|
-
|
|
145
110
|
node = node.parentNode;
|
|
146
111
|
}
|
|
147
|
-
|
|
148
112
|
return null;
|
|
149
113
|
};
|
|
150
|
-
|
|
151
114
|
exports.findSupportedAnchorElement = findSupportedAnchorElement;
|