@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,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 { appendNode } from "../../../utils/dom";
|
|
13
14
|
import { createFragment, getChildNodes } from "./dom";
|
|
14
15
|
import { loadImages } from "./images";
|
|
@@ -9,20 +9,18 @@ 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
|
-
import matchesSelectorWithEq from "../dom/matchesSelectorWithEq";
|
|
13
12
|
|
|
13
|
+
import matchesSelectorWithEq from "../dom/matchesSelectorWithEq";
|
|
14
14
|
const getMetasIfMatches = (clickedElement, selector, getClickMetasBySelector) => {
|
|
15
15
|
const {
|
|
16
16
|
documentElement
|
|
17
17
|
} = document;
|
|
18
18
|
let element = clickedElement;
|
|
19
19
|
let i = 0;
|
|
20
|
-
|
|
21
20
|
while (element && element !== documentElement) {
|
|
22
21
|
if (matchesSelectorWithEq(selector, element)) {
|
|
23
22
|
const matchedMetas = getClickMetasBySelector(selector);
|
|
24
23
|
const foundMetaWithLabel = matchedMetas.find(meta => meta.trackingLabel);
|
|
25
|
-
|
|
26
24
|
if (foundMetaWithLabel) {
|
|
27
25
|
return {
|
|
28
26
|
metas: matchedMetas,
|
|
@@ -30,56 +28,46 @@ const getMetasIfMatches = (clickedElement, selector, getClickMetasBySelector) =>
|
|
|
30
28
|
weight: i
|
|
31
29
|
};
|
|
32
30
|
}
|
|
33
|
-
|
|
34
31
|
return {
|
|
35
32
|
metas: matchedMetas
|
|
36
33
|
};
|
|
37
34
|
}
|
|
38
|
-
|
|
39
35
|
element = element.parentNode;
|
|
40
36
|
i += 1;
|
|
41
37
|
}
|
|
42
|
-
|
|
43
38
|
return {
|
|
44
39
|
metas: null
|
|
45
40
|
};
|
|
46
41
|
};
|
|
47
|
-
|
|
48
42
|
const cleanMetas = metas => metas.map(meta => {
|
|
49
43
|
delete meta.trackingLabel;
|
|
50
44
|
return meta;
|
|
51
45
|
});
|
|
52
|
-
|
|
53
46
|
const dedupMetas = metas => metas.filter((meta, index) => {
|
|
54
47
|
const stringifiedMeta = JSON.stringify(meta);
|
|
55
48
|
return index === metas.findIndex(innerMeta => JSON.stringify(innerMeta) === stringifiedMeta);
|
|
56
49
|
});
|
|
57
|
-
|
|
58
50
|
export default ((clickedElement, selectors, getClickMetasBySelector) => {
|
|
59
51
|
const result = [];
|
|
60
52
|
let resultLabel = "";
|
|
61
53
|
let resultLabelWeight = Number.MAX_SAFE_INTEGER;
|
|
62
|
-
/* eslint-disable no-continue */
|
|
63
54
|
|
|
55
|
+
/* eslint-disable no-continue */
|
|
64
56
|
for (let i = 0; i < selectors.length; i += 1) {
|
|
65
57
|
const {
|
|
66
58
|
metas,
|
|
67
59
|
label,
|
|
68
60
|
weight
|
|
69
61
|
} = getMetasIfMatches(clickedElement, selectors[i], getClickMetasBySelector);
|
|
70
|
-
|
|
71
62
|
if (!metas) {
|
|
72
63
|
continue;
|
|
73
64
|
}
|
|
74
|
-
|
|
75
65
|
if (label && weight <= resultLabelWeight) {
|
|
76
66
|
resultLabel = label;
|
|
77
67
|
resultLabelWeight = weight;
|
|
78
68
|
}
|
|
79
|
-
|
|
80
69
|
result.push(...cleanMetas(metas));
|
|
81
70
|
}
|
|
82
|
-
|
|
83
71
|
return {
|
|
84
72
|
decisionsMeta: dedupMetas(result),
|
|
85
73
|
eventLabel: resultLabel
|
|
@@ -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 { createNode } from "../../../../utils/dom";
|
|
13
14
|
import { DIV } from "../../../../constants/tagName";
|
|
14
15
|
export default (content => {
|
|
@@ -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 ((element, name) => {
|
|
13
14
|
return element.getAttribute(name);
|
|
14
15
|
});
|
|
@@ -9,15 +9,14 @@ 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 { toArray } from "../../../../utils";
|
|
13
14
|
export default (element => {
|
|
14
15
|
const {
|
|
15
16
|
childNodes
|
|
16
17
|
} = element;
|
|
17
|
-
|
|
18
18
|
if (childNodes) {
|
|
19
19
|
return toArray(childNodes);
|
|
20
20
|
}
|
|
21
|
-
|
|
22
21
|
return [];
|
|
23
22
|
});
|
|
@@ -9,15 +9,14 @@ 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 { toArray } from "../../../../utils";
|
|
13
14
|
export default (element => {
|
|
14
15
|
const {
|
|
15
16
|
children
|
|
16
17
|
} = element;
|
|
17
|
-
|
|
18
18
|
if (children) {
|
|
19
19
|
return toArray(children);
|
|
20
20
|
}
|
|
21
|
-
|
|
22
21
|
return [];
|
|
23
22
|
});
|
|
@@ -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 (element => {
|
|
13
14
|
return element.firstElementChild;
|
|
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
|
export default (element => {
|
|
13
14
|
return element.nextElementSibling;
|
|
14
15
|
});
|
|
@@ -9,24 +9,25 @@ 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
|
let nonce;
|
|
14
|
+
|
|
13
15
|
/**
|
|
14
16
|
* Returns the nonce if available.
|
|
15
17
|
* @param {Node} [context=document] defaults to document
|
|
16
18
|
* @returns {(String|undefined)} the nonce or undefined if not available
|
|
17
19
|
*/
|
|
18
|
-
|
|
19
20
|
export default ((context = document) => {
|
|
20
21
|
if (nonce === undefined) {
|
|
21
|
-
const n = context.querySelector("[nonce]");
|
|
22
|
+
const n = context.querySelector("[nonce]");
|
|
23
|
+
// NOTE: We're keeping n.getAttribute("nonce") until it is safe to remove:
|
|
22
24
|
// ref: https://github.com/whatwg/html/issues/2369#issuecomment-280853946
|
|
23
|
-
|
|
24
25
|
nonce = n && (n.nonce || n.getAttribute("nonce"));
|
|
25
26
|
}
|
|
26
|
-
|
|
27
27
|
return nonce;
|
|
28
|
-
});
|
|
28
|
+
});
|
|
29
29
|
|
|
30
|
+
// This function is only used for testing and removed when library is built (tree-shaking)
|
|
30
31
|
export const testResetCachedNonce = () => {
|
|
31
32
|
nonce = undefined;
|
|
32
33
|
};
|
|
@@ -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 (element => {
|
|
13
14
|
return element.parentNode;
|
|
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 { isNonEmptyString } from "../../../../utils";
|
|
13
14
|
const EQ_START = ":eq(";
|
|
14
15
|
const EQ_PATTERN = /:eq\((\d+)\)/g;
|
|
@@ -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 as createFragment } from "./createFragment";
|
|
13
14
|
export { selectNodesWithEq } from "./selectNodesWithEq";
|
|
14
15
|
export { default as getElementById } from "./getElementById";
|
|
@@ -9,15 +9,14 @@ 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 getParent from "./getParent";
|
|
13
14
|
import getNextSibling from "./getNextSibling";
|
|
14
15
|
export default ((container, element) => {
|
|
15
16
|
if (!container) {
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
|
-
|
|
19
19
|
const parent = getParent(container);
|
|
20
|
-
|
|
21
20
|
if (parent) {
|
|
22
21
|
parent.insertBefore(element, getNextSibling(container));
|
|
23
22
|
}
|
|
@@ -9,14 +9,13 @@ 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 getParent from "./getParent";
|
|
13
14
|
export default ((container, element) => {
|
|
14
15
|
if (!container) {
|
|
15
16
|
return;
|
|
16
17
|
}
|
|
17
|
-
|
|
18
18
|
const parent = getParent(container);
|
|
19
|
-
|
|
20
19
|
if (parent) {
|
|
21
20
|
parent.insertBefore(element, container);
|
|
22
21
|
}
|
|
@@ -9,26 +9,27 @@ 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 { matchesSelector } from "../../../../utils/dom";
|
|
13
14
|
import { isNotEqSelector } from "./helperForEq";
|
|
14
15
|
import { selectNodesWithEq } from "./selectNodesWithEq";
|
|
15
16
|
export default ((selector, element) => {
|
|
16
17
|
if (isNotEqSelector(selector)) {
|
|
17
18
|
return matchesSelector(selector, element);
|
|
18
|
-
}
|
|
19
|
-
// Find all nodes using document as context
|
|
20
|
-
|
|
19
|
+
}
|
|
21
20
|
|
|
21
|
+
// Using node selection vs matches selector, because of :eq()
|
|
22
|
+
// Find all nodes using document as context
|
|
22
23
|
const nodes = selectNodesWithEq(selector);
|
|
23
|
-
let result = false;
|
|
24
|
-
// and reference compare with element
|
|
24
|
+
let result = false;
|
|
25
25
|
|
|
26
|
+
// Iterate through all the identified elements
|
|
27
|
+
// and reference compare with element
|
|
26
28
|
for (let i = 0; i < nodes.length; i += 1) {
|
|
27
29
|
if (nodes[i] === element) {
|
|
28
30
|
result = true;
|
|
29
31
|
break;
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
|
-
|
|
33
34
|
return result;
|
|
34
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 ((element, name) => {
|
|
13
14
|
element.removeAttribute(name);
|
|
14
15
|
});
|
|
@@ -9,17 +9,18 @@ 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 escape from "css.escape";
|
|
13
14
|
import { selectNodes } from "../../../../utils/dom";
|
|
14
|
-
import { isNotEqSelector, splitWithEq } from "./helperForEq";
|
|
15
|
+
import { isNotEqSelector, splitWithEq } from "./helperForEq";
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
// Trying to match ID or CSS class
|
|
18
|
+
const CSS_IDENTIFIER_PATTERN = /(#|\.)(-?\w+)/g;
|
|
19
|
+
// Here we use CSS.escape() to make sure we get
|
|
17
20
|
// correct values for ID and CSS class
|
|
18
21
|
// Please check: https://www.w3.org/TR/css-syntax-3/#escaping
|
|
19
22
|
// CSS.escape() polyfill can be found here: https://github.com/mathiasbynens/CSS.escape
|
|
20
|
-
|
|
21
23
|
const replaceIdentifier = (_, $1, $2) => `${$1}${escape($2)}`;
|
|
22
|
-
|
|
23
24
|
export const escapeIdentifiersInSelector = selector => {
|
|
24
25
|
return selector.replace(CSS_IDENTIFIER_PATTERN, replaceIdentifier);
|
|
25
26
|
};
|
|
@@ -31,11 +32,9 @@ export const parseSelector = rawSelector => {
|
|
|
31
32
|
length
|
|
32
33
|
} = parts;
|
|
33
34
|
let i = 0;
|
|
34
|
-
|
|
35
35
|
while (i < length) {
|
|
36
36
|
const sel = parts[i];
|
|
37
37
|
const eq = parts[i + 1];
|
|
38
|
-
|
|
39
38
|
if (eq) {
|
|
40
39
|
result.push({
|
|
41
40
|
sel,
|
|
@@ -46,25 +45,21 @@ export const parseSelector = rawSelector => {
|
|
|
46
45
|
sel
|
|
47
46
|
});
|
|
48
47
|
}
|
|
49
|
-
|
|
50
48
|
i += 2;
|
|
51
49
|
}
|
|
52
|
-
|
|
53
50
|
return result;
|
|
54
51
|
};
|
|
52
|
+
|
|
55
53
|
/**
|
|
56
54
|
* Returns an array of matched DOM nodes.
|
|
57
55
|
* @param {String} selector that contains Sizzle "eq(...)" pseudo selector
|
|
58
56
|
* @returns {Array} an array of DOM nodes
|
|
59
57
|
*/
|
|
60
|
-
|
|
61
58
|
export const selectNodesWithEq = selector => {
|
|
62
59
|
const doc = document;
|
|
63
|
-
|
|
64
60
|
if (isNotEqSelector(selector)) {
|
|
65
61
|
return selectNodes(selector, doc);
|
|
66
62
|
}
|
|
67
|
-
|
|
68
63
|
const parts = parseSelector(selector);
|
|
69
64
|
const {
|
|
70
65
|
length
|
|
@@ -72,7 +67,6 @@ export const selectNodesWithEq = selector => {
|
|
|
72
67
|
let result = [];
|
|
73
68
|
let context = doc;
|
|
74
69
|
let i = 0;
|
|
75
|
-
|
|
76
70
|
while (i < length) {
|
|
77
71
|
const {
|
|
78
72
|
sel,
|
|
@@ -82,15 +76,12 @@ export const selectNodesWithEq = selector => {
|
|
|
82
76
|
const {
|
|
83
77
|
length: nodesCount
|
|
84
78
|
} = nodes;
|
|
85
|
-
|
|
86
79
|
if (nodesCount === 0) {
|
|
87
80
|
break;
|
|
88
81
|
}
|
|
89
|
-
|
|
90
82
|
if (eq != null && eq > nodesCount - 1) {
|
|
91
83
|
break;
|
|
92
84
|
}
|
|
93
|
-
|
|
94
85
|
if (i < length - 1) {
|
|
95
86
|
if (eq == null) {
|
|
96
87
|
[context] = nodes;
|
|
@@ -98,7 +89,6 @@ export const selectNodesWithEq = selector => {
|
|
|
98
89
|
context = nodes[eq];
|
|
99
90
|
}
|
|
100
91
|
}
|
|
101
|
-
|
|
102
92
|
if (i === length - 1) {
|
|
103
93
|
if (eq == null) {
|
|
104
94
|
result = nodes;
|
|
@@ -106,9 +96,7 @@ export const selectNodesWithEq = selector => {
|
|
|
106
96
|
result = [nodes[eq]];
|
|
107
97
|
}
|
|
108
98
|
}
|
|
109
|
-
|
|
110
99
|
i += 1;
|
|
111
100
|
}
|
|
112
|
-
|
|
113
101
|
return result;
|
|
114
102
|
};
|
|
@@ -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 ((element, name, value) => {
|
|
13
14
|
element.setAttribute(name, value);
|
|
14
15
|
});
|
|
@@ -9,14 +9,13 @@ 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 ((element, name, value, priority) => {
|
|
13
14
|
let css;
|
|
14
|
-
|
|
15
15
|
if (priority) {
|
|
16
16
|
css = `${name}:${value} !${priority};`;
|
|
17
17
|
} else {
|
|
18
18
|
css = `${name}:${value};`;
|
|
19
19
|
}
|
|
20
|
-
|
|
21
20
|
element.style.cssText += `;${css}`;
|
|
22
21
|
});
|
|
@@ -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 { createNode, selectNodes } from "../../../utils/dom";
|
|
13
14
|
import { IMG } from "../../../constants/tagName";
|
|
14
15
|
import { SRC } from "../../../constants/elementAttribute";
|
|
@@ -23,7 +24,6 @@ export const loadImages = fragment => {
|
|
|
23
24
|
const images = selectNodes(IMG, fragment);
|
|
24
25
|
images.forEach(image => {
|
|
25
26
|
const url = getAttribute(image, SRC);
|
|
26
|
-
|
|
27
27
|
if (url) {
|
|
28
28
|
loadImage(url);
|
|
29
29
|
}
|
|
@@ -9,4 +9,5 @@ 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 as initDomActionsModules } from "./initDomActionsModules";
|
|
@@ -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 { removeNode } from "../../../utils/dom";
|
|
13
14
|
import { createAction, setHtml, setText, setAttributes, swapImage, setStyles, rearrangeChildren, replaceHtml, appendHtml, prependHtml, insertHtmlAfter, insertHtmlBefore } from "./action";
|
|
14
15
|
export default (() => {
|
|
@@ -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 { createFragment, getChildNodes, insertAfter } from "./dom";
|
|
13
14
|
import { loadImages } from "./images";
|
|
14
15
|
import addNonceToInlineStyleElements from "./addNonceToInlineStyleElements";
|
|
@@ -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 { createFragment, getChildNodes, insertBefore } from "./dom";
|
|
13
14
|
import { loadImages } from "./images";
|
|
14
15
|
import addNonceToInlineStyleElements from "./addNonceToInlineStyleElements";
|
|
@@ -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 { appendNode } from "../../../utils/dom";
|
|
13
14
|
import { createFragment, getChildNodes, getFirstChild, insertBefore } from "./dom";
|
|
14
15
|
import { loadImages } from "./images";
|
|
@@ -23,23 +24,22 @@ export default ((container, html) => {
|
|
|
23
24
|
const {
|
|
24
25
|
length
|
|
25
26
|
} = elements;
|
|
26
|
-
let i = length - 1;
|
|
27
|
+
let i = length - 1;
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
// We have to proactively load images to avoid flicker
|
|
30
|
+
loadImages(fragment);
|
|
29
31
|
|
|
32
|
+
// We are inserting elements in reverse order
|
|
30
33
|
while (i >= 0) {
|
|
31
34
|
const element = elements[i];
|
|
32
35
|
const firstChild = getFirstChild(container);
|
|
33
|
-
|
|
34
36
|
if (firstChild) {
|
|
35
37
|
insertBefore(firstChild, element);
|
|
36
38
|
} else {
|
|
37
39
|
appendNode(container, element);
|
|
38
40
|
}
|
|
39
|
-
|
|
40
41
|
i -= 1;
|
|
41
42
|
}
|
|
42
|
-
|
|
43
43
|
executeInlineScripts(container, scripts);
|
|
44
44
|
return executeRemoteScripts(scriptsUrls);
|
|
45
45
|
});
|
|
@@ -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 { getChildren, insertAfter, insertBefore } from "./dom";
|
|
13
14
|
export default ((container, {
|
|
14
15
|
from,
|
|
@@ -17,13 +18,11 @@ export default ((container, {
|
|
|
17
18
|
const children = getChildren(container);
|
|
18
19
|
const elementFrom = children[from];
|
|
19
20
|
const elementTo = children[to];
|
|
20
|
-
|
|
21
21
|
if (!elementFrom || !elementTo) {
|
|
22
22
|
// TODO: We will need to add logging
|
|
23
23
|
// to ease troubleshooting
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
26
|
if (from < to) {
|
|
28
27
|
insertAfter(elementTo, elementFrom);
|
|
29
28
|
} else {
|
|
@@ -22,15 +22,12 @@ export default (action => {
|
|
|
22
22
|
selector,
|
|
23
23
|
type
|
|
24
24
|
} = action;
|
|
25
|
-
|
|
26
25
|
if (type !== ACTION_CUSTOM_CODE) {
|
|
27
26
|
return action;
|
|
28
27
|
}
|
|
29
|
-
|
|
30
28
|
if (selector !== TARGET_BODY_SELECTOR) {
|
|
31
29
|
return action;
|
|
32
30
|
}
|
|
33
|
-
|
|
34
31
|
return assign({}, action, {
|
|
35
32
|
selector: "BODY"
|
|
36
33
|
});
|
|
@@ -15,6 +15,7 @@ governing permissions and limitations under the License.
|
|
|
15
15
|
* to be applied to page HEAD, to align with the way it works in at.js.
|
|
16
16
|
* Offer content should also be filtered, so that only tags allowed in HEAD are preserved.
|
|
17
17
|
*/
|
|
18
|
+
|
|
18
19
|
import { selectNodes } from "../../../utils/dom";
|
|
19
20
|
import { is } from "./scripts";
|
|
20
21
|
import { createFragment, selectNodesWithEq } from "./dom";
|
|
@@ -23,34 +24,27 @@ import isBlankString from "../../../utils/isBlankString";
|
|
|
23
24
|
import { HEAD } from "../../../constants/tagName";
|
|
24
25
|
const APPEND_HTML = "appendHtml";
|
|
25
26
|
const HEAD_TAGS_SELECTOR = "SCRIPT,LINK,STYLE";
|
|
26
|
-
|
|
27
27
|
const filterHeadContent = content => {
|
|
28
28
|
const container = createFragment(content);
|
|
29
29
|
const headNodes = selectNodes(HEAD_TAGS_SELECTOR, container);
|
|
30
30
|
return headNodes.map(node => node.outerHTML).join("");
|
|
31
31
|
};
|
|
32
|
-
|
|
33
32
|
export default (action => {
|
|
34
33
|
const result = assign({}, action);
|
|
35
34
|
const {
|
|
36
35
|
content,
|
|
37
36
|
selector
|
|
38
37
|
} = result;
|
|
39
|
-
|
|
40
38
|
if (isBlankString(content)) {
|
|
41
39
|
return result;
|
|
42
40
|
}
|
|
43
|
-
|
|
44
41
|
if (selector == null) {
|
|
45
42
|
return result;
|
|
46
43
|
}
|
|
47
|
-
|
|
48
44
|
const container = selectNodesWithEq(selector);
|
|
49
|
-
|
|
50
45
|
if (!is(container[0], HEAD)) {
|
|
51
46
|
return result;
|
|
52
47
|
}
|
|
53
|
-
|
|
54
48
|
result.type = APPEND_HTML;
|
|
55
49
|
result.content = filterHeadContent(content);
|
|
56
50
|
return result;
|
|
@@ -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 { removeNode } from "../../../utils/dom";
|
|
13
14
|
import insertHtmlBefore from "./insertHtmlBefore";
|
|
14
15
|
export default ((container, html) => {
|