@adobe/alloy 2.21.1 → 2.22.0-alpha.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/babel.config.cjs +0 -1
- package/libEs5/baseCode/index.js +3 -2
- package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +23 -20
- package/libEs5/components/ActivityCollector/configValidators.js +2 -2
- package/libEs5/components/ActivityCollector/createClickActivityStorage.js +11 -9
- package/libEs5/components/ActivityCollector/createClickedElementProperties.js +39 -32
- package/libEs5/components/ActivityCollector/createGetClickedElementProperties.js +28 -20
- package/libEs5/components/ActivityCollector/createInjectClickedElementProperties.js +24 -21
- package/libEs5/components/ActivityCollector/createRecallAndInjectClickedElementProperties.js +10 -8
- package/libEs5/components/ActivityCollector/createStorePageViewProperties.js +6 -4
- package/libEs5/components/ActivityCollector/getLinkName.js +19 -18
- package/libEs5/components/ActivityCollector/getLinkRegion.js +10 -9
- package/libEs5/components/ActivityCollector/index.js +61 -45
- package/libEs5/components/ActivityCollector/utils/activityMapExtensionEnabled.js +3 -5
- package/libEs5/components/ActivityCollector/utils/createTransientStorage.js +7 -6
- package/libEs5/components/ActivityCollector/utils/determineLinkType.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/elementHasClickHandler.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/extractDomain.js +5 -4
- package/libEs5/components/ActivityCollector/utils/dom/findClickableElement.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/getAbsoluteUrlFromAnchorElement.js +11 -8
- package/libEs5/components/ActivityCollector/utils/dom/isButtonSubmitElement.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/isDownloadLink.js +6 -5
- package/libEs5/components/ActivityCollector/utils/dom/isExitLink.js +6 -5
- package/libEs5/components/ActivityCollector/utils/dom/isInputSubmitElement.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/isSupportedAnchorElement.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/isSupportedTextNode.js +4 -3
- package/libEs5/components/ActivityCollector/utils/hasPageName.js +4 -3
- package/libEs5/components/ActivityCollector/utils/isDifferentDomains.js +5 -4
- package/libEs5/components/ActivityCollector/utils/trimQueryFromUrl.js +5 -4
- package/libEs5/components/ActivityCollector/utils/truncateWhiteSpace.js +3 -2
- package/libEs5/components/ActivityCollector/utils/urlStartsWithScheme.js +3 -2
- package/libEs5/components/Audiences/index.js +13 -12
- package/libEs5/components/Audiences/injectProcessDestinations.js +32 -35
- package/libEs5/components/Audiences/injectProcessResponse.js +19 -16
- package/libEs5/components/Context/createComponent.js +10 -13
- package/libEs5/components/Context/implementationDetails.js +5 -4
- package/libEs5/components/Context/index.js +24 -28
- package/libEs5/components/Context/injectDevice.js +23 -15
- package/libEs5/components/Context/injectEnvironment.js +17 -12
- package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +12 -21
- package/libEs5/components/Context/injectPlaceContext.js +8 -7
- package/libEs5/components/Context/injectTimestamp.js +6 -5
- package/libEs5/components/Context/injectWeb.js +6 -5
- package/libEs5/components/DataCollector/index.js +37 -38
- package/libEs5/components/DataCollector/validateApplyResponse.js +6 -4
- package/libEs5/components/DataCollector/validateUserEventOptions.js +6 -4
- package/libEs5/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +11 -8
- package/libEs5/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +10 -7
- package/libEs5/components/DecisioningEngine/constants.js +3 -3
- package/libEs5/components/DecisioningEngine/createApplyResponse.js +15 -15
- package/libEs5/components/DecisioningEngine/createConsequenceAdapter.js +17 -13
- package/libEs5/components/DecisioningEngine/createContextProvider.js +48 -44
- package/libEs5/components/DecisioningEngine/createDecisionHistory.js +7 -5
- package/libEs5/components/DecisioningEngine/createDecisionProvider.js +16 -21
- package/libEs5/components/DecisioningEngine/createEvaluableRulesetPayload.js +39 -37
- package/libEs5/components/DecisioningEngine/createEvaluateRulesetsCommand.js +21 -19
- package/libEs5/components/DecisioningEngine/createEventRegistry.js +63 -67
- package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +23 -22
- package/libEs5/components/DecisioningEngine/createSubscribeRulesetItems.js +100 -55
- package/libEs5/components/DecisioningEngine/index.js +83 -54
- package/libEs5/components/DecisioningEngine/utils.js +43 -38
- package/libEs5/components/EventMerge/createComponent.js +5 -3
- package/libEs5/components/EventMerge/createEventMergeId.js +3 -2
- package/libEs5/components/EventMerge/index.js +1 -1
- package/libEs5/components/Identity/addEcidQueryToPayload.js +3 -2
- package/libEs5/components/Identity/addEcidToPayload.js +3 -2
- package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +13 -23
- package/libEs5/components/Identity/configValidators.js +1 -1
- package/libEs5/components/Identity/constants/authState.js +3 -3
- package/libEs5/components/Identity/createComponent.js +39 -33
- package/libEs5/components/Identity/createLegacyIdentity.js +29 -29
- package/libEs5/components/Identity/getEcidFromResponse.js +5 -7
- package/libEs5/components/Identity/getIdentity/createGetIdentity.js +17 -15
- package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +10 -8
- package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +5 -4
- package/libEs5/components/Identity/index.js +61 -62
- package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +8 -6
- package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +46 -52
- package/libEs5/components/Identity/injectAwaitIdentityCookie.js +14 -11
- package/libEs5/components/Identity/injectEnsureSingleIdentity.js +25 -24
- package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +6 -4
- package/libEs5/components/Identity/injectProcessIdSyncs.js +20 -22
- package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +7 -5
- package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +8 -6
- package/libEs5/components/Identity/visitorService/getVisitor.js +4 -3
- package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +15 -13
- package/libEs5/components/LegacyMediaAnalytics/constants/constants.js +9 -9
- package/libEs5/components/LegacyMediaAnalytics/constants/mediaKeysToXdmConverter.js +2 -2
- package/libEs5/components/LegacyMediaAnalytics/createGetInstance.js +61 -63
- package/libEs5/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +38 -37
- package/libEs5/components/LegacyMediaAnalytics/createMediaHelper.js +54 -52
- package/libEs5/components/LegacyMediaAnalytics/index.js +32 -33
- package/libEs5/components/LibraryInfo/index.js +23 -30
- package/libEs5/components/MachineLearning/index.js +1 -1
- package/libEs5/components/MachineLearning/processResponse.js +5 -3
- package/libEs5/components/Personalization/constants/loggerMessage.js +2 -2
- package/libEs5/components/Personalization/constants/scopeType.js +3 -3
- package/libEs5/components/Personalization/constants/surface.js +4 -4
- package/libEs5/components/Personalization/createActionsProvider.js +37 -32
- package/libEs5/components/Personalization/createApplyPropositions.js +71 -81
- package/libEs5/components/Personalization/createClickStorage.js +30 -32
- package/libEs5/components/Personalization/createComponent.js +65 -74
- package/libEs5/components/Personalization/createFetchDataHandler.js +49 -52
- package/libEs5/components/Personalization/createGetPageLocation.js +6 -6
- package/libEs5/components/Personalization/createHandleConsentFlicker.js +15 -14
- package/libEs5/components/Personalization/createInteractionStorage.js +25 -39
- package/libEs5/components/Personalization/createNotificationHandler.js +9 -10
- package/libEs5/components/Personalization/createOnClickHandler.js +29 -25
- package/libEs5/components/Personalization/createOnDecisionHandler.js +23 -21
- package/libEs5/components/Personalization/createPersonalizationDetails.js +39 -45
- package/libEs5/components/Personalization/createPreprocessors.js +7 -7
- package/libEs5/components/Personalization/createSetTargetMigration.js +6 -4
- package/libEs5/components/Personalization/createViewCacheManager.js +29 -32
- package/libEs5/components/Personalization/createViewChangeHandler.js +25 -20
- package/libEs5/components/Personalization/dom-actions/action.js +24 -25
- package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +12 -13
- package/libEs5/components/Personalization/dom-actions/appendHtml.js +8 -7
- package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +28 -33
- package/libEs5/components/Personalization/dom-actions/clicks/collectInteractions.js +37 -40
- package/libEs5/components/Personalization/dom-actions/collectInteractions.js +3 -2
- package/libEs5/components/Personalization/dom-actions/createPreprocess.js +10 -11
- package/libEs5/components/Personalization/dom-actions/createRedirect.js +11 -13
- package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +6 -3
- package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +6 -3
- package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +3 -3
- package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +7 -6
- package/libEs5/components/Personalization/dom-actions/dom/getParent.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +7 -7
- package/libEs5/components/Personalization/dom-actions/dom/index.js +14 -14
- package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +4 -3
- package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +4 -3
- package/libEs5/components/Personalization/dom-actions/dom/isDomElement.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -5
- package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +39 -38
- package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +4 -3
- package/libEs5/components/Personalization/dom-actions/images.js +10 -9
- package/libEs5/components/Personalization/dom-actions/index.js +1 -1
- package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +40 -25
- package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +9 -8
- package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +8 -7
- package/libEs5/components/Personalization/dom-actions/prependHtml.js +13 -10
- package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +9 -7
- package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +14 -9
- package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +16 -14
- package/libEs5/components/Personalization/dom-actions/replaceHtml.js +4 -3
- package/libEs5/components/Personalization/dom-actions/scripts.js +58 -38
- package/libEs5/components/Personalization/dom-actions/setAttributes.js +4 -3
- package/libEs5/components/Personalization/dom-actions/setHtml.js +5 -4
- package/libEs5/components/Personalization/dom-actions/setStyles.js +8 -8
- package/libEs5/components/Personalization/dom-actions/setText.js +3 -2
- package/libEs5/components/Personalization/dom-actions/swapImage.js +3 -2
- package/libEs5/components/Personalization/flicker/index.js +34 -31
- package/libEs5/components/Personalization/handlers/createDecorateProposition.js +16 -13
- package/libEs5/components/Personalization/handlers/createProcessDomAction.js +45 -50
- package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +30 -29
- package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +35 -31
- package/libEs5/components/Personalization/handlers/createProcessPropositions.js +91 -107
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +30 -29
- package/libEs5/components/Personalization/handlers/injectCreateProposition.js +59 -64
- package/libEs5/components/Personalization/handlers/processDefaultContent.js +3 -2
- package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +140 -121
- package/libEs5/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +4 -5
- package/libEs5/components/Personalization/in-app-message-actions/utils.js +23 -19
- package/libEs5/components/Personalization/index.js +112 -99
- package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +10 -10
- package/libEs5/components/Personalization/utils/createAsyncArray.js +10 -9
- package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +3 -3
- package/libEs5/components/Personalization/utils/metaUtils.js +14 -19
- package/libEs5/components/Personalization/utils/surfaceUtils.js +27 -46
- package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +8 -6
- package/libEs5/components/Privacy/computeConsentHash.js +9 -9
- package/libEs5/components/Privacy/createComponent.js +32 -32
- package/libEs5/components/Privacy/createConsentHashStore.js +27 -24
- package/libEs5/components/Privacy/createConsentRequest.js +10 -8
- package/libEs5/components/Privacy/createConsentRequestPayload.js +9 -8
- package/libEs5/components/Privacy/createStoredConsent.js +11 -9
- package/libEs5/components/Privacy/index.js +26 -23
- package/libEs5/components/Privacy/injectSendSetConsentRequest.js +30 -29
- package/libEs5/components/Privacy/parseConsentCookie.js +6 -14
- package/libEs5/components/StreamingMedia/createMediaEventManager.js +59 -45
- package/libEs5/components/StreamingMedia/createMediaRequest.js +8 -6
- package/libEs5/components/StreamingMedia/createMediaResponseHandler.js +22 -17
- package/libEs5/components/StreamingMedia/createMediaSessionCacheManager.js +22 -18
- package/libEs5/components/StreamingMedia/createStreamingMediaComponent.js +30 -29
- package/libEs5/components/StreamingMedia/createTrackMediaEvent.js +41 -36
- package/libEs5/components/StreamingMedia/createTrackMediaSession.js +25 -22
- package/libEs5/components/StreamingMedia/index.js +33 -34
- package/libEs5/components/StreamingMedia/validateMediaEventOptions.js +9 -12
- package/libEs5/components/StreamingMedia/validateMediaSessionOptions.js +6 -4
- package/libEs5/constants/browser.js +7 -7
- package/libEs5/constants/consentPurpose.js +1 -1
- package/libEs5/constants/consentStatus.js +3 -3
- package/libEs5/constants/contentType.js +2 -2
- package/libEs5/constants/cookieNameKey.js +3 -3
- package/libEs5/constants/coreCommands.js +2 -2
- package/libEs5/constants/decisionProvider.js +4 -3
- package/libEs5/constants/domain.js +2 -2
- package/libEs5/constants/elementAttribute.js +1 -1
- package/libEs5/constants/eventType.js +5 -5
- package/libEs5/constants/handle.js +1 -1
- package/libEs5/constants/httpHeaderNames.js +2 -2
- package/libEs5/constants/httpStatusCode.js +5 -5
- package/libEs5/constants/identityMapAuthenticatedState.js +3 -3
- package/libEs5/constants/legacyCookies.js +3 -3
- package/libEs5/constants/libraryVersion.js +1 -1
- package/libEs5/constants/propositionEventType.js +18 -12
- package/libEs5/constants/propositionInteractionType.js +4 -4
- package/libEs5/constants/schema.js +11 -11
- package/libEs5/constants/sessionDataKeys.js +1 -1
- package/libEs5/constants/tagName.js +7 -7
- package/libEs5/core/buildAndValidateConfig.js +55 -69
- package/libEs5/core/componentCreators.js +70 -41
- package/libEs5/core/config/createConfig.js +4 -3
- package/libEs5/core/config/createCoreConfigs.js +11 -12
- package/libEs5/core/consent/createConsent.js +16 -14
- package/libEs5/core/consent/createConsentStateMachine.js +27 -35
- package/libEs5/core/createComponentRegistry.js +28 -27
- package/libEs5/core/createCookieTransfer.js +18 -18
- package/libEs5/core/createEvent.js +39 -44
- package/libEs5/core/createEventManager.js +64 -69
- package/libEs5/core/createInstanceFunction.js +4 -11
- package/libEs5/core/createLifecycle.js +14 -19
- package/libEs5/core/createLogController.js +30 -29
- package/libEs5/core/createLogger.js +28 -27
- package/libEs5/core/edgeNetwork/handleRequestFailure.js +6 -5
- package/libEs5/core/edgeNetwork/injectApplyResponse.js +29 -32
- package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +19 -25
- package/libEs5/core/edgeNetwork/injectGetLocationHint.js +11 -11
- package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +20 -16
- package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +42 -38
- package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +8 -12
- package/libEs5/core/index.js +137 -133
- package/libEs5/core/initializeComponents.js +17 -15
- package/libEs5/core/injectCreateResponse.js +47 -53
- package/libEs5/core/injectExecuteCommand.js +39 -40
- package/libEs5/core/injectHandleError.js +19 -19
- package/libEs5/core/injectShouldTransferCookie.js +12 -12
- package/libEs5/core/network/getRequestRetryDelay.js +20 -18
- package/libEs5/core/network/injectSendNetworkRequest.js +46 -49
- package/libEs5/core/network/isRequestRetryable.js +9 -8
- package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +10 -8
- package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +18 -19
- package/libEs5/core/requiredComponentCreators.js +23 -0
- package/libEs5/core/validateCommandOptions.js +14 -11
- package/libEs5/index.js +43 -22
- package/libEs5/standalone.js +6 -1
- package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +3 -5
- package/libEs5/utils/assignConcatArrayValues.js +9 -18
- package/libEs5/utils/clone.js +2 -3
- package/libEs5/utils/cookieJar.js +4 -4
- package/libEs5/utils/crc32.js +8 -8
- package/libEs5/utils/createCallbackAggregator.js +7 -11
- package/libEs5/utils/createCollect.js +52 -0
- package/libEs5/utils/createLoggingCookieJar.js +14 -16
- package/libEs5/utils/createMerger.js +9 -10
- package/libEs5/utils/createSubscription.js +48 -48
- package/libEs5/utils/createTaskQueue.js +8 -7
- package/libEs5/utils/deduplicateArray.js +7 -11
- package/libEs5/utils/deepAssign.js +7 -11
- package/libEs5/utils/defer.js +5 -4
- package/libEs5/utils/dom/appendNode.js +3 -2
- package/libEs5/utils/dom/awaitSelector.js +36 -34
- package/libEs5/utils/dom/createNode.js +10 -15
- package/libEs5/utils/dom/index.js +8 -8
- package/libEs5/utils/dom/isShadowSelector.js +2 -3
- package/libEs5/utils/dom/matchesSelector.js +3 -2
- package/libEs5/utils/dom/querySelectorAll.js +5 -13
- package/libEs5/utils/dom/removeNode.js +4 -3
- package/libEs5/utils/dom/selectNodes.js +3 -3
- package/libEs5/utils/dom/selectNodesWithShadow.js +14 -23
- package/libEs5/utils/event.js +49 -0
- package/libEs5/utils/filterObject.js +14 -12
- package/libEs5/utils/fireImage.js +10 -9
- package/libEs5/utils/flattenArray.js +4 -11
- package/libEs5/utils/flattenObject.js +8 -18
- package/libEs5/utils/getApexDomain.js +7 -6
- package/libEs5/utils/getBrowser.js +45 -12
- package/libEs5/utils/getLastArrayItems.js +2 -3
- package/libEs5/utils/getNamespacedCookieName.js +2 -3
- package/libEs5/utils/groupBy.js +6 -5
- package/libEs5/utils/index.js +50 -113
- package/libEs5/utils/injectDoesIdentityCookieExist.js +7 -7
- package/libEs5/utils/injectFireReferrerHideableImage.js +28 -34
- package/libEs5/utils/injectStorage.js +13 -15
- package/libEs5/utils/intersection.js +2 -6
- package/libEs5/utils/isBlankString.js +2 -3
- package/libEs5/utils/isBoolean.js +2 -3
- package/libEs5/utils/isEmptyObject.js +2 -3
- package/libEs5/utils/isFunction.js +2 -3
- package/libEs5/utils/isInteger.js +4 -3
- package/libEs5/utils/isNamespacedCookieName.js +2 -3
- package/libEs5/utils/isNil.js +2 -3
- package/libEs5/utils/isNonEmptyArray.js +2 -3
- package/libEs5/utils/isNonEmptyString.js +2 -3
- package/libEs5/utils/isNumber.js +2 -4
- package/libEs5/utils/isObject.js +3 -4
- package/libEs5/utils/isString.js +2 -3
- package/libEs5/utils/isUnique.js +6 -5
- package/libEs5/utils/isValidRegExp.js +3 -2
- package/libEs5/utils/memoize.js +7 -6
- package/libEs5/utils/noop.js +2 -1
- package/libEs5/utils/parseUrl.js +19 -25
- package/libEs5/utils/prepareConfigOverridesForEdge.js +6 -5
- package/libEs5/utils/request/createAddIdentity.js +4 -3
- package/libEs5/utils/request/createDataCollectionRequest.js +15 -11
- package/libEs5/utils/request/createDataCollectionRequestPayload.js +9 -10
- package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +17 -15
- package/libEs5/utils/request/createHasIdentity.js +4 -5
- package/libEs5/utils/request/createRequest.js +26 -23
- package/libEs5/utils/request/createRequestParams.js +13 -13
- package/libEs5/utils/request/createRequestPayload.js +13 -12
- package/libEs5/utils/request/index.js +8 -8
- package/libEs5/utils/sanitizeOrgIdForCookieName.js +2 -3
- package/libEs5/utils/stackError.js +8 -6
- package/libEs5/utils/stringToBoolean.js +3 -2
- package/libEs5/utils/toArray.js +3 -2
- package/libEs5/utils/toError.js +3 -2
- package/libEs5/utils/toISOStringLocal.js +29 -14
- package/libEs5/utils/toInteger.js +5 -5
- package/libEs5/utils/updateErrorMessage.js +6 -4
- package/libEs5/utils/validation/booleanValidator.js +3 -2
- package/libEs5/utils/validation/callbackValidator.js +3 -2
- package/libEs5/utils/validation/createAnyOfValidator.js +14 -17
- package/libEs5/utils/validation/createArrayOfValidator.js +16 -18
- package/libEs5/utils/validation/createDefaultValidator.js +7 -8
- package/libEs5/utils/validation/createDeprecatedValidator.js +12 -14
- package/libEs5/utils/validation/createLiteralValidator.js +5 -6
- package/libEs5/utils/validation/createMapOfValuesValidator.js +20 -22
- package/libEs5/utils/validation/createMaximumValidator.js +5 -6
- package/libEs5/utils/validation/createMinimumValidator.js +5 -6
- package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +13 -14
- package/libEs5/utils/validation/createNonEmptyValidator.js +9 -10
- package/libEs5/utils/validation/createObjectOfValidator.js +27 -29
- package/libEs5/utils/validation/createRenamedValidator.js +24 -27
- package/libEs5/utils/validation/createUniqueItemsValidator.js +4 -3
- package/libEs5/utils/validation/createUniqueValidator.js +5 -4
- package/libEs5/utils/validation/domainValidator.js +4 -3
- package/libEs5/utils/validation/index.js +66 -72
- package/libEs5/utils/validation/integerValidator.js +3 -2
- package/libEs5/utils/validation/matchesRegexpValidator.js +5 -6
- package/libEs5/utils/validation/numberValidator.js +3 -2
- package/libEs5/utils/validation/regexpValidator.js +3 -2
- package/libEs5/utils/validation/requiredValidator.js +3 -2
- package/libEs5/utils/validation/stringValidator.js +3 -2
- package/libEs5/utils/validation/utils.js +29 -35
- package/libEs6/components/ActivityCollector/index.js +18 -8
- package/libEs6/components/Context/createComponent.js +1 -3
- package/libEs6/components/DecisioningEngine/createApplyResponse.js +1 -1
- package/libEs6/components/DecisioningEngine/createSubscribeRulesetItems.js +78 -28
- package/libEs6/components/DecisioningEngine/index.js +22 -2
- package/libEs6/components/DecisioningEngine/utils.js +2 -9
- package/libEs6/components/Identity/createComponent.js +4 -2
- package/libEs6/components/Identity/getEcidFromResponse.js +1 -3
- package/libEs6/components/LegacyMediaAnalytics/createGetInstance.js +2 -2
- package/libEs6/components/LibraryInfo/index.js +4 -5
- package/libEs6/components/Personalization/createActionsProvider.js +4 -2
- package/libEs6/components/Personalization/createComponent.js +2 -2
- package/libEs6/components/Personalization/createPersonalizationDetails.js +6 -6
- package/libEs6/components/Personalization/createViewCacheManager.js +5 -2
- package/libEs6/components/Personalization/dom-actions/createPreprocess.js +5 -2
- package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +1 -3
- package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +6 -4
- package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +3 -2
- package/libEs6/components/Personalization/dom-actions/scripts.js +18 -2
- package/libEs6/components/Personalization/handlers/createDecorateProposition.js +2 -2
- package/libEs6/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +8 -5
- package/libEs6/components/Personalization/in-app-message-actions/utils.js +2 -2
- package/libEs6/components/Personalization/index.js +2 -2
- package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +4 -4
- package/libEs6/components/Personalization/utils/surfaceUtils.js +3 -3
- package/libEs6/constants/decisionProvider.js +1 -0
- package/libEs6/constants/libraryVersion.js +1 -1
- package/libEs6/constants/schema.js +1 -1
- package/libEs6/core/buildAndValidateConfig.js +8 -5
- package/libEs6/core/componentCreators.js +14 -43
- package/libEs6/core/config/createConfig.js +3 -2
- package/libEs6/core/createCookieTransfer.js +1 -3
- package/libEs6/core/createInstanceFunction.js +1 -9
- package/libEs6/core/createLogger.js +4 -2
- package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +1 -7
- package/libEs6/core/index.js +11 -10
- package/libEs6/core/injectCreateResponse.js +1 -3
- package/libEs6/core/network/isRequestRetryable.js +1 -2
- package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
- package/libEs6/{utils/assignIf.js → core/requiredComponentCreators.js} +4 -8
- package/libEs6/index.js +26 -6
- package/libEs6/standalone.js +7 -1
- package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +1 -2
- package/libEs6/utils/assignConcatArrayValues.js +1 -2
- package/libEs6/utils/cookieJar.js +4 -4
- package/libEs6/{components/Personalization → utils}/createCollect.js +3 -3
- package/libEs6/utils/createSubscription.js +20 -3
- package/libEs6/utils/dom/querySelectorAll.js +1 -10
- package/libEs6/utils/dom/selectNodesWithShadow.js +2 -12
- package/libEs6/{components/Personalization → utils}/event.js +1 -1
- package/libEs6/utils/index.js +1 -10
- package/libEs6/utils/injectStorage.js +1 -2
- package/libEs6/utils/intersection.js +1 -4
- package/libEs6/utils/isNumber.js +1 -2
- package/libEs6/utils/toISOStringLocal.js +14 -1
- package/libEs6/utils/toInteger.js +1 -2
- package/libEs6/utils/validation/createAnyOfValidator.js +1 -2
- package/libEs6/utils/validation/utils.js +3 -6
- package/package.json +35 -37
- package/rollup.config.js +115 -7
- package/scripts/alloyBuilder.js +89 -55
- package/scripts/helpers/entryPointGeneratorBabelPlugin.js +39 -0
- package/libEs5/components/Personalization/createCollect.js +0 -53
- package/libEs5/components/Personalization/event.js +0 -49
- package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -50
- package/libEs5/utils/assign.js +0 -16
- package/libEs5/utils/assignIf.js +0 -21
- package/libEs5/utils/endsWith.js +0 -23
- package/libEs5/utils/find.js +0 -30
- package/libEs5/utils/flatMap.js +0 -17
- package/libEs5/utils/includes.js +0 -23
- package/libEs5/utils/padStart.js +0 -27
- package/libEs5/utils/startsWith.js +0 -23
- package/libEs5/utils/values.js +0 -25
- package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +0 -49
- package/libEs6/utils/assign.js +0 -14
- package/libEs6/utils/endsWith.js +0 -19
- package/libEs6/utils/find.js +0 -28
- package/libEs6/utils/flatMap.js +0 -14
- package/libEs6/utils/includes.js +0 -21
- package/libEs6/utils/padStart.js +0 -25
- package/libEs6/utils/startsWith.js +0 -19
- package/libEs6/utils/values.js +0 -21
- package/scripts/helpers/alloyComponents.js +0 -63
- package/scripts/helpers/conditionalBuildBabelPlugin.js +0 -57
|
@@ -13,12 +13,13 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
var _default = (container, {
|
|
17
|
+
from,
|
|
18
|
+
to
|
|
19
|
+
}, decorateProposition) => {
|
|
20
|
+
const children = (0, _index.getChildren)(container);
|
|
21
|
+
const elementFrom = children[from];
|
|
22
|
+
const elementTo = children[to];
|
|
22
23
|
if (!elementFrom || !elementTo) {
|
|
23
24
|
// TODO: We will need to add logging
|
|
24
25
|
// to ease troubleshooting
|
|
@@ -31,4 +32,5 @@ var _default = exports.default = function _default(container, _ref, decorateProp
|
|
|
31
32
|
}
|
|
32
33
|
decorateProposition(elementTo);
|
|
33
34
|
decorateProposition(elementFrom);
|
|
34
|
-
};
|
|
35
|
+
};
|
|
36
|
+
exports.default = _default;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
var _index = require("../../../utils/index.js");
|
|
5
4
|
var _initDomActionsModules = require("./initDomActionsModules.js");
|
|
6
5
|
/*
|
|
7
6
|
Copyright 2021 Adobe. All rights reserved.
|
|
@@ -20,17 +19,23 @@ governing permissions and limitations under the License.
|
|
|
20
19
|
* target offers, to align with the way it works in at.js.
|
|
21
20
|
*/
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
var _default =
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
const TARGET_BODY_SELECTOR = "BODY > *:eq(0)";
|
|
23
|
+
var _default = action => {
|
|
24
|
+
const {
|
|
25
|
+
selector,
|
|
26
|
+
type
|
|
27
|
+
} = action;
|
|
27
28
|
if (type !== _initDomActionsModules.DOM_ACTION_CUSTOM_CODE) {
|
|
28
29
|
return action;
|
|
29
30
|
}
|
|
30
31
|
if (selector !== TARGET_BODY_SELECTOR) {
|
|
31
32
|
return action;
|
|
32
33
|
}
|
|
33
|
-
return
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
return {
|
|
35
|
+
...action,
|
|
36
|
+
...{
|
|
37
|
+
selector: "BODY"
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
exports.default = _default;
|
|
@@ -4,7 +4,6 @@ exports.default = void 0;
|
|
|
4
4
|
var _index = require("../../../utils/dom/index.js");
|
|
5
5
|
var _scripts = require("./scripts.js");
|
|
6
6
|
var _index2 = require("./dom/index.js");
|
|
7
|
-
var _index3 = require("../../../utils/index.js");
|
|
8
7
|
var _isBlankString = require("../../../utils/isBlankString.js");
|
|
9
8
|
var _tagName = require("../../../constants/tagName.js");
|
|
10
9
|
var _initDomActionsModules = require("./initDomActionsModules.js");
|
|
@@ -26,29 +25,32 @@ governing permissions and limitations under the License.
|
|
|
26
25
|
* Offer content should also be filtered, so that only tags allowed in HEAD are preserved.
|
|
27
26
|
*/
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return headNodes.map(
|
|
34
|
-
return node.outerHTML;
|
|
35
|
-
}).join("");
|
|
28
|
+
const HEAD_TAGS_SELECTOR = "SCRIPT,LINK,STYLE";
|
|
29
|
+
const filterHeadContent = content => {
|
|
30
|
+
const container = (0, _index2.createFragment)(content);
|
|
31
|
+
const headNodes = (0, _index.selectNodes)(HEAD_TAGS_SELECTOR, container);
|
|
32
|
+
return headNodes.map(node => node.outerHTML).join("");
|
|
36
33
|
};
|
|
37
|
-
var _default =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
var _default = action => {
|
|
35
|
+
const result = {
|
|
36
|
+
...action
|
|
37
|
+
};
|
|
38
|
+
const {
|
|
39
|
+
content,
|
|
40
|
+
selector
|
|
41
|
+
} = result;
|
|
41
42
|
if ((0, _isBlankString.default)(content)) {
|
|
42
43
|
return result;
|
|
43
44
|
}
|
|
44
45
|
if (selector == null) {
|
|
45
46
|
return result;
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
const container = (0, _index2.selectNodesWithEq)(selector);
|
|
48
49
|
if (!(0, _scripts.is)(container[0], _tagName.HEAD)) {
|
|
49
50
|
return result;
|
|
50
51
|
}
|
|
51
52
|
result.type = _initDomActionsModules.DOM_ACTION_APPEND_HTML;
|
|
52
53
|
result.content = filterHeadContent(content);
|
|
53
54
|
return result;
|
|
54
|
-
};
|
|
55
|
+
};
|
|
56
|
+
exports.default = _default;
|
|
@@ -14,8 +14,9 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
14
14
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
15
15
|
governing permissions and limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
var _default =
|
|
18
|
-
return (0, _insertHtmlBefore.default)(container, html, decorateProposition).then(
|
|
17
|
+
var _default = (container, html, decorateProposition) => {
|
|
18
|
+
return (0, _insertHtmlBefore.default)(container, html, decorateProposition).then(() => {
|
|
19
19
|
(0, _index.removeNode)(container);
|
|
20
20
|
});
|
|
21
|
-
};
|
|
21
|
+
};
|
|
22
|
+
exports.default = _default;
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.is = exports.getRemoteScriptsUrls = exports.getInlineScripts = exports.executeRemoteScripts = exports.executeInlineScripts = void 0;
|
|
4
|
-
var _reactorLoadScript = require("@adobe/reactor-load-script");
|
|
5
4
|
var _index = require("../../../utils/dom/index.js");
|
|
6
5
|
var _tagName = require("../../../constants/tagName.js");
|
|
7
6
|
var _elementAttribute = require("../../../constants/elementAttribute.js");
|
|
8
7
|
var _index2 = require("./dom/index.js");
|
|
9
|
-
|
|
10
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
14
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
|
|
8
|
+
/*
|
|
15
9
|
Copyright 2019 Adobe. All rights reserved.
|
|
16
10
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
17
11
|
you may not use this file except in compliance with the License. You may obtain a copy
|
|
@@ -22,54 +16,77 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
22
16
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
23
17
|
governing permissions and limitations under the License.
|
|
24
18
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
|
|
20
|
+
const getPromise = (url, script) => {
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
script.onload = () => {
|
|
23
|
+
resolve(script);
|
|
24
|
+
};
|
|
25
|
+
script.onerror = () => {
|
|
26
|
+
reject(new Error("Failed to load script: " + url));
|
|
27
|
+
};
|
|
28
|
+
});
|
|
30
29
|
};
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
const loadScript = url => {
|
|
31
|
+
const script = document.createElement("script");
|
|
32
|
+
script.src = url;
|
|
33
|
+
script.async = true;
|
|
34
|
+
const promise = getPromise(url, script);
|
|
35
|
+
document.head.appendChild(script);
|
|
36
|
+
return promise;
|
|
33
37
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
const is = (element, tagName) => !!element && element.tagName === tagName;
|
|
39
|
+
exports.is = is;
|
|
40
|
+
const isInlineScript = element => is(element, _tagName.SCRIPT) && !(0, _index2.getAttribute)(element, _elementAttribute.SRC);
|
|
41
|
+
const isRemoteScript = element => is(element, _tagName.SCRIPT) && (0, _index2.getAttribute)(element, _elementAttribute.SRC);
|
|
42
|
+
const getInlineScripts = fragment => {
|
|
43
|
+
const scripts = (0, _index.selectNodes)(_tagName.SCRIPT, fragment);
|
|
44
|
+
const result = [];
|
|
45
|
+
const {
|
|
46
|
+
length
|
|
47
|
+
} = scripts;
|
|
48
|
+
const nonce = (0, _index2.getNonce)();
|
|
49
|
+
const attributes = {
|
|
50
|
+
...(nonce && {
|
|
51
|
+
nonce
|
|
52
|
+
})
|
|
53
|
+
};
|
|
42
54
|
|
|
43
55
|
/* eslint-disable no-continue */
|
|
44
|
-
for (
|
|
45
|
-
|
|
56
|
+
for (let i = 0; i < length; i += 1) {
|
|
57
|
+
const element = scripts[i];
|
|
46
58
|
if (!isInlineScript(element)) {
|
|
47
59
|
continue;
|
|
48
60
|
}
|
|
49
|
-
|
|
61
|
+
const {
|
|
62
|
+
textContent
|
|
63
|
+
} = element;
|
|
50
64
|
if (!textContent) {
|
|
51
65
|
continue;
|
|
52
66
|
}
|
|
53
67
|
result.push((0, _index.createNode)(_tagName.SCRIPT, attributes, {
|
|
54
|
-
textContent
|
|
68
|
+
textContent
|
|
55
69
|
}));
|
|
56
70
|
}
|
|
57
71
|
/* eslint-enable no-continue */
|
|
58
72
|
|
|
59
73
|
return result;
|
|
60
74
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
75
|
+
exports.getInlineScripts = getInlineScripts;
|
|
76
|
+
const getRemoteScriptsUrls = fragment => {
|
|
77
|
+
const scripts = (0, _index.selectNodes)(_tagName.SCRIPT, fragment);
|
|
78
|
+
const result = [];
|
|
79
|
+
const {
|
|
80
|
+
length
|
|
81
|
+
} = scripts;
|
|
65
82
|
|
|
66
83
|
/* eslint-disable no-continue */
|
|
67
|
-
for (
|
|
68
|
-
|
|
84
|
+
for (let i = 0; i < length; i += 1) {
|
|
85
|
+
const element = scripts[i];
|
|
69
86
|
if (!isRemoteScript(element)) {
|
|
70
87
|
continue;
|
|
71
88
|
}
|
|
72
|
-
|
|
89
|
+
const url = (0, _index2.getAttribute)(element, _elementAttribute.SRC);
|
|
73
90
|
if (!url) {
|
|
74
91
|
continue;
|
|
75
92
|
}
|
|
@@ -79,12 +96,15 @@ var getRemoteScriptsUrls = exports.getRemoteScriptsUrls = function getRemoteScri
|
|
|
79
96
|
|
|
80
97
|
return result;
|
|
81
98
|
};
|
|
82
|
-
|
|
83
|
-
|
|
99
|
+
exports.getRemoteScriptsUrls = getRemoteScriptsUrls;
|
|
100
|
+
const executeInlineScripts = (parent, scripts) => {
|
|
101
|
+
scripts.forEach(script => {
|
|
84
102
|
parent.appendChild(script);
|
|
85
103
|
parent.removeChild(script);
|
|
86
104
|
});
|
|
87
105
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
106
|
+
exports.executeInlineScripts = executeInlineScripts;
|
|
107
|
+
const executeRemoteScripts = urls => {
|
|
108
|
+
return Promise.all(urls.map(loadScript));
|
|
109
|
+
};
|
|
110
|
+
exports.executeRemoteScripts = executeRemoteScripts;
|
|
@@ -13,9 +13,10 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default =
|
|
17
|
-
Object.keys(attributes).forEach(
|
|
16
|
+
var _default = (container, attributes, decorateProposition) => {
|
|
17
|
+
Object.keys(attributes).forEach(key => {
|
|
18
18
|
(0, _index.setAttribute)(container, key, attributes[key]);
|
|
19
19
|
});
|
|
20
20
|
decorateProposition(container);
|
|
21
|
-
};
|
|
21
|
+
};
|
|
22
|
+
exports.default = _default;
|
|
@@ -16,12 +16,13 @@ OF ANY KIND, either express or implied. See the License for the specific languag
|
|
|
16
16
|
governing permissions and limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
const clear = container => {
|
|
20
20
|
// We want to remove ALL nodes, text, comments etc
|
|
21
|
-
|
|
21
|
+
const childNodes = (0, _index2.getChildNodes)(container);
|
|
22
22
|
childNodes.forEach(_index.removeNode);
|
|
23
23
|
};
|
|
24
|
-
var _default =
|
|
24
|
+
var _default = (container, html, decorateProposition) => {
|
|
25
25
|
clear(container);
|
|
26
26
|
return (0, _appendHtml.default)(container, html, decorateProposition);
|
|
27
|
-
};
|
|
27
|
+
};
|
|
28
|
+
exports.default = _default;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
4
|
var _index = require("./dom/index.js");
|
|
5
|
-
var _excluded = ["priority"];
|
|
6
5
|
/*
|
|
7
6
|
Copyright 2019 Adobe. All rights reserved.
|
|
8
7
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -14,13 +13,14 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
14
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
15
14
|
governing permissions and limitations under the License.
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
Object.keys(style).forEach(
|
|
16
|
+
var _default = (container, styles, decorateProposition) => {
|
|
17
|
+
const {
|
|
18
|
+
priority,
|
|
19
|
+
...style
|
|
20
|
+
} = styles;
|
|
21
|
+
Object.keys(style).forEach(key => {
|
|
23
22
|
(0, _index.setStyle)(container, key, style[key], priority);
|
|
24
23
|
});
|
|
25
24
|
decorateProposition(container);
|
|
26
|
-
};
|
|
25
|
+
};
|
|
26
|
+
exports.default = _default;
|
|
@@ -12,7 +12,8 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
12
12
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
13
13
|
governing permissions and limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
var _default =
|
|
15
|
+
var _default = (container, text, decorateProposition) => {
|
|
16
16
|
decorateProposition(container);
|
|
17
17
|
container.textContent = text;
|
|
18
|
-
};
|
|
18
|
+
};
|
|
19
|
+
exports.default = _default;
|
|
@@ -15,7 +15,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
15
15
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
16
16
|
governing permissions and limitations under the License.
|
|
17
17
|
*/
|
|
18
|
-
var _default =
|
|
18
|
+
var _default = (container, url, decorateProposition) => {
|
|
19
19
|
if (!(0, _images.isImage)(container)) {
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
@@ -29,4 +29,5 @@ var _default = exports.default = function _default(container, url, decoratePropo
|
|
|
29
29
|
|
|
30
30
|
// Replace the image "src"
|
|
31
31
|
(0, _index.setAttribute)(container, _elementAttribute.SRC, url);
|
|
32
|
-
};
|
|
32
|
+
};
|
|
33
|
+
exports.default = _default;
|
|
@@ -4,12 +4,7 @@ exports.showElements = exports.showContainers = exports.hideElements = exports.h
|
|
|
4
4
|
var _index = require("../../../utils/dom/index.js");
|
|
5
5
|
var _tagName = require("../../../constants/tagName.js");
|
|
6
6
|
var _index2 = require("../dom-actions/dom/index.js");
|
|
7
|
-
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
|
|
7
|
+
/*
|
|
13
8
|
Copyright 2019 Adobe. All rights reserved.
|
|
14
9
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
15
10
|
you may not use this file except in compliance with the License. You may obtain a copy
|
|
@@ -20,38 +15,43 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
20
15
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
21
16
|
governing permissions and limitations under the License.
|
|
22
17
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
|
|
19
|
+
const PREHIDING_ID = "alloy-prehiding";
|
|
20
|
+
const HIDING_STYLE_DEFINITION = "{ visibility: hidden }";
|
|
25
21
|
|
|
26
22
|
// Using global is OK since we have a single DOM
|
|
27
23
|
// so storing nodes even for multiple Alloy instances is fine
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
const styleNodes = {};
|
|
25
|
+
const hideElements = prehidingSelector => {
|
|
30
26
|
// if we have different events with the same
|
|
31
27
|
// prehiding selector we don't want to recreate
|
|
32
28
|
// the style tag
|
|
33
29
|
if (styleNodes[prehidingSelector]) {
|
|
34
30
|
return;
|
|
35
31
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
nonce
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
const nonce = (0, _index2.getNonce)();
|
|
33
|
+
const attrs = {
|
|
34
|
+
...(nonce && {
|
|
35
|
+
nonce
|
|
36
|
+
})
|
|
37
|
+
};
|
|
38
|
+
const props = {
|
|
41
39
|
textContent: prehidingSelector + " " + HIDING_STYLE_DEFINITION
|
|
42
40
|
};
|
|
43
|
-
|
|
41
|
+
const node = (0, _index.createNode)(_tagName.STYLE, attrs, props);
|
|
44
42
|
(0, _index.appendNode)(document.head, node);
|
|
45
43
|
styleNodes[prehidingSelector] = node;
|
|
46
44
|
};
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
exports.hideElements = hideElements;
|
|
46
|
+
const showElements = prehidingSelector => {
|
|
47
|
+
const node = styleNodes[prehidingSelector];
|
|
49
48
|
if (node) {
|
|
50
49
|
(0, _index.removeNode)(node);
|
|
51
50
|
delete styleNodes[prehidingSelector];
|
|
52
51
|
}
|
|
53
52
|
};
|
|
54
|
-
|
|
53
|
+
exports.showElements = showElements;
|
|
54
|
+
const hideContainers = prehidingStyle => {
|
|
55
55
|
if (!prehidingStyle) {
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
@@ -59,28 +59,31 @@ var hideContainers = exports.hideContainers = function hideContainers(prehidingS
|
|
|
59
59
|
// If containers prehiding style has been added
|
|
60
60
|
// by customer's prehiding snippet we don't
|
|
61
61
|
// want to add the same node
|
|
62
|
-
|
|
62
|
+
const node = (0, _index2.getElementById)(PREHIDING_ID);
|
|
63
63
|
if (node) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
id: PREHIDING_ID
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
const nonce = (0, _index2.getNonce)();
|
|
67
|
+
const attrs = {
|
|
68
|
+
id: PREHIDING_ID,
|
|
69
|
+
...(nonce && {
|
|
70
|
+
nonce
|
|
71
|
+
})
|
|
72
|
+
};
|
|
73
|
+
const props = {
|
|
73
74
|
textContent: prehidingStyle
|
|
74
75
|
};
|
|
75
|
-
|
|
76
|
+
const styleNode = (0, _index.createNode)(_tagName.STYLE, attrs, props);
|
|
76
77
|
(0, _index.appendNode)(document.head, styleNode);
|
|
77
78
|
};
|
|
78
|
-
|
|
79
|
+
exports.hideContainers = hideContainers;
|
|
80
|
+
const showContainers = () => {
|
|
79
81
|
// If containers prehiding style exists
|
|
80
82
|
// we will remove it
|
|
81
|
-
|
|
83
|
+
const node = (0, _index2.getElementById)(PREHIDING_ID);
|
|
82
84
|
if (!node) {
|
|
83
85
|
return;
|
|
84
86
|
}
|
|
85
87
|
(0, _index.removeNode)(node);
|
|
86
|
-
};
|
|
88
|
+
};
|
|
89
|
+
exports.showContainers = showContainers;
|
|
@@ -17,11 +17,11 @@ OF ANY KIND, either express or implied. See the License for the specific languag
|
|
|
17
17
|
governing permissions and limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const INTERACT_ID_DATA_ATTRIBUTE = exports.INTERACT_ID_DATA_ATTRIBUTE = "data-aep-interact-id";
|
|
21
|
+
const CLICK_LABEL_DATA_ATTRIBUTE = exports.CLICK_LABEL_DATA_ATTRIBUTE = "data-aep-click-label";
|
|
22
|
+
const CLICK_TOKEN_DATA_ATTRIBUTE = exports.CLICK_TOKEN_DATA_ATTRIBUTE = "data-aep-click-token";
|
|
23
|
+
let lastInteractId = 0;
|
|
24
|
+
const getInteractId = (propositionId, existingInteractId) => {
|
|
25
25
|
if (existingInteractId) {
|
|
26
26
|
return parseInt(existingInteractId, 10);
|
|
27
27
|
}
|
|
@@ -29,27 +29,30 @@ var getInteractId = function getInteractId(propositionId, existingInteractId) {
|
|
|
29
29
|
// eslint-disable-next-line no-plusplus
|
|
30
30
|
return ++lastInteractId;
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
const interactionTrackingSupported = (autoCollectPropositionInteractions, decisionProvider) => {
|
|
33
33
|
if (!autoCollectPropositionInteractions) {
|
|
34
34
|
return false;
|
|
35
35
|
}
|
|
36
36
|
if (!autoCollectPropositionInteractions[decisionProvider]) {
|
|
37
37
|
return false;
|
|
38
38
|
}
|
|
39
|
-
return
|
|
39
|
+
return [_propositionInteractionType.ALWAYS, _propositionInteractionType.DECORATED_ELEMENTS_ONLY].includes(autoCollectPropositionInteractions[decisionProvider]);
|
|
40
40
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
scopeDetails =
|
|
44
|
-
|
|
41
|
+
const createDecorateProposition = (autoCollectPropositionInteractions, type, propositionId, itemId, trackingLabel, scopeType, notification, storeInteractionMeta) => {
|
|
42
|
+
const {
|
|
43
|
+
scopeDetails = {}
|
|
44
|
+
} = notification;
|
|
45
|
+
const {
|
|
46
|
+
decisionProvider
|
|
47
|
+
} = scopeDetails;
|
|
45
48
|
if (!interactionTrackingSupported(autoCollectPropositionInteractions, decisionProvider) && type !== _initDomActionsModules.DOM_ACTION_CLICK) {
|
|
46
49
|
return _index2.noop;
|
|
47
50
|
}
|
|
48
|
-
return
|
|
51
|
+
return element => {
|
|
49
52
|
if (!element.tagName) {
|
|
50
53
|
return;
|
|
51
54
|
}
|
|
52
|
-
|
|
55
|
+
const interactId = getInteractId(propositionId, (0, _index.getAttribute)(element, INTERACT_ID_DATA_ATTRIBUTE));
|
|
53
56
|
storeInteractionMeta(propositionId, itemId, scopeType, notification, interactId);
|
|
54
57
|
(0, _index.setAttribute)(element, INTERACT_ID_DATA_ATTRIBUTE, interactId);
|
|
55
58
|
if (trackingLabel && !(0, _index.getAttribute)(element, CLICK_LABEL_DATA_ATTRIBUTE)) {
|