{"version":3,"file":"js/937-83d55531af89e4817f80.chunk.js","mappings":"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","sources":["webpack://checkout/./app/javascript/checkout/utils/StripePaymentRequestUtils.js","webpack://checkout/./app/javascript/checkout/components/StripePaymentRequest.js","webpack://checkout/./app/javascript/checkout/components/PickupLocationsMap.js","webpack://checkout/./app/javascript/checkout/components/InformationContent.js"],"sourcesContent":["export const allowedCountries = [\n  \"AE\",\n  \"AT\",\n  \"AU\",\n  \"BE\",\n  \"BG\",\n  \"BR\",\n  \"CA\",\n  \"CH\",\n  \"CI\",\n  \"CR\",\n  \"CY\",\n  \"CZ\",\n  \"DE\",\n  \"DK\",\n  \"DO\",\n  \"EE\",\n  \"ES\",\n  \"FI\",\n  \"FR\",\n  \"GB\",\n  \"GI\",\n  \"GR\",\n  \"GT\",\n  \"HK\",\n  \"HU\",\n  \"ID\",\n  \"IE\",\n  \"IN\",\n  \"IT\",\n  \"JP\",\n  \"LI\",\n  \"LT\",\n  \"LU\",\n  \"LV\",\n  \"MT\",\n  \"MX\",\n  \"MY\",\n  \"NL\",\n  \"NO\",\n  \"NZ\",\n  \"PE\",\n  \"PH\",\n  \"PL\",\n  \"PT\",\n  \"RO\",\n  \"SE\",\n  \"SG\",\n  \"SI\",\n  \"SK\",\n  \"SN\",\n  \"TH\",\n  \"TT\",\n  \"US\",\n  \"UY\",\n];\n","import { Fragment, useEffect, useState } from \"react\";\nimport {\n  PaymentRequestButtonElement,\n  useStripe,\n} from \"@stripe/react-stripe-js\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport axios from \"axios\";\nimport { showError } from \"../actions/checkoutStore\";\nimport { allowedCountries } from \"../utils/StripePaymentRequestUtils\";\n\nexport default function StripePaymentRequest() {\n  const dispatch = useDispatch();\n  const state = useSelector((state) => state);\n  const stripe = useStripe();\n  const { t } = useTranslation();\n  const [paymentRequest, setPaymentRequest] = useState(null);\n  const { information, summary, urls } = state.checkoutStore;\n\n  useEffect(() => {\n    if (stripe) {\n      if (!allowedCountries.includes(information.order_country)) return;\n      let amount = parseInt(summary.raw_total * summary.subunit_to_unit);\n\n      let paymentRequestConfig = {\n        country: information.order_country,\n        currency: information.currency_code,\n        total: {\n          label: t(\"summary.total\"),\n          amount: amount,\n        },\n        requestPayerName: true,\n        requestPayerEmail: true,\n        requestPayerPhone: true,\n      };\n\n      if (!information.no_shipping_required)\n        paymentRequestConfig.requestShipping = true;\n      // Not all currencies are enabled for this functionality\n      const pr = stripe.paymentRequest(paymentRequestConfig);\n\n      // Check the availability of the Payment Request API.\n      pr.canMakePayment().then((result) => {\n        if (result) {\n          pr.on(\"paymentmethod\", handlePaymentMethodReceived);\n\n          if (!information.no_shipping_required) {\n            pr.on(\"shippingaddresschange\", handleShippingAddress);\n            pr.on(\"shippingoptionchange\", handleShippingOption);\n          }\n\n          setPaymentRequest(pr);\n        }\n        return;\n      });\n    }\n  }, [stripe]);\n\n  const stripeStyleOptions = {\n    paymentRequest,\n    style: {\n      paymentRequestButton: {\n        type: \"default\",\n        // One of 'default', 'book', 'buy', or 'donate'\n        // Defaults to 'default'\n\n        theme: \"dark\",\n        // One of 'dark', 'light', or 'light-outline'\n        // Defaults to 'dark'\n\n        height: \"30px\",\n        // Defaults to '40px'. The width is always '100%'.\n      },\n    },\n  };\n\n  const handleShippingOption = async (event) => {\n    await axios({\n      headers: {\n        common: {\n          \"Content-Type\": \"application/json\",\n        },\n      },\n      method: \"post\",\n      url: urls.change_shipping_option,\n      data: {\n        shipping_method_id: event.shippingOption.id,\n      },\n      params: { recover_token: window.token },\n    }).then(function (result) {\n      event.updateWith({\n        status: \"success\",\n        total: {\n          label: t(\"summary.total\"),\n          amount: parseInt(result.data.amount * summary.subunit_to_unit),\n        },\n      });\n    });\n  };\n\n  const handleShippingAddress = async (event) => {\n    if (!allowedCountries.includes(event.shippingAddress.country)) {\n      event.updateWith({ status: \"invalid_shipping_address\" });\n    } else {\n      // Perform server-side request to fetch shipping options\n      const shippingAddress = {\n        shipping: {\n          name: event.shippingAddress.recipient,\n          phone: event.shippingAddress.phone,\n          address: {\n            line1: event.shippingAddress.addressLine[0],\n            city: event.shippingAddress.city,\n            postal_code: event.shippingAddress.postalCode,\n            state: event.shippingAddress.region,\n            country: event.shippingAddress.country,\n          },\n        },\n      };\n\n      const response = await axios({\n        headers: {\n          common: {\n            \"Content-Type\": \"application/json\",\n          },\n        },\n        method: \"post\",\n        url: urls.estimate_shipping,\n        data: shippingAddress,\n        params: { recover_token: window.token },\n      }).then(function (result) {\n        if (result.data.length > 0) {\n          const shippingOptions = result.data.map((estimate) => {\n            const shipping_method_id = estimate.table.shipping_method_id;\n            const shipping_service_id = estimate.table.shipping_service_id\n              ? estimate.table.shipping_service_id\n              : \"\";\n            let amount = parseInt(\n              estimate.table.price * summary.subunit_to_unit,\n            );\n\n            return {\n              id: `${shipping_method_id}-${shipping_service_id}`,\n              label: estimate.table.shipping_method_name,\n              detail: estimate.table.description,\n              amount: amount,\n            };\n          });\n          event.updateWith({\n            status: \"success\",\n            shippingOptions: shippingOptions,\n          });\n        } else {\n          event.updateWith({\n            status: \"fail\",\n          });\n        }\n      });\n    }\n  };\n\n  const handlePaymentMethodReceived = async (event) => {\n    const paymentDetails = {\n      payment_method: event.paymentMethod.id,\n      billing_details: {\n        name: event.paymentMethod.billing_details.name,\n        email: event.paymentMethod.billing_details.email,\n        address: event.paymentMethod.billing_details.address,\n        phone: event.paymentMethod.billing_details.phone,\n      },\n      shipping_details: event.shippingAddress,\n      shipping_option: event.shippingOption,\n      recover_token: window.token,\n    };\n\n    const response = await fetch(urls.create_payment_intent, {\n      method: \"post\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({ paymentDetails }),\n    }).then((res) => {\n      return res.json();\n    });\n\n    if (response.status == \"requires_confirmation\") {\n      const { error, paymentIntent } = await stripe.confirmCardPayment(\n        response.client_secret,\n        { payment_method: event.paymentMethod.id, amount: event.amount },\n        { handleActions: false },\n      );\n\n      if (error) {\n        console.log(error);\n        return;\n      }\n\n      if (paymentIntent.status === \"succeeded\") {\n        const response = await axios({\n          headers: {\n            common: {\n              \"Content-Type\": \"application/json\",\n            },\n          },\n          method: \"put\",\n          url: urls.fast_place_order,\n          data: paymentIntent,\n          params: { recover_token: window.token },\n        })\n          .then((_response) => {\n            event.complete(\"success\");\n            window.location = urls.success;\n          })\n          .catch((error) => {\n            event.complete(\"fail\");\n            dispatch(showError(error));\n          });\n      } else {\n        console.warn(\n          `Unexpected status: ${paymentIntent.status} for ${paymentIntent}`,\n        );\n      }\n    } else if (response.status === \"succeeded\") {\n      event.complete(\"success\");\n      window.location = urls.success;\n    } else {\n      event.complete(\"fail\");\n    }\n  };\n\n  return (\n    <Fragment>\n      <div className=\"col-12\">\n        {paymentRequest ? (\n          <fieldset className=\"mb-4\">\n            <legend>{t(\"information.express-checkout\")}</legend>\n            <div className=\"row\">\n              <div className=\"col-6 offset-3\">\n                <PaymentRequestButtonElement options={stripeStyleOptions} />\n              </div>\n            </div>\n          </fieldset>\n        ) : (\n          <span></span>\n        )}\n      </div>\n    </Fragment>\n  );\n}\n","import { useEffect, useState, memo } from \"react\";\nimport L from \"leaflet\";\nimport { MapContainer, TileLayer, Marker, useMap } from \"react-leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { setFieldShipping } from \"../actions/checkoutStore\";\n\nconst STADIA_API_KEY = \"739e5f98-582d-490c-bd09-78511fcb2cc2\";\n\n// Component to fit the map to all markers\nfunction FitBoundsToMarkers({ markers }) {\n  const map = useMap();\n\n  useEffect(() => {\n    if (markers.length > 0) {\n      const bounds = L.latLngBounds(markers.map((marker) => marker.latlng));\n      map.fitBounds(bounds, { padding: [15, 15] });\n    }\n  }, [markers, map]);\n\n  return null;\n}\n\nconst PickupLocationsMap = memo(function PickupLocationsMap({\n  pickupPoints,\n  colors,\n}) {\n  const dispatch = useDispatch();\n\n  const [selectedMarker, setSelectedMarker] = useState(null);\n\n  // Transform the pickupPoints array into the format needed for markers\n  const markers = pickupPoints\n    .filter((pickupPoint) => pickupPoint.location_can_fulfill_order)\n    .map((pickupPoint) => ({\n      id: pickupPoint.id,\n      latlng: [pickupPoint.address.latitude, pickupPoint.address.longitude],\n      pickupPointName: pickupPoint.name,\n    }));\n\n  const pickupPointId = useSelector(\n    (state) => state.checkoutStore.shipping.pickup_point_id,\n  );\n\n  // Function to fetch the SVG content and dynamically modify its color\n  function getSvgWithColor(svgContent, color) {\n    const modifiedSvg = svgContent.replace(/fill=\"grey\"/g, `fill=\"${color}\"`);\n    return `data:image/svg+xml;base64,${btoa(modifiedSvg)}`;\n  }\n\n  const Box = `<svg width=\"49\" height=\"54\" viewBox=\"0 0 49 54\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <g filter=\"url(#filter0_d_1_11)\">\n  <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M27.4103 42.795C37.3538 41.3818 45 32.8338 45 22.5C45 11.1782 35.8218 2 24.5 2C13.1782 2 4 11.1782 4 22.5C4 32.8338 11.6462 41.3818 21.5897 42.795C21.5975 42.9831 21.6599 43.174 21.7876 43.346L23.697 45.9183C24.0969 46.4569 24.9031 46.4569 25.303 45.9183L27.2124 43.346C27.3401 43.174 27.4025 42.9831 27.4103 42.795Z\" fill=\"white\"/>\n  </g>\n  <path d=\"M17.925 15.0067C18.2335 14.3897 18.8642 14 19.5544 14H23.2857L22.0714 18.8571H16L17.925 15.0067ZM26.9286 18.8571L25.7143 14H29.4444C30.135 14 30.765 14.3897 31.0761 15.0067L33 18.8571H26.9286ZM22.0714 22.5C22.0714 23.1717 22.6141 23.7143 23.2857 23.7143H25.7143C26.3859 23.7143 26.9286 23.1717 26.9286 22.5V20.0714H33V28.5714C33 29.9109 31.9109 31 30.5714 31H18.4286C17.0872 31 16 29.9109 16 28.5714V20.0714H22.0714V22.5Z\" fill=\"grey\"/>\n  <defs>\n  <filter id=\"filter0_d_1_11\" x=\"0\" y=\"1\" width=\"49\" height=\"52.3223\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\n  <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\n  <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"/>\n  <feOffset dy=\"3\"/>\n  <feGaussianBlur stdDeviation=\"2\"/>\n  <feComposite in2=\"hardAlpha\" operator=\"out\"/>\n  <feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/>\n  <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1_11\"/>\n  <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_1_11\" result=\"shape\"/>\n  </filter>\n  </defs>\n  </svg>\n  `;\n\n  const faDefaultIconUrl = getSvgWithColor(Box, \"grey\");\n  const faSelectedtIconUrl = getSvgWithColor(Box, colors.main_color);\n\n  const defaultIcon = new L.Icon({\n    iconUrl: faDefaultIconUrl,\n    iconSize: [41, 41],\n    iconAnchor: [12, 41],\n    popupAnchor: [1, -34],\n    shadowSize: [41, 41],\n  });\n\n  const selectedIcon = new L.Icon({\n    iconUrl: faSelectedtIconUrl,\n    iconSize: [50, 50],\n    iconAnchor: [15, 46],\n    popupAnchor: [1, -34],\n    shadowSize: [41, 41],\n  });\n\n  const handleMarkerClick = (marker) => {\n    setSelectedMarker(marker.id);\n    dispatch(setFieldShipping(\"pickup_point_id\", marker.id));\n    dispatch(setFieldShipping(\"pickup_point_name\", marker.pickupPointName)); // Set the pickupPointName correctly\n  };\n\n  useEffect(() => {\n    if (pickupPointId) {\n      setSelectedMarker(pickupPointId);\n    }\n  }, [pickupPointId]);\n\n  const mapKey = `${new Date().getTime()}`;\n\n  return (\n    <MapContainer\n      key={mapKey}\n      center={[0, 0]}\n      zoom={1}\n      dragging={true}\n      scrollWheelZoom={true}\n      zoomControl={true}\n      style={{ height: \"35vh\", width: \"100%\" }}\n      attributionControl={false}\n    >\n      <TileLayer\n        url={`https://tiles.stadiamaps.com/tiles/alidade_smooth/{z}/{x}/{y}{r}.png?api_key=${STADIA_API_KEY}`}\n        attribution='&copy; <a href=\"https://stadiamaps.com/\">Stadia Maps</a>, &copy; <a href=\"https://openmaptiles.org/\">OpenMapTiles</a> &copy; <a href=\"http://openstreetmap.org\">OpenStreetMap</a> contributors'\n      />\n      {markers.map((marker) => (\n        <Marker\n          key={marker.id}\n          position={marker.latlng}\n          icon={selectedMarker === marker.id ? selectedIcon : defaultIcon}\n          eventHandlers={{\n            click: () => handleMarkerClick(marker),\n          }}\n        />\n      ))}\n      <FitBoundsToMarkers markers={markers} />\n    </MapContainer>\n  );\n});\n\nexport default PickupLocationsMap;\n","// Packages\nimport { Fragment, useEffect, useRef, useCallback, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport axios from \"axios\";\nimport { useTranslation } from \"react-i18next\";\nimport MailCheck from \"react-mailcheck\";\nimport DOMPurify from \"dompurify\";\nimport Select from \"react-select\";\nimport { Tooltip } from \"react-tooltip\";\nimport {\n  Truck,\n  Storefront,\n  ArrowLeft,\n  User,\n  UserCircle,\n} from \"@phosphor-icons/react\";\n\n// Components\nimport LoadingIcon from \"../components/LoadingIcon\";\nimport AddressForm from \"../components/AddressForm\";\nimport CustomFieldList from \"./CustomFieldList\";\nimport Header from \"./Header\";\nimport Alert from \"./Alert\";\nimport NavigationFooter from \"./NavigationFooter\";\nimport ShowOrderSummary from \"./ShowOrderSummary\";\nimport InformationValidation from \"../validations/InformationValidation\";\nimport ValidateForm from \"../validations/ValidateForm\";\nimport addCustomFieldsValidation from \"../validations/addCustomFieldsValidation\";\nimport PhoneInput from \"./custom_fields/PhoneInput/PhoneInput\";\nimport StripePaymentRequest from \"./StripePaymentRequest\";\nimport {\n  getCountryPhonePrefix,\n  isPhoneNumberValid,\n  getPhonePrefixCountry,\n} from \"./custom_fields/PhoneInput/helpers\";\nimport { faCircleExclamation } from \"@fortawesome/pro-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\n// Actions\nimport { closeAlertMessage } from \"../redux/ui\";\nimport {\n  saveInformation,\n  saveShippingOption,\n  setFieldInformation,\n  setFieldBilling,\n  updateCountry,\n  updateRegion,\n  setFieldShipping,\n  updateLocations,\n  setCustomFieldInformation,\n  setData,\n  loadedPage,\n  fetchDataInformation,\n  saveEmail,\n  callAddressAutofill,\n} from \"../actions/checkoutStore\";\nimport { useNavigate } from \"react-router-dom\";\nimport PickupLocationsMap from \"./PickupLocationsMap\";\nimport selectReactStyle from \"./SelectReactStyle\";\n\nconst InformationContent = (props) => {\n  const dispatch = useDispatch();\n  const navigate = useNavigate();\n\n  const { t } = useTranslation();\n\n  const [errorDiv, setErrorDiv] = useState(null);\n  const [infoDiv, setInfoDiv] = useState(null);\n\n  const isFirstRun = useRef(true);\n  const [clickedButton, setClickedButton] = useState(false);\n\n  const { information, shipping, payment, urls, system_fields, colors } =\n    useSelector((state) => state.checkoutStore);\n  // TODO: Remove/fix? Does customers store ever exist?\n  const storeCountry = useSelector(\n    (state) => state.customersStore?.storeCountry,\n  );\n\n  const [phoneError, setPhoneError] = useState({ value: false, message: \"\" });\n  const [currentPhone, setCurrentPhone] = useState(\n    (information.phone != null && information.phone) || \"\",\n  );\n  const [contentExceedsMaxHeight, setContentExceedsMaxHeight] = useState(false);\n  const [currentPrefix, setCurrentPrefix] = useState(\n    information.country != \"\"\n      ? getCountryPhonePrefix(\"\", information.country)\n      : information.order_country != \"\"\n        ? getCountryPhonePrefix(\"\", information.order_country)\n        : \"\",\n  );\n\n  const { doingRequest, alertMessage } = useSelector((state) => state.ui);\n\n  const borderColor = \"#424242\";\n\n  const defaultColor = \"#929292\";\n  const defaultColorBorder = `1px solid ${defaultColor}`;\n  const mainColorBorder = `1px solid ${borderColor}`;\n\n  useEffect(() => {\n    validatePhone();\n  }, [currentPrefix, currentPhone]);\n\n  const validatePhone = () => {\n    let phone = currentPhone == null ? \"\" : currentPhone;\n    let prefix =\n      currentPrefix == null\n        ? getCountryPhonePrefix(\"\", storeCountry)\n        : currentPrefix;\n    let isValidPhone = isPhoneNumberValid(phone, prefix);\n\n    if (!isValidPhone) {\n      setPhoneError({ value: true, message: t(\"information.phone-not-valid\") });\n    } else {\n      setPhoneError({ value: false, message: \"\" });\n      changeStoreField(\"phone\", currentPhone);\n      changeStoreField(\"phone_prefix\", currentPrefix);\n    }\n  };\n\n  useEffect(() => {\n    if (isFirstRun.current) {\n      dispatch(loadedPage(\"checkout\"));\n      window.scrollTo(0, 0);\n      isFirstRun.current = false;\n      return;\n    }\n  }, []);\n\n  useEffect(() => {\n    if (!information.no_shipping_required) {\n      if (\n        !information.has_shipping_methods &&\n        shipping.pickup_points.length > 0\n      ) {\n        changeShippingOption(\"shipping_option\", \"store_pickup\");\n      } else if (\n        information.has_shipping_methods &&\n        shipping.pickup_points.length == 0\n      ) {\n        changeShippingOption(\"shipping_option\", \"delivery\");\n      }\n    }\n  }, []);\n\n  useEffect(() => {\n    const pickUpContainer = document.getElementById(\"pickUpContainer\");\n    if (\n      pickUpContainer &&\n      pickUpContainer.scrollHeight > pickUpContainer.clientHeight\n    ) {\n      setContentExceedsMaxHeight(true);\n    } else {\n      setContentExceedsMaxHeight(false);\n    }\n  }, [shipping.pickup_point_id, information.shipping_option]);\n\n  useEffect(() => {\n    if (errorDiv != null && information.error != \"\") errorDiv.scrollIntoView();\n  }, [errorDiv]);\n\n  useEffect(() => {\n    if (infoDiv != null && information.info_msg != \"\") infoDiv.scrollIntoView();\n  }, [infoDiv]);\n\n  useEffect(() => {\n    if (clickedButton === true) {\n      let errorsList = Object.keys(information.errors);\n      if (errorsList.length > 0) {\n        let currentElement = document.getElementById(errorsList[0]);\n        if (currentElement != null) {\n          currentElement.scrollIntoView({\n            behavior: \"instant\",\n            block: \"center\",\n          });\n          currentElement.focus();\n        }\n      }\n      setClickedButton(false);\n      return;\n    }\n  }, [clickedButton]);\n\n  const errorMsgCallback = useCallback((node) => {\n    if (node !== null) {\n      setErrorDiv(node);\n    }\n  }, []);\n\n  const setErrors = (errors) => {\n    dispatch(setFieldInformation(\"errors\", errors));\n  };\n\n  const changePickupPointFields = (pickup_point_id, pickup_point_name) => {\n    dispatch(setFieldShipping(\"pickup_point_id\", pickup_point_id));\n    dispatch(setFieldShipping(\"pickup_point_name\", pickup_point_name));\n  };\n\n  const isValidEmail = (email) => {\n    const emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,8}$/i;\n    return emailRegex.test(email);\n  };\n\n  const dispatchSaveEmail = (email) => {\n    if (isValidEmail(email)) {\n      const params = {\n        email: email,\n      };\n      dispatch(saveEmail(urls.save_email, params));\n    }\n  };\n\n  const changeShippingOption = (field, value) => {\n    // Check if there is a shipping method already defined\n    if (\n      shipping &&\n      shipping.shipping_ids &&\n      shipping.shipping_ids.shipping_method_id &&\n      value === \"store_pickup\"\n    ) {\n      dispatch(saveShippingOption(urls.save_shipping_option, value));\n    } else {\n      dispatch(setFieldInformation(field, value));\n      const fulfillingPickupPoint = shipping.pickup_points.find(\n        (point) => point.location_can_fulfill_order === true,\n      );\n      if (fulfillingPickupPoint) {\n        dispatch(setFieldShipping(\"pickup_point_id\", fulfillingPickupPoint.id));\n        dispatch(\n          setFieldShipping(\"pickup_point_name\", fulfillingPickupPoint.name),\n        );\n      }\n    }\n  };\n\n  const changeStoreField = (field, value) => {\n    dispatch(setFieldInformation(field, value));\n\n    if (field == \"shipping_option\") {\n      setErrors({});\n      changeStoreField(\"error\", \"\");\n    } else if (field != \"error\") {\n      let newErrors = Object.assign({}, information.errors);\n      delete newErrors[field];\n      setErrors(newErrors);\n    }\n  };\n\n  const setCustomField = (elementId, custom_field_id, value, area) => {\n    dispatch(setCustomFieldInformation(custom_field_id, value, area));\n    let newErrors = Object.assign({}, information.errors);\n    delete newErrors[elementId];\n    setErrors(newErrors);\n  };\n\n  const callUpdateLocations = (\n    country,\n    region,\n    municipality,\n    city,\n    address = null,\n    postal = null,\n  ) => {\n    if (doingRequest) {\n      return;\n    }\n    let newErrors = Object.assign({}, information.errors);\n    delete newErrors.country;\n    delete newErrors.region;\n    delete newErrors.municipality;\n    delete newErrors.city;\n    delete newErrors.address;\n    delete newErrors.postal;\n    setErrors(newErrors);\n\n    const url = urls.update_locations;\n    const params = {\n      country: country,\n      region: region,\n      municipality: municipality,\n      city: city,\n      address: address,\n      postal: postal,\n      shipping: true,\n    };\n    dispatch(updateLocations(url, params));\n  };\n\n  const callUpdateCountry = (value) => {\n    if (doingRequest) {\n      return;\n    }\n    let newErrors = Object.assign({}, information.errors);\n    delete newErrors.country;\n    setErrors(newErrors);\n    const url = urls.update_country;\n    const params = {\n      country: value,\n      shipping: true,\n    };\n    if (currentPhone == \"\") {\n      setCurrentPrefix(getCountryPhonePrefix(\"\", value));\n    }\n    dispatch(updateCountry(url, params));\n  };\n\n  const callUpdateRegion = (value) => {\n    if (doingRequest) {\n      return;\n    }\n    let newErrors = Object.assign({}, information.errors);\n    delete newErrors.region;\n    setErrors(newErrors);\n    const url = urls.update_region;\n    const params = {\n      country: information.country,\n      region: value,\n      shipping: true,\n    };\n\n    dispatch(updateRegion(url, params));\n  };\n\n  const addressAutofill = (country, postal) => {\n    if (doingRequest) {\n      return;\n    }\n    const url = urls.address_autofill;\n    const params = {\n      country: country,\n      postal: postal,\n      type: \"information\",\n    };\n    dispatch(callAddressAutofill(url, params));\n  };\n\n  const validate = async () => {\n    let validationData;\n    let allCustomFields;\n    const shippingCustomFields = information.custom_fields.shipping;\n    const otherCustomFields = information.custom_fields.other;\n    const contactCustomFields = information.custom_fields.contact;\n\n    validationData = Object.assign({}, information, system_fields);\n\n    if (\n      information.no_shipping_required &&\n      information.show_billing_address_on_digital_products == \"1\"\n    ) {\n      allCustomFields = otherCustomFields.concat(contactCustomFields);\n    } else {\n      allCustomFields = shippingCustomFields\n        .concat(otherCustomFields)\n        .concat(contactCustomFields);\n    }\n    const { validations, updatedData } = addCustomFieldsValidation(\n      allCustomFields,\n      validationData,\n      InformationValidation,\n    );\n    let results = ValidateForm(validations, updatedData);\n    let emailValidationResults = await axios.get(urls.validate_email, {\n      params: {\n        email: information.email,\n      },\n    });\n\n    if (!emailValidationResults.data.email_valid) {\n      results = {\n        errors: Object.assign({}, results.errors, {\n          email: t(emailValidationResults.data.email_validation_message),\n        }),\n        status: false,\n      };\n    }\n\n    setErrors(results.errors);\n\n    return results.status;\n  };\n\n  const saveData = async () => {\n    setClickedButton(true);\n    const result = await validate();\n\n    if (doingRequest || !result) {\n      return;\n    }\n\n    setErrors({});\n    changeStoreField(\"error\", \"\");\n\n    var url = \"\";\n    var params = {};\n    if (information.no_shipping_required) {\n      url = urls.save_information;\n      params = {\n        information: {\n          shipping_option: information.shipping_option,\n          email: information.email,\n          name: information.name,\n          surname: information.surname,\n          country: information.country,\n          custom_fields: information.custom_fields,\n          accepts_marketing: information.accepts_marketing,\n          additional_information: information.additional_information,\n        },\n      };\n    } else {\n      if (information.shipping_option === \"delivery\") {\n        url = urls.save_information;\n        params = {\n          information: {\n            shipping_option: information.shipping_option,\n            name: information.name,\n            surname: information.surname,\n            email: information.email,\n            phone: information.phone,\n            phone_prefix: information.phone_prefix,\n            address: information.address,\n            city: information.city,\n            postal: information.postal,\n            country: information.country,\n            region: information.region,\n            municipality: information.municipality,\n            custom_fields: information.custom_fields,\n            accepts_marketing: information.accepts_marketing,\n            complement: information.complement,\n            additional_information: information.additional_information,\n            billing_same_as_shipping: information.billing_same_as_shipping,\n          },\n        };\n      } else {\n        url = urls.save_info_pickup;\n        params = {\n          information: {\n            shipping_option: information.shipping_option,\n            email: information.email,\n            name: information.name,\n            surname: information.surname,\n            phone: information.phone,\n            phone_prefix: information.phone_prefix,\n            custom_fields: information.custom_fields,\n            accepts_marketing: information.accepts_marketing,\n            additional_information: information.additional_information,\n          },\n        };\n      }\n    }\n\n    if (\n      shipping.pickup_points &&\n      shipping.pickup_points.length > 0 &&\n      information.shipping_option === \"store_pickup\"\n    ) {\n      params = {\n        ...params,\n        shipping: {\n          pickup_point_id: shipping.pickup_point_id,\n          name: information.name,\n          surname: information.surname,\n        },\n      };\n    }\n    const queryParams = new URLSearchParams(window.location.search);\n    const previewMode = queryParams.get(\"preview_mode\") || \"false\";\n    dispatch(saveInformation(url, params, previewMode, navigate));\n  };\n\n  const [loginFormOpen, setLoginFormOpen] = useState(false);\n  const [passwordFormOpen, setPasswordFormOpen] = useState(false);\n  const [email, setEmail] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n  const [loginAlertMessage, setLoginAlertMessage] = useState(\"\");\n  const [resetPasswordInfoMessage, setResetPasswordInfoMessage] = useState(\"\");\n  const [resetPasswordErrorMessage, setResetPasswordErrorMessage] =\n    useState(\"\");\n\n  const pickupLocationsHaveCoordinates = shipping.pickup_points?.every(\n    (point) =>\n      point.address &&\n      point.address.latitude != null &&\n      point.address.longitude != null &&\n      point.address.latitude !== 0 &&\n      point.address.longitude !== 0,\n  );\n\n  const customStyles = (isError) => ({\n    control: (base) => ({\n      ...base,\n      borderRadius: \"6px\",\n      height: \"44px\",\n      padding: \"0 8px\",\n      fontSize: \"14px\",\n      border: isError ? \"2px solid #ed2c2c !important;\" : \"\",\n      backgroundColor: isError ? \"#feeded !important\" : \"white\",\n    }),\n    placeholder: (base) => ({\n      ...base,\n      color: defaultColor,\n    }),\n    dropdownIndicator: (base) => ({\n      ...base,\n      color: defaultColor,\n      padding: \"8px\",\n    }),\n    indicatorSeparator: () => ({ display: \"none\" }),\n    valueContainer: (base) => ({\n      ...base,\n      padding: \"4px 8px\",\n    }),\n    option: (base, state) => ({\n      ...base,\n      backgroundColor: state.isSelected\n        ? defaultColor\n        : state.isFocused\n          ? \"#f0f0f0\"\n          : \"#fff\",\n      color: state.isSelected ? colors.text_color : \"#000\",\n      padding: \"8px 12px\",\n      cursor: \"pointer\",\n    }),\n  });\n\n  const handleKeyDown = (event, radioId) => {\n    if (event.code === \"Space\") {\n      event.preventDefault();\n      const radio = document.getElementById(radioId);\n      if (radio) {\n        radio.click();\n      }\n    }\n  };\n\n  const RenderLoginForm = () => {\n    return (\n      <Fragment>\n        <div className=\"separatedContent col-12 ps-0\">\n          <div className=\"label-checkout\" style={{ paddingBottom: \"24px\" }}>\n            {t(\"information.login-to-your-account\")}\n          </div>\n          <small\n            className=\"label-checkout\"\n            onClick={() => {\n              setLoginFormOpen(false);\n              setPasswordFormOpen(true);\n            }}\n            style={{ cursor: \"pointer\" }}\n          >\n            {t(\"information.forgot-password\")}\n          </small>\n        </div>\n        {loginAlertMessage != \"\" && (\n          <div className=\"col-12 ps-0\">\n            <Alert\n              type={\"error\"}\n              message={loginAlertMessage}\n              closeAlert={() => {\n                setLoginAlertMessage(\"\");\n              }}\n            />\n          </div>\n        )}\n        {resetPasswordInfoMessage != \"\" && (\n          <div className=\"col-12 ps-0\">\n            <Alert\n              type={\"primary\"}\n              message={resetPasswordInfoMessage}\n              closeAlert={() => {\n                setResetPasswordInfoMessage(\"\");\n              }}\n            />\n          </div>\n        )}\n        <div\n          className={`col-12 ${loginAlertMessage != \"\" || resetPasswordInfoMessage !== \"\" || loginFormOpen ? \"mt-1\" : \"mt-3\"} ps-0`}\n        >\n          <div className={`floating-label-wrap`}>\n            <label htmlFor=\"email\" className=\"label-checkout\">\n              {t(\"information.email\")}\n            </label>\n            <input\n              type=\"text\"\n              required\n              className=\"floating-label-field floating-label-field--s1\"\n              id=\"email\"\n              disabled={doingRequest}\n              placeholder={t(\"information.email\")}\n              onChange={(e) => setEmail(e.target.value.replace(\" \", \"\"))}\n              value={email}\n            />\n          </div>\n        </div>\n        <div className=\"col-12 mt-2 ps-0\">\n          <div className={`floating-label-wrap`}>\n            <label htmlFor=\"name\" className=\"label-checkout\">\n              {t(\"information.password\")}\n            </label>\n            <input\n              type=\"password\"\n              required\n              className=\"floating-label-field floating-label-field--s1\"\n              id=\"password\"\n              disabled={doingRequest}\n              placeholder={t(\"information.password\")}\n              onChange={(e) => setPassword(e.target.value)}\n            />\n          </div>\n        </div>\n        <div className=\"d-flex align-items-baseline\">\n          <div\n            className=\"col-6 mt-3 label-checkout\"\n            style={{ cursor: \"pointer\" }}\n            onClick={() => {\n              setLoginFormOpen(false);\n            }}\n          >\n            <ArrowLeft size={24} weight=\"bold\" />{\" \"}\n            <span>{t(\"information.back-to-guest-checkout\")}</span>\n          </div>\n          <div className=\"col-6 my-3\">\n            <button\n              className=\"btn btn-primary py-3\"\n              disabled={doingRequest}\n              onClick={() => {\n                axios\n                  .post(urls.login_at_checkout, {\n                    params: {\n                      customer: {\n                        email: email,\n                        password: password,\n                      },\n                    },\n                  })\n                  .then((response) => {\n                    const response_json = response.data;\n                    const responseType = response_json.type;\n                    const responseMessage = response_json.message;\n\n                    if (responseType == \"error\") {\n                      setLoginAlertMessage(responseMessage);\n                    } else {\n                      setLoginFormOpen(false);\n                      setLoginAlertMessage(\"\");\n                      dispatch(fetchDataInformation());\n                    }\n                  });\n              }}\n              id=\"save\"\n              style={{\n                borderRadius: \"8px\",\n                fontWeight: 700,\n                backgroundColor: colors.main_color,\n                color: colors.main_buttons_text_color,\n              }}\n            >\n              {doingRequest ? (\n                <LoadingIcon isInsideButton={true} />\n              ) : (\n                t(\"information.login\")\n              )}\n            </button>\n          </div>\n        </div>\n      </Fragment>\n    );\n  };\n\n  const RenderPasswordForm = () => {\n    return (\n      <Fragment>\n        <div className=\"col-12 ps-0\">\n          <div className=\"label-checkout\" style={{ paddingBottom: \"24px\" }}>\n            {t(\"information.checkout-as-guest\")}\n          </div>\n        </div>\n        {resetPasswordErrorMessage != \"\" && (\n          <div className=\"col-12 ps-0\">\n            <Alert\n              type={\"error\"}\n              message={resetPasswordErrorMessage}\n              closeAlert={() => {\n                setResetPasswordErrorMessage(\"\");\n              }}\n            />\n          </div>\n        )}\n        <div\n          className={`col-12 ${resetPasswordErrorMessage != \"\" ? \"mt-1\" : \"mt-3\"} ps-0`}\n        >\n          <div className={`floating-label-wrap`}>\n            <label htmlFor=\"email\" className=\"label-checkout\">\n              {t(\"information.email\")}\n            </label>\n            <input\n              type=\"text\"\n              required\n              className=\"floating-label-field floating-label-field--s1\"\n              id=\"email\"\n              disabled={doingRequest}\n              placeholder={t(\"information.email\")}\n              onChange={(e) => setEmail(e.target.value.replace(\" \", \"\"))}\n              value={email}\n            />\n          </div>\n        </div>\n        <div className=\"row align-items-baseline\">\n          <div\n            className=\"col-6 mt-3 label-checkout\"\n            style={{ cursor: \"pointer\" }}\n            onClick={() => {\n              setPasswordFormOpen(false);\n            }}\n          >\n            <ArrowLeft /> {t(\"information.back-to-guest-checkout\")}\n          </div>\n          <div className=\"col-6 my-3\">\n            <button\n              className=\"btn btn-primary py-3\"\n              disabled={doingRequest}\n              onClick={() => {\n                axios\n                  .get(urls.reset_password, {\n                    params: {\n                      customer: {\n                        email: email,\n                      },\n                    },\n                  })\n                  .then((response) => {\n                    const responseType = response.data.type;\n                    const responseMessage = response.data.message;\n                    if (responseType == \"error\") {\n                      setResetPasswordInfoMessage(\"\");\n                      setResetPasswordErrorMessage(responseMessage);\n                    } else {\n                      setLoginAlertMessage(\"\");\n                      setResetPasswordErrorMessage(\"\");\n                      setPasswordFormOpen(false);\n                      setLoginFormOpen(true);\n                      setResetPasswordInfoMessage(responseMessage);\n                    }\n                  });\n              }}\n              id=\"reset\"\n              style={{\n                backgroundColor: colors.main_color,\n                color: colors.main_buttons_text_color,\n              }}\n            >\n              {doingRequest ? (\n                <LoadingIcon isInsideButton={true} />\n              ) : (\n                t(\"information.reset-button\")\n              )}\n            </button>\n          </div>\n        </div>\n      </Fragment>\n    );\n  };\n  const AcceptsMarketing = (CustomField) => {\n    const elementId = `custom_field_${CustomField.area}_${CustomField.custom_field_id}`;\n    return (\n      <div className=\"check col-12 mb-3 form-group\">\n        <label>\n          <input\n            type=\"checkbox\"\n            className=\"me-2 checkbox align-middle\"\n            disabled={doingRequest}\n            id=\"accepts_marketing\"\n            onChange={(e) => {\n              changeStoreField(\"accepts_marketing\", e.target.checked);\n              setCustomField(\n                elementId,\n                CustomField.custom_field_id,\n                e.target.checked,\n                CustomField.area,\n              );\n            }}\n            checked={information.accepts_marketing}\n          />\n          <span\n            className=\"align-middle\"\n            dangerouslySetInnerHTML={{\n              __html: DOMPurify.sanitize(\n                t(information.accepts_marketing_text) ||\n                  t(\"information.accepts-marketing-text-default\"),\n                { ADD_ATTR: [\"target\"] },\n              ),\n            }}\n          />\n          <span></span>\n        </label>\n      </div>\n    );\n  };\n  const PhoneNumber = () => {\n    return (\n      <div className=\"mb-n2\">\n        <PhoneInput\n          isInformationContent={true}\n          flagId={\"prefix\"}\n          flagValue={getPhonePrefixCountry(currentPrefix, information.country)}\n          flagPlaceholder={t(\"information.phone-code\")}\n          onFlagChange={(e) => {\n            setCurrentPrefix(e.value);\n          }}\n          phoneValue={currentPhone || \"\"}\n          phoneId={\"phone\"}\n          phonePlaceholder={\n            system_fields.phone_required\n              ? t(\"information.phone\") + \" *\"\n              : t(\"information.phone-optional\")\n          }\n          onNumberChange={(number) => {\n            setCurrentPhone(number.replace(/ /g, \"\"));\n          }}\n          phoneError={t(phoneError.message)}\n          phoneEmpty={t(information.errors.phone)}\n          storeCountry={information.order_country}\n        />\n      </div>\n    );\n  };\n\n  const ContactInformation = (\n    <Fragment>\n      <div\n        className={`col-12 ${\n          system_fields.accepts_marketing\n            ? \"\"\n            : information.custom_fields.contact.length > 0\n              ? \"mb-3\"\n              : \"mb-4\"\n        }`}\n      >\n        <div\n          style={{\n            display: \"flex\",\n            justifyContent: \"space-between\",\n            alignItems: \"center\",\n            paddingBottom: \"24px\",\n          }}\n          className=\"checkout-section-title\"\n        >\n          <div className=\"d-inline-flex align-items-center\">\n            {props.vertical && (\n              <span\n                style={{ color: colors.main_color_dark ? \"white\" : \"black\" }}\n                className=\"pageNumber\"\n              >\n                1\n              </span>\n            )}{\" \"}\n            {t(\"information.contact\")}\n          </div>\n          {information.customers_enabled &&\n            !information.logged_in &&\n            !loginFormOpen &&\n            !passwordFormOpen && (\n              <div\n                onClick={() => {\n                  setPasswordFormOpen(false);\n                  setLoginFormOpen(true);\n                }}\n                id=\"login\"\n                className=\"checkout-sub-section-title\"\n                style={{\n                  color: colors.text_color,\n                  cursor: \"pointer\",\n                  display: \"flex\",\n                  alignItems: \"center\",\n                  gap: \"5px\",\n                }}\n              >\n                <UserCircle /> {t(\"information.login\")}\n              </div>\n            )}\n        </div>\n\n        {information.logged_in ? (\n          <Fragment>\n            <div className=\"logged-in-div\">\n              <div className=\"pe-2\">\n                <UserCircle size={24} weight=\"bold\" />\n              </div>\n              <span id=\"filledEmail\">{information.email}</span>\n              <a\n                href={`${urls.logout}?id=${information.customer_id}`}\n                id=\"logout\"\n                className=\"small\"\n                style={{ color: \"#33a2db\" }}\n              >\n                {t(\"information.logout\")}\n              </a>\n            </div>\n          </Fragment>\n        ) : loginFormOpen ? (\n          RenderLoginForm()\n        ) : passwordFormOpen ? (\n          RenderPasswordForm()\n        ) : (\n          <div className=\"contact-information-box mb-3\">\n            <div className=\"checkout-guest-div\">\n              <div\n                className={`form-group floating-label-wrap${\n                  information.errors.email ? \" error-div-highlight\" : \"\"\n                }`}\n              >\n                <MailCheck\n                  email={information.email || \"\"}\n                  domains={[\"hotmail.com\", \"gmail.com\", \"aol.com\"]}\n                  topLevelDomains={[\n                    \"com\",\n                    \"net\",\n                    \"org\",\n                    \"edu\",\n                    \"gov\",\n                    \"mil\",\n                    \"int\",\n                    \"co\",\n                    \"biz\",\n                    \"info\",\n                    \"pro\",\n                    \"name\",\n                    \"me\",\n                    \"mobi\",\n                    \"tv\",\n                    \"asia\", // Newer TLDs\n                    \"io\",\n                    \"tech\",\n                    \"dev\",\n                    \"app\",\n                    \"ai\", // Tech-related TLDs\n\n                    // Common country code TLDs\n                    \"us\",\n                    \"ca\",\n                    \"uk\",\n                    \"de\",\n                    \"fr\",\n                    \"es\",\n                    \"it\",\n                    \"nl\",\n                    \"se\",\n                    \"no\",\n                    \"fi\",\n                    \"pl\",\n                    \"ru\", // European countries\n                    \"au\",\n                    \"nz\",\n                    \"jp\",\n                    \"cn\",\n                    \"kr\",\n                    \"sg\",\n                    \"in\", // Asia-Pacific region\n                    \"br\",\n                    \"mx\",\n                    \"ar\",\n                    \"cl\",\n                    \"co\",\n                    \"pe\", // Latin America\n                    \"za\",\n                    \"ng\",\n                    \"eg\", // Africa\n\n                    // Some less common TLDs that still might be useful\n                    \"xyz\",\n                    \"club\",\n                    \"guru\",\n                    \"online\",\n                    \"site\",\n                    \"solutions\",\n                    \"store\",\n                    \"world\",\n                    \"live\",\n                  ]}\n                >\n                  {(suggestion) => (\n                    <div>\n                      <label htmlFor=\"email\" className=\"label-checkout\">\n                        {t(\"information.email\")} *\n                      </label>\n                      <input\n                        type=\"text\"\n                        required\n                        className=\"floating-label-field floating-label-field--s1\"\n                        name=\"email\"\n                        id=\"email\"\n                        disabled={doingRequest}\n                        placeholder={t(\"information.email\")}\n                        onChange={(e) => {\n                          dispatchSaveEmail(e.target.value.replace(\" \", \"\"));\n                          changeStoreField(\n                            \"email\",\n                            e.target.value.replace(\" \", \"\"),\n                          );\n                        }}\n                        value={\n                          (information.email != null && information.email) || \"\"\n                        }\n                        autoComplete=\"email\"\n                      />\n\n                      {suggestion && (\n                        <div className=\"mb-3\">\n                          <span className=\"form-text text-muted email-suggestion\">\n                            {t(\"information.did-you-mean\")}\n                            {\n                              <a\n                                href=\"#\"\n                                onClick={() =>\n                                  changeStoreField(\"email\", suggestion.full)\n                                }\n                                style={{ color: colors.main_color }}\n                              >\n                                {suggestion.full}\n                              </a>\n                            }\n                            ?\n                          </span>\n                        </div>\n                      )}\n                    </div>\n                  )}\n                </MailCheck>\n              </div>\n              <div\n                className={`field-error ${information.errors.email ? \"\" : \"hidden-error\"}`}\n                style={{\n                  display: information.errors.email ? \"flex\" : \"\",\n                  alignItems: \"center\",\n                }}\n              >\n                <FontAwesomeIcon\n                  icon={faCircleExclamation}\n                  style={{ paddingRight: \"2px\" }}\n                  size=\"sm\"\n                  className=\"m-1\"\n                  fixedWidth\n                />\n                {t(information.errors.email)}\n              </div>\n            </div>\n          </div>\n        )}\n        <div className=\"col-12\">\n          <div className=\"row mx-n2\">\n            {information.custom_fields.contact.length > 0 ? (\n              <CustomFieldList\n                customFields={information.custom_fields.contact}\n                errors={information.errors}\n                setCustomField={setCustomField}\n                custom={2}\n                PhoneNumber={system_fields.phone_enabled ? PhoneNumber : null}\n                AcceptsMarketing={\n                  system_fields.accepts_marketing ? AcceptsMarketing : null\n                }\n              />\n            ) : null}\n          </div>\n        </div>\n      </div>\n    </Fragment>\n  );\n\n  const ShippingOptions = (\n    <div className=\"col-12 mb-1 mt-3\">\n      <div className=\"checkout-section-title\" style={{ paddingBottom: \"24px\" }}>\n        <div className=\"d-inline-flex align-items-center\">\n          {props.vertical && (\n            <span\n              style={{ color: colors.main_color_dark ? \"white\" : \"black\" }}\n              className=\"pageNumber\"\n            >\n              2\n            </span>\n          )}\n          {t(\"information.delivery\")}\n        </div>\n      </div>\n      <div className=\"shipping-options-div row g-0 mb-2\">\n        <div className=\"col-12\">\n          <div\n            tabIndex=\"0\"\n            onKeyDown={(event) => handleKeyDown(event, \"radio_delivery\")}\n            className={`delivery-div-vertical ${\n              information.shipping_option === \"delivery\"\n                ? \"\"\n                : \"disabled-shipping-option-up\"\n            }`}\n            style={{\n              height: \"71px\",\n              backgroundColor:\n                information.shipping_option === \"delivery\"\n                  ? `#FCFCFC`\n                  : `#FFFFFF`,\n              border:\n                information.shipping_option === \"delivery\"\n                  ? mainColorBorder\n                  : ``,\n              overflow: \"hidden\",\n              color: \"#505050\",\n            }}\n          >\n            <label className=\"paymentRadioLabel\" style={{ height: \"71px\" }}>\n              <input\n                className=\"radioOp\"\n                style={{ accentColor: colors.main_color, colorScheme: \"light\" }}\n                type=\"radio\"\n                value=\"delivery\"\n                disabled={doingRequest}\n                id=\"radio_delivery\"\n                onChange={(e) =>\n                  changeShippingOption(\"shipping_option\", e.target.value)\n                }\n                checked={information.shipping_option === \"delivery\"}\n              />\n              <div className=\"col-md-9 col-sm-8\" style={{ lineHeight: \"17px\" }}>\n                <div className=\"px-2\">\n                  <span style={{ fontWeight: 600 }} className=\"d-block\">\n                    {t(\"information.shipping\")}\n                  </span>\n                  <span style={{ fontWeight: 400 }} className=\"d-block\">\n                    {t(\"information.delivery-info-text-vertical\")}\n                  </span>\n                </div>\n              </div>\n            </label>\n          </div>\n        </div>\n        <div className=\"col-12\">\n          <div\n            tabIndex=\"0\"\n            onKeyDown={(event) => handleKeyDown(event, \"radio_store_pickup\")}\n            className={`pickup-div-vertical ${\n              information.shipping_option === \"store_pickup\"\n                ? \"\"\n                : \"disabled-shipping-option-down\"\n            }`}\n            style={{\n              height: \"71px\",\n              backgroundColor:\n                information.shipping_option === \"store_pickup\"\n                  ? `#FCFCFC`\n                  : `#FFFFFF`,\n              border:\n                information.shipping_option === \"store_pickup\"\n                  ? mainColorBorder\n                  : ``,\n              overflow: \"hidden\",\n            }}\n          >\n            <label className=\"paymentRadioLabel\" style={{ height: \"71px\" }}>\n              <input\n                className=\"radioOp\"\n                style={{ accentColor: colors.main_color, colorScheme: \"light\" }}\n                type=\"radio\"\n                value=\"store_pickup\"\n                disabled={doingRequest}\n                id=\"radio_store_pickup\"\n                onChange={(e) =>\n                  changeShippingOption(\"shipping_option\", e.target.value)\n                }\n                checked={information.shipping_option === \"store_pickup\"}\n              />\n              <div\n                className=\"shipping-option-text col-md-9 col-sm-8\"\n                style={{ lineHeight: \"17px\" }}\n              >\n                <div className=\"px-2\" style={{ color: \"#505050\" }}>\n                  <span style={{ fontWeight: 600 }} className=\"d-block\">\n                    {t(\"information.store-pick-up\")}\n                  </span>\n                  <span style={{ fontWeight: 400 }} className=\"d-block\">\n                    {t(\"information.pickup-info-text\")}\n                  </span>\n                </div>\n              </div>\n            </label>\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n\n  const ChoosePlace = (\n    <Fragment>\n      <div className=\"col-12\">\n        <div\n          className=\"checkout-sub-section-title\"\n          style={{ paddingBottom: \"16px\", paddingTop: \"16px\" }}\n        >\n          {t(\"shipping.choose-place\")}\n        </div>\n      </div>\n      <div className=\"col-12\">\n        <div\n          style={{\n            borderTop: contentExceedsMaxHeight ? \"1px solid #ccc\" : \"none\",\n            borderBottom: contentExceedsMaxHeight ? \"1px solid #ccc\" : \"none\",\n          }}\n        >\n          {pickupLocationsHaveCoordinates &&\n            information.shipping_option === \"store_pickup\" && (\n              <div\n                style={{\n                  borderRadius: \"10px 10px 0 0\",\n                  borderWidth: \"1px 1px 0 1px\",\n                  borderColor: defaultColor,\n                  overflow: \"hidden\",\n                }}\n              >\n                <PickupLocationsMap\n                  pickupPoints={shipping.pickup_points}\n                  colors={colors}\n                />\n              </div>\n            )}\n          <div\n            id=\"pickUpContainer\"\n            className={`shippingBox w-100 ${\n              information.errors.pick_up != \"\" ? \"error-div-highlight\" : \"\"\n            }`}\n            style={{\n              maxHeight: \"628px\",\n              overflowY: contentExceedsMaxHeight ? \"scroll\" : \"\",\n            }}\n          >\n            {shipping.pickup_points &&\n              shipping.pickup_points.map((pickup_point, i) => {\n                const selected_method =\n                  shipping.pickup_point_id == pickup_point.id;\n                const selectedMethodIndex = shipping.pickup_points.findIndex(\n                  (method) => method.id === shipping.pickup_point_id,\n                );\n                const isNextMethod = i === selectedMethodIndex + 1;\n\n                const methodOptionClass =\n                  shipping.pickup_points.length === 1 &&\n                  !pickupLocationsHaveCoordinates\n                    ? \"10px 10px 10px 10px\"\n                    : (shipping.pickup_points.length === 1 &&\n                          pickupLocationsHaveCoordinates) ||\n                        i == shipping.pickup_points.length - 1\n                      ? \"0 0 10px 10px\"\n                      : shipping.pickup_points.length > 1 &&\n                          i === 0 &&\n                          !pickupLocationsHaveCoordinates\n                        ? \"10px 10px 0 0\"\n                        : \"\";\n                return (\n                  <div\n                    tabIndex=\"0\"\n                    onKeyDown={(event) =>\n                      handleKeyDown(\n                        event,\n                        \"radio_pickup_point_\" + pickup_point.id,\n                      )\n                    }\n                    className=\"pickup-names-div\"\n                    key={pickup_point.id}\n                    data-tooltip-content={t(\"information.full-stock-needed\")}\n                    data-tooltip-id={\"full-stock-needed-\" + pickup_point.id}\n                    style={{\n                      borderTop: selected_method\n                        ? mainColorBorder\n                        : isNextMethod\n                          ? \"\"\n                          : defaultColorBorder,\n                      borderLeft: selected_method\n                        ? mainColorBorder\n                        : defaultColorBorder,\n                      borderRight: selected_method\n                        ? mainColorBorder\n                        : defaultColorBorder,\n                      borderBottom: selected_method\n                        ? mainColorBorder\n                        : shipping.pickup_points.length === i + 1 &&\n                            !selected_method\n                          ? defaultColorBorder\n                          : \"\",\n                      borderRadius: methodOptionClass,\n                      color: \"#505050\",\n                    }}\n                  >\n                    {!pickup_point.location_can_fulfill_order && (\n                      <Tooltip\n                        className=\"d-none d-sm-block\"\n                        id={\"full-stock-needed-\" + pickup_point.id}\n                      />\n                    )}\n\n                    <label\n                      style={{\n                        borderRadius: `${methodOptionClass}`,\n                        backgroundColor:\n                          shipping.pickup_point_id == pickup_point.id\n                            ? \"#FCFCFC\"\n                            : \"#FFFFFF\",\n                      }}\n                      className=\"radioPickupLabel flex-nowrap\"\n                      htmlFor={\"radio_pickup_point_\" + pickup_point.id}\n                    >\n                      <input\n                        className=\"radioOp\"\n                        style={{\n                          accentColor: colors.main_color,\n                          colorScheme: \"light\",\n                        }}\n                        type=\"radio\"\n                        disabled={\n                          doingRequest ||\n                          !pickup_point.location_can_fulfill_order\n                        }\n                        id={\"radio_pickup_point_\" + pickup_point.id}\n                        value={pickup_point.id}\n                        checked={\n                          shipping.pickup_point_id == pickup_point.id ||\n                          shipping.pickup_points.length === 1\n                        }\n                        onChange={(e) =>\n                          changePickupPointFields(\n                            parseInt(e.target.value, 10),\n                            pickup_point.name,\n                          )\n                        }\n                      />\n                      <div\n                        className=\"py-sm-0 py-2 px-2\"\n                        style={{ color: \"#505050\" }}\n                      >\n                        <span\n                          style={{\n                            fontWeight: 600,\n                          }}\n                          className=\"d-block\"\n                        >\n                          {pickup_point.name}\n                        </span>\n                        <span className=\"subtext d-block\">\n                          {[\n                            pickup_point.address.address,\n                            pickup_point.address.complement,\n                            pickup_point.address.municipality,\n                            pickup_point.address.region,\n                            pickup_point.address.country,\n                          ]\n                            .filter((x) => x)\n                            .join(\", \")}\n                        </span>\n                      </div>\n                    </label>\n                    {shipping.pickup_point_id == pickup_point.id &&\n                      pickup_point.description && (\n                        <div\n                          style={{\n                            backgroundColor: \"white\",\n                            borderTop:\n                              shipping.pickup_point_id == pickup_point.id\n                                ? \"1px solid #F5F5F5\"\n                                : \"\",\n                          }}\n                          className={`pickup_point_div ${\n                            i === shipping.pickup_points.length - 1\n                              ? \"methodOptionRoundedLabelDown\"\n                              : \"\"\n                          }`}\n                        >\n                          <span\n                            dangerouslySetInnerHTML={{\n                              __html: DOMPurify.sanitize(\n                                pickup_point.description,\n                              ),\n                            }}\n                          ></span>\n                        </div>\n                      )}\n                  </div>\n                );\n              })}\n          </div>\n        </div>\n      </div>\n    </Fragment>\n  );\n\n  const AdditionalInformation = (\n    <div className=\"col-12 mb-3 \">\n      <div\n        className={`floating-label-wrap ${\n          information.errors.additional_information ? \"error-div-highlight\" : \"\"\n        }`}\n      >\n        <label htmlFor=\"additional_information\" className=\"label-checkout\">\n          {t(\"information.special-informations\")}\n        </label>\n        <textarea\n          className=\"floating-label-field floating-label-field--s1\"\n          id=\"additional_information\"\n          disabled={doingRequest}\n          placeholder={t(\"information.special-informations\")}\n          onChange={(e) =>\n            changeStoreField(\"additional_information\", e.target.value)\n          }\n          value={\n            (information != null && information.additional_information) || \"\"\n          }\n        ></textarea>\n      </div>\n      <div\n        className={`field-error ${\n          information.errors.additional_information ? \"\" : \"hidden-error\"\n        }`}\n        style={{\n          display: information.errors.additional_information ? \"flex\" : \"\",\n          alignItems: \"center\",\n        }}\n      >\n        <FontAwesomeIcon\n          icon={faCircleExclamation}\n          style={{ paddingRight: \"2px\" }}\n          size=\"sm\"\n          className=\"m-1\"\n          fixedWidth\n        />\n        {t(information.errors.additional_information)}\n      </div>\n    </div>\n  );\n\n  const PickUp = (\n    <Fragment>\n      {ChoosePlace}\n      <div className=\"col-12 mt-4\">\n        <div className=\"separatedContent\">\n          <div\n            className=\"checkout-sub-section-title\"\n            style={{ paddingBottom: \"8px\" }}\n          >\n            {t(\"information.who-picks-up-information\")}\n          </div>\n        </div>\n      </div>\n      <div className=\"col-12\">\n        <div className=\"row\">\n          <div className=\"col-sm-6  pe-sm-1 mb-3\">\n            <div\n              className={`floating-label-wrap ${\n                information.errors.name ? \"error-div-highlight\" : \"\"\n              }`}\n            >\n              <label htmlFor=\"name\" className=\"label-checkout\">\n                {t(\"information.name\")} *\n              </label>\n              <input\n                type=\"text\"\n                required\n                className=\"floating-label-field floating-label-field--s1\"\n                id=\"name\"\n                disabled={doingRequest}\n                placeholder={t(\"information.name\")}\n                onChange={(e) => {\n                  changeStoreField(\"name\", e.target.value);\n                  dispatch(setFieldBilling(\"name\", e.target.value));\n                }}\n                value={(information != null && information.name) || \"\"}\n                autoComplete=\"given-name\"\n              />\n            </div>\n            <div\n              className={`field-error ${information.errors.name ? \"\" : \"hidden-error\"}`}\n              style={{\n                display: information.errors.name ? \"flex\" : \"\",\n                alignItems: \"center\",\n              }}\n            >\n              <FontAwesomeIcon\n                icon={faCircleExclamation}\n                style={{ paddingRight: \"2px\" }}\n                size=\"sm\"\n                fixedWidth\n              />\n              {t(information.errors.name)}\n            </div>\n          </div>\n          <div className=\"col-sm-6  ps-sm-1 mb-3\">\n            <div\n              className={`floating-label-wrap ${\n                information.errors.surname ? \"error-div-highlight\" : \"\"\n              }`}\n            >\n              <label htmlFor=\"surname\" className=\"label-checkout\">\n                {t(\"information.surname\")} *\n              </label>\n              <input\n                type=\"text\"\n                required\n                className=\"floating-label-field floating-label-field--s1\"\n                id=\"surname\"\n                disabled={doingRequest}\n                placeholder={t(\"information.surname\")}\n                onChange={(e) => {\n                  changeStoreField(\"surname\", e.target.value);\n                  dispatch(setFieldBilling(\"surname\", e.target.value));\n                }}\n                value={(information != null && information.surname) || \"\"}\n                autoComplete=\"family-name\"\n              />\n            </div>\n            <div\n              className={`field-error ${information.errors.surname ? \"\" : \"hidden-error\"}`}\n              style={{\n                display: information.errors.surname ? \"flex\" : \"\",\n                alignItems: \"center\",\n              }}\n            >\n              <FontAwesomeIcon\n                icon={faCircleExclamation}\n                style={{ paddingRight: \"2px\" }}\n                size=\"sm\"\n                fixedWidth\n              />\n              {t(information.errors.surname)}\n            </div>\n          </div>\n          {(information.countries.length === 1 && information.country) ||\n          !(\n            information.shipping_option === \"store_pickup\" &&\n            information.show_billing_address_on_store_pickup === \"0\"\n          ) ? null : (\n            <div className=\"col-12  mb-3\">\n              <div\n                className={`floating-label-wrap ${\n                  information.errors.country ? \"error-div-highlight\" : \"\"\n                }`}\n              >\n                <label htmlFor=\"country\" className=\"label-checkout\">\n                  {t(\"information.country\")} *\n                </label>\n                <div>\n                  <Select\n                    styles={customStyles(information.errors.country)}\n                    classNamePrefix=\"custom-select\"\n                    searchable\n                    id=\"country\"\n                    options={information.countries}\n                    onChange={(row) => callUpdateCountry(row.value)}\n                    value={\n                      information.countries.find(\n                        (current) => current.value === information.country,\n                      ) || \"\"\n                    }\n                    autoComplete=\"country\"\n                  />\n                </div>\n              </div>\n              <div\n                className={`field-error ${\n                  information.errors.country ? \"\" : \"hidden-error\"\n                }`}\n                style={{\n                  display: information.errors.country ? \"flex\" : \"\",\n                  alignItems: \"center\",\n                }}\n              >\n                <FontAwesomeIcon\n                  icon={faCircleExclamation}\n                  style={{ paddingRight: \"2px\" }}\n                  size=\"sm\"\n                  fixedWidth\n                />\n                {t(information.errors.country)}\n              </div>\n            </div>\n          )}\n        </div>\n      </div>\n\n      {information.custom_fields.shipping.length > 0 ? (\n        <CustomFieldList\n          customFields={information.custom_fields.shipping}\n          errors={information.errors}\n          setCustomField={setCustomField}\n          AdditionalInformation={\n            system_fields.additional_information ? AdditionalInformation : null\n          }\n        />\n      ) : null}\n    </Fragment>\n  );\n\n  const NoPickupsAndNoShippingMethods = (\n    <Fragment>\n      <div className=\"col-12\">\n        <Alert\n          message={t(\"information.need-pickup-or-shipping\")}\n          type={\"error\"}\n        />\n      </div>\n    </Fragment>\n  );\n\n  const Digital = (\n    <Fragment>\n      <div className=\"col-12\">\n        <div className=\"row\">\n          <div className=\"col-sm-6  pe-sm-1 mb-3\">\n            <div\n              className={`floating-label-wrap ${\n                information.errors.name ? \"error-div-highlight\" : \"\"\n              }`}\n            >\n              <label htmlFor=\"name\" className=\"label-checkout\">\n                {t(\"information.name\")} *\n              </label>\n              <input\n                type=\"text\"\n                required\n                className=\"floating-label-field floating-label-field--s1\"\n                id=\"name\"\n                disabled={doingRequest}\n                placeholder={t(\"information.name\")}\n                onChange={(e) => changeStoreField(\"name\", e.target.value)}\n                value={(information != null && information.name) || \"\"}\n                autoComplete=\"given-name\"\n              />\n            </div>\n            <div\n              className={`field-error ${information.errors.name ? \"\" : \"hidden-error\"}`}\n              style={{\n                display: information.errors.name ? \"flex\" : \"\",\n                alignItems: \"center\",\n              }}\n            >\n              <FontAwesomeIcon\n                icon={faCircleExclamation}\n                style={{ paddingRight: \"2px\" }}\n                size=\"sm\"\n                fixedWidth\n              />\n              {t(information.errors.name)}\n            </div>\n          </div>\n          <div className=\"col-sm-6  ps-sm-1 mb-3\">\n            <div\n              className={`floating-label-wrap ${\n                information.errors.surname ? \"error-div-highlight\" : \"\"\n              }`}\n            >\n              <label htmlFor=\"surname\" className=\"label-checkout\">\n                {t(\"information.surname\")} *\n              </label>\n              <input\n                type=\"text\"\n                required\n                className=\"floating-label-field floating-label-field--s1\"\n                id=\"surname\"\n                disabled={doingRequest}\n                placeholder={t(\"information.surname\")}\n                onChange={(e) => changeStoreField(\"surname\", e.target.value)}\n                value={(information != null && information.surname) || \"\"}\n                autoComplete=\"family-name\"\n              />\n            </div>\n            <div\n              className={`field-error ${information.errors.surname ? \"\" : \"hidden-error\"}`}\n              style={{\n                display: information.errors.surname ? \"flex\" : \"\",\n                alignItems: \"center\",\n              }}\n            >\n              <FontAwesomeIcon\n                icon={faCircleExclamation}\n                style={{ paddingRight: \"2px\" }}\n                size=\"sm\"\n                fixedWidth\n              />\n              {t(information.errors.surname)}\n            </div>\n          </div>\n          {information.countries.length === 1 && information.country ? null : (\n            <div className=\"col-12  mb-3\">\n              <div\n                className={`floating-label-wrap ${\n                  information.errors.country ? \"error-div-highlight\" : \"\"\n                }`}\n              >\n                <label htmlFor=\"country\" className=\"label-checkout\">\n                  {t(\"information.country\")} *\n                </label>\n                <div>\n                  <Select\n                    styles={customStyles(information.errors.country)}\n                    classNamePrefix=\"custom-select\"\n                    searchable\n                    id=\"country\"\n                    options={information.countries}\n                    onChange={(row) => callUpdateCountry(row.value)}\n                    value={\n                      information.countries.find(\n                        (current) => current.value === information.country,\n                      ) || \"\"\n                    }\n                    autoComplete=\"country\"\n                  />\n                </div>\n              </div>\n              <div\n                className={`field-error ${\n                  information.errors.country ? \"\" : \"hidden-error\"\n                }`}\n                style={{\n                  display: information.errors.country ? \"flex\" : \"\",\n                  alignItems: \"center\",\n                }}\n              >\n                <FontAwesomeIcon\n                  icon={faCircleExclamation}\n                  style={{ paddingRight: \"2px\" }}\n                  size=\"sm\"\n                  fixedWidth\n                />\n                {t(information.errors.country)}\n              </div>\n            </div>\n          )}\n        </div>\n      </div>\n\n      {information.custom_fields.shipping.length > 0 ? (\n        <CustomFieldList\n          customFields={information.custom_fields.shipping}\n          errors={information.errors}\n          setCustomField={setCustomField}\n          AdditionalInformation={\n            system_fields.additional_information ? AdditionalInformation : null\n          }\n        />\n      ) : null}\n    </Fragment>\n  );\n\n  const PhysicalProducts = (\n    <Fragment>\n      {information.shipping_option === \"delivery\" && (\n        <Fragment>\n          <div className=\"col-12\">\n            <div className=\"separatedContent\">\n              <div\n                className=\"checkout-sub-section-title\"\n                style={{ paddingBottom: \"16px\", paddingTop: \"16px\" }}\n              >\n                {t(\"information.shipping-address\")}\n              </div>\n            </div>\n          </div>\n          <div className=\"col-12\">\n            <AddressForm\n              address={information}\n              countries={information.countries}\n              regions={information.regions}\n              municipalities={information.municipalities}\n              customFields={information.custom_fields.shipping}\n              type=\"shipping\"\n              no_shipping_required={information.no_shipping_required}\n              request_geolocation={information.request_geolocation}\n              show_estimate_dates={information.show_estimate_dates}\n              phone={information.phone}\n              phone_prefix={information.phone_prefix}\n              order_country={information.order_country}\n              errors={information.errors}\n              setFieldInformation={changeStoreField}\n              callUpdateLocations={callUpdateLocations}\n              callUpdateCountry={callUpdateCountry}\n              callUpdateRegion={callUpdateRegion}\n              addressAutofill={addressAutofill}\n              AdditionalInformation={AdditionalInformation}\n              systemFields={system_fields}\n              setCustomField={setCustomField}\n              colors={colors}\n              country_calling_codes={information.country_calling_codes}\n            />\n          </div>\n        </Fragment>\n      )}\n      {shipping.pickup_points &&\n        shipping.pickup_points.length > 0 &&\n        information.shipping_option === \"store_pickup\" &&\n        PickUp}\n    </Fragment>\n  );\n\n  if (props.vertical)\n    return (\n      <div id=\"information-page\" className=\"row\">\n        {information.is_mobile && (\n          <ShowOrderSummary\n            is_mobile={information.is_mobile}\n            type=\"information\"\n            toggleSummary={changeStoreField}\n          />\n        )}\n        {alertMessage && alertMessage.active && (\n          <div className=\"col-12\" ref={errorMsgCallback}>\n            <Alert\n              message={alertMessage.message}\n              type={alertMessage.type}\n              closeAlert={() => dispatch(closeAlertMessage())}\n            />\n          </div>\n        )}\n        {information.info_msg && alertMessage && alertMessage.active && (\n          <div className=\"col-12\" ref={errorMsgCallback}>\n            <Alert\n              message={information.info_msg}\n              type=\"notice\"\n              closeAlert={() => dispatch(closeAlertMessage())}\n            />\n          </div>\n        )}\n        {window.stripePubKey &&\n          !information.have_custom_fields &&\n          information.stripe_payment_express && <StripePaymentRequest />}\n        {shipping.pickup_points &&\n          shipping.pickup_points.length == 0 &&\n          !information.has_shipping_methods &&\n          NoPickupsAndNoShippingMethods}\n        {ContactInformation}\n        {!information.no_shipping_required &&\n          shipping.pickup_points &&\n          shipping.pickup_points.length > 0 &&\n          information.has_shipping_methods &&\n          ShippingOptions}\n        {!information.no_shipping_required && PhysicalProducts}\n        {information.no_shipping_required &&\n          information.shipping_option === \"no_shipping\" &&\n          information.show_billing_address_on_digital_products !== \"1\" &&\n          Digital}\n        {information.custom_fields.other.length > 0 ? (\n          <CustomFieldList\n            customFields={information.custom_fields.other}\n            errors={information.errors}\n            setCustomField={setCustomField}\n            AdditionalInformation={\n              system_fields.additional_information\n                ? AdditionalInformation\n                : null\n            }\n          />\n        ) : null}\n      </div>\n    );\n\n  return (\n    <div id=\"information-page\" className=\"row\">\n      {information.is_mobile && (\n        <ShowOrderSummary\n          is_mobile={information.is_mobile}\n          type=\"information\"\n          toggleSummary={changeStoreField}\n        />\n      )}\n      <Header page=\"1\" />\n      {alertMessage && alertMessage.active && (\n        <div className=\"col-12\" ref={errorMsgCallback}>\n          <Alert\n            message={alertMessage.message}\n            type={alertMessage.type}\n            closeAlert={() => dispatch(closeAlertMessage())}\n          />\n        </div>\n      )}\n      {information.info_msg && alertMessage && alertMessage.active && (\n        <div className=\"col-12\" ref={errorMsgCallback}>\n          <Alert\n            message={information.info_msg}\n            type=\"notice\"\n            closeAlert={() => dispatch(closeAlertMessage())}\n          />\n        </div>\n      )}\n      {window.stripePubKey &&\n        !information.have_custom_fields &&\n        information.stripe_payment_express && <StripePaymentRequest />}\n      {shipping.pickup_points &&\n        shipping.pickup_points.length == 0 &&\n        !information.has_shipping_methods &&\n        NoPickupsAndNoShippingMethods}\n      {ContactInformation}\n      {!information.no_shipping_required &&\n        shipping.pickup_points &&\n        shipping.pickup_points.length > 0 &&\n        information.has_shipping_methods &&\n        ShippingOptions}\n      {!information.no_shipping_required && PhysicalProducts}\n      {information.no_shipping_required &&\n        information.shipping_option === \"no_shipping\" &&\n        information.show_billing_address_on_digital_products !== \"1\" &&\n        Digital}\n      {information.custom_fields.other.length > 0 ? (\n        <CustomFieldList\n          customFields={information.custom_fields.other}\n          errors={information.errors}\n          setCustomField={setCustomField}\n          AdditionalInformation={\n            system_fields.additional_information ? AdditionalInformation : null\n          }\n        />\n      ) : null}\n      <NavigationFooter type=\"information\" saveData={saveData} />\n    </div>\n  );\n};\n\nexport default InformationContent;\n"],"names":["allowedCountries","StripePaymentRequest","dispatch","useDispatch","state","useSelector","stripe","useStripe","t","useTranslation","paymentRequest","setPaymentRequest","useState","information","summary","urls","checkoutStore","useEffect","includes","order_country","amount","parseInt","raw_total","subunit_to_unit","paymentRequestConfig","country","currency","currency_code","total","label","requestPayerName","requestPayerEmail","requestPayerPhone","no_shipping_required","requestShipping","pr","canMakePayment","then","result","on","handlePaymentMethodReceived","handleShippingAddress","handleShippingOption","stripeStyleOptions","style","paymentRequestButton","type","theme","height","async","axios","headers","common","method","url","change_shipping_option","data","shipping_method_id","event","shippingOption","id","params","recover_token","window","token","updateWith","status","shippingAddress","shipping","name","recipient","phone","address","line1","addressLine","city","postal_code","postalCode","region","estimate_shipping","length","shippingOptions","map","estimate","table","shipping_service_id","price","shipping_method_name","detail","description","paymentDetails","payment_method","paymentMethod","billing_details","email","shipping_details","shipping_option","response","fetch","create_payment_intent","body","JSON","stringify","res","json","error","paymentIntent","confirmCardPayment","client_secret","handleActions","console","log","fast_place_order","_response","complete","location","success","catch","showError","warn","_jsx","Fragment","children","className","_jsxs","PaymentRequestButtonElement","options","FitBoundsToMarkers","markers","useMap","bounds","L","marker","latlng","fitBounds","padding","memo","pickupPoints","colors","selectedMarker","setSelectedMarker","filter","pickupPoint","location_can_fulfill_order","latitude","longitude","pickupPointName","pickupPointId","pickup_point_id","getSvgWithColor","svgContent","color","modifiedSvg","replace","btoa","Box","faDefaultIconUrl","faSelectedtIconUrl","main_color","defaultIcon","iconUrl","iconSize","iconAnchor","popupAnchor","shadowSize","selectedIcon","mapKey","Date","getTime","MapContainer","center","zoom","dragging","scrollWheelZoom","zoomControl","width","attributionControl","TileLayer","attribution","Marker","position","icon","eventHandlers","click","setFieldShipping","handleMarkerClick","props","navigate","useNavigate","errorDiv","setErrorDiv","infoDiv","setInfoDiv","isFirstRun","useRef","clickedButton","setClickedButton","payment","system_fields","storeCountry","customersStore","phoneError","setPhoneError","value","message","currentPhone","setCurrentPhone","contentExceedsMaxHeight","setContentExceedsMaxHeight","currentPrefix","setCurrentPrefix","getCountryPhonePrefix","doingRequest","alertMessage","ui","defaultColor","defaultColorBorder","mainColorBorder","validatePhone","prefix","isPhoneNumberValid","changeStoreField","current","loadedPage","scrollTo","has_shipping_methods","pickup_points","changeShippingOption","pickUpContainer","document","getElementById","scrollHeight","clientHeight","scrollIntoView","info_msg","errorsList","Object","keys","errors","currentElement","behavior","block","focus","errorMsgCallback","useCallback","node","setErrors","setFieldInformation","field","shipping_ids","saveShippingOption","save_shipping_option","fulfillingPickupPoint","find","point","newErrors","assign","setCustomField","elementId","custom_field_id","area","setCustomFieldInformation","callUpdateCountry","update_country","updateCountry","loginFormOpen","setLoginFormOpen","passwordFormOpen","setPasswordFormOpen","setEmail","password","setPassword","loginAlertMessage","setLoginAlertMessage","resetPasswordInfoMessage","setResetPasswordInfoMessage","resetPasswordErrorMessage","setResetPasswordErrorMessage","pickupLocationsHaveCoordinates","every","customStyles","isError","control","base","borderRadius","fontSize","border","backgroundColor","placeholder","dropdownIndicator","indicatorSeparator","display","valueContainer","option","isSelected","isFocused","text_color","cursor","handleKeyDown","radioId","code","preventDefault","radio","ContactInformation","accepts_marketing","custom_fields","contact","justifyContent","alignItems","paddingBottom","vertical","main_color_dark","customers_enabled","logged_in","onClick","gap","UserCircle","size","weight","href","logout","customer_id","Alert","closeAlert","htmlFor","required","disabled","onChange","e","target","ArrowLeft","post","login_at_checkout","customer","response_json","responseType","responseMessage","fetchDataInformation","fontWeight","main_buttons_text_color","LoadingIcon","isInsideButton","get","reset_password","MailCheck","domains","topLevelDomains","suggestion","test","isValidEmail","saveEmail","save_email","dispatchSaveEmail","autoComplete","full","FontAwesomeIcon","faCircleExclamation","paddingRight","fixedWidth","CustomFieldList","customFields","custom","PhoneNumber","phone_enabled","PhoneInput","isInformationContent","flagId","flagValue","getPhonePrefixCountry","flagPlaceholder","onFlagChange","phoneValue","phoneId","phonePlaceholder","phone_required","onNumberChange","number","phoneEmpty","AcceptsMarketing","CustomField","checked","dangerouslySetInnerHTML","__html","DOMPurify","accepts_marketing_text","ADD_ATTR","ShippingOptions","tabIndex","onKeyDown","overflow","accentColor","colorScheme","lineHeight","ChoosePlace","paddingTop","borderTop","borderBottom","borderWidth","borderColor","PickupLocationsMap","pick_up","maxHeight","overflowY","pickup_point","i","selected_method","isNextMethod","findIndex","methodOptionClass","borderLeft","borderRight","Tooltip","changePickupPointFields","pickup_point_name","complement","municipality","x","join","AdditionalInformation","additional_information","PickUp","setFieldBilling","surname","countries","show_billing_address_on_store_pickup","Select","styles","classNamePrefix","searchable","row","NoPickupsAndNoShippingMethods","Digital","PhysicalProducts","AddressForm","regions","municipalities","request_geolocation","show_estimate_dates","phone_prefix","callUpdateLocations","postal","update_locations","updateLocations","callUpdateRegion","update_region","updateRegion","addressAutofill","address_autofill","callAddressAutofill","systemFields","country_calling_codes","is_mobile","ShowOrderSummary","toggleSummary","active","ref","closeAlertMessage","stripePubKey","have_custom_fields","stripe_payment_express","show_billing_address_on_digital_products","other","Header","page","NavigationFooter","saveData","validationData","allCustomFields","shippingCustomFields","otherCustomFields","contactCustomFields","concat","validations","updatedData","addCustomFieldsValidation","InformationValidation","results","ValidateForm","emailValidationResults","validate_email","email_valid","email_validation_message","validate","save_information","billing_same_as_shipping","save_info_pickup","previewMode","URLSearchParams","search","saveInformation"],"sourceRoot":""}