@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
|
@@ -9,17 +9,15 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import loadScript from "@adobe/reactor-load-script";
|
|
13
14
|
import { selectNodes, createNode } from "../../../utils/dom";
|
|
14
15
|
import { SCRIPT } from "../../../constants/tagName";
|
|
15
16
|
import { SRC } from "../../../constants/elementAttribute";
|
|
16
17
|
import { getAttribute, getNonce } from "./dom";
|
|
17
18
|
export const is = (element, tagName) => !!element && element.tagName === tagName;
|
|
18
|
-
|
|
19
19
|
const isInlineScript = element => is(element, SCRIPT) && !getAttribute(element, SRC);
|
|
20
|
-
|
|
21
20
|
const isRemoteScript = element => is(element, SCRIPT) && getAttribute(element, SRC);
|
|
22
|
-
|
|
23
21
|
export const getInlineScripts = fragment => {
|
|
24
22
|
const scripts = selectNodes(SCRIPT, fragment);
|
|
25
23
|
const result = [];
|
|
@@ -27,34 +25,30 @@ export const getInlineScripts = fragment => {
|
|
|
27
25
|
length
|
|
28
26
|
} = scripts;
|
|
29
27
|
const nonce = getNonce();
|
|
30
|
-
const attributes = {
|
|
28
|
+
const attributes = {
|
|
29
|
+
...(nonce && {
|
|
31
30
|
nonce
|
|
32
31
|
})
|
|
33
32
|
};
|
|
34
|
-
/* eslint-disable no-continue */
|
|
35
33
|
|
|
34
|
+
/* eslint-disable no-continue */
|
|
36
35
|
for (let i = 0; i < length; i += 1) {
|
|
37
36
|
const element = scripts[i];
|
|
38
|
-
|
|
39
37
|
if (!isInlineScript(element)) {
|
|
40
38
|
continue;
|
|
41
39
|
}
|
|
42
|
-
|
|
43
40
|
const {
|
|
44
41
|
textContent
|
|
45
42
|
} = element;
|
|
46
|
-
|
|
47
43
|
if (!textContent) {
|
|
48
44
|
continue;
|
|
49
45
|
}
|
|
50
|
-
|
|
51
46
|
result.push(createNode(SCRIPT, attributes, {
|
|
52
47
|
textContent
|
|
53
48
|
}));
|
|
54
49
|
}
|
|
55
50
|
/* eslint-enable no-continue */
|
|
56
51
|
|
|
57
|
-
|
|
58
52
|
return result;
|
|
59
53
|
};
|
|
60
54
|
export const getRemoteScriptsUrls = fragment => {
|
|
@@ -63,26 +57,21 @@ export const getRemoteScriptsUrls = fragment => {
|
|
|
63
57
|
const {
|
|
64
58
|
length
|
|
65
59
|
} = scripts;
|
|
66
|
-
/* eslint-disable no-continue */
|
|
67
60
|
|
|
61
|
+
/* eslint-disable no-continue */
|
|
68
62
|
for (let i = 0; i < length; i += 1) {
|
|
69
63
|
const element = scripts[i];
|
|
70
|
-
|
|
71
64
|
if (!isRemoteScript(element)) {
|
|
72
65
|
continue;
|
|
73
66
|
}
|
|
74
|
-
|
|
75
67
|
const url = getAttribute(element, SRC);
|
|
76
|
-
|
|
77
68
|
if (!url) {
|
|
78
69
|
continue;
|
|
79
70
|
}
|
|
80
|
-
|
|
81
71
|
result.push(url);
|
|
82
72
|
}
|
|
83
73
|
/* eslint-enable no-continue */
|
|
84
74
|
|
|
85
|
-
|
|
86
75
|
return result;
|
|
87
76
|
};
|
|
88
77
|
export const executeInlineScripts = (parent, scripts) => {
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { setAttribute } from "./dom";
|
|
13
14
|
export default ((container, attributes) => {
|
|
14
15
|
Object.keys(attributes).forEach(key => {
|
|
@@ -9,16 +9,15 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { removeNode } from "../../../utils/dom";
|
|
13
14
|
import { getChildNodes } from "./dom";
|
|
14
15
|
import appendHtml from "./appendHtml";
|
|
15
|
-
|
|
16
16
|
const clear = container => {
|
|
17
17
|
// We want to remove ALL nodes, text, comments etc
|
|
18
18
|
const childNodes = getChildNodes(container);
|
|
19
19
|
childNodes.forEach(removeNode);
|
|
20
20
|
};
|
|
21
|
-
|
|
22
21
|
export default ((container, html) => {
|
|
23
22
|
clear(container);
|
|
24
23
|
appendHtml(container, html);
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { setStyle } from "./dom";
|
|
13
14
|
export default ((container, styles) => {
|
|
14
15
|
const {
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default ((container, text) => {
|
|
13
14
|
container.textContent = text;
|
|
14
15
|
});
|
|
@@ -9,18 +9,21 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { SRC } from "../../../constants/elementAttribute";
|
|
13
14
|
import { setAttribute, removeAttribute } from "./dom";
|
|
14
15
|
import { isImage, loadImage } from "./images";
|
|
15
16
|
export default ((container, url) => {
|
|
16
17
|
if (!isImage(container)) {
|
|
17
18
|
return;
|
|
18
|
-
}
|
|
19
|
-
|
|
19
|
+
}
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
// Start downloading the image
|
|
22
|
+
loadImage(url);
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
// Remove "src" so there is no flicker
|
|
25
|
+
removeAttribute(container, SRC);
|
|
24
26
|
|
|
27
|
+
// Replace the image "src"
|
|
25
28
|
setAttribute(container, SRC, url);
|
|
26
29
|
});
|
|
@@ -9,9 +9,10 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
const EVENT_TYPE_TRUE = 1;
|
|
13
|
-
/* eslint-disable no-underscore-dangle */
|
|
14
14
|
|
|
15
|
+
/* eslint-disable no-underscore-dangle */
|
|
15
16
|
export const mergeDecisionsMeta = (event, decisionsMeta, eventType, eventLabel = "") => {
|
|
16
17
|
const xdm = {
|
|
17
18
|
_experience: {
|
|
@@ -23,18 +24,17 @@ export const mergeDecisionsMeta = (event, decisionsMeta, eventType, eventLabel =
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
};
|
|
26
|
-
|
|
27
27
|
if (eventLabel) {
|
|
28
28
|
xdm._experience.decisioning.propositionAction = {
|
|
29
29
|
label: eventLabel
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
|
|
33
32
|
event.mergeXdm(xdm);
|
|
34
33
|
};
|
|
35
34
|
export const mergeQuery = (event, details) => {
|
|
36
35
|
event.mergeQuery({
|
|
37
|
-
personalization: {
|
|
36
|
+
personalization: {
|
|
37
|
+
...details
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
};
|
|
@@ -9,13 +9,15 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { createNode, appendNode, removeNode } from "../../../utils/dom";
|
|
13
14
|
import { STYLE } from "../../../constants/tagName";
|
|
14
15
|
import { getElementById, getNonce } from "../dom-actions/dom";
|
|
15
16
|
const PREHIDING_ID = "alloy-prehiding";
|
|
16
|
-
const HIDING_STYLE_DEFINITION = "{ visibility: hidden }";
|
|
17
|
-
// so storing nodes even for multiple Alloy instances is fine
|
|
17
|
+
const HIDING_STYLE_DEFINITION = "{ visibility: hidden }";
|
|
18
18
|
|
|
19
|
+
// Using global is OK since we have a single DOM
|
|
20
|
+
// so storing nodes even for multiple Alloy instances is fine
|
|
19
21
|
const styleNodes = {};
|
|
20
22
|
export const hideElements = prehidingSelector => {
|
|
21
23
|
// if we have different events with the same
|
|
@@ -24,9 +26,9 @@ export const hideElements = prehidingSelector => {
|
|
|
24
26
|
if (styleNodes[prehidingSelector]) {
|
|
25
27
|
return;
|
|
26
28
|
}
|
|
27
|
-
|
|
28
29
|
const nonce = getNonce();
|
|
29
|
-
const attrs = {
|
|
30
|
+
const attrs = {
|
|
31
|
+
...(nonce && {
|
|
30
32
|
nonce
|
|
31
33
|
})
|
|
32
34
|
};
|
|
@@ -39,7 +41,6 @@ export const hideElements = prehidingSelector => {
|
|
|
39
41
|
};
|
|
40
42
|
export const showElements = prehidingSelector => {
|
|
41
43
|
const node = styleNodes[prehidingSelector];
|
|
42
|
-
|
|
43
44
|
if (node) {
|
|
44
45
|
removeNode(node);
|
|
45
46
|
delete styleNodes[prehidingSelector];
|
|
@@ -48,17 +49,15 @@ export const showElements = prehidingSelector => {
|
|
|
48
49
|
export const hideContainers = prehidingStyle => {
|
|
49
50
|
if (!prehidingStyle) {
|
|
50
51
|
return;
|
|
51
|
-
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// If containers prehiding style has been added
|
|
52
55
|
// by customer's prehiding snippet we don't
|
|
53
56
|
// want to add the same node
|
|
54
|
-
|
|
55
|
-
|
|
56
57
|
const node = getElementById(PREHIDING_ID);
|
|
57
|
-
|
|
58
58
|
if (node) {
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
-
|
|
62
61
|
const nonce = getNonce();
|
|
63
62
|
const attrs = {
|
|
64
63
|
id: PREHIDING_ID,
|
|
@@ -76,10 +75,8 @@ export const showContainers = () => {
|
|
|
76
75
|
// If containers prehiding style exists
|
|
77
76
|
// we will remove it
|
|
78
77
|
const node = getElementById(PREHIDING_ID);
|
|
79
|
-
|
|
80
78
|
if (!node) {
|
|
81
79
|
return;
|
|
82
80
|
}
|
|
83
|
-
|
|
84
81
|
removeNode(node);
|
|
85
82
|
};
|
|
@@ -18,18 +18,15 @@ export default (({
|
|
|
18
18
|
type,
|
|
19
19
|
selector
|
|
20
20
|
} = item.getData() || {};
|
|
21
|
-
|
|
22
21
|
if (!type) {
|
|
23
22
|
logger.warn("Invalid DOM action data: missing type.", item.getData());
|
|
24
23
|
return {};
|
|
25
24
|
}
|
|
26
|
-
|
|
27
25
|
if (type === "click") {
|
|
28
26
|
if (!selector) {
|
|
29
27
|
logger.warn("Invalid DOM action data: missing selector.", item.getData());
|
|
30
28
|
return {};
|
|
31
29
|
}
|
|
32
|
-
|
|
33
30
|
storeClickMetrics({
|
|
34
31
|
selector,
|
|
35
32
|
meta: item.getMeta()
|
|
@@ -39,12 +36,10 @@ export default (({
|
|
|
39
36
|
includeInNotification: false
|
|
40
37
|
};
|
|
41
38
|
}
|
|
42
|
-
|
|
43
39
|
if (!modules[type]) {
|
|
44
40
|
logger.warn("Invalid DOM action data: unknown type.", item.getData());
|
|
45
41
|
return {};
|
|
46
42
|
}
|
|
47
|
-
|
|
48
43
|
return {
|
|
49
44
|
render: () => modules[type](item.getData()),
|
|
50
45
|
setRenderAttempted: true,
|
|
@@ -17,16 +17,13 @@ export default (({
|
|
|
17
17
|
type,
|
|
18
18
|
selector
|
|
19
19
|
} = item.getData() || {};
|
|
20
|
-
|
|
21
20
|
if (!selector || !type) {
|
|
22
21
|
return {};
|
|
23
22
|
}
|
|
24
|
-
|
|
25
23
|
if (!modules[type]) {
|
|
26
24
|
logger.warn("Invalid HTML content data", item.getData());
|
|
27
25
|
return {};
|
|
28
26
|
}
|
|
29
|
-
|
|
30
27
|
return {
|
|
31
28
|
render: () => {
|
|
32
29
|
modules[type](item.getData());
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default (({
|
|
13
14
|
schemaProcessors,
|
|
14
15
|
logger
|
|
@@ -18,7 +19,6 @@ export default (({
|
|
|
18
19
|
if (logger.enabled) {
|
|
19
20
|
logger.info(`Action ${item.toString()} executed.`);
|
|
20
21
|
}
|
|
21
|
-
|
|
22
22
|
return true;
|
|
23
23
|
}).catch(error => {
|
|
24
24
|
if (logger.enabled) {
|
|
@@ -29,31 +29,24 @@ export default (({
|
|
|
29
29
|
const errorMessage = `Failed to execute action ${item.toString()}. ${message} ${stack}`;
|
|
30
30
|
logger.error(errorMessage);
|
|
31
31
|
}
|
|
32
|
-
|
|
33
32
|
return false;
|
|
34
33
|
});
|
|
35
34
|
};
|
|
36
|
-
|
|
37
35
|
const renderItems = (renderers, meta) => Promise.all(renderers.map(renderer => renderer())).then(successes => {
|
|
38
36
|
// as long as at least one renderer succeeds, we want to add the notification
|
|
39
37
|
// to the display notifications
|
|
40
38
|
if (!successes.includes(true)) {
|
|
41
39
|
return undefined;
|
|
42
40
|
}
|
|
43
|
-
|
|
44
41
|
return meta;
|
|
45
42
|
});
|
|
46
|
-
|
|
47
43
|
const processItem = item => {
|
|
48
44
|
const processor = schemaProcessors[item.getSchema()];
|
|
49
|
-
|
|
50
45
|
if (!processor) {
|
|
51
46
|
return {};
|
|
52
47
|
}
|
|
53
|
-
|
|
54
48
|
return processor(item);
|
|
55
49
|
};
|
|
56
|
-
|
|
57
50
|
const processItems = ({
|
|
58
51
|
renderers: existingRenderers,
|
|
59
52
|
returnedPropositions: existingReturnedPropositions,
|
|
@@ -74,7 +67,6 @@ export default (({
|
|
|
74
67
|
let onlyRenderThis = false;
|
|
75
68
|
let i = 0;
|
|
76
69
|
let item;
|
|
77
|
-
|
|
78
70
|
while (items.length > i) {
|
|
79
71
|
item = items[i];
|
|
80
72
|
({
|
|
@@ -83,11 +75,9 @@ export default (({
|
|
|
83
75
|
includeInNotification,
|
|
84
76
|
onlyRenderThis
|
|
85
77
|
} = processItem(item));
|
|
86
|
-
|
|
87
78
|
if (onlyRenderThis) {
|
|
88
79
|
returnedPropositions = [];
|
|
89
80
|
returnedDecisions = [];
|
|
90
|
-
|
|
91
81
|
if (setRenderAttempted) {
|
|
92
82
|
renderedItems = [item];
|
|
93
83
|
nonRenderedItems = [];
|
|
@@ -95,45 +85,36 @@ export default (({
|
|
|
95
85
|
renderedItems = [];
|
|
96
86
|
nonRenderedItems = [item];
|
|
97
87
|
}
|
|
98
|
-
|
|
99
88
|
renderers = [];
|
|
100
89
|
itemRenderers = [render];
|
|
101
90
|
atLeastOneWithNotification = includeInNotification;
|
|
102
91
|
break;
|
|
103
92
|
}
|
|
104
|
-
|
|
105
93
|
if (render) {
|
|
106
94
|
itemRenderers.push(wrapRenderWithLogging(render, item));
|
|
107
95
|
}
|
|
108
|
-
|
|
109
96
|
if (includeInNotification) {
|
|
110
97
|
atLeastOneWithNotification = true;
|
|
111
98
|
}
|
|
112
|
-
|
|
113
99
|
if (setRenderAttempted) {
|
|
114
100
|
renderedItems.push(item);
|
|
115
101
|
} else {
|
|
116
102
|
nonRenderedItems.push(item);
|
|
117
103
|
}
|
|
118
|
-
|
|
119
104
|
i += 1;
|
|
120
105
|
}
|
|
121
|
-
|
|
122
106
|
if (itemRenderers.length > 0) {
|
|
123
107
|
const meta = atLeastOneWithNotification ? proposition.getNotification() : undefined;
|
|
124
108
|
renderers.push(() => renderItems(itemRenderers, meta));
|
|
125
109
|
} else if (atLeastOneWithNotification) {
|
|
126
110
|
renderers.push(() => proposition.getNotification());
|
|
127
111
|
}
|
|
128
|
-
|
|
129
112
|
if (renderedItems.length > 0) {
|
|
130
113
|
proposition.addToReturnValues(returnedPropositions, returnedDecisions, renderedItems, true);
|
|
131
114
|
}
|
|
132
|
-
|
|
133
115
|
if (nonRenderedItems.length > 0) {
|
|
134
116
|
proposition.addToReturnValues(returnedPropositions, returnedDecisions, nonRenderedItems, false);
|
|
135
117
|
}
|
|
136
|
-
|
|
137
118
|
return {
|
|
138
119
|
renderers,
|
|
139
120
|
returnedPropositions,
|
|
@@ -141,7 +122,6 @@ export default (({
|
|
|
141
122
|
onlyRenderThis
|
|
142
123
|
};
|
|
143
124
|
};
|
|
144
|
-
|
|
145
125
|
return (renderPropositions, nonRenderPropositions = []) => {
|
|
146
126
|
let renderers = [];
|
|
147
127
|
let returnedPropositions = [];
|
|
@@ -150,7 +130,6 @@ export default (({
|
|
|
150
130
|
let i = 0;
|
|
151
131
|
let proposition;
|
|
152
132
|
let items;
|
|
153
|
-
|
|
154
133
|
while (renderPropositions.length > i) {
|
|
155
134
|
proposition = renderPropositions[i];
|
|
156
135
|
items = proposition.getItems();
|
|
@@ -166,14 +145,11 @@ export default (({
|
|
|
166
145
|
items,
|
|
167
146
|
proposition
|
|
168
147
|
}));
|
|
169
|
-
|
|
170
148
|
if (onlyRenderThis) {
|
|
171
149
|
break;
|
|
172
150
|
}
|
|
173
|
-
|
|
174
151
|
i += 1;
|
|
175
152
|
}
|
|
176
|
-
|
|
177
153
|
if (onlyRenderThis) {
|
|
178
154
|
// if onlyRenderThis is true, that means returnedPropositions and returnedDecisions
|
|
179
155
|
// only contains the proposition that triggered only rendering this. We need to
|
|
@@ -184,15 +160,12 @@ export default (({
|
|
|
184
160
|
}
|
|
185
161
|
});
|
|
186
162
|
}
|
|
187
|
-
|
|
188
163
|
nonRenderPropositions.forEach(p => {
|
|
189
164
|
p.addToReturnValues(returnedPropositions, returnedDecisions, p.getItems(), false);
|
|
190
165
|
});
|
|
191
|
-
|
|
192
166
|
const render = () => {
|
|
193
167
|
return Promise.all(renderers.map(renderer => renderer())).then(metas => metas.filter(meta => meta));
|
|
194
168
|
};
|
|
195
|
-
|
|
196
169
|
return {
|
|
197
170
|
returnedPropositions,
|
|
198
171
|
returnedDecisions,
|
|
@@ -17,17 +17,16 @@ export default (({
|
|
|
17
17
|
const {
|
|
18
18
|
content
|
|
19
19
|
} = item.getData() || {};
|
|
20
|
-
|
|
21
20
|
if (!content) {
|
|
22
21
|
logger.warn("Invalid Redirect data", item.getData());
|
|
23
22
|
return {};
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
const render = () => {
|
|
27
25
|
return collect({
|
|
28
26
|
decisionsMeta: [item.getMeta()]
|
|
29
27
|
}).then(() => {
|
|
30
|
-
executeRedirect(content);
|
|
28
|
+
executeRedirect(content);
|
|
29
|
+
// We've already sent the display notification, so don't return anything
|
|
31
30
|
});
|
|
32
31
|
};
|
|
33
32
|
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import PAGE_WIDE_SCOPE from "../../../constants/pageWideScope";
|
|
13
14
|
export default (({
|
|
14
15
|
preprocess,
|
|
@@ -23,39 +24,30 @@ export default (({
|
|
|
23
24
|
} = {}
|
|
24
25
|
} = item;
|
|
25
26
|
const processedData = preprocess(data);
|
|
26
|
-
|
|
27
27
|
if (trackingLabel) {
|
|
28
28
|
meta.trackingLabel = trackingLabel;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
30
|
return {
|
|
32
31
|
getSchema() {
|
|
33
32
|
return schema;
|
|
34
33
|
},
|
|
35
|
-
|
|
36
34
|
getData() {
|
|
37
35
|
return processedData;
|
|
38
36
|
},
|
|
39
|
-
|
|
40
37
|
getMeta() {
|
|
41
38
|
return meta;
|
|
42
39
|
},
|
|
43
|
-
|
|
44
40
|
getOriginalItem() {
|
|
45
41
|
return item;
|
|
46
42
|
},
|
|
47
|
-
|
|
48
43
|
toString() {
|
|
49
44
|
return JSON.stringify(item);
|
|
50
45
|
},
|
|
51
|
-
|
|
52
46
|
toJSON() {
|
|
53
47
|
return item;
|
|
54
48
|
}
|
|
55
|
-
|
|
56
49
|
};
|
|
57
50
|
};
|
|
58
|
-
|
|
59
51
|
return (payload, visibleInReturnedItems = true) => {
|
|
60
52
|
const {
|
|
61
53
|
id,
|
|
@@ -73,22 +65,17 @@ export default (({
|
|
|
73
65
|
if (!scope) {
|
|
74
66
|
return scope;
|
|
75
67
|
}
|
|
76
|
-
|
|
77
68
|
return scope;
|
|
78
69
|
},
|
|
79
|
-
|
|
80
70
|
getScopeType() {
|
|
81
71
|
if (scope === PAGE_WIDE_SCOPE || isPageWideSurface(scope)) {
|
|
82
72
|
return "page";
|
|
83
73
|
}
|
|
84
|
-
|
|
85
74
|
if (scopeType === "view") {
|
|
86
75
|
return "view";
|
|
87
76
|
}
|
|
88
|
-
|
|
89
77
|
return "proposition";
|
|
90
78
|
},
|
|
91
|
-
|
|
92
79
|
getItems() {
|
|
93
80
|
return items.map(item => createItem(item, {
|
|
94
81
|
id,
|
|
@@ -96,7 +83,6 @@ export default (({
|
|
|
96
83
|
scopeDetails
|
|
97
84
|
}));
|
|
98
85
|
},
|
|
99
|
-
|
|
100
86
|
getNotification() {
|
|
101
87
|
return {
|
|
102
88
|
id,
|
|
@@ -104,26 +90,24 @@ export default (({
|
|
|
104
90
|
scopeDetails
|
|
105
91
|
};
|
|
106
92
|
},
|
|
107
|
-
|
|
108
93
|
toJSON() {
|
|
109
94
|
return payload;
|
|
110
95
|
},
|
|
111
|
-
|
|
112
96
|
addToReturnValues(propositions, decisions, includedItems, renderAttempted) {
|
|
113
97
|
if (visibleInReturnedItems) {
|
|
114
|
-
propositions.push({
|
|
98
|
+
propositions.push({
|
|
99
|
+
...payload,
|
|
115
100
|
items: includedItems.map(i => i.getOriginalItem()),
|
|
116
101
|
renderAttempted
|
|
117
102
|
});
|
|
118
|
-
|
|
119
103
|
if (!renderAttempted) {
|
|
120
|
-
decisions.push({
|
|
104
|
+
decisions.push({
|
|
105
|
+
...payload,
|
|
121
106
|
items: includedItems.map(i => i.getOriginalItem())
|
|
122
107
|
});
|
|
123
108
|
}
|
|
124
109
|
}
|
|
125
110
|
}
|
|
126
|
-
|
|
127
111
|
};
|
|
128
112
|
};
|
|
129
113
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { string, boolean, objectOf } from "../../utils/validation";
|
|
13
14
|
import createComponent from "./createComponent";
|
|
14
15
|
import { initDomActionsModules } from "./dom-actions";
|
|
@@ -38,7 +39,6 @@ import createProcessDomAction from "./handlers/createProcessDomAction";
|
|
|
38
39
|
import createProcessHtmlContent from "./handlers/createProcessHtmlContent";
|
|
39
40
|
import createProcessRedirect from "./handlers/createProcessRedirect";
|
|
40
41
|
import createProcessPropositions from "./handlers/createProcessPropositions";
|
|
41
|
-
|
|
42
42
|
const createPersonalization = ({
|
|
43
43
|
config,
|
|
44
44
|
logger,
|
|
@@ -140,7 +140,6 @@ const createPersonalization = ({
|
|
|
140
140
|
pendingNotificationsHandler
|
|
141
141
|
});
|
|
142
142
|
};
|
|
143
|
-
|
|
144
143
|
createPersonalization.namespace = "Personalization";
|
|
145
144
|
createPersonalization.configValidators = objectOf({
|
|
146
145
|
prehidingStyle: string().nonEmpty(),
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { assign } from "../../../utils";
|
|
13
14
|
export default (({
|
|
14
15
|
decisions,
|
|
@@ -21,7 +21,6 @@ export default (() => {
|
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
23
|
},
|
|
24
|
-
|
|
25
24
|
/**
|
|
26
25
|
* Clears the saved propositions, waiting until the next propositions are resolved and available.
|
|
27
26
|
*
|
|
@@ -32,6 +31,5 @@ export default (() => {
|
|
|
32
31
|
latest = Promise.resolve([]);
|
|
33
32
|
return oldLatest;
|
|
34
33
|
}
|
|
35
|
-
|
|
36
34
|
};
|
|
37
35
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default ((doc = document) => {
|
|
13
14
|
return doc.location.href.indexOf("adobe_authoring_enabled") !== -1;
|
|
14
15
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { isPageWideSurface } from "./surfaceUtils";
|
|
13
14
|
import PAGE_WIDE_SCOPE from "../../../constants/pageWideScope";
|
|
14
15
|
export default (scope => scope === PAGE_WIDE_SCOPE || isPageWideSurface(scope));
|