@adobe/alloy 2.19.0-beta.0 → 2.19.0-beta.1

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.
Files changed (559) hide show
  1. package/libEs5/baseCode/index.js +2 -12
  2. package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +9 -12
  3. package/libEs5/components/ActivityCollector/configValidators.js +1 -4
  4. package/libEs5/components/ActivityCollector/createGetLinkDetails.js +7 -17
  5. package/libEs5/components/ActivityCollector/createLinkClick.js +3 -8
  6. package/libEs5/components/ActivityCollector/getLinkName.js +8 -26
  7. package/libEs5/components/ActivityCollector/getLinkRegion.js +2 -16
  8. package/libEs5/components/ActivityCollector/index.js +8 -18
  9. package/libEs5/components/ActivityCollector/utils.js +3 -40
  10. package/libEs5/components/Audiences/index.js +2 -8
  11. package/libEs5/components/Audiences/injectProcessDestinations.js +20 -19
  12. package/libEs5/components/Audiences/injectProcessResponse.js +0 -5
  13. package/libEs5/components/Context/createComponent.js +0 -4
  14. package/libEs5/components/Context/implementationDetails.js +0 -5
  15. package/libEs5/components/Context/index.js +12 -19
  16. package/libEs5/components/Context/injectDevice.js +3 -20
  17. package/libEs5/components/Context/injectEnvironment.js +1 -8
  18. package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +14 -21
  19. package/libEs5/components/Context/injectPlaceContext.js +2 -8
  20. package/libEs5/components/Context/injectTimestamp.js +0 -3
  21. package/libEs5/components/Context/injectWeb.js +0 -3
  22. package/libEs5/components/DataCollector/index.js +23 -35
  23. package/libEs5/components/DataCollector/validateApplyResponse.js +0 -3
  24. package/libEs5/components/DataCollector/validateUserEventOptions.js +0 -5
  25. package/libEs5/components/EventMerge/createComponent.js +0 -2
  26. package/libEs5/components/EventMerge/createEventMergeId.js +0 -3
  27. package/libEs5/components/EventMerge/index.js +1 -4
  28. package/libEs5/components/Identity/addEcidQueryToPayload.js +0 -3
  29. package/libEs5/components/Identity/addEcidToPayload.js +0 -3
  30. package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +0 -5
  31. package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +5 -19
  32. package/libEs5/components/Identity/configValidators.js +1 -2
  33. package/libEs5/components/Identity/constants/authState.js +1 -1
  34. package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +0 -2
  35. package/libEs5/components/Identity/createComponent.js +16 -22
  36. package/libEs5/components/Identity/createLegacyIdentity.js +5 -19
  37. package/libEs5/components/Identity/getEcidFromResponse.js +0 -4
  38. package/libEs5/components/Identity/getIdentity/createGetIdentity.js +5 -9
  39. package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +1 -4
  40. package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +0 -3
  41. package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +0 -5
  42. package/libEs5/components/Identity/index.js +8 -29
  43. package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +1 -5
  44. package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +22 -28
  45. package/libEs5/components/Identity/injectAwaitIdentityCookie.js +7 -8
  46. package/libEs5/components/Identity/injectEnsureSingleIdentity.js +17 -20
  47. package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +0 -2
  48. package/libEs5/components/Identity/injectProcessIdSyncs.js +2 -7
  49. package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -4
  50. package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +0 -3
  51. package/libEs5/components/Identity/visitorService/getVisitor.js +0 -3
  52. package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +2 -7
  53. package/libEs5/components/LibraryInfo/index.js +13 -21
  54. package/libEs5/components/MachineLearning/index.js +1 -3
  55. package/libEs5/components/MachineLearning/processResponse.js +0 -2
  56. package/libEs5/components/Personalization/constants/eventType.js +1 -1
  57. package/libEs5/components/Personalization/constants/loggerMessage.js +0 -1
  58. package/libEs5/components/Personalization/constants/propositionEventType.js +1 -1
  59. package/libEs5/components/Personalization/constants/schema.js +1 -1
  60. package/libEs5/components/Personalization/constants/scopeType.js +1 -1
  61. package/libEs5/components/Personalization/constants/surface.js +1 -1
  62. package/libEs5/components/Personalization/createApplyPropositions.js +24 -39
  63. package/libEs5/components/Personalization/createClickStorage.js +1 -10
  64. package/libEs5/components/Personalization/createCollect.js +5 -15
  65. package/libEs5/components/Personalization/createComponent.js +25 -35
  66. package/libEs5/components/Personalization/createFetchDataHandler.js +29 -39
  67. package/libEs5/components/Personalization/createGetPageLocation.js +0 -2
  68. package/libEs5/components/Personalization/createOnClickHandler.js +6 -16
  69. package/libEs5/components/Personalization/createPendingNotificationsHandler.js +1 -4
  70. package/libEs5/components/Personalization/createPersonalizationDetails.js +17 -29
  71. package/libEs5/components/Personalization/createSetTargetMigration.js +0 -5
  72. package/libEs5/components/Personalization/createViewCacheManager.js +2 -15
  73. package/libEs5/components/Personalization/createViewChangeHandler.js +4 -11
  74. package/libEs5/components/Personalization/dom-actions/action.js +3 -19
  75. package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -13
  76. package/libEs5/components/Personalization/dom-actions/appendHtml.js +0 -7
  77. package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +16 -27
  78. package/libEs5/components/Personalization/dom-actions/createPreprocess.js +0 -4
  79. package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +0 -4
  80. package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +0 -2
  81. package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +0 -5
  82. package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +0 -5
  83. package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +0 -3
  84. package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +0 -2
  85. package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +0 -2
  86. package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +4 -10
  87. package/libEs5/components/Personalization/dom-actions/dom/getParent.js +0 -2
  88. package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +1 -6
  89. package/libEs5/components/Personalization/dom-actions/dom/index.js +0 -14
  90. package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +0 -6
  91. package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +0 -5
  92. package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -11
  93. package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +0 -2
  94. package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +16 -36
  95. package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +0 -2
  96. package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +0 -4
  97. package/libEs5/components/Personalization/dom-actions/images.js +1 -11
  98. package/libEs5/components/Personalization/dom-actions/index.js +0 -1
  99. package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +0 -4
  100. package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +0 -6
  101. package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +0 -6
  102. package/libEs5/components/Personalization/dom-actions/prependHtml.js +4 -12
  103. package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +1 -6
  104. package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +2 -8
  105. package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +2 -16
  106. package/libEs5/components/Personalization/dom-actions/replaceHtml.js +0 -4
  107. package/libEs5/components/Personalization/dom-actions/scripts.js +13 -35
  108. package/libEs5/components/Personalization/dom-actions/setAttributes.js +0 -3
  109. package/libEs5/components/Personalization/dom-actions/setHtml.js +1 -6
  110. package/libEs5/components/Personalization/dom-actions/setStyles.js +12 -8
  111. package/libEs5/components/Personalization/dom-actions/setText.js +0 -2
  112. package/libEs5/components/Personalization/dom-actions/swapImage.js +6 -9
  113. package/libEs5/components/Personalization/event.js +2 -10
  114. package/libEs5/components/Personalization/flicker/index.js +17 -31
  115. package/libEs5/components/Personalization/handlers/createProcessDomAction.js +4 -11
  116. package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +3 -8
  117. package/libEs5/components/Personalization/handlers/createProcessPropositions.js +6 -51
  118. package/libEs5/components/Personalization/handlers/createProcessRedirect.js +5 -8
  119. package/libEs5/components/Personalization/handlers/injectCreateProposition.js +19 -25
  120. package/libEs5/components/Personalization/handlers/processDefaultContent.js +0 -2
  121. package/libEs5/components/Personalization/index.js +17 -42
  122. package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -4
  123. package/libEs5/components/Personalization/utils/createAsyncArray.js +0 -3
  124. package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +0 -2
  125. package/libEs5/components/Personalization/utils/isPageWideScope.js +0 -4
  126. package/libEs5/components/Personalization/utils/surfaceUtils.js +1 -27
  127. package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +2 -6
  128. package/libEs5/components/Privacy/computeConsentHash.js +11 -8
  129. package/libEs5/components/Privacy/createComponent.js +24 -26
  130. package/libEs5/components/Privacy/createConsentHashStore.js +14 -15
  131. package/libEs5/components/Privacy/createConsentRequest.js +1 -4
  132. package/libEs5/components/Privacy/createConsentRequestPayload.js +0 -5
  133. package/libEs5/components/Privacy/createStoredConsent.js +2 -6
  134. package/libEs5/components/Privacy/index.js +5 -15
  135. package/libEs5/components/Privacy/injectSendSetConsentRequest.js +7 -12
  136. package/libEs5/components/Privacy/parseConsentCookie.js +3 -13
  137. package/libEs5/components/Privacy/validateSetConsentOptions.js +0 -4
  138. package/libEs5/constants/apiVersion.js +0 -1
  139. package/libEs5/constants/browser.js +1 -1
  140. package/libEs5/constants/consentPurpose.js +1 -1
  141. package/libEs5/constants/consentStatus.js +1 -1
  142. package/libEs5/constants/cookieNameKey.js +1 -1
  143. package/libEs5/constants/cookieNamePrefix.js +0 -1
  144. package/libEs5/constants/coreCommands.js +1 -1
  145. package/libEs5/constants/debugQueryParam.js +0 -1
  146. package/libEs5/constants/domain.js +1 -1
  147. package/libEs5/constants/ecidNamespace.js +0 -1
  148. package/libEs5/constants/edgeBasePath.js +0 -1
  149. package/libEs5/constants/elementAttribute.js +1 -1
  150. package/libEs5/constants/highEntropyUserAgentClientHints.js +0 -1
  151. package/libEs5/constants/httpHeaderNames.js +1 -1
  152. package/libEs5/constants/httpStatusCode.js +1 -1
  153. package/libEs5/constants/identityMapAuthenticatedState.js +0 -1
  154. package/libEs5/constants/legacyCookies.js +1 -1
  155. package/libEs5/constants/libraryName.js +0 -1
  156. package/libEs5/constants/libraryVersion.js +1 -2
  157. package/libEs5/constants/namespace.js +0 -1
  158. package/libEs5/constants/pageWideScope.js +0 -1
  159. package/libEs5/constants/queryStringIdentityParam.js +0 -1
  160. package/libEs5/constants/shadowSeparator.js +0 -1
  161. package/libEs5/constants/tagName.js +1 -1
  162. package/libEs5/core/buildAndValidateConfig.js +21 -32
  163. package/libEs5/core/componentCreators.js +0 -12
  164. package/libEs5/core/config/createConfig.js +1 -3
  165. package/libEs5/core/config/createCoreConfigs.js +0 -7
  166. package/libEs5/core/consent/createConsent.js +1 -11
  167. package/libEs5/core/consent/createConsentStateMachine.js +1 -18
  168. package/libEs5/core/createComponentRegistry.js +4 -14
  169. package/libEs5/core/createCookieTransfer.js +9 -18
  170. package/libEs5/core/createEvent.js +24 -33
  171. package/libEs5/core/createEventManager.js +26 -33
  172. package/libEs5/core/createInstanceFunction.js +0 -2
  173. package/libEs5/core/createLifecycle.js +14 -14
  174. package/libEs5/core/createLogController.js +5 -17
  175. package/libEs5/core/createLogger.js +3 -17
  176. package/libEs5/core/edgeNetwork/handleRequestFailure.js +0 -3
  177. package/libEs5/core/edgeNetwork/injectApplyResponse.js +12 -18
  178. package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +4 -8
  179. package/libEs5/core/edgeNetwork/injectGetLocationHint.js +1 -11
  180. package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +6 -11
  181. package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +18 -26
  182. package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +11 -10
  183. package/libEs5/core/index.js +12 -54
  184. package/libEs5/core/initializeComponents.js +5 -10
  185. package/libEs5/core/injectCreateResponse.js +8 -16
  186. package/libEs5/core/injectExecuteCommand.js +8 -19
  187. package/libEs5/core/injectHandleError.js +4 -8
  188. package/libEs5/core/injectShouldTransferCookie.js +1 -5
  189. package/libEs5/core/network/getRequestRetryDelay.js +10 -17
  190. package/libEs5/core/network/injectSendNetworkRequest.js +20 -22
  191. package/libEs5/core/network/isRequestRetryable.js +5 -7
  192. package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +5 -8
  193. package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +0 -2
  194. package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -5
  195. package/libEs5/core/validateCommandOptions.js +5 -9
  196. package/libEs5/index.js +7 -15
  197. package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +1 -5
  198. package/libEs5/utils/assign.js +0 -2
  199. package/libEs5/utils/assignIf.js +0 -4
  200. package/libEs5/utils/clone.js +0 -3
  201. package/libEs5/utils/cookieJar.js +0 -2
  202. package/libEs5/utils/crc32.js +0 -8
  203. package/libEs5/utils/createCallbackAggregator.js +0 -4
  204. package/libEs5/utils/createLoggingCookieJar.js +1 -6
  205. package/libEs5/utils/createMerger.js +0 -4
  206. package/libEs5/utils/createTaskQueue.js +0 -7
  207. package/libEs5/utils/deduplicateArray.js +0 -5
  208. package/libEs5/utils/deepAssign.js +2 -10
  209. package/libEs5/utils/defer.js +0 -3
  210. package/libEs5/utils/dom/appendNode.js +0 -2
  211. package/libEs5/utils/dom/awaitSelector.js +1 -29
  212. package/libEs5/utils/dom/createNode.js +1 -5
  213. package/libEs5/utils/dom/index.js +0 -8
  214. package/libEs5/utils/dom/isShadowSelector.js +0 -3
  215. package/libEs5/utils/dom/matchesSelector.js +2 -5
  216. package/libEs5/utils/dom/querySelectorAll.js +3 -6
  217. package/libEs5/utils/dom/removeNode.js +0 -4
  218. package/libEs5/utils/dom/selectNodes.js +0 -8
  219. package/libEs5/utils/dom/selectNodesWithShadow.js +6 -20
  220. package/libEs5/utils/endsWith.js +0 -3
  221. package/libEs5/utils/filterObject.js +13 -17
  222. package/libEs5/utils/find.js +0 -5
  223. package/libEs5/utils/fireImage.js +2 -7
  224. package/libEs5/utils/flatMap.js +0 -2
  225. package/libEs5/utils/getApexDomain.js +4 -8
  226. package/libEs5/utils/getBrowser.js +11 -11
  227. package/libEs5/utils/getLastArrayItems.js +0 -3
  228. package/libEs5/utils/getNamespacedCookieName.js +0 -4
  229. package/libEs5/utils/groupBy.js +0 -5
  230. package/libEs5/utils/includes.js +0 -3
  231. package/libEs5/utils/index.js +0 -56
  232. package/libEs5/utils/injectDoesIdentityCookieExist.js +0 -6
  233. package/libEs5/utils/injectFireReferrerHideableImage.js +21 -29
  234. package/libEs5/utils/injectStorage.js +1 -7
  235. package/libEs5/utils/intersection.js +0 -4
  236. package/libEs5/utils/isBlankString.js +0 -4
  237. package/libEs5/utils/isBoolean.js +0 -3
  238. package/libEs5/utils/isEmptyObject.js +0 -4
  239. package/libEs5/utils/isFunction.js +0 -3
  240. package/libEs5/utils/isInteger.js +0 -4
  241. package/libEs5/utils/isNamespacedCookieName.js +0 -5
  242. package/libEs5/utils/isNil.js +0 -3
  243. package/libEs5/utils/isNonEmptyArray.js +0 -3
  244. package/libEs5/utils/isNonEmptyString.js +0 -4
  245. package/libEs5/utils/isNumber.js +0 -3
  246. package/libEs5/utils/isObject.js +11 -5
  247. package/libEs5/utils/isString.js +0 -3
  248. package/libEs5/utils/isUnique.js +0 -7
  249. package/libEs5/utils/isValidRegExp.js +0 -3
  250. package/libEs5/utils/memoize.js +0 -5
  251. package/libEs5/utils/noop.js +0 -3
  252. package/libEs5/utils/padStart.js +0 -6
  253. package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -21
  254. package/libEs5/utils/querystring.js +0 -2
  255. package/libEs5/utils/request/createAddIdentity.js +0 -2
  256. package/libEs5/utils/request/createDataCollectionRequest.js +1 -6
  257. package/libEs5/utils/request/createDataCollectionRequestPayload.js +0 -8
  258. package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -11
  259. package/libEs5/utils/request/createHasIdentity.js +0 -2
  260. package/libEs5/utils/request/createRequest.js +3 -6
  261. package/libEs5/utils/request/createRequestParams.js +4 -12
  262. package/libEs5/utils/request/createRequestPayload.js +2 -7
  263. package/libEs5/utils/request/index.js +0 -8
  264. package/libEs5/utils/sanitizeOrgIdForCookieName.js +0 -2
  265. package/libEs5/utils/stackError.js +1 -6
  266. package/libEs5/utils/startsWith.js +0 -3
  267. package/libEs5/utils/stringToBoolean.js +0 -3
  268. package/libEs5/utils/toArray.js +0 -4
  269. package/libEs5/utils/toError.js +0 -3
  270. package/libEs5/utils/toISOStringLocal.js +3 -7
  271. package/libEs5/utils/toInteger.js +2 -8
  272. package/libEs5/utils/updateErrorMessage.js +3 -5
  273. package/libEs5/utils/uuid.js +0 -2
  274. package/libEs5/utils/validateConfigOverride.js +0 -3
  275. package/libEs5/utils/validateIdentityMap.js +0 -4
  276. package/libEs5/utils/validation/booleanValidator.js +0 -4
  277. package/libEs5/utils/validation/callbackValidator.js +0 -4
  278. package/libEs5/utils/validation/createAnyOfValidator.js +0 -5
  279. package/libEs5/utils/validation/createArrayOfValidator.js +0 -6
  280. package/libEs5/utils/validation/createDefaultValidator.js +0 -3
  281. package/libEs5/utils/validation/createDeprecatedValidator.js +13 -21
  282. package/libEs5/utils/validation/createLiteralValidator.js +0 -3
  283. package/libEs5/utils/validation/createMapOfValuesValidator.js +0 -9
  284. package/libEs5/utils/validation/createMinimumValidator.js +0 -3
  285. package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +0 -4
  286. package/libEs5/utils/validation/createNonEmptyValidator.js +0 -6
  287. package/libEs5/utils/validation/createObjectOfValidator.js +2 -10
  288. package/libEs5/utils/validation/createUniqueItemsValidator.js +0 -4
  289. package/libEs5/utils/validation/createUniqueValidator.js +0 -3
  290. package/libEs5/utils/validation/domainValidator.js +1 -4
  291. package/libEs5/utils/validation/index.js +76 -59
  292. package/libEs5/utils/validation/integerValidator.js +0 -4
  293. package/libEs5/utils/validation/numberValidator.js +0 -4
  294. package/libEs5/utils/validation/regexpValidator.js +0 -4
  295. package/libEs5/utils/validation/requiredValidator.js +0 -3
  296. package/libEs5/utils/validation/stringValidator.js +0 -4
  297. package/libEs5/utils/validation/utils.js +7 -21
  298. package/libEs5/utils/values.js +0 -3
  299. package/libEs6/baseCode/index.js +3 -8
  300. package/libEs6/components/ActivityCollector/attachClickActivityCollector.js +5 -6
  301. package/libEs6/components/ActivityCollector/configValidators.js +1 -0
  302. package/libEs6/components/ActivityCollector/createGetLinkDetails.js +1 -8
  303. package/libEs6/components/ActivityCollector/createLinkClick.js +0 -3
  304. package/libEs6/components/ActivityCollector/getLinkName.js +8 -23
  305. package/libEs6/components/ActivityCollector/getLinkRegion.js +2 -12
  306. package/libEs6/components/ActivityCollector/index.js +3 -6
  307. package/libEs6/components/ActivityCollector/utils.js +2 -29
  308. package/libEs6/components/Audiences/index.js +1 -2
  309. package/libEs6/components/Audiences/injectProcessDestinations.js +3 -6
  310. package/libEs6/components/Audiences/injectProcessResponse.js +1 -2
  311. package/libEs6/components/Context/createComponent.js +1 -2
  312. package/libEs6/components/Context/index.js +3 -3
  313. package/libEs6/components/Context/injectDevice.js +1 -16
  314. package/libEs6/components/Context/injectEnvironment.js +1 -4
  315. package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +2 -5
  316. package/libEs6/components/Context/injectPlaceContext.js +2 -5
  317. package/libEs6/components/Context/injectTimestamp.js +1 -0
  318. package/libEs6/components/Context/injectWeb.js +1 -0
  319. package/libEs6/components/DataCollector/index.js +1 -10
  320. package/libEs6/components/DataCollector/validateUserEventOptions.js +1 -1
  321. package/libEs6/components/EventMerge/createComponent.js +1 -0
  322. package/libEs6/components/EventMerge/createEventMergeId.js +1 -0
  323. package/libEs6/components/EventMerge/index.js +1 -2
  324. package/libEs6/components/Identity/addEcidQueryToPayload.js +1 -0
  325. package/libEs6/components/Identity/addEcidToPayload.js +1 -0
  326. package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +1 -1
  327. package/libEs6/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +0 -4
  328. package/libEs6/components/Identity/configValidators.js +1 -0
  329. package/libEs6/components/Identity/constants/authState.js +1 -0
  330. package/libEs6/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -0
  331. package/libEs6/components/Identity/createComponent.js +5 -7
  332. package/libEs6/components/Identity/createLegacyIdentity.js +0 -10
  333. package/libEs6/components/Identity/getEcidFromResponse.js +1 -0
  334. package/libEs6/components/Identity/getIdentity/createGetIdentity.js +1 -0
  335. package/libEs6/components/Identity/getIdentity/createIdentityRequest.js +1 -3
  336. package/libEs6/components/Identity/getIdentity/createIdentityRequestPayload.js +1 -0
  337. package/libEs6/components/Identity/getIdentity/getIdentityOptionsValidator.js +1 -1
  338. package/libEs6/components/Identity/index.js +1 -2
  339. package/libEs6/components/Identity/injectAddLegacyEcidToPayload.js +1 -1
  340. package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -7
  341. package/libEs6/components/Identity/injectAwaitIdentityCookie.js +6 -3
  342. package/libEs6/components/Identity/injectEnsureSingleIdentity.js +12 -11
  343. package/libEs6/components/Identity/injectHandleResponseForIdSyncs.js +1 -0
  344. package/libEs6/components/Identity/injectProcessIdSyncs.js +0 -4
  345. package/libEs6/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -0
  346. package/libEs6/components/Identity/visitorService/awaitVisitorOptIn.js +1 -0
  347. package/libEs6/components/Identity/visitorService/getVisitor.js +1 -0
  348. package/libEs6/components/Identity/visitorService/injectGetEcidFromVisitor.js +1 -2
  349. package/libEs6/components/LibraryInfo/index.js +3 -6
  350. package/libEs6/components/MachineLearning/index.js +1 -2
  351. package/libEs6/components/MachineLearning/processResponse.js +1 -0
  352. package/libEs6/components/Personalization/constants/eventType.js +1 -0
  353. package/libEs6/components/Personalization/constants/propositionEventType.js +1 -0
  354. package/libEs6/components/Personalization/constants/schema.js +1 -0
  355. package/libEs6/components/Personalization/constants/scopeType.js +1 -0
  356. package/libEs6/components/Personalization/constants/surface.js +1 -0
  357. package/libEs6/components/Personalization/createApplyPropositions.js +7 -11
  358. package/libEs6/components/Personalization/createClickStorage.js +1 -8
  359. package/libEs6/components/Personalization/createCollect.js +0 -5
  360. package/libEs6/components/Personalization/createComponent.js +5 -11
  361. package/libEs6/components/Personalization/createFetchDataHandler.js +0 -5
  362. package/libEs6/components/Personalization/createGetPageLocation.js +1 -0
  363. package/libEs6/components/Personalization/createOnClickHandler.js +1 -4
  364. package/libEs6/components/Personalization/createPersonalizationDetails.js +1 -22
  365. package/libEs6/components/Personalization/createSetTargetMigration.js +1 -1
  366. package/libEs6/components/Personalization/createViewCacheManager.js +3 -12
  367. package/libEs6/components/Personalization/createViewChangeHandler.js +1 -2
  368. package/libEs6/components/Personalization/dom-actions/action.js +1 -2
  369. package/libEs6/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -8
  370. package/libEs6/components/Personalization/dom-actions/appendHtml.js +1 -0
  371. package/libEs6/components/Personalization/dom-actions/clicks/collectClicks.js +2 -14
  372. package/libEs6/components/Personalization/dom-actions/createPreprocess.js +0 -1
  373. package/libEs6/components/Personalization/dom-actions/dom/createFragment.js +1 -0
  374. package/libEs6/components/Personalization/dom-actions/dom/getAttribute.js +1 -0
  375. package/libEs6/components/Personalization/dom-actions/dom/getChildNodes.js +1 -2
  376. package/libEs6/components/Personalization/dom-actions/dom/getChildren.js +1 -2
  377. package/libEs6/components/Personalization/dom-actions/dom/getFirstChild.js +1 -0
  378. package/libEs6/components/Personalization/dom-actions/dom/getNextSibling.js +1 -0
  379. package/libEs6/components/Personalization/dom-actions/dom/getNonce.js +6 -5
  380. package/libEs6/components/Personalization/dom-actions/dom/getParent.js +1 -0
  381. package/libEs6/components/Personalization/dom-actions/dom/helperForEq.js +1 -0
  382. package/libEs6/components/Personalization/dom-actions/dom/index.js +1 -0
  383. package/libEs6/components/Personalization/dom-actions/dom/insertAfter.js +1 -2
  384. package/libEs6/components/Personalization/dom-actions/dom/insertBefore.js +1 -2
  385. package/libEs6/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +7 -6
  386. package/libEs6/components/Personalization/dom-actions/dom/removeAttribute.js +1 -0
  387. package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +6 -18
  388. package/libEs6/components/Personalization/dom-actions/dom/setAttribute.js +1 -0
  389. package/libEs6/components/Personalization/dom-actions/dom/setStyle.js +1 -2
  390. package/libEs6/components/Personalization/dom-actions/images.js +1 -1
  391. package/libEs6/components/Personalization/dom-actions/index.js +1 -0
  392. package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +1 -0
  393. package/libEs6/components/Personalization/dom-actions/insertHtmlAfter.js +1 -0
  394. package/libEs6/components/Personalization/dom-actions/insertHtmlBefore.js +1 -0
  395. package/libEs6/components/Personalization/dom-actions/prependHtml.js +5 -5
  396. package/libEs6/components/Personalization/dom-actions/rearrangeChildren.js +1 -2
  397. package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +0 -3
  398. package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +1 -7
  399. package/libEs6/components/Personalization/dom-actions/replaceHtml.js +1 -0
  400. package/libEs6/components/Personalization/dom-actions/scripts.js +5 -16
  401. package/libEs6/components/Personalization/dom-actions/setAttributes.js +1 -0
  402. package/libEs6/components/Personalization/dom-actions/setHtml.js +1 -2
  403. package/libEs6/components/Personalization/dom-actions/setStyles.js +1 -0
  404. package/libEs6/components/Personalization/dom-actions/setText.js +1 -0
  405. package/libEs6/components/Personalization/dom-actions/swapImage.js +7 -4
  406. package/libEs6/components/Personalization/event.js +4 -4
  407. package/libEs6/components/Personalization/flicker/index.js +9 -12
  408. package/libEs6/components/Personalization/handlers/createProcessDomAction.js +0 -5
  409. package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +0 -3
  410. package/libEs6/components/Personalization/handlers/createProcessPropositions.js +1 -28
  411. package/libEs6/components/Personalization/handlers/createProcessRedirect.js +2 -3
  412. package/libEs6/components/Personalization/handlers/injectCreateProposition.js +5 -21
  413. package/libEs6/components/Personalization/index.js +1 -2
  414. package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -0
  415. package/libEs6/components/Personalization/utils/createAsyncArray.js +0 -2
  416. package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +1 -0
  417. package/libEs6/components/Personalization/utils/isPageWideScope.js +1 -0
  418. package/libEs6/components/Personalization/utils/surfaceUtils.js +1 -20
  419. package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +0 -1
  420. package/libEs6/components/Privacy/computeConsentHash.js +3 -4
  421. package/libEs6/components/Privacy/createComponent.js +5 -10
  422. package/libEs6/components/Privacy/createConsentHashStore.js +0 -10
  423. package/libEs6/components/Privacy/createConsentRequest.js +1 -3
  424. package/libEs6/components/Privacy/createConsentRequestPayload.js +1 -2
  425. package/libEs6/components/Privacy/createStoredConsent.js +1 -2
  426. package/libEs6/components/Privacy/index.js +1 -2
  427. package/libEs6/components/Privacy/injectSendSetConsentRequest.js +3 -3
  428. package/libEs6/constants/browser.js +1 -0
  429. package/libEs6/constants/consentPurpose.js +1 -0
  430. package/libEs6/constants/consentStatus.js +1 -0
  431. package/libEs6/constants/cookieNameKey.js +1 -0
  432. package/libEs6/constants/cookieNamePrefix.js +1 -0
  433. package/libEs6/constants/coreCommands.js +1 -0
  434. package/libEs6/constants/debugQueryParam.js +1 -0
  435. package/libEs6/constants/domain.js +1 -0
  436. package/libEs6/constants/ecidNamespace.js +1 -0
  437. package/libEs6/constants/elementAttribute.js +1 -0
  438. package/libEs6/constants/highEntropyUserAgentClientHints.js +1 -0
  439. package/libEs6/constants/httpHeaderNames.js +1 -0
  440. package/libEs6/constants/httpStatusCode.js +1 -0
  441. package/libEs6/constants/legacyCookies.js +1 -0
  442. package/libEs6/constants/libraryName.js +1 -0
  443. package/libEs6/constants/libraryVersion.js +3 -1
  444. package/libEs6/constants/namespace.js +1 -0
  445. package/libEs6/constants/pageWideScope.js +1 -0
  446. package/libEs6/constants/queryStringIdentityParam.js +1 -0
  447. package/libEs6/constants/shadowSeparator.js +1 -0
  448. package/libEs6/constants/tagName.js +1 -0
  449. package/libEs6/core/buildAndValidateConfig.js +4 -10
  450. package/libEs6/core/componentCreators.js +3 -3
  451. package/libEs6/core/config/createConfig.js +1 -2
  452. package/libEs6/core/config/createCoreConfigs.js +1 -0
  453. package/libEs6/core/consent/createConsent.js +1 -9
  454. package/libEs6/core/consent/createConsentStateMachine.js +1 -20
  455. package/libEs6/core/createComponentRegistry.js +3 -15
  456. package/libEs6/core/createCookieTransfer.js +6 -12
  457. package/libEs6/core/createEvent.js +14 -36
  458. package/libEs6/core/createEventManager.js +5 -8
  459. package/libEs6/core/createInstanceFunction.js +1 -0
  460. package/libEs6/core/createLifecycle.js +14 -10
  461. package/libEs6/core/createLogController.js +1 -7
  462. package/libEs6/core/createLogger.js +1 -17
  463. package/libEs6/core/edgeNetwork/handleRequestFailure.js +0 -1
  464. package/libEs6/core/edgeNetwork/injectApplyResponse.js +2 -3
  465. package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +5 -6
  466. package/libEs6/core/edgeNetwork/injectGetLocationHint.js +1 -5
  467. package/libEs6/core/edgeNetwork/injectProcessWarningsAndErrors.js +1 -2
  468. package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +5 -5
  469. package/libEs6/core/index.js +4 -10
  470. package/libEs6/core/initializeComponents.js +3 -4
  471. package/libEs6/core/injectCreateResponse.js +3 -7
  472. package/libEs6/core/injectExecuteCommand.js +5 -11
  473. package/libEs6/core/injectHandleError.js +4 -3
  474. package/libEs6/core/injectShouldTransferCookie.js +1 -0
  475. package/libEs6/core/network/getRequestRetryDelay.js +11 -13
  476. package/libEs6/core/network/injectSendNetworkRequest.js +3 -7
  477. package/libEs6/core/network/isRequestRetryable.js +4 -2
  478. package/libEs6/core/network/requestMethods/injectSendBeaconRequest.js +4 -6
  479. package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
  480. package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +1 -5
  481. package/libEs6/core/validateCommandOptions.js +1 -2
  482. package/libEs6/index.js +5 -3
  483. package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +4 -2
  484. package/libEs6/utils/assign.js +1 -0
  485. package/libEs6/utils/assignIf.js +1 -1
  486. package/libEs6/utils/cookieJar.js +1 -0
  487. package/libEs6/utils/crc32.js +0 -7
  488. package/libEs6/utils/createCallbackAggregator.js +0 -2
  489. package/libEs6/utils/createLoggingCookieJar.js +3 -3
  490. package/libEs6/utils/createMerger.js +2 -1
  491. package/libEs6/utils/createTaskQueue.js +0 -4
  492. package/libEs6/utils/deduplicateArray.js +0 -3
  493. package/libEs6/utils/deepAssign.js +2 -5
  494. package/libEs6/utils/dom/appendNode.js +1 -0
  495. package/libEs6/utils/dom/awaitSelector.js +1 -14
  496. package/libEs6/utils/dom/createNode.js +1 -2
  497. package/libEs6/utils/dom/index.js +1 -0
  498. package/libEs6/utils/dom/isShadowSelector.js +1 -0
  499. package/libEs6/utils/dom/matchesSelector.js +2 -2
  500. package/libEs6/utils/dom/querySelectorAll.js +3 -2
  501. package/libEs6/utils/dom/removeNode.js +1 -2
  502. package/libEs6/utils/dom/selectNodes.js +2 -2
  503. package/libEs6/utils/dom/selectNodesWithShadow.js +6 -16
  504. package/libEs6/utils/filterObject.js +8 -12
  505. package/libEs6/utils/find.js +0 -2
  506. package/libEs6/utils/fireImage.js +2 -1
  507. package/libEs6/utils/getApexDomain.js +4 -4
  508. package/libEs6/utils/getBrowser.js +1 -7
  509. package/libEs6/utils/getNamespacedCookieName.js +1 -0
  510. package/libEs6/utils/groupBy.js +0 -2
  511. package/libEs6/utils/index.js +1 -0
  512. package/libEs6/utils/injectDoesIdentityCookieExist.js +1 -1
  513. package/libEs6/utils/injectFireReferrerHideableImage.js +1 -4
  514. package/libEs6/utils/injectStorage.js +1 -5
  515. package/libEs6/utils/intersection.js +2 -1
  516. package/libEs6/utils/isBlankString.js +2 -1
  517. package/libEs6/utils/isEmptyObject.js +2 -1
  518. package/libEs6/utils/isInteger.js +2 -1
  519. package/libEs6/utils/isNamespacedCookieName.js +2 -1
  520. package/libEs6/utils/isNonEmptyString.js +2 -1
  521. package/libEs6/utils/isObject.js +2 -1
  522. package/libEs6/utils/isUnique.js +0 -5
  523. package/libEs6/utils/memoize.js +0 -2
  524. package/libEs6/utils/padStart.js +1 -4
  525. package/libEs6/utils/prepareConfigOverridesForEdge.js +5 -12
  526. package/libEs6/utils/querystring.js +1 -0
  527. package/libEs6/utils/request/createDataCollectionRequest.js +1 -3
  528. package/libEs6/utils/request/createDataCollectionRequestPayload.js +0 -3
  529. package/libEs6/utils/request/createGetAssuranceValidationTokenParams.js +1 -6
  530. package/libEs6/utils/request/createHasIdentity.js +1 -0
  531. package/libEs6/utils/request/createRequest.js +3 -9
  532. package/libEs6/utils/request/createRequestParams.js +0 -3
  533. package/libEs6/utils/request/createRequestPayload.js +4 -4
  534. package/libEs6/utils/request/index.js +1 -0
  535. package/libEs6/utils/sanitizeOrgIdForCookieName.js +1 -0
  536. package/libEs6/utils/stackError.js +2 -1
  537. package/libEs6/utils/toArray.js +1 -2
  538. package/libEs6/utils/toISOStringLocal.js +4 -3
  539. package/libEs6/utils/toInteger.js +4 -4
  540. package/libEs6/utils/updateErrorMessage.js +3 -1
  541. package/libEs6/utils/uuid.js +1 -0
  542. package/libEs6/utils/validateConfigOverride.js +1 -0
  543. package/libEs6/utils/validateIdentityMap.js +1 -0
  544. package/libEs6/utils/validation/booleanValidator.js +1 -0
  545. package/libEs6/utils/validation/createArrayOfValidator.js +0 -2
  546. package/libEs6/utils/validation/createDefaultValidator.js +1 -1
  547. package/libEs6/utils/validation/createDeprecatedValidator.js +0 -4
  548. package/libEs6/utils/validation/createMapOfValuesValidator.js +1 -4
  549. package/libEs6/utils/validation/createNoUnknownFieldsValidator.js +1 -2
  550. package/libEs6/utils/validation/createNonEmptyValidator.js +1 -1
  551. package/libEs6/utils/validation/createObjectOfValidator.js +3 -5
  552. package/libEs6/utils/validation/createUniqueValidator.js +1 -0
  553. package/libEs6/utils/validation/index.js +14 -32
  554. package/libEs6/utils/validation/integerValidator.js +1 -0
  555. package/libEs6/utils/validation/numberValidator.js +1 -0
  556. package/libEs6/utils/validation/regexpValidator.js +1 -0
  557. package/libEs6/utils/validation/requiredValidator.js +1 -1
  558. package/libEs6/utils/validation/utils.js +8 -12
  559. 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
  export default (({
13
14
  sendBeacon,
14
15
  sendFetchRequest,
@@ -18,22 +19,19 @@ export default (({
18
19
  const blob = new Blob([body], {
19
20
  type: "text/plain; charset=UTF-8"
20
21
  });
21
-
22
22
  if (!sendBeacon(url, blob)) {
23
23
  logger.info("Unable to use `sendBeacon`; falling back to `fetch`.");
24
24
  return sendFetchRequest(url, body);
25
- } // Using sendBeacon, we technically don't get a response back from
25
+ }
26
+
27
+ // Using sendBeacon, we technically don't get a response back from
26
28
  // the server, but we'll resolve the promise with an object to maintain
27
29
  // consistency with other network strategies.
28
-
29
-
30
30
  return Promise.resolve({
31
31
  statusCode: 204,
32
-
33
32
  getHeader() {
34
33
  return null;
35
34
  },
36
-
37
35
  body: ""
38
36
  });
39
37
  };
@@ -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
  fetch
14
15
  }) => {
@@ -26,7 +27,6 @@ export default (({
26
27
  }).then(response => {
27
28
  return response.text().then(responseBody => ({
28
29
  statusCode: response.status,
29
-
30
30
  // We expose headers through a function instead of creating an object
31
31
  // with all the headers up front largely because the native
32
32
  // request.getResponseHeader method is case-insensitive but also because it prevents
@@ -34,7 +34,6 @@ export default (({
34
34
  getHeader(name) {
35
35
  return response.headers.get(name);
36
36
  },
37
-
38
37
  body: responseBody
39
38
  }));
40
39
  });
@@ -9,13 +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 (({
13
14
  XMLHttpRequest
14
15
  }) => {
15
16
  return (url, body) => {
16
17
  return new Promise((resolve, reject) => {
17
18
  const request = new XMLHttpRequest();
18
-
19
19
  request.onreadystatechange = () => {
20
20
  if (request.readyState === 4) {
21
21
  if (request.status === 0) {
@@ -23,7 +23,6 @@ export default (({
23
23
  } else {
24
24
  resolve({
25
25
  statusCode: request.status,
26
-
27
26
  // We expose headers through a function instead of creating an object
28
27
  // with all the headers up front because:
29
28
  // 1. It avoids having to add header parsing code to get all headers.
@@ -31,17 +30,14 @@ export default (({
31
30
  getHeader(name) {
32
31
  return request.getResponseHeader(name);
33
32
  },
34
-
35
33
  body: request.responseText
36
34
  });
37
35
  }
38
36
  }
39
37
  };
40
-
41
38
  request.onloadstart = () => {
42
39
  request.responseType = "text";
43
40
  };
44
-
45
41
  request.open("POST", url, true);
46
42
  request.setRequestHeader("Content-Type", "text/plain; charset=UTF-8");
47
43
  request.withCredentials = true;
@@ -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
  const COMMAND_DOC_URI = "https://adobe.ly/3sHgQHb";
13
14
  export default (({
14
15
  command,
@@ -20,7 +21,6 @@ export default (({
20
21
  optionsValidator
21
22
  } = command;
22
23
  let validatedOptions = options;
23
-
24
24
  if (optionsValidator) {
25
25
  try {
26
26
  validatedOptions = optionsValidator(options);
@@ -29,6 +29,5 @@ export default (({
29
29
  throw new Error(invalidOptionsMessage);
30
30
  }
31
31
  }
32
-
33
32
  return validatedOptions;
34
33
  });
package/libEs6/index.js CHANGED
@@ -9,9 +9,11 @@ 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
  // This file is used to rollup the code into an ES module version to be used by other npm projects
13
14
  // like the launch extension. Everything that is exported here can be used independently by other
14
15
  // npm projects.
16
+
15
17
  import { createExecuteCommand } from "./core";
16
18
  import createLogger from "./core/createLogger";
17
19
  import createLogController from "./core/createLogController";
@@ -29,11 +31,11 @@ export const createInstance = (options = {}) => {
29
31
  const {
30
32
  name,
31
33
  monitors
32
- } = eventOptionsValidator(options); // this is a function so that window.__alloyMonitors can be set or added to at any time
33
- // eslint-disable-next-line no-underscore-dangle
34
+ } = eventOptionsValidator(options);
34
35
 
36
+ // this is a function so that window.__alloyMonitors can be set or added to at any time
37
+ // eslint-disable-next-line no-underscore-dangle
35
38
  const getMonitors = () => (window.__alloyMonitors || []).concat(monitors);
36
-
37
39
  const logController = createLogController({
38
40
  console,
39
41
  locationSearch: window.location.search,
@@ -9,10 +9,12 @@ 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 { CHROME, EDGE, EDGE_CHROMIUM, IE, UNKNOWN } from "../constants/browser";
13
- import includes from "./includes"; // Users could have also disabled third-party cookies within these browsers, but
14
+ import includes from "./includes";
15
+
16
+ // Users could have also disabled third-party cookies within these browsers, but
14
17
  // we don't know. We also assume "unknown" browsers support third-party cookies,
15
18
  // though we don't really know that either. We're making best guesses.
16
-
17
19
  const browsersSupportingThirdPartyCookie = [CHROME, EDGE, EDGE_CHROMIUM, IE, UNKNOWN];
18
20
  export default (browser => includes(browsersSupportingThirdPartyCookie, browser));
@@ -9,5 +9,6 @@ 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 "@adobe/reactor-object-assign";
13
14
  export default assign;
@@ -9,11 +9,11 @@ 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 "./assign";
13
14
  export default ((target, source, predicate) => {
14
15
  if (predicate()) {
15
16
  assign(target, source);
16
17
  }
17
-
18
18
  return target;
19
19
  });
@@ -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 cookie from "js-cookie";
13
14
  export default {
14
15
  get: cookie.get,
@@ -11,30 +11,23 @@ Description
11
11
  */
12
12
  const crc32 = (() => {
13
13
  const table = [];
14
-
15
14
  for (let i = 0; i < 256; i++) {
16
15
  let c = i;
17
-
18
16
  for (let j = 0; j < 8; j++) {
19
17
  c = c & 1 ? 0xedb88320 ^ c >>> 1 : c >>> 1;
20
18
  }
21
-
22
19
  table.push(c);
23
20
  }
24
-
25
21
  return function (str, crc) {
26
22
  str = unescape(encodeURIComponent(str));
27
23
  if (!crc) crc = 0;
28
24
  crc = crc ^ -1;
29
-
30
25
  for (let i = 0; i < str.length; i++) {
31
26
  const y = (crc ^ str.charCodeAt(i)) & 0xff;
32
27
  crc = crc >>> 8 ^ table[y];
33
28
  }
34
-
35
29
  crc = crc ^ -1;
36
30
  return crc >>> 0;
37
31
  };
38
32
  })();
39
-
40
33
  export default crc32;
@@ -20,7 +20,6 @@ export default (() => {
20
20
  add(callback) {
21
21
  callbacks.push(callback);
22
22
  },
23
-
24
23
  call(...args) {
25
24
  // While this utility doesn't necessarily need to be doing the
26
25
  // Promise.all, it's currently useful everywhere this is used and
@@ -28,6 +27,5 @@ export default (() => {
28
27
  // to make this utility more "pure".
29
28
  return Promise.all(callbacks.map(callback => callback(...args)));
30
29
  }
31
-
32
30
  };
33
31
  });
@@ -9,12 +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 (({
13
14
  logger,
14
15
  cookieJar
15
16
  }) => {
16
- return { ...cookieJar,
17
-
17
+ return {
18
+ ...cookieJar,
18
19
  set(key, value, options) {
19
20
  logger.info("Setting cookie", {
20
21
  name: key,
@@ -23,6 +24,5 @@ export default (({
23
24
  });
24
25
  cookieJar.set(key, value, options);
25
26
  }
26
-
27
27
  };
28
28
  });
@@ -9,7 +9,9 @@ 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 deepAssign from "./deepAssign";
14
+
13
15
  /**
14
16
  * Creates a function that, when passed an object of updates, will merge
15
17
  * the updates onto the current value of a payload property.
@@ -18,7 +20,6 @@ import deepAssign from "./deepAssign";
18
20
  * can be a dot-notation property path.
19
21
  * @returns {Function}
20
22
  */
21
-
22
23
  export default ((content, key) => updates => {
23
24
  const propertyPath = key.split(".");
24
25
  const hostObjectForUpdates = propertyPath.reduce((obj, propertyName) => {
@@ -28,17 +28,14 @@ export default (() => {
28
28
  */
29
29
  addTask(task) {
30
30
  queueLength += 1;
31
-
32
31
  const lastPromiseFulfilledHandler = () => {
33
32
  return task().finally(() => {
34
33
  queueLength -= 1;
35
34
  });
36
35
  };
37
-
38
36
  lastPromiseInQueue = lastPromiseInQueue.then(lastPromiseFulfilledHandler, lastPromiseFulfilledHandler);
39
37
  return lastPromiseInQueue;
40
38
  },
41
-
42
39
  /**
43
40
  * How many tasks are in the queue. This includes the task
44
41
  * that's currently running.
@@ -47,6 +44,5 @@ export default (() => {
47
44
  get length() {
48
45
  return queueLength;
49
46
  }
50
-
51
47
  };
52
48
  });
@@ -10,17 +10,14 @@ OF ANY KIND, either express or implied. See the License for the specific languag
10
10
  governing permissions and limitations under the License.
11
11
  */
12
12
  const REFERENCE_EQUALITY = (a, b) => a === b;
13
-
14
13
  const findIndex = (array, item, isEqual) => {
15
14
  for (let i = 0; i < array.length; i += 1) {
16
15
  if (isEqual(array[i], item)) {
17
16
  return i;
18
17
  }
19
18
  }
20
-
21
19
  return -1;
22
20
  };
23
-
24
21
  export default ((array, isEqual = REFERENCE_EQUALITY) => {
25
22
  return array.filter((item, index) => findIndex(array, item, isEqual) === index);
26
23
  });
@@ -9,19 +9,19 @@ 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 isNil from "./isNil";
13
14
  import isObject from "./isObject";
14
-
15
15
  const deepAssignObject = (target, source) => {
16
16
  Object.keys(source).forEach(key => {
17
17
  if (isObject(target[key]) && isObject(source[key])) {
18
18
  deepAssignObject(target[key], source[key]);
19
19
  return;
20
20
  }
21
-
22
21
  target[key] = source[key];
23
22
  });
24
23
  };
24
+
25
25
  /**
26
26
  * Recursively copy the values of all enumerable own properties from a source item to a target item if the both items are objects
27
27
  * @param {Object} target - a target object
@@ -30,13 +30,10 @@ const deepAssignObject = (target, source) => {
30
30
  * deepAssign({ a: 'a', b: 'b' }, { b: 'B', c: 'c' });
31
31
  * // { a: 'a', b: 'B', c: 'c' }
32
32
  */
33
-
34
-
35
33
  export default ((target, ...sources) => {
36
34
  if (isNil(target)) {
37
35
  throw new TypeError('deepAssign "target" cannot be null or undefined');
38
36
  }
39
-
40
37
  const result = Object(target);
41
38
  sources.forEach(source => deepAssignObject(result, Object(source)));
42
39
  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
  export default ((parent, node) => {
13
14
  return parent.appendChild(node);
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 isFunction from "../isFunction";
13
14
  import isNonEmptyArray from "../isNonEmptyArray";
14
15
  import selectNodes from "./selectNodes";
@@ -22,15 +23,12 @@ const VISIBILITY_STATE = "visibilityState";
22
23
  const VISIBLE = "visible";
23
24
  const DELAY = 100;
24
25
  const MAX_POLLING_TIMEOUT = 5000;
25
-
26
26
  const createError = selector => {
27
27
  return new Error(`Could not find: ${selector}`);
28
28
  };
29
-
30
29
  const createPromise = executor => {
31
30
  return new Promise(executor);
32
31
  };
33
-
34
32
  export const canUseMutationObserver = win => {
35
33
  return isFunction(win[MUTATION_OBSERVER]);
36
34
  };
@@ -38,7 +36,6 @@ export const awaitUsingMutationObserver = (win, doc, selector, timeout, selectFu
38
36
  return createPromise((resolve, reject) => {
39
37
  const mutationObserver = new win[MUTATION_OBSERVER](() => {
40
38
  const nodes = selectFunc(selector);
41
-
42
39
  if (isNonEmptyArray(nodes)) {
43
40
  mutationObserver.disconnect();
44
41
  resolve(nodes);
@@ -58,15 +55,12 @@ export const awaitUsingRequestAnimation = (win, selector, timeout, selectFunc) =
58
55
  return createPromise((resolve, reject) => {
59
56
  const execute = () => {
60
57
  const nodes = selectFunc(selector);
61
-
62
58
  if (isNonEmptyArray(nodes)) {
63
59
  resolve(nodes);
64
60
  return;
65
61
  }
66
-
67
62
  win[RAF](execute);
68
63
  };
69
-
70
64
  execute();
71
65
  setTimeout(() => {
72
66
  reject(createError(selector));
@@ -77,15 +71,12 @@ export const awaitUsingTimer = (selector, timeout, selectFunc) => {
77
71
  return createPromise((resolve, reject) => {
78
72
  const execute = () => {
79
73
  const nodes = selectFunc(selector);
80
-
81
74
  if (isNonEmptyArray(nodes)) {
82
75
  resolve(nodes);
83
76
  return;
84
77
  }
85
-
86
78
  setTimeout(execute, DELAY);
87
79
  };
88
-
89
80
  execute();
90
81
  setTimeout(() => {
91
82
  reject(createError(selector));
@@ -94,18 +85,14 @@ export const awaitUsingTimer = (selector, timeout, selectFunc) => {
94
85
  };
95
86
  export default ((selector, selectFunc = selectNodes, timeout = MAX_POLLING_TIMEOUT, win = window, doc = document) => {
96
87
  const nodes = selectFunc(selector);
97
-
98
88
  if (isNonEmptyArray(nodes)) {
99
89
  return Promise.resolve(nodes);
100
90
  }
101
-
102
91
  if (canUseMutationObserver(win)) {
103
92
  return awaitUsingMutationObserver(win, doc, selector, timeout, selectFunc);
104
93
  }
105
-
106
94
  if (canUseRequestAnimationFrame(doc)) {
107
95
  return awaitUsingRequestAnimation(win, selector, timeout, selectFunc);
108
96
  }
109
-
110
97
  return awaitUsingTimer(selector, timeout, selectFunc);
111
98
  });
@@ -9,9 +9,9 @@ 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 "./appendNode";
13
14
  import isObject from "../isObject";
14
-
15
15
  const populateElementProperties = (element, props) => {
16
16
  Object.keys(props).forEach(key => {
17
17
  // The following is to support setting style properties to avoid CSP errors.
@@ -25,7 +25,6 @@ const populateElementProperties = (element, props) => {
25
25
  }
26
26
  });
27
27
  };
28
-
29
28
  export default ((tag, attrs = {}, props = {}, children = [], doc = document) => {
30
29
  const result = doc.createElement(tag);
31
30
  Object.keys(attrs).forEach(key => {
@@ -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 awaitSelector } from "./awaitSelector";
13
14
  export { default as appendNode } from "./appendNode";
14
15
  export { default as createNode } from "./createNode";
@@ -9,5 +9,6 @@ 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 SHADOW_SEPARATOR from "../../constants/shadowSeparator";
13
14
  export default (str => str.indexOf(SHADOW_SEPARATOR) !== -1);
@@ -19,8 +19,8 @@ governing permissions and limitations under the License.
19
19
  export default ((selector, element) => {
20
20
  if (element.matches) {
21
21
  return element.matches(selector);
22
- } // Making IE 11 happy
23
-
22
+ }
24
23
 
24
+ // Making IE 11 happy
25
25
  return element.msMatchesSelector(selector);
26
26
  });
@@ -9,16 +9,17 @@ 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 "../toArray";
13
14
  const SIBLING_PATTERN = /^\s*>/;
14
15
  export default ((context, selector) => {
15
16
  if (!SIBLING_PATTERN.test(selector)) {
16
17
  return toArray(context.querySelectorAll(selector));
17
18
  }
19
+ const tag = `alloy-${Date.now()}`;
18
20
 
19
- const tag = `alloy-${Date.now()}`; // We could use a :scope selector here, but we want to be IE compliant
21
+ // We could use a :scope selector here, but we want to be IE compliant
20
22
  // so we add a dummy css class to be able to select the children
21
-
22
23
  try {
23
24
  context.classList.add(tag);
24
25
  return toArray(context.querySelectorAll(`.${tag} ${selector}`));
@@ -9,12 +9,11 @@ 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 (node => {
13
14
  const parent = node.parentNode;
14
-
15
15
  if (parent) {
16
16
  return parent.removeChild(node);
17
17
  }
18
-
19
18
  return null;
20
19
  });
@@ -9,20 +9,20 @@ 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 querySelectorAll from "./querySelectorAll";
13
14
  import selectNodesWithShadow from "./selectNodesWithShadow";
14
15
  import isShadowSelector from "./isShadowSelector";
16
+
15
17
  /**
16
18
  * Returns an array of matched DOM nodes.
17
19
  * @param {String} selector
18
20
  * @param {Node} [context=document] defaults to document
19
21
  * @returns {Array} an array of DOM nodes
20
22
  */
21
-
22
23
  export default ((selector, context = document) => {
23
24
  if (!isShadowSelector(selector)) {
24
25
  return querySelectorAll(context, selector);
25
26
  }
26
-
27
27
  return selectNodesWithShadow(context, selector);
28
28
  });
@@ -9,58 +9,48 @@ 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 querySelectorAll from "./querySelectorAll";
13
14
  import startsWith from "../startsWith";
14
15
  import SHADOW_SEPARATOR from "../../constants/shadowSeparator";
15
-
16
16
  const splitWithShadow = selector => {
17
17
  return selector.split(SHADOW_SEPARATOR);
18
18
  };
19
-
20
19
  const transformPrefix = (parent, selector) => {
21
20
  const result = selector.trim();
22
21
  const hasChildCombinatorPrefix = startsWith(result, ">");
23
-
24
22
  if (!hasChildCombinatorPrefix) {
25
23
  return result;
26
- } // IE doesn't support :scope
27
-
24
+ }
28
25
 
26
+ // IE doesn't support :scope
29
27
  if (window.document.documentMode) {
30
28
  return result.substring(1).trim();
31
29
  }
32
-
33
30
  const prefix = parent instanceof Element || parent instanceof HTMLDocument ? ":scope" : ":host"; // see https://bugs.webkit.org/show_bug.cgi?id=233380
34
31
 
35
32
  return `${prefix} ${result}`;
36
33
  };
37
-
38
34
  export default ((context, selector) => {
39
35
  // Shadow DOM should be supported
40
36
  if (!window.document.documentElement.attachShadow) {
41
37
  return querySelectorAll(context, selector.replace(SHADOW_SEPARATOR, ""));
42
38
  }
43
-
44
39
  const parts = splitWithShadow(selector);
45
-
46
40
  if (parts.length < 2) {
47
41
  return querySelectorAll(context, selector);
48
- } // split the selector into parts separated by :shadow pseudo-selectors
49
- // find each subselector element based on the previously selected node's shadowRoot
50
-
42
+ }
51
43
 
44
+ // split the selector into parts separated by :shadow pseudo-selectors
45
+ // find each subselector element based on the previously selected node's shadowRoot
52
46
  let parent = context;
53
-
54
47
  for (let i = 0; i < parts.length; i += 1) {
55
48
  const part = transformPrefix(parent, parts[i]);
56
49
  const partNode = querySelectorAll(parent, part);
57
-
58
50
  if (partNode.length === 0 || !partNode[0] || !partNode[0].shadowRoot) {
59
51
  return partNode;
60
52
  }
61
-
62
53
  parent = partNode[0].shadowRoot;
63
54
  }
64
-
65
55
  return undefined;
66
56
  });