1(function(){"use strict";var __webpack_modules__={
1"./resources/js/form.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers_cookie_helper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/cookie-helper.js */ \"./resources/js/helpers/cookie-helper.js\");\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n\nvar _require = __webpack_require__(/*! ./format */ \"./resources/js/format.js\"),\n formatMoney = _require.formatMoney,\n formatDate = _require.formatDate;\nvar _require2 = __webpack_require__(/*! ./helpers/classlistModifier */ \"./resources/js/helpers/classlistModifier.js\"),\n modifyClass = _require2.modifyClass;\nvar _require3 = __webpack_require__(/*! ./helpers/toggleVisibility */ \"./resources/js/helpers/toggleVisibility.js\"),\n toggleVisibility = _require3.toggleVisibility;\nvar _require4 = __webpack_require__(/*! ./report-error */ \"./resources/js/report-error.js\"),\n reportError = _require4.reportError;\nvar getMandatoryUrlParameters = function getMandatoryUrlParameters() {\n return typeof mandatoryUrlParameters !== 'undefined' && mandatoryUrlParameters !== '' ? mandatoryUrlParameters : [];\n};\nvar getFormApiKey = function getFormApiKey() {\n return typeof formApiKey !== 'undefined' ? formApiKey : '';\n};\nvar formWrappers = document.querySelectorAll('.general-form-wrapper');\nvar responses = document.querySelectorAll('.general-response-wrapper');\nvar template = window.Shopify.template;
1\nvar urlParams = new URLSearchParams(window.location.search);\nvar toggleReturnPopup = function toggleReturnPopup(trigger, popup) {\n trigger.addEventListener('click', function (e) {\n e.preventDefault();\n toggleVisibility(popup);\n document.body.classList.toggle('overflow-hidden');\n });\n};\n\n//Functionality by template\n//Get params\nswitch (template) {\n case 'page.my-account':\n case 'page.internal-tracking':\n var trackingCode = urlParams.get('trackingCode');\n if (trackingCode === null && template == 'page.internal-tracking') {\n formWrappers.forEach(function (form) {\n //Show the form\n if (form.classList.contains('general-form-wrapper__tracking')) {\n toggleVisibility(form, 'show');\n }\n\n //Submit form\n form.addEventListener('submit', function (e) {\n try {\n e.preventDefault();\n //Get inputs, encode and redirect\n var inputs = e.target.querySelectorAll('input');\n var orderName, zipCodeInput;\n inputs.forEach(function (input) {\n switch (input.name) {\n case 'order_number':\n orderName = input.value;\n break;\n case 'zip_code':\n zipCodeInput = input.value;\n break;\n }\n });\n if (zipCodeInput && orderName) {\n var encodedString = window.btoa('order_name=' + orderName + '|zip_code=' + zipCodeInput);\n var url = location.href + '?trackingCode=' + encodedString;\n location.href = url;\n } else {\n throw new Error('Not all inputs are filled');\n }\n } catch (e) {\n reportError(e);\n }\n });\n });\n } else {\n //Receive data\n var url = '';\n var authorizationToken = '';\n var token = (0,_helpers_cookie_helper_js__WEBPACK_IMPORTED_MODULE_0__.getCookie)('pdp_jwt');\n var email = (0,_helpers_cookie_helper_js__WEBPACK_IMPORTED_MODULE_0__.getCookie)('pdp_email');\n authorizationToken = {\n \"pdp-api-key\": \"760ed2042cb1588461055bde72baa84efabfbf018fa0ab507cb818dad6d4b2b2\"\n };\n if (template == 'page.my-account' && token != undefined && email != undefined) {\n url = 'https://apigw.pdpaola.com/api/myaccount/orders/' + email;\n } else if (template == 'page.internal-tracking') {\n url = 'https://apigw.pdpaola.com/api/myaccount/tracking/' + trackingCode;\n }\n if (url.length > 0) {\n //Paint one order/tracking\n var createFillOrderContainer = function createFillOrderContainer(order) {\n var _document$getElementB;\n var tracking = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var transaction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var currentOrder = document.querySelectorAll('.general-response-wrapper')[i];\n var currentOrderProductsContainer = currentOrder.querySelector('.track-items');\n var errorShippingStatuses = ['BA', 'NAH', 'NAH2', 'NAH3', 'DOC', 'CAN', 'L', 'D', 'DES', 'T', 'RTO', 'REF', 'DLY', 'EDLY', 'PD', 'IMP', 'OTH'];\n var states = ['order-received', 'preparing', 'shipped', 'received'];\n\n //Choose the current state\n var orderFinancialStatus = order.financial_status;\n var currentState = states[0];\n if (orderFinancialStatus == 'paid') {\n currentState = states[1];\n if (tracking.length > 0 || tracking != null) {\n currentState = states[2];\n if (tracking.status == 'delivered_to_pickup_point' || tracking.status == 'delivered') {\n currentState = states[3];\n }\n }\n }\n var stateTitle = parsedTranslations.tracking_titles[currentState];\n var stateSubtitle = parsedTranslations.tracking_subtitles[currentState];\n //End choose the current state\n\n var orderName = order.name;\n var orderEmail = order.customer_email;\n var orderShippingName,\n shippingStreet1,\n shippingStreet2,\n orderShippingStreet,\n orderShippingCityCountry,\n orderBillingName,\n billingStreet1,\n billingStreet2,\n orderBillingStreet,\n orderBillingCityCountry = '';\n if (order.source_name == \"pos\") {\n currentOrder.querySelectorAll('.hide_pos').forEach(function (hidePosElement) {\n return toggleVisibility(hidePosElement, 'hide');\n });\n } else {\n if (order.shipping_address !== null && Object.keys(order.shipping_address).length > 0) {\n orderShippingName = order.shipping_address.name;\n shippingStreet1 = order.shipping_address.address_1;\n shippingStreet2 = order.shipping_address.address_2 ? ', ' + order.shipping_address.address_2 : '';\n orderShippingStreet = shippingStreet1 + shippingStreet2;\n orderShippingCityCountry = order.shipping_address.city + ', ' + order.shipping_address.zip + ' ' + order.shipping_address.country;\n } else {\n var shippingAddressContainers = currentOrder.querySelectorAll('[data-order-shipping]');
1\n shippingAddressContainers.forEach(function (shippingAddressContainer) {\n toggleVisibility(shippingAddressContainer, 'hide');\n });\n }\n if (order.billing_address !== null && Object.keys(order.billing_address).length > 0) {\n orderBillingName = order.billing_address.name;\n billingStreet1 = order.billing_address.address_1;\n billingStreet2 = order.billing_address.address_2 ? ', ' + order.billing_address.address_2 : '';\n orderBillingStreet = billingStreet1 + billingStreet2;\n orderBillingCityCountry = order.billing_address.city + ', ' + order.billing_address.zip + ' ' + order.billing_address.country;\n } else {\n var billingAddressContainer = currentOrder.querySelector('[data-order-billing]');\n toggleVisibility(billingAddressContainer, 'hide');\n }\n }\n\n //Format prices and add them in data\n var locale;\n if (theme.moneyFormat.indexOf('amount_with_comma_separator') != -1) {\n locale = \"de-DE\";\n } else {\n locale = \"en-US\";\n }\n var orderTotal = formatMoney(order.local_order_total_paid, locale);\n var orderSubtotal = formatMoney(order.local_order_total_line_items_price, locale);\n var orderDiscounts = '-' + formatMoney(order.local_order_discount, locale);\n var orderShipping = formatMoney(order.local_shipping_total_paid, locale);\n var orderPayingCard = _typeof(transaction) == 'object' ? transaction.payment_details.credit_card_number : '';\n\n //Create new Date instance with the given date and add it in data\n var orderDate = formatDate(order.created_at);\n var orderReturnLink = '';\n if (orderName.startsWith('SC001') || orderName.startsWith('OC1')) {\n var _order$shipping_addre;\n if (((_order$shipping_addre = order.shipping_address) === null || _order$shipping_addre === void 0 ? void 0 : _order$shipping_addre.country_code) == 'ES') {\n orderReturnLink = 'https://pdpaola-es.returnbird.com/#/';\n } else {\n orderReturnLink = 'https://pdpaola-eur.returnbird.com/#/';\n }\n } else if (orderName.startsWith('SC002') || orderName.startsWith('OC2')) {\n orderReturnLink = 'https://pdpaola-row.returnbird.com/#/';\n } else if (orderName.startsWith('SC005') || orderName.startsWith('PDP') && orderName.endsWith('UK')) {\n orderReturnLink = 'https://pdpaola-row.returnbird.com/#/';\n } else if (orderName.startsWith('PDP') || orderName.startsWith('GE')) {\n orderReturnLink = 'https://returns.pdpaola.com/#/';\n }\n var orderReturnLinkElement = currentOrder.querySelector('[data-order-return-link]');\n var orderWarrantyLinkElement = currentOrder.querySelector('[data-order-warranty-link]');\n if (orderReturnLinkElement != null) {\n if (orderReturnLink != '') {\n orderReturnLinkElement.href = orderReturnLink;\n orderWarrantyLinkElement.href = orderReturnLink;\n } else {\n orderReturnLinkElement.classList.add('hidden');\n }\n }\n var orderSelectors = {\n 'order-name': orderName,\n 'order-shipping-name': orderShippingName,\n 'order-shipping-street': orderShippingStreet,\n 'order-shipping-city-country': orderShippingCityCountry,\n 'order-billing-name': orderBillingName,\n 'order-billing-street': orderBillingStreet,\n 'order-billing-city-country': orderBillingCityCountry,\n 'order-subtotal': orderSubtotal,\n 'order-discount-code-value': orderDiscounts,\n 'order-shipping-fee': orderShipping,\n 'total': orderTotal,\n 'state-title': stateTitle,\n 'state-subtitle': stateSubtitle,\n 'order-date': orderDate,\n 'order-email': orderEmail,\n 'transaction-card': orderPayingCard\n };\n\n // Funci\xF3n para ocultar el div con clase myapp_section y almacenar el estado en sessionStorage\n function closeAppMessage() {\n var myAppSection = document.querySelector('.myapp_section');\n if (myAppSection) {\n myAppSection.classList.remove('visible');\n sessionStorage.setItem('appMsgMyaccountClosed', 'true');\n }\n }\n\n // Agregar evento de clic al div con id close-appmsg-myaccount\n (_document$getElementB = document.getElementById('close-appmsg-myaccount')) === null || _document$getElementB === void 0 || _document$getElementB.addEventListener('click', closeAppMessage);\n\n // Comprobar el estado al cargar la p\xE1gina\n var appMsgMyaccountClosed = sessionStorage.getItem('appMsgMyaccountClosed');\n if (appMsgMyaccountClosed === null || appMsgMyaccountClosed !== 'true') {\n var myAppSection = document.querySelector('.myapp_section');\n if (myAppSection) {\n myAppSection.classList.add('visible');\n }\n }\n var paintInformation = function paintInformation(selectors, container) {\n var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var _loop = function _loop() {\n if (selectors.hasOwnProperty(selector)) {\
1n var classSelector = '[data-' + selector + ']';\n\n //If the selector value is an object, it means we are painting product information, so we pass the index in order to point to the correct product\n var selectorValue = selectors[selector];\n if (_typeof(selectorValue) == 'object' && selectorValue !== null) {\n selectorValue = selectors[selector][index];\n }\n\n //We use querySelectorAll because there is info which is printed in more than one place, for example orderName.\n var selectedItems = container.querySelectorAll(classSelector);\n selectedItems.forEach(function (selectedItem) {\n if (selectorValue != null && selectorValue) {\n selectedItem.innerHTML = selectorValue;\n } else {\n if (selectedItem.hasAttribute('data-transaction-card')) {\n toggleVisibility(selectedItem.closest('[data-remove-parent]'), 'hide');\n } else {\n toggleVisibility(selectedItem, 'hide');\n }\n }\n });\n }\n };\n for (var selector in selectors) {\n _loop();\n }\n };\n\n //Paint order products, it only happens in my account\n if (template == 'page.my-account') {\n var productSelectors = [];\n\n //Information received from data\n var dataProductInformation = ['title', 'variant_title', 'quantity', 'local_price', 'local_total_discount', 'engravings'];\n //HTML selectors: data-xxx-xxx\n var productInformation = ['product-title', 'product-variant', 'product-quantity', 'product-final-price', 'product-initial-price', 'product-personalized-value'];\n var individualProductsData = order.line_items;\n var individualOrderCreation = order.created_at;\n productInformation.forEach(function (productInformationPiece, k) {\n var productInformationArray = [];\n individualProductsData.forEach(function (individualProduct) {\n var dataProductInformationValue = individualProduct[dataProductInformation[k]];\n //Format money\n if (productInformationPiece == 'product-final-price') {\n //Multiply quantity for price and then substract the discount\n dataProductInformationValue = formatMoney(individualProduct[dataProductInformation[k]] * individualProduct['quantity'] - individualProduct['local_total_discount']);\n }\n\n //If no size variant, write unique size | if gift write no size\n if (productInformationPiece == 'product-variant' && !dataProductInformationValue) {\n if (individualProduct['sku'] == 'AC01-007-U') {\n dataProductInformationValue = parsedTranslations.nosize;\n } else {\n dataProductInformationValue = parsedTranslations.unique;\n }\n }\n\n //Personalized\n if (productInformationPiece == 'product-personalized-value' && dataProductInformationValue) {\n //We create a span with value and give it font-family class for every engraving\n var engravings = '';\n dataProductInformationValue.forEach(function (engraving) {\n var newEngraving = \"<span class=\\\"f-19 \".concat(engraving.font, \"\\\">\").concat(engraving.value, \"</span>\");\n engravings += newEngraving;\n });\n dataProductInformationValue = engravings;\n }\n productInformationArray.push(dataProductInformationValue);\n });\n productSelectors[productInformationPiece] = productInformationArray;\n });\n\n //We only have 1 product printed in HTML. If we have more than one product, we will duplicate the HTML\n var productItem = currentOrderProductsContainer.innerHTML;\n individualProductsData.forEach(function (individualProductData, j) {\n if (j > 0) {\n currentOrderProductsContainer.innerHTML += productItem;\n }\n var currentProduct = currentOrderProductsContainer.querySelectorAll('.track-item')[j];\n paintInformation(productSelectors, currentProduct, j);\n\n //Set href and image\n var individualProductSKU = individualProductData.sku;\n // COM-2258 Fine Certification Button\n var regex = /^(..[0][5-6]).*/;\n var productAdditionalInfoURL = \"https://assets.pdpaola.com/products/info/\".concat(individualProductSKU.slice(0, individualProductSKU.lastIndexOf('-')), \".json\");\n fetch(productAdditionalInfoURL).then(function (response) {\n return response.text();\n }
1).then(function (data) {\n var _JSON$parse = JSON.parse(data),\n handle = _JSON$parse.handle,\n images = _JSON$parse.images,\n sku = _JSON$parse.sku;\n //We redeclare all the currentProduct from scratch because it is async and otherwise it doesn't work\n var currentProduct = document.querySelectorAll('.general-response-wrapper')[i].querySelector('.track-items').querySelectorAll('.track-item')[j];\n var productImage = images[0];\n var productHandle = handle;\n var orderID = currentOrder.querySelector('.item-title [data-order-name]').innerHTML;\n var productHref = '/products/' + productHandle;\n var hrefLinkItems = currentProduct.querySelectorAll('[data-product-url]');\n var imageSelector = currentProduct.querySelector('[data-product-image]');\n var fjItemsSku = currentProduct.querySelectorAll('[data-finejewelry-sku]');\n fjItemsSku.forEach(function (fjItemSku) {\n fjItemSku.setAttribute(\"data-sku\", individualProductSKU);\n fjItemSku.setAttribute(\"data-orderid\", orderID);\n fjItemSku.removeAttribute(\"data-finejewelry-sku\");\n });\n hrefLinkItems.forEach(function (hrefLinkItem) {\n hrefLinkItem.href = productHref;\n });\n imageSelector.src = productImage;\n imageSelector.onload = function () {\n imageSelector.classList.remove('not-loaded');\n };\n var givenDate = new Date(individualOrderCreation);\n var fixedDate = new Date('2024-06-10T00:00:00');\n if (regex.test(sku)) {\n if (givenDate >= fixedDate) {\n var fineCertified = currentProduct.querySelector('[data-finejewelry-certified]');\n fineCertified.style.display = \"flex\";\n //addFineCertifiedEventListener(fineCertified);\n }\n }\n })[\"catch\"](function (e) {\n var currentProduct = document.querySelectorAll('.general-response-wrapper')[i].querySelector('.track-items').querySelectorAll('.track-item')[j];\n var hrefLinkItems = currentProduct.querySelectorAll('[data-product-url]');\n hrefLinkItems.forEach(function (hrefLinkItem) {\n hrefLinkItem.addEventListener('click', function (e) {\n e.preventDefault();\n });\n });\n reportError(e);\n });\n });\n }\n //End paint order products, it only happens in my account\n\n //Paint data for current order\n paintInformation(orderSelectors, currentOrder);\n\n //Order state. Change also in tracking-response -> states. They have to be the same.\n var stateListItems = currentOrder.querySelectorAll('.progress-bar__text li');\n var progressBar = currentOrder.querySelector('.progress-bar__container');\n for (var _i = 0; _i < states.length;
1 _i++) {\n var item = stateListItems[_i];\n if (item.dataset['state'] == currentState) {\n progressBar.classList.add('state-' + (_i + 1));\n item.classList.add('last-active');\n break;\n } else {\n item.classList.add('active');\n }\n }\n\n //Shipping states, Only show second tracking container if state is 3/shipped\n var detailedTrackContainer = currentOrder.querySelector('.tracking-container__detailed-track-container');\n var detailedTrackList = detailedTrackContainer.querySelector('ul');\n var elements = {\n reverWarrantyButton: currentOrder.querySelector('[data-rever-warranty-link]'),\n reverReturnButton: currentOrder.querySelector('[data-rever-return-link]'),\n oderPopupReturnButton: currentOrder.querySelector('[data-return-popup-trigger]'),\n orderReturnButton: currentOrder.querySelector('[data-order-return-link]'),\n orderWarrantyButton: currentOrder.querySelector('[data-order-warranty-link]')\n };\n var reverwarrantyurl = 'https://returns.itsrever.com/pdpaola-warranty?email=' + orderEmail + '&orderNumber=' + encodeURIComponent(orderName);\n var reverurl = 'https://returns.itsrever.com/pdpaola?email=' + orderEmail + '&orderNumber=' + encodeURIComponent(orderName);\n if ((currentState == states[2] || currentState == states[3]) && tracking != '') {\n toggleVisibility(detailedTrackContainer, 'show');\n var html = '';\n\n //We apply a double reverse so we can start from the end and we get the last one when we filter and not the first one.\n var detailedTracking = tracking.tracking;\n var trackingUrl = tracking.tracking_url;\n var courier = tracking.courier;\n var uniqueTrackingItems = detailedTracking.reverse().filter(function (currentItem, index) {\n if (index === 0) {\n // We save the first element since we have no previous to compare\n return true;\n }\n var previousItem = detailedTracking[index - 1];\n return currentItem.code !== previousItem.code;\n });\n uniqueTrackingItems = uniqueTrackingItems.reverse();\n\n //Create HTML for every step of the tracking process\n uniqueTrackingItems.forEach(function (shippedItem) {\n var ymd = shippedItem.date.substring(0, shippedItem.date.indexOf(' '));\n var hms = shippedItem.date.substring(shippedItem.date.indexOf(' ') + 1);\n var stateCode = parsedTranslations.shipping_statuses[shippedItem.code];\n var stateTitle = stateCode.indexOf(',') != -1 ? stateCode.substring(0, stateCode.indexOf(',')) : stateCode;\n var stateDescription = stateCode.indexOf(',') != -1 ? stateCode.substring(stateCode.indexOf(',') + 1) : '';\n var stateLocation = shippedItem.location;\n\n //If code is in the error codes array, give class error\n html += \"<li\".concat(errorShippingStatuses.includes(shippedItem.code) ? ' class=\"error\"' : '', \">\\n <div>\\n <p class=\\\"bar-title\\\">\").concat(ymd, \"</p>\\n <p class=\\\"bar-description bold\\\">\").concat(hms, \"</p>\\n </div>\\n <div>\\n <p class=\\\"bar-title\\\">\").concat(stateTitle, \"</p>\\n \").concat(stateDescription ? \"<p class=\\\"bar-description\\\">\".concat(stateDescription, \"</p>\") : '', \"\\n \").concat(stateLocation ? \"<p class=\\\"bar-description\\\">\".concat(stateLocation, \"</p>\") : '', \"\\n </div>\\n </li>\");\n function parseDateDMY(dateStr) {\n var _dateStr$split = dateStr.split(\"/\"),\n _dateStr$split2 = _slicedToArray(_dateStr$split, 3),\n day = _dateStr$split2[0],\n month
1= _dateStr$split2[1],\n year = _dateStr$split2[2];\n return new Date(year, month - 1, day);\n }\n function isPast30Days(dateDelivered) {\n var limit = new Date(dateDelivered);\n limit.setDate(limit.getDate() + 30);\n var today = new Date();\n var cleanToday = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n return cleanToday > limit;\n }\n function toggleElementVisibility(el, show) {\n if (!el) return;\n el.classList.toggle('hidden', !show);\n }\n if (tracking.status === 'delivered') {\n var dateDelivered = parseDateDMY(ymd);\n var showWarranty = isPast30Days(dateDelivered);\n if (showWarranty) {\n var _elements$reverWarran;\n toggleElementVisibility(elements.reverWarrantyButton, true);\n toggleElementVisibility(elements.orderWarrantyButton, true);\n toggleElementVisibility(elements.orderReturnButton, false);\n toggleElementVisibility(elements.oderPopupReturnButton, false);\n toggleElementVisibility(elements.reverReturnButton, false);\n (_elements$reverWarran = elements.reverWarrantyButton) === null || _elements$reverWarran === void 0 || _elements$reverWarran.setAttribute('href', reverwarrantyurl);\n } else {\n var _elements$reverReturn;\n toggleElementVisibility(elements.reverReturnButton, true);\n (_elements$reverReturn = elements.reverReturnButton) === null || _elements$reverReturn === void 0 || _elements$reverReturn.setAttribute('href', reverurl);\n }\n } else {\n var _elements$reverReturn2;\n (_elements$reverReturn2 = elements.reverReturnButton) === null || _elements$reverReturn2 === void 0 || _elements$reverReturn2.setAttribute('href', reverurl);\n }\n });\n if (html) {\n if (trackingUrl && trackingUrl != '') {\n var text = 'Check status directly from courier website (' + courier + ')';\n html += \"<a href=\\\"\".concat(trackingUrl, \"\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\" class=\\\"hover-pointer\\\"> \").concat(text, \"</p>\");\n }\n detailedTrackList.innerHTML = html;\n } else {\n detailedTrackContainer.remove();\n }\n } else {\n var _elements$reverReturn3;\n (_elements$reverReturn3 = elements.reverReturnButton) === null || _elements$reverReturn3 === void 0 || _elements$reverReturn3.setAttribute('href', reverurl);\n }\n\n //Accordions for my account\n var accordionTriggers = document.querySelectorAll('.details-trigger');\n var accordionContainers = document.querySelectorAll('.accordion-container');\n accordionTriggers.forEach(function (accordionTrigger) {\n accordionTrigger.addEventListener('click', function (e) {\n e.preventDefault();\n accordionContainers.forEach(function (accordionContainer) {\n if (accordionTrigger != accordionContainer.querySelector('.details-trigger')) {\n accordionContainer.classList.remove('is-open');\n }\n });\n accordionTrigger.closest('.accordion-container').classList.toggle('is-open');\n });\n });\n\n //Returns popup\n var returnPopup = currentOrder.querySelector('[data-return-popup]');\n var returnPopupTriggers = document.querySelectorAll('[data-return-popup-trigger]');\n if (returnPopup != null) {\n returnPopupTriggers.forEach(function (returnPopupTrigger) {\n toggleReturnPopup(returnPopupTrigger, returnPopup);\n });\n }\n };\n $.ajax({\n url: url,\n headers: authorizationToken,\n success: function success(data) {\
1n if (template == 'page.my-account') {\n var _data$data = data.data,\n customer = _data$data.customer,\n orders = _data$data.orders,\n trackings = _data$data.trackings,\n transactions = _data$data.transactions;\n var sectionToPaste = document.querySelector('.general-response-wrapper');\n var sectionContainer = sectionToPaste.closest('.shopify-section');\n var sectionHTML = sectionToPaste.outerHTML;\n orders.forEach(function (order, i) {\n //We only have 1 section printed in HTML. If we have more than one order, we will duplicate the HTML\n if (i > 0) {\n sectionContainer.innerHTML += '<hr>';\n sectionContainer.innerHTML += sectionHTML;\n }\n createFillOrderContainer(order, trackings[i], transactions[i], i);\n });\n } else {\n var _data$data2 = data.data,\n tracking = _data$data2.tracking,\n order = _data$data2.order;\n createFillOrderContainer(order, tracking == null ? '' : tracking, '');\n\n //Show response\n var trackingResponse = document.querySelector('.general-response-wrapper');\n toggleVisibility(trackingResponse, 'show');\n }\n\n //Hide success response\n var emptyResponse = document.querySelector('.empty-response');\n var successResponses = document.querySelectorAll('.success-response');\n successResponses.forEach(function (successResponse) {\n toggleVisibility(successResponse, 'show');\n });\n toggleVisibility(emptyResponse, 'hide');\n\n //Toggle accordions\n var collapsibleElements = document.querySelectorAll('.collapsible-element');\n collapsibleElements.forEach(function (collapsibleElement) {\n var collapsibleTitle = collapsibleElement.querySelector('.collapsible-element__title');\n collapsibleTitle.addEventListener('click', function () {\n try {\n //Close other filters and open the current one\n var currentCollapsibleWrapper = collapsibleTitle.closest('.collapsible-element');\n currentCollapsibleWrapper.classList.toggle('is-open');\n } catch (e) {\n reportError(e);\n }\n });\n });\n },\n error: function error(e) {\n //Show success response\n var emptyResponse = document.querySelector('.empty-response');\n var successResponses = document.querySelectorAll('.success-response');\n successResponses.forEach(function (successResponse) {\n toggleVisibility(successResponse, 'hide');\n });\n toggleVisibility(emptyResponse, 'show');\n if (template == 'page.internal-tracking') {\n //Show response\n var trackingResponse = document.querySelector('.general-response-wrapper');\n toggleVisibility(trackingResponse, 'show');\n }\n reportError(e);\n }\n });\n } else {\n var emptyResponse = document.querySelector('.empty-response');\n var successResponses = document.querySelectorAll('.success-response');\n successResponses.forEach(function (successResponse) {\n toggleVisibility(successResponse, 'hide');\n });\n toggleVisibility(emptyResponse, 'show');\n }\n }\n break;\n default:\n //Show form\n formWrappers !== null && formWrappers.length > 0 && formWrappers.forEach(function (form) {\n if (form.dataset.withdrawalStep) return;\n toggleVisibility(form, 'show');\n });\n}\n//End functionality by template\n\n//\n//Functionality by action\n//\nvar displayExistingInfo = function displayExistingInfo(form, data) {\n var _data$fields;\n var usableFields = (_data$fields = data.fields) === null || _data$fields === void 0 ? void 0 : _data$fields.filter(function (element) {\n return element.field_id !== 'submitted';\n });
1\n usableFields.forEach(function (usableField) {\n var inputByName = form.querySelector(\"[name=\\\"\".concat(usableField.field_name, \"\\\"]\"));\n var inputByNameType = form.querySelector(\"[name=\\\"\".concat(usableField.field_name, \"\\\"]\")).getAttribute('type');\n switch (inputByNameType) {\n case 'select':\n var options = inputByName.options;\n var _iterator = _createForOfIteratorHelper(options),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var option = _step.value;\n option.value == usableField.field_value && (option.selected = true);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n case 'radio':\n case 'checkbox':\n var inputsByName = form.querySelectorAll(\"[name=\\\"\".concat(usableField.field_name, \"\\\"]\"));\n var _iterator2 = _createForOfIteratorHelper(inputsByName),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var input = _step2.value;\n input.value == usableField.field_value && (input.checked = true);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n break;\n case 'textarea':\n case 'text':\n inputByName.value = usableField.field_value;\n break;\n default:\n break;\n }\n });\n\n //Apply form dependency from the answers received\n var fieldContainers = form.querySelectorAll('[data-form-information]');\n if (fieldContainers.length > 0) {\n fieldContainers.forEach(function (fieldContainer) {\n checkAndEnableDependencies(fieldContainers, fieldContainer);\n });\n }\n //End apply form dependency from the answers received\n};\n\n// Create Form ID\nfunction createFormId() {\n if (urlParams.has(\"form_id\")) {\n return urlParams.get(\"form_id\");\n }\n var formId = '';\n var mandatoryParams = getMandatoryUrlParameters();\n if (mandatoryParams.length) {\n mandatoryParams.forEach(function (mandatoryUrlParameter, i) {\n formId += (i > 0 ? '&' : '') + mandatoryUrlParameter + '=' + urlParams.get(mandatoryUrlParameter);\n });\n } else {\n formId = Date.now();\n }\n return window.btoa(formId);\n}\n// End create Form ID\n\n// Get existing info\nvar getFormExistingInfo = function getFormExistingInfo(form) {\n var formId = createFormId();\n if (formId !== '') {\n var _url = form.action + formId;\n var options = {\n method: 'GET',\n headers: {}\n };\n var APIKey = getFormApiKey();\n APIKey !== '' && (options.headers['pdp-api-key'] = APIKey);\n fetch(_url, options).then(function (response) {\n if (response.status == 404) {\n throw new Error('Petici\xF3n no encontrada');\n } else if (!response.ok) {\n throw new Error(\"Error en la petici\\xF3n: \".concat(response.status));\n }\n return response.json();\n }
1).then(function (data) {\n var isSubmitted = data.fields.some(function (entry) {\n return entry.field_name === 'submitted';\n });\n isSubmitted && disableForm(form);\n\n //Recover and show information\n displayExistingInfo(form, data);\n //End recover and show information\n });\n }\n};\n// End get existing info\n\n// Disable form\nvar disableForm = function disableForm(form) {\n //Set submitted and disabled attributes\n form.setAttribute('data-is-submitted', true);\n var allInputs = form.querySelectorAll('input, select, textarea, button');\n allInputs !== null && allInputs.length > 0 && allInputs.forEach(function (input) {\n return input.readOnly = true;\n });\n //End set submitted and disabled attributes\n\n //Delete submit button\n var submitButton = form.querySelector('.submit-button');\n submitButton !== null && submitButton.remove();\n //End delete submit button\n};\n// End disable form\n\n//Form dependency\nvar returnParsedDependencies = function returnParsedDependencies(dependencyParentElements) {\n var currentIndexes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var hiddenDependantElementsSet = new Set();\n dependencyParentElements.forEach(function (dependencyParentElement) {\n var dependenciesObjParsed = JSON.parse(dependencyParentElement.getAttribute('data-children-dependency'));\n if (dependenciesObjParsed !== null) {\n var dependenciesArray = dependenciesObjParsed;\n if (currentIndexes && currentIndexes.length > 0) {\n dependenciesArray = dependenciesArray.filter(function (obj) {\n return currentIndexes.some(function (index) {\n return obj.hasOwnProperty(index);\n });\n });\n dependenciesArray = dependenciesArray.length > 0 ? dependenciesArray : null;\n }\n if (dependenciesArray !== null) {\n dependenciesArray.forEach(function (dependencyObject) {\n Object.values(dependencyObject).forEach(function (value) {\n value.split(',').forEach(function (val) {\n return hiddenDependantElementsSet.add(parseInt(val));\n });\n });\n });\n }\n }\n });\n return Array.from(hiddenDependantElementsSet);\n};\nvar createFormDependency = function createFormDependency(fieldContainers) {\n var dependencyParentElements = document.querySelectorAll('[data-children-dependency]');\n var hiddenDependantElements = returnParsedDependencies(dependencyParentElements);\n fieldContainers.forEach(function (fieldContainer, i) {\n if (dependencyParentElements === null || dependencyParentElements.length == 0 || fieldContainers === null || fieldContainers.length == 0) {\n toggleVisibility(fieldContainer, 'show');\n } else {\n !hiddenDependantElements.includes(i + 1) && toggleVisibility(fieldContainer, 'show');\n }\n });\n};\nvar checkAndEnableDependencies = function checkAndEnableDependencies(fieldContainers, fieldContainer) {\n var generalDependencies = returnParsedDependencies([fieldContainer]);\n var currentElementsSelected = fieldContainer.querySelectorAll('option:checked, input[type=\"checkbox\"]:checked, input[type=\"radio\"]:checked');\n var currentIndexesSelected = Array.from(currentElementsSelected).reduce(function (acc, element) {\n var parent = element.closest('.general-form__select-element__option');\n if (parent && parent.dataset.index) {\n acc.push(parent.dataset.index);\n }\n return acc;\n }, []);\n var dependencyByAnswerValue = returnParsedDependencies([fieldContainer], currentIndexesSelected);\n var uniqueElementsArray = generalDependencies.filter(function (item) {\n return !dependencyByAnswerValue.includes(item);\n });\n if (generalDependencies.length > 0) {\n var action, dependenciesUsed;\n if (dependencyByAnswerValue.length > 0 && uniqueElementsArray.length != generalDependencies.length) {\n dependenciesUsed = uniqueElementsArray.length == 0 ? dependencyByAnswerValue : uniqueElementsArray;\n action = 'show';\n } else {\n dependenciesUsed = uniqueElementsArray == generalDependencies ? generalDependencies : uniqueElementsArray;\n action = 'hide';\n }\n if (fieldContainers.length >
1 0) {\n fieldContainers.forEach(function (fieldContainer, i) {\n if (generalDependencies.includes(i + 1) && !dependenciesUsed.includes(i + 1)) {\n toggleVisibility(fieldContainer, 'hide');\n } else if (dependenciesUsed.includes(i + 1)) {\n toggleVisibility(fieldContainer, action);\n }\n });\n }\n }\n};\n//End form dependency\n\nif (formWrappers !== null && formWrappers.length > 0) {\n formWrappers.forEach(function (formWrapper) {\n if (formWrapper.dataset.withdrawalStep) return;\n var form = formWrapper.querySelector('form');\n ;\n if (form !== null) {\n var mandatoryParams = getMandatoryUrlParameters();\n if (!urlParams.has(\"form_id\") && mandatoryParams.length && !mandatoryParams.every(function (requiredParameter) {\n return urlParams.has(requiredParameter);\n })) {\n //%2Fpages%2Fcsat%3Fticket_id%3Dtestticket10%26agent_id%3Dtestagent10 for customizer\n !window.Shopify.designMode && (window.location.href = window.Shopify.routes.root);\n } else if (form.name == 'general' && form.action !== window.location.href) {\n //Receive existing data\n getFormExistingInfo(form);\n //End receive existing data\n\n var data = false;\n //Submit values on change/click\n var fieldContainers = form.querySelectorAll('[data-form-information]');\n if (fieldContainers !== null && fieldContainers.length > 0) {\n fieldContainers.forEach(function (fieldContainer) {\n //Event change\n var fieldContainerInputs = fieldContainer.querySelectorAll('input').length > 0 ? fieldContainer.querySelectorAll('input') : fieldContainer.querySelectorAll('select').length > 0 ? fieldContainer.querySelectorAll('select') : fieldContainer.querySelectorAll('textarea').length > 0 ? fieldContainer.querySelectorAll('textarea') : null;\n fieldContainerInputs !== null && fieldContainerInputs.forEach(function (fieldContainerInput) {\n fieldContainerInput.addEventListener('change', function (e) {\n e.preventDefault();\n //Check dependencies\n var optionContainer = e.target.closest('.general-form__select-element__option') !== null ? e.target.closest('.general-form__select-element__option') : e.target;\n optionContainer !== null && checkAndEnableDependencies(fieldContainers, fieldContainer);\n //End check dependencies\n\n if (form.hasAttribute(\"data-save-on-focusout\") && form.getAttribute(\"data-save-on-focusout\") == 'true') {\n startSubmitProcess(fieldContainer, e);\n }\n });\n });\n //End event change\n });\n }\n var submitButton = document.querySelector('.submit-button');\n var submitButtonInput = document.querySelector('.submit-button [type=\"submit\"]');\n submitButton !== null && submitButtonInput !== null && submitButtonInput.addEventListener('click', function (e) {\n e.preventDefault();\n startSubmitProcess(submitButton);\n });\n //End submit values on focusout/click\n\n //Form dependency\n //Check if next step has visible options\n var checkNextStepVisibleElements = function checkNextStepVisibleElements(currentStepElement, currentStep, stepToShow) {\n var action = stepToShow > currentStep ? 'next' : 'prev';\n var nextElement = action === 'next' ? currentStepElement.nextElementSibling : currentStepElement.previousElementSibling;\n var _loop2 = function _loop2() {\n var nextElementFields = nextElement.querySelectorAll('[data-form-information]');\n if (nextElementFields.length > 0) {\n var visibleElementsCounter = 0;\n nextElementFields.forEach(function (field) {\n var isVisible = returnIsVisible(field);\n if (isVisible) {\n visibleElementsCounter++;\n }\n });\n if (visibleElementsCounter > 0) {\n return {\n v: nextElement.getAttribute('data-step')\n };\n }\n }\n nextElement = action === 'next' ? nextElement.nextElementSibling : nextElement.previousElementSibling;\n },\n _ret;\n while (nextElement) {\n _ret = _loop2();\n if (_ret) return _ret.v;\n }\n return false;\n };\n //End form dependency\n\n //Steps functionality\n var nextStepButtons = document.querySelectorAll('[data-next-step]');\n var stepContainers = document.querySelectorAll('[data-step]');\n if (nextStepButtons !== null && stepContainers !== null) {\n nextStepButtons.forEach(function (nextStepButton) {\n nextStepButton.addEventListener('click', function (e) {\n e.preventDefault();\n var currentStepElement = nextStepButton.closest('[data-step]');\n var currentStepFieldContainers = currentStepElement.querySelectorAll('[data-form-information]');\n\n //If we are going to next step, validate the current step. If error we stop the process\n if (nextStepButton.classList.contains('steps__next-button')) {\n var errorData = checkError(currentStepFieldContainers
1);\n if (errorData.length > 0) {\n errorData.forEach(function (error) {\n showIsRequiredError(error);\n });\n return;\n }\n }\n //End if we are going to next step, validate the current step. If error we stop the process\n\n var currentStep = currentStepElement.getAttribute('data-step');\n var stepToShow = nextStepButton.getAttribute('data-next-step');\n\n //Check if next step has visible options\n var realStepToShow = checkNextStepVisibleElements(currentStepElement, currentStep, stepToShow);\n //End check if next step has visible options\n\n if (realStepToShow) {\n showCurrentStep(stepContainers, realStepToShow);\n } else {\n //If there are no more steps to show, submit form\n var _submitButton = form.querySelector('.submit-button');\n startSubmitProcess(_submitButton);\n }\n });\n });\n }\n\n //Show current step\n var showCurrentStep = function showCurrentStep(stepContainers, stepToShow) {\n stepContainers.forEach(function (stepContainer) {\n var type = stepContainer.getAttribute('data-step') !== stepToShow ? 'hide' : 'show';\n if (type == 'show') {\n var errorMessages = stepContainer.querySelectorAll('.general-form__input-error span');\n errorMessages.length > 0 && errorMessages.forEach(function (errorMessage) {\n return toggleVisibility(errorMessage, 'hide');\n });\n }\n toggleVisibility(stepContainer, type);\n });\n };\n //End steps functionality\n\n //Get form data\n var startSubmitProcess = function startSubmitProcess(fieldContainer) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n //Check if form was already submitted\n if (form.hasAttribute('data-is-submitted') && form.getAttribute('data-is-submitted') == 'true') return;\n\n //Hide error message\n var errorMessage = fieldContainer.querySelector(\"[data-is-required]\");\n toggleVisibility(errorMessage, 'hide');\n //End hide error message\n\n //Get data and send form\n data = createFormDataObject(form, fieldContainers, fieldContainer);\n sendForm(form, data);\n //End get data and send form\n };\n //End get form data\n\n //Form dependency\n createFormDependency(fieldContainers);\n //End form dependency\n }\n }\n });\n\n //Create object for the form data\n var createFormDataObject = function createFormDataObject(form, fieldContainers, _this) {\n if (fieldContainers !== null && fieldContainers.length > 0) {\n var fields = [];\n fieldContainers.forEach(function (fieldContainer) {\n var prepareAndPushSingleElement = function prepareAndPushSingleElement(inputName, input) {\n var inputValue = input.value;\n var inputPushData = {\n 'field_id': inputName,\n 'field_name': inputName,\n 'field_value': inputValue\n };\n if (inputValue) {\n fields.push(inputPushData);\n }\n };\n var inputs = fieldContainer.querySelectorAll('select, textarea, input:not([type=\"radio\"]),input[type=\"radio\"]:checked');\n inputs.forEach(function (input) {\n var inputName = input.getAttribute('name');\n var inputType = input.getAttribute('type');\n var inputMultiple = input.getAttribute('multiple');\n if (inputType === \"checkbox\" && input.checked || inputType === \"select\" && inputMultiple !== null) {\n var selectedOptions = inputType === \"select\" ? Array.from(input.selectedOptions) : [input];\n selectedOptions.forEach(function (option) {\n prepareAndPushSingleElement(inputName, option);\n });\n } else if (inputType !== \"checkbox\") {\n prepareAndPushSingleElement(inputName, input);\n }\n });\n });\n var filters = [];
1\n urlParams.forEach(function (value, name) {\n if (value.includes('/?')) {\n // Split by '/?' and process both parts\n var parts = value.split('/?');\n\n // Add first part as field_value\n var firstPartData = {\n 'field_name': name,\n 'field_value': parts[0]\n };\n filters.push(firstPartData);\n\n // Process second part by splitting with '=' and create additional urlParamPushData\n if (parts[1] && parts[1].includes('=')) {\n var secondPartPairs = parts[1].split('&');\n secondPartPairs.forEach(function (pair) {\n if (pair.includes('=')) {\n var _pair$split = pair.split('='),\n _pair$split2 = _slicedToArray(_pair$split, 2),\n key = _pair$split2[0],\n val = _pair$split2[1];\n var additionalData = {\n 'field_name': key,\n 'field_value': val\n };\n filters.push(additionalData);\n }\n });\n }\n } else {\n var urlParamPushData = {\n 'field_name': name,\n 'field_value': value\n };\n filters.push(urlParamPushData);\n }\n });\n\n //Check for errors - isRequired\n var errorData = checkError(fieldContainers);\n //End check for errors - isRequired\n\n //Submit and error control from isRequired\n if (_this.classList.contains('submit-button') && errorData.length > 0) {\n errorData.forEach(function (error) {\n showIsRequiredError(error);\n });\n } else if (fields.length > 0) {\n //We set submitted as true, it won't be editable from now on\n if (_this.classList.contains('submit-button')) {\n var submittedObject = {\n \"field_id\": \"submitted\",\n \"field_name\": \"submitted\",\n \"field_value\": \"true\"\n };\n fields.push(submittedObject);\n }\n //End we set submitted as true, it won't be editable from now on\n }\n\n //Recover fetch call object\n var pushData = recoverPushData(fields, filters, form);\n if (Object.keys(pushData).length <= 0) {\n pushData = false;\n }\n //End recover fetch call object\n\n return pushData;\n //End submit and error control from isRequired\n }\n };\n //End create object for the form data\n\n //Create full object with ids and dates with given fields\n var recoverPushData = function recoverPushData(fields, filters, form) {\n var formObject = {};\n //Form id\n var formId = createFormId();\n formId !== '' && (formObject.id = formId);\n //End form id\n\n //Form surveyId\n form.hasAttribute('data-survey-id') && (formObject.surveyId = form.getAttribute('data-survey-id'));\n //End form surveyId\n\n //Fields\n formObject.fields = fields;\n //End fields\n\n //Filters\n formObject.filters = filters;\n //End filters\n\n return formObject;\n };\n //End create full object with ids and dates with given fields\n\n //Show error is required\n var showIsRequiredError = function showIsRequiredError(inputContainer) {\n var error = inputContainer.querySelector(\"[data-is-required]\");\n toggleVisibility(error, 'show');\n };\n //End show error is required\n\n //Check if visible\n var returnIsVisible = function returnIsVisible(element) {\n var style = window.getComputedStyle(element);\n return style.display !== 'none' && style.visibility !== 'hidden' && parseFloat(style.opacity) > 0;\n };\n //End check if visible\n\n //Check for errors - required\n var checkError = function checkError(fieldContainers) {\n var errorData = [];\n fieldContainers.forEach(function (fieldContainer) {\n var isVisible = returnIsVisible(fieldContainer);\n if (isVisible) {\n var inputs = fieldContainer.querySelectorAll('select, textarea, input:not([type=\"radio\"]),input[type=\"radio\"]:checked');\n inputs.length === 0 && errorData.push(fieldContainer);
1\n inputs.forEach(function (input) {\n var inputName = input.getAttribute('name');\n var inputType = input.getAttribute('type');\n var inputMultiple = input.getAttribute('multiple');\n var isValid = false;\n if (inputType !== null && (inputType == \"checkbox\" || inputType == \"select\" && inputMultiple !== null)) {\n var formElements = fieldContainer.querySelectorAll(\"[name=\\\"\".concat(inputName, \"\\\"]\"));\n if (inputType === \"checkbox\") {\n isValid = Array.from(formElements).some(function (checkbox) {\n return checkbox.checked;\n });\n } else {\n isValid = Array.from(input.selectedOptions).length > 0;\n }\n } else {\n var inputValue = input.value;\n isValid = !!inputValue;\n }\n var isRequired = input.getAttribute('data-required') !== null;\n if (isRequired && !isValid) {\n errorData.push(fieldContainer);\n }\n });\n }\n });\n return errorData;\n };\n //End check for errors - required\n\n var sendForm = function sendForm(form, data) {\n if (data !== false) {\n var _url2 = form.action;\n var options = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(data)\n };\n var APIKey = getFormApiKey();\n APIKey !== '' && (options.headers['pdp-api-key'] = APIKey);\n fetch(_url2, options).then(function (response) {\n if (!response.ok) {\n throw new Error(\"Error en la petici\\xF3: \".concat(response.status));\n }\n return response.json();\n }).then(function (response) {\n var isSubmitted = data.fields.some(function (entry) {\n return entry.field_name === 'submitted';\n });\n isSubmitted && disableForm(form);\n })[\"catch\"](function (error) {\n console.error(error);\n });\n }\n };\n}\n//\n//End functionality by action\n//\n\n//Min height of myaccount and tracking page\nvar setHeight = function setHeight(wrapperClasses) {\n var headerHeight = document.querySelector('#shopify-section-header').offsetHeight;\n var footerHeight = document.querySelector('#shopify-section-footer').offsetHeight;\n var wrappers = document.querySelectorAll(wrapperClasses);\n wrappers.forEach(function (wrapper) {\n wrapper.style.minHeight = \"calc(100vh - \".concat(headerHeight + footerHeight, \"px)\");\n });\n};\nsetHeight('.shopify-section--my-account, .section-form');\n//End min height of myaccount and tracking page\n\n/* COM-2258 Fine Certification Button */\ndocument.addEventListener('DOMContentLoaded', function () {\n var container = document.body;\n container.addEventListener('click', function (e) {\n if (e.target.classList.contains('track-fine-certified') && e.target.hasAttribute('data-finejewelry-certified')) {\n e.preventDefault();\n var sku = e.target.getAttribute('data-sku');\n var deliveryId = e.target.getAttribute('data-orderid');\n var fetchOptions = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'pdp-api-key': '29689fbef123ad8bde1f8b7a3b6df9f39f4376f8fc5a2bc87c383f4c55285784'\n }\n };\n fetch('https://apigw.pdpaola.com/api/download-fine-passport?sku=' + sku + '&deliveryId=' + deliveryId, fetchOptions).then(function (response) {\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText);\n }\n return response.json();\n }).then(function (response) {\n if (response.passports.length > 1) {\n response.passports.forEach(function (url, index) {\n setTimeout(function () {\n window.open(url, '_blank');\n }, index * 500);\n });\n } else if (response.passports.length === 1) {\n var _url3 = response.passports[0];\n var link = document.createElement('a');\n link.href = _url3;\n link.setAttribute('download', _url3.split('/').pop());\n link.setAttribute('target', '_blank');\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n })[\"catch\"](function (error) {\n console.error('Download failed:', error);\n });\n }\n });\n});\n\n//# sourceURL=webpack:///./resources/js/form.js?\n}")},
1"./resources/js/format.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatDate: () => (/* binding */ formatDate),\n/* harmony export */ formatMoney: () => (/* binding */ formatMoney)\n/* harmony export */ });\nvar formatMoney = function formatMoney(number, locale) {\n var checkContainsNumbers = /{{(.+?)}}/;\n var formattedNumber = number.toLocaleString(locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2\n });\n var returningPrice = theme.moneyFormat.replace(checkContainsNumbers, formattedNumber);\n return returningPrice;\n};\nvar formatDate = function formatDate(date) {\n var dateLocale = Shopify.locale + '-' + Shopify.country;\n var formatDate = new Intl.DateTimeFormat(dateLocale, {\n dateStyle: 'full'\n });\n var formattedDateClass = new Date(date);\n var formattedDate = formatDate.format(formattedDateClass);\n return formattedDate;\n};\n\n//# sourceURL=webpack:///./resources/js/format.js?\n}")},
1"./resources/js/helpers/classlistModifier.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ modifyClass: () => (/* binding */ modifyClass)\n/* harmony export */ });\n//Classlist modifier\nvar modifyClass = function modifyClass(action, element, classGiven) {\n if (element !== null) {\n switch (action) {\n case 'add':\n element.classList.add(classGiven);\n break;\n case 'remove':\n element.classList.remove(classGiven);\n break;\n case 'toggle':\n element.classList.toggle(classGiven);\n break;\n default:\n break;\n }\n }\n};\n//End classlist modifier\n\n//# sourceURL=webpack:///./resources/js/helpers/classlistModifier.js?\n}")},
1"./resources/js/helpers/cookie-helper.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getCookie: () => (/* binding */ getCookie),\n/* harmony export */ setCookie: () => (/* binding */ setCookie),\n/* harmony export */ setCountryCookie: () => (/* binding */ setCountryCookie),\n/* harmony export */ setLocaleCookie: () => (/* binding */ setLocaleCookie)\n/* harmony export */ });\nvar setCountryCookie = function setCountryCookie(value) {\n setCookie('customer_country', value, 31556926);\n};\nvar setLocaleCookie = function setLocaleCookie(value) {\n setCookie('customer_locale', value, 31556926);\n};\nvar setCookie = function setCookie(key, value) {\n var expiresIn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 31556926;\n var date = new Date();\n var newDate = addSeconds(date, expiresIn);\n document.cookie = \"\".concat(key, \"=\").concat(value, \"; expires=\").concat(newDate, \"; path=/\");\n};\nvar addSeconds = function addSeconds(date, seconds) {\n date.setSeconds(date.getSeconds() + seconds);\n return date.toGMTString();\n};\nvar getCookie = function getCookie(name) {\n var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n var response;\n if (match) response = match[2];\n return response;\n};\n\n//# sourceURL=webpack:///./resources/js/helpers/cookie-helper.js?\n}")},
1"./resources/js/helpers/toggleVisibility.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toggleVisibility: () => (/* binding */ toggleVisibility)\n/* harmony export */ });\nvar toggleVisibility = function toggleVisibility(element) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'toggle';\n if (element !== null) {\n switch (type) {\n case 'hide':\n element.classList.add('hidden');\n break;\n case 'show':\n element.classList.remove('hidden');\n break;\n default:\n element.classList.toggle('hidden');\n break;\n }\n }\n};\n\n//# sourceURL=webpack:///./resources/js/helpers/toggleVisibility.js?\n}")},
1"./resources/js/report-error.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ reportError: () => (/* binding */ reportError)\n/* harmony export */ });\nvar reportError = function reportError(e) {\n throw new Error(e);\n function stackTrace() {\n var err = new Error();\n return err.stack;\n }\n // removed by dead control flow\n{ var OSName; }\n // removed by dead control flow\n{}\n // removed by dead control flow\n{}\n // removed by dead control flow\n{}\n // removed by dead control flow\n{}\n // removed by dead control flow\n{}\n // removed by dead control flow\n{ var data; }\n /*\n todo: in the future is it going to report somewhere else\n $.ajax({\n "url": \'https://api.pdpaola.com/logError\',\n "type": \'post\',\n \'async\': false,\n "data": data,\n "success": function (data) {\
1n console.log("Error logged");\n },\n \'error\': function () {\n }\n });\n */\n};\n\n//# sourceURL=webpack:///./resources/js/report-error.js?\n}')}
1},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(cachedModule!==void 0)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module,module.exports,__webpack_require__),module.exports}(function(){__webpack_require__.d=function(exports,definition){for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})}})(),(function(){__webpack_require__.o=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}})(),(function(){__webpack_require__.r=function(exports){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})}})();var __webpack_exports__=__webpack_require__("./resources/js/form.js")})(); 2//# sourceMappingURL=/cdn/shop/t/510/assets/form.js.map?v=121175199178677950911790171632
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.