PageSourceSearch

https://www.pdpaola.com/cdn/shop/t/510/assets/form.js?v=121175199178677950911790171632

js pdpaola.com collected 2026-09-25 02:31:12 UTC 68,899 bytes, 2 lines download raw bytes

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.