PageSourceSearch

https://www.dollargeneral.com/etc.clientlibs/dollargeneral/clientl…-3355b92dc26e3b086462befbf2961012-lc.min.js

js dollargeneral.com collected 2026-09-24 08:50:32 UTC 78,752 bytes, 1,010 lines download raw bytes

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.