1// Initialize the window objects to window.DG 2window.DG.aemData = window.DG.aemData || {}; 3window.DG.aemData.config = window.DG.aemData.config || {}; 4window.DG.aemData.sparkCodeErrorMsgs = window.DG.aemData.sparkCodeErrorMsgs || {}; 5 6window.DG.aemData.labels = window.DG.aemData.labels || {}; 7window.DG.aemData.labels.shippingAndReturnsModal = window.DG.aemData.labels.shippingAndReturnsModal || {}; 8window.DG.aemData.labels.howDeliveryWorksModal = window.DG.aemData.labels.howDeliveryWorksModal || {}; 9window.DG.aemData.labels.multiDealsModal = window.DG.aemData.labels.multiDealsModal || {}; 10window.DG.aemData.labels.orderSummary = window.DG.aemData.labels.orderSummary || {}; 11window.DG.aemData.labels.paymentModal = window.DG.aemData.labels.paymentModal || {}; 12window.DG.aemData.pdpResponse = window.DG.aemData.pdpResponse || {}; 13window.DG.aemData.labels.orderList = window.DG.aemData.labels.orderList || {}; 14window.DG.aemData.labels.referenceNumber = window.DG.aemData.labels.referenceNumber || {}; 15window.DG.aemData.labels.shippingDetails = window.DG.aemData.labels.shippingDetails || {}; 16window.DG.aemData.labels.searchFilter = window.DG.aemData.labels.searchFilter || {}; 17window.DG.aemData.labels.myAddress = window.DG.aemData.labels.myAddress || {}; 18window.DG.aemData.labels.filtersModal = window.DG.aemData.labels.filtersModal || {}; 19window.DG.aemData.labels.CartProduct = window.DG.aemData.labels.CartProduct || {}; 20window.DG.aemData.labels.storeLocator = window.DG.aemData.labels.storeLocator || {}; 21window.DG.aemData.labels.productTile = window.DG.aemData.labels.productTile || {}; 22window.DG.aemData.labels.orderDetails = window.DG.aemData.labels.orderDetails || {}; 23window.DG.aemData.labels.fullfilmentPickerChangeModal = window.DG.aemData.labels.fullfilmentPickerChangeModal || {}; 24window.DG.aemData.labels.signifyd = window.DG.aemData.labels.signifyd || {}; 25const divElementHowDeliveryTitle = document.querySelector('div[data-how-delivery-works-title]'); 26const divElementHowDeliveryContent = document.querySelector('div[data-how-delivery-works-content]'); 27const divElementHowDeliveryButtonText = document.querySelector('div[data-how-delivery-works-buttontext]'); 28 29 30const dataTitle = divElementHowDeliveryTitle?.dataset.howDeliveryWorksTitle; 31const dataContent = divElementHowDeliveryContent?.dataset.howDeliveryWorksContent; 32const dataButtonText = divElementHowDeliveryButtonText?.dataset.howDeliveryWorksButtontext; 33 34window.DG.aemData.labels.howDeliveryWorksModal.modalTitle = dataTitle; 35window.DG.aemData.labels.howDeliveryWorksModal.modalContent = dataContent; 36window.DG.aemData.labels.howDeliveryWorksModal.modalButtonText = dataButtonText; 37 38const divElementShippingAndReturnTitle = document.querySelector('div[data-shipping-and-return-policy-title]'); 39const divElementShippingAndReturnContent = document.querySelector('div[data-shipping-and-return-policy-content]'); 40const divElementShippingAndReturnButtonText = document.querySelector('div[data-shipping-and-return-policy-buttontext]'); 41 42const dataShippingTitle = divElementShippingAndReturnTitle?.dataset.shippingAndReturnPolicyTitle; 43const dataShippingContent = divElementShippingAndReturnContent?.dataset.shippingAndReturnPolicyContent; 44const dataShippingButtonText = divElementShippingAndReturnButtonText?.dataset.shippingAndReturnPolicyButtontext; 45 46window.DG.aemData.labels.shippingAndReturnsModal.modalTitle = dataShippingTitle; 47window.DG.aemData.labels.shippingAndReturnsModal.modalContent = dataShippingContent; 48window.DG.aemData.labels.shippingAndReturnsModal.modalButtonText = dataShippingButtonText; 49const divElementMultiDealModalTitle = document.querySelector('div[data-multi-deals-modal-title]'); 50const divElementMultiDealCouponInfo = document.querySelector('div[data-multi-deals-coupon-info]'); 51const divElementMultiDealCouponTitle = document.querySelector('div[data-multi-deals-coupon-title]'); 52const divElementMultiDealManufacturerText = document.querySelector('div[data-multi-deals-manufacturer-text]'); 53const divElementMultiDealEligibleItemText = document.querySelector('div[data-multi-deals-eligible-item-text]'); 54const divElementMultiDealOfferLabel = document.querySelector('div[data-multi-deals-offer-label]'); 55const divElementMultiDealOfferListLabel = document.querySelector('div[data-multi-deals-offer-list-label]'); 56const divElementMultiDealOfferListDetailLinkText = document.querySelector('div[data-multi-deals-offer-detail-link-text]'); 57const divElementMultiDealCtaLabel = document.querySelector('div[data-multi-deals-cta-label]'); 58 59const dataMultiDealModalTitle = divElementMultiDealModalTitle?.dataset.multiDealsModalTitle; 60const dataMultiDealCouponInfo = divElementMultiDealCouponInfo?.dataset.multiDealsCouponInfo; 61const dataMultiDealCouponTitle = divElementMultiDealCouponTitle?.dataset.multiDealsCouponTitle; 62const dataMultiDealManufacturerText = divElementMultiDealManufacturerText?.dataset.multiDealsManufacturerText; 63const dataMultiDealEligibleItemText = divElementMultiDealEligibleItemText?.dataset.multiDealsEligibleItemText; 64const dataMultiDealOfferLabel = divElementMultiDealOfferLabel?.dataset.multiDealsOfferLabel; 65const dataMultiDealOfferListLabel = divElementMultiDealOfferListLabel?.dataset.multiDealsOfferListLabel; 66const dataMultiDealOfferListDetailLinkText = divElementMultiDealOfferListDetailLinkText?.dataset.multiDealsOfferDetailLinkText; 67const dataMultiDealCtaLabel = divElementMultiDealCtaLabel?.dataset.multiDealsCtaLabel; 68 69window.DG.aemData.labels.multiDealsModal.multiDealModalTitle = dataMultiDealModalTitle; 70window.DG.aemData.labels.multiDealsModal.multiDealCouponInfo = dataMultiDealCouponInfo; 71window.DG.aemData.labels.multiDealsModal.multiDealCouponTitle = dataMultiDealCouponTitle; 72window.DG.aemData.labels.multiDealsModal.multiDealManufacturerText = dataMultiDealManufacturerText; 73window.DG.aemData.labels.multiDealsModal.multiDealEligibleItemText = dataMultiDealEligibleItemText; 74window.DG.aemData.labels.multiDealsModal.multiDealOfferLabel = dataMultiDealOfferLabel; 75window.DG.aemData.labels.multiDealsModal.multiDealOfferListLabel = dataMultiDealOfferListLabel; 76window.DG.aemData.labels.multiDealsModal.multiDealOfferListDetailLinkText = dataMultiDealOfferListDetailLinkText; 77window.DG.aemData.labels.multiDealsModal.multiDealCtaLabel = dataMultiDealCtaLabel; 78const divElementPaymentConfig = document.querySelector('div[data-payment-config]'); 79const divElementPaymentsPagePath = document.querySelector('div[data-payments-page-path]'); 80const divElementPaymentComponentHeader = document.querySelector('div[data-payment-component-header]'); 81const divElementPaymentHeader = document.querySelector('div[data-payment-header]'); 82const divElementPaymentHeaderCheckout = document.querySelector('div[data-payment-header-checkout]'); 83const divElementNoCardsText = document.querySelector('div[data-no-cards-text]'); 84const divElementNoCardsSubText = document.querySelector('div[data-no-cards-sub-text]'); 85const divElementAddCardsText = document.querySelector('div[data-add-cards-text]'); 86const divElementAddCardErrorText = document.querySelector('div[data-add-card-error-text]'); 87const divElementEditCardModalHeader = document.querySelector('div[data-edit-card-modal-header]'); 88const divElementTitleForExpirationDate = document.querySelector('div[data-title-for-expiration-date]'); 89const divElementEditModalExpText = document.querySelector('div[data-edit-modal-exp-text]');
90const divElementDeleteCardButton = document.querySelector('div[data-delete-card-button]'); 91const divElementDeleteCardModalHeader = document.querySelector('div[data-delete-card-modal-header]'); 92const divElementDeleteCardModalText = document.querySelector('div[data-delete-card-modal-text]'); 93const divElementDeleteOnlyCardModalText = document.querySelector('div[data-delete-only-card-modal-text]'); 94const divElementPaymentDetailsTitle = document.querySelector('div[data-payment-details-title]'); 95const divElementEditCardButton = document.querySelector('div[data-edit-card-button]'); 96const divElementBillingAddress = document.querySelector('div[data-billing-address]'); 97const divElementEditBillingAddress = document.querySelector('div[data-edit-billing-address]'); 98const divElementEditButtonText = document.querySelector('div[data-edit-button-text]'); 99const divElementCancelButtonText = document.querySelector('div[data-cancel-button-text]'); 100const divElementFirstNameText = document.querySelector('div[data-first-name-text]'); 101const divElementLastNameText = document.querySelector('div[data-last-name-text]'); 102const divElementAddressOneText = document.querySelector('div[data-address-one-text]'); 103const divElementAddressTwoText = document.querySelector('div[data-address-two-text]'); 104const divElementZipCodeText = document.querySelector('div[data-zip-code-text]'); 105const divElementCityText = document.querySelector('div[data-city-text]'); 106const divElementStateText = document.querySelector('div[data-state-text]'); 107const divElementResolveAddressTitle = document.querySelector('div[data-resolve-address-title]'); 108const divElementResolveAddressMessage = document.querySelector('div[data-resolve-address-message]'); 109const divElementSuggestedAddressText = document.querySelector('div[data-suggested-address-text]'); 110const divElementEnteredAddressText = document.querySelector('div[data-entered-address-text]'); 111const divElementUseAddressText = document.querySelector('div[data-use-address-text]'); 112const divElementBillingAddressErrorText = document.querySelector('div[data-billing-address-error-text]'); 113const divElementUpdateExpirationDateText = document.querySelector('div[data-update-expiration-date-text]'); 114const divElementContinueButtonText = document.querySelector('div[data-continue-button-text]'); 115const divElementSaveButtonText = document.querySelector('div[data-save-button-text]'); 116const divElementCardDefaultText = document.querySelector('div[data-card-default-text]'); 117const divElementAddFirstPaymentText = document.querySelector('div[data-add-first-payment-text]'); 118const divElementOnlyCardAddButtonText = document.querySelector('div[data-only-card-add-button-text]'); 119const divElementDeletePaymentButtonText = document.querySelector('div[data-delete-payment-button-text]'); 120const divElementOnlyPaymentDeleteText = document.querySelector('div[data-only-payment-delete-text]'); 121const divElementDeletePaymentCancelText = document.querySelector('div[data-delete-payment-cancel-text]'); 122const divElementDefaultCardCheckBoxText = document.querySelector('div[data-default-card-check-box-text]'); 123const divElementUseDifferentCardText = document.querySelector('div[data-use-different-card-text]'); 124const divElementCardNotSavedErrorModalTitle= document.querySelector('div[data-card-save-modal-title-text]'); 125const divElementCardNotSavedErrorModalDescription = document.querySelector('div[data-card-save-modal-desc-text]'); 126const divElementCardNotSavedErrorModalButtonText = document.querySelector('div[data-card-save-modal-cta-text]'); 127 128 129const dataPaymentConfig = divElementPaymentConfig?.dataset.paymentConfig; 130const dataPaymentsPagePath = divElementPaymentsPagePath?.dataset.paymentsPagePath; 131const dataPaymentComponentHeader = divElementPaymentComponentHeader?.dataset.paymentComponentHeader; 132const dataPaymentHeader = divElementPaymentHeader?.dataset.paymentHeader; 133const dataPaymentHeaderCheckout = divElementPaymentHeaderCheckout?.dataset.paymentHeaderCheckout; 134const dataNoCardsText = divElementNoCardsText?.dataset.noCardsText; 135const dataNoCardsSubText = divElementNoCardsSubText?.dataset.noCardsSubText; 136const dataAddCardsText = divElementAddCardsText?.dataset.addCardsText; 137const dataAddCardErrorText = divElementAddCardErrorText?.dataset.addCardErrorText; 138const dataEditCardModalHeader = divElementEditCardModalHeader?.dataset.editCardModalHeader; 139const dataTitleForExpirationDate = divElementTitleForExpirationDate?.dataset.titleForExpirationDate; 140const dataEditModalExpText = divElementEditModalExpText?.dataset.editModalExpText;
141const dataDeleteCardButton = divElementDeleteCardButton?.dataset.deleteCardButton; 142const dataDeleteCardModalHeader = divElementDeleteCardModalHeader?.dataset.deleteCardModalHeader; 143const dataDeleteCardModalText = divElementDeleteCardModalText?.dataset.deleteCardModalText; 144const dataDeleteOnlyCardModalText = divElementDeleteOnlyCardModalText?.dataset.deleteOnlyCardModalText; 145const dataPaymentDetailsTitle = divElementPaymentDetailsTitle?.dataset.paymentDetailsTitle; 146const dataEditCardButton = divElementEditCardButton?.dataset.editCardButton; 147const dataBillingAddress = divElementBillingAddress?.dataset.billingAddress; 148const dataEditBillingAddress = divElementEditBillingAddress?.dataset.editBillingAddress; 149const dataEditButtonText = divElementEditButtonText?.dataset.editButtonText; 150const dataCancelButtonText = divElementCancelButtonText?.dataset.cancelButtonText; 151const dataFirstNameText = divElementFirstNameText?.dataset.firstNameText; 152const dataLastNameText = divElementLastNameText?.dataset.lastNameText; 153const dataAddressOneText = divElementAddressOneText?.dataset.addressOneText; 154const dataAddressTwoText = divElementAddressTwoText?.dataset.addressTwoText; 155const dataZipCodeText = divElementZipCodeText?.dataset.zipCodeText; 156const dataCityText = divElementCityText?.dataset.cityText; 157const dataStateText = divElementStateText?.dataset.stateText; 158const dataResolveAddressTitle = divElementResolveAddressTitle?.dataset.resolveAddressTitle; 159const dataResolveAddressMessage = divElementResolveAddressMessage?.dataset.resolveAddressMessage; 160const dataSuggestedAddressText = divElementSuggestedAddressText?.dataset.suggestedAddressText; 161const dataEnteredAddressText = divElementEnteredAddressText?.dataset.enteredAddressText; 162const dataUseAddressText = divElementUseAddressText?.dataset.useAddressText; 163const dataBillingAddressErrorText = divElementBillingAddressErrorText?.dataset.billingAddressErrorText; 164const dataUpdateExpirationDateText = divElementUpdateExpirationDateText?.dataset.updateExpirationDateText; 165const dataContinueButtonText = divElementContinueButtonText?.dataset.continueButtonText; 166const dataSaveButtonText = divElementSaveButtonText?.dataset.saveButtonText; 167const dataCardDefaultText = divElementCardDefaultText?.dataset.cardDefaultText; 168const dataAddFirstPaymentText = divElementAddFirstPaymentText?.dataset.addFirstPaymentText; 169const dataOnlyCardAddButtonText = divElementOnlyCardAddButtonText?.dataset.onlyCardAddButtonText; 170const dataDeletePaymentButtonText = divElementDeletePaymentButtonText?.dataset.deletePaymentButtonText; 171const dataOnlyPaymentDeleteText = divElementOnlyPaymentDeleteText?.dataset.onlyPaymentDeleteText; 172const dataDeletePaymentCancelText = divElementDeletePaymentCancelText?.dataset.deletePaymentCancelText; 173const dataDefaultCardCheckBoxText = divElementDefaultCardCheckBoxText?.dataset.defaultCardCheckBoxText; 174const dataUseDifferentCardText = divElementUseDifferentCardText?.dataset.useDifferentCardText; 175const dataCardNotSavedErrorModalTitle = divElementCardNotSavedErrorModalTitle?.dataset.cardSaveModalTitleText; 176const dataCardNotSavedErrorModalDescription = divElementCardNotSavedErrorModalDescription?.dataset.cardSaveModalDescText; 177const dataCardNotSavedErrorModalButtonText = divElementCardNotSavedErrorModalButtonText?.dataset.cardSaveModalCtaText; 178 179 180window.DG.aemData.labels.paymentModal.paymentConfig = dataPaymentConfig; 181window.DG.aemData.labels.paymentModal.paymentsPagePath = dataPaymentsPagePath; 182window.DG.aemData.labels.paymentModal.paymentComponentHeader = dataPaymentComponentHeader; 183window.DG.aemData.labels.paymentModal.paymentHeader = dataPaymentHeader; 184window.DG.aemData.labels.paymentModal.paymentHeaderCheckout = dataPaymentHeaderCheckout; 185window.DG.aemData.labels.paymentModal.noCardsText = dataNoCardsText; 186window.DG.aemData.labels.paymentModal.noCardsSubText = dataNoCardsSubText; 187window.DG.aemData.labels.paymentModal.addCardsText = dataAddCardsText; 188window.DG.aemData.labels.paymentModal.addCardErrorText = dataAddCardErrorText; 189window.DG.aemData.labels.paymentModal.editCardModalHeader = dataEditCardModalHeader; 190window.DG.aemData.labels.paymentModal.titleForExpirationDate = dataTitleForExpirationDate; 191window.DG.aemData.labels.paymentModal.editModalExpText = dataEditModalExpText; 192window.DG.aemData.labels.paymentModal.deleteCardButton = dataDeleteCardButton; 193window.DG.aemData.labels.paymentModal.deleteCardModalHeader = dataDeleteCardModalHeader; 194window.DG.aemData.labels.paymentModal.deleteCardModalText = dataDeleteCardModalText; 195window.DG.aemData.labels.paymentModal.deleteOnlyCardModalText = dataDeleteOnlyCardModalText; 196window.DG.aemData.labels.paymentModal.paymentDetailsTitle = dataPaymentDetailsTitle; 197window.DG.aemData.labels.paymentModal.editCardButton = dataEditCardButton; 198window.DG.aemData.labels.paymentModal.billingAddress = dataBillingAddress; 199window.DG.aemData.labels.paymentModal.editBillingAddress = dataEditBillingAddress; 200window.DG.aemData.labels.paymentModal.editButtonText = dataEditButtonText; 201window.DG.aemData.labels.paymentModal.cancelButtonText = dataCancelButtonText; 202window.DG.aemData.labels.paymentModal.firstNameText = dataFirstNameText; 203window.DG.aemData.labels.paymentModal.lastNameText = dataLastNameText; 204window.DG.aemData.labels.paymentModal.addressOneText = dataAddressOneText; 205window.DG.aemData.labels.paymentModal.addressTwoText = dataAddressTwoText; 206window.DG.aemData.labels.paymentModal.zipCodeText = dataZipCodeText; 207window.DG.aemData.labels.paymentModal.cityText = dataCityText; 208window.DG.aemData.labels.paymentModal.stateText = dataStateText; 209window.DG.aemData.labels.paymentModal.resolveAddressTitle = dataResolveAddressTitle; 210window.DG.aemData.labels.paymentModal.resolveAddressMessage = dataResolveAddressMessage; 211window.DG.aemData.labels.paymentModal.suggestedAddressText = dataSuggestedAddressText; 212window.DG.aemData.labels.paymentModal.enteredAddressText = dataEnteredAddressText; 213window.DG.aemData.labels.paymentModal.useAddressText = dataUseAddressText; 214window.DG.aemData.labels.paymentModal.billingAddressErrorText = dataBillingAddressErrorText; 215window.DG.aemData.labels.paymentModal.updateExpirationDateText = dataUpdateExpirationDateText; 216window.DG.aemData.labels.paymentModal.continueButtonText = dataContinueButtonText; 217window.DG.aemData.labels.paymentModal.saveButtonText = dataSaveButtonText; 218window.DG.aemData.labels.paymentModal.cardDefaultText = dataCardDefaultText; 219window.DG.aemData.labels.paymentModal.addFirstPaymentText = dataAddFirstPaymentText; 220window.DG.aemData.labels.paymentModal.onlyCardAddButtonText = dataOnlyCardAddButtonText; 221window.DG.aemData.labels.paymentModal.deletePaymentButtonText = dataDeletePaymentButtonText; 222window.DG.aemData.labels.paymentModal.onlyPaymentDeleteText = dataOnlyPaymentDeleteText; 223window.DG.aemData.labels.paymentModal.deletePaymentCancelText = dataDeletePaymentCancelText; 224window.DG.aemData.labels.paymentModal.defaultCardCheckBoxText = dataDefaultCardCheckBoxText; 225window.DG.aemData.labels.paymentModal.useDifferentCardText = dataUseDifferentCardText; 226window.DG.aemData.labels.paymentModal.cardNotSavedErrorModalTitle = dataCardNotSavedErrorModalTitle; 227window.DG.aemData.labels.paymentModal.cardNotSavedErrorModalDescription = dataCardNotSavedErrorModalDescription; 228window.DG.aemData.labels.paymentModal.cardNotSavedErrorModalButtonText = dataCardNotSavedErrorModalButtonText; 229const divElementOrderSummaryHeading = document.querySelector('div[data-order-summary-heading]'); 230const divElementOrderSummaryPickUpSubHeading = document.querySelector('div[ data-order-summary-pick-up-sub-heading]'); 231const divElementOrderSummaryShippingSubHeading = document.querySelector('div[data-order-summary-shipping-sub-heading]'); 232const divElementOrderSummaryOriginalTotalLabel = document.querySelector('div[data-order-summary-original-total-label]'); 233const divElementOrderSummaryDealsValueLabel = document.querySelector('div[data-order-summary-deals-value-label]'); 234const divElementOrderSummarySalesValueLabel = document.querySelector('div[data-order-summary-sales-value-label]'); 235const divElementOrderSummaryEstimatedDriverTipLabel = document.querySelector('div[data-order-summary-estimated-driver-tip-label]'); 236const divElementOrderSummaryShopperTipInfoTitle = document.querySelector('div[data-order-summary-shopper-tip-info-title]'); 237const divElementOrderSummaryShopperTipInfoMessage = document.querySelector('div[data-order-summary-shopper-tip-info-message]'); 238 239const divElementOrderSummaryTaxLabel = document.querySelector('div[data-order-summary-tax-label]'); 240const divElementOrderSummaryTotalLabel = document.querySelector('div[data-order-summary-total-label]'); 241const divElementOrderSummaryShippingCostNotice = document.querySelector('div[data-order-summary-shipping-cost-notice]'); 242const divElementOrderSummaryDeliveryTipInfoTitle = document.querySelector('div[data-order-summary-delivery-tip-info-title]'); 243const divElementOrderSummaryDeliveryTipInfoContent = document.querySelector('div[data-order-summary-delivery-tip-info-content]'); 244const divElementOrderSummarySubTotalLabel = document.querySelector('div[data-order-summary-sub-total-label]'); 245const divElementOrderSummaryDeliveryFeeLabel = document.querySelector('div[data-order-summary-delivery-fee-label]'); 246const divElementOrderSummaryEstimatedTotalLabel = document.querySelector('div[data-order-summary-estimated-total-label]'); 247const divElementOrderSummaryAsapFeeLabel = document.querySelector('div[data-order-summary-asap-fee-label]'); 248const divElementOrderSummaryShopperTipModalCtaText = document.querySelector('div[data-order-summary-shopper-tip-modal-cta-text]'); 249const divElementOrderSummarySummaryInfoShippingText = document.querySelector('div[data-order-summary-summary-info-s
249hipping-text]'); 250const divElementOrderSummarySummaryInfoEstimatedTotal = document.querySelector('div[data-order-summary-summary-info-estimated-total]'); 251const divElementOrderSummarySummaryInfoPlaceOrder = document.querySelector('div[data-order-summary-summary-info-place-order]'); 252const divElementOrderSummaryDeliveryFeeModalCtaText = document.querySelector('div[data-order-summary-delivery-fee-modal-cta-text]'); 253const divElementPaymentErrorModalTitle = document.querySelector('div[data-payment-error-modal-title]'); 254const divElementPaymentErrorModalDescription = document.querySelector('div[data-payment-error-modal-description]'); 255const divElementPaymentErrorModalDescriptionText = document.querySelector('div[data-payment-error-modal-description-text]'); 256const divElementPaymentErrorModalButtonText = document.querySelector('div[data-payment-error-modal-button-text]'); 257 258const divElementPaymentFailureModalTitle = document.querySelector('div[data-payment-failure-modal-title]'); 259const divElementPaymentFailureModalDescription = document.querySelector('div[data-payment-failure-modal-description]'); 260const divElementPaymentFailureModalPrimaryButton = document.querySelector('div[data-payment-failure-modal-primary-button]'); 261 262const divElementCardExpiredModalTitle = document.querySelector('div[data-card-expired-modal-title]'); 263const divElementCardExpiredModalDescription = document.querySelector('div[data-card-expired-modal-description]'); 264const divElementCardExpiredModalPrimaryButton = document.querySelector('div[data-card-expired-modal-primary-button]'); 265const divElementCardExpiredModalSecondaryButton = document.querySelector('div[data-card-expired-modal-secondary-button]'); 266 267const divElementDeliveryTimeInvalidModalTitle = document.querySelector('div[data-delivery-time-invalid-modal-title]'); 268const divElementDeliveryTimeInvalidModalDescription = document.querySelector('div[data-delivery-time-invalid-modal-description]'); 269const divElementDeliveryTimeInvalidModalPrimaryButton = document.querySelector('div[data-delivery-time-invalid-modal-primary-button]'); 270const divElementDeliveryTimeInvalidModalSecondaryButton = document.querySelector('div[data-delivery-time-invalid-modal-secondary-button]'); 271 272const divElementItemAvailabilityChangedModalTitle = document.querySelector('div[data-item-availability-changed-modal-title]'); 273const divElementItemAvailabilityChangedModalDescription = document.querySelector('div[data-item-availability-changed-modal-description]'); 274const divElementItemAvailabilityChangedModalPrimaryButton = document.querySelector('div[data-item-availability-changed-modal-primary-button]'); 275 276const divElementPhoneNumberErrorModalTitle = document.querySelector('div[data-phone-number-error-modal-title]'); 277const divElementPhoneNumberErrorModalDescription = document.querySelector('div[data-phone-number-error-modal-description]'); 278const divElementPhoneNumberErrorModalPrimaryButton = document.querySelector('div[data-phone-number-error-modal-primary-button]'); 279 280const divElementSummaryInfoNotice = document.querySelector('div[data-summary-info-notice]'); 281 282const dataHeading= divElementOrderSummaryHeading?.dataset.orderSummaryHeading; 283const dataPickUpSubHeading= divElementOrderSummaryPickUpSubHeading?.dataset.orderSummaryPickUpSubHeading; 284const dataShippingSubHeading= divElementOrderSummaryShippingSubHeading?.dataset.orderSummaryShippingSubHeading; 285const dataOriginalTotalLabel= divElementOrderSummaryOriginalTotalLabel?.dataset.orderSummaryOriginalTotalLabel; 286const dataDealsValueLabel= divElementOrderSummaryDealsValueLabel?.dataset.orderSummaryDealsValueLabel; 287const dataSalesValueLabel= divElementOrderSummarySalesValueLabel?.dataset.orderSummarySalesValueLabel; 288const dataEstimatedDriverTipLabel= divElementOrderSummaryEstimatedDriverTipLabel?.dataset.orderSummaryEstimatedDriverTipLabel; 289const dataShopperTipInfoTitle= divElementOrderSummaryShopperTipInfoTitle?.dataset.orderSummaryShopperTipInfoTitle; 290const dataShopperTipInfoMessage= divElementOrderSummaryShopperTipInfoMessage?.dataset.orderSummaryShopperTipInfoMessage; 291 292const dataTaxLabel= divElementOrderSummaryTaxLabel?.dataset.orderSummaryTaxLabel; 293const dataTotalLabel= divElementOrderSummaryTotalLabel?.dataset.orderSummaryTotalLabel; 294const dataShippingCostNotice= divElementOrderSummaryShippingCostNotice?.dataset.orderSummaryShippingCostNotice; 295const dataDeliveryTipInfoTitle= divElementOrderSummaryDeliveryTipInfoTitle?.dataset.orderSummaryDeliveryTipInfoTitle; 296const dataDeliveryTipInfoContent= divElementOrderSummaryDeliveryTipInfoContent?.dataset.orderSummaryDeliveryTipInfoContent; 297const dataSubTotalLabel= divElementOrderSummarySubTotalLabel?.dataset.orderSummarySubTotalLabel; 298const dataDeliveryFeeLabel= divElementOrderSummaryDeliveryFeeLabel?.dataset.orderSummaryDeliveryFeeLabel; 299const dataEstimatedTotalLabel= divElementOrderSummaryEstimatedTotalLabel?.dataset.orderSummaryEstimatedTotalLabel; 300const dataAsapFeeLabel= divElementOrderSummaryAsapFeeLabel?.dataset.orderSummaryAsapFeeLabel; 301const dataShopperTipModalCtaText= divElementOrderSummaryShopperTipModalCtaText?.dataset.orderSummaryShopperTipModalCtaText; 302const dataSummaryInfoShippingText= divElementOrderSummarySummaryInfoShippingText?.dataset.orderSummarySummaryInfoShippingText; 303const dataSummaryInfoEstimatedTotal= divElementOrderSummarySummaryInfoEstimatedTotal?.dataset.orderSummarySummaryInfoEstimatedTotal; 304const dataSummaryInfoPlaceOrder= divElementOrderSummarySummaryInfoPlaceOrder?.dataset.orderSummarySummaryInfoPlaceOrder; 305const dataDeliveryFeeModalCtaText= divElementOrderSummaryDeliveryFeeModalCtaText?.dataset.orderSummaryDeliveryFeeModalCtaText; 306const dataPaymentErrorModalTitle= divElementPaymentErrorModalTitle?.dataset.paymentErrorModalTitle; 307const dataPaymentErrorModalDescription= divElementPaymentErrorModalDescription?.dataset.paymentErrorModalDescription; 308const dataPaymentErrorModalButtonText= divElementPaymentErrorModalButtonText?.dataset.paymentErrorModalButtonText; 309 310const dataPaymentFailureModalTitle = divElementPaymentFailureModalTitle?.dataset.paymentFailureModalTitle; 311const dataPaymentFailureModalDescription = divElementPaymentFailureModalDescription?.dataset.paymentFailureModalDescription; 312const dataPaymentFailureModalPrimaryButton = divElementPaymentFailureModalPrimaryButton?.dataset.paymentFailureModalPrimaryButton; 313 314const dataCardExpiredModalTitle = divElementCardExpiredModalTitle?.dataset.cardExpiredModalTitle; 315const dataCardExpiredModalDescription = divElementCardExpiredModalDescription?.dataset.cardExpiredModalDescription; 316const dataCardExpiredModalPrimaryButton = divElementCardExpiredModalPrimaryButton?.dataset.cardExpiredModalPrimaryButton; 317const dataCardExpiredModalSecondaryButton = divElementCardExpiredModalSecondaryButton?.dataset.cardExpiredModalSecondaryButton; 318 319const dataDeliveryTimeInvalidModalTitle = divElementDeliveryTimeInvalidModalTitle?.dataset.deliveryTimeInvalidModalTitle; 320const dataDeliveryTimeInvalidModalDescription = divElementDeliveryTimeInvalidModalDescription?.dataset.deliveryTimeInvalidModalDescription; 321const dataDeliveryTimeInvalidModalPrimaryButton = divElementDeliveryTimeInvalidModalPrimaryButton?.dataset.deliveryTimeInvalidModalPrimaryButton; 322const dataDeliveryTimeInvalidModalSecondaryButton = divElementDeliveryTimeInvalidModalSecondaryButton?.dataset.deliveryTimeInvalidModalSecondaryButton; 323 324const dataItemAvailabilityChangedModalTitle = divElementItemAvailabilityChangedModalTitle?.dataset.itemAvailabilityChangedModalTitle; 325const dataItemAvailabilityChangedModalDescription = divElementItemAvailabilityChangedModalDescription?.dataset.itemAvailabilityChangedModalDescription; 326const dataItemAvailabilityChangedModalPrimaryButton = divElementItemAvailabilityChangedModalPrimaryButton?.dataset.itemAvailabilityChangedModalPrimaryButton; 327 328const dataPhoneNumberErrorModalTitle = divElementPhoneNumberErrorModalTitle?.dataset.phoneNumberErrorModalTitle; 329const dataPhoneNumberErrorModalDescription = divElementPhoneNumberErrorModalDescription?.dataset.phoneNumberErrorModalDescription; 330const dataPhoneNumberErrorModalPrimaryButton = divElementPhoneNumberErrorModalPrimaryButton?.dataset.phoneNumberErrorModalPrimaryButton; 331 332const dataSummaryInfoNotice = divElementSummaryInfoNotice?.dataset.summaryInfoNotice; 333 334 335window.DG.aemData.labels.orderSummary.heading = dataHeading; 336window.DG.aemData.labels.orderSummary.pickupSubheading = dataPickUpSubHeading; 337window.DG.aemData.labels.orderSummary.shippingSubheading = dataShippingSubHeading; 338window.DG.aemData.labels.orderSummary.originalTotalLabel = dataOriginalTotalLabel; 339window.DG.aemData.labels.orderSummary.dealsValueLabel = dataDealsValueLabel; 340window.DG.aemData.labels.orderSummary.salesValueLabel = dataSalesValueLabel; 341window.DG.aemData.labels.orderSummary.estimatedDriverTipLabel = dataEstimatedDriverTipLabel; 342window.DG.aemData.labels.orderSummary.shopperTipInfoTitle = dataShopperTipInfoTitle; 343window.DG.aemData.labels.orderSummary.shopperTipInfoMessage = dataShopperTipInfoMessage; 344window.DG.aemData.labels.orderSummary.taxLabel = dataTaxLabel; 345window.DG.aemData.labels.orderSummary.totalLabel = dataTotalLabel; 346 347window.DG.aemData.labels.orderSummary.shippingCostNotice = dataShippingCostNotice; 348window.DG.aemData.labels.orderSummary.deliveryTipInfoTitle = dataDeliveryTipInfoTitle; 349window.DG.aemData.labels.orderSummary.deliveryTipInfoContent = dataDeliveryTipInfoContent; 350window.DG.aemData.labels.orderSummary.subTotalLabel = dataSubTotalLabel; 351window.DG.aemData.labels.orderSummary.deliveryFeeLabel = dataDeliveryFeeLabel; 352window.DG.aemData.labels.orderSummary.estimatedTotalLabel = dataEstimatedTotalLabel; 353window.DG.aemData.labels.orderSummary.asapFeeLabel = dataAsapFeeLabel; 354window.DG.aemData.labels.orderSummary.shopperTipModalCtaText = dataShopperTipModalCtaText; 355 356window.DG.aemData.labels.orderSummary.summaryInfoShippingText = dataSummaryInfoShippingText; 357window.DG.aemData.labels.orderSummary.summaryInfoEstimatedTotal = dataSummaryInfoEstimatedTotal; 358window.DG.aemData.labels.orderSummary.summaryInfoPlaceOrder = dataSummaryInfoPlaceOrder; 359window.DG.aemData.labels.orderSummary.deliveryFeeModalCTAText = dataDeliveryFeeModalCtaText; 360window.DG.aemData.labels.orderSummary.paymentErrorModalTitle = dataPaymentErrorModalTitle; 361window.DG.aemData.labels.orderSummary.paymentErrorModalDescription = dataPaymentErrorModalDescription; 362window.DG.aemData.labels.orderSummary.paymentErrorModalButtonText = dataPaymentErrorModalButtonText; 363window.DG.aemData.labels.orderSummary.paymentFailureModalTitle = dataPaymentFailureModalTitle; 364window.DG.aemData.labels.orderSummary.paymentFailureModalDescription = dataPaymentFailureModalDescription; 365window.DG.aemData.labels.orderSummary.paymentFailureModalPrimaryButton = dataPaymentFailureModalPrimaryButton; 366 367window.DG.aemData.labels.orderSummary.cardExpiredModalTitle = dataCardExpiredModalTitle; 368window.DG.aemData.labels.orderSummary.cardExpiredModalDescription = dataCardExpiredModalDescription; 369window.DG.aemData.labels.orderSummary.cardExpiredModalPrimaryButton = dataCardExpiredModalPrimaryButton; 370window.DG.aemData.labels.orderSummary.cardExpiredModalSecondaryButton = dataCardExpiredModalSecondaryButton; 371 372window.DG.aemData.labels.orderSummary.deliveryTimeInvalidModalTitle = dataDeliveryTimeInvalidModalTitle; 373window.DG.aemData.labels.orderSummary.deliveryTimeInvalidModalDescription = dataDeliveryTimeInvalidModalDescription; 374window.DG.aemData.labels.orderSummary.deliveryTimeInvalidModalPrimaryButton = dataDeliveryTimeInvalidModalPrimaryButton; 375window.DG.aemData.labels.orderSummary.deliveryTimeInvalidModalSecondaryButton = dataDeliveryTimeInvalidModalSecondaryButton; 376 377window.DG.aemData.labels.orderSummary.itemAvailabilityChangedModalTitle = dataItemAvailabilityChangedModalTitle; 378window.DG.aemData.labels.orderSummary.itemAvailabilityChangedModalDescription = dataItemAvailabilityChangedModalDescription; 379window.DG.aemData.labels.orderSummary.itemAvailabilityChangedModalPrimaryButton = dataItemAvailabilityChangedModalPrimaryButton; 380 381window.DG.aemData.labels.orderSummary.phoneNumberErrorModalTitle = dataPhoneNumberErrorModalTitle; 382window.DG.aemData.labels.orderSummary.phoneNumberErrorModalDescription = dataPhoneNumberErrorModalDescription; 383window.DG.aemData.labels.orderSummary.phoneNumberErrorModalPrimaryButton = dataPhoneNumberErrorModalPrimaryButton; 384 385window.DG.aemData.labels.orderSummary.summaryInfoNotice = dataSummaryInfoNotice; 386const divElementProductDetailJsonResponse = document.querySelector('div[data-product-detail-json-response]'); 387const productDetailsJsonResponse = divElementProductDetailJsonResponse?.dataset.productDetailJsonResponse; 388 389 390if (productDetailsJsonResponse) { 391 try { 392 window.DG.aemData.pdpResponse = JSON.parse(productDetailsJsonResponse); 393 } catch (e) { 394 console.error("Failed to parse product JSON response:", e); 395 } 396} 397 398window.DG.aemData.labels.couponModal = window.DG.aemData.labels.couponModal || {}; 399window.DG.aemData.labels.jfyModal = window.DG.aemData.labels.jfyModal || {}; 400window.DG.aemData.labels.cashbackModal = window.DG.aemData.labels.cashbackModal || {}; 401 402const modalConfig = document.querySelector("div[data-coupon-modal-config]"); 403 404let configList = JSON.parse(modalConfig?.dataset?.couponModalConfig || "[]"); 405 406configList.forEach((item) =>{ 407 window.DG.aemData.labels[item.modalType] = item; 408}) 409 410// Select the div elements 411const divElementOrderItems = document.querySelector('div[data-order-items]'); 412const divElementOrderView = document.querySelector('div[data-order-view]'); 413const divElementBackButton = document.querySelector('div[data-back-button]'); 414const divElementOriginalPrice = document.querySelector('div[data-original-price]'); 415const divElementQuantity = document.querySelector('div[data-quantity]'); 416const divElementDoNotSubstitute = document.querySelector('div[data-do-not-substitute]'); 417const divElementSubstitutionsAllowed = document.querySelector('div[data-substitutions-allowed]'); 418const divElementReturnToDetails = document.querySelector('div[data-return-to-detail
418s]'); 419const divElementItemsInOrder = document.querySelector('div[data-items-in-order]'); 420const divElementShowMore = document.querySelector('div[data-show-more]'); 421const divElementShowLess = document.querySelector('div[data-show-less]'); 422const divElementOnSaleLabel = document.querySelector('div[data-on-sale-label]'); 423const divElementOrderDetailRefundLabel = document.querySelector('div[data-order-detail-refund-label]'); 424const divElementOrderDetailOfferAppliedLabel = document.querySelector('div[data-order-detail-offer-applied-label]'); 425 426// Extract data from the dataset attributes 427const dataOrderItems = divElementOrderItems?.dataset.orderItems; 428const dataOrderView = divElementOrderView?.dataset.orderView; 429const dataBackButton = divElementBackButton?.dataset.backButton; 430const dataOriginalPrice = divElementOriginalPrice?.dataset.originalPrice; 431const dataQuantity = divElementQuantity?.dataset.quantity; 432const dataDoNotSubstitute = divElementDoNotSubstitute?.dataset.doNotSubstitute; 433const dataSubstitutionsAllowed = divElementSubstitutionsAllowed?.dataset.substitutionsAllowed; 434const dataReturnToDetails = divElementReturnToDetails?.dataset.returnToDetails; 435const dataItemsInOrder = divElementItemsInOrder?.dataset.itemsInOrder; 436const dataShowMore = divElementShowMore?.dataset.showMore; 437const dataShowLess = divElementShowLess?.dataset.showLess; 438const dataOnSaleLabel = divElementOnSaleLabel?.dataset.onSaleLabel; 439const dataOrderDetailRefundLabel = divElementOrderDetailRefundLabel?.dataset.orderDetailRefundLabel; 440const dataOrderDetailOfferAppliedLabel = divElementOrderDetailOfferAppliedLabel?.dataset.orderDetailOfferAppliedLabel; 441 442// Assign data to window object for each label 443window.DG.aemData.labels.orderList.orderItems = dataOrderItems; 444window.DG.aemData.labels.orderList.orderView = dataOrderView; 445window.DG.aemData.labels.orderList.backButton = dataBackButton; 446window.DG.aemData.labels.orderList.originalPrice = dataOriginalPrice; 447window.DG.aemData.labels.orderList.quantity = dataQuantity; 448window.DG.aemData.labels.orderList.doNotSubstitute = dataDoNotSubstitute; 449window.DG.aemData.labels.orderList.substitutionsAllowed = dataSubstitutionsAllowed; 450window.DG.aemData.labels.orderList.returnToDetails = dataReturnToDetails; 451window.DG.aemData.labels.orderList.itemsInOrder = dataItemsInOrder; 452window.DG.aemData.labels.orderList.showMore = dataShowMore; 453window.DG.aemData.labels.orderList.showLess = dataShowLess; 454window.DG.aemData.labels.orderList.onSaleLabel = dataOnSaleLabel; 455window.DG.aemData.labels.orderList.orderDetailRefundLabel = dataOrderDetailRefundLabel; 456window.DG.aemData.labels.orderList.orderDetailOfferAppliedLabel = dataOrderDetailOfferAppliedLabel; 457const divElementReferenceNumber = document.querySelector('div[data-reference-number]'); 458const divElementStore = document.querySelector('div[data-store]'); 459const divElementOrder = document.querySelector('div[data-order]'); 460const divElementAuth = document.querySelector('div[data-auth]'); 461const divElementCart = document.querySelector('div[data-cart]'); 462const divElementRefCode = document.querySelector('div[data-ref-code]'); 463 464// Extract data from the dataset attributes 465const dataReferenceNumber = divElementReferenceNumber?.dataset.referenceNumber; 466const dataStore = divElementStore?.dataset.store; 467const dataOrder = divElementOrder?.dataset.order; 468const dataAuth = divElementAuth?.dataset.auth; 469const dataCart = divElementCart?.dataset.cart; 470const dataRefCode = divElementRefCode?.dataset.refCode; 471 472// Assign data to window object for each label 473window.DG.aemData.labels.referenceNumber.referenceNumberHeadingText = dataReferenceNumber; 474window.DG.aemData.labels.referenceNumber.storeButtonText = dataStore; 475window.DG.aemData.labels.referenceNumber.orderButtonText = dataOrder; 476window.DG.aemData.labels.referenceNumber.authButtonText = dataAuth; 477window.DG.aemData.labels.referenceNumber.cartButtonText = dataCart; 478window.DG.aemData.labels.referenceNumber.refCode = dataRefCode; 479// Extracting shipping order 480const divElementShippingOrder = document.querySelector('div[data-shipping-order]'); 481const dataShippingOrder = divElementShippingOrder?.dataset.shippingOrder; 482window.DG.aemData.labels.shippingDetails.shippingOrder = dataShippingOrder; 483 484// Extracting shipping cancel 485const divElementShippingCancel = document.querySelector('div[data-shipping-cancel]'); 486const dataShippingCancel = divElementShippingCancel?.dataset.shippingCancel; 487window.DG.aemData.labels.shippingDetails.shippingCancel = dataShippingCancel; 488 489// Extracting your order is 490const divElementYourOrderIs = document.querySelector('div[data-your-order-is]'); 491const dataYourOrderIs = divElementYourOrderIs?.dataset.yourOrderIs; 492window.DG.aemData.labels.shippingDetails.yourOrderIs = dataYourOrderIs; 493 494// Extracting shipping to 495const divElementShippingTo = document.querySelector('div[data-shipping-to]'); 496const dataShippingTo = divElementShippingTo?.dataset.shippingTo; 497window.DG.aemData.labels.shippingDetails.shippingTo = dataShippingTo; 498 499// Extracting order placed 500const divElementOrderPlaced = document.querySelector('div[data-order-placed]'); 501const dataOrderPlaced = divElementOrderPlaced?.dataset.orderPlaced; 502window.DG.aemData.labels.shippingDetails.orderPlaced = dataOrderPlaced; 503 504// Extracting SMS 505const divElementSMS = document.querySelector('div[data-sms]'); 506const dataSMS = divElementSMS?.dataset.sms; 507window.DG.aemData.labels.shippingDetails.sms = dataSMS; 508 509// Extracting ASAP text on checkout 510const divElementAsapTextOnCheckout = document.querySelector('div[data-asap-text-on-checkout]'); 511const dataAsapTextOnCheckout = divElementAsapTextOnCheckout?.dataset.asapTextOnCheckout; 512window.DG.aemData.labels.shippingDetails.asapTextonCheckout = dataAsapTextOnCheckout; 513 514// Extracting ASAP text on order details 515const divElementAsapTextOnOrderDetails = document.querySelector('div[data-asap-text-on-order-details]'); 516const dataAsapTextOnOrderDetails = divElementAsapTextOnOrderDetails?.dataset.asapTextOnOrderDetails; 517window.DG.aemData.labels.shippingDetails.asapTextonOrderdetails = dataAsapTextOnOrderDetails; 518 519const divElementShippingFpText = document.querySelector('div[data-shipping-fp-text]'); 520const dataShippingFpText = divElementShippingFpText?.dataset.shippingFpText; 521window.DG.aemData.labels.shippingDetails.shippingFPtext = dataShippingFpText; 522 523const divElementShippingFpHeading = document.querySelector('div[data-shipping-fp-heading]'); 524const dataShippingFpHeading = divElementShippingFpHeading?.dataset.shippingFpHeading; 525window.DG.aemData.labels.shippingDetails.shippingFPHeading = dataShippingFpHeading; 526 527const divElementNoProduct = document.querySelector('div[data-no-product]'); 528const divElementViewMoreButton = document.querySelector('div[data-view-more-button]'); 529const divElementFilterButton = document.querySelector('div[data-filter-button]'); 530const divElementAppliedFilterButton = document.querySelector('div[data-applied-filter-button]'); 531const divElementResultsText = document.querySelector('div[data-results-text]'); 532const divElementCategoryResultsText = document.querySelector('div[data-category-results-text]'); 533const divElementSearchFiltersClose = document.querySelector('div[data-search-filters-close]'); 534const divElementSearchFiltersLabel = document.querySelector('div[data-search-filters-label]'); 535const divElementSearchFiltersClear = document.querySelector('div[data-search-filters-clear]'); 536const divElementSearchFiltersBtnView = document.querySelector('div[data-search-filters-btn-view]'); 537const divElementSearchFiltersBtnResults = document.querySelector('div[data-search-filters-btn-results]'); 538const divElementSearchFiltersBtnResult = document.querySelector('div[data-search-filters-btn-result]'); 539const divElementCoupons = document.querySelector('div[data-coupons]'); 540const divElementCashBack = document.querySelector('div[data-cash-back]'); 541const divElementSortFilterButton = document.querySelector('div[data-sort-filter-button]'); 542const divElementSortFilterTitle = document.querySelector('div[data-sort-filter-title]'); 543 544// Extract data from the dataset attributes 545const dataNoProduct = divElementNoProduct?.dataset.noProduct; 546const dataViewMoreButton = divElementViewMoreButton?.dataset.viewM
546oreButton; 547const dataFilterButton = divElementFilterButton?.dataset.filterButton; 548const dataAppliedFilterButton = divElementAppliedFilterButton?.dataset.appliedFilterButton; 549const dataResultsText = divElementResultsText?.dataset.resultsText; 550const dataCategoryResultsText = divElementCategoryResultsText?.dataset.categoryResultsText; 551const dataSearchFiltersClose = divElementSearchFiltersClose?.dataset.searchFiltersClose; 552const dataSearchFiltersLabel = divElementSearchFiltersLabel?.dataset.searchFiltersLabel; 553const dataSearchFiltersClear = divElementSearchFiltersClear?.dataset.searchFiltersClear; 554const dataSearchFiltersBtnView = divElementSearchFiltersBtnView?.dataset.searchFiltersBtnView; 555const dataSearchFiltersBtnResults = divElementSearchFiltersBtnResults?.dataset.searchFiltersBtnResults; 556const dataSearchFiltersBtnResult = divElementSearchFiltersBtnResult?.dataset.searchFiltersBtnResult; 557const dataCoupons = divElementCoupons?.dataset.coupons; 558const dataCashBack = divElementCashBack?.dataset.cashBack; 559const dataSortFilterButton = divElementSortFilterButton?.dataset.sortFilterButton; 560const dataSortFilterTitle = divElementSortFilterTitle?.dataset.sortFilterTitle; 561 562// Assign data to window object for each label 563window.DG.aemData.labels.searchFilter.noProduct = dataNoProduct; 564window.DG.aemData.labels.searchFilter.viewMoreButton = dataViewMoreButton; 565window.DG.aemData.labels.searchFilter.filterButton = dataFilterButton; 566window.DG.aemData.labels.searchFilter.appliedFilterButton = dataAppliedFilterButton; 567window.DG.aemData.labels.searchFilter.resultsText = dataResultsText; 568window.DG.aemData.labels.searchFilter.categoryResultsText = dataCategoryResultsText; 569window.DG.aemData.labels.searchFilter.searchFiltersClose = dataSearchFiltersClose; 570window.DG.aemData.labels.searchFilter.searchFiltersLabel = dataSearchFiltersLabel; 571window.DG.aemData.labels.searchFilter.searchFiltersClear = dataSearchFiltersClear; 572window.DG.aemData.labels.searchFilter.searchFiltersBtnView = dataSearchFiltersBtnView; 573window.DG.aemData.labels.searchFilter.searchFiltersBtnResults = dataSearchFiltersBtnResults; 574window.DG.aemData.labels.searchFilter.searchFiltersBtnResult = dataSearchFiltersBtnResult; 575window.DG.aemData.labels.searchFilter.coupons = dataCoupons; 576window.DG.aemData.labels.searchFilter.cashBack = dataCashBack; 577window.DG.aemData.labels.searchFilter.sortFilterButton = dataSortFilterButton; 578window.DG.aemData.labels.searchFilter.sortFilterTitle = dataSortFilterTitle; 579const divElementVerifyAddressTitle = document.querySelector('div[data-verify-address-title]'); 580const divElementVerifyAddressDescription = document.querySelector('div[data-verify-address-description]'); 581const divElementVerifyAddressSubtitle = document.querySelector('div[data-verify-address-subtitle]'); 582const divElementVerifyAddressButtonText = document.querySelector('div[data-verify-address-button-text]'); 583const divElementDeleteAddressTitle = document.querySelector('div[data-delete-address-title]'); 584const divElementDeleteAddressDescription = document.querySelector('div[data-delete-address-description]'); 585const divElementDeleteAddressButtonText = document.querySelector('div[data-delete-address-button-text]'); 586const divElementDeleteAddressButtonText2 = document.querySelector('div[data-delete-address-button-text2]'); 587const divElementSuggestedAddressHeader = document.querySelector('div[data-suggested-address-header]'); 588const divElementSuggestedAddressSubtitle = document.querySelector('div[data-suggested-address-subtitle]'); 589const divElementSuggestedAddressSubtitle2 = document.querySelector('div[data-suggested-address-subtitle2]'); 590const divElementSuggestedAddressCtaButton = document.querySelector('div[data-suggested-address-cta-button]'); 591const divElementEmptyAddressesTitle = document.querySelector('div[data-empty-addresses-title]'); 592const divElementEmptyAddressesSubtitle = document.querySelector('div[data-empty-addresses-subtitle]'); 593const divElementInvalidFirstName = document.querySelector('div[data-invalid-first-name]'); 594const divElementInvalidLastName = document.querySelector('div[data-invalid-last-name]'); 595const divElementInvalidAddress1 = document.querySelector('div[data-invalid-address1]'); 596const divElementInvalidAddress2 = document.querySelector('div[data-invalid-address2]'); 597const divElementInvalidZipCode = document.querySelector('div[data-invalid-zip-code]'); 598const divElementInvalidCity = document.querySelector('div[data-invalid-city]'); 599const divElementInvalidState = document.querySelector('div[data-invalid-state]'); 600const divElementSetAsDefault = document.querySelector('div[data-set-as-default]'); 601const divElementInvalidZip = document.querySelector('div[data-invalid-zip]'); 602const divElementAddAddressButton = document.querySelector('div[data-add-address-button]'); 603const divElementDefaultAddress = document.querySelector('div[data-default-address]'); 604const divElementDeleteButton = document.querySelector('div[data-delete-button]'); 605const divElementDefaultTag = document.querySelector('div[data-default-tag]'); 606const divElementEditLink = document.querySelector('div[data-edit-link]'); 607const divElementReplaceAddressTitle = document.querySelector('div[data-replace-address-title]'); 608const divElementReplaceAddressDescription = document.querySelector('div[data-replace-address-description]'); 609const divElementReplaceAddressUpdateButtonText = document.querySelector('div[data-replace-address-update-button-text]'); 610const divElementReplaceAddressButtonText = document.querySelector('div[data-replace-address-button-text]'); 611const divElementFormLabelFirstName = document.querySelector('div[data-form-label-first-name]'); 612const divElementFormLabelLastName = document.querySelector('div[data-form-label-last-name]'); 613const divElementFormLabelAddress1 = document.querySelector('div[data-form-label-address1]'); 614const divElementFormLabelAddress2 = document.querySelector('div[data-form-label-address2]'); 615const divElementFormLabelCity = document.querySelector('div[data-form-label-city]'); 616const divElementFormLabelState = document.querySelector('div[data-form-label-state]'); 617const divElementFormLabelZipCode = document.querySelector('div[data-form-label-zip-code]'); 618const divElementFormLabelStateOption = document.querySelector('div[data-form-label-state-option]'); 619const divElementEdit = document.querySelector('div[data-edit]'); 620const divElementReplace = document.querySelector('div[data-replace]'); 621const divElementUpdateAddress = document.querySelector('div[data-update-ad
621dress]'); 622const divElementSave = document.querySelector('div[data-save]'); 623const divElementBackButtonLabel = document.querySelector('div[data-back-button-label]'); 624const divElementDeliveryTextForFP = document.querySelector('div[data-delivery-text-for-fp]'); 625const divElementFirstNameRequired = document.querySelector('div[data-first-name-required]'); 626const divElementLastNameRequired = document.querySelector('div[data-last-name-required]'); 627const divElementAddress1Required = document.querySelector('div[data-address1-required]'); 628const divElementAddress2Required = document.querySelector('div[data-address2-required]'); 629const divElementZipCodeRequired = document.querySelector('div[data-zip-code-required]'); 630const divElementCityRequired = document.querySelector('div[data-city-required]'); 631const divElementStateRequired = document.querySelector('div[data-state-required]'); 632const divElementDeliveryAddressHeader = document.querySelector('div[data-delivery-address-header]'); 633const divElementDeliveryAddressReplaceHeader = document.querySelector('div[data-delivery-address-replace-header]'); 634const divElementDeliveryAddressTitle = document.querySelector('div[data-delivery-address-title]'); 635const divElementDeliveryAddressListTitle = document.querySelector('div[data-delivery-address-list-title]'); 636const divElementStoreModalHeader = document.querySelector('div[data-store-modal-header]'); 637const divElementStoreModalTitle = document.querySelector('div[data-store-modal-title]'); 638const divElementStoreListModalButtonText = document.querySelector('div[data-store-list-modal-button-text]'); 639const divElementDeliveryAddressCheckNewAddressButtonText = document.querySelector('div[data-delivery-address-check-new-address-button-text]'); 640const divElementDeliveryAddressCheckAvalabilityButtonText = document.querySelector('div[data-delivery-address-check-avalability-button-text]'); 641const divElementDeliveryAddressMiles = document.querySelector('div[data-delivery-address-miles]'); 642const divElementSuccessModalTitle = document.querySelector('div[data-success-modal-title]'); 643const divElementSuccessModalDescription = document.querySelector('div[data-success-modal-description]'); 644const divElementSuccessModalCloseButton = document.querySelector('div[data-success-modal-close-button]'); 645const divElementSuccessModalButton = document.querySelector('div[data-success-modal-button]'); 646const divElementDeliveryAddressNotAvailableModalTitle = document.querySelector('div[data-delivery-address-not-available-modal-title]'); 647const divElementDeliveryAddressNotAvailableModalDescription = document.querySelector('div[data-delivery-address-not-available-modal-description]'); 648const divElementDeliveryAddressNotAvailableModalDescriptionTwo = document.querySelector('div[data-delivery-address-not-available-modal-description-two]'); 649const divElementDeliveryAddressNotAvailableModalButtonText = document.querySelector('div[data-delivery-address-not-available-modal-button-text]'); 650const divElementDeliveryAddressNotAvailableModalButtonTextTwo = document.querySelector('div[data-delivery-address-not-available-modal-button-text-two]'); 651const divElementDeliveryTextForFpClosing = document.querySelector('div[data-delivery-text-for-fp-closing]'); 652const divElementPoBoxInvalidAddress = document.querySelector('div[data-po-box-invalid-address]'); 653 654 655// Extract data from the dataset attributes 656const dataVerifyAddressTitle = divElementVerifyAddressTitle?.dataset.verifyAddressTitle; 657const dataVerifyAddressDescription = divElementVerifyAddressDescription?.dataset.verifyAddressDescription; 658const dataVerifyAddressSubtitle = divElementVerifyAddressSubtitle?.dataset.verifyAddressSubtitle; 659const dataVerifyAddressButtonText = divElementVerifyAddressButtonText?.dataset.verifyAddressButtonText; 660const dataDeleteAddressTitle = divElementDeleteAddressTitle?.dataset.deleteAddressTitle; 661const dataDeleteAddressDescription = divElementDeleteAddressDescription?.dataset.deleteAddressDescription; 662const dataDeleteAddressButtonText = divElementDeleteAddressButtonText?.dataset.deleteAddressButtonText; 663const dataDeleteAddressButtonText2 = divElementDeleteAddressButtonText2?.dataset.deleteAddressButtonText2; 664const dataSuggestedAddressHeader = divElementSuggestedAddressHeader?.dataset.suggestedAddressHeader; 665const dataSuggestedAddressSubtitle = divElementSuggestedAddressSubtitle?.dataset.suggestedAddressSubtitle; 666const dataSuggestedAddressSubtitle2 = divElementSuggestedAddressSubtitle2?.dataset.suggestedAddressSubtitle2; 667const dataSuggestedAddressCtaButton = divElementSuggestedAddressCtaButton?.dataset.suggestedAddressCtaButton; 668const dataEmptyAddressesTitle = divElementEmptyAddressesTitle?.dataset.emptyAddressesTitle; 669const dataEmptyAddressesSubtitle = divElementEmptyAddressesSubtitle?.dataset.emptyAddressesSubtitle; 670const dataInvalidFirstName = divElementInvalidFirstName?.dataset.invalidFirstName; 671const dataInvalidLastName = divElementInvalidLastName?.dataset.invalidLastName; 672const dataInvalidAddress1 = divElementInvalidAddress1?.dataset.invalidAddress1; 673const dataInvalidAddress2 = divElementInvalidAddress2?.dataset.invalidAddress2; 674const dataInvalidZipCode = divElementInvalidZipCode?.dataset.invalidZipCode; 675const dataInvalidCity = divElementInvalidCity?.dataset.invalidCity; 676const dataInvalidState = divElementInvalidState?.dataset.invalidState; 677const dataSetAsDefault = divElementSetAsDefault?.dataset.setAsDefault; 678const dataInvalidZip = divElementInvalidZip?.dataset.invalidZip; 679const dataAddAddressButton = divElementAddAddressButton?.dataset.addAddressButton; 680const dataDefaultAddress = divElementDefaultAddress?.dataset.defaultAddress; 681const dataDeleteButton = divElementDeleteButton?.dataset.deleteButton; 682const dataDefaultTag = divElementDefaultTag?.dataset.defaultTag; 683const dataEditLink = divElementEditLink?.dataset.editLink; 684const dataReplaceAddressTitle = divElementReplaceAddressTitle?.dataset.replaceAddressTitle; 685const dataReplaceAddressDescription = divElementReplaceAddressDescription?.dataset.replaceAddressDescription; 686const dataReplaceAddressUpdateButtonText = divElementReplaceAddressUpdateButtonText?.dataset.replaceAddressUpdateButtonText; 687const dataReplaceAddressButtonText = divElementReplaceAddressButtonText?.dataset.replaceAddressButtonText; 688const dataFormLabelFirstName = divElementFormLabelFirstName?.dataset.formLabelFirstName; 689const dataFormLabelLastName = divElementFormLabelLastName?.dataset.formLabelLastName; 690const dataFormLabelAddress1 = divElementFormLabelAddress1?.dataset.formLabelAddress1; 691const dataFormLabelAddress2 = divElementFormLabelAddress2?.dataset.formLabelAddress2; 692const dataFormLabelCity = divElementFormLabelCity?.dataset.formLabelCity; 693const dataFormLabelState = divElementFormLabelState?.dataset.formLabelState; 694const dataFormLabelZipCode = divElementFormLabelZipCode?.dataset.formLabelZipCode; 695const dataFormLabelStateOption = divElementFormLabelStateOption?.dataset.formLabelStateOption; 696const dataEdit = divElementEdit?.dataset.edit; 697const dataReplace = divElementReplace?.dataset.replace; 698const dataUpdateAddress = divElementUpdateAddress?.dataset.updateAddress; 699const dataSave = divElementSave?.dataset.save; 700const dataBackButtonLabel = divElementBackButtonLabel?.dataset.backButtonLabel; 701const dataDeliveryTextForFP = divElementDeliveryTextForFP?.dataset.deliveryTextForFp; 702const dataFirstNameRequired = divElementFirstNameRequired?.dataset.f
702irstNameRequired; 703const dataLastNameRequired = divElementLastNameRequired?.dataset.lastNameRequired; 704const dataAddress1Required = divElementAddress1Required?.dataset.address1Required; 705const dataAddress2Required = divElementAddress2Required?.dataset.address2Required; 706const dataZipCodeRequired = divElementZipCodeRequired?.dataset.zipCodeRequired; 707const dataCityRequired = divElementCityRequired?.dataset.cityRequired; 708const dataStateRequired = divElementStateRequired?.dataset.stateRequired; 709const dataDeliveryAddressHeader = divElementDeliveryAddressHeader?.dataset.deliveryAddressHeader; 710const dataDeliveryAddressReplaceHeader = divElementDeliveryAddressReplaceHeader?.dataset.deliveryAddressReplaceHeader; 711const dataDeliveryAddressTitle = divElementDeliveryAddressTitle?.dataset.deliveryAddressTitle; 712const dataDeliveryAddressListTitle = divElementDeliveryAddressListTitle?.dataset.deliveryAddressListTitle; 713const dataStoreModalHeader = divElementStoreModalHeader?.dataset.storeModalHeader; 714const dataStoreModalTitle = divElementStoreModalTitle?.dataset.storeModalTitle; 715const dataStoreListModalButtonText = divElementStoreListModalButtonText?.dataset.storeListModalButtonText; 716const dataDeliveryAddressCheckNewAddressButtonText = divElementDeliveryAddressCheckNewAddressButtonText?.dataset.deliveryAddressCheckNewAddressButtonText; 717const dataDeliveryAddressCheckAvalabilityButtonText = divElementDeliveryAddressCheckAvalabilityButtonText?.dataset.deliveryAddressCheckAvalabilityButtonText; 718const dataDeliveryAddressMiles = divElementDeliveryAddressMiles?.dataset.deliveryAddressMiles; 719const dataSuccessModalTitle = divElementSuccessModalTitle?.dataset.successModalTitle; 720const dataSuccessModalDescription = divElementSuccessModalDescription?.dataset.successModalDescription; 721const dataSuccessModalCloseButton = divElementSuccessModalCloseButton?.dataset.successModalCloseButton; 722const dataSuccessModalButton = divElementSuccessModalButton?.dataset.successModalButton; 723const dataDeliveryAddressNotAvailableModalTitle = divElementDeliveryAddressNotAvailableModalTitle?.dataset.deliveryAddressNotAvailableModalTitle; 724const dataDeliveryAddressNotAvailableModalDescription = divElementDeliveryAddressNotAvailableModalDescription?.dataset.deliveryAddressNotAvailableModalDescription; 725const dataDeliveryAddressNotAvailableModalDescriptionTwo = divElementDeliveryAddressNotAvailableModalDescriptionTwo?.dataset.deliveryAddressNotAvailableModalDescriptionTwo; 726const dataDeliveryAddressNotAvailableModalButtonText = divElementDeliveryAddressNotAvailableModalButtonText?.dataset.deliveryAddressNotAvailableModalButtonText; 727const dataDeliveryAddressNotAvailableModalButtonTextTwo = divElementDeliveryAddressNotAvailableModalButtonTextTwo?.dataset.deliveryAddressNotAvailableModalButtonTextTwo; 728const dataDeliveryTextForFpClosing = divElementDeliveryTextForFpClosing?.dataset.deliveryTextForFpClosing; 729const dataPoBoxInvalidAddress = divElementPoBoxInvalidAddress?.dataset.poBoxInvalidAddress; 730 731 732// Assign data to window object for each label 733window.DG.aemData.labels.myAddress.verifyAddressTitle = dataVerifyAddressTitle; 734window.DG.aemData.labels.myAddress.verifyAddressDescription = dataVerifyAddressDescription; 735window.DG.aemData.labels.myAddress.verifyAddressSubtitle = dataVerifyAddressSubtitle; 736window.DG.aemData.labels.myAddress.verifyAddressButtonText = dataVerifyAddressButtonText; 737window.DG.aemData.labels.myAddress.deleteAddressTitle = dataDeleteAddressTitle; 738window.DG.aemData.labels.myAddress.deleteAddressDescription = dataDeleteAddressDescription; 739window.DG.aemData.labels.myAddress.deleteAddressButtonText = dataDeleteAddressButtonText; 740window.DG.aemData.labels.myAddress.deleteAddressButtonText2 = dataDeleteAddressButtonText2; 741window.DG.aemData.labels.myAddress.suggestedAddressHeader = dataSuggestedAddressHeader; 742window.DG.aemData.labels.myAddress.suggestedAddressSubtitle = dataSuggestedAddressSubtitle; 743window.DG.aemData.labels.myAddress.suggestedAddressSubtitle2 = dataSuggestedAddressSubtitle2; 744window.DG.aemData.labels.myAddress.suggestedAddressCtaButton = dataSuggestedAddressCtaButton; 745window.DG.aemData.labels.myAddress.emptyAddressesTitle = dataEmptyAddressesTitle; 746window.DG.aemData.labels.myAddress.emptyAddressesSubtitle = dataEmptyAddressesSubtitle; 747window.DG.aemData.labels.myAddress.invalidFirstName = dataInvalidFirstName; 748window.DG.aemData.labels.myAddress.invalidLastName = dataInvalidLastName; 749window.DG.aemData.labels.myAddress.invalidAddress1 = dataInvalidAddress1; 750window.DG.aemData.labels.myAddress.invalidAddress2 = dataInvalidAddress2; 751window.DG.aemData.labels.myAddress.invalidZipCode = dataInvalidZipCode; 752window.DG.aemData.labels.myAddress.invalidCity = dataInvalidCity; 753window.DG.aemData.labels.myAddress.invalidState = dataInvalidState;
754window.DG.aemData.labels.myAddress.setAsDefault = dataSetAsDefault; 755window.DG.aemData.labels.myAddress.invalidZip = dataInvalidZip; 756window.DG.aemData.labels.myAddress.addAddressButton = dataAddAddressButton; 757window.DG.aemData.labels.myAddress.defaultAddress = dataDefaultAddress; 758window.DG.aemData.labels.myAddress.deleteButton = dataDeleteButton; 759window.DG.aemData.labels.myAddress.defaultTag = dataDefaultTag; 760window.DG.aemData.labels.myAddress.editLink = dataEditLink; 761window.DG.aemData.labels.myAddress.replaceAddressTitle = dataReplaceAddressTitle; 762window.DG.aemData.labels.myAddress.replaceAddressDescription = dataReplaceAddressDescription; 763window.DG.aemData.labels.myAddress.replaceAddressUpdateButtonText = dataReplaceAddressUpdateButtonText; 764window.DG.aemData.labels.myAddress.replaceAddressButtonText = dataReplaceAddressButtonText; 765window.DG.aemData.labels.myAddress.formLabelFirstName = dataFormLabelFirstName; 766window.DG.aemData.labels.myAddress.formLabelLastName = dataFormLabelLastName; 767window.DG.aemData.labels.myAddress.formLabelAddress1 = dataFormLabelAddress1; 768window.DG.aemData.labels.myAddress.formLabelAddress2 = dataFormLabelAddress2; 769window.DG.aemData.labels.myAddress.formLabelCity = dataFormLabelCity; 770window.DG.aemData.labels.myAddress.formLabelState = dataFormLabelState; 771window.DG.aemData.labels.myAddress.formLabelZipCode = dataFormLabelZipCode; 772window.DG.aemData.labels.myAddress.formLabelStateOption = dataFormLabelStateOption; 773window.DG.aemData.labels.myAddress.edit = dataEdit; 774window.DG.aemData.labels.myAddress.replace = dataReplace; 775window.DG.aemData.labels.myAddress.updateAddress = dataUpdateAddress; 776window.DG.aemData.labels.myAddress.save = dataSave; 777window.DG.aemData.labels.myAddress.backButtonLabel = dataBackButtonLabel; 778window.DG.aemData.labels.myAddress.deliveryTextForFP = dataDeliveryTextForFP; 779window.DG.aemData.labels.myAddress.firstNameRequired = dataFirstNameRequired; 780window.DG.aemData.labels.myAddress.lastNameRequired = dataLastNameRequired; 781window.DG.aemData.labels.myAddress.address1Required = dataAddress1Required; 782window.DG.aemData.labels.myAddress.address2Required = dataAddress2Required; 783window.DG.aemData.labels.myAddress.zipCodeRequired = dataZipCodeRequired; 784window.DG.aemData.labels.myAddress.cityRequired = dataCityRequired; 785window.DG.aemData.labels.myAddress.stateRequired = dataStateRequired; 786window.DG.aemData.labels.myAddress.deliveryAddressHeader = dataDeliveryAddressHeader; 787window.DG.aemData.labels.myAddress.deliveryAddressReplaceHeader = dataDeliveryAddressReplaceHeader; 788window.DG.aemData.labels.myAddress.deliveryAddressTitle = dataDeliveryAddressTitle; 789window.DG.aemData.labels.myAddress.deliveryAddressListTitle = dataDeliveryAddressListTitle; 790window.DG.aemData.labels.myAddress.storeModalHeader = dataStoreModalHeader; 791window.DG.aemData.labels.myAddress.storeModalTitle = dataStoreModalTitle; 792window.DG.aemData.labels.myAddress.storeListModalButtonText = dataStoreListModalButtonText; 793window.DG.aemData.labels.myAddress.deliveryAddressCheckNewAddressButtonText = dataDeliveryAddressCheckNewAddressButtonText; 794window.DG.aemData.labels.myAddress.deliveryAddressCheckAvalabilityButtonText = dataDeliveryAddressCheckAvalabilityButtonText; 795window.DG.aemData.labels.myAddress.deliveryAddressMiles = dataDeliveryAddressMiles; 796window.DG.aemData.labels.myAddress.successModalTitle = dataSuccessModalTitle; 797window.DG.aemData.labels.myAddress.successModalDescription = dataSuccessModalDescription; 798window.DG.aemData.labels.myAddress.successModalCloseButton = dataSuccessModalCloseButton; 799window.DG.aemData.labels.myAddress.successModalButton = dataSuccessModalButton; 800window.DG.aemData.labels.myAddress.deliveryAddressNotAvailableModalTitle = dataDeliveryAddressNotAvailableModalTitle; 801window.DG.aemData.labels.myAddress.deliveryAddressNotAvailableModalDescription = dataDeliveryAddressNotAvailableModalDescription; 802window.DG.aemData.labels.myAddress.deliveryAddressNotAvailableModalDescriptionTwo = dataDeliveryAddressNotAvailableModalDescriptionTwo; 803window.DG.aemData.labels.myAddress.deliveryAddressNotAvailableModalButtonText = dataDeliveryAddressNotAvailableModalButtonText; 804window.DG.aemData.labels.myAddress.deliveryAddressNotAvailableModalButtonTextTwo = dataDeliveryAddressNotAvailableModalButtonTextTwo; 805window.DG.aemData.labels.myAddress.deliveryTextForFPClosing = dataDeliveryTextForFpClosing; 806window.DG.aemData.labels.myAddress.poBoxInvalidAddress = dataPoBoxInvalidAddress; 807 808const divElementFilterText = document.querySelector('div[data-filter-text]'); 809const divElementFilteredText = document.querySelector('div[data-filtered-text]'); 810const divElementFiltersModalViewLabel = document.querySelector('div[data-filters-modal-view-label]'); 811const divElementResultsLabel = document.querySelector('div[data-results-label]'); 812 813// Extract data from the dataset attributes
814const dataFilterText = divElementFilterText?.dataset.filterText; 815const dataFilteredText = divElementFilteredText?.dataset.filteredText; 816const dataFiltersModalViewLabel = divElementFiltersModalViewLabel?.dataset.filtersModalViewLabel; 817const dataResultsLabel = divElementResultsLabel?.dataset.resultsLabel; 818 819// Assign data to window object for each label 820window.DG.aemData.labels.filtersModal.filterText = dataFilterText; 821window.DG.aemData.labels.filtersModal.filteredText = dataFilteredText; 822window.DG.aemData.labels.filtersModal.filtersModalViewLabel = dataFiltersModalViewLabel; 823window.DG.aemData.labels.filtersModal.resultsLabel = dataResultsLabel; 824const divElementOriginalPriceLabel = document.querySelector('div[data-original-price-label]'); 825 826const dataOriginalPriceLabel= divElementOriginalPriceLabel?.dataset.originalPriceLabel; 827 828window.DG.aemData.labels.CartProduct.originalPriceLabel = dataOriginalPriceLabel; 829const divElementViewCompleteStoreDetails = document.querySelector('div[data-view-complete-store-details]'); 830const dataViewCompleteStoreDetails = divElementViewCompleteStoreDetails?.dataset.viewCompleteStoreDetails; 831window.DG.aemData.labels.storeLocator.viewCompleteStoreDetails = dataViewCompleteStoreDetails; 832 833// Extracting Monday 834const divElementMonday = document.querySelector('div[data-monday-windowobject]'); 835const dataMonday = divElementMonday?.dataset.mondayWindowobject; 836window.DG.aemData.labels.storeLocator.monday = dataMonday; 837 838// Extracting Tuesday 839const divElementTuesday = document.querySelector('div[data-tuesday-windowobject]'); 840const dataTuesday = divElementTuesday?.dataset.tuesdayWindowobject; 841window.DG.aemData.labels.storeLocator.tuesday = dataTuesday; 842 843// Extracting Wednesday 844const divElementWednesday = document.querySelector('div[data-wednesday-windowobject]'); 845const dataWednesday = divElementWednesday?.dataset.wednesdayWindowobject; 846window.DG.aemData.labels.storeLocator.wednesday = dataWednesday; 847 848// Extracting Thursday 849const divElementThursday = document.querySelector('div[data-thursday-windowobject]'); 850const dataThursday = divElementThursday?.dataset.thursdayWindowobject; 851window.DG.aemData.labels.storeLocator.thursday = dataThursday; 852 853// Extracting Friday 854const divElementFriday = document.querySelector('div[data-friday-windowobject]'); 855const dataFriday = divElementFriday?.dataset.fridayWindowobject; 856window.DG.aemData.labels.storeLocator.friday = dataFriday; 857 858// Extracting Saturday 859const divElementSaturday = document.querySelector('div[data-saturday-windowobject]'); 860const dataSaturday = divElementSaturday?.dataset.saturdayWindowobject; 861window.DG.aemData.labels.storeLocator.saturday = dataSaturday; 862 863// Extracting Sunday 864const divElementSunday = document.querySelector('div[data-sunday-windowobject]'); 865const dataSunday = divElementSunday?.dataset.sundayWindowobject; 866window.DG.aemData.labels.storeLocator.sunday = dataSunday; 867 868// Extracting Hours 869const divElementHours = document.querySelector('div[data-hours]'); 870const dataHours = divElementHours?.dataset.hours; 871window.DG.aemData.labels.storeLocator.hours = dataHours; 872 873// Extracting Store Services 874const divElementStoreServices = document.querySelector('div[data-store-services]'); 875const dataStoreServices = divElementStoreServices?.dataset.storeServices; 876window.DG.aemData.labels.storeLocator.storeServices = dataStoreServices; 877 878// Extracting Change Store Text 879const divElementChangeStoreText = document.querySelector('div[data-change-store-text]'); 880const dataChangeStoreText = divElementChangeStoreText?.dataset.changeStoreText; 881window.DG.aemData.labels.storeLocator.changeStoreText = dataChangeStoreText; 882 883// Extracting Selected Location Label 884const divElementSelectedLocationLabel = document.querySelector('div[data-selected-location-label]'); 885const dataSelectedLocationLabel = divElementSelectedLocationLabel?.dataset.selectedLocationLabel; 886window.DG.aemData.labels.storeLocator.selectedLocationLabel = dataSelectedLocationLabel; 887 888// Extracting Change Location Text 889const divElementChangeLocationText = document.querySelector('div[data-change-location-text]'); 890const dataChangeLocationText = divElementChangeLocationText?.dataset.changeLocationText; 891window.DG.aemData.labels.storeLocator.changeLocationText = dataChangeLocationText; 892 893// Extracting Location Input Label 894const divElementLocationInputLabel = document.querySelector('div[data-location-input-label]'); 895const dataLocationInputLabel = divElementLocationInputLabel?.dataset.locationInputLabel; 896window.DG.aemData.labels.storeLocator.locationInputLabel = dataLocationInputLabel; 897 898// Extracting Apply Location Text 899const divElementApplyLocationText = document.querySelector('div[data-apply-location-text]'); 900const dataApplyLocationText = divElementApplyLocationText?.dataset.applyLocationText; 901window.DG.aemData.labels.storeLocator.applyLocationText = dataApplyLocationText; 902 903// Extracting Use My Location Text 904const divElementUseMyLocationText = document.querySelector('div[data-use-my-location-text]'); 905const dataUseMyLocationText = divElementUseMyLocationText?.dataset.useMyLocationText; 906window.DG.aemData.labels.storeLocator.useMyLocationText = dataUseMyLocationText; 907 908// Extracting Filter Label 909const divElementFilterLabel = document.querySelector('div[data-filter-label]');
910const dataFilterLabel = divElementFilterLabel?.dataset.filterLabel; 911window.DG.aemData.labels.storeLocator.filterLabel = dataFilterLabel; 912 913// Extracting Filter Option One 914const divElementFilterOptionOne = document.querySelector('div[data-filter-option-one]'); 915const dataFilterOptionOne = divElementFilterOptionOne?.dataset.filterOptionOne; 916window.DG.aemData.labels.storeLocator.filterOptionOne = dataFilterOptionOne; 917 918// Extracting Filter Option Two 919const divElementFilterOptionTwo = document.querySelector('div[data-filter-option-two]'); 920const dataFilterOptionTwo = divElementFilterOptionTwo?.dataset.filterOptionTwo; 921window.DG.aemData.labels.storeLocator.filterOptionTwo = dataFilterOptionTwo; 922 923// Extracting Filter Option Three 924const divElementFilterOptionThree = document.querySelector('div[data-filter-option-three]'); 925const dataFilterOptionThree = divElementFilterOptionThree?.dataset.filterOptionThree; 926window.DG.aemData.labels.storeLocator.filterOptionThree = dataFilterOptionThree; 927 928// Extracting No Stores Available Text 929const divElementNoStoresAvailableText = document.querySelector('div[data-no-stores-available-text]'); 930const dataNoStoresAvailableText = divElementNoStoresAvailableText?.dataset.noStoresAvailableText; 931window.DG.aemData.labels.storeLocator.noStoresAvailableText = dataNoStoresAvailableText; 932 933// Extracting Distance Unit Label 934const divElementDistanceUnitLabel = document.querySelector('div[data-distance-unit-label]'); 935const dataDistanceUnitLabel = divElementDistanceUnitLabel?.dataset.distanceUnitLabel; 936window.DG.aemData.labels.storeLocator.distanceUnitLabel = dataDistanceUnitLabel; 937// Extracting Store Issue PDP 938const divElementStoreIssuePdp = document.querySelector('div[data-store-issue-pdp]'); 939const dataStoreIssuePdp = divElementStoreIssuePdp?.dataset.storeIssuePdp; 940window.DG.aemData.labels.productTile.storeIssuePDP = dataStoreIssuePdp; 941 942// Extracting Sponsored Label 943const divElementSponsored = document.querySelector('div[data-sponsored]'); 944const dataSponsored = divElementSponsored?.dataset.sponsored; 945window.DG.aemData.labels.productTile.sponsored = dataSponsored; 946 947// Extracting Multiple Deals Label 948const divElementMultipleDeals = document.querySelector('div[data-multiple-deals]'); 949const dataMultipleDeals = divElementMultipleDeals?.dataset.multipleDeals; 950window.DG.aemData.labels.productTile.multipleDeals = dataMultipleDeals; 951 952// Extracting Offer Label 953const divElementOffer = document.querySelector('div[data-offer]'); 954const dataOffer = divElementOffer?.dataset.offer; 955window.DG.aemData.labels.productTile.offer = dataOffer; 956 957// Extracting Deals Label 958const divElementDeals = document.querySelector('div[data-deals]'); 959const dataDeals = divElementDeals?.dataset.deals; 960window.DG.aemData.labels.productTile.deals = dataDeals; 961 962// Extracting Product Quantity Not Available 963const divElementProductQuantityNotAvailable = document.querySelector('div[data-product-quantity-not-available]'); 964const dataProductQuantityNotAvailable = divElementProductQuantityNotAvailable?.dataset.productQuantityNotAvailable; 965window.DG.aemData.labels.productTile.productQuantityNotAvailable = dataProductQuantityNotAvailable; 966 967const divElementProductNotEligibleForShipping = document.querySelector('div[data-product-not-eligible-for-shipping]'); 968window.DG.aemData.labels.productTile.productNotEligibleForShipping = divElementProductNotEligibleForShipping?.dataset?.productNotEligibleForShipping; 969 970const divElementProductNotEligibleForDelivery = document.querySelector('div[data-product-not-eligible-for-delivery]'); 971window.DG.aemData.labels.productTile.productNotEligibleForDelivery = divElementProductNotEligibleForDelivery?.dataset?.productNotEligibleForDelivery; 972 973const divElementProductOutOfStock = document.querySelector('div[data-product-out-of-stock]'); 974window.DG.aemData.labels.productTile.productOutOfStock = divElementProductOutOfStock?.dataset?.productOutOfStock; 975// Extracting Track Order Text 976const divElementTrackOrderText = document.querySelector('div[data-track-order-text]'); 977const dataTrackOrderText = divElementTrackOrderText?.dataset.trackOrderText; 978window.DG.aemData.labels.orderDetails.trackOrderText = dataTrackOrderText; 979 980// Extracting Order Tracking Link 981const divElementOrderTrackingLink = document.querySelector('div[data-order-tracking-link]'); 982const dataOrderTrackingLink = divElementOrderTrackingLink?.dataset.orderTrackingLink; 983window.DG.aemData.labels.orderDetails.orderTrackingLink = dataOrderTrackingLink; 984 985// Extracting Modal Title 986const divElementModalTitle = document.querySelector('div[data-modal-title]'); 987const dataModalTitle = divElementModalTitle?.dataset.modalTitle; 988window.DG.aemData.labels.fullfilmentPickerChangeModal.modalTitle = dataModalTitle; 989 990// Extracting Modal Description 991const divElementModalDescription = document.querySelector('div[data-modal-description]'); 992const dataModalDescription = divElementModalDescription?.dataset.modalDescription; 993window.DG.aemData.labels.fullfilmentPickerChangeModal.modalDescription = dataModalDescription; 994 995// Extracting Checkout Button Label 996const divElementCheckoutButton = document.querySelector('div[data-checkout-button]'); 997const dataCheckoutButton = divElementCheckoutButton?.dataset.checkoutButton; 998window.DG.aemData.labels.fullfilmentPickerChangeModal.checkoutButton = dataCheckoutButton; 999 1000// Extracting In Store Button Label 1001const divElementInStoreButton = document.querySelector('div[data-in-store-button]'); 1002const dataInStoreButton = divElementInStoreButton?.dataset.inStoreButton; 1003window.DG.aemData.labels.fullfilmentPickerChangeModal.inStoreButton = dataInStoreButton; 1004const divElementSignifydScriptUrl = document.querySelector('div[data-signifyd-script-url]'); 1005const dataSignifydScriptUrl= divElementSignifydScriptUrl?.dataset.signifydScriptUrl; 1006window.DG.aemData.labels.signifyd.signifydScriptUrl = dataSignifydScriptUrl; 1007 1008const divElementSignifydNodeId = document.querySelector('div[data-signifyd-node-id]'); 1009const dataSignifydNodeId= divElementSignifydNodeId?.dataset.signifydNodeId; 1010window.DG.aemData.labels.signifyd.signifydNodeId = dataSignifydNodeId;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.