@road-labs/map-sdk 0.0.28-rc.8 → 0.0.28-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/components/Pin/Pin.d.ts +3 -1
- package/dist/contexts/Map.d.ts +2 -0
- package/dist/i18n.d.ts +3 -0
- package/dist/index.js +27 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2710 -2531
- package/dist/index.mjs.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/utils/filters.d.ts +1 -0
- package/dist/utils/filters.test.d.ts +1 -0
- package/dist/utils/pinState.d.ts +3 -1
- package/dist/utils/price.d.ts +8 -0
- package/dist/utils/price.test.d.ts +1 -0
- package/dist/utils/request.d.ts +5 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),h=require("react"),Ar=require("react-dom/client"),Le=require("react-dom"),Or="app-module_container",jr="app-module_loader",zt={container:Or,loader:jr};function Pr(e){const[t,n]=h.useState(!1),o=h.useMemo(()=>new IntersectionObserver(([i])=>{i.isIntersecting&&(n(!0),o.disconnect())}),[e]);return h.useEffect(()=>{if(e.current)return o.observe(e.current),()=>o.disconnect()},[e.current]),t}function Dr(e){const t=(e||window.navigator.language).toLowerCase();return["nl","nl-be","nl-nl"].includes(t)?"nl":["en","en-us","en-eg","en-au","en-gb","en-ca","en-nz","en-ie","en-za","en-jm","en-bz","en-tt"].includes(t)?"en":["de","de-ch","de-at","de-lu","de-li","de-de"].includes(t)?"de":["fr","fr-be","fr-ca","fr-fr","fr-lu","fr-ch"].includes(t)?"fr":["it","it-ch","it-it"].includes(t)?"it":["es","es-ar","es-bo","es-cl","es-co","es-cr","es-do","es-ec","es-sv","es-gt","es-hn","es-mx","es-ni","es-pa","es-py","es-pe","es-pr","es-es","es-uy","es-ve"].includes(t)?"es":"en"}const Ir={"search.placeholder":"Enter a location...","cdrPrice.flatFee":"{{total}} additional fee","tariffPriceComponent.dynamicTariffHeader":"Dynamic Tariff - {{date}}","tariffPriceComponent.flat":"{{total}} session","tariffPriceComponent.time":"{{total}} / hour","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / hour idle fee","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. wait time before idle fee","tariffPriceComponent.noTariff":"No tariff available","tariffPriceComponent.baseTariff":"Base Tariff","tariffPriceComponent.active":"Active now","tariffPriceComponent.currentPrice":"Current price","filters.header":"Filters","filters.dcChargers":"Fast Chargers","filters.efluxChargers":"E-Flux Chargers","filters.noAdditionalFee":"Without additional fee per session","filters.available":"Available","filters.charging":"Charging","filters.notAvailable":"Not Available","filters.chargingPower":"Charging Power [kW]","filters.connectorType":"Connector Type","filters.apply":"Apply Filters","filters.clearAll":"Clear All Filters","filters.onlyShow":"Only Show","filters.statusHeading":"Status","evse.statusBlocked":"Blocked","evse.statusClosed":"Closed","ocpp.statusPreparing":"Preparing","ocpp.statusSuspendedEvse":"Suspended (EVSE)","ocpp.statusSuspendedEv":"Suspended (EV)","ocpp.statusFinishing":"Finishing","ocpp.statusFaulted":"Faulted","analytics.evseStatus":"EVSE Status","analytics.roamingStatus":"Roaming Status","pin.sites":"sites","filters.chargingAccessibility":"Vehicle Accessibility","filters.accessibilityAll":"All vehicles","filters.accessibilityTesla":"Tesla only","filters.allAccessibility":"All accessibility types","filters.remoteStartStop":"Supports remote charge","filters.searchPhrase":"Search","filters.searchPhrasePlaceholder":"EVSE ID or name","filters.operator":"Include operator(s)","filters.excludeOperator":"Exclude operator(s)","filters.authMethodCapabilities":"Payment methods","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Credit / debit card","filters.authCapability.remoteStartStop":"Remote start/stop","evse.statusAvailable":"Available","evse.statusCharging":"Charging","evse.statusUnavailable":"Unavailable","evse.statusRemoved":"Removed","evse.statusPlanned":"Planned","evse.statusReserved":"Reserved","evse.statusInoperative":"Inoperative","evse.statusOutOfOrder":"Out of Order","evse.statusError":"Error","evse.statusUnknown":"Unknown","locationType.onStreet":"On Street","locationType.parkingGarage":"Parking Garage","locationType.undergroundGarage":"Underground Garage","locationType.parkingLot":"Parking Lot","locationType.other":"Other","locationType.unknown":"Unknown","tariffPriceComponent.viewTariff":"View Tariff notes","tariffNote.subHeader":"Tariff notes","tariffNote.eFluxScheduledTariffNote":"A scheduled tariff overrides base tariff prices for specific time period.","tariffNote.dynamicScheduledTariffNote":"Dynamic price is adjusted automatically based on energy market price (1 hour interval).","tariffNote.scheduledTariffNote":"A scheduled tariff overrides base tariff prices for specific time period.","tariffNote.baseTariffNote":"Tariffs shown here have been sent to E-Flux by roaming partner. Accuracy may vary depending on provider.","tariff.congestionPricing":"Congestion pricing may apply","tariff.fullDetailsHeader":"Tariff details","tariff.lastUpdated":"Last updated {{date}}","tariff.report":"Report","tariff.reportThanks":"Thanks for reporting","tariff.reportError":"Couldn't send, try again","evse.pricing":"Pricing","dynamicTariffs.subHeader":"Hourly Prices","location.viewAllHourlyPrices":"View All Hourly Prices","location.operatorInfo":"Operator","location.operator":"Operator","location.suboperator":"Suboperator","location.owner":"Owner","location.openingHours":"Opening hours","location.open24_7":"Open 24/7","location.open":"Open","location.openNow":"Open now","location.closedNow":"Closed","location.closed":"Closed","location.open24hours":"Open 24 hours","location.hours24":"24 hours","location.opensAt":"Opens {{time}}","location.opensAtDay":"Opens {{time}} {{day}}","location.closesAt":"Closes {{time}}","location.chargingWhenClosed":"Charging available when closed","location.exceptionalClosings":"Exceptional closing","location.exceptionalOpenings":"Exceptional opening","location.visitWebsite":"Website","weekday.mon":"Mon","weekday.tue":"Tue","weekday.wed":"Wed","weekday.thu":"Thu","weekday.fri":"Fri","weekday.sat":"Sat","weekday.sun":"Sun","backButton.backTo":"Back To"},kr={"search.placeholder":"Voer een locatie in...","cdrPrice.flatFee":"{{total}} extra kosten","tariffPriceComponent.dynamicTariffHeader":"Dynamisch Tarief - {{date}}","tariffPriceComponent.flat":"{{total}} sessie","tariffPriceComponent.time":"{{total}} / uur","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / uur blokkeertarief","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. wachttijd voor blokkeertarief","tariffPriceComponent.noTariff":"Geen beschikbaar tarief","tariffPriceComponent.baseTariff":"Basistarief","tariffPriceComponent.active":"Nu actief","tariffPriceComponent.currentPrice":"Huidige prijs","filters.header":"Filters","filters.dcChargers":"DC-laders","filters.efluxChargers":"E-Flux-laders","filters.noAdditionalFee":"Zonder extra kosten per sessie","filters.available":"Beschikbaar","filters.charging":"Laden","filters.notAvailable":"Niet beschikbaar","filters.chargingPower":"Laadvermogen [kW]","filters.connectorType":"Aansluitingstype","filters.apply":"Filters toepassen","filters.clearAll":"Alle filters wissen","filters.onlyShow":"Alleen tonen","filters.statusHeading":"Status","evse.statusBlocked":"Geblokkeerd","evse.statusClosed":"Gesloten","ocpp.statusPreparing":"Voorbereiden","ocpp.statusSuspendedEvse":"Onderbroken (EVSE)","ocpp.statusSuspendedEv":"Onderbroken (EV)","ocpp.statusFinishing":"Afronden","ocpp.statusFaulted":"Storing","analytics.evseStatus":"EVSE-status","analytics.roamingStatus":"Roamingstatus","pin.sites":"locaties","filters.chargingAccessibility":"Voertuigtoegang","filters.accessibilityAll":"Alle voertuigen","filters.accessibilityTesla":"Alleen Tesla","filters.allAccessibility":"Alle toegankelijkheidstypes","filters.remoteStartStop":"Ondersteunt op afstand laden","filters.searchPhrase":"Zoeken","filters.searchPhrasePlaceholder":"EVSE-ID of naam","filters.operator":"Operator(s) opnemen","filters.excludeOperator":"Operator(s) uitsluiten","filters.authMethodCapabilities":"Betaalmethoden","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Creditcard / pinpas","filters.authCapability.remoteStartStop":"Op afstand starten/stoppen","evse.statusAvailable":"Beschikbaar","evse.statusCharging":"Laden","evse.statusUnavailable":"Niet beschikbaar","evse.statusError":"Fout","evse.statusRemoved":"Verwijderd","evse.statusPlanned":"Gepland","evse.statusReserved":"Gereserveerd","evse.statusInoperative":"Inoperative","evse.statusOutOfOrder":"Uit van orde","evse.statusUnknown":"Onbekend","locationType.onStreet":"Op straat","locationType.parkingGarage":"Parkeergarage","locationType.undergroundGarage":"Ondergrondse garage","locationType.parkingLot":"Parkeerterrein","locationType.other":"Anders","locationType.unknown":"Onbekend","tariffPriceComponent.viewTariff":"Tariefnotitie bekijken","tariffNote.subHeader":"Tariefnotities","tariffNote.eFluxScheduledTariffNote":"Een gepland tarief overschrijft de basis tariefprijzen voor een specifieke periode.","tariffNote.dynamicScheduledTariffNote":"De dynamische prijs wordt automatisch aangepast op basis van de energiemarktprijs (interval van 1 uur).","tariffNote.scheduledTariffNote":"Een gepland tarief overschrijft de basis tariefprijzen voor een specifieke periode.","tariffNote.baseTariffNote":"De hier getoonde tarieven zijn door de roamingpartner aan E-Flux verstrekt. De nauwkeurigheid kan variëren afhankelijk van de aanbieder.","tariff.congestionPricing":"Congestietarief kan van toepassing zijn","tariff.fullDetailsHeader":"Tariefdetails","tariff.lastUpdated":"Laatst bijgewerkt {{date}}","tariff.report":"Rapporteren","tariff.reportThanks":"Bedankt voor de melding","tariff.reportError":"Versturen mislukt, probeer opnieuw","evse.pricing":"Tarieven","dynamicTariffs.subHeader":"Uurtarieven","location.viewAllHourlyPrices":"Bekijk Alle Uurprijzen","location.operatorInfo":"Exploitant","location.operator":"Exploitant","location.suboperator":"Subexploitant","location.owner":"Eigenaar","location.openingHours":"Openingstijden","location.open24_7":"24/7 geopend","location.open":"Open","location.openNow":"Nu open","location.closedNow":"Gesloten","location.closed":"Gesloten","location.open24hours":"24 uur geopend","location.hours24":"24 uur","location.opensAt":"Opent om {{time}}","location.opensAtDay":"Opent {{day}} om {{time}}","location.closesAt":"Sluit om {{time}}","location.chargingWhenClosed":"Laden mogelijk wanneer gesloten","location.exceptionalClosings":"Uitzonderlijke sluiting","location.exceptionalOpenings":"Uitzonderlijke opening","location.visitWebsite":"Website","weekday.mon":"Ma","weekday.tue":"Di","weekday.wed":"Wo","weekday.thu":"Do","weekday.fri":"Vr","weekday.sat":"Za","weekday.sun":"Zo","backButton.backTo":"Terug Naar"},Mr={"search.placeholder":"Geben Sie einen Ort ein...","cdrPrice.flatFee":"{{total}} Zusatzgebühr","tariffPriceComponent.dynamicTariffHeader":"Dynamischer Tarif - {{date}}","tariffPriceComponent.flat":"{{total}} Sitzung","tariffPriceComponent.time":"{{total}} / Stunde","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / Stunde Blockiergebühr","tariffPriceComponent.parkingTimeWait":"{{minutes}} Min. Wartezeit vor der Blockiergebühr","tariffPriceComponent.noTariff":"Kein Tarif verfügbar","tariffPriceComponent.baseTariff":"Grundtarif","tariffPriceComponent.active":"Aktuell aktiv","tariffPriceComponent.currentPrice":"Aktueller Preis","filters.header":"Filter","filters.dcChargers":"Gleichstrom-Ladegeräte","filters.efluxChargers":"E-Flux-Ladegeräte","filters.noAdditionalFee":"Ohne zusätzliche Gebühr pro Sitzung","filters.available":"Verfügbar","filters.charging":"Lädt","filters.notAvailable":"Nicht verfügbar","filters.chargingPower":"Ladeleistung [kW]","filters.connectorType":"Steckertyp","filters.apply":"Filter anwenden","filters.clearAll":"Alle Filter löschen","filters.onlyShow":"Nur anzeigen","filters.statusHeading":"Status","evse.statusBlocked":"Blockiert","evse.statusClosed":"Geschlossen","ocpp.statusPreparing":"Vorbereitung","ocpp.statusSuspendedEvse":"Unterbrochen (EVSE)","ocpp.statusSuspendedEv":"Unterbrochen (EV)","ocpp.statusFinishing":"Abschluss","ocpp.statusFaulted":"Fehler","analytics.evseStatus":"EVSE-Status","analytics.roamingStatus":"Roaming-Status","pin.sites":"Standorte","filters.chargingAccessibility":"Fahrzeugzugänglichkeit","filters.accessibilityAll":"Alle Fahrzeuge","filters.accessibilityTesla":"Nur Tesla","filters.allAccessibility":"Alle Zugänglichkeitstypen","filters.remoteStartStop":"Unterstützt Fernladen","filters.searchPhrase":"Suche","filters.searchPhrasePlaceholder":"EVSE-ID oder Name","filters.operator":"Betreiber einschließen","filters.excludeOperator":"Betreiber ausschließen","filters.authMethodCapabilities":"Zahlungsmethoden","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Kredit- / Debitkarte","filters.authCapability.remoteStartStop":"Fernstart/-stopp","evse.statusAvailable":"Verfügbar","evse.statusCharging":"Lädt","evse.statusUnavailable":"Nicht verfügbar","evse.statusRemoved":"Entfernt","evse.statusPlanned":"Geplant","evse.statusReserved":"Reserviert","evse.statusInoperative":"Inoperative","evse.statusOutOfOrder":"Ausgeschaltet","evse.statusError":"Fehler","evse.statusUnknown":"Unbekannt","evse.pricing":"Preisbildung","locationType.onStreet":"Straße","locationType.parkingGarage":"Parkhaus","locationType.undergroundGarage":"Tiefgarage","locationType.parkingLot":"Parkplatz","locationType.other":"Andere","locationType.unknown":"Unbekannt","tariffPriceComponent.viewTariff":"Tarif anzeigen","tariffNote.subHeader":"Tarifhinweise","tariffNote.eFluxScheduledTariffNote":"Ein geplanter Tarif überschreibt die Basistarifpreise für einen bestimmten Zeitraum.","tariffNote.dynamicScheduledTariffNote":"Der dynamische Preis wird automatisch basierend auf dem Energiepreis auf dem Markt angepasst (im Intervall von 1 Stunde).","tariffNote.scheduledTariffNote":"Ein geplanter Tarif überschreibt die Basistarifpreise für einen bestimmten Zeitraum.","tariffNote.baseTariffNote":"Die hier angezeigten Tarife wurden von einem Roaming-Partner an E-Flux gesendet. Die Genauigkeit kann je nach Anbieter variieren.","tariff.congestionPricing":"Überlastungstarif kann anfallen","tariff.fullDetailsHeader":"Tarifdetails","tariff.lastUpdated":"Zuletzt aktualisiert {{date}}","tariff.report":"Melden","tariff.reportThanks":"Danke für die Meldung","tariff.reportError":"Senden fehlgeschlagen, erneut versuchen","dynamicTariffs.subHeader":"Stundentarife","location.viewAllHourlyPrices":"Alle Stundenpreise anzeigen","location.operatorInfo":"Betreiber","location.operator":"Betreiber","location.suboperator":"Unterbetreiber","location.owner":"Eigentümer","location.openingHours":"Öffnungszeiten","location.open24_7":"24/7 geöffnet","location.open":"Geöffnet","location.openNow":"Jetzt geöffnet","location.closedNow":"Geschlossen","location.closed":"Geschlossen","location.open24hours":"24 Stunden geöffnet","location.hours24":"24 Stunden","location.opensAt":"Öffnet um {{time}}","location.opensAtDay":"Öffnet {{day}} um {{time}}","location.closesAt":"Schließt um {{time}}","location.chargingWhenClosed":"Laden auch außerhalb der Öffnungszeiten möglich","location.exceptionalClosings":"Ausnahmsweise geschlossen","location.exceptionalOpenings":"Ausnahmsweise geöffnet","location.visitWebsite":"Website","weekday.mon":"Mo","weekday.tue":"Di","weekday.wed":"Mi","weekday.thu":"Do","weekday.fri":"Fr","weekday.sat":"Sa","weekday.sun":"So","backButton.backTo":"Zurück zu"},Rr={"search.placeholder":"Entrez un lieu...","cdrPrice.flatFee":"{{total}} frais supplémentaires","tariffPriceComponent.dynamicTariffHeader":"Tarif Dynamique - {{date}}","tariffPriceComponent.flat":"{{total}} session","tariffPriceComponent.time":"{{total}} / heure","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / frais d'occupation par heure","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. avant frais d'occupation","tariffPriceComponent.noTariff":"Aucun tarif disponible","tariffPriceComponent.baseTariff":"Tarif de base","tariffPriceComponent.active":"Actuellement actif","tariffPriceComponent.currentPrice":"Prix actuel","filters.header":"Filtres","filters.dcChargers":"Chargeurs à courant continu","filters.efluxChargers":"Chargeurs E-Flux","filters.noAdditionalFee":"Sans frais supplémentaires par séance","filters.available":"Disponible","filters.charging":"En charge","filters.notAvailable":"Indisponible","filters.chargingPower":"Puissance de charge [kW]","filters.connectorType":"Type de connecteur","filters.apply":"Appliquer les filtres","filters.clearAll":"Effacer tous les filtres","filters.onlyShow":"Afficher uniquement","filters.statusHeading":"Statut","evse.statusBlocked":"Bloqué","evse.statusClosed":"Fermé","ocpp.statusPreparing":"Préparation","ocpp.statusSuspendedEvse":"Suspendu (EVSE)","ocpp.statusSuspendedEv":"Suspendu (EV)","ocpp.statusFinishing":"Finalisation","ocpp.statusFaulted":"En défaut","analytics.evseStatus":"Statut EVSE","analytics.roamingStatus":"Statut roaming","pin.sites":"sites","filters.chargingAccessibility":"Accessibilité véhicule","filters.accessibilityAll":"Tous véhicules","filters.accessibilityTesla":"Tesla seulement","filters.allAccessibility":"Tous types d'accessibilité","filters.remoteStartStop":"Prend en charge la recharge à distance","filters.searchPhrase":"Rechercher","filters.searchPhrasePlaceholder":"ID EVSE ou nom","filters.operator":"Inclure le(s) opérateur(s)","filters.excludeOperator":"Exclure le(s) opérateur(s)","filters.authMethodCapabilities":"Moyens de paiement","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Carte de crédit / débit","filters.authCapability.remoteStartStop":"Démarrage/arrêt à distance","evse.statusAvailable":"Disponible","evse.statusCharging":"En charge","evse.statusUnavailable":"Indisponible","evse.statusRemoved":"Supprimé","evse.statusPlanned":"Planifié","evse.statusReserved":"Réservé","evse.statusInoperative":"Hors service","evse.statusOutOfOrder":"En panne","evse.statusError":"Erreur","evse.statusUnknown":"Inconnu","evse.pricing":"Tarification","locationType.onStreet":"Dans la rue","locationType.parkingGarage":"Parking couvert","locationType.undergroundGarage":"Parking souterrain","locationType.parkingLot":"Parking","locationType.other":"Autre","locationType.unknown":"Inconnu","tariffPriceComponent.viewTariff":"Voir le tarif","tariffNote.subHeader":"Notes tarifaires","tariffNote.eFluxScheduledTariffNote":"Un tarif programmé remplace les prix de base du tarif pour une période spécifique.","tariffNote.dynamicScheduledTariffNote":"Le prix dynamique est ajusté automatiquement en fonction du prix du marché de l'énergie (intervalle d'une heure).","tariffNote.scheduledTariffNote":"Un tarif programmé remplace les prix de base du tarif pour une période spécifique.","tariffNote.baseTariffNote":"Les tarifs affichés ici ont été transmis à E-Flux par le partenaire d'itinérance. La précision peut varier en fonction du fournisseur.","tariff.congestionPricing":"Tarification de congestion peut s'appliquer","tariff.fullDetailsHeader":"Détails du tarif","tariff.lastUpdated":"Mis à jour {{date}}","tariff.report":"Signaler","tariff.reportThanks":"Merci pour le signalement","tariff.reportError":"Échec de l'envoi, réessayez","dynamicTariffs.subHeader":"Tarifs horaires","location.viewAllHourlyPrices":"Voir tous les tarifs horaires","location.operatorInfo":"Opérateur","location.operator":"Opérateur","location.suboperator":"Sous-opérateur","location.owner":"Propriétaire","location.openingHours":"Heures d'ouverture","location.open24_7":"Ouvert 24h/24, 7j/7","location.open":"Ouvert","location.openNow":"Ouvert","location.closedNow":"Fermé","location.closed":"Fermé","location.open24hours":"Ouvert 24h/24","location.hours24":"24 heures","location.opensAt":"Ouvre à {{time}}","location.opensAtDay":"Ouvre {{day}} à {{time}}","location.closesAt":"Ferme à {{time}}","location.chargingWhenClosed":"Recharge possible hors des heures d'ouverture","location.exceptionalClosings":"Fermeture exceptionnelle","location.exceptionalOpenings":"Ouverture exceptionnelle","location.visitWebsite":"Site web","weekday.mon":"Lun","weekday.tue":"Mar","weekday.wed":"Mer","weekday.thu":"Jeu","weekday.fri":"Ven","weekday.sat":"Sam","weekday.sun":"Dim","backButton.backTo":"Retour à"},Lr={"search.placeholder":"Inserisci una posizione...","cdrPrice.flatFee":"{{total}} costi aggiuntivi","tariffPriceComponent.dynamicTariffHeader":"Tariffa dinamica - {{date}}","tariffPriceComponent.flat":"{{total}} sessione","tariffPriceComponent.time":"{{total}} / ora","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / ora tariffa di inattività","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. tempo di attesa prima della tariffa di inattività","tariffPriceComponent.noTariff":"Nessuna tariffa disponibile","tariffPriceComponent.baseTariff":"Tariffa base","tariffPriceComponent.active":"Attivo ora","tariffPriceComponent.currentPrice":"Prezzo attuale","filters.header":"Filtri","filters.dcChargers":"Caricabatterie DC","filters.efluxChargers":"Caricabatterie E-Flux","filters.noAdditionalFee":"Senza costi aggiuntivi per sessione","filters.available":"Disponibile","filters.charging":"In carica","filters.notAvailable":"Non disponibile","filters.chargingPower":"Potenza di ricarica [kW]","filters.connectorType":"Tipo di connettore","filters.apply":"Applica filtri","filters.clearAll":"Cancella tutti i filtri","filters.onlyShow":"Mostra solo","filters.statusHeading":"Stato","evse.statusBlocked":"Bloccato","evse.statusClosed":"Chiuso","ocpp.statusPreparing":"Preparazione","ocpp.statusSuspendedEvse":"Sospeso (EVSE)","ocpp.statusSuspendedEv":"Sospeso (EV)","ocpp.statusFinishing":"Completamento","ocpp.statusFaulted":"Guasto","analytics.evseStatus":"Stato EVSE","analytics.roamingStatus":"Stato roaming","pin.sites":"siti","filters.chargingAccessibility":"Accessibilità del veicolo","filters.accessibilityAll":"Tutti i veicoli","filters.accessibilityTesla":"Solo Tesla","filters.allAccessibility":"Tutti i tipi di accessibilità","filters.remoteStartStop":"Supporta la ricarica da remoto","filters.searchPhrase":"Cerca","filters.searchPhrasePlaceholder":"ID EVSE o nome","filters.operator":"Includi operatore/i","filters.excludeOperator":"Escludi operatore/i","filters.authMethodCapabilities":"Metodi di pagamento","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Carta di credito / debito","filters.authCapability.remoteStartStop":"Avvio/stop remoto","evse.statusAvailable":"Disponibile","evse.statusCharging":"In carica","evse.statusUnavailable":"Non disponibile","evse.statusRemoved":"Rimossa","evse.statusPlanned":"Pianificata","evse.statusReserved":"Réservé","evse.statusInoperative":"Inoperativo","evse.statusOutOfOrder":"Fuori servizio","evse.statusError":"Errore","evse.statusUnknown":"Sconosciuto","locationType.onStreet":"In strada","locationType.parkingGarage":"Garage per il parcheggio","locationType.undergroundGarage":"Garage sotterraneo","locationType.parkingLot":"Parcheggio","locationType.other":"Altro","locationType.unknown":"Sconosciuto","tariffPriceComponent.viewTariff":"Visualizza note tariffarie","tariffNote.subHeader":"Note tariffarie","tariffNote.eFluxScheduledTariffNote":"Una tariffa programmata sostituisce i prezzi della tariffa base per un periodo di tempo specifico.","tariffNote.dynamicScheduledTariffNote":"Il prezzo dinamico si regola automaticamente in base al prezzo del mercato dell'energia (intervallo di 1 ora).","tariffNote.scheduledTariffNote":"Una tariffa programmata sostituisce i prezzi della tariffa base per un periodo di tempo specifico.","tariffNote.baseTariffNote":"Le tariffe mostrate qui sono state inviate a E-Flux dal partner di roaming. L'accuratezza può variare a seconda del fornitore.","tariff.congestionPricing":"Potrebbero essere applicate tariffe di congestione","tariff.fullDetailsHeader":"Dettagli tariffa","tariff.lastUpdated":"Ultimo aggiornamento {{date}}","tariff.report":"Segnala","tariff.reportThanks":"Grazie per la segnalazione","tariff.reportError":"Invio non riuscito, riprova","evse.pricing":"Prezzi","dynamicTariffs.subHeader":"Prezzi orari","location.viewAllHourlyPrices":"Visualizza tutti i prezzi orari","location.operatorInfo":"Operatore","location.operator":"Operatore","location.suboperator":"Sub-operatore","location.owner":"Proprietario","location.openingHours":"Orari di apertura","location.open24_7":"Aperto 24/7","location.open":"Aperto","location.openNow":"Aperto ora","location.closedNow":"Chiuso","location.closed":"Chiuso","location.open24hours":"Aperto 24 ore","location.hours24":"24 ore","location.opensAt":"Apre alle {{time}}","location.opensAtDay":"Apre {{day}} alle {{time}}","location.closesAt":"Chiude alle {{time}}","location.chargingWhenClosed":"Ricarica disponibile anche da chiuso","location.exceptionalClosings":"Chiusura eccezionale","location.exceptionalOpenings":"Apertura eccezionale","location.visitWebsite":"Sito web","weekday.mon":"Lun","weekday.tue":"Mar","weekday.wed":"Mer","weekday.thu":"Gio","weekday.fri":"Ven","weekday.sat":"Sab","weekday.sun":"Dom","backButton.backTo":"Torna a"},Fr={"search.placeholder":"Ingrese una ubicación...","cdrPrice.flatFee":"{{total}} tarifa adicional","tariffPriceComponent.dynamicTariffHeader":"Tarifa Dinámica - {{date}}","tariffPriceComponent.flat":"{{total}} sesión","tariffPriceComponent.time":"{{total}} / hora","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / hora tarifa de inactividad","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. tiempo de espera antes de la tarifa de inactividad","tariffPriceComponent.noTariff":"Tarifa no disponible","tariffPriceComponent.baseTariff":"Tarifa Base","tariffPriceComponent.active":"Activo ahora","tariffPriceComponent.currentPrice":"Precio actual","filters.header":"Filtros","filters.dcChargers":"Cargadores DC","filters.efluxChargers":"Cargadores E-Flux","filters.noAdditionalFee":"Sin tarifa adicional por sesión","filters.available":"Disponible","filters.charging":"Cargando","filters.notAvailable":"No Disponible","filters.chargingPower":"Potencia de Carga [kW]","filters.connectorType":"Tipo de Conector","filters.apply":"Aplicar Filtros","filters.clearAll":"Limpiar Todos los Filtros","filters.onlyShow":"Mostrar Solo","filters.statusHeading":"Estado","evse.statusBlocked":"Bloqueado","evse.statusClosed":"Cerrado","ocpp.statusPreparing":"Preparando","ocpp.statusSuspendedEvse":"Suspendido (EVSE)","ocpp.statusSuspendedEv":"Suspendido (EV)","ocpp.statusFinishing":"Finalizando","ocpp.statusFaulted":"Averiado","analytics.evseStatus":"Estado EVSE","analytics.roamingStatus":"Estado roaming","pin.sites":"sitios","filters.chargingAccessibility":"Accesibilidad del vehículo","filters.accessibilityAll":"Todos los vehículos","filters.accessibilityTesla":"Solo Tesla","filters.allAccessibility":"Todos los tipos de accesibilidad","filters.remoteStartStop":"Admite carga remota","filters.searchPhrase":"Buscar","filters.searchPhrasePlaceholder":"ID de EVSE o nombre","filters.operator":"Incluir operador(es)","filters.excludeOperator":"Excluir operador(es)","filters.authMethodCapabilities":"Métodos de pago","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Tarjeta de crédito / débito","filters.authCapability.remoteStartStop":"Inicio/parada remota","evse.statusRemoved":"Eliminado","evse.statusPlanned":"Planificado","evse.statusReserved":"Reservado","evse.statusInoperative":"Fuera de servicio","evse.statusOutOfOrder":"Averiado","evse.statusAvailable":"Disponible","evse.statusCharging":"Cargando","evse.statusUnavailable":"No Disponible","evse.statusError":"Error","evse.statusUnknown":"Desconocido","locationType.onStreet":"En la calle","locationType.parkingGarage":"Garaje para Estacionar","locationType.undergroundGarage":"Garaje Subterráneo","locationType.parkingLot":"Estacionamiento","locationType.other":"Otro","locationType.unknown":"Desconocido","tariffPriceComponent.viewTariff":"Ver notas de tarifas","tariffNote.subHeader":"Notas de Tarifas","tariffNote.eFluxScheduledTariffNote":"Una tarifa programada anula los precios de la tarifa base para un período de tiempo específico.","tariffNote.dynamicScheduledTariffNote":"El precio dinámico se ajusta automáticamente según el precio del mercado de la energía (intervalo de 1 hora).","tariffNote.scheduledTariffNote":"Una tarifa programada anula los precios de la tarifa base para un período de tiempo específico.","tariffNote.baseTariffNote":"Las tarifas mostradas aquí han sido enviadas a E-Flux por el socio de roaming. La precisión puede variar según el proveedor.","tariff.congestionPricing":"Puede aplicarse tarifa por congestión","tariff.fullDetailsHeader":"Detalles de la tarifa","tariff.lastUpdated":"Última actualización {{date}}","tariff.report":"Reportar","tariff.reportThanks":"Gracias por reportarlo","tariff.reportError":"Error al enviar, inténtalo de nuevo","evse.pricing":"Precios","dynamicTariffs.subHeader":"Precios por Hora","location.viewAllHourlyPrices":"Ver Todos los Precios por Hora","location.operatorInfo":"Operador","location.operator":"Operador","location.suboperator":"Suboperador","location.owner":"Propietario","location.openingHours":"Horario de apertura","location.open24_7":"Abierto 24/7","location.open":"Abierto","location.openNow":"Abierto ahora","location.closedNow":"Cerrado","location.closed":"Cerrado","location.open24hours":"Abierto 24 horas","location.hours24":"24 horas","location.opensAt":"Abre a las {{time}}","location.opensAtDay":"Abre {{day}} a las {{time}}","location.closesAt":"Cierra a las {{time}}","location.chargingWhenClosed":"Carga disponible cuando está cerrado","location.exceptionalClosings":"Cierre excepcional","location.exceptionalOpenings":"Apertura excepcional","location.visitWebsite":"Sitio web","weekday.mon":"Lun","weekday.tue":"Mar","weekday.wed":"Mié","weekday.thu":"Jue","weekday.fri":"Vie","weekday.sat":"Sáb","weekday.sun":"Dom","backButton.backTo":"Volver a"},Hr={en:Ir,nl:kr,de:Mr,fr:Rr,it:Lr,es:Fr},Vr=["v1","v2","v3"];function Bt(e){const t=Vr.indexOf((e||"").toLowerCase());return t===-1?0:t}function re(e,t){return Bt(e)>=Bt(t)}async function Ie(e,t){try{const n=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json",...t.version&&{version:t.version},...t.authorization&&re(t.version,"v2")&&{Authorization:`Bearer ${t.authorization}`}},...t});switch(n.status){case 200:return n.json();case 400:throw new Error("Bad request");case 404:throw new Error("Not Found");case 500:throw new Error("Server Error");case 503:throw new Error("Timeout!");default:throw new Error(`Unexpected status: ${n.status}`)}}catch(n){if(n instanceof DOMException)return null;throw n}}function Mn(e,t){return{...e?.length>0&&{locationIds:e},...t,...t?.operatorOnly?{operator:[t.operatorOnly]}:{},chargingAccessibility:t?.chargingAccessibility&&t.chargingAccessibility!=="ALL"?t.chargingAccessibility:void 0,searchPhrase:t?.searchPhrase||void 0,excludeOperator:t?.excludeOperator?.length?t.excludeOperator:void 0,authMethodCapabilities:t?.authMethodCapabilities?.length?t.authMethodCapabilities:void 0}}function Rn(e,t,n){return`${e.replace(/\/+$/,"")}/1/map/${t==="cpo"?"cpo/":""}${n}`}async function $r(e,t,n,o,{precision:i,...a},s="roaming"){return Ie(Rn(e,s,"search"),{method:"POST",version:t,authorization:n,body:JSON.stringify({gridPrecision:i,...Mn(o,a)})})}async function zr(e,t,n,o,i,a="roaming"){return Ie(Rn(e,a,"analytics"),{method:"POST",version:t,authorization:n,body:JSON.stringify(Mn(o,i))})}async function Br(e,t,n,{origin:o,ids:i}){return Ie(`${e}/1/map/tariff`,{method:"POST",version:t,authorization:n,body:JSON.stringify({connection_id:o.connectionId,country_code:o.countryCode,party_id:o.partyId,tariff_ids:i})})}async function Ur(e,t,n,{ids:o,status:i}){return Ie(`${e}/1/map/locations`,{method:"POST",version:t,authorization:n,body:JSON.stringify({ids:o,...re(t,"v2")?{status:i}:{}})})}async function Wr(e,t,n,{type:o,country_code:i,party_id:a,location_id:s,evse_uid:l}){return Ie(`${e}/1/map/report-problem`,{method:"POST",version:t,authorization:n,body:JSON.stringify({type:o,country_code:i,party_id:a,location_id:s,evse_uid:l})})}async function Gr(e,t,n){return(await Ie(`${e}/1/map/config`,{version:t,authorization:n}))?.data}const Yr=["EVSE_STATUS_","CONNECTOR_OCPP_STATUS_"];function it(e){let t=(e||"").toUpperCase();for(const n of Yr)if(t.startsWith(n)){t=t.slice(n.length);break}return t===""||t==="UNSPECIFIED"?"UNKNOWN":t}const Kr={green:"#33AC19",blue:"#005CEE",red:"#EB001B",amber:"#F0A202",grey:"#9E9E9E"},Ln={green:"#0a924b",blue:"#3a6cce",red:"#d73337",amber:"#d98b09",grey:"#94999e"};function Zr(e){return re(e,"v3")?Ln:Kr}const _t=new Set(["CHARGING","PREPARING","SUSPENDED_EVSE","SUSPENDED_EV","FINISHING"]);function qr(e){return e==="AVAILABLE"?"available":_t.has(e)?"inSession":"offline"}function Jr(e){return e==="FAULTED"?"fault":e==="UNAVAILABLE"?"unavailable":e==="UNKNOWN"?"unknown":e==="AVAILABLE"?"available":_t.has(e)||e==="RESERVED"?"inSession":"fault"}function Fn(e,t="roaming"){const n=it(e);return t==="cpo"?Jr(n):qr(n)}const Xr={available:"green",inSession:"blue",offline:"red",fault:"red",unavailable:"red",unknown:"red"},Qr={available:"green",inSession:"amber",offline:"grey",fault:"red",unavailable:"grey",unknown:"grey"},eo={fault:"red",unavailable:"amber",unknown:"grey",available:"green",inSession:"blue",offline:"amber"};function to(e,t){return e==="cpo"?eo:re(t,"v3")?Qr:Xr}function Hn(e,t="roaming",n){return Zr(n)[to(t,n)[e]]}function we(e,t="roaming",n){return Hn(Fn(e,t),t,n)}const no={AVAILABLE:"evse.statusAvailable",CHARGING:"evse.statusCharging",UNAVAILABLE:"evse.statusUnavailable",ERROR:"evse.statusError",UNKNOWN:"evse.statusUnknown",REMOVED:"evse.statusRemoved",PLANNED:"evse.statusPlanned",RESERVED:"evse.statusReserved",INOPERATIVE:"evse.statusInoperative",OUTOFORDER:"evse.statusOutOfOrder",BLOCKED:"evse.statusBlocked",CLOSED:"evse.statusClosed",PREPARING:"ocpp.statusPreparing",SUSPENDED_EVSE:"ocpp.statusSuspendedEvse",SUSPENDED_EV:"ocpp.statusSuspendedEv",FINISHING:"ocpp.statusFinishing",FAULTED:"ocpp.statusFaulted"};function Nt(e){return no[it(e)]||"evse.statusUnknown"}const ro={roaming:["available","inSession","offline"],cpo:["fault","unavailable","inSession","available","unknown"]};function oo(e=[],t="roaming",n){const o=new Set(e.map(s=>Fn(s.name,t))),i=ro[t],a=i.find(s=>o.has(s))||i.at(-1);return Hn(a,t,n)}function io(e){return[{id:"statusAvailable",labelKey:"filters.available",values:["AVAILABLE"],color:we("AVAILABLE","roaming",e)},{id:"statusCharging",labelKey:"filters.charging",values:["CHARGING"],color:we("CHARGING","roaming",e)},{id:"statusError",labelKey:"filters.notAvailable",values:["INOPERATIVE","UNKNOWN"],color:we("INOPERATIVE","roaming",e)}]}const ao=["AVAILABLE","PREPARING","CHARGING","SUSPENDED_EVSE","SUSPENDED_EV","FINISHING","RESERVED","UNAVAILABLE","FAULTED","UNSPECIFIED"];function so(e){return ao.map(t=>({id:`ocppStatus_${t}`,labelKey:Nt(t),values:[t],color:we(t,"cpo",e)}))}function Vn(e){return e==="cpo"}function $n(e,t){return Vn(e)?so(t):io(t)}function vt(e,t,n){switch(e){case"remove":return t.filter(o=>!n.includes(o));case"add":return Array.from(new Set([...t,...n]))}}function zn(e,t){const n=it(t);return $n(e).find(o=>o.values.includes(n)||n==="UNKNOWN"&&o.values.includes("UNSPECIFIED"))}function Bn(e,t,n){const o=zn(e,n);return!!(o&&o.values.every(i=>t.includes(i)))}function Ut(e,t,n){const o=zn(e,n);if(!o)return;const i=Bn(e,t,n)?"remove":"add";return vt(i,t,o.values)}function lo(e){const{status:t,...n}=e||{};return n}function co(e,t){return Vn(e)?void 0:t}const At=h.createContext({isReady:!1,setPlace:()=>{},t:e=>`Translate ${e}`,language:"en",mapKind:"roaming"}),uo=({children:e,...t})=>{const[n,o]=h.useState(t.options),[i,a]=h.useState({preferredOperators:t.options.preferredOperators,...t.options.showOperatorOnly!==void 0&&{showOperatorOnly:t.options.showOperatorOnly},...t.options.showNoAdditionalFeeFilter!==void 0&&{showNoAdditionalFeeFilter:t.options.showNoAdditionalFeeFilter},...t.options.showPublishingModeFilter!==void 0&&{showPublishingModeFilter:t.options.showPublishingModeFilter},...t.options.showVehicleAvailabilityFilter!==void 0&&{showVehicleAvailabilityFilter:t.options.showVehicleAvailabilityFilter},...t.options.showSearchPhraseFilter!==void 0&&{showSearchPhraseFilter:t.options.showSearchPhraseFilter},...t.options.showExcludeOperatorFilter!==void 0&&{showExcludeOperatorFilter:t.options.showExcludeOperatorFilter},...t.options.showPaymentMethodFilter!==void 0&&{showPaymentMethodFilter:t.options.showPaymentMethodFilter},...t.options.showAnalytics!==void 0&&{showAnalytics:t.options.showAnalytics}}),[s,l]=h.useState(),[c,u]=h.useState(),[f,d]=h.useState(t.options.position),[p,v]=h.useState({}),[y,T]=h.useState([t.options.locationId].filter(Boolean)),[A,M]=h.useState([]),[z,P]=h.useState({type:"success"}),[C,m]=h.useState(!1),[j,Y]=h.useState(),[B,K]=h.useState(),X=window.location.search.includes("debug=true");X&&console.log("map-context options",t.options);const te=h.useMemo(()=>Dr(t.options.language),[t.options.language]),de=h.useMemo(()=>(x,D)=>Hr[te][x].replace(/\{\{(\w+)\}\}/g,(k,V)=>D[V]),[te]),ae=(()=>{const x=t.options.apiRoot?.replace(/\/+$/,"");return x&&/\.dev|localhost|127\.0\.0\.1/.test(x)?x:re(t.options.version,"v2")?"https://roaming.road.io/v2/map-search":"https://api.road.io"})();let S=t.options.version,F=t.options.authorization;const Z=window.location.search.split("map_key=")[1];Z&&(F=Z,re(S,"v2")||(S="v2"));const ne=B?.toLowerCase()==="cpo"?"cpo":"roaming",me={...t.options.infraProviderId&&{infraProviderId:t.options.infraProviderId},...t.options.partyId&&{partyId:t.options.partyId},...t.options.partyIds?.length&&{partyIds:t.options.partyIds},...t.options.evseId&&{evseId:t.options.evseId},...t.options.from&&{from:t.options.from},...t.options.to&&{to:t.options.to}},_e=x=>$r(ae,S,F,t.options.limitToLocationIds||[],{...me,...x},ne),g=x=>zr(ae,S,F,t.options.limitToLocationIds||[],{...me,...x},ne),E=Ur.bind(null,ae,S,F),H=Br.bind(null,ae,S,F),R=Wr.bind(null,ae,S,F);async function I({ids:x,status:D}){P({type:"loading"});try{const{data:k}=await E({ids:x,...re(S,"v2")?{status:co(ne,D)}:{}});return M(k.filter(V=>V?.evses?.length)),P({type:"success"}),k}catch(k){P({type:"error",error:k})}}h.useEffect(()=>{t.options.locationId&&I({ids:[t.options.locationId],status:p.status}).then(x=>{if(x?.length){const D=x[0];D.geoLocation?.coordinates&&d({lng:D.geoLocation?.coordinates[0],lat:D.geoLocation?.coordinates[1]})}})},[t.options.locationId]),h.useEffect(()=>{Gr(ae,S,F).then(x=>{X&&console.log("retrieved remote config",x),a({...x,...i}),o({googleApiKey:x.googleMapsApiKey,...n,...x}),K(x.context),!n.locationId&&!n?.position?.lat&&x.ipLatitude?(X&&console.debug("setting position from ip latitude and longitude"),d({lat:x.ipLatitude,lng:x.ipLongitude})):n.locationId||(X&&console.debug("setting position from options position"),d(n?.position?.lat?n.position:{lat:52.3676,lng:4.9041}))}).catch(x=>l(x))},[]),h.useEffect(()=>{y?.length&&I({ids:y,status:p.status})},[y]),h.useEffect(()=>{const{theming:x,shadowRoot:D}=t.options;if(D){const k=D.querySelectorAll("#road-map-styles")[0]||document.createElement("style");k.setAttribute("type","text/css"),k.setAttribute("id","road-map-styles"),k.innerHTML=`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),h=require("react"),Rr=require("react-dom/client"),Le=require("react-dom"),Lr="app-module_container",Fr="app-module_loader",zt={container:Lr,loader:Fr};function Hr(e){const[t,n]=h.useState(!1),r=h.useMemo(()=>new IntersectionObserver(([i])=>{i.isIntersecting&&(n(!0),r.disconnect())}),[e]);return h.useEffect(()=>{if(e.current)return r.observe(e.current),()=>r.disconnect()},[e.current]),t}function $r(e){const t=(e||window.navigator.language).toLowerCase();return["nl","nl-be","nl-nl"].includes(t)?"nl":["en","en-us","en-eg","en-au","en-gb","en-ca","en-nz","en-ie","en-za","en-jm","en-bz","en-tt"].includes(t)?"en":["de","de-ch","de-at","de-lu","de-li","de-de"].includes(t)?"de":["fr","fr-be","fr-ca","fr-fr","fr-lu","fr-ch"].includes(t)?"fr":["it","it-ch","it-it"].includes(t)?"it":["es","es-ar","es-bo","es-cl","es-co","es-cr","es-do","es-ec","es-sv","es-gt","es-hn","es-mx","es-ni","es-pa","es-py","es-pe","es-pr","es-es","es-uy","es-ve"].includes(t)?"es":"en"}const Vr={"search.placeholder":"Enter a location...","cdrPrice.flatFee":"{{total}} additional fee","tariffPriceComponent.dynamicTariffHeader":"Dynamic Tariff - {{date}}","tariffPriceComponent.flat":"{{total}} session","tariffPriceComponent.time":"{{total}} / hour","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / hour idle fee","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. wait time before idle fee","tariffPriceComponent.noTariff":"No tariff available","tariffPriceComponent.baseTariff":"Base Tariff","tariffPriceComponent.active":"Active now","tariffPriceComponent.currentPrice":"Current price","filters.header":"Filters","filters.dcChargers":"Fast Chargers","filters.efluxChargers":"E-Flux Chargers","filters.noAdditionalFee":"Without additional fee per session","filters.available":"Available","filters.charging":"Charging","filters.notAvailable":"Not Available","filters.chargingPower":"Charging Power [kW]","filters.connectorType":"Connector Type","filters.apply":"Apply Filters","filters.clearAll":"Clear All Filters","filters.onlyShow":"Only Show","filters.statusHeading":"Status","evse.statusBlocked":"Blocked","evse.statusClosed":"Closed","ocpp.statusPreparing":"Preparing","ocpp.statusSuspendedEvse":"Suspended (EVSE)","ocpp.statusSuspendedEv":"Suspended (EV)","ocpp.statusFinishing":"Finishing","ocpp.statusFaulted":"Faulted","analytics.evseStatus":"EVSE Status","analytics.roamingStatus":"Roaming Status","pin.sites":"sites","filters.maxEnergyPrice":"Max. price per kWh","filters.anyPrice":"Any","pin.pricePerKwh":"{{price}} per kWh","filters.chargingAccessibility":"Vehicle Accessibility","filters.accessibilityAll":"All vehicles","filters.accessibilityTesla":"Tesla only","filters.allAccessibility":"All accessibility types","filters.remoteStartStop":"Supports remote charge","filters.searchPhrase":"Search","filters.searchPhrasePlaceholder":"EVSE ID or name","filters.operator":"Include operator(s)","filters.excludeOperator":"Exclude operator(s)","filters.authMethodCapabilities":"Payment methods","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Credit / debit card","filters.authCapability.remoteStartStop":"Remote start/stop","evse.statusAvailable":"Available","evse.statusCharging":"Charging","evse.statusUnavailable":"Unavailable","evse.statusRemoved":"Removed","evse.statusPlanned":"Planned","evse.statusReserved":"Reserved","evse.statusInoperative":"Inoperative","evse.statusOutOfOrder":"Out of Order","evse.statusError":"Error","evse.statusUnknown":"Unknown","locationType.onStreet":"On Street","locationType.parkingGarage":"Parking Garage","locationType.undergroundGarage":"Underground Garage","locationType.parkingLot":"Parking Lot","locationType.other":"Other","locationType.unknown":"Unknown","tariffPriceComponent.viewTariff":"View Tariff notes","tariffNote.subHeader":"Tariff notes","tariffNote.eFluxScheduledTariffNote":"A scheduled tariff overrides base tariff prices for specific time period.","tariffNote.dynamicScheduledTariffNote":"Dynamic price is adjusted automatically based on energy market price (1 hour interval).","tariffNote.scheduledTariffNote":"A scheduled tariff overrides base tariff prices for specific time period.","tariffNote.baseTariffNote":"Tariffs shown here have been sent to E-Flux by roaming partner. Accuracy may vary depending on provider.","tariff.congestionPricing":"Congestion pricing may apply","tariff.fullDetailsHeader":"Tariff details","tariff.lastUpdated":"Last updated {{date}}","tariff.report":"Report","tariff.reportThanks":"Thanks for reporting","tariff.reportError":"Couldn't send, try again","evse.pricing":"Pricing","dynamicTariffs.subHeader":"Hourly Prices","location.viewAllHourlyPrices":"View All Hourly Prices","location.operatorInfo":"Operator","location.operator":"Operator","location.suboperator":"Suboperator","location.owner":"Owner","location.openingHours":"Opening hours","location.open24_7":"Open 24/7","location.open":"Open","location.openNow":"Open now","location.closedNow":"Closed","location.closed":"Closed","location.open24hours":"Open 24 hours","location.hours24":"24 hours","location.opensAt":"Opens {{time}}","location.opensAtDay":"Opens {{time}} {{day}}","location.closesAt":"Closes {{time}}","location.chargingWhenClosed":"Charging available when closed","location.exceptionalClosings":"Exceptional closing","location.exceptionalOpenings":"Exceptional opening","location.visitWebsite":"Website","weekday.mon":"Mon","weekday.tue":"Tue","weekday.wed":"Wed","weekday.thu":"Thu","weekday.fri":"Fri","weekday.sat":"Sat","weekday.sun":"Sun","backButton.backTo":"Back To"},zr={"search.placeholder":"Voer een locatie in...","cdrPrice.flatFee":"{{total}} extra kosten","tariffPriceComponent.dynamicTariffHeader":"Dynamisch Tarief - {{date}}","tariffPriceComponent.flat":"{{total}} sessie","tariffPriceComponent.time":"{{total}} / uur","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / uur blokkeertarief","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. wachttijd voor blokkeertarief","tariffPriceComponent.noTariff":"Geen beschikbaar tarief","tariffPriceComponent.baseTariff":"Basistarief","tariffPriceComponent.active":"Nu actief","tariffPriceComponent.currentPrice":"Huidige prijs","filters.header":"Filters","filters.dcChargers":"DC-laders","filters.efluxChargers":"E-Flux-laders","filters.noAdditionalFee":"Zonder extra kosten per sessie","filters.available":"Beschikbaar","filters.charging":"Laden","filters.notAvailable":"Niet beschikbaar","filters.chargingPower":"Laadvermogen [kW]","filters.connectorType":"Aansluitingstype","filters.apply":"Filters toepassen","filters.clearAll":"Alle filters wissen","filters.onlyShow":"Alleen tonen","filters.statusHeading":"Status","evse.statusBlocked":"Geblokkeerd","evse.statusClosed":"Gesloten","ocpp.statusPreparing":"Voorbereiden","ocpp.statusSuspendedEvse":"Onderbroken (EVSE)","ocpp.statusSuspendedEv":"Onderbroken (EV)","ocpp.statusFinishing":"Afronden","ocpp.statusFaulted":"Storing","analytics.evseStatus":"EVSE-status","analytics.roamingStatus":"Roamingstatus","pin.sites":"locaties","filters.maxEnergyPrice":"Max. prijs per kWh","filters.anyPrice":"Alle","pin.pricePerKwh":"{{price}} per kWh","filters.chargingAccessibility":"Voertuigtoegang","filters.accessibilityAll":"Alle voertuigen","filters.accessibilityTesla":"Alleen Tesla","filters.allAccessibility":"Alle toegankelijkheidstypes","filters.remoteStartStop":"Ondersteunt op afstand laden","filters.searchPhrase":"Zoeken","filters.searchPhrasePlaceholder":"EVSE-ID of naam","filters.operator":"Operator(s) opnemen","filters.excludeOperator":"Operator(s) uitsluiten","filters.authMethodCapabilities":"Betaalmethoden","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Creditcard / pinpas","filters.authCapability.remoteStartStop":"Op afstand starten/stoppen","evse.statusAvailable":"Beschikbaar","evse.statusCharging":"Laden","evse.statusUnavailable":"Niet beschikbaar","evse.statusError":"Fout","evse.statusRemoved":"Verwijderd","evse.statusPlanned":"Gepland","evse.statusReserved":"Gereserveerd","evse.statusInoperative":"Inoperative","evse.statusOutOfOrder":"Uit van orde","evse.statusUnknown":"Onbekend","locationType.onStreet":"Op straat","locationType.parkingGarage":"Parkeergarage","locationType.undergroundGarage":"Ondergrondse garage","locationType.parkingLot":"Parkeerterrein","locationType.other":"Anders","locationType.unknown":"Onbekend","tariffPriceComponent.viewTariff":"Tariefnotitie bekijken","tariffNote.subHeader":"Tariefnotities","tariffNote.eFluxScheduledTariffNote":"Een gepland tarief overschrijft de basis tariefprijzen voor een specifieke periode.","tariffNote.dynamicScheduledTariffNote":"De dynamische prijs wordt automatisch aangepast op basis van de energiemarktprijs (interval van 1 uur).","tariffNote.scheduledTariffNote":"Een gepland tarief overschrijft de basis tariefprijzen voor een specifieke periode.","tariffNote.baseTariffNote":"De hier getoonde tarieven zijn door de roamingpartner aan E-Flux verstrekt. De nauwkeurigheid kan variëren afhankelijk van de aanbieder.","tariff.congestionPricing":"Congestietarief kan van toepassing zijn","tariff.fullDetailsHeader":"Tariefdetails","tariff.lastUpdated":"Laatst bijgewerkt {{date}}","tariff.report":"Rapporteren","tariff.reportThanks":"Bedankt voor de melding","tariff.reportError":"Versturen mislukt, probeer opnieuw","evse.pricing":"Tarieven","dynamicTariffs.subHeader":"Uurtarieven","location.viewAllHourlyPrices":"Bekijk Alle Uurprijzen","location.operatorInfo":"Exploitant","location.operator":"Exploitant","location.suboperator":"Subexploitant","location.owner":"Eigenaar","location.openingHours":"Openingstijden","location.open24_7":"24/7 geopend","location.open":"Open","location.openNow":"Nu open","location.closedNow":"Gesloten","location.closed":"Gesloten","location.open24hours":"24 uur geopend","location.hours24":"24 uur","location.opensAt":"Opent om {{time}}","location.opensAtDay":"Opent {{day}} om {{time}}","location.closesAt":"Sluit om {{time}}","location.chargingWhenClosed":"Laden mogelijk wanneer gesloten","location.exceptionalClosings":"Uitzonderlijke sluiting","location.exceptionalOpenings":"Uitzonderlijke opening","location.visitWebsite":"Website","weekday.mon":"Ma","weekday.tue":"Di","weekday.wed":"Wo","weekday.thu":"Do","weekday.fri":"Vr","weekday.sat":"Za","weekday.sun":"Zo","backButton.backTo":"Terug Naar"},Br={"search.placeholder":"Geben Sie einen Ort ein...","cdrPrice.flatFee":"{{total}} Zusatzgebühr","tariffPriceComponent.dynamicTariffHeader":"Dynamischer Tarif - {{date}}","tariffPriceComponent.flat":"{{total}} Sitzung","tariffPriceComponent.time":"{{total}} / Stunde","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / Stunde Blockiergebühr","tariffPriceComponent.parkingTimeWait":"{{minutes}} Min. Wartezeit vor der Blockiergebühr","tariffPriceComponent.noTariff":"Kein Tarif verfügbar","tariffPriceComponent.baseTariff":"Grundtarif","tariffPriceComponent.active":"Aktuell aktiv","tariffPriceComponent.currentPrice":"Aktueller Preis","filters.header":"Filter","filters.dcChargers":"Gleichstrom-Ladegeräte","filters.efluxChargers":"E-Flux-Ladegeräte","filters.noAdditionalFee":"Ohne zusätzliche Gebühr pro Sitzung","filters.available":"Verfügbar","filters.charging":"Lädt","filters.notAvailable":"Nicht verfügbar","filters.chargingPower":"Ladeleistung [kW]","filters.connectorType":"Steckertyp","filters.apply":"Filter anwenden","filters.clearAll":"Alle Filter löschen","filters.onlyShow":"Nur anzeigen","filters.statusHeading":"Status","evse.statusBlocked":"Blockiert","evse.statusClosed":"Geschlossen","ocpp.statusPreparing":"Vorbereitung","ocpp.statusSuspendedEvse":"Unterbrochen (EVSE)","ocpp.statusSuspendedEv":"Unterbrochen (EV)","ocpp.statusFinishing":"Abschluss","ocpp.statusFaulted":"Fehler","analytics.evseStatus":"EVSE-Status","analytics.roamingStatus":"Roaming-Status","pin.sites":"Standorte","filters.maxEnergyPrice":"Max. Preis pro kWh","filters.anyPrice":"Alle","pin.pricePerKwh":"{{price}} pro kWh","filters.chargingAccessibility":"Fahrzeugzugänglichkeit","filters.accessibilityAll":"Alle Fahrzeuge","filters.accessibilityTesla":"Nur Tesla","filters.allAccessibility":"Alle Zugänglichkeitstypen","filters.remoteStartStop":"Unterstützt Fernladen","filters.searchPhrase":"Suche","filters.searchPhrasePlaceholder":"EVSE-ID oder Name","filters.operator":"Betreiber einschließen","filters.excludeOperator":"Betreiber ausschließen","filters.authMethodCapabilities":"Zahlungsmethoden","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Kredit- / Debitkarte","filters.authCapability.remoteStartStop":"Fernstart/-stopp","evse.statusAvailable":"Verfügbar","evse.statusCharging":"Lädt","evse.statusUnavailable":"Nicht verfügbar","evse.statusRemoved":"Entfernt","evse.statusPlanned":"Geplant","evse.statusReserved":"Reserviert","evse.statusInoperative":"Inoperative","evse.statusOutOfOrder":"Ausgeschaltet","evse.statusError":"Fehler","evse.statusUnknown":"Unbekannt","evse.pricing":"Preisbildung","locationType.onStreet":"Straße","locationType.parkingGarage":"Parkhaus","locationType.undergroundGarage":"Tiefgarage","locationType.parkingLot":"Parkplatz","locationType.other":"Andere","locationType.unknown":"Unbekannt","tariffPriceComponent.viewTariff":"Tarif anzeigen","tariffNote.subHeader":"Tarifhinweise","tariffNote.eFluxScheduledTariffNote":"Ein geplanter Tarif überschreibt die Basistarifpreise für einen bestimmten Zeitraum.","tariffNote.dynamicScheduledTariffNote":"Der dynamische Preis wird automatisch basierend auf dem Energiepreis auf dem Markt angepasst (im Intervall von 1 Stunde).","tariffNote.scheduledTariffNote":"Ein geplanter Tarif überschreibt die Basistarifpreise für einen bestimmten Zeitraum.","tariffNote.baseTariffNote":"Die hier angezeigten Tarife wurden von einem Roaming-Partner an E-Flux gesendet. Die Genauigkeit kann je nach Anbieter variieren.","tariff.congestionPricing":"Überlastungstarif kann anfallen","tariff.fullDetailsHeader":"Tarifdetails","tariff.lastUpdated":"Zuletzt aktualisiert {{date}}","tariff.report":"Melden","tariff.reportThanks":"Danke für die Meldung","tariff.reportError":"Senden fehlgeschlagen, erneut versuchen","dynamicTariffs.subHeader":"Stundentarife","location.viewAllHourlyPrices":"Alle Stundenpreise anzeigen","location.operatorInfo":"Betreiber","location.operator":"Betreiber","location.suboperator":"Unterbetreiber","location.owner":"Eigentümer","location.openingHours":"Öffnungszeiten","location.open24_7":"24/7 geöffnet","location.open":"Geöffnet","location.openNow":"Jetzt geöffnet","location.closedNow":"Geschlossen","location.closed":"Geschlossen","location.open24hours":"24 Stunden geöffnet","location.hours24":"24 Stunden","location.opensAt":"Öffnet um {{time}}","location.opensAtDay":"Öffnet {{day}} um {{time}}","location.closesAt":"Schließt um {{time}}","location.chargingWhenClosed":"Laden auch außerhalb der Öffnungszeiten möglich","location.exceptionalClosings":"Ausnahmsweise geschlossen","location.exceptionalOpenings":"Ausnahmsweise geöffnet","location.visitWebsite":"Website","weekday.mon":"Mo","weekday.tue":"Di","weekday.wed":"Mi","weekday.thu":"Do","weekday.fri":"Fr","weekday.sat":"Sa","weekday.sun":"So","backButton.backTo":"Zurück zu"},Ur={"search.placeholder":"Entrez un lieu...","cdrPrice.flatFee":"{{total}} frais supplémentaires","tariffPriceComponent.dynamicTariffHeader":"Tarif Dynamique - {{date}}","tariffPriceComponent.flat":"{{total}} session","tariffPriceComponent.time":"{{total}} / heure","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / frais d'occupation par heure","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. avant frais d'occupation","tariffPriceComponent.noTariff":"Aucun tarif disponible","tariffPriceComponent.baseTariff":"Tarif de base","tariffPriceComponent.active":"Actuellement actif","tariffPriceComponent.currentPrice":"Prix actuel","filters.header":"Filtres","filters.dcChargers":"Chargeurs à courant continu","filters.efluxChargers":"Chargeurs E-Flux","filters.noAdditionalFee":"Sans frais supplémentaires par séance","filters.available":"Disponible","filters.charging":"En charge","filters.notAvailable":"Indisponible","filters.chargingPower":"Puissance de charge [kW]","filters.connectorType":"Type de connecteur","filters.apply":"Appliquer les filtres","filters.clearAll":"Effacer tous les filtres","filters.onlyShow":"Afficher uniquement","filters.statusHeading":"Statut","evse.statusBlocked":"Bloqué","evse.statusClosed":"Fermé","ocpp.statusPreparing":"Préparation","ocpp.statusSuspendedEvse":"Suspendu (EVSE)","ocpp.statusSuspendedEv":"Suspendu (EV)","ocpp.statusFinishing":"Finalisation","ocpp.statusFaulted":"En défaut","analytics.evseStatus":"Statut EVSE","analytics.roamingStatus":"Statut roaming","pin.sites":"sites","filters.maxEnergyPrice":"Prix max. par kWh","filters.anyPrice":"Tous","pin.pricePerKwh":"{{price}} par kWh","filters.chargingAccessibility":"Accessibilité véhicule","filters.accessibilityAll":"Tous véhicules","filters.accessibilityTesla":"Tesla seulement","filters.allAccessibility":"Tous types d'accessibilité","filters.remoteStartStop":"Prend en charge la recharge à distance","filters.searchPhrase":"Rechercher","filters.searchPhrasePlaceholder":"ID EVSE ou nom","filters.operator":"Inclure le(s) opérateur(s)","filters.excludeOperator":"Exclure le(s) opérateur(s)","filters.authMethodCapabilities":"Moyens de paiement","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Carte de crédit / débit","filters.authCapability.remoteStartStop":"Démarrage/arrêt à distance","evse.statusAvailable":"Disponible","evse.statusCharging":"En charge","evse.statusUnavailable":"Indisponible","evse.statusRemoved":"Supprimé","evse.statusPlanned":"Planifié","evse.statusReserved":"Réservé","evse.statusInoperative":"Hors service","evse.statusOutOfOrder":"En panne","evse.statusError":"Erreur","evse.statusUnknown":"Inconnu","evse.pricing":"Tarification","locationType.onStreet":"Dans la rue","locationType.parkingGarage":"Parking couvert","locationType.undergroundGarage":"Parking souterrain","locationType.parkingLot":"Parking","locationType.other":"Autre","locationType.unknown":"Inconnu","tariffPriceComponent.viewTariff":"Voir le tarif","tariffNote.subHeader":"Notes tarifaires","tariffNote.eFluxScheduledTariffNote":"Un tarif programmé remplace les prix de base du tarif pour une période spécifique.","tariffNote.dynamicScheduledTariffNote":"Le prix dynamique est ajusté automatiquement en fonction du prix du marché de l'énergie (intervalle d'une heure).","tariffNote.scheduledTariffNote":"Un tarif programmé remplace les prix de base du tarif pour une période spécifique.","tariffNote.baseTariffNote":"Les tarifs affichés ici ont été transmis à E-Flux par le partenaire d'itinérance. La précision peut varier en fonction du fournisseur.","tariff.congestionPricing":"Tarification de congestion peut s'appliquer","tariff.fullDetailsHeader":"Détails du tarif","tariff.lastUpdated":"Mis à jour {{date}}","tariff.report":"Signaler","tariff.reportThanks":"Merci pour le signalement","tariff.reportError":"Échec de l'envoi, réessayez","dynamicTariffs.subHeader":"Tarifs horaires","location.viewAllHourlyPrices":"Voir tous les tarifs horaires","location.operatorInfo":"Opérateur","location.operator":"Opérateur","location.suboperator":"Sous-opérateur","location.owner":"Propriétaire","location.openingHours":"Heures d'ouverture","location.open24_7":"Ouvert 24h/24, 7j/7","location.open":"Ouvert","location.openNow":"Ouvert","location.closedNow":"Fermé","location.closed":"Fermé","location.open24hours":"Ouvert 24h/24","location.hours24":"24 heures","location.opensAt":"Ouvre à {{time}}","location.opensAtDay":"Ouvre {{day}} à {{time}}","location.closesAt":"Ferme à {{time}}","location.chargingWhenClosed":"Recharge possible hors des heures d'ouverture","location.exceptionalClosings":"Fermeture exceptionnelle","location.exceptionalOpenings":"Ouverture exceptionnelle","location.visitWebsite":"Site web","weekday.mon":"Lun","weekday.tue":"Mar","weekday.wed":"Mer","weekday.thu":"Jeu","weekday.fri":"Ven","weekday.sat":"Sam","weekday.sun":"Dim","backButton.backTo":"Retour à"},Wr={"search.placeholder":"Inserisci una posizione...","cdrPrice.flatFee":"{{total}} costi aggiuntivi","tariffPriceComponent.dynamicTariffHeader":"Tariffa dinamica - {{date}}","tariffPriceComponent.flat":"{{total}} sessione","tariffPriceComponent.time":"{{total}} / ora","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / ora tariffa di inattività","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. tempo di attesa prima della tariffa di inattività","tariffPriceComponent.noTariff":"Nessuna tariffa disponibile","tariffPriceComponent.baseTariff":"Tariffa base","tariffPriceComponent.active":"Attivo ora","tariffPriceComponent.currentPrice":"Prezzo attuale","filters.header":"Filtri","filters.dcChargers":"Caricabatterie DC","filters.efluxChargers":"Caricabatterie E-Flux","filters.noAdditionalFee":"Senza costi aggiuntivi per sessione","filters.available":"Disponibile","filters.charging":"In carica","filters.notAvailable":"Non disponibile","filters.chargingPower":"Potenza di ricarica [kW]","filters.connectorType":"Tipo di connettore","filters.apply":"Applica filtri","filters.clearAll":"Cancella tutti i filtri","filters.onlyShow":"Mostra solo","filters.statusHeading":"Stato","evse.statusBlocked":"Bloccato","evse.statusClosed":"Chiuso","ocpp.statusPreparing":"Preparazione","ocpp.statusSuspendedEvse":"Sospeso (EVSE)","ocpp.statusSuspendedEv":"Sospeso (EV)","ocpp.statusFinishing":"Completamento","ocpp.statusFaulted":"Guasto","analytics.evseStatus":"Stato EVSE","analytics.roamingStatus":"Stato roaming","pin.sites":"siti","filters.maxEnergyPrice":"Prezzo max. per kWh","filters.anyPrice":"Tutti","pin.pricePerKwh":"{{price}} per kWh","filters.chargingAccessibility":"Accessibilità del veicolo","filters.accessibilityAll":"Tutti i veicoli","filters.accessibilityTesla":"Solo Tesla","filters.allAccessibility":"Tutti i tipi di accessibilità","filters.remoteStartStop":"Supporta la ricarica da remoto","filters.searchPhrase":"Cerca","filters.searchPhrasePlaceholder":"ID EVSE o nome","filters.operator":"Includi operatore/i","filters.excludeOperator":"Escludi operatore/i","filters.authMethodCapabilities":"Metodi di pagamento","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Carta di credito / debito","filters.authCapability.remoteStartStop":"Avvio/stop remoto","evse.statusAvailable":"Disponibile","evse.statusCharging":"In carica","evse.statusUnavailable":"Non disponibile","evse.statusRemoved":"Rimossa","evse.statusPlanned":"Pianificata","evse.statusReserved":"Réservé","evse.statusInoperative":"Inoperativo","evse.statusOutOfOrder":"Fuori servizio","evse.statusError":"Errore","evse.statusUnknown":"Sconosciuto","locationType.onStreet":"In strada","locationType.parkingGarage":"Garage per il parcheggio","locationType.undergroundGarage":"Garage sotterraneo","locationType.parkingLot":"Parcheggio","locationType.other":"Altro","locationType.unknown":"Sconosciuto","tariffPriceComponent.viewTariff":"Visualizza note tariffarie","tariffNote.subHeader":"Note tariffarie","tariffNote.eFluxScheduledTariffNote":"Una tariffa programmata sostituisce i prezzi della tariffa base per un periodo di tempo specifico.","tariffNote.dynamicScheduledTariffNote":"Il prezzo dinamico si regola automaticamente in base al prezzo del mercato dell'energia (intervallo di 1 ora).","tariffNote.scheduledTariffNote":"Una tariffa programmata sostituisce i prezzi della tariffa base per un periodo di tempo specifico.","tariffNote.baseTariffNote":"Le tariffe mostrate qui sono state inviate a E-Flux dal partner di roaming. L'accuratezza può variare a seconda del fornitore.","tariff.congestionPricing":"Potrebbero essere applicate tariffe di congestione","tariff.fullDetailsHeader":"Dettagli tariffa","tariff.lastUpdated":"Ultimo aggiornamento {{date}}","tariff.report":"Segnala","tariff.reportThanks":"Grazie per la segnalazione","tariff.reportError":"Invio non riuscito, riprova","evse.pricing":"Prezzi","dynamicTariffs.subHeader":"Prezzi orari","location.viewAllHourlyPrices":"Visualizza tutti i prezzi orari","location.operatorInfo":"Operatore","location.operator":"Operatore","location.suboperator":"Sub-operatore","location.owner":"Proprietario","location.openingHours":"Orari di apertura","location.open24_7":"Aperto 24/7","location.open":"Aperto","location.openNow":"Aperto ora","location.closedNow":"Chiuso","location.closed":"Chiuso","location.open24hours":"Aperto 24 ore","location.hours24":"24 ore","location.opensAt":"Apre alle {{time}}","location.opensAtDay":"Apre {{day}} alle {{time}}","location.closesAt":"Chiude alle {{time}}","location.chargingWhenClosed":"Ricarica disponibile anche da chiuso","location.exceptionalClosings":"Chiusura eccezionale","location.exceptionalOpenings":"Apertura eccezionale","location.visitWebsite":"Sito web","weekday.mon":"Lun","weekday.tue":"Mar","weekday.wed":"Mer","weekday.thu":"Gio","weekday.fri":"Ven","weekday.sat":"Sab","weekday.sun":"Dom","backButton.backTo":"Torna a"},Gr={"search.placeholder":"Ingrese una ubicación...","cdrPrice.flatFee":"{{total}} tarifa adicional","tariffPriceComponent.dynamicTariffHeader":"Tarifa Dinámica - {{date}}","tariffPriceComponent.flat":"{{total}} sesión","tariffPriceComponent.time":"{{total}} / hora","tariffPriceComponent.energy":"{{total}} / kWh","tariffPriceComponent.parkingTime":"{{total}} / hora tarifa de inactividad","tariffPriceComponent.parkingTimeWait":"{{minutes}} min. tiempo de espera antes de la tarifa de inactividad","tariffPriceComponent.noTariff":"Tarifa no disponible","tariffPriceComponent.baseTariff":"Tarifa Base","tariffPriceComponent.active":"Activo ahora","tariffPriceComponent.currentPrice":"Precio actual","filters.header":"Filtros","filters.dcChargers":"Cargadores DC","filters.efluxChargers":"Cargadores E-Flux","filters.noAdditionalFee":"Sin tarifa adicional por sesión","filters.available":"Disponible","filters.charging":"Cargando","filters.notAvailable":"No Disponible","filters.chargingPower":"Potencia de Carga [kW]","filters.connectorType":"Tipo de Conector","filters.apply":"Aplicar Filtros","filters.clearAll":"Limpiar Todos los Filtros","filters.onlyShow":"Mostrar Solo","filters.statusHeading":"Estado","evse.statusBlocked":"Bloqueado","evse.statusClosed":"Cerrado","ocpp.statusPreparing":"Preparando","ocpp.statusSuspendedEvse":"Suspendido (EVSE)","ocpp.statusSuspendedEv":"Suspendido (EV)","ocpp.statusFinishing":"Finalizando","ocpp.statusFaulted":"Averiado","analytics.evseStatus":"Estado EVSE","analytics.roamingStatus":"Estado roaming","pin.sites":"sitios","filters.maxEnergyPrice":"Precio máx. por kWh","filters.anyPrice":"Todos","pin.pricePerKwh":"{{price}} por kWh","filters.chargingAccessibility":"Accesibilidad del vehículo","filters.accessibilityAll":"Todos los vehículos","filters.accessibilityTesla":"Solo Tesla","filters.allAccessibility":"Todos los tipos de accesibilidad","filters.remoteStartStop":"Admite carga remota","filters.searchPhrase":"Buscar","filters.searchPhrasePlaceholder":"ID de EVSE o nombre","filters.operator":"Incluir operador(es)","filters.excludeOperator":"Excluir operador(es)","filters.authMethodCapabilities":"Métodos de pago","filters.authCapability.rfid":"RFID","filters.authCapability.plugAndCharge":"Plug and Charge","filters.authCapability.creditCard":"Tarjeta de crédito / débito","filters.authCapability.remoteStartStop":"Inicio/parada remota","evse.statusRemoved":"Eliminado","evse.statusPlanned":"Planificado","evse.statusReserved":"Reservado","evse.statusInoperative":"Fuera de servicio","evse.statusOutOfOrder":"Averiado","evse.statusAvailable":"Disponible","evse.statusCharging":"Cargando","evse.statusUnavailable":"No Disponible","evse.statusError":"Error","evse.statusUnknown":"Desconocido","locationType.onStreet":"En la calle","locationType.parkingGarage":"Garaje para Estacionar","locationType.undergroundGarage":"Garaje Subterráneo","locationType.parkingLot":"Estacionamiento","locationType.other":"Otro","locationType.unknown":"Desconocido","tariffPriceComponent.viewTariff":"Ver notas de tarifas","tariffNote.subHeader":"Notas de Tarifas","tariffNote.eFluxScheduledTariffNote":"Una tarifa programada anula los precios de la tarifa base para un período de tiempo específico.","tariffNote.dynamicScheduledTariffNote":"El precio dinámico se ajusta automáticamente según el precio del mercado de la energía (intervalo de 1 hora).","tariffNote.scheduledTariffNote":"Una tarifa programada anula los precios de la tarifa base para un período de tiempo específico.","tariffNote.baseTariffNote":"Las tarifas mostradas aquí han sido enviadas a E-Flux por el socio de roaming. La precisión puede variar según el proveedor.","tariff.congestionPricing":"Puede aplicarse tarifa por congestión","tariff.fullDetailsHeader":"Detalles de la tarifa","tariff.lastUpdated":"Última actualización {{date}}","tariff.report":"Reportar","tariff.reportThanks":"Gracias por reportarlo","tariff.reportError":"Error al enviar, inténtalo de nuevo","evse.pricing":"Precios","dynamicTariffs.subHeader":"Precios por Hora","location.viewAllHourlyPrices":"Ver Todos los Precios por Hora","location.operatorInfo":"Operador","location.operator":"Operador","location.suboperator":"Suboperador","location.owner":"Propietario","location.openingHours":"Horario de apertura","location.open24_7":"Abierto 24/7","location.open":"Abierto","location.openNow":"Abierto ahora","location.closedNow":"Cerrado","location.closed":"Cerrado","location.open24hours":"Abierto 24 horas","location.hours24":"24 horas","location.opensAt":"Abre a las {{time}}","location.opensAtDay":"Abre {{day}} a las {{time}}","location.closesAt":"Cierra a las {{time}}","location.chargingWhenClosed":"Carga disponible cuando está cerrado","location.exceptionalClosings":"Cierre excepcional","location.exceptionalOpenings":"Apertura excepcional","location.visitWebsite":"Sitio web","weekday.mon":"Lun","weekday.tue":"Mar","weekday.wed":"Mié","weekday.thu":"Jue","weekday.fri":"Vie","weekday.sat":"Sáb","weekday.sun":"Dom","backButton.backTo":"Volver a"},Yr={en:Vr,nl:zr,de:Br,fr:Ur,it:Wr,es:Gr},Kr=["v1","v2","v3"];function Bt(e){const t=Kr.indexOf((e||"").toLowerCase());return t===-1?0:t}function re(e,t){return Bt(e)>=Bt(t)}async function Ie(e,t){try{const n=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json",...t.version&&{version:t.version},...t.authorization&&re(t.version,"v2")&&{Authorization:`Bearer ${t.authorization}`}},...t});switch(n.status){case 200:return n.json();case 400:throw new Error("Bad request");case 404:throw new Error("Not Found");case 500:throw new Error("Server Error");case 503:throw new Error("Timeout!");default:throw new Error(`Unexpected status: ${n.status}`)}}catch(n){if(n instanceof DOMException)return null;throw n}}function Ln(e,t){return{...e?.length>0&&{locationIds:e},...t,...t?.operatorOnly?{operator:[t.operatorOnly]}:{},chargingAccessibility:t?.chargingAccessibility&&t.chargingAccessibility!=="ALL"?t.chargingAccessibility:void 0,searchPhrase:t?.searchPhrase||void 0,excludeOperator:t?.excludeOperator?.length?t.excludeOperator:void 0,authMethodCapabilities:t?.authMethodCapabilities?.length?t.authMethodCapabilities:void 0,currency:t?.currency||void 0,maxEnergyPrice:typeof t?.maxEnergyPrice=="number"?{amount:t.maxEnergyPrice,currency:t.currency||void 0}:void 0}}function Fn(e,t,n){return`${e.replace(/\/+$/,"")}/1/map/${t==="cpo"?"cpo/":""}${n}`}async function Zr(e,t,n,r,{precision:i,...a},s="roaming"){return Ie(Fn(e,s,"search"),{method:"POST",version:t,authorization:n,body:JSON.stringify({gridPrecision:i,...Ln(r,a)})})}async function qr(e,t,n,r,i,a="roaming"){return Ie(Fn(e,a,"analytics"),{method:"POST",version:t,authorization:n,body:JSON.stringify(Ln(r,i))})}async function Jr(e,t,n,{origin:r,ids:i}){return Ie(`${e}/1/map/tariff`,{method:"POST",version:t,authorization:n,body:JSON.stringify({connection_id:r.connectionId,country_code:r.countryCode,party_id:r.partyId,tariff_ids:i})})}async function Xr(e,t,n,{ids:r,status:i}){return Ie(`${e}/1/map/locations`,{method:"POST",version:t,authorization:n,body:JSON.stringify({ids:r,...re(t,"v2")?{status:i}:{}})})}async function Qr(e,t,n,{type:r,country_code:i,party_id:a,location_id:s,evse_uid:c}){return Ie(`${e}/1/map/report-problem`,{method:"POST",version:t,authorization:n,body:JSON.stringify({type:r,country_code:i,party_id:a,location_id:s,evse_uid:c})})}async function eo(e,t,n){return(await Ie(`${e}/1/map/config`,{version:t,authorization:n}))?.data}const to=["EVSE_STATUS_","CONNECTOR_OCPP_STATUS_"];function it(e){let t=(e||"").toUpperCase();for(const n of to)if(t.startsWith(n)){t=t.slice(n.length);break}return t===""||t==="UNSPECIFIED"?"UNKNOWN":t}const no={green:"#33AC19",blue:"#005CEE",red:"#EB001B",amber:"#F0A202",grey:"#9E9E9E"},Hn={green:"#0a924b",blue:"#3a6cce",red:"#d73337",amber:"#d98b09",grey:"#94999e"};function ro(e){return re(e,"v3")?Hn:no}const Nt=new Set(["CHARGING","PREPARING","SUSPENDED_EVSE","SUSPENDED_EV","FINISHING"]);function oo(e){return e==="AVAILABLE"?"available":Nt.has(e)?"inSession":"offline"}function io(e){return e==="FAULTED"?"fault":e==="UNAVAILABLE"?"unavailable":e==="UNKNOWN"?"unknown":e==="AVAILABLE"?"available":Nt.has(e)||e==="RESERVED"?"inSession":"fault"}function $n(e,t="roaming"){const n=it(e);return t==="cpo"?io(n):oo(n)}const ao={available:"green",inSession:"blue",offline:"red",fault:"red",unavailable:"red",unknown:"red"},so={available:"green",inSession:"amber",offline:"grey",fault:"red",unavailable:"grey",unknown:"grey"},lo={fault:"red",unavailable:"amber",unknown:"grey",available:"green",inSession:"blue",offline:"amber"};function co(e,t){return e==="cpo"?lo:re(t,"v3")?so:ao}function Vn(e,t="roaming",n){return ro(n)[co(t,n)[e]]}function Se(e,t="roaming",n){return Vn($n(e,t),t,n)}const uo={AVAILABLE:"evse.statusAvailable",CHARGING:"evse.statusCharging",UNAVAILABLE:"evse.statusUnavailable",ERROR:"evse.statusError",UNKNOWN:"evse.statusUnknown",REMOVED:"evse.statusRemoved",PLANNED:"evse.statusPlanned",RESERVED:"evse.statusReserved",INOPERATIVE:"evse.statusInoperative",OUTOFORDER:"evse.statusOutOfOrder",BLOCKED:"evse.statusBlocked",CLOSED:"evse.statusClosed",PREPARING:"ocpp.statusPreparing",SUSPENDED_EVSE:"ocpp.statusSuspendedEvse",SUSPENDED_EV:"ocpp.statusSuspendedEv",FINISHING:"ocpp.statusFinishing",FAULTED:"ocpp.statusFaulted"};function _t(e){return uo[it(e)]||"evse.statusUnknown"}const fo={roaming:["available","inSession","offline"],cpo:["fault","unavailable","inSession","available","unknown"]};function po(e=[],t="roaming",n){const r=new Set(e.map(s=>$n(s.name,t))),i=fo[t],a=i.find(s=>r.has(s))||i.at(-1);return Vn(a,t,n)}function mo(e){return[{id:"statusAvailable",labelKey:"filters.available",values:["AVAILABLE"],color:Se("AVAILABLE","roaming",e)},{id:"statusCharging",labelKey:"filters.charging",values:["CHARGING"],color:Se("CHARGING","roaming",e)},{id:"statusError",labelKey:"filters.notAvailable",values:["INOPERATIVE","UNKNOWN"],color:Se("INOPERATIVE","roaming",e)}]}const ho=["AVAILABLE","PREPARING","CHARGING","SUSPENDED_EVSE","SUSPENDED_EV","FINISHING","RESERVED","UNAVAILABLE","FAULTED","UNSPECIFIED"];function go(e){return ho.map(t=>({id:`ocppStatus_${t}`,labelKey:_t(t),values:[t],color:Se(t,"cpo",e)}))}function zn(e){return e==="cpo"}function Bn(e,t){return zn(e)?go(t):mo(t)}function vt(e,t,n){switch(e){case"remove":return t.filter(r=>!n.includes(r));case"add":return Array.from(new Set([...t,...n]))}}function Un(e,t){const n=it(t);return Bn(e).find(r=>r.values.includes(n)||n==="UNKNOWN"&&r.values.includes("UNSPECIFIED"))}function Wn(e,t,n){const r=Un(e,n);return!!(r&&r.values.every(i=>t.includes(i)))}function Ut(e,t,n){const r=Un(e,n);if(!r)return;const i=Wn(e,t,n)?"remove":"add";return vt(i,t,r.values)}function vo(e){const{status:t,...n}=e||{};return n}function yo(e,t){return zn(e)?void 0:t}const Gn="EUR",At=h.createContext({isReady:!1,setPlace:()=>{},t:e=>`Translate ${e}`,language:"en",mapKind:"roaming",currency:Gn}),Co=({children:e,...t})=>{const[n,r]=h.useState(t.options),[i,a]=h.useState({preferredOperators:t.options.preferredOperators,...t.options.showOperatorOnly!==void 0&&{showOperatorOnly:t.options.showOperatorOnly},...t.options.showNoAdditionalFeeFilter!==void 0&&{showNoAdditionalFeeFilter:t.options.showNoAdditionalFeeFilter},...t.options.showPublishingModeFilter!==void 0&&{showPublishingModeFilter:t.options.showPublishingModeFilter},...t.options.showVehicleAvailabilityFilter!==void 0&&{showVehicleAvailabilityFilter:t.options.showVehicleAvailabilityFilter},...t.options.showSearchPhraseFilter!==void 0&&{showSearchPhraseFilter:t.options.showSearchPhraseFilter},...t.options.showExcludeOperatorFilter!==void 0&&{showExcludeOperatorFilter:t.options.showExcludeOperatorFilter},...t.options.showPaymentMethodFilter!==void 0&&{showPaymentMethodFilter:t.options.showPaymentMethodFilter},...t.options.showAnalytics!==void 0&&{showAnalytics:t.options.showAnalytics},...t.options.showPriceFilter!==void 0&&{showPriceFilter:t.options.showPriceFilter}}),[s,c]=h.useState(),[l,u]=h.useState(),[d,f]=h.useState(t.options.position),[m,v]=h.useState({}),[C,p]=h.useState([t.options.locationId].filter(Boolean)),[x,M]=h.useState([]),[z,j]=h.useState({type:"success"}),[O,g]=h.useState(!1),[S,K]=h.useState(),[G,Y]=h.useState(),X=window.location.search.includes("debug=true");X&&console.log("map-context options",t.options);const te=h.useMemo(()=>$r(t.options.language),[t.options.language]),de=h.useMemo(()=>(T,k)=>Yr[te][T].replace(/\{\{(\w+)\}\}/g,(I,ne)=>k[ne]),[te]),ae=(()=>{const T=t.options.apiRoot?.replace(/\/+$/,"");return T&&/\.dev|localhost|127\.0\.0\.1/.test(T)?T:re(t.options.version,"v2")?"https://roaming.road.io/v2/map-search":"https://api.road.io"})();let w=t.options.version,H=t.options.authorization;const Z=window.location.search.split("map_key=")[1];Z&&(H=Z,re(w,"v2")||(w="v2"));const oe=G?.toLowerCase()==="cpo"?"cpo":"roaming",fe=(t.options.currency||n.currency||Gn).trim().toUpperCase(),Ne={...re(w,"v3")&&{currency:fe},...t.options.infraProviderId&&{infraProviderId:t.options.infraProviderId},...t.options.partyId&&{partyId:t.options.partyId},...t.options.partyIds?.length&&{partyIds:t.options.partyIds},...t.options.evseId&&{evseId:t.options.evseId},...t.options.from&&{from:t.options.from},...t.options.to&&{to:t.options.to}},y=T=>Zr(ae,w,H,t.options.limitToLocationIds||[],{...Ne,...T},oe),E=T=>qr(ae,w,H,t.options.limitToLocationIds||[],{...Ne,...T},oe),L=Xr.bind(null,ae,w,H),F=Jr.bind(null,ae,w,H),D=Qr.bind(null,ae,w,H);async function V({ids:T,status:k}){j({type:"loading"});try{const{data:I}=await L({ids:T,...re(w,"v2")?{status:yo(oe,k)}:{}});return M(I.filter(ne=>ne?.evses?.length)),j({type:"success"}),I}catch(I){j({type:"error",error:I})}}h.useEffect(()=>{t.options.locationId&&V({ids:[t.options.locationId],status:m.status}).then(T=>{if(T?.length){const k=T[0];k.geoLocation?.coordinates&&f({lng:k.geoLocation?.coordinates[0],lat:k.geoLocation?.coordinates[1]})}})},[t.options.locationId]),h.useEffect(()=>{eo(ae,w,H).then(T=>{X&&console.log("retrieved remote config",T),a({...T,...i}),r({googleApiKey:T.googleMapsApiKey,...n,...T}),Y(T.context),!n.locationId&&!n?.position?.lat&&T.ipLatitude?(X&&console.debug("setting position from ip latitude and longitude"),f({lat:T.ipLatitude,lng:T.ipLongitude})):n.locationId||(X&&console.debug("setting position from options position"),f(n?.position?.lat?n.position:{lat:52.3676,lng:4.9041}))}).catch(T=>c(T))},[]),h.useEffect(()=>{C?.length&&V({ids:C,status:m.status})},[C]),h.useEffect(()=>{const{theming:T,shadowRoot:k}=t.options;if(k){const I=k.querySelectorAll("#road-map-styles")[0]||document.createElement("style");I.setAttribute("type","text/css"),I.setAttribute("id","road-map-styles"),I.innerHTML=`
|
|
2
2
|
:host {
|
|
3
|
-
--roadmap-brand-color: ${
|
|
4
|
-
--roadmap-background-color: ${
|
|
5
|
-
--roadmap-text-color: ${
|
|
6
|
-
--roadmap-border-color: ${
|
|
7
|
-
--roadmap-font-family: ${
|
|
3
|
+
--roadmap-brand-color: ${T?.brandColor||"#6102d3"};
|
|
4
|
+
--roadmap-background-color: ${T?.backgroundColor||"#ffffff"};
|
|
5
|
+
--roadmap-text-color: ${T?.textColor||"#2a2a2a"};
|
|
6
|
+
--roadmap-border-color: ${T?.borderColor||"#dddddd"};
|
|
7
|
+
--roadmap-font-family: ${T?.fontFamily||"Inter"};
|
|
8
8
|
}
|
|
9
|
-
`,D.appendChild(k)}},[t.options.theming]);const $=!!(f&&n?.googleApiKey&&B),L=h.useMemo(()=>({options:n,setPlace:u,place:c,t:de,language:te,fetchGeohashes:_e,fetchAnalytics:g,searchBounds:j,setSearchBounds:Y,mapKind:ne,locations:A,locationsStatus:z,filterConfiguration:i,setFilters:v,setLocationsIds:T,locationIds:y,filters:p,fetchTariffs:H,reportProblem:R,fetchLocations:E,isReady:$,position:f,isSearching:C,setIsSearching:m}),[f,te,A,z,H,R,t.options,c,u,v,p,i,y,T,de,_e,g,j,ne,E,$,C]);return r.jsx(At.Provider,{value:L,children:e})};function U(){const e=h.useContext(At);if(e===void 0)throw new Error("useMapContext must be used within a MapProvider");return e}function fo(e){const{isReady:t}=h.useContext(At),n=h.useRef(null),i=Pr(n)&&t;return r.jsxs("div",{ref:n,className:zt.container,style:{height:`${e.height}px`},children:[!i&&r.jsx("div",{className:zt.loader,children:"Loading..."}),i&&e.children]})}const po="Map-module_container",ho={container:po};function mo(e,t,n,o){function i(a){return a instanceof n?a:new n(function(s){s(a)})}return new(n||(n=Promise))(function(a,s){function l(f){try{u(o.next(f))}catch(d){s(d)}}function c(f){try{u(o.throw(f))}catch(d){s(d)}}function u(f){f.done?a(f.value):i(f.value).then(l,c)}u((o=o.apply(e,[])).next())})}function go(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vo=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var o,i,a;if(Array.isArray(t)){if(o=t.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),o=a.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=o;i--!==0;){var s=a[i];if(!e(t[s],n[s]))return!1}return!0}return t!==t&&n!==n},yo=go(vo);const Wt="__googleMapsScriptId";var Pe;(function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.LOADING=1]="LOADING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE"})(Pe||(Pe={}));class Se{constructor({apiKey:t,authReferrerPolicy:n,channel:o,client:i,id:a=Wt,language:s,libraries:l=[],mapIds:c,nonce:u,region:f,retries:d=3,url:p="https://maps.googleapis.com/maps/api/js",version:v}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=t,this.authReferrerPolicy=n,this.channel=o,this.client=i,this.id=a||Wt,this.language=s,this.libraries=l,this.mapIds=c,this.nonce=u,this.region=f,this.retries=d,this.url=p,this.version=v,Se.instance){if(!yo(this.options,Se.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Se.instance.options)}`);return Se.instance}Se.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?Pe.FAILURE:this.done?Pe.SUCCESS:this.loading?Pe.LOADING:Pe.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let t=this.url;return t+="?callback=__googleMapsCallback&loading=async",this.apiKey&&(t+=`&key=${this.apiKey}`),this.channel&&(t+=`&channel=${this.channel}`),this.client&&(t+=`&client=${this.client}`),this.libraries.length>0&&(t+=`&libraries=${this.libraries.join(",")}`),this.language&&(t+=`&language=${this.language}`),this.region&&(t+=`®ion=${this.region}`),this.version&&(t+=`&v=${this.version}`),this.mapIds&&(t+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(t+=`&auth_referrer_policy=${this.authReferrerPolicy}`),t}deleteScript(){const t=document.getElementById(this.id);t&&t.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((t,n)=>{this.loadCallback(o=>{o?n(o.error):t(window.google)})})}importLibrary(t){return this.execute(),google.maps.importLibrary(t)}loadCallback(t){this.callbacks.push(t),this.execute()}setScript(){var t,n;if(document.getElementById(this.id)){this.callback();return}const o={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(o).forEach(a=>!o[a]&&delete o[a]),!((n=(t=window?.google)===null||t===void 0?void 0:t.maps)===null||n===void 0)&&n.importLibrary||(a=>{let s,l,c,u="The Google Maps JavaScript API",f="google",d="importLibrary",p="__ib__",v=document,y=window;y=y[f]||(y[f]={});const T=y.maps||(y.maps={}),A=new Set,M=new URLSearchParams,z=()=>s||(s=new Promise((P,C)=>mo(this,void 0,void 0,function*(){var m;yield l=v.createElement("script"),l.id=this.id,M.set("libraries",[...A]+"");for(c in a)M.set(c.replace(/[A-Z]/g,j=>"_"+j[0].toLowerCase()),a[c]);M.set("callback",f+".maps."+p),l.src=this.url+"?"+M,T[p]=P,l.onerror=()=>s=C(Error(u+" could not load.")),l.nonce=this.nonce||((m=v.querySelector("script[nonce]"))===null||m===void 0?void 0:m.nonce)||"",v.head.append(l)})));T[d]?console.warn(u+" only loads once. Ignoring:",a):T[d]=(P,...C)=>A.add(P)&&z().then(()=>T[d](P,...C))})(o);const i=this.libraries.map(a=>this.importLibrary(a));i.length||i.push(this.importLibrary("core")),Promise.all(i).then(()=>this.callback(),a=>{const s=new ErrorEvent("error",{error:a});this.loadErrorCallback(s)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(t){if(this.errors.push(t),this.errors.length<=this.retries){const n=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${n} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},n)}else this.onerrorEvent=t,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(t=>{t(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading||(this.loading=!0,this.setScript())}}}let at;function Un(e,t){if(at)return at;const n=new Se({apiKey:e,version:"weekly",language:t});return at=n,n}const st="0123456789bcdefghjkmnpqrstuvwxyz";class ee{static encode(t,n,o){if(typeof o>"u"){for(let p=1;p<=12;p++){const v=ee.encode(t,n,p),y=ee.decode(v);if(y.lat==t&&y.lon==n)return v}o=12}if(t=Number(t),n=Number(n),o=Number(o),isNaN(t)||isNaN(n)||isNaN(o))throw new Error("Invalid geohash");let i=0,a=0,s=!0,l="",c=-90,u=90,f=-180,d=180;for(;l.length<o;){if(s){const p=(f+d)/2;n>=p?(i=i*2+1,f=p):(i=i*2,d=p)}else{const p=(c+u)/2;t>=p?(i=i*2+1,c=p):(i=i*2,u=p)}s=!s,++a==5&&(l+=st.charAt(i),a=0,i=0)}return l}static decode(t){const n=ee.bounds(t),o=n.sw.lat,i=n.sw.lon,a=n.ne.lat,s=n.ne.lon;let l=(o+a)/2,c=(i+s)/2;return l=l.toFixed(Math.floor(2-Math.log(a-o)/Math.LN10)),c=c.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),{lat:Number(l),lon:Number(c)}}static bounds(t){if(t.length==0)throw new Error("Invalid geohash");t=t.toLowerCase();let n=!0,o=-90,i=90,a=-180,s=180;for(let c=0;c<t.length;c++){const u=t.charAt(c),f=st.indexOf(u);if(f==-1)throw new Error("Invalid geohash");for(let d=4;d>=0;d--){const p=f>>d&1;if(n){const v=(a+s)/2;p==1?a=v:s=v}else{const v=(o+i)/2;p==1?o=v:i=v}n=!n}}return{sw:{lat:o,lon:a},ne:{lat:i,lon:s}}}static adjacent(t,n){if(t=t.toLowerCase(),n=n.toLowerCase(),t.length==0)throw new Error("Invalid geohash");if("nsew".indexOf(n)==-1)throw new Error("Invalid direction");const o={n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]},i={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]},a=t.slice(-1);let s=t.slice(0,-1);const l=t.length%2;return i[n][l].indexOf(a)!=-1&&s!=""&&(s=ee.adjacent(s,n)),s+st.charAt(o[n][l].indexOf(a))}static neighbours(t){return{n:ee.adjacent(t,"n"),ne:ee.adjacent(ee.adjacent(t,"n"),"e"),e:ee.adjacent(t,"e"),se:ee.adjacent(ee.adjacent(t,"s"),"e"),s:ee.adjacent(t,"s"),sw:ee.adjacent(ee.adjacent(t,"s"),"w"),w:ee.adjacent(t,"w"),nw:ee.adjacent(ee.adjacent(t,"n"),"w")}}}function Co(e,t,n){class o extends google.maps.OverlayView{constructor(a,s,l){super(),this.container=a,this.pane=s,this.position=l}onAdd(){this.getPanes()?.[this.pane]?.appendChild(this.container)}draw(){const s=this.getProjection().fromLatLngToDivPixel(this.position);s!==null&&(this.container.style.transform=`translate(${s.x}px, ${s.y}px)`)}onRemove(){this.container.parentNode!==null&&this.container.parentNode.removeChild(this.container)}}return new o(e,t,n)}function Wn({position:e,pane:t="floatPane",map:n,zIndex:o,children:i}){const a=h.useMemo(()=>{const l=document.createElement("div");return l.style.position="absolute",l},[]),s=h.useMemo(()=>Co(a,t,{lat:e.lat,lng:e.lon}),[a,t,e]);return h.useEffect(()=>(s?.setMap(n),()=>{s?.setMap(null)}),[n,s]),h.useEffect(()=>{a.style.zIndex=`${o}`},[o,a]),Le.createPortal(i,a)}const xo="CustomMarker-module_container",bo={container:xo},To=new Intl.NumberFormat(void 0,{maximumSignificantDigits:3}),Eo=e=>To.format(e),So=({data:e,map:t,onClick:n,highlight:o,kind:i="roaming"})=>{const a=h.useCallback(()=>{n(e)},[n,e]),s=h.useMemo(()=>({background:oo(e.statuses,i)}),[e,i]);return r.jsx(Wn,{position:e.centroid,map:t,zIndex:o?99:0,children:r.jsx("button",{className:bo.container,onClick:a,style:s,onTouchEndCapture:a,children:e.count>1?Eo(e.count):""})})};function wo(e){return e==="AVAILABLE"?"free":_t.has(e)||e==="RESERVED"?"busy":e==="FAULTED"?"fault":e==="PLANNED"?"planned":e==="UNKNOWN"?"unknown":"offline"}function _o(e=[]){const t={free:0,busy:0,fault:0,planned:0,unknown:0,offline:0,total:0};for(const n of e){const o=Math.max(0,n.count||0);t[wo(it(n.name))]+=o,t.total+=o}return t}function No(e){return e.fault>0?"fault":e.offline>0?"offline":e.busy>0?"inUse":e.free>0?"available":"unknown"}function Ao(e,t){return e.fault>0?"fault":t&&e.free>0?"available":e.busy>0?"inUse":e.free>0?"available":e.total===0?"unknown":e.planned===e.total?"planned":e.unknown===e.total?"unknown":"offline"}function Oo(e,t,n){return e.total===0?"unknown":t==="cpo"?No(e):Ao(e,n)}function jo(e,t){return e.free>0?e.free===e.total?"bolt":"ratio":t==="fault"?"alert":t==="planned"?"plus":e.busy>0?"ratio":"dash"}const Po={roaming:{available:"green",inUse:"amber",offline:"grey",fault:"red",planned:"grey",unknown:"grey"},cpo:{available:"green",inUse:"blue",offline:"amber",fault:"red",planned:"grey",unknown:"grey"}},Do={green:"#006025",amber:"#a16100",blue:"#2b57a8",red:"#a20519",grey:"#6d7277"};function Gn(e,t){const n=Po[t][e];return{ring:Ln[n],text:Do[n]}}const Io=[["free","available"],["busy","inUse"],["fault","fault"],["offline","offline"],["planned","planned"],["unknown","unknown"]];function ko(e,t){return e.total===0?[]:Io.filter(([n])=>e[n]>0).map(([n,o])=>({tone:o,ring:Gn(o,t).ring,fraction:e[n]/e.total}))}function Mo(e,t="roaming",n=!1){const o=_o(e),i=Oo(o,t,n);return{tone:i,colours:Gn(i,t),glyph:jo(o,i),free:o.free,total:o.total,split:ko(o,t)}}const Ot=new Intl.NumberFormat(void 0,{maximumSignificantDigits:3}),Ro=Math.SQRT1_2,tt=40,Yn=52,Lo=26,Fo=48,Ho=56,Vo=9,Gt="#2a2e33",$o="#6d7277",yt="rgba(23, 27, 31, 0.22)",zo="rgba(23, 27, 31, 0.14)",Kn="rgba(23, 27, 31, 0.3)",Bo=`
|
|
9
|
+
`,k.appendChild(I)}},[t.options.theming]);const R=!!(d&&n?.googleApiKey&&G),$=h.useMemo(()=>({options:n,setPlace:u,place:l,t:de,language:te,fetchGeohashes:y,fetchAnalytics:E,searchBounds:S,setSearchBounds:K,mapKind:oe,currency:fe,locations:x,locationsStatus:z,filterConfiguration:i,setFilters:v,setLocationsIds:p,locationIds:C,filters:m,fetchTariffs:F,reportProblem:D,fetchLocations:L,isReady:R,position:d,isSearching:O,setIsSearching:g}),[d,te,x,z,F,D,t.options,l,u,v,m,i,C,p,de,y,E,S,oe,fe,L,R,O]);return o.jsx(At.Provider,{value:$,children:e})};function B(){const e=h.useContext(At);if(e===void 0)throw new Error("useMapContext must be used within a MapProvider");return e}function xo(e){const{isReady:t}=h.useContext(At),n=h.useRef(null),i=Hr(n)&&t;return o.jsxs("div",{ref:n,className:zt.container,style:{height:`${e.height}px`},children:[!i&&o.jsx("div",{className:zt.loader,children:"Loading..."}),i&&e.children]})}const bo="Map-module_container",Eo={container:bo};function To(e,t,n,r){function i(a){return a instanceof n?a:new n(function(s){s(a)})}return new(n||(n=Promise))(function(a,s){function c(d){try{u(r.next(d))}catch(f){s(f)}}function l(d){try{u(r.throw(d))}catch(f){s(f)}}function u(d){d.done?a(d.value):i(d.value).then(c,l)}u((r=r.apply(e,[])).next())})}function wo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var So=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var s=a[i];if(!e(t[s],n[s]))return!1}return!0}return t!==t&&n!==n},No=wo(So);const Wt="__googleMapsScriptId";var je;(function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.LOADING=1]="LOADING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE"})(je||(je={}));class we{constructor({apiKey:t,authReferrerPolicy:n,channel:r,client:i,id:a=Wt,language:s,libraries:c=[],mapIds:l,nonce:u,region:d,retries:f=3,url:m="https://maps.googleapis.com/maps/api/js",version:v}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=t,this.authReferrerPolicy=n,this.channel=r,this.client=i,this.id=a||Wt,this.language=s,this.libraries=c,this.mapIds=l,this.nonce=u,this.region=d,this.retries=f,this.url=m,this.version=v,we.instance){if(!No(this.options,we.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(we.instance.options)}`);return we.instance}we.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?je.FAILURE:this.done?je.SUCCESS:this.loading?je.LOADING:je.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let t=this.url;return t+="?callback=__googleMapsCallback&loading=async",this.apiKey&&(t+=`&key=${this.apiKey}`),this.channel&&(t+=`&channel=${this.channel}`),this.client&&(t+=`&client=${this.client}`),this.libraries.length>0&&(t+=`&libraries=${this.libraries.join(",")}`),this.language&&(t+=`&language=${this.language}`),this.region&&(t+=`®ion=${this.region}`),this.version&&(t+=`&v=${this.version}`),this.mapIds&&(t+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(t+=`&auth_referrer_policy=${this.authReferrerPolicy}`),t}deleteScript(){const t=document.getElementById(this.id);t&&t.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((t,n)=>{this.loadCallback(r=>{r?n(r.error):t(window.google)})})}importLibrary(t){return this.execute(),google.maps.importLibrary(t)}loadCallback(t){this.callbacks.push(t),this.execute()}setScript(){var t,n;if(document.getElementById(this.id)){this.callback();return}const r={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(r).forEach(a=>!r[a]&&delete r[a]),!((n=(t=window?.google)===null||t===void 0?void 0:t.maps)===null||n===void 0)&&n.importLibrary||(a=>{let s,c,l,u="The Google Maps JavaScript API",d="google",f="importLibrary",m="__ib__",v=document,C=window;C=C[d]||(C[d]={});const p=C.maps||(C.maps={}),x=new Set,M=new URLSearchParams,z=()=>s||(s=new Promise((j,O)=>To(this,void 0,void 0,function*(){var g;yield c=v.createElement("script"),c.id=this.id,M.set("libraries",[...x]+"");for(l in a)M.set(l.replace(/[A-Z]/g,S=>"_"+S[0].toLowerCase()),a[l]);M.set("callback",d+".maps."+m),c.src=this.url+"?"+M,p[m]=j,c.onerror=()=>s=O(Error(u+" could not load.")),c.nonce=this.nonce||((g=v.querySelector("script[nonce]"))===null||g===void 0?void 0:g.nonce)||"",v.head.append(c)})));p[f]?console.warn(u+" only loads once. Ignoring:",a):p[f]=(j,...O)=>x.add(j)&&z().then(()=>p[f](j,...O))})(r);const i=this.libraries.map(a=>this.importLibrary(a));i.length||i.push(this.importLibrary("core")),Promise.all(i).then(()=>this.callback(),a=>{const s=new ErrorEvent("error",{error:a});this.loadErrorCallback(s)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(t){if(this.errors.push(t),this.errors.length<=this.retries){const n=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${n} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},n)}else this.onerrorEvent=t,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(t=>{t(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading||(this.loading=!0,this.setScript())}}}let at;function Yn(e,t){if(at)return at;const n=new we({apiKey:e,version:"weekly",language:t});return at=n,n}const st="0123456789bcdefghjkmnpqrstuvwxyz";class ee{static encode(t,n,r){if(typeof r>"u"){for(let m=1;m<=12;m++){const v=ee.encode(t,n,m),C=ee.decode(v);if(C.lat==t&&C.lon==n)return v}r=12}if(t=Number(t),n=Number(n),r=Number(r),isNaN(t)||isNaN(n)||isNaN(r))throw new Error("Invalid geohash");let i=0,a=0,s=!0,c="",l=-90,u=90,d=-180,f=180;for(;c.length<r;){if(s){const m=(d+f)/2;n>=m?(i=i*2+1,d=m):(i=i*2,f=m)}else{const m=(l+u)/2;t>=m?(i=i*2+1,l=m):(i=i*2,u=m)}s=!s,++a==5&&(c+=st.charAt(i),a=0,i=0)}return c}static decode(t){const n=ee.bounds(t),r=n.sw.lat,i=n.sw.lon,a=n.ne.lat,s=n.ne.lon;let c=(r+a)/2,l=(i+s)/2;return c=c.toFixed(Math.floor(2-Math.log(a-r)/Math.LN10)),l=l.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),{lat:Number(c),lon:Number(l)}}static bounds(t){if(t.length==0)throw new Error("Invalid geohash");t=t.toLowerCase();let n=!0,r=-90,i=90,a=-180,s=180;for(let l=0;l<t.length;l++){const u=t.charAt(l),d=st.indexOf(u);if(d==-1)throw new Error("Invalid geohash");for(let f=4;f>=0;f--){const m=d>>f&1;if(n){const v=(a+s)/2;m==1?a=v:s=v}else{const v=(r+i)/2;m==1?r=v:i=v}n=!n}}return{sw:{lat:r,lon:a},ne:{lat:i,lon:s}}}static adjacent(t,n){if(t=t.toLowerCase(),n=n.toLowerCase(),t.length==0)throw new Error("Invalid geohash");if("nsew".indexOf(n)==-1)throw new Error("Invalid direction");const r={n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]},i={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]},a=t.slice(-1);let s=t.slice(0,-1);const c=t.length%2;return i[n][c].indexOf(a)!=-1&&s!=""&&(s=ee.adjacent(s,n)),s+st.charAt(r[n][c].indexOf(a))}static neighbours(t){return{n:ee.adjacent(t,"n"),ne:ee.adjacent(ee.adjacent(t,"n"),"e"),e:ee.adjacent(t,"e"),se:ee.adjacent(ee.adjacent(t,"s"),"e"),s:ee.adjacent(t,"s"),sw:ee.adjacent(ee.adjacent(t,"s"),"w"),w:ee.adjacent(t,"w"),nw:ee.adjacent(ee.adjacent(t,"n"),"w")}}}function _o(e,t,n){class r extends google.maps.OverlayView{constructor(a,s,c){super(),this.container=a,this.pane=s,this.position=c}onAdd(){this.getPanes()?.[this.pane]?.appendChild(this.container)}draw(){const s=this.getProjection().fromLatLngToDivPixel(this.position);s!==null&&(this.container.style.transform=`translate(${s.x}px, ${s.y}px)`)}onRemove(){this.container.parentNode!==null&&this.container.parentNode.removeChild(this.container)}}return new r(e,t,n)}function Kn({position:e,pane:t="floatPane",map:n,zIndex:r,children:i}){const a=h.useMemo(()=>{const c=document.createElement("div");return c.style.position="absolute",c},[]),s=h.useMemo(()=>_o(a,t,{lat:e.lat,lng:e.lon}),[a,t,e]);return h.useEffect(()=>(s?.setMap(n),()=>{s?.setMap(null)}),[n,s]),h.useEffect(()=>{a.style.zIndex=`${r}`},[r,a]),Le.createPortal(i,a)}const Ao="CustomMarker-module_container",Oo={container:Ao},Po=new Intl.NumberFormat(void 0,{maximumSignificantDigits:3}),jo=e=>Po.format(e),Do=({data:e,map:t,onClick:n,highlight:r,kind:i="roaming"})=>{const a=h.useCallback(()=>{n(e)},[n,e]),s=h.useMemo(()=>({background:po(e.statuses,i)}),[e,i]);return o.jsx(Kn,{position:e.centroid,map:t,zIndex:r?99:0,children:o.jsx("button",{className:Oo.container,onClick:a,style:s,onTouchEndCapture:a,children:e.count>1?jo(e.count):""})})};function Zn(e){return!!(e&&typeof e.amount=="number"&&Number.isFinite(e.amount)&&e.currency)}const Gt=new Map;function Io(e,t){const n=`${e}:${t}`;let r=Gt.get(n);return r||(r=new Intl.NumberFormat(e,{style:"currency",currency:t,currencyDisplay:"narrowSymbol",minimumFractionDigits:2,maximumFractionDigits:2}),Gt.set(n,r)),r}function qn(e,t){if(Zn(t))try{return Io(e,t.currency).format(t.amount)}catch{return`${t.amount.toFixed(2)} ${t.currency}`}}const ko={SEK:10,NOK:10,DKK:10,CZK:25,PLN:4,HUF:400,ISK:150},Mo=[.3,.4,.5,.6,.7,.8,.9,1];function Ro(e,t,n){const r=ko[t.toUpperCase()]||1,i=r>=10?0:2,a=new Intl.NumberFormat(e,{minimumFractionDigits:i,maximumFractionDigits:i});return[...Mo.map(s=>{const c=Math.round(s*r*100)/100;return{value:c,label:a.format(c)}}),{value:void 0,label:n}]}function Lo(e){return e==="AVAILABLE"?"free":Nt.has(e)||e==="RESERVED"?"busy":e==="FAULTED"?"fault":e==="PLANNED"?"planned":e==="UNKNOWN"?"unknown":"offline"}function Fo(e=[]){const t={free:0,busy:0,fault:0,planned:0,unknown:0,offline:0,total:0};for(const n of e){const r=Math.max(0,n.count||0);t[Lo(it(n.name))]+=r,t.total+=r}return t}function Ho(e){return e.fault>0?"fault":e.offline>0?"offline":e.busy>0?"inUse":e.free>0?"available":"unknown"}function $o(e,t){return e.fault>0?"fault":t&&e.free>0?"available":e.busy>0?"inUse":e.free>0?"available":e.total===0?"unknown":e.planned===e.total?"planned":e.unknown===e.total?"unknown":"offline"}function Vo(e,t,n){return e.total===0?"unknown":t==="cpo"?Ho(e):$o(e,n)}function zo(e,t){return e.free>0?e.free===e.total?"bolt":"ratio":t==="fault"?"alert":t==="planned"?"plus":e.busy>0?"ratio":"dash"}const Bo={roaming:{available:"green",inUse:"amber",offline:"grey",fault:"red",planned:"grey",unknown:"grey"},cpo:{available:"green",inUse:"blue",offline:"amber",fault:"red",planned:"grey",unknown:"grey"}},Uo={green:"#006025",amber:"#a16100",blue:"#2b57a8",red:"#a20519",grey:"#6d7277"};function Jn(e,t){const n=Bo[t][e];return{ring:Hn[n],text:Uo[n]}}const Wo=[["free","available"],["busy","inUse"],["fault","fault"],["offline","offline"],["planned","planned"],["unknown","unknown"]];function Go(e,t){return e.total===0?[]:Wo.filter(([n])=>e[n]>0).map(([n,r])=>({tone:r,ring:Jn(r,t).ring,fraction:e[n]/e.total}))}function Yo(e,t="roaming",n=!1){const r=Fo(e),i=Vo(r,t,n);return{tone:i,colours:Jn(i,t),glyph:zo(r,i),free:r.free,total:r.total,split:Go(r,t)}}function Xn(e){if(e.count<=1)return!1;const t=e.ids||[];return t.length===0||new Set(t).size>1}function Ko(e){if(!Xn(e)&&!(!Zn(e.energyPrice)||e.energyPrice.amount<=0))return e.energyPrice}const Ot=new Intl.NumberFormat(void 0,{maximumSignificantDigits:3}),Qn=Math.SQRT1_2,tt=40,er=52,Zo=26,qo=48,Jo=56,Xo=9,Qo=4,tr="…",Yt="#2a2e33",ei="#6d7277",ti="#fdfcf9",ni="#383c43",yt="rgba(23, 27, 31, 0.22)",ri="rgba(23, 27, 31, 0.14)",nr="rgba(23, 27, 31, 0.3)",oi=`
|
|
10
10
|
.roadmap-pin {
|
|
11
11
|
position: absolute;
|
|
12
12
|
left: 0;
|
|
@@ -100,28 +100,43 @@
|
|
|
100
100
|
text-transform: uppercase;
|
|
101
101
|
line-height: 1;
|
|
102
102
|
}
|
|
103
|
+
.roadmap-pin-tag {
|
|
104
|
+
position: absolute;
|
|
105
|
+
transform: translateX(-50%);
|
|
106
|
+
box-sizing: border-box;
|
|
107
|
+
padding: 2px 6px;
|
|
108
|
+
border-radius: 4px;
|
|
109
|
+
background: ${ni};
|
|
110
|
+
color: ${ti};
|
|
111
|
+
font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
112
|
+
font-size: 11px;
|
|
113
|
+
font-weight: 500;
|
|
114
|
+
line-height: 13px;
|
|
115
|
+
white-space: nowrap;
|
|
116
|
+
pointer-events: none;
|
|
117
|
+
}
|
|
103
118
|
@keyframes roadmap-pin-in {
|
|
104
119
|
from { opacity: 0; transform: translateY(4px); }
|
|
105
120
|
to { opacity: 1; transform: none; }
|
|
106
121
|
}
|
|
107
|
-
`;function Uo(){return r.jsx("style",{children:Bo})}function nt(e,t){const n=e.replace("#",""),o=parseInt(n.slice(0,2),16),i=parseInt(n.slice(2,4),16),a=parseInt(n.slice(4,6),16);return`rgba(${o}, ${i}, ${a}, ${t})`}function Zn(e){return{width:e,height:e,left:-e/2,top:-(e/2+e*Ro)}}function Yt(e){return{width:e,height:e,left:-e/2,top:-e/2}}function Wo(e){let t=0;return`conic-gradient(${e.map(o=>{const i=t;return t+=o.fraction*100,`${o.ring} ${i.toFixed(2)}% ${t.toFixed(2)}%`}).join(", ")})`}function Go({scale:e,fill:t}){return r.jsx("svg",{width:12*e,height:18*e,viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",children:r.jsx("polygon",{points:"58,0 18,56 44,56 38,100 84,40 52,40",fill:t})})}function Yo(e,t){const n=String(e.free).length+String(e.total).length;return n<=2?13*t:n===3?11*t:9.5*t}function Ko({state:e,scale:t}){const{ring:n,text:o}=e.colours;switch(e.glyph){case"bolt":return r.jsx(Go,{scale:t,fill:n});case"ratio":return r.jsxs("span",{style:{fontSize:Yo(e,t),color:o},children:[e.free,"/",e.total]});case"dash":return r.jsx("span",{style:{display:"block",width:16*t,height:2*t,borderRadius:2,background:o}});case"plus":return r.jsx("span",{style:{fontSize:14*t,color:o},children:"+"});case"alert":return r.jsx("span",{style:{fontSize:15*t,fontWeight:700,color:n},children:"!"})}}function qn(e,t,n=!1){const o=e.colours.ring,i=e.tone==="offline"||e.tone==="unknown",a=e.tone==="planned";return{style:{borderWidth:n?2.5:3,borderStyle:a?"dashed":"solid",background:a?"#fcfcf9":i?"#f0f2f4":"#fff",boxShadow:a?"none":t?`0 6px 16px ${Kn}, 0 0 0 4px ${nt(o,.18)}`:i?`0 2px 5px ${zo}`:`0 3px 8px ${yt}`},muted:i}}function Zo({state:e,selected:t=!1,compact:n=!1,onClick:o,label:i}){const a=n?Lo:t?Yn:tt,{style:s,muted:l}=qn(e,t,n);return r.jsx("button",{type:"button",className:"roadmap-pin",style:{...Zn(a),color:e.colours.ring,opacity:l?.85:1},onClick:o,onTouchEndCapture:o,"aria-label":i,children:r.jsx("span",{className:"roadmap-pin-body",style:s,children:!n&&r.jsx("span",{className:"roadmap-pin-glyph",children:r.jsx(Ko,{state:e,scale:a/tt})})})})}function qo({state:e,count:t,selected:n=!1,onClick:o,label:i}){const a=n?Yn:tt,s=a/tt,l=e.colours.ring,{style:c}=qn(e,n),u=(f,d,p)=>({left:-4*f,top:-4*f,width:a-2*f,height:a-2*f,background:nt(l,d),borderColor:nt(l,p)});return r.jsxs("button",{type:"button",className:"roadmap-pin",style:{...Zn(a),color:l},onClick:o,onTouchEndCapture:o,"aria-label":i,children:[r.jsx("span",{className:"roadmap-pin-ghost",style:u(2,.05,.3)}),r.jsx("span",{className:"roadmap-pin-ghost",style:u(1,.08,.45)}),r.jsx("span",{className:"roadmap-pin-body",style:c,children:r.jsx("span",{className:"roadmap-pin-glyph",style:{fontSize:14*s,color:e.colours.text},children:Ot.format(t)})})]})}function Jo({state:e,count:t,selected:n=!1,onClick:o,label:i,sitesLabel:a}){const s=n?Ho:Fo,l=e.colours.ring,c=Ot.format(t),u=`0 0 0 ${n?8:6}px ${nt(l,.14)}`;return e.split.length>1?r.jsx("button",{type:"button",className:"roadmap-pin",style:Yt(s),onClick:o,onTouchEndCapture:o,"aria-label":i,children:r.jsx("span",{className:"roadmap-pin-ring",style:{background:Wo(e.split),boxShadow:n?`0 4px 12px ${Kn}, ${u}`:`0 3px 8px ${yt}`},children:r.jsx("span",{className:"roadmap-pin-ring-inner",children:r.jsx("span",{className:"roadmap-pin-count",style:{fontSize:14,color:Gt},children:c})})})}):r.jsx("button",{type:"button",className:"roadmap-pin",style:{...Yt(s),color:l},onClick:o,onTouchEndCapture:o,"aria-label":i,children:r.jsxs("span",{className:"roadmap-pin-circle",style:{boxShadow:`0 3px 8px ${yt}, ${u}`},children:[r.jsx("span",{className:"roadmap-pin-count",style:{fontSize:15,color:Gt},children:c}),r.jsx("span",{className:"roadmap-pin-label",style:{fontSize:a.length>6?7:8,color:$o},children:a})]})})}const Xo=({data:e,map:t,kind:n,onClick:o,selected:i=!1,compact:a=!1,sitesLabel:s})=>{const l=e.count>1,c=h.useMemo(()=>Mo(e.statuses,n,l),[e,n,l]),u=h.useCallback(()=>o(e),[o,e]),f=l?`${Ot.format(e.count)} ${s}`:`${c.free}/${c.total}`;let d;return l&&e.count>Vo?d=r.jsx(Jo,{state:c,count:e.count,selected:i,onClick:u,label:f,sitesLabel:s}):l?d=r.jsx(qo,{state:c,count:e.count,selected:i,onClick:u,label:f}):d=r.jsx(Zo,{state:c,selected:i,compact:a,onClick:u,label:f}),r.jsx(Wn,{position:e.centroid,map:t,zIndex:i?99:l?1:0,children:d})};function Qo(e,t){if(e.count!==t.count)return!1;const n=e.statuses||[],o=t.statuses||[];return n.length!==o.length?!1:n.every((i,a)=>i.name===o[a].name&&i.count===o[a].count)}function ei(e,t){const n=new Map(e.map(o=>[o.key,o]));return t.map(o=>{const i=n.get(o.key);return i&&Qo(i,o)?i:o})}const ti=12,ni=[1,1,2,2,2,3,3,3,4,4,4,5,6,6,6,7,8,8,8,8,8,9,9,9,9,9];function lt(e){return ni[e]}function Kt(e,t){const n=e.getSouthWest().toJSON(),o=e.getNorthEast().toJSON(),i=ee.encode(n.lat,n.lng,t),a=ee.bounds(i),s=Math.abs(a.sw.lat-a.ne.lat),l=Math.abs(a.sw.lon-a.ne.lon);let c=a.sw.lat;for(;c<=o.lat;)c=c+s;let u=a.sw.lon;for(;u<=o.lng;)u=u+l;return{nwLat:c,nwLng:a.sw.lon,seLat:a.sw.lat,seLng:u}}function ri(e,t){return e.nwLat===t.nwLat&&e.nwLng===t.nwLng&&e.seLat===t.seLat&&e.seLng===t.seLng}function oi({map:e,filters:t,fetchGeohashes:n,onMarkerClicked:o}){const{setIsSearching:i,setSearchBounds:a,mapKind:s,locationIds:l,options:c,t:u}=U(),[f,d]=h.useState([]),[p,v]=h.useState(e.getZoom()),[y,T]=h.useState({zoom:lt(e.getZoom()),normalizedBounds:Kt(e.getBounds(),lt(e.getZoom()))});h.useEffect(()=>{let C=y.zoom,m;e.addListener("idle",()=>{v(e.getZoom());const j=lt(e.getZoom()),Y={...y,zoom:j},B=Kt(e.getBounds(),C);m&&ri(m,B)||(m=B,T({...Y,normalizedBounds:B}))})},[]);function A(C){d(ei(f,C))}h.useEffect(()=>{y.normalizedBounds&&a?.(y.normalizedBounds)},[y.normalizedBounds]),h.useEffect(()=>{if(!y.normalizedBounds)return;let C=!1;return i(!0),n({precision:y.zoom,bbox:y.normalizedBounds,...t}).then(({data:m})=>{C||(A(m),i(!1))}).catch(m=>{i(!1)}),()=>{C=!0,i(!1)}},[y,t,s]);const M=h.useCallback(C=>{const m=C.ids;m.length==100&&e.setZoom(e.getZoom()+2),e.panTo({lat:C.centroid.lat,lng:C.centroid.lon}),m.length!==100&&o(m)},[e,o]),z=re(c?.version,"v3"),P=C=>!!l?.length&&C.ids.some(m=>l.includes(m));return z?r.jsxs(r.Fragment,{children:[r.jsx(Uo,{}),f.filter(Boolean).map(C=>r.jsx(Xo,{map:e,data:C,kind:s,selected:P(C),compact:p<ti,sitesLabel:u("pin.sites"),onClick:M},C.key))]}):r.jsx(r.Fragment,{children:f.filter(Boolean).map(C=>r.jsx(So,{map:e,data:C,kind:s,onClick:M},C.key))})}function ii(){const{place:e,options:t,fetchGeohashes:n,setLocationsIds:o,language:i,filters:a,position:s}=U(),l=t.googleApiKey,[c,u]=h.useState(),f=h.useRef(null),d=Un(l,i);return h.useEffect(()=>{c&&e?.geometry?.viewport&&c.fitBounds(e.geometry.viewport),c&&e?.geometry?.location&&c.setCenter(e.geometry.location)},[c,e]),h.useEffect(()=>{d.importLibrary("maps").then(({Map:p})=>{const v=new p(f.current,{mapId:"ced50d4165f3a695",center:s,zoom:12,zoomControl:!0,mapTypeControl:!1,scaleControl:!1,streetViewControl:!1,rotateControl:!1,fullscreenControl:!1,controlSize:32,clickableIcons:!1,gestureHandling:t.gestureHandling||"auto"});return v.addListener("idle",()=>{u(v)}),()=>{console.log("unmounting")}})},[l]),r.jsx("div",{className:ho.container,ref:f,children:c&&c.getBounds()&&r.jsx(oi,{filters:a,onMarkerClicked:p=>{o([...p])},map:c,fetchGeohashes:n})})}const jt=({color:e,size:t=10})=>r.jsx("span",{style:{display:"block",width:t,height:t,borderRadius:t,background:e}}),Zt="(min-width: 768px)",ai=380,qt=20,si=48;function li(){const[e,t]=h.useState(()=>window.matchMedia(Zt).matches);return h.useEffect(()=>{const n=window.matchMedia(Zt),o=i=>t(i.matches);return n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[]),e}const ci={position:"absolute",top:qt,left:ai,right:qt,zIndex:1,display:"flex",flexDirection:"column",alignItems:"flex-start",gap:6,fontFamily:"var(--roadmap-font-family, Inter), system-ui",fontSize:12,lineHeight:"16px",color:"var(--roadmap-text-color, #2a2a2a)",pointerEvents:"none",userSelect:"none",transition:"opacity 0.2s ease"},ui={boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center",gap:8,height:si,padding:"0 12px",background:"var(--roadmap-background-color, #fff)",border:"1px solid var(--roadmap-border-color, #ddd)",borderRadius:10,whiteSpace:"nowrap",pointerEvents:"auto"},di="#fff",Jn="#3a3a3a",fi=["1px 0 0","-1px 0 0","0 1px 0","0 -1px 0","1px 1px 0","-1px -1px 0","1px -1px 0","-1px 1px 0"].map(e=>`${e} ${di}`).join(", "),pi={display:"flex",alignItems:"center",gap:6,paddingLeft:12,fontSize:11,fontWeight:700,lineHeight:"13px",color:Jn,textShadow:fi,pointerEvents:"auto"},Xn={padding:0,border:0,background:"none",font:"inherit",textShadow:"inherit",color:"#8a8a8a",cursor:"pointer",outline:"none"},hi={...Xn,color:Jn,cursor:"default"},Ct={display:"inline-flex",alignItems:"center",gap:6,padding:"4px 6px",borderWidth:1,borderStyle:"solid",borderColor:"transparent",borderRadius:6,background:"none",font:"inherit",color:"inherit",lineHeight:"16px",outline:"none"},mi={...Ct,borderColor:"var(--roadmap-brand-color, #ff3d00)",color:"var(--roadmap-brand-color, #ff3d00)"},gi={cursor:"pointer"},vi={fontSize:13,fontWeight:600};function Jt({buckets:e,format:t,kind:n,filterKind:o}){const{t:i,filters:a,setFilters:s,options:l}=U(),c=a?.status||[],u=f=>{const d=Ut(o,c,f);!d||!s||s({...a,status:d})};return r.jsx("div",{style:ui,children:e.map(f=>{const d=!!o&&Ut(o,c,f.name)!==void 0,p=d&&Bn(o,c,f.name),v=r.jsxs(r.Fragment,{children:[r.jsx(jt,{color:we(f.name,n,l?.version),size:8}),r.jsx("span",{style:vi,children:t.format(f.count)}),i(Nt(f.name))]});return d?r.jsx("button",{type:"button","aria-pressed":p,style:{...p?mi:Ct,...gi},onClick:()=>u(f.name),children:v},f.name):r.jsx("span",{style:Ct,children:v},f.name)})})}function yi(){const{t:e,language:t,options:n,filters:o,filterConfiguration:i,searchBounds:a,fetchAnalytics:s,mapKind:l}=U(),[c,u]=h.useState(),[f,d]=h.useState(!1),[p,v]=h.useState("ocpp"),y=li(),T=re(n?.version,"v2")&&!!i?.showAnalytics,A=JSON.stringify(lo(o)),M=h.useMemo(()=>JSON.parse(A),[A]);h.useEffect(()=>{if(!T||!a||!s)return;let B=!1;return d(!0),s({bbox:a,...M}).then(K=>{B||u(K?.data)}).catch(()=>{B||u(void 0)}).finally(()=>{B||d(!1)}),()=>{B=!0}},[T,a,M,l]);const z=h.useMemo(()=>new Intl.NumberFormat(t),[t]);if(!T||!y||!c)return null;const P=l==="cpo",C=c.evses.byStatus||[],m=P?c.connectors.byOcppStatus||[]:[],j=[];if(m.length>0&&j.push("ocpp"),C.length>0&&j.push("roaming"),j.length===0)return null;const Y=j.includes(p)?p:j[0];return r.jsxs("div",{style:{...ci,opacity:f?.6:1},children:[Y==="ocpp"?r.jsx(Jt,{buckets:m,format:z,kind:"cpo",filterKind:"cpo"}):r.jsx(Jt,{buckets:C,format:z,kind:"roaming",filterKind:P?void 0:"roaming"}),j.length>1&&r.jsx("div",{style:pi,role:"group",children:j.map((B,K)=>r.jsxs(h.Fragment,{children:[K>0&&r.jsx("span",{"aria-hidden":"true",children:"|"}),r.jsx("button",{type:"button","aria-pressed":B===Y,style:B===Y?hi:Xn,onClick:()=>v(B),children:e(B==="ocpp"?"analytics.evseStatus":"analytics.roamingStatus")})]},B))})]})}function rt(){return rt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},rt.apply(null,arguments)}function Qn(e,t){if(e==null)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.indexOf(o)!==-1)continue;n[o]=e[o]}return n}function xt(e,t){return xt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},xt(e,t)}function Pt(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,xt(e,t)}function Ci(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var We={exports:{}},Ge={exports:{}},W={};/** @license React v16.13.1
|
|
122
|
+
`;function ii(){return o.jsx("style",{children:oi})}function nt(e,t){const n=e.replace("#",""),r=parseInt(n.slice(0,2),16),i=parseInt(n.slice(2,4),16),a=parseInt(n.slice(4,6),16);return`rgba(${r}, ${i}, ${a}, ${t})`}function rr(e){return{width:e,height:e,left:-e/2,top:-(e/2+e*Qn)}}function Kt(e){return{width:e,height:e,left:-e/2,top:-e/2}}function ai(e){let t=0;return`conic-gradient(${e.map(r=>{const i=t;return t+=r.fraction*100,`${r.ring} ${i.toFixed(2)}% ${t.toFixed(2)}%`}).join(", ")})`}function si({scale:e,fill:t}){return o.jsx("svg",{width:12*e,height:18*e,viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",children:o.jsx("polygon",{points:"58,0 18,56 44,56 38,100 84,40 52,40",fill:t})})}function li(e,t){const n=String(e.free).length+String(e.total).length;return n<=2?13*t:n===3?11*t:9.5*t}function ci({state:e,scale:t}){const{ring:n,text:r}=e.colours;switch(e.glyph){case"bolt":return o.jsx(si,{scale:t,fill:n});case"ratio":return o.jsxs("span",{style:{fontSize:li(e,t),color:r},children:[e.free,"/",e.total]});case"dash":return o.jsx("span",{style:{display:"block",width:16*t,height:2*t,borderRadius:2,background:r}});case"plus":return o.jsx("span",{style:{fontSize:14*t,color:r},children:"+"});case"alert":return o.jsx("span",{style:{fontSize:15*t,fontWeight:700,color:n},children:"!"})}}function or(e,t,n=!1){const r=e.colours.ring,i=e.tone==="offline"||e.tone==="unknown",a=e.tone==="planned";return{style:{borderWidth:n?2.5:3,borderStyle:a?"dashed":"solid",background:a?"#fcfcf9":i?"#f0f2f4":"#fff",boxShadow:a?"none":t?`0 6px 16px ${nr}, 0 0 0 4px ${nt(r,.18)}`:i?`0 2px 5px ${ri}`:`0 3px 8px ${yt}`},muted:i}}function ui({state:e,selected:t=!1,compact:n=!1,tag:r,onClick:i,label:a}){const s=n?Zo:t?er:tt,{style:c,muted:l}=or(e,t,n);return o.jsxs("button",{type:"button",className:"roadmap-pin",style:{...rr(s),color:e.colours.ring,opacity:l?.85:1},onClick:i,onTouchEndCapture:i,"aria-label":a,children:[o.jsx("span",{className:"roadmap-pin-body",style:c,children:!n&&o.jsx("span",{className:"roadmap-pin-glyph",children:o.jsx(ci,{state:e,scale:s/tt})})}),r&&!n&&o.jsx("span",{className:"roadmap-pin-tag",style:{left:s/2,top:s/2+s*Qn+Qo,opacity:r===tr?.5:1},children:r})]})}function di({state:e,count:t,selected:n=!1,onClick:r,label:i}){const a=n?er:tt,s=a/tt,c=e.colours.ring,{style:l}=or(e,n),u=(d,f,m)=>({left:-4*d,top:-4*d,width:a-2*d,height:a-2*d,background:nt(c,f),borderColor:nt(c,m)});return o.jsxs("button",{type:"button",className:"roadmap-pin",style:{...rr(a),color:c},onClick:r,onTouchEndCapture:r,"aria-label":i,children:[o.jsx("span",{className:"roadmap-pin-ghost",style:u(2,.05,.3)}),o.jsx("span",{className:"roadmap-pin-ghost",style:u(1,.08,.45)}),o.jsx("span",{className:"roadmap-pin-body",style:l,children:o.jsx("span",{className:"roadmap-pin-glyph",style:{fontSize:14*s,color:e.colours.text},children:Ot.format(t)})})]})}function fi({state:e,count:t,selected:n=!1,onClick:r,label:i,sitesLabel:a}){const s=n?Jo:qo,c=e.colours.ring,l=Ot.format(t),u=`0 0 0 ${n?8:6}px ${nt(c,.14)}`;return e.split.length>1?o.jsx("button",{type:"button",className:"roadmap-pin",style:Kt(s),onClick:r,onTouchEndCapture:r,"aria-label":i,children:o.jsx("span",{className:"roadmap-pin-ring",style:{background:ai(e.split),boxShadow:n?`0 4px 12px ${nr}, ${u}`:`0 3px 8px ${yt}`},children:o.jsx("span",{className:"roadmap-pin-ring-inner",children:o.jsx("span",{className:"roadmap-pin-count",style:{fontSize:14,color:Yt},children:l})})})}):o.jsx("button",{type:"button",className:"roadmap-pin",style:{...Kt(s),color:c},onClick:r,onTouchEndCapture:r,"aria-label":i,children:o.jsxs("span",{className:"roadmap-pin-circle",style:{boxShadow:`0 3px 8px ${yt}, ${u}`},children:[o.jsx("span",{className:"roadmap-pin-count",style:{fontSize:15,color:Yt},children:l}),o.jsx("span",{className:"roadmap-pin-label",style:{fontSize:a.length>6?7:8,color:ei},children:a})]})})}const pi=({data:e,map:t,kind:n,onClick:r,selected:i=!1,compact:a=!1,price:s,priceLabel:c,sitesLabel:l})=>{const u=Xn(e),d=h.useMemo(()=>Yo(e.statuses,n,u),[e,n,u]),f=h.useCallback(()=>r(e),[r,e]),m=u?`${Ot.format(e.count)} ${l}`:s?`${d.free}/${d.total}, ${c||s}`:`${d.free}/${d.total}`;let v;return u&&e.count>Xo?v=o.jsx(fi,{state:d,count:e.count,selected:i,onClick:f,label:m,sitesLabel:l}):u?v=o.jsx(di,{state:d,count:e.count,selected:i,onClick:f,label:m}):v=o.jsx(ui,{state:d,selected:i,compact:a,tag:s||tr,onClick:f,label:m}),o.jsx(Kn,{position:e.centroid,map:t,zIndex:i?99:u?1:0,children:v})};function mi(e,t){if(e.count!==t.count)return!1;const n=e.statuses||[],r=t.statuses||[];return n.length!==r.length?!1:n.every((i,a)=>i.name===r[a].name&&i.count===r[a].count)}function hi(e,t){return!e.energyPrice||!t.energyPrice?!e.energyPrice&&!t.energyPrice:e.energyPrice.amount===t.energyPrice.amount&&e.energyPrice.currency===t.energyPrice.currency}function gi(e,t){const n=new Map(e.map(r=>[r.key,r]));return t.map(r=>{const i=n.get(r.key);return i&&mi(i,r)&&hi(i,r)?i:r})}const vi=12,yi=[1,1,2,2,2,3,3,3,4,4,4,5,6,6,6,7,8,8,8,8,8,9,9,9,9,9];function lt(e){return yi[e]}function Zt(e,t){const n=e.getSouthWest().toJSON(),r=e.getNorthEast().toJSON(),i=ee.encode(n.lat,n.lng,t),a=ee.bounds(i),s=Math.abs(a.sw.lat-a.ne.lat),c=Math.abs(a.sw.lon-a.ne.lon);let l=a.sw.lat;for(;l<=r.lat;)l=l+s;let u=a.sw.lon;for(;u<=r.lng;)u=u+c;return{nwLat:l,nwLng:a.sw.lon,seLat:a.sw.lat,seLng:u}}function Ci(e,t){return e.nwLat===t.nwLat&&e.nwLng===t.nwLng&&e.seLat===t.seLat&&e.seLng===t.seLng}function xi({map:e,filters:t,fetchGeohashes:n,onMarkerClicked:r}){const{setIsSearching:i,setSearchBounds:a,mapKind:s,locationIds:c,options:l,language:u,t:d}=B(),[f,m]=h.useState([]),[v,C]=h.useState(e.getZoom()),[p,x]=h.useState({zoom:lt(e.getZoom()),normalizedBounds:Zt(e.getBounds(),lt(e.getZoom()))});h.useEffect(()=>{let g=p.zoom,S;e.addListener("idle",()=>{C(e.getZoom());const K=lt(e.getZoom()),G={...p,zoom:K},Y=Zt(e.getBounds(),g);S&&Ci(S,Y)||(S=Y,x({...G,normalizedBounds:Y}))})},[]);function M(g){m(gi(f,g))}h.useEffect(()=>{p.normalizedBounds&&a?.(p.normalizedBounds)},[p.normalizedBounds]),h.useEffect(()=>{if(!p.normalizedBounds)return;let g=!1;return i(!0),n({precision:p.zoom,bbox:p.normalizedBounds,...t}).then(({data:S})=>{g||(M(S),i(!1))}).catch(S=>{i(!1)}),()=>{g=!0,i(!1)}},[p,t,s]);const z=h.useCallback(g=>{const S=g.ids;S.length==100&&e.setZoom(e.getZoom()+2),e.panTo({lat:g.centroid.lat,lng:g.centroid.lon}),S.length!==100&&r(S)},[e,r]),j=re(l?.version,"v3"),O=g=>!!c?.length&&g.ids.some(S=>c.includes(S));return j?o.jsxs(o.Fragment,{children:[o.jsx(ii,{}),f.filter(Boolean).map(g=>{const S=qn(u,Ko(g));return o.jsx(pi,{map:e,data:g,kind:s,selected:O(g),compact:v<vi,price:S,priceLabel:S&&d("pin.pricePerKwh",{price:S}),sitesLabel:d("pin.sites"),onClick:z},g.key)})]}):o.jsx(o.Fragment,{children:f.filter(Boolean).map(g=>o.jsx(Do,{map:e,data:g,kind:s,onClick:z},g.key))})}function bi(){const{place:e,options:t,fetchGeohashes:n,setLocationsIds:r,language:i,filters:a,position:s}=B(),c=t.googleApiKey,[l,u]=h.useState(),d=h.useRef(null),f=Yn(c,i);return h.useEffect(()=>{l&&e?.geometry?.viewport&&l.fitBounds(e.geometry.viewport),l&&e?.geometry?.location&&l.setCenter(e.geometry.location)},[l,e]),h.useEffect(()=>{f.importLibrary("maps").then(({Map:m})=>{const v=new m(d.current,{mapId:"ced50d4165f3a695",center:s,zoom:12,zoomControl:!0,mapTypeControl:!1,scaleControl:!1,streetViewControl:!1,rotateControl:!1,fullscreenControl:!1,controlSize:32,clickableIcons:!1,gestureHandling:t.gestureHandling||"auto"});return v.addListener("idle",()=>{u(v)}),()=>{console.log("unmounting")}})},[c]),o.jsx("div",{className:Eo.container,ref:d,children:l&&l.getBounds()&&o.jsx(xi,{filters:a,onMarkerClicked:m=>{r([...m])},map:l,fetchGeohashes:n})})}const Pt=({color:e,size:t=10})=>o.jsx("span",{style:{display:"block",width:t,height:t,borderRadius:t,background:e}}),qt="(min-width: 768px)",Ei=380,Jt=20,Ti=48;function wi(){const[e,t]=h.useState(()=>window.matchMedia(qt).matches);return h.useEffect(()=>{const n=window.matchMedia(qt),r=i=>t(i.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}const Si={position:"absolute",top:Jt,left:Ei,right:Jt,zIndex:1,display:"flex",flexDirection:"column",alignItems:"flex-start",gap:6,fontFamily:"var(--roadmap-font-family, Inter), system-ui",fontSize:12,lineHeight:"16px",color:"var(--roadmap-text-color, #2a2a2a)",pointerEvents:"none",userSelect:"none",transition:"opacity 0.2s ease"},Ni={boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center",gap:8,height:Ti,padding:"0 12px",background:"var(--roadmap-background-color, #fff)",border:"1px solid var(--roadmap-border-color, #ddd)",borderRadius:10,whiteSpace:"nowrap",pointerEvents:"auto"},_i="#fff",ir="#3a3a3a",Ai=["1px 0 0","-1px 0 0","0 1px 0","0 -1px 0","1px 1px 0","-1px -1px 0","1px -1px 0","-1px 1px 0"].map(e=>`${e} ${_i}`).join(", "),Oi={display:"flex",alignItems:"center",gap:6,paddingLeft:12,fontSize:11,fontWeight:700,lineHeight:"13px",color:ir,textShadow:Ai,pointerEvents:"auto"},ar={padding:0,border:0,background:"none",font:"inherit",textShadow:"inherit",color:"#8a8a8a",cursor:"pointer",outline:"none"},Pi={...ar,color:ir,cursor:"default"},Ct={display:"inline-flex",alignItems:"center",gap:6,padding:"4px 6px",borderWidth:1,borderStyle:"solid",borderColor:"transparent",borderRadius:6,background:"none",font:"inherit",color:"inherit",lineHeight:"16px",outline:"none"},ji={...Ct,borderColor:"var(--roadmap-brand-color, #ff3d00)",color:"var(--roadmap-brand-color, #ff3d00)"},Di={cursor:"pointer"},Ii={fontSize:13,fontWeight:600};function Xt({buckets:e,format:t,kind:n,filterKind:r}){const{t:i,filters:a,setFilters:s,options:c}=B(),l=a?.status||[],u=d=>{const f=Ut(r,l,d);!f||!s||s({...a,status:f})};return o.jsx("div",{style:Ni,children:e.map(d=>{const f=!!r&&Ut(r,l,d.name)!==void 0,m=f&&Wn(r,l,d.name),v=o.jsxs(o.Fragment,{children:[o.jsx(Pt,{color:Se(d.name,n,c?.version),size:8}),o.jsx("span",{style:Ii,children:t.format(d.count)}),i(_t(d.name))]});return f?o.jsx("button",{type:"button","aria-pressed":m,style:{...m?ji:Ct,...Di},onClick:()=>u(d.name),children:v},d.name):o.jsx("span",{style:Ct,children:v},d.name)})})}function ki(){const{t:e,language:t,options:n,filters:r,filterConfiguration:i,searchBounds:a,fetchAnalytics:s,mapKind:c}=B(),[l,u]=h.useState(),[d,f]=h.useState(!1),[m,v]=h.useState("ocpp"),C=wi(),p=re(n?.version,"v2")&&!!i?.showAnalytics,x=JSON.stringify(vo(r)),M=h.useMemo(()=>JSON.parse(x),[x]);h.useEffect(()=>{if(!p||!a||!s)return;let G=!1;return f(!0),s({bbox:a,...M}).then(Y=>{G||u(Y?.data)}).catch(()=>{G||u(void 0)}).finally(()=>{G||f(!1)}),()=>{G=!0}},[p,a,M,c]);const z=h.useMemo(()=>new Intl.NumberFormat(t),[t]);if(!p||!C||!l)return null;const j=c==="cpo",O=l.evses.byStatus||[],g=j?l.connectors.byOcppStatus||[]:[],S=[];if(g.length>0&&S.push("ocpp"),O.length>0&&S.push("roaming"),S.length===0)return null;const K=S.includes(m)?m:S[0];return o.jsxs("div",{style:{...Si,opacity:d?.6:1},children:[K==="ocpp"?o.jsx(Xt,{buckets:g,format:z,kind:"cpo",filterKind:"cpo"}):o.jsx(Xt,{buckets:O,format:z,kind:"roaming",filterKind:j?void 0:"roaming"}),S.length>1&&o.jsx("div",{style:Oi,role:"group",children:S.map((G,Y)=>o.jsxs(h.Fragment,{children:[Y>0&&o.jsx("span",{"aria-hidden":"true",children:"|"}),o.jsx("button",{type:"button","aria-pressed":G===K,style:G===K?Pi:ar,onClick:()=>v(G),children:e(G==="ocpp"?"analytics.evseStatus":"analytics.roamingStatus")})]},G))})]})}function rt(){return rt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},rt.apply(null,arguments)}function sr(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function xt(e,t){return xt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},xt(e,t)}function jt(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,xt(e,t)}function Mi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var We={exports:{}},Ge={exports:{}},U={};/** @license React v16.13.1
|
|
108
123
|
* react-is.production.min.js
|
|
109
124
|
*
|
|
110
125
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
111
126
|
*
|
|
112
127
|
* This source code is licensed under the MIT license found in the
|
|
113
128
|
* LICENSE file in the root directory of this source tree.
|
|
114
|
-
*/var
|
|
129
|
+
*/var Qt;function Ri(){if(Qt)return U;Qt=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,i=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,s=e?Symbol.for("react.provider"):60109,c=e?Symbol.for("react.context"):60110,l=e?Symbol.for("react.async_mode"):60111,u=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,f=e?Symbol.for("react.suspense"):60113,m=e?Symbol.for("react.suspense_list"):60120,v=e?Symbol.for("react.memo"):60115,C=e?Symbol.for("react.lazy"):60116,p=e?Symbol.for("react.block"):60121,x=e?Symbol.for("react.fundamental"):60117,M=e?Symbol.for("react.responder"):60118,z=e?Symbol.for("react.scope"):60119;function j(g){if(typeof g=="object"&&g!==null){var S=g.$$typeof;switch(S){case t:switch(g=g.type,g){case l:case u:case r:case a:case i:case f:return g;default:switch(g=g&&g.$$typeof,g){case c:case d:case C:case v:case s:return g;default:return S}}case n:return S}}}function O(g){return j(g)===u}return U.AsyncMode=l,U.ConcurrentMode=u,U.ContextConsumer=c,U.ContextProvider=s,U.Element=t,U.ForwardRef=d,U.Fragment=r,U.Lazy=C,U.Memo=v,U.Portal=n,U.Profiler=a,U.StrictMode=i,U.Suspense=f,U.isAsyncMode=function(g){return O(g)||j(g)===l},U.isConcurrentMode=O,U.isContextConsumer=function(g){return j(g)===c},U.isContextProvider=function(g){return j(g)===s},U.isElement=function(g){return typeof g=="object"&&g!==null&&g.$$typeof===t},U.isForwardRef=function(g){return j(g)===d},U.isFragment=function(g){return j(g)===r},U.isLazy=function(g){return j(g)===C},U.isMemo=function(g){return j(g)===v},U.isPortal=function(g){return j(g)===n},U.isProfiler=function(g){return j(g)===a},U.isStrictMode=function(g){return j(g)===i},U.isSuspense=function(g){return j(g)===f},U.isValidElementType=function(g){return typeof g=="string"||typeof g=="function"||g===r||g===u||g===a||g===i||g===f||g===m||typeof g=="object"&&g!==null&&(g.$$typeof===C||g.$$typeof===v||g.$$typeof===s||g.$$typeof===c||g.$$typeof===d||g.$$typeof===x||g.$$typeof===M||g.$$typeof===z||g.$$typeof===p)},U.typeOf=j,U}var W={};/** @license React v16.13.1
|
|
115
130
|
* react-is.development.js
|
|
116
131
|
*
|
|
117
132
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
118
133
|
*
|
|
119
134
|
* This source code is licensed under the MIT license found in the
|
|
120
135
|
* LICENSE file in the root directory of this source tree.
|
|
121
|
-
*/var
|
|
136
|
+
*/var en;function Li(){return en||(en=1,process.env.NODE_ENV!=="production"&&(function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,i=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,s=e?Symbol.for("react.provider"):60109,c=e?Symbol.for("react.context"):60110,l=e?Symbol.for("react.async_mode"):60111,u=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,f=e?Symbol.for("react.suspense"):60113,m=e?Symbol.for("react.suspense_list"):60120,v=e?Symbol.for("react.memo"):60115,C=e?Symbol.for("react.lazy"):60116,p=e?Symbol.for("react.block"):60121,x=e?Symbol.for("react.fundamental"):60117,M=e?Symbol.for("react.responder"):60118,z=e?Symbol.for("react.scope"):60119;function j(b){return typeof b=="string"||typeof b=="function"||b===r||b===u||b===a||b===i||b===f||b===m||typeof b=="object"&&b!==null&&(b.$$typeof===C||b.$$typeof===v||b.$$typeof===s||b.$$typeof===c||b.$$typeof===d||b.$$typeof===x||b.$$typeof===M||b.$$typeof===z||b.$$typeof===p)}function O(b){if(typeof b=="object"&&b!==null){var pe=b.$$typeof;switch(pe){case t:var Ue=b.type;switch(Ue){case l:case u:case r:case a:case i:case f:return Ue;default:var Vt=Ue&&Ue.$$typeof;switch(Vt){case c:case d:case C:case v:case s:return Vt;default:return pe}}case n:return pe}}}var g=l,S=u,K=c,G=s,Y=t,X=d,te=r,de=C,ae=v,w=n,H=a,Z=i,oe=f,fe=!1;function Ne(b){return fe||(fe=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),y(b)||O(b)===l}function y(b){return O(b)===u}function E(b){return O(b)===c}function L(b){return O(b)===s}function F(b){return typeof b=="object"&&b!==null&&b.$$typeof===t}function D(b){return O(b)===d}function V(b){return O(b)===r}function R(b){return O(b)===C}function $(b){return O(b)===v}function T(b){return O(b)===n}function k(b){return O(b)===a}function I(b){return O(b)===i}function ne(b){return O(b)===f}W.AsyncMode=g,W.ConcurrentMode=S,W.ContextConsumer=K,W.ContextProvider=G,W.Element=Y,W.ForwardRef=X,W.Fragment=te,W.Lazy=de,W.Memo=ae,W.Portal=w,W.Profiler=H,W.StrictMode=Z,W.Suspense=oe,W.isAsyncMode=Ne,W.isConcurrentMode=y,W.isContextConsumer=E,W.isContextProvider=L,W.isElement=F,W.isForwardRef=D,W.isFragment=V,W.isLazy=R,W.isMemo=$,W.isPortal=T,W.isProfiler=k,W.isStrictMode=I,W.isSuspense=ne,W.isValidElementType=j,W.typeOf=O})()),W}var tn;function lr(){return tn||(tn=1,process.env.NODE_ENV==="production"?Ge.exports=Ri():Ge.exports=Li()),Ge.exports}/*
|
|
122
137
|
object-assign
|
|
123
138
|
(c) Sindre Sorhus
|
|
124
139
|
@license MIT
|
|
125
|
-
*/var ct,
|
|
126
|
-
Valid keys: `+JSON.stringify(Object.keys(g),null," "));var b=oe(x,V,I,$,L+"."+V,n);if(b)return b}return null}return A(E)}function S(g){switch(typeof g){case"number":case"string":case"undefined":return!0;case"boolean":return!g;case"object":if(Array.isArray(g))return g.every(S);if(g===null||l(g))return!0;var E=d(g);if(E){var H=E.call(g),R;if(E!==g.entries){for(;!(R=H.next()).done;)if(!S(R.value))return!1}else for(;!(R=H.next()).done;){var I=R.value;if(I&&!S(I[1]))return!1}}else return!1;return!0;default:return!1}}function F(g,E){return g==="symbol"?!0:E?E["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&E instanceof Symbol:!1}function Z(g){var E=typeof g;return Array.isArray(g)?"array":g instanceof RegExp?"object":F(E,g)?"symbol":E}function ne(g){if(typeof g>"u"||g===null)return""+g;var E=Z(g);if(E==="object"){if(g instanceof Date)return"date";if(g instanceof RegExp)return"regexp"}return E}function me(g){var E=ne(g);switch(E){case"array":case"object":return"an "+E;case"boolean":case"date":case"regexp":return"a "+E;default:return E}}function _e(g){return!g.constructor||!g.constructor.name?p:g.constructor.name}return v.checkPropTypes=i,v.resetWarningCache=i.resetWarningCache,v.PropTypes=v,v},pt}var ht,sn;function wi(){if(sn)return ht;sn=1;var e=Dt();function t(){}function n(){}return n.resetWarningCache=t,ht=function(){function o(s,l,c,u,f,d){if(d!==e){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}o.isRequired=o;function i(){return o}var a={array:o,bigint:o,bool:o,func:o,number:o,object:o,string:o,symbol:o,any:o,arrayOf:i,element:o,elementType:o,instanceOf:i,node:o,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:n,resetWarningCache:t};return a.PropTypes=a,a},ht}var ln;function _i(){if(ln)return We.exports;if(ln=1,process.env.NODE_ENV!=="production"){var e=er(),t=!0;We.exports=Si()(e.isElement,t)}else We.exports=wi()();return We.exports}var Ni=_i();const O=Ci(Ni);function Ai(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function Oi(e,t){e.classList?e.classList.add(t):Ai(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function cn(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function ji(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=cn(e.className,t):e.setAttribute("class",cn(e.className&&e.className.baseVal||"",t))}const un={disabled:!1};var Pi=process.env.NODE_ENV!=="production"?O.oneOfType([O.number,O.shape({enter:O.number,exit:O.number,appear:O.number}).isRequired]):null,Di=process.env.NODE_ENV!=="production"?O.oneOfType([O.string,O.shape({enter:O.string,exit:O.string,active:O.string}),O.shape({enter:O.string,enterDone:O.string,enterActive:O.string,exit:O.string,exitDone:O.string,exitActive:O.string})]):null;const It=h.createContext(null);var nr=function(t){return t.scrollTop},Fe="unmounted",Te="exited",ce="entering",pe="entered",ze="exiting",he=(function(e){Pt(t,e);function t(o,i){var a;a=e.call(this,o,i)||this;var s=i,l=s&&!s.isMounting?o.enter:o.appear,c;return a.appearStatus=null,o.in?l?(c=Te,a.appearStatus=ce):c=pe:o.unmountOnExit||o.mountOnEnter?c=Fe:c=Te,a.state={status:c},a.nextCallback=null,a}t.getDerivedStateFromProps=function(i,a){var s=i.in;return s&&a.status===Fe?{status:Te}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(i){var a=null;if(i!==this.props){var s=this.state.status;this.props.in?s!==ce&&s!==pe&&(a=ce):(s===ce||s===pe)&&(a=ze)}this.updateStatus(!1,a)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var i=this.props.timeout,a,s,l;return a=s=l=i,i!=null&&typeof i!="number"&&(a=i.exit,s=i.enter,l=i.appear!==void 0?i.appear:s),{exit:a,enter:s,appear:l}},n.updateStatus=function(i,a){if(i===void 0&&(i=!1),a!==null)if(this.cancelNextCallback(),a===ce){if(this.props.unmountOnExit||this.props.mountOnEnter){var s=this.props.nodeRef?this.props.nodeRef.current:Le.findDOMNode(this);s&&nr(s)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Te&&this.setState({status:Fe})},n.performEnter=function(i){var a=this,s=this.props.enter,l=this.context?this.context.isMounting:i,c=this.props.nodeRef?[l]:[Le.findDOMNode(this),l],u=c[0],f=c[1],d=this.getTimeouts(),p=l?d.appear:d.enter;if(!i&&!s||un.disabled){this.safeSetState({status:pe},function(){a.props.onEntered(u)});return}this.props.onEnter(u,f),this.safeSetState({status:ce},function(){a.props.onEntering(u,f),a.onTransitionEnd(p,function(){a.safeSetState({status:pe},function(){a.props.onEntered(u,f)})})})},n.performExit=function(){var i=this,a=this.props.exit,s=this.getTimeouts(),l=this.props.nodeRef?void 0:Le.findDOMNode(this);if(!a||un.disabled){this.safeSetState({status:Te},function(){i.props.onExited(l)});return}this.props.onExit(l),this.safeSetState({status:ze},function(){i.props.onExiting(l),i.onTransitionEnd(s.exit,function(){i.safeSetState({status:Te},function(){i.props.onExited(l)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(i,a){a=this.setNextCallback(a),this.setState(i,a)},n.setNextCallback=function(i){var a=this,s=!0;return this.nextCallback=function(l){s&&(s=!1,a.nextCallback=null,i(l))},this.nextCallback.cancel=function(){s=!1},this.nextCallback},n.onTransitionEnd=function(i,a){this.setNextCallback(a);var s=this.props.nodeRef?this.props.nodeRef.current:Le.findDOMNode(this),l=i==null&&!this.props.addEndListener;if(!s||l){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var c=this.props.nodeRef?[this.nextCallback]:[s,this.nextCallback],u=c[0],f=c[1];this.props.addEndListener(u,f)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===Fe)return null;var a=this.props,s=a.children;a.in,a.mountOnEnter,a.unmountOnExit,a.appear,a.enter,a.exit,a.timeout,a.addEndListener,a.onEnter,a.onEntering,a.onEntered,a.onExit,a.onExiting,a.onExited,a.nodeRef;var l=Qn(a,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return h.createElement(It.Provider,{value:null},typeof s=="function"?s(i,l):h.cloneElement(h.Children.only(s),l))},t})(h.Component);he.contextType=It;he.propTypes=process.env.NODE_ENV!=="production"?{nodeRef:O.shape({current:typeof Element>"u"?O.any:function(e,t,n,o,i,a){var s=e[t];return O.instanceOf(s&&"ownerDocument"in s?s.ownerDocument.defaultView.Element:Element)(e,t,n,o,i,a)}}),children:O.oneOfType([O.func.isRequired,O.element.isRequired]).isRequired,in:O.bool,mountOnEnter:O.bool,unmountOnExit:O.bool,appear:O.bool,enter:O.bool,exit:O.bool,timeout:function(t){var n=Pi;t.addEndListener||(n=n.isRequired);for(var o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];return n.apply(void 0,[t].concat(i))},addEndListener:O.func,onEnter:O.func,onEntering:O.func,onEntered:O.func,onExit:O.func,onExiting:O.func,onExited:O.func}:{};function Ne(){}he.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Ne,onEntering:Ne,onEntered:Ne,onExit:Ne,onExiting:Ne,onExited:Ne};he.UNMOUNTED=Fe;he.EXITED=Te;he.ENTERING=ce;he.ENTERED=pe;he.EXITING=ze;var Ii=function(t,n){return t&&n&&n.split(" ").forEach(function(o){return Oi(t,o)})},mt=function(t,n){return t&&n&&n.split(" ").forEach(function(o){return ji(t,o)})},kt=(function(e){Pt(t,e);function t(){for(var o,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return o=e.call.apply(e,[this].concat(a))||this,o.appliedClasses={appear:{},enter:{},exit:{}},o.onEnter=function(l,c){var u=o.resolveArguments(l,c),f=u[0],d=u[1];o.removeClasses(f,"exit"),o.addClass(f,d?"appear":"enter","base"),o.props.onEnter&&o.props.onEnter(l,c)},o.onEntering=function(l,c){var u=o.resolveArguments(l,c),f=u[0],d=u[1],p=d?"appear":"enter";o.addClass(f,p,"active"),o.props.onEntering&&o.props.onEntering(l,c)},o.onEntered=function(l,c){var u=o.resolveArguments(l,c),f=u[0],d=u[1],p=d?"appear":"enter";o.removeClasses(f,p),o.addClass(f,p,"done"),o.props.onEntered&&o.props.onEntered(l,c)},o.onExit=function(l){var c=o.resolveArguments(l),u=c[0];o.removeClasses(u,"appear"),o.removeClasses(u,"enter"),o.addClass(u,"exit","base"),o.props.onExit&&o.props.onExit(l)},o.onExiting=function(l){var c=o.resolveArguments(l),u=c[0];o.addClass(u,"exit","active"),o.props.onExiting&&o.props.onExiting(l)},o.onExited=function(l){var c=o.resolveArguments(l),u=c[0];o.removeClasses(u,"exit"),o.addClass(u,"exit","done"),o.props.onExited&&o.props.onExited(l)},o.resolveArguments=function(l,c){return o.props.nodeRef?[o.props.nodeRef.current,l]:[l,c]},o.getClassNames=function(l){var c=o.props.classNames,u=typeof c=="string",f=u&&c?c+"-":"",d=u?""+f+l:c[l],p=u?d+"-active":c[l+"Active"],v=u?d+"-done":c[l+"Done"];return{baseClassName:d,activeClassName:p,doneClassName:v}},o}var n=t.prototype;return n.addClass=function(i,a,s){var l=this.getClassNames(a)[s+"ClassName"],c=this.getClassNames("enter"),u=c.doneClassName;a==="appear"&&s==="done"&&u&&(l+=" "+u),s==="active"&&i&&nr(i),l&&(this.appliedClasses[a][s]=l,Ii(i,l))},n.removeClasses=function(i,a){var s=this.appliedClasses[a],l=s.base,c=s.active,u=s.done;this.appliedClasses[a]={},l&&mt(i,l),c&&mt(i,c),u&&mt(i,u)},n.render=function(){var i=this.props;i.classNames;var a=Qn(i,["classNames"]);return h.createElement(he,rt({},a,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t})(h.Component);kt.defaultProps={classNames:""};kt.propTypes=process.env.NODE_ENV!=="production"?rt({},he.propTypes,{classNames:Di,onEnter:O.func,onEntering:O.func,onEntered:O.func,onExit:O.func,onExiting:O.func,onExited:O.func}):{};var Ye,Ke;function ki(e,t){return!(e===t||h.isValidElement(e)&&h.isValidElement(t)&&e.key!=null&&e.key===t.key)}var Ce={out:"out-in",in:"in-out"},ot=function(t,n,o){return function(){var i;t.props[n]&&(i=t.props)[n].apply(i,arguments),o()}},Mi=(Ye={},Ye[Ce.out]=function(e){var t=e.current,n=e.changeState;return h.cloneElement(t,{in:!1,onExited:ot(t,"onExited",function(){n(ce,null)})})},Ye[Ce.in]=function(e){var t=e.current,n=e.changeState,o=e.children;return[t,h.cloneElement(o,{in:!0,onEntered:ot(o,"onEntered",function(){n(ce)})})]},Ye),Ri=(Ke={},Ke[Ce.out]=function(e){var t=e.children,n=e.changeState;return h.cloneElement(t,{in:!0,onEntered:ot(t,"onEntered",function(){n(pe,h.cloneElement(t,{in:!0}))})})},Ke[Ce.in]=function(e){var t=e.current,n=e.children,o=e.changeState;return[h.cloneElement(t,{in:!1,onExited:ot(t,"onExited",function(){o(pe,h.cloneElement(n,{in:!0}))})}),h.cloneElement(n,{in:!0})]},Ke),Mt=(function(e){Pt(t,e);function t(){for(var o,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return o=e.call.apply(e,[this].concat(a))||this,o.state={status:pe,current:null},o.appeared=!1,o.changeState=function(l,c){c===void 0&&(c=o.state.current),o.setState({status:l,current:c})},o}var n=t.prototype;return n.componentDidMount=function(){this.appeared=!0},t.getDerivedStateFromProps=function(i,a){return i.children==null?{current:null}:a.status===ce&&i.mode===Ce.in?{status:ce}:a.current&&ki(a.current,i.children)?{status:ze}:{current:h.cloneElement(i.children,{in:!0})}},n.render=function(){var i=this.props,a=i.children,s=i.mode,l=this.state,c=l.status,u=l.current,f={children:a,current:u,changeState:this.changeState,status:c},d;switch(c){case ce:d=Ri[s](f);break;case ze:d=Mi[s](f);break;case pe:d=u}return h.createElement(It.Provider,{value:{isMounting:!this.appeared}},d)},t})(h.Component);Mt.propTypes=process.env.NODE_ENV!=="production"?{mode:O.oneOf([Ce.in,Ce.out]),children:O.oneOfType([O.element.isRequired])}:{};Mt.defaultProps={mode:Ce.out};const Li="stack-module_stack",Fi="stack-module_slideEnter",Hi="stack-module_slideEnterActive",Vi="stack-module_slideExit",$i="stack-module_slideExitActive",ye={stack:Li,slideEnter:Fi,slideEnterActive:Hi,slideExit:Vi,slideExitActive:$i};function zi({name:e,children:t}){return r.jsx("div",{className:ye.stack,children:t})}const rr=h.createContext({setView:()=>{},current:{name:"none"}});function ke(){return h.useContext(rr)}function ge({name:e,currentView:t,onViewChange:n,children:o}){const i={none:{name:"none",ref:h.createRef(),view:null}};h.Children.forEach(o,d=>{if(!h.isValidElement(d))return;const{name:p}=d.props;if(!p)throw new Error("name is required for Stack.View");i[p]={name:p,ref:h.createRef(),view:d}});const[a,s]=h.useState(i[t].ref);h.useEffect(()=>{s(i[t].ref)},[t]);const{view:l}=i[t],[c,u]=h.useState({}),f=h.useMemo(()=>({current:{name:t,args:c},setView:(d,p)=>{u(p),n(d,p)}}),[t,n,c,u]);return r.jsx(rr.Provider,{value:f,children:r.jsx(Mt,{mode:"out-in",children:r.jsx(kt,{classNames:{enter:ye.slideEnter,enterActive:ye.slideEnterActive,enterDone:ye.slideEnterDone,exit:ye.slideExit,exitActive:ye.slideExitActive,exitDone:ye.slideExitDone},mountOnEnter:!0,unmountOnExit:!0,timeout:300,nodeRef:a,addEndListener:d=>{a.current.addEventListener("transitionend",d,!1)},children:r.jsx("div",{className:ye.stack,ref:a,children:l})},t)})})}ge.View=zi;const Bi="router-module_container",Ui="router-module_controlsContainer",Wi="router-module_filterButton",Gi="router-module_filterCounter",Yi="router-module_spinner",Ki="router-module_stackContainer",be={container:Bi,controlsContainer:Ui,filterButton:Wi,filterCounter:Gi,spinner:Yi,stackContainer:Ki},Zi="SearchInput-module_container",qi="SearchInput-module_searchInput",dn={container:Zi,searchInput:qi};function Ji({onFocus:e}){const{options:t,setPlace:n,t:o,language:i}=U(),a=t.googleApiKey,s=h.useRef(null),l=Un(a,i);return h.useEffect(()=>{s.current&&l.importLibrary("places").then(c=>{const u=new c.Autocomplete(s.current,{fields:["geometry"]});u.addListener("place_changed",()=>{const f=u.getPlace();n(f)})})},[s]),r.jsx("div",{className:dn.container,children:r.jsx("input",{onFocus:e,ref:s,className:dn.searchInput,type:"text",placeholder:o("search.placeholder")})})}const Xi="filters-module_headerContainer",Qi="filters-module_container",ea="filters-module_header",ta="filters-module_heading",na="filters-module_actionLinkClearAll",ra="filters-module_optionsGroup",oa="filters-module_rowLabel",ia="filters-module_label",aa="filters-module_dot",sa="filters-module_connectorIcon",w={headerContainer:Xi,container:Qi,header:ea,heading:ta,actionLinkClearAll:na,optionsGroup:ra,rowLabel:oa,label:ia,dot:aa,connectorIcon:sa},la="Checkbox-module_container",ca="Checkbox-module_box",fn={container:la,box:ca};function se({id:e,name:t,checked:n,onChange:o,type:i="checkbox"}){const[a,s]=h.useState(n||!1),l=h.useCallback(c=>{s(c.target.checked),o(c.target.checked)},[o]);return h.useEffect(()=>{s(n)},[n]),r.jsxs("div",{className:fn.container,children:[r.jsx("input",{name:t,id:e,type:i,value:a,checked:a,onChange:l}),r.jsx("span",{className:fn.box,children:r.jsx("svg",{className:"checkmark",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"20 6 9 17 4 12"})})})]})}const ua="Range-module_container",da="Range-module_input",fa="Range-module_ticksContainer",pa="Range-module_tick",Ze={container:ua,input:da,ticksContainer:fa,tick:pa};function ha({ticks:e,value:t,onChange:n}){const o=h.useRef(null),i=e.findIndex(s=>s.value===t),a=i/(e.length-1)*100;return r.jsxs("div",{className:Ze.container,children:[r.jsx("input",{value:i,onChange:s=>{n(e[s.target.value].value)},ref:o,className:Ze.input,type:"range",list:"tickmarks",step:"1",min:"0",max:"8",style:{"--roadmap-range-bgize":`${a}%`}}),r.jsx("div",{className:Ze.ticksContainer,children:e.map((s,l)=>r.jsx("div",{onClick:c=>{n(e[l].value)},className:Ze.tick,children:s.label},s.label))})]})}const ma="MultiSelect-module_multiSelect",ga="MultiSelect-module_control",va="MultiSelect-module_disabled",ya="MultiSelect-module_valueContainer",Ca="MultiSelect-module_input",xa="MultiSelect-module_multiValue",ba="MultiSelect-module_multiValueLabel",Ta="MultiSelect-module_multiValueRemove",Ea="MultiSelect-module_dropdownIndicator",Sa="MultiSelect-module_menu",wa="MultiSelect-module_menuOpen",_a="MultiSelect-module_menuList",Na="MultiSelect-module_groupHeading",Aa="MultiSelect-module_groupSeparator",Oa="MultiSelect-module_option",ja="MultiSelect-module_optionLast",Pa="MultiSelect-module_optionSelected",Da="MultiSelect-module_optionFocused",Ia="MultiSelect-module_optionCheck",ka="MultiSelect-module_optionDisabled",Ma="MultiSelect-module_optionLabel",Ra="MultiSelect-module_noOptions",q={multiSelect:ma,control:ga,disabled:va,valueContainer:ya,input:Ca,multiValue:xa,multiValueLabel:ba,multiValueRemove:Ta,dropdownIndicator:Ea,menu:Sa,menuOpen:wa,menuList:_a,groupHeading:Na,groupSeparator:Aa,option:Oa,optionLast:ja,optionSelected:Pa,optionFocused:Da,optionCheck:Ia,optionDisabled:ka,optionLabel:Ma,noOptions:Ra},pn=({id:e,name:t,options:n,value:o=[],preferredValues:i=[],placeholder:a="Select...",disabled:s=!1,className:l,onChange:c})=>{const[u,f]=h.useState(!1),[d,p]=h.useState(""),[v,y]=h.useState(-1),T=h.useRef(null),A=h.useRef(null),M=h.useMemo(()=>new Set(i),[i]),{preferred:z,others:P}=h.useMemo(()=>{const S=d.toLowerCase(),F=n.filter(Z=>Z.label.toLowerCase().includes(S));return{preferred:F.filter(Z=>M.has(Z.value)),others:F.filter(Z=>!M.has(Z.value))}},[n,d,M]),C=h.useMemo(()=>[...z,...P],[z,P]),m=h.useMemo(()=>n.filter(S=>o.includes(S.value)),[n,o]);h.useEffect(()=>{v>=C.length&&y(C.length>0?0:-1)},[C,v]);const j=()=>{s||(f(!0),v<0&&C.length>0&&y(0))},Y=()=>{f(!1),p(""),y(-1)},B=S=>{if(S.disabled)return;const F=o.includes(S.value)?o.filter(Z=>Z!==S.value):[...o,S.value];c?.(F),p(""),f(!0),T.current?.focus()},K=S=>{c?.(o.filter(F=>F!==S))},X=S=>{if(!s)switch(S.key){case"Backspace":d===""&&o.length>0&&(S.preventDefault(),c?.(o.slice(0,-1)));return;case"ArrowDown":S.preventDefault(),u?C.length>0&&y(F=>(F+1)%C.length):(f(!0),C.length>0&&y(0));return;case"ArrowUp":S.preventDefault(),u?C.length>0&&y(F=>(F<=0?C.length:F)-1):(f(!0),C.length>0&&y(C.length-1));return;case"Enter":u&&v>=0&&C[v]&&(S.preventDefault(),B(C[v]));return;case"Escape":u&&(S.preventDefault(),Y());return;case"Home":u&&C.length>0&&(S.preventDefault(),y(0));return;case"End":u&&C.length>0&&(S.preventDefault(),y(C.length-1));return;default:return}},te=S=>{const F=S.relatedTarget;F&&A.current?.contains(F)||Y()},de=()=>{s||(u?f(!1):j(),T.current?.focus())},ae=(S,F,Z)=>{const ne=o.includes(S.value);return r.jsxs("div",{className:`${q.option} ${v===F?q.optionFocused:""} ${ne?q.optionSelected:""} ${S.disabled?q.optionDisabled:""} ${Z?q.optionLast:""}`,role:"option","aria-selected":ne,"aria-disabled":S.disabled||void 0,onMouseDown:me=>me.preventDefault(),onMouseMove:()=>{v!==F&&y(F)},onClick:()=>B(S),children:[r.jsx("span",{className:q.optionLabel,children:S.label}),ne&&r.jsx("svg",{className:q.optionCheck,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"20 6 9 17 4 12"})})]},S.value)};return r.jsxs("div",{ref:A,className:`${q.multiSelect} ${l??""}`,children:[r.jsxs("div",{className:`${q.control} ${s?q.disabled:""}`,children:[r.jsxs("div",{className:q.valueContainer,onMouseDown:S=>{S.target===S.currentTarget&&(S.preventDefault(),T.current?.focus(),j())},children:[m.map(S=>r.jsxs("div",{className:q.multiValue,children:[r.jsx("span",{className:q.multiValueLabel,children:S.label}),r.jsx("button",{type:"button",className:q.multiValueRemove,onMouseDown:F=>F.preventDefault(),onClick:()=>K(S.value),disabled:s,"aria-label":`Remove ${S.label}`,children:"×"})]},S.value)),r.jsx("input",{ref:T,id:e,name:t,className:q.input,value:d,onChange:S=>{p(S.target.value),f(!0),y(0)},onKeyDown:X,onFocus:j,onBlur:te,placeholder:m.length===0?a:"",disabled:s,autoComplete:"off",role:"combobox","aria-expanded":u,"aria-autocomplete":"list"})]}),r.jsx("button",{type:"button",className:q.dropdownIndicator,onMouseDown:S=>S.preventDefault(),onClick:de,disabled:s,"aria-label":"Toggle menu",tabIndex:-1,children:r.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"6,9 12,15 18,9"})})})]}),u&&r.jsx("div",{className:`${q.menu} ${q.menuOpen}`,role:"listbox",children:r.jsxs("div",{className:q.menuList,children:[z.length>0&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:q.groupHeading,children:"Preferred"}),z.map((S,F)=>ae(S,F,F===z.length-1&&P.length===0))]}),P.length>0&&r.jsxs(r.Fragment,{children:[z.length>0&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:q.groupSeparator}),r.jsx("div",{className:q.groupHeading,children:"All"})]}),P.map((S,F)=>ae(S,z.length+F,F===P.length-1))]}),z.length===0&&P.length===0&&r.jsx("div",{className:q.noOptions,children:"No options found"})]})})]})},La="SelectField-module_selectField",Fa="SelectField-module_select",hn={selectField:La,select:Fa},mn=({id:e,name:t,value:n,options:o=[],placeholder:i="Select an option",disabled:a=!1,className:s="",onChange:l,onBlur:c,onFocus:u})=>{const f=d=>{const p=d.target.value,v=o.find(y=>y.value.toString()===p);v&&l&&l(v.value)};return r.jsx("div",{className:`${hn.selectField} ${s}`,children:r.jsxs("select",{id:e,name:t,value:n||"",disabled:a,onChange:f,onBlur:c,onFocus:u,className:hn.select,children:[i&&r.jsx("option",{value:"",disabled:!0,children:i}),o.map((d,p)=>r.jsx("option",{value:d.value,disabled:d.disabled,children:d.label},`${p}`))]})})},gn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M353.286,163.919c16.464,0,29.815,13.351,29.815,29.822%20c0,16.467-13.351,29.819-29.815,29.819c-16.47,0-29.822-13.352-29.822-29.819C323.464,177.27,336.816,163.919,353.286,163.919%20L353.286,163.919z%20M245.838,163.919c16.47,0,29.822,13.351,29.822,29.822c0,16.467-13.352,29.819-29.822,29.819%20c-16.471,0-29.822-13.352-29.822-29.819C216.016,177.27,229.367,163.919,245.838,163.919L245.838,163.919z%20M354.093,338.178%20c22.575,0,40.874,18.299,40.874,40.87c0,22.571-18.299,40.87-40.874,40.87c-22.568,0-40.867-18.299-40.867-40.87%20C313.226,356.477,331.525,338.178,354.093,338.178L354.093,338.178z%20M245.024,338.178c22.575,0,40.874,18.299,40.874,40.87%20c0,22.571-18.299,40.87-40.874,40.87c-22.568,0-40.874-18.299-40.874-40.87C204.151,356.477,222.457,338.178,245.024,338.178%20L245.024,338.178z%20M406.906,244.769c22.575,0,40.874,18.299,40.874,40.87s-18.299,40.87-40.874,40.87%20c-22.568,0-40.867-18.299-40.867-40.87S384.338,244.769,406.906,244.769L406.906,244.769z%20M192.211,244.769%20c22.568,0,40.874,18.299,40.874,40.87s-18.306,40.87-40.874,40.87c-22.575,0-40.874-18.299-40.874-40.87%20S169.636,244.769,192.211,244.769L192.211,244.769z%20M299.559,244.769c22.575,0,40.874,18.299,40.874,40.87%20s-18.299,40.87-40.874,40.87c-22.569,0-40.868-18.299-40.868-40.87S276.99,244.769,299.559,244.769L299.559,244.769z%20M452.99,131.334H146.127c-32.625,37.291-50.332,84.551-50.332,134.107c0,112.541,91.226,203.765,203.764,203.765%20c112.544,0,203.764-91.223,203.764-203.765C503.323,215.889,485.608,168.622,452.99,131.334L452.99,131.334z%20M471.276,105.109%20l-4.672-4.998h-334.09l-4.672,4.998c-40.739,43.6-63.267,100.662-63.267,160.332c0,129.775,105.21,234.988,234.984,234.988%20c129.774,0,234.984-105.213,234.984-234.988C534.542,205.771,512.015,148.709,471.276,105.109L471.276,105.109z%20M480.204,60.027%20H118.914C61.952,110.158,26,183.596,26,265.441C26,416.523,148.48,539,299.559,539c151.085,0,273.558-122.477,273.558-273.559%20C573.117,183.596,537.165,110.158,480.204,60.027z'/%3e%3c/svg%3e",vn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M228.887,396.793c20.779,0,37.62,16.841,37.62,37.617%20c0,20.773-16.841,37.617-37.62,37.617c-20.773,0-37.613-16.844-37.613-37.617C191.274,413.634,208.115,396.793,228.887,396.793%20L228.887,396.793z%20M366.03,396.793c20.773,0,37.614,16.841,37.614,37.617c0,20.773-16.841,37.617-37.614,37.617%20c-20.779,0-37.62-16.844-37.62-37.617C328.41,413.634,345.251,396.793,366.03,396.793L366.03,396.793z%20M228.375,325.684%20c-29.03,0-55.41,11.868-74.52,30.976c-41.566,41.573-41.566,113.923,0,155.497c19.111,19.111,45.49,30.979,74.52,30.979h138.168%20c29.023,0,55.41-11.868,74.521-30.979c41.565-41.566,41.565-113.928,0-155.497c-18.336-18.336-43.379-30.003-71.019-30.916%20c63.723-27.868,105.151-90.836,105.151-160.733c0-42.14-13.276-74.632-37.316-108.359H161.794%20c-24.033,33.747-37.309,66.2-37.309,108.359c0,69.852,41.359,132.758,105.012,160.674H228.375L228.375,325.684z%20M366.543,357.791%20H228.375c-20.163,0-38.513,8.265-51.824,21.569c-29.023,29.027-29.023,81.069,0,110.096c13.311,13.308,31.654,21.569,51.824,21.569%20h138.168c20.17,0,38.513-8.261,51.824-21.569c29.023-29.027,29.023-81.069,0-110.096%20C405.056,366.057,386.706,357.791,366.543,357.791L366.543,357.791z%20M421.17,88.762c14.523,23.018,21.915,49.024,21.915,76.248%20c0,79.121-64.131,143.245-143.248,143.245S156.595,244.127,156.595,165.01c0-27.234,7.392-53.222,21.915-76.248H421.17%20L421.17,88.762z%20M331.075,225.95c11.726,0,21.236,9.511,21.236,21.236c0,11.733-9.511,21.24-21.236,21.24%20c-11.733,0-21.236-9.507-21.236-21.24C309.839,235.461,319.342,225.95,331.075,225.95L331.075,225.95z%20M268.605,225.95%20c11.726,0,21.243,9.511,21.243,21.236c0,11.733-9.518,21.24-21.243,21.24c-11.726,0-21.236-9.507-21.236-21.24%20C247.369,235.461,256.879,225.95,268.605,225.95L268.605,225.95z%20M236.882,163.754c11.726,0,21.243,9.508,21.243,21.236%20c0,11.729-9.518,21.24-21.243,21.24c-11.726,0-21.236-9.511-21.236-21.24C215.646,173.261,225.156,163.754,236.882,163.754%20L236.882,163.754z%20M299.837,163.754c11.732,0,21.243,9.508,21.243,21.236c0,11.729-9.511,21.24-21.243,21.24%20c-11.726,0-21.236-9.511-21.236-21.24C278.6,173.261,288.111,163.754,299.837,163.754L299.837,163.754z%20M362.798,163.754%20c11.726,0,21.236,9.508,21.236,21.236c0,11.729-9.511,21.24-21.236,21.24c-11.733,0-21.236-9.511-21.236-21.24%20C341.562,173.261,351.065,163.754,362.798,163.754L362.798,163.754z%20M332.079,116.228c6.86,0,12.417,5.561,12.417,12.417%20c0,6.86-5.558,12.425-12.417,12.425s-12.424-5.566-12.424-12.425C319.654,121.79,325.219,116.228,332.079,116.228L332.079,116.228z%20M267.601,116.228c6.86,0,12.425,5.561,12.425,12.417c0,6.86-5.565,12.425-12.425,12.425c-6.86,0-12.417-5.566-12.417-12.425%20C255.184,121.79,260.742,116.228,267.601,116.228L267.601,116.228z%20M177.153,7.87C129.219,7.87,90,47.086,90,95.02v408.83%20c0,47.934,39.219,87.15,87.153,87.15h246.024c47.934,0,87.147-39.216,87.147-87.15V95.02c0-47.934-39.213-87.15-87.147-87.15%20H177.153z'/%3e%3c/svg%3e",yn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M407.111,334.214c16.317,0,29.543,13.226,29.543,29.543%20c0,16.313-13.227,29.543-29.543,29.543c-16.31,0-29.536-13.229-29.536-29.543C377.576,347.44,390.802,334.214,407.111,334.214%20L407.111,334.214z%20M198.69,334.214c16.317,0,29.543,13.226,29.543,29.543c0,16.313-13.226,29.543-29.543,29.543%20s-29.543-13.229-29.543-29.543C169.147,347.44,182.373,334.214,198.69,334.214L198.69,334.214z%20M227.94,180.772%20c24.971,0,45.213,20.242,45.213,45.213c0,24.967-20.243,45.213-45.213,45.213s-45.213-20.245-45.213-45.213%20C182.727,201.014,202.969,180.772,227.94,180.772L227.94,180.772z%20M377.868,180.772c24.968,0,45.213,20.242,45.213,45.213%20c0,24.967-20.245,45.213-45.213,45.213c-24.974,0-45.213-20.245-45.213-45.213C332.655,201.014,352.894,180.772,377.868,180.772%20L377.868,180.772z%20M302.899,361.142c24.974,0,45.22,20.243,45.22,45.213s-20.245,45.213-45.22,45.213%20c-24.968,0-45.21-20.243-45.21-45.213S277.931,361.142,302.899,361.142L302.899,361.142z%20M302.899,100.142%20c-111.485,0-201.855,90.37-201.855,201.858c0,111.489,90.37,201.859,201.855,201.859c111.491,0,201.865-90.37,201.865-201.859%20C504.764,190.512,414.391,100.142,302.899,100.142L302.899,100.142z%20M302.899,69.21C174.338,69.21,70.113,173.44,70.113,302%20c0,128.561,104.226,232.79,232.787,232.79c128.56,0,232.793-104.229,232.793-232.79C535.692,173.44,431.459,69.21,302.899,69.21%20L302.899,69.21z%20M302.899,31C153.234,31,31.902,152.328,31.902,302c0,149.669,121.331,271,270.997,271%20c149.672,0,271.006-121.331,271.006-271C573.906,152.328,452.571,31,302.899,31z'/%3e%3c/svg%3e",Cn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M246.063,132.777c18.959,0,34.335,15.373,34.335,34.332%20c0,18.965-15.376,34.335-34.335,34.335c-18.961,0-34.332-15.37-34.332-34.335C211.731,148.15,227.102,132.777,246.063,132.777%20L246.063,132.777z%20M357.555,132.777c18.962,0,34.332,15.373,34.332,34.332c0,18.962-15.37,34.335-34.332,34.335%20c-18.961,0-34.331-15.373-34.331-34.335C323.224,148.15,338.594,132.777,357.555,132.777L357.555,132.777z%20M226.875,253.708%20c9.286,0,16.811,7.525,16.811,16.808c0,9.286-7.525,16.811-16.811,16.811c-9.283,0-16.808-7.525-16.808-16.811%20C210.066,261.234,217.592,253.708,226.875,253.708L226.875,253.708z%20M371.359,253.708c9.286,0,16.815,7.525,16.815,16.808%20c0,9.286-7.529,16.811-16.815,16.811c-9.279,0-16.808-7.525-16.808-16.811C354.552,261.234,362.08,253.708,371.359,253.708%20L371.359,253.708z%20M236.304,421.639c19.179,0,34.731,15.548,34.731,34.731c0,19.179-15.552,34.731-34.731,34.731%20c-19.179,0-34.731-15.552-34.731-34.731C201.573,437.187,217.126,421.639,236.304,421.639L236.304,421.639z%20M362.924,421.639%20c19.179,0,34.728,15.548,34.728,34.731c0,19.179-15.549,34.731-34.728,34.731c-19.186,0-34.735-15.552-34.735-34.731%20C328.189,437.187,343.738,421.639,362.924,421.639L362.924,421.639z%20M235.828,355.985c-26.801,0-51.159,10.958-68.804,28.6%20c-38.377,38.383-38.377,105.184,0,143.567c17.645,17.645,42.004,28.602,68.804,28.602h127.568c26.803,0,51.159-10.957,68.804-28.602%20c38.377-38.377,38.377-105.19,0-143.567c-16.91-16.91-39.994-27.679-65.481-28.542c57.148-25.011,97.033-82.036,97.033-148.405%20c0-88.133-70.984-161.938-161.945-161.938c-90.131,0-161.935,73.009-161.935,161.938c0,66.315,39.821,123.302,96.895,148.348%20H235.828L235.828,355.985z%20M159.969,344.666c-6.378,4.464-12.357,9.488-17.866,14.999c-52.137,52.134-52.137,141.271-0.003,193.407%20C167.008,577.982,200.589,592,235.828,592h127.568c35.24,0,68.823-14.018,93.729-38.927c52.137-52.134,52.137-141.276,0-193.41%20c-4.761-4.761-9.874-9.155-15.287-13.143c36.523-36.834,57.159-86.685,57.159-138.883c0-108.993-88.188-197.184-197.19-197.184%20c-108.977,0-197.181,88.207-197.181,197.184C104.627,258.933,124.557,307.996,159.969,344.666L159.969,344.666z%20M363.396,385.629%20H235.828c-18.617,0-35.559,7.631-47.846,19.914c-26.797,26.8-26.797,74.85,0,101.65c12.287,12.286,29.225,19.914,47.846,19.914%20h127.568c18.623,0,35.559-7.628,47.849-19.914c26.797-26.8,26.797-74.85,0-101.65C398.955,393.259,382.013,385.629,363.396,385.629%20L363.396,385.629z%20M301.808,75.381c-73.808,0-132.256,59.869-132.256,132.256c0,72.383,58.448,132.256,132.256,132.256%20c73.815,0,132.265-59.87,132.265-132.256C434.073,135.248,375.622,75.381,301.808,75.381L301.808,75.381z%20M301.808,271.807%20c13.689,0,24.784,11.098,24.784,24.781c0,13.686-11.094,24.78-24.784,24.78c-13.686,0-24.777-11.094-24.777-24.78%20C277.03,282.905,288.122,271.807,301.808,271.807z'/%3e%3c/svg%3e",qe="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M460.592,75.695C501.794,116.897,525,172.38,525,230.692v136.191%20c0,58.315-23.206,113.795-64.408,154.997c-86.029,86.032-228.158,86.032-314.186,0C105.203,480.679,82,425.199,82,366.884V230.692%20c0-58.312,23.203-113.795,64.405-154.997C232.433-10.337,374.563-10.337,460.592,75.695L460.592,75.695z%20M434.493,101.794%20c-71.625-71.628-190.365-71.628-261.989,0c-33.068,33.068-53.597,78.696-53.597,128.898v136.191%20c0,50.205,20.529,95.834,53.597,128.898c71.624,71.628,190.364,71.628,261.989,0c33.067-33.064,53.596-78.693,53.596-128.898%20V230.692C488.089,180.49,467.56,134.862,434.493,101.794L434.493,101.794z%20M195.699,124.99%20c-27.134,27.137-43.982,64.557-43.982,105.702v136.191c0,41.146,16.848,78.568,43.982,105.702%20c58.806,58.814,156.791,58.814,215.598,0c27.138-27.134,43.982-64.557,43.982-105.702V230.692%20c0-41.146-16.845-78.566-43.982-105.702C352.491,66.18,254.506,66.18,195.699,124.99L195.699,124.99z%20M303.497,401.594%20c-17.304,0-31.334,14.029-31.334,31.337c0,17.304,14.03,31.333,31.334,31.333c17.307,0,31.337-14.029,31.337-31.333%20C334.834,415.623,320.804,401.594,303.497,401.594L303.497,401.594z%20M223.204,305.993c-17.308,0-31.338,14.03-31.338,31.334%20c0,17.308,14.03,31.337,31.338,31.337c17.307,0,31.337-14.029,31.337-31.337C254.541,320.023,240.511,305.993,223.204,305.993%20L223.204,305.993z%20M223.204,208.881c-17.308,0-31.338,14.026-31.338,31.334c0,17.307,14.03,31.337,31.338,31.337%20c17.307,0,31.337-14.03,31.337-31.337C254.541,222.907,240.511,208.881,223.204,208.881L223.204,208.881z%20M383.796,305.993%20c-17.308,0-31.338,14.03-31.338,31.334c0,17.308,14.03,31.337,31.338,31.337c17.307,0,31.333-14.029,31.333-31.337%20C415.129,320.023,401.103,305.993,383.796,305.993L383.796,305.993z%20M383.796,208.881c-17.308,0-31.338,14.026-31.338,31.334%20c0,17.307,14.03,31.337,31.338,31.337c17.307,0,31.333-14.03,31.333-31.337C415.129,222.907,401.103,208.881,383.796,208.881%20L383.796,208.881z%20M354.769,129.256c-12.585,0-22.786,10.201-22.786,22.786s10.2,22.786,22.786,22.786%20c12.585,0,22.786-10.201,22.786-22.786S367.354,129.256,354.769,129.256L354.769,129.256z%20M252.228,129.256%20c-12.585,0-22.786,10.201-22.786,22.786s10.2,22.786,22.786,22.786c12.585,0,22.786-10.201,22.786-22.786%20S264.813,129.256,252.228,129.256z'/%3e%3c/svg%3e",xn="data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17%2012.8108C17%2013.1901%2016.898%2013.5661%2016.6687%2013.8682C15.2357%2015.7558%2012.784%2017%2010%2017C7.21614%2017%204.76431%2015.7557%203.33134%2013.8681C3.10199%2013.566%203%2013.1901%203%2012.8108V7.18924C3%206.80993%203.10199%206.43401%203.33134%206.13189C4.76431%204.24428%207.21614%203%2010%203C12.784%203%2015.2357%204.24423%2016.6687%206.13183C16.898%206.43395%2017%206.80986%2017%207.18918V12.8108ZM10%207C10.5522%207%2011%206.55231%2011%206C11%205.44769%2010.5522%205%2010%205C9.44775%205%209%205.44769%209%206C9%206.55231%209.44775%207%2010%207ZM6.5%2011.5C7.32837%2011.5%208%2010.8284%208%2010C8%209.17157%207.32837%208.5%206.5%208.5C5.67163%208.5%205%209.17157%205%2010C5%2010.8284%205.67163%2011.5%206.5%2011.5ZM11.5%2013.5C11.5%2014.3284%2010.8284%2015%2010%2015C9.17163%2015%208.5%2014.3284%208.5%2013.5C8.5%2012.6716%209.17163%2012%2010%2012C10.8284%2012%2011.5%2012.6716%2011.5%2013.5ZM13.5%2011.5C14.3284%2011.5%2015%2010.8284%2015%2010C15%209.17157%2014.3284%208.5%2013.5%208.5C12.6716%208.5%2012%209.17157%2012%2010C12%2010.8284%2012.6716%2011.5%2013.5%2011.5Z'%20fill='currentColor'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%201C13.8106%201%2017.1182%202.95715%2018.7732%205.82595C18.9298%206.09752%2019%206.40872%2019%206.72224V13.2778C19%2013.5913%2018.9298%2013.9025%2018.7732%2014.1741C17.1182%2017.0429%2013.8106%2019%2010%2019C6.18943%2019%202.88177%2017.0429%201.22682%2014.1741C1.07016%2013.9025%201%2013.5913%201%2013.2778V6.72224C1%206.40872%201.07016%206.09752%201.22682%205.82595C2.88177%202.95715%206.18943%201%2010%201ZM17.6711%205.64554C17.8973%205.95002%2018%206.32536%2018%206.70467V13.2953C18%2013.6746%2017.8973%2014.05%2017.6711%2014.3545C16.0408%2016.5488%2013.214%2018%2010%2018C6.78594%2018%203.95915%2016.5488%202.32887%2014.3544C2.10268%2014.0499%202%2013.6746%202%2013.2953V6.70472C2%206.32542%202.10268%205.95008%202.32887%205.64561C3.95915%203.45116%206.78594%202%2010%202C13.214%202%2016.0408%203.45116%2017.6711%205.64554Z'%20fill='currentColor'/%3e%3c/svg%3e",N="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M395.264,259.724c21.074,0,38.157,17.083,38.157,38.158%20c0,21.074-17.083,38.164-38.157,38.164c-21.075,0-38.165-17.09-38.165-38.164C357.099,276.806,374.189,259.724,395.264,259.724%20L395.264,259.724z%20M206.743,259.724c21.075,0,38.158,17.083,38.158,38.158c0,21.074-17.083,38.164-38.158,38.164%20c-21.074,0-38.164-17.09-38.164-38.164C168.579,276.806,185.669,259.724,206.743,259.724L206.743,259.724z%20M317.092,89.755v29.841%20h-32.183V89.755c-67.083,5.031-127.459,41.741-163.107,98.796v223.399c35.648,57.055,96.024,93.765,163.107,98.802v-29.841h32.183%20v29.841c67.084-5.038,127.459-41.747,163.114-98.802V188.551C444.551,131.496,384.176,94.787,317.092,89.755L317.092,89.755z%20M301,56.962c-85.858,0-165.124,45.192-209.061,118.921l-2.328,3.902v90.784H58.612v59.364h30.999v90.784l2.328,3.902%20C135.876,498.348,215.143,543.539,301,543.539c85.857,0,165.123-45.184,209.06-118.921l2.328-3.902v-90.784h31.006v-59.364h-31.006%20v-90.784l-2.328-3.902C466.124,102.147,386.857,56.962,301,56.962L301,56.962z%20M301,18.251c-155.741,0-282,126.253-282,282%20c0,155.741,126.26,282,282,282c155.747,0,282-126.26,282-282C583,144.504,456.747,18.251,301,18.251z'/%3e%3c/svg%3e",le="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M261.067,178.239c0,7.551,2.198,14.579,5.985,20.491l20.49-20.491%20l-20.49-20.491C263.265,163.659,261.067,170.694,261.067,178.239L261.067,178.239z%20M298.999,216.171%20c-7.545,0-14.58-2.198-20.488-5.981l20.488-20.491l20.491,20.491C313.581,213.972,306.55,216.171,298.999,216.171L298.999,216.171z%20M336.934,178.239c0-7.545-2.198-14.58-5.985-20.491l-20.491,20.491l20.491,20.491C334.736,192.818,336.934,185.79,336.934,178.239%20L336.934,178.239z%20M319.49,146.295l-20.491,20.484l-20.488-20.484c5.907-3.79,12.943-5.988,20.488-5.988%20C306.55,140.307,313.581,142.505,319.49,146.295L319.49,146.295z%20M298.999,124.101c29.864,0,54.141,24.281,54.141,54.138%20c0,29.864-24.277,54.145-54.141,54.145c-29.858,0-54.138-24.281-54.138-54.145C244.861,148.382,269.141,124.101,298.999,124.101%20L298.999,124.101z%20M261.067,417.863c0,7.551,2.198,14.579,5.985,20.491l20.49-20.491l-20.49-20.491%20C263.265,403.283,261.067,410.319,261.067,417.863L261.067,417.863z%20M298.999,455.795c-7.545,0-14.58-2.198-20.488-5.981%20l20.488-20.491l20.491,20.491C313.581,453.597,306.55,455.795,298.999,455.795L298.999,455.795z%20M336.934,417.863%20c0-7.545-2.198-14.58-5.985-20.491l-20.491,20.491l20.491,20.491C334.736,432.443,336.934,425.415,336.934,417.863L336.934,417.863z%20M319.49,385.92l-20.491,20.484l-20.488-20.484c5.907-3.79,12.943-5.988,20.488-5.988C306.55,379.931,313.581,382.13,319.49,385.92%20L319.49,385.92z%20M298.999,363.725c29.864,0,54.141,24.281,54.141,54.138c0,29.864-24.277,54.145-54.141,54.145%20c-29.858,0-54.138-24.281-54.138-54.145C244.861,388.007,269.141,363.725,298.999,363.725L298.999,363.725z%20M180.188,239.928%20c30.094,0,54.49,24.4,54.49,54.494c0,30.095-24.396,54.494-54.49,54.494c-30.095,0-54.494-24.399-54.494-54.494%20C125.694,264.327,150.093,239.928,180.188,239.928L180.188,239.928z%20M417.816,239.928c30.094,0,54.494,24.4,54.494,54.494%20c0,30.095-24.4,54.494-54.494,54.494c-30.095,0-54.494-24.399-54.494-54.494C363.323,264.327,387.722,239.928,417.816,239.928%20L417.816,239.928z%20M298.999,86.511c116.835,0,211.544,94.708,211.544,211.54c0,116.84-94.708,211.54-211.544,211.54%20c-116.836,0-211.54-94.708-211.54-211.54C87.458,181.219,182.163,86.511,298.999,86.511L298.999,86.511z%20M298.999,54.1%20c134.73,0,243.955,109.225,243.955,243.951c0,134.727-109.225,243.952-243.955,243.952c-134.727,0-243.952-109.225-243.952-243.952%20C55.047,163.324,164.271,54.1,298.999,54.1L298.999,54.1z%20M298.999,14.053C455.846,14.053,583,141.2,583,298.051%20c0,156.844-127.154,283.999-284.001,283.999C142.151,582.049,15,454.895,15,298.051C15,141.2,142.151,14.053,298.999,14.053z'/%3e%3c/svg%3e",Ae="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M449.833,45.125C531.521,95.36,586,185.558,586,288.497%20c0,157.672-127.825,285.497-285.503,285.497C142.822,573.994,15,446.169,15,288.497C15,185.558,69.476,95.36,151.167,45.125H449.833%20L449.833,45.125z%20M193.639,256.195c-29.46,0-53.343,23.89-53.343,53.35c0,29.46,23.882,53.343,53.343,53.343%20c29.46,0,53.346-23.882,53.346-53.343C246.985,280.085,223.099,256.195,193.639,256.195L193.639,256.195z%20M407.365,256.195%20c-29.46,0-53.35,23.89-53.35,53.35c0,29.46,23.89,53.343,53.35,53.343c29.46,0,53.343-23.882,53.343-53.343%20C460.708,280.085,436.826,256.195,407.365,256.195L407.365,256.195z%20M442.248,88.407l-4.308-3.053H163.052l-4.304,3.053%20c-64.954,46.088-103.49,120.43-103.49,200.09c0,135.438,109.801,245.239,245.239,245.239c135.437,0,245.245-109.801,245.245-245.239%20C545.742,208.837,507.203,134.495,442.248,88.407L442.248,88.407z%20M427.607,117.937H173.391%20c-54.002,40.321-85.547,103.142-85.547,170.56c0,117.449,95.204,212.656,212.653,212.656c117.455,0,212.663-95.207,212.663-212.656%20C513.16,221.08,481.609,158.258,427.607,117.937L427.607,117.937z%20M300.497,215.65c-11.384,0-20.614,9.226-20.614,20.613%20c0,11.387,9.23,20.614,20.614,20.614c11.387,0,20.62-9.226,20.62-20.614C321.117,224.876,311.883,215.65,300.497,215.65%20L300.497,215.65z%20M300.497,146.275c-11.384,0-20.614,9.226-20.614,20.614c0,11.387,9.23,20.62,20.614,20.62%20c11.387,0,20.62-9.233,20.62-20.62C321.117,155.501,311.883,146.275,300.497,146.275L300.497,146.275z%20M381.735,146.275%20c-11.387,0-20.613,9.226-20.613,20.614c0,11.387,9.226,20.62,20.613,20.62c11.387,0,20.613-9.233,20.613-20.62%20C402.348,155.501,393.122,146.275,381.735,146.275L381.735,146.275z%20M219.265,146.275c-11.387,0-20.616,9.226-20.616,20.614%20c0,11.387,9.23,20.62,20.616,20.62c11.387,0,20.617-9.233,20.617-20.62C239.882,155.501,230.652,146.275,219.265,146.275%20L219.265,146.275z%20M300.497,400.094c-18.881,0-34.186,15.309-34.186,34.189c0,18.887,15.305,34.189,34.186,34.189%20c18.887,0,34.189-15.302,34.189-34.189C334.686,415.403,319.384,400.094,300.497,400.094L300.497,400.094z%20M381.735,417.199%20c-11.387,0-20.613,9.233-20.613,20.62c0,11.38,9.226,20.614,20.613,20.614c11.387,0,20.613-9.233,20.613-20.614%20C402.348,426.433,393.122,417.199,381.735,417.199L381.735,417.199z%20M219.265,417.199c-11.387,0-20.616,9.233-20.616,20.62%20c0,11.38,9.23,20.614,20.616,20.614c11.387,0,20.617-9.233,20.617-20.614C239.882,426.433,230.652,417.199,219.265,417.199z'/%3e%3c/svg%3e",Ee={IEC_62196_T1:yn,IEC_62196_T1_COMBO:Cn,IEC_62196_T2:gn,IEC_62196_T2_COMBO:vn,IEC_62196_T3:qe,IEC_62196_T3A:xn,IEC_62196_T3B:qe,IEC_62196_T3C:qe,CHADEMO:le,CHAOJI:le,CATARC:Ae,GBT_AC:Ae,GBT_DC:Ae,SCHUKO:N,DOMESTIC_A:N,DOMESTIC_B:N,DOMESTIC_C:N,DOMESTIC_D:N,DOMESTIC_E:N,DOMESTIC_F:N,DOMESTIC_G:N,DOMESTIC_H:N,DOMESTIC_I:N,DOMESTIC_J:N,DOMESTIC_K:N,DOMESTIC_L:N,DOMESTIC_M:N,DOMESTIC_N:N,DOMESTIC_O:N,IEC_60309_2_SINGLE_16:N,IEC_60309_2_THREE_16:N,IEC_60309_2_THREE_32:N,IEC_60309_2_THREE_64:N,NEMA_5_20:N,NEMA_6_30:N,NEMA_6_50:N,NEMA_10_30:N,NEMA_10_50:N,NEMA_14_30:N,NEMA_14_50:N,PANTOGRAPH_BOTTOM_UP:le,PANTOGRAPH_TOP_DOWN:le,TESLA_R:le,TESLA_S:le,CONNECTOR_STANDARD_TYPE_CHADEMO:le,CONNECTOR_STANDARD_TYPE_CHAOJI:le,CONNECTOR_STANDARD_TYPE_CATARC:Ae,CONNECTOR_STANDARD_TYPE_SCHUKO:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_A:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_B:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_C:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_D:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_E:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_F:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_G:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_H:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_I:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_J:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_K:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_L:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_M:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_N:N,CONNECTOR_STANDARD_TYPE_DOMESTIC_O:N,CONNECTOR_STANDARD_TYPE_GBT_AC:Ae,CONNECTOR_STANDARD_TYPE_GBT_DC:Ae,CONNECTOR_STANDARD_TYPE_IEC_60309_2_SINGLE_16:N,CONNECTOR_STANDARD_TYPE_IEC_60309_2_THREE_16:N,CONNECTOR_STANDARD_TYPE_IEC_60309_2_THREE_32:N,CONNECTOR_STANDARD_TYPE_IEC_60309_2_THREE_64:N,CONNECTOR_STANDARD_TYPE_IEC_62196_T1:yn,CONNECTOR_STANDARD_TYPE_IEC_62196_T1_COMBO:Cn,CONNECTOR_STANDARD_TYPE_IEC_62196_T2:gn,CONNECTOR_STANDARD_TYPE_IEC_62196_T2_COMBO:vn,CONNECTOR_STANDARD_TYPE_IEC_62196_T3A:xn,CONNECTOR_STANDARD_TYPE_IEC_62196_T3C:qe,CONNECTOR_STANDARD_TYPE_NEMA_5_20:N,CONNECTOR_STANDARD_TYPE_NEMA_6_30:N,CONNECTOR_STANDARD_TYPE_NEMA_6_50:N,CONNECTOR_STANDARD_TYPE_NEMA_10_30:N,CONNECTOR_STANDARD_TYPE_NEMA_10_50:N,CONNECTOR_STANDARD_TYPE_NEMA_14_30:N,CONNECTOR_STANDARD_TYPE_NEMA_14_50:N,CONNECTOR_STANDARD_TYPE_PANTOGRAPH_BOTTOM_UP:le,CONNECTOR_STANDARD_TYPE_PANTOGRAPH_TOP_DOWN:le,CONNECTOR_STANDARD_TYPE_TESLA_R:le,CONNECTOR_STANDARD_TYPE_TESLA_S:le},He={minPower:7,operator:[],status:[],publishingMode:"",connectorTypes:[],chargingAccessibility:"ALL",noAdditionalCharges:!1,powerType:void 0,operatorOnly:"",remoteStartStop:!1,searchPhrase:"",excludeOperator:[],authMethodCapabilities:[]};function Ha(e){return!!(e.minPower&&e.minPower!==He.minPower||e?.status?.length||e?.connectorTypes?.length||e?.chargingAccessibility&&e?.chargingAccessibility!==He.chargingAccessibility||e?.operator?.length||e?.powerType||e?.partyId||e?.noAdditionalCharges||e?.operatorOnly||e?.remoteStartStop||e?.searchPhrase||e?.excludeOperator?.length||e?.authMethodCapabilities?.length)}const Va=[{value:"AUTH_METHOD_CAPABILITY_PLUG_AND_CHARGE",labelKey:"filters.authCapability.plugAndCharge"},{value:"AUTH_METHOD_CAPABILITY_CREDIT_CARD_PAYABLE",labelKey:"filters.authCapability.creditCard"}],$a=[{label:3,value:3},{label:7,value:7},{label:11,value:11},{label:22,value:22},{label:43,value:43},{label:50,value:50},{label:100,value:100},{label:150,value:150},{label:200,value:200},{label:"250+",value:250}];function za(e){return h.useReducer((t,n)=>({...t,...n}),e)}function Ba(){const{setFilters:e,t,filters:n,filterConfiguration:o,options:i,mapKind:a}=U(),[s,l]=za({...He,...n}),{setView:c}=ke(),u=re(i.version,"v2")&&o?.operators?.length>1,f=h.useRef();return h.useEffect(()=>{f.current&&n!==f.current&&l(n)},[n]),h.useEffect(()=>{f.current=s,e(s)},[s]),r.jsxs(r.Fragment,{children:[r.jsx("div",{className:w.headerContainer,children:r.jsx("div",{className:w.header,children:t("filters.header")})}),r.jsxs("div",{className:w.container,children:[r.jsx("button",{onClick:()=>{l(He),e(He)},className:w.actionLinkClearAll,children:t("filters.clearAll")}),re(i.version,"v2")&&o?.showSearchPhraseFilter&&r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.searchPhrase")}),r.jsx("input",{type:"text",value:s.searchPhrase||"",placeholder:t("filters.searchPhrasePlaceholder"),onChange:d=>l({searchPhrase:d.target.value}),style:{width:"100%",boxSizing:"border-box",padding:"8px 10px",fontFamily:"var(--roadmap-font-family, Inter), system-ui",fontSize:14,lineHeight:"20px",color:"var(--roadmap-text-color, #2a2a2a)",background:"var(--roadmap-background-color, #fff)",border:"1px solid var(--roadmap-border-color, #ddd)",borderRadius:6,outline:"none"}})]}),r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.onlyShow")}),r.jsxs("label",{htmlFor:"dsChargers",className:w.rowLabel,children:[r.jsx("div",{className:w.label,children:t("filters.dcChargers")}),r.jsx(se,{id:"dsChargers",checked:s.powerType==="dc",onChange:d=>{l({powerType:d?"dc":void 0})}})]}),!re(i.version,"v2")&&r.jsxs("label",{htmlFor:"efluxChargers",className:w.rowLabel,children:[r.jsx("div",{className:w.label,children:t("filters.efluxChargers")}),r.jsx(se,{id:"efluxChargers",checked:s.partyId==="EFL",onChange:d=>{l({partyId:d?"EFL":void 0})}})]}),(!re(i.version,"v2")||o?.showNoAdditionalFeeFilter)&&r.jsxs("label",{htmlFor:"noAdditionalFee",className:w.rowLabel,children:[r.jsx("div",{className:w.label,children:t("filters.noAdditionalFee")}),r.jsx(se,{id:"noAdditionalFee",checked:s.noAdditionalCharges,onChange:d=>{l({noAdditionalCharges:d?!0:void 0})}})]}),r.jsxs("label",{htmlFor:"remoteStartStop",className:w.rowLabel,children:[r.jsx("div",{className:w.label,children:t("filters.remoteStartStop")}),r.jsx(se,{id:"remoteStartStop",checked:s.remoteStartStop,onChange:d=>{l({remoteStartStop:d?!0:void 0})}})]}),o.showOperatorOnly&&re(i.version,"v2")&&r.jsxs("label",{htmlFor:"operatorOnly",className:w.rowLabel,children:[r.jsx("div",{className:w.label,children:`Show '${o.showOperatorOnly}' only`}),r.jsx(se,{id:"operatorOnly",checked:s.operatorOnly===o.showOperatorOnly,onChange:d=>{l({operatorOnly:d?o.showOperatorOnly:void 0})}})]})]}),u&&r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.operator")}),r.jsx(pn,{id:"operator",preferredValues:i.preferredOperators,value:s.operator,options:[...o?.operators?.map(d=>({value:d?.connectionId,label:d?.name,selected:s.operators?.includes(d?.connectionId)}))||[]],placeholder:"Select operator",onChange:d=>{l({operator:d})}})]}),u&&o?.showExcludeOperatorFilter&&r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.excludeOperator")}),r.jsx(pn,{id:"excludeOperator",preferredValues:i.preferredOperators,value:s.excludeOperator,options:[...o?.operators?.map(d=>({value:d?.connectionId,label:d?.name,selected:s.excludeOperator?.includes(d?.connectionId)}))||[]],placeholder:t("filters.excludeOperator"),onChange:d=>{l({excludeOperator:d})}})]}),o?.showPublishingModeFilter&&o?.publishingMode?.length>1&&r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:"Visibility"}),r.jsx(mn,{id:"publishingMode",value:s.publishingMode,options:[{value:"",label:"All locations"},{value:"PUBLISHING_MODE_PUBLIC",label:"Public locations"},{value:"PUBLISHING_MODE_PRIVATE",label:"Private locations"}],onChange:d=>{l({publishingMode:d})}})]}),r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.statusHeading")}),$n(a,i.version).map(d=>r.jsxs("label",{htmlFor:d.id,className:w.rowLabel,children:[r.jsxs("div",{className:w.label,children:[r.jsx("div",{className:w.dot,style:{background:d.color}}),t(d.labelKey)]}),r.jsx(se,{id:d.id,name:"status",checked:d.values.every(p=>s.status.includes(p)),onChange:p=>{l({status:vt(p?"add":"remove",s.status,d.values)})}})]},d.id))]}),r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.chargingPower")}),r.jsx(ha,{value:s.minPower,onChange:d=>{l({minPower:d})},ticks:$a})]}),r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.connectorType")}),r.jsxs("label",{htmlFor:"type1",className:w.rowLabel,children:[r.jsxs("div",{className:w.label,children:[r.jsx("img",{src:Ee.IEC_62196_T1,className:w.connectorIcon}),"Type 1 (Yazaki)"]}),r.jsx(se,{id:"type1",checked:s.connectorTypes.includes("IEC_62196_T1"),onChange:d=>{l({connectorTypes:d?[...s.connectorTypes,"IEC_62196_T1"]:s.connectorTypes.filter(p=>p!=="IEC_62196_T1")})}})]}),r.jsxs("label",{htmlFor:"type2",className:w.rowLabel,children:[r.jsxs("div",{className:w.label,children:[r.jsx("img",{src:Ee.IEC_62196_T2,className:w.connectorIcon}),"Type 2 (Mennekes)"]}),r.jsx(se,{id:"type2",checked:s.connectorTypes.includes("IEC_62196_T2"),onChange:d=>{l({connectorTypes:d?[...s.connectorTypes,"IEC_62196_T2"]:s.connectorTypes.filter(p=>p!=="IEC_62196_T2")})}})]}),r.jsxs("label",{htmlFor:"type3",className:w.rowLabel,children:[r.jsxs("div",{className:w.label,children:[r.jsx("img",{src:Ee.IEC_62196_T3,className:w.connectorIcon}),"Type 3 (Le Grand)"]}),r.jsx(se,{id:"type3",checked:s.connectorTypes.includes("IEC_62196_T3A"),onChange:d=>{l({connectorTypes:d?[...s.connectorTypes,"IEC_62196_T3A"]:s.connectorTypes.filter(p=>p!=="IEC_62196_T3A")})}})]}),r.jsxs("label",{htmlFor:"CHAdeMo",className:w.rowLabel,children:[r.jsxs("div",{className:w.label,children:[r.jsx("img",{src:Ee.CHADEMO,className:w.connectorIcon}),"CHAdeMo"]}),r.jsx(se,{id:"CHAdeMo",checked:s.connectorTypes.includes("CHADEMO"),onChange:d=>{l({connectorTypes:d?[...s.connectorTypes,"CHADEMO"]:s.connectorTypes.filter(p=>p!=="CHADEMO")})}})]}),r.jsxs("label",{htmlFor:"domestic",className:w.rowLabel,children:[r.jsxs("div",{className:w.label,children:[r.jsx("img",{src:Ee.DOMESTIC_F,className:w.connectorIcon}),"Domestic"]}),r.jsx(se,{id:"domestic",checked:s.connectorTypes.includes("DOMESTIC_F"),onChange:d=>{l({connectorTypes:d?[...s.connectorTypes,"DOMESTIC_F"]:s.connectorTypes.filter(p=>p!=="DOMESTIC_F")})}})]}),r.jsxs("label",{htmlFor:"combo",className:w.rowLabel,children:[r.jsxs("div",{className:w.label,children:[r.jsx("img",{src:Ee.IEC_62196_T2_COMBO,className:w.connectorIcon}),"Combo"]}),r.jsx(se,{id:"combo",checked:s.connectorTypes.includes("IEC_62196_T2_COMBO"),onChange:d=>{l({connectorTypes:d?[...s.connectorTypes,"IEC_62196_T2_COMBO"]:s.connectorTypes.filter(p=>p!=="IEC_62196_T2_COMBO")})}})]})]}),re(i.version,"v2")&&o?.showPaymentMethodFilter&&r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.authMethodCapabilities")}),Va.map(d=>{const p=`auth-${d.value}`,v=s.authMethodCapabilities?.includes(d.value)??!1;return r.jsxs("label",{htmlFor:p,className:w.rowLabel,children:[r.jsx("div",{className:w.label,children:t(d.labelKey)}),r.jsx(se,{id:p,checked:v,onChange:y=>{l({authMethodCapabilities:vt(y?"add":"remove",s.authMethodCapabilities||[],[d.value])})}})]},d.value)})]}),o?.showVehicleAvailabilityFilter&&r.jsxs("div",{className:w.optionsGroup,children:[r.jsx("div",{className:w.heading,children:t("filters.chargingAccessibility")}),r.jsx(mn,{id:"chargingAccessibility",value:s.chargingAccessibility||"ALL",options:[{value:"ALL",label:t("filters.accessibilityAll")},{value:"TESLA",label:t("filters.accessibilityTesla")}],onChange:d=>{l({chargingAccessibility:d})}})]})]})]})}const Ua="locations-module_headerContainer",Wa="locations-module_publishingMode",Ga="locations-module_container",Ya="locations-module_header",Ka="locations-module_subheader",Za="locations-module_row",qa="locations-module_icon",Ja="locations-module_statusIcon",Xa="locations-module_text",Qa="locations-module_note",es="locations-module_divider",ts="locations-module_pagingation",ns="locations-module_tariffNoteLink",_={headerContainer:Ua,publishingMode:Wa,container:Ga,header:Ya,subheader:Ka,row:Za,icon:qa,statusIcon:Ja,text:Xa,note:Qa,divider:es,pagingation:ts,tariffNoteLink:ns},rs="LocationPlaceholder-module_container",os="LocationPlaceholder-module_header",is="LocationPlaceholder-module_divider",as="LocationPlaceholder-module_iconLine",ss="LocationPlaceholder-module_priceLine",ie={container:rs,header:os,divider:is,iconLine:as,priceLine:ss};function ls(){return r.jsxs("div",{className:ie.container,children:[r.jsx("div",{className:ie.header}),r.jsx("div",{className:ie.divider,style:{marginTop:"15px",marginBottom:"23px"}}),r.jsx("div",{className:ie.iconLine,style:{width:"60%"}}),r.jsx("div",{className:ie.iconLine,style:{width:"45%"}}),r.jsx("div",{className:ie.iconLine,style:{width:"50%"}}),r.jsx("div",{className:ie.divider}),r.jsx("div",{className:ie.iconLine,style:{width:"50%"}}),r.jsx("div",{className:ie.iconLine,style:{width:"62%"}}),r.jsx("div",{className:ie.priceLine}),r.jsx("div",{className:ie.divider}),r.jsx("div",{className:ie.iconLine,style:{width:"50%"}}),r.jsx("div",{className:ie.iconLine,style:{width:"57%"}}),r.jsx("div",{className:ie.priceLine,style:{width:"30%"}})]})}function or(){return r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",width:"12",height:"12",fill:"currentColor",children:r.jsx("path",{d:"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"})})}function ir(){return r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",width:"12",height:"12",fill:"currentColor",children:r.jsx("path",{d:"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"})})}function cs(){return r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 320",width:"10",height:"10",fill:"currentColor",children:r.jsx("path",{d:"M233.4 310.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 242.7 86.6 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"})})}function us(){return r.jsx("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:r.jsx("path",{d:"M8 0.25C3.72 0.25 0.25 3.72 0.25 8s3.47 7.75 7.75 7.75S15.75 12.28 15.75 8 12.28 0.25 8 0.25zm0 14C4.55 14.25 1.75 11.45 1.75 8S4.55 1.75 8 1.75 14.25 4.55 14.25 8 11.45 14.25 8 14.25zM8.75 4.25a0.75 0.75 0 0 0-1.5 0v4c0 0.2 0.08 0.39 0.22 0.53l2.5 2.5a0.75 0.75 0 1 0 1.06-1.06L8.75 7.94V4.25z"})})}function ds(){return r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16",fill:"currentColor",children:r.jsx("path",{d:"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 1 1 1.06-1.06L5.75 11.19l6.97-6.97a.75.75 0 0 1 1.06 0z"})})}function ar(){return r.jsx("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:r.jsx("g",{children:r.jsx("path",{d:"M8 0.25C3.72009 0.25 0.25 3.72134 0.25 8C0.25 12.2812 3.72009 15.75 8 15.75C12.2799 15.75 15.75 12.2812 15.75 8C15.75 3.72134 12.2799 0.25 8 0.25ZM8 14.25C4.54588 14.25 1.75 11.4553 1.75 8C1.75 4.54703 4.546 1.75 8 1.75C11.4528 1.75 14.25 4.54597 14.25 8C14.25 11.4541 11.4553 14.25 8 14.25ZM8 3.6875C8.72487 3.6875 9.3125 4.27513 9.3125 5C9.3125 5.72487 8.72487 6.3125 8 6.3125C7.27513 6.3125 6.6875 5.72487 6.6875 5C6.6875 4.27513 7.27513 3.6875 8 3.6875ZM9.75 11.625C9.75 11.8321 9.58209 12 9.375 12H6.625C6.41791 12 6.25 11.8321 6.25 11.625V10.875C6.25 10.6679 6.41791 10.5 6.625 10.5H7V8.5H6.625C6.41791 8.5 6.25 8.33209 6.25 8.125V7.375C6.25 7.16791 6.41791 7 6.625 7H8.625C8.83209 7 9 7.16791 9 7.375V10.5H9.375C9.58209 10.5 9.75 10.6679 9.75 10.875V11.625Z"})})})}const fs="SidebarContainer-module_container",ps={container:fs};function De({children:e}){return r.jsx("div",{className:ps.container,children:e})}const hs="Debug-module_container",ms="Debug-module_content",gs="Debug-module_connectorHeader",vs="Debug-module_code",ys="Debug-module_evse",Oe={container:hs,content:ms,connectorHeader:gs,code:vs,evse:ys};function Cs({location:e}){return r.jsx("div",{className:Oe.container,children:r.jsxs(De,{children:[r.jsx("div",{children:r.jsxs("h3",{children:["Debug: ",e.name]})}),r.jsx("div",{style:{marginBottom:"5px"},children:r.jsx("button",{onClick:()=>{navigator.clipboard.writeText(JSON.stringify(e,null,2))},children:"Copy location"})}),r.jsx("div",{className:Oe.content,children:e.evses.map(t=>r.jsxs("div",{className:Oe.evse,children:[r.jsxs("div",{className:Oe.connectorHeader,children:["Evse: ",t.evseId||t.evse_id]}),r.jsx("div",{children:t.connectors.map((n,o)=>r.jsxs("div",{children:[r.jsxs("div",{className:Oe.connectorHeader,children:["Connector #",o]}),r.jsx("pre",{className:Oe.code,children:JSON.stringify(n.tariff||Array.isArray(e.tariffs)?e.tariffs?.find(i=>n.tariff_ids.includes(i.id)):null,null,2)})]}))})]}))})]})})}const sr="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='16'%20viewBox='0%200%2018%2016'%20fill='none'%3e%3cg%20clip-path='url(%23clip0_480_2466)'%3e%3cpath%20d='M3.76781%207H5.0925L4.81812%208.71156C4.77812%208.85969%204.9075%209%205.07875%209C5.17188%209%205.26156%208.95719%205.31063%208.88313L7.40219%205.78062C7.50531%205.62469%207.37656%205.42875%207.17031%205.42875H5.88219L6.14094%204.295C6.18625%204.14625%206.05781%204.00031%205.88219%204.00031H4.36438C4.23%204.00031%204.11656%204.08719%204.09875%204.20375L3.50187%206.735C3.48094%206.87531%203.60594%207%203.76781%207ZM17.5%204H17V2.5C17%202.22375%2016.7763%202%2016.5%202C16.2237%202%2016%202.22375%2016%202.5V4H15V2.5C15%202.22375%2014.7762%202%2014.5%202C14.2238%202%2014%202.22375%2014%202.5V4H13.5C13.2238%204%2013%204.22375%2013%204.5V6C13%207.1175%2013.7381%208.05281%2014.75%208.37281V11.625C14.75%2012.1075%2014.3575%2012.5%2013.875%2012.5C13.3925%2012.5%2013%2012.1075%2013%2011.625V10.75C13%209.23344%2011.7666%208%2010.25%208H10V1.5C10%200.671562%209.32844%200%208.5%200H2.5C1.67156%200%201%200.671562%201%201.5V14.5H0.25C0.111875%2014.5%200%2014.6119%200%2014.75V15.75C0%2015.8881%200.111875%2016%200.25%2016H10.75C10.8881%2016%2011%2015.8881%2011%2015.75V14.75C11%2014.6119%2010.8881%2014.5%2010.75%2014.5H10V9.5H10.25C10.9394%209.5%2011.5%2010.0606%2011.5%2010.75V11.625C11.5%2012.9347%2012.5653%2014%2013.875%2014C15.1847%2014%2016.25%2012.9347%2016.25%2011.625V8.37281C17.2619%208.05281%2018%207.1175%2018%206V4.5C18%204.22375%2017.7763%204%2017.5%204ZM8.5%2014.5H2.5V1.5H8.5V14.5ZM16.5%206C16.5%206.55125%2016.0513%207%2015.5%207C14.9487%207%2014.5%206.55125%2014.5%206V5.5H16.5V6Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_480_2466'%3e%3crect%20width='18'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",lr="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='14'%20height='16'%20viewBox='0%200%2014%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_480_2468)'%3e%3cpath%20d='M4%204.625V3.375C4%203.16875%204.16875%203%204.375%203H5.625C5.83125%203%206%203.16875%206%203.375V4.625C6%204.83125%205.83125%205%205.625%205H4.375C4.16875%205%204%204.83125%204%204.625ZM8.375%205H9.625C9.83125%205%2010%204.83125%2010%204.625V3.375C10%203.16875%209.83125%203%209.625%203H8.375C8.16875%203%208%203.16875%208%203.375V4.625C8%204.83125%208.16875%205%208.375%205ZM4.375%208H5.625C5.83125%208%206%207.83125%206%207.625V6.375C6%206.16875%205.83125%206%205.625%206H4.375C4.16875%206%204%206.16875%204%206.375V7.625C4%207.83125%204.16875%208%204.375%208ZM8.375%208H9.625C9.83125%208%2010%207.83125%2010%207.625V6.375C10%206.16875%209.83125%206%209.625%206H8.375C8.16875%206%208%206.16875%208%206.375V7.625C8%207.83125%208.16875%208%208.375%208ZM6%2010.625V9.375C6%209.16875%205.83125%209%205.625%209H4.375C4.16875%209%204%209.16875%204%209.375V10.625C4%2010.8313%204.16875%2011%204.375%2011H5.625C5.83125%2011%206%2010.8313%206%2010.625ZM8.375%2011H9.625C9.83125%2011%2010%2010.8313%2010%2010.625V9.375C10%209.16875%209.83125%209%209.625%209H8.375C8.16875%209%208%209.16875%208%209.375V10.625C8%2010.8313%208.16875%2011%208.375%2011ZM14%2014.875V16H0V14.875C0%2014.6687%200.16875%2014.5%200.375%2014.5H0.984375V0.75C0.984375%200.334375%201.31875%200%201.73438%200H12.2656C12.6812%200%2013.0156%200.334375%2013.0156%200.75V14.5H13.625C13.8313%2014.5%2014%2014.6687%2014%2014.875ZM2.48438%2014.4688H6V12.375C6%2012.1687%206.16875%2012%206.375%2012H7.625C7.83125%2012%208%2012.1687%208%2012.375V14.4688H11.5156V1.53125L2.5%201.5L2.48438%2014.4688Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_480_2468'%3e%3crect%20width='14'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Rt="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='20'%20height='16'%20viewBox='0%200%2020%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17%206H16.5L13.1003%201.75063C12.913%201.51641%2012.6754%201.32734%2012.405%201.19741C12.1347%201.06747%2011.8387%201.00001%2011.5387%201H4.85406C4.03625%201%203.30094%201.49781%202.99719%202.25719L1.5%206V6.07062C0.63875%206.29375%200%207.06906%200%208V11.5C0%2011.7762%200.22375%2012%200.5%2012H2C2%2013.6569%203.34312%2015%205%2015C6.65688%2015%208%2013.6569%208%2012H12C12%2013.6569%2013.3431%2015%2015%2015C16.6569%2015%2018%2013.6569%2018%2012H19.5C19.7763%2012%2020%2011.7762%2020%2011.5V9C20%207.34312%2018.6569%206%2017%206ZM8.75%202.5H11.5387C11.6916%202.5%2011.8338%202.56844%2011.9291%202.6875L14.5791%206H8.75V2.5ZM4.38969%202.81437C4.46625%202.62344%204.64844%202.5%204.85406%202.5H7.25V6H3.11562L4.38969%202.81437ZM5%2013.5C4.17156%2013.5%203.5%2012.8284%203.5%2012C3.5%2011.1716%204.17156%2010.5%205%2010.5C5.82844%2010.5%206.5%2011.1716%206.5%2012C6.5%2012.8284%205.82844%2013.5%205%2013.5ZM15%2013.5C14.1716%2013.5%2013.5%2012.8284%2013.5%2012C13.5%2011.1716%2014.1716%2010.5%2015%2010.5C15.8284%2010.5%2016.5%2011.1716%2016.5%2012C16.5%2012.8284%2015.8284%2013.5%2015%2013.5ZM18.5%2010.5H17.5841C17.0644%209.60719%2016.1078%209%2015%209C13.8922%209%2012.9359%209.60719%2012.4159%2010.5H7.58406C7.06437%209.60719%206.10781%209%205%209C3.89219%209%202.93594%209.60719%202.41594%2010.5H1.5V8C1.5%207.72437%201.72438%207.5%202%207.5H17C17.8272%207.5%2018.5%208.17281%2018.5%209V10.5Z'%20fill='black'/%3e%3c/svg%3e",Be="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='12'%20height='16'%20viewBox='0%200%2012%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_480_2435)'%3e%3cpath%20d='M11.8068%205.24687C11.5506%204.8%2011.0849%204.53125%2010.5693%204.53125H7.61932L8.51619%201.79688C8.63182%201.36563%208.54119%200.9125%208.26932%200.55625C7.99432%200.203125%207.57869%200%207.13182%200H3.05369C2.34118%200%201.73181%200.534375%201.65368%201.15937L0.0161813%207.79063C-0.0431938%208.22188%200.0849314%208.65625%200.369307%208.98438C0.653682%209.3125%201.06618%209.5%201.50056%209.5H4.56619L3.47556%2014.2406C3.37556%2014.6688%203.47244%2015.1125%203.74431%2015.4563C4.01619%2015.8031%204.42556%2016%204.86619%2016C5.37556%2016%205.85057%2015.725%206.07869%2015.325L11.8037%206.67812C12.0662%206.23125%2012.0662%205.69375%2011.8068%205.24687ZM5.00369%2014.2937L6.45057%208H1.48493L3.05369%201.5L7.04119%201.47187L5.54744%206.03125H10.4381L5.00369%2014.2937Z'%20fill='%232A2A2A'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_480_2435'%3e%3crect%20width='12'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",cr="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='18'%20height='12'%20viewBox='0%200%2018%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16.2857%200H0.857143C0.383839%200%200%200.383839%200%200.857143V11.1429C0%2011.6162%200.383839%2012%200.857143%2012H16.2857C16.759%2012%2017.1429%2011.6162%2017.1429%2011.1429V0.857143C17.1429%200.383839%2016.759%200%2016.2857%200ZM15.8571%2010.7143H1.28571V1.28571H15.8571V10.7143ZM7.92857%207.71429H10.0714C10.1898%207.71429%2010.2857%207.61839%2010.2857%207.5V6.64286C10.2857%206.52446%2010.1898%206.42857%2010.0714%206.42857H7.92857C7.81018%206.42857%207.71429%206.52446%207.71429%206.64286V7.5C7.71429%207.61839%207.81018%207.71429%207.92857%207.71429ZM14.3571%206.42857H12.2143C12.0959%206.42857%2012%206.52446%2012%206.64286V7.5C12%207.61839%2012.0959%207.71429%2012.2143%207.71429H14.3571C14.4755%207.71429%2014.5714%207.61839%2014.5714%207.5V6.64286C14.5714%206.52446%2014.4755%206.42857%2014.3571%206.42857ZM7.92857%205.57143H14.3571C14.4755%205.57143%2014.5714%205.47554%2014.5714%205.35714V4.5C14.5714%204.38161%2014.4755%204.28571%2014.3571%204.28571H7.92857C7.81018%204.28571%207.71429%204.38161%207.71429%204.5V5.35714C7.71429%205.47554%207.81018%205.57143%207.92857%205.57143ZM3.60857%206.04607L4.73866%206.3525C4.85089%206.38304%204.92857%206.47437%204.92857%206.57482C4.92857%206.70339%204.80804%206.80786%204.65911%206.80786H3.95357C3.84241%206.80786%203.73312%206.78%203.6383%206.72884C3.5558%206.68411%203.45509%206.69214%203.3908%206.76045L3.0675%207.10143C2.9842%207.18929%202.99786%207.33286%203.09777%207.40116C3.32009%207.5525%203.58152%207.63902%203.85714%207.65616V7.92857C3.85714%208.04696%203.95304%208.14286%204.07143%208.14286H4.5C4.61839%208.14286%204.71429%208.04696%204.71429%207.92857V7.65402C5.30839%207.62455%205.78571%207.15661%205.78571%206.57455C5.78571%206.08786%205.44768%205.65634%204.96286%205.52536L3.83277%205.21893C3.72054%205.18839%203.64286%205.09705%203.64286%204.99661C3.64286%204.86804%203.76339%204.76357%203.91232%204.76357H4.61786C4.72902%204.76357%204.8383%204.79143%204.93312%204.84259C5.01562%204.88705%205.11634%204.87929%205.18062%204.81098L5.50393%204.47C5.58723%204.38214%205.57357%204.23857%205.47366%204.17027C5.25134%204.01893%204.98991%203.93241%204.71429%203.91527V3.64286C4.71429%203.52446%204.61839%203.42857%204.5%203.42857H4.07143C3.95304%203.42857%203.85714%203.52446%203.85714%203.64286V3.91741C3.26304%203.94688%202.78571%204.41482%202.78571%204.99688C2.78571%205.48357%203.12375%205.91509%203.60857%206.04607Z'%20fill='%232A2A2A'/%3e%3c/svg%3e";function Ve(e){return we(e)}function ur(e){return Ee[e.standard||e.connectorStandardType]}function dr(e,t){return new Intl.NumberFormat(e,{maximumFractionDigits:2}).format(t)}const xs={CONNECTOR_POWER_TYPE_UNSPECIFIED:"Unspecified",CONNECTOR_POWER_TYPE_AC_1_PHASE:"AC x 1",CONNECTOR_POWER_TYPE_AC_2_PHASE:"AC x 2",CONNECTOR_POWER_TYPE_AC_2_PHASE_SPLIT:"AC x 2 Split",CONNECTOR_POWER_TYPE_AC_3_PHASE:"AC x 3",CONNECTOR_POWER_TYPE_DC:"DC",CONNECTOR_POWER_TYPE_AC:"AC",AC_3_PHASE:"AC x 3",AC_1_PHASE:"AC x 1",DC:"DC"};function fr(e){return[bs(e.standard||e.connectorStandardType),xs[e.powerType||e.power_type||e.connectorPowerType],"Socket"].join(", ")}function bs(e){return e=(e||"").replace("CONNECTOR_STANDARD_TYPE_",""),e==="IEC_62196_T1"?"Type 1":e==="IEC_62196_T1_COMBO"?"Type 1 Combo":e==="IEC_62196_T2"?"Type 2":e==="IEC_62196_T2_COMBO"?"Type 2 Combo":e==="IEC_62196_T3A"?"Type 3A":e==="IEC_62196_T3C"?"Type 3C":e==="CHADEMO"?"CHAdeMO":e==="DOMESTIC_F"?"Domestic F":e==="DOMESTIC_E"?"Domestic E":e==="DOMESTIC_B"?"Domestic B":e==="CATARC"?"Catarc":e}function pr(e,t){return e(Nt(t))}function hr(e,t){return t?.type==="ON_STREET"?e("locationType.onStreet"):t?.type==="PARKING_GARAGE"?e("locationType.parkingGarage"):t?.type==="UNDERGROUND_GARAGE"?e("locationType.undergroundGarage"):t?.type==="PARKING_LOT"?e("locationType.parkingLot"):e("locationType.other")}function mr(e=[]){return e.some(t=>t.status==="AVAILABLE")?Ve("AVAILABLE"):e.some(t=>t.status==="CHARGING")?Ve("CHARGING"):Ve("UNKNOWN")}function gr(e,t){let n;["en","fr"].some(s=>{let c=new Intl.DateTimeFormat(s,{minute:"numeric",timeZone:t,timeZoneName:"short"}).formatToParts(e).filter(u=>u.type=="timeZoneName"&&u.value);if(/^(GMT|UTC)/.test(c[0].value))return n=c[0].value.replace(/GMT|UTC/,"")||"+0",!0});let o=n[0]=="+"?"+":"-",[i,a]=n.substring(1).split(":");return o+i.padStart(2,"0")+":"+(a||"00")}function vr(e){let t=/^-/.test(e)?-1:1,[n,o]=e.match(/\d\d/g);return t*(n*60+Number(o))}function bn(e,t){const n=s=>("0"+s).slice(-2),{year:o,month:i,day:a}=new Intl.DateTimeFormat("en",{timeZone:e}).formatToParts(t).reduce((s,l)=>(s[l.type]=l.value,l),Object.create(null));return`${o}-${n(i)}-${n(a)}`}function yr(e,t=new Date){const n=gr(t,e),o=vr(n),i=new Date(+t);return i.setUTCMinutes(i.getUTCMinutes()+o),i}function Cr(e,t=new Date){const n=gr(t,e),o=vr(n),i=new Date(+t);i.setUTCHours(0,-o,0,0);const a=bn(e,t),s=bn(e,i);return s>a?i.setUTCDate(i.getUTCDate()-1):s<a&&i.setUTCDate(i.getUTCDate()+1),i}function Ts(e,t=new Date){return new Date(Cr(e,t).valueOf()+86399999)}function Es(e,t,n){const o=yr(n,e);return o.getUTCDate()!==t&&o.setUTCDate(e.getUTCDate()+(7+t-e.getUTCDay()-1)%7+1),{start:Cr(n,o),end:Ts(n,o)}}function bt(e,t){return yr(t,e).getUTCDay()}function Tn(e){const[t,n]=e.split(":");return parseInt(t)*60+parseInt(n)}function Tt(e){if(!e?.restrictions?.startTime||!e?.restrictions?.endTime)return{elements:[e],priceComponents:e.priceComponents,startTime:0,endTime:1440,isFullDay:!0};const t=Tn(e.restrictions.startTime),n=Tn(e.restrictions.endTime);return{elements:[e],priceComponents:e.priceComponents,isFullDay:t===0&&n===1440,startTime:t,endTime:n}}function Ss(e,t,n){const o=(n.getHours()*60+n.getMinutes())%60;if(e.length<=1)return e.map(a=>(a.isActive=t&&a.startTime<=o&&a.endTime>=o,a));e=e.sort((a,s)=>a.startTime-s.startTime);let i=[e[0]];for(let a=1;a<e.length;a++){const s=e[a],l=i.findLast(u=>u.startTime<=s.startTime);if(!l)i=i.filter(u=>u.endTime>s.endTime),i.unshift(s);else{const u=l.endTime;l.endTime=s.startTime;const f=[s];u>s.endTime&&f.push({...l,startTime:s.endTime,endTime:u}),i.splice(i.indexOf(l)+1,0,...f)}let c=0;i=i.map((u,f)=>{const d=i[f-1];if(u.endTime>c)c=u.endTime;else return null;return d&&d.endTime!==u.startTime&&(u.startTime=d.endTime),u}).filter(Boolean)}return i.map(a=>(a.isActive=t&&a.startTime<=o&&a.endTime>=o,a.isFullDay=a.startTime===0&&a.endTime===1440,a))}function xe(e){return!e?.restrictions||!e?.restrictions?.startDate&&!e?.restrictions?.endDate&&!e?.restrictions?.startTime&&!e?.restrictions?.startTime&&!e?.restrictions?.dayOfWeek}function Lt({elements:e,limit:t=6,now:n=new Date}){const i=[...e].filter(a=>!xe(a)).map(a=>({...a,restrictions:{_startDate:new Date(`${a.restrictions.startDate}T${a.restrictions.startTime}`),...a.restrictions}})).sort((a,s)=>a.restrictions._startDate.valueOf()-s.restrictions._startDate.valueOf()).filter(a=>a.restrictions._startDate.valueOf()>n.valueOf()-108e5).slice(0,t).reduce((a,s)=>{const l=s.restrictions._startDate.getDate();return a[l]={date:new Date(s.restrictions.startDate),items:[...a[l]?.items||[],s]},a},[]);return Object.keys(i).map(a=>{const{date:s,items:l}=i[a],c=l.map(({restrictions:u,...f})=>{const{_startDate:d,...p}=u;return{...f,restrictions:{...p}}}).map(Tt).map(u=>{const f=bt(n)===bt(s),d=n.getHours()*60+n.getMinutes(),p=f&&u.startTime<=d&&u.endTime-1>=d;return{...u,isActive:p}});return{date:s,items:c}})}function ws(e,t){const n=new Date;return[...e].reduce((o,i)=>{const{startDate:a,endDate:s,dayOfWeek:l=[]}=i.restrictions||{};if(!Object.keys(i.restrictions||{}).length)return o;const c=a?new Date(a):null;if(a&&c.valueOf()>Date.now())return o;const u=s?new Date(s):null;return s&&u.valueOf()<Date.now()||["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"].forEach((f,d)=>{const{start:p,end:v}=Es(n,d,t);c&&c.valueOf()>p.valueOf()||u&&u.valueOf()<v.valueOf()||l.length&&!l.includes(f)||(o[f]=[...o[f],i])}),o},{MONDAY:[],TUESDAY:[],WEDNESDAY:[],THURSDAY:[],FRIDAY:[],SATURDAY:[],SUNDAY:[]})}function En(e,t){return Object.keys(e).reduce((n,o)=>(t.includes(o)||(n[o]=e[o]),n),{})}function _s(e,t){const n=e.map(i=>En(i,["isActive"])),o=t.map(i=>En(i,["isActive"]));return JSON.stringify(n)===JSON.stringify(o)}function Ns(e){return e.reduce((t,n)=>{const o=t.find(i=>i.startTime===n.startTime&&i.endTime===n.endTime);return o?o.elements.push(...n.elements):t.push(n),t},[])}function As(e){return xe(e)?(e.priceComponents||[]).some(t=>t.type!=="PARKING_TIME"&&(t.price||0)>0):!1}function Os(e){return e.startTime===0&&e.endTime<=1||e.startTime>=1439&&e.endTime===1440}function xr(e,t,n){const o=ws(e.concat().filter(u=>!xe(u)),t),i=e.find(As),{SUNDAY:a,...s}=o,[l,...c]=Object.keys({SUNDAY:o.SUNDAY,...s}).map((u,f)=>{const d=o[u],p=bt(n,t)===f,v=Ns(d.map(Tt));return i&&v.length>0&&v.unshift(Tt(i)),{day:u,isActive:p,items:Ss(v,p,n).filter(y=>!Os(y))}});return[...c,l].reduce((u,f,d,p)=>{const v=u[u.length-1],y=v?.items;if(!y||!_s(y,f.items)){const{day:T,...A}=f;u.push({...A,days:[f.day]})}else v.days=[v.days[0],f.day],v.isActive=v.isActive||f.isActive;return u},[]).filter(u=>!!u.items.length)}function js(e){const{elements:t=[]}=e;return t?.some(a=>a?.priceComponents?.length>0)?t.filter(xe).length===t.length?"base":Lt({elements:t,limit:6,now:new Date}).length?"dynamic":"scheduled":"none"}const Me={CONNECTOR_POWER_TYPE_AC_1_PHASE:"CONNECTOR_POWER_TYPE_AC_1_PHASE",CONNECTOR_POWER_TYPE_AC_2_PHASE:"CONNECTOR_POWER_TYPE_AC_2_PHASE",CONNECTOR_POWER_TYPE_AC_2_PHASE_SPLIT:"CONNECTOR_POWER_TYPE_AC_2_PHASE_SPLIT",CONNECTOR_POWER_TYPE_AC_3_PHASE:"CONNECTOR_POWER_TYPE_AC_3_PHASE",CONNECTOR_POWER_TYPE_DC:"CONNECTOR_POWER_TYPE_DC"};function Ps(e){switch(e.connectorPowerType){case Me.CONNECTOR_POWER_TYPE_AC_1_PHASE:case Me.CONNECTOR_POWER_TYPE_DC:return e.power.maxVoltage*e.power.maxAmperage/1e3;case Me.CONNECTOR_POWER_TYPE_AC_2_PHASE:case Me.CONNECTOR_POWER_TYPE_AC_2_PHASE_SPLIT:return e.power.maxVoltage*e.power.maxAmperage*2/1e3;case Me.CONNECTOR_POWER_TYPE_AC_3_PHASE:return e.power.maxVoltage*e.power.maxAmperage*3/1e3;default:return 0}}const Ds="ConnectorTariff-module_container",Is="ConnectorTariff-module_bold",ks="ConnectorTariff-module_dynamicTariffItem",Ms="ConnectorTariff-module_dynamicTariffItemRange",Rs="ConnectorTariff-module_tariffHeader",Ls="ConnectorTariff-module_tariffLabel",Fs="ConnectorTariff-module_tariffNote",Hs="ConnectorTariff-module_activeNowLabel",Q={container:Ds,bold:Is,dynamicTariffItem:ks,dynamicTariffItemRange:Ms,tariffHeader:Rs,tariffLabel:Ls,tariffNote:Fs,activeNowLabel:Hs},Vs="Price-module_tariffItem",Et={tariffItem:Vs};function $s(e,t){return new Intl.NumberFormat(void 0,{style:"currency",currency:t.currency||"EUR",maximumFractionDigits:2}).format(e)}function zs(e){const t=e.vat?e.vat/100:0;return e.price+e.price*t}function Bs({priceComponent:e,restrictions:t={},currency:n}){const{t:o}=U(),i={ENERGY:"tariffPriceComponent.energy",TIME:"tariffPriceComponent.time",FLAT:"tariffPriceComponent.flat",PARKING_TIME:"tariffPriceComponent.parkingTime"};return t?.minDuration===0&&t?.maxDuration&&e.type==="PARKING_TIME"?r.jsx("div",{className:Et.tariffItem,children:o("tariffPriceComponent.parkingTimeWait",{minutes:Math.floor(t.maxDuration/60)})}):i[e.type]?r.jsx("div",{className:Et.tariffItem,children:o(i[e.type],{total:$s(zs(e),{currency:n})})}):null}const Us="PriceComponents-module_container",Ws={container:Us},Sn=["ENERGY","TIME","FLAT","PARKING_TIME"];function Je({elements:e,currency:t}){const{t:n}=U(),o=e.reduce((a,s)=>(s.priceComponents.forEach(l=>{a[l.type]||(a[l.type]=[]),a[l.type].push({priceComponent:l,restrictions:s.restrictions})}),a),{}),i=Object.keys(o).map(a=>({type:a,elements:o[a]})).sort((a,s)=>{const l=Sn.indexOf(a.type),c=Sn.indexOf(s.type);return l===-1?1:c===-1?-1:l-c});return r.jsx("div",{className:Ws.container,children:i.map(({type:a,elements:s},l)=>s.reverse().map((c,u)=>r.jsx(Bs,{currency:t,priceComponent:c.priceComponent,restrictions:c.restrictions},`${a}-${l}-${u}`)))})}function Gs(e,t){return new Intl.NumberFormat(void 0,{style:"currency",currency:t.currency||"EUR",maximumFractionDigits:2}).format(e)}function Ys({vat:e,price:t}){const n=e?e/100:0;return t+t*n}function Ks({cdrAdditionalCharge:e,currency:t}){const{t:n}=U(),o={FLAT_FEE:n("cdrPrice.flatFee",{total:Gs(Ys(e),{currency:t})})};return r.jsx("div",{className:Et.tariffItem,children:o[e.type]})}function Xe(e,t){const n=new Date(0),o=Math.floor(t/60),i=t%60;return n.setHours(o,i,0,0),n.toLocaleTimeString("nl",{hour:"2-digit",minute:"2-digit"})}const Zs=Intl.DateTimeFormat().resolvedOptions().timeZone;function qs(e){const{format:t}=new Intl.DateTimeFormat(e,{weekday:"long"});return["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"].reduce((n,o,i)=>(n[o]=t(new Date(Date.UTC(2023,9,i+1))),n),{})}function Re({currency:e,cdrAdditionalCharges:t}){return t.map(n=>r.jsx(Ks,{currency:e,cdrAdditionalCharge:n},n.id))}function Ft({timezone:e=Zs,tariff:t,compact:n=!0,cdrAdditionalCharges:o=[]}){const{t:i,language:a}=U(),s=qs(a);if(!t)return null;const l=t.elements||[],c=t.currency||"",u=l.some(y=>y.priceComponents&&y.priceComponents.length>0),f=Lt({elements:l,limit:n?6:40,now:new Date}),d=f.length?[]:xr(l,e,new Date),p=l.filter(xe);if(!u)return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:Q.tariffNote,children:i("tariffPriceComponent.noTariff")}),o.length>0&&r.jsx("div",{className:Q.container,children:r.jsx(Re,{currency:c,cdrAdditionalCharges:o})})]});const v=!d.some(y=>y.isActive);return d.length?r.jsxs("div",{className:Q.container,children:[p.length>0&&r.jsxs("div",{className:[Q.tariffList,Q.bold].join(" "),children:[r.jsxs("div",{className:Q.tariffHeader,children:[i("tariffPriceComponent.baseTariff"),v&&r.jsx("span",{className:Q.activeNowLabel,children:i("tariffPriceComponent.active")})]}),r.jsx(Je,{elements:p,currency:c}),r.jsx(Re,{currency:c,cdrAdditionalCharges:o})]}),d.map(y=>r.jsxs("div",{className:Q.tariffList,children:[r.jsxs("div",{className:Q.tariffHeader,children:[y.days.map(T=>s[T]).join(" - "),y.isActive&&r.jsx("span",{className:Q.activeNowLabel,children:i("tariffPriceComponent.active")})]}),y.items.map(T=>r.jsxs("div",{className:T.isActive&&Q.bold,children:[!T.isFullDay&&r.jsxs("div",{className:Q.tariffLabel,children:[Xe(a,T.startTime)," -"," ",Xe(a,T.endTime)]}),r.jsxs("div",{children:[r.jsx(Je,{elements:T.elements,currency:c}),r.jsx(Re,{currency:c,cdrAdditionalCharges:o})]})]},T.startTime))]},y.days.join("-")))]}):r.jsxs("div",{className:Q.container,children:[p.length>0&&!f?.length&&r.jsxs("div",{className:Q.tariffList,children:[r.jsx(Je,{elements:p,currency:c}),r.jsx(Re,{currency:c,cdrAdditionalCharges:o})]}),f.length>0&&r.jsx(r.Fragment,{children:f.map((y,T)=>r.jsxs(r.Fragment,{children:[r.jsx("div",{className:Q.tariffHeader,children:i("tariffPriceComponent.dynamicTariffHeader",{date:new Intl.DateTimeFormat(a,{weekday:"long",month:"short",day:"numeric"}).format(y.date)})}),r.jsx("div",{className:Q.dynamicTariffList,children:y.items.map((A,M)=>r.jsxs("div",{className:[Q.dynamicTariffItem,A.isActive&&Q.bold].filter(Boolean).join(" "),children:[r.jsxs("div",{className:Q.dynamicTariffItemRange,children:[Xe(a,A.startTime)," –"," ",Xe(a,A.endTime)]}),r.jsx(Je,{elements:A.elements,currency:c}),r.jsx(Re,{currency:c,cdrAdditionalCharges:o}),A.isActive&&r.jsx("span",{className:Q.activeNowLabel,children:i("tariffPriceComponent.active")})]},[A.startTime,A.endTime,M].join()))})]}))})]})}function wn(e,t,n){const o=[];return t?.customNote&&o.push(t?.customNote),n==="none"?o.length?o:[e("tariffNote.baseTariffNote")]:(n==="dynamic"&&o.push(e("tariffNote.dynamicScheduledTariffNote")),t?.infraProviderId==="NLEFL"||t?.party_id==="EFL"?(n==="scheduled"&&o.push(e("tariffNote.eFluxScheduledTariffNote")),o):(n==="scheduled"?o.push(e("tariffNote.baseTariffNote"),e("tariffNote.scheduledTariffNote")):o.push(e("tariffNote.baseTariffNote")),o))}const Js=({currentLocation:e,evses:t,setView:n,cdrAdditionalCharges:o})=>{const{options:i,t:a,language:s}=U(),l=t.filter(c=>c.status==="AVAILABLE");return r.jsxs("div",{className:_.container,children:[r.jsxs("div",{className:_.row,children:[r.jsx("img",{className:_.icon,src:sr,alt:"station icon"}),r.jsxs("div",{className:_.text,children:[i.locationBaseUrl&&r.jsx("a",{href:`${i.locationBaseUrl}/${e.id}`,children:e.name||"-"}),!i.locationBaseUrl&&e.name]})]}),r.jsxs("div",{className:_.row,children:[r.jsx("div",{className:_.icon,children:r.jsx("div",{style:{background:mr(e.evses)},className:_.statusIcon})}),r.jsxs("div",{className:_.text,children:[l.length," / ",t.length," ",a("evse.statusAvailable")]})]}),e.subOperator?.name&&r.jsxs("div",{className:_.row,children:[r.jsx("img",{className:_.icon,src:lr,alt:"building icon"}),r.jsx("div",{className:_.text,children:e.subOperator?.name})]}),e.parkingType!=="UNKNOWN"&&r.jsxs("div",{className:_.row,children:[r.jsx("img",{className:_.icon,src:Rt,alt:"parking icon"}),r.jsx("div",{className:_.text,children:hr(a,e.parkingType)})]}),t.map(c=>r.jsxs("div",{children:[r.jsx("hr",{className:_.divider}),r.jsxs("div",{className:_.row,children:[r.jsx("img",{className:_.icon,src:Be,alt:"power icon"}),r.jsx("div",{className:_.text,children:c.evseId})]}),r.jsxs("div",{className:_.row,children:[r.jsx("div",{style:{background:Ve(c.status)},className:_.statusIcon}),r.jsx("div",{className:_.text,children:[pr(a,c.status),c.maxPower&&`${dr(s,Math.floor(c.maxPower))}kW`].filter(Boolean).join(", ")})]}),c.connectors.map((u,f)=>{const d=js(u.tariff),p=wn(a,e,d);return r.jsxs("div",{children:[" ",r.jsxs("div",{className:_.row,children:[r.jsx("img",{className:_.icon,src:ur(u),alt:"socket type"}),r.jsx("div",{className:_.text,children:fr(u)})]}),r.jsxs("div",{className:_.row,children:[r.jsx("img",{className:_.icon,src:cr,alt:"pricing"}),r.jsx("div",{className:_.text,children:a("evse.pricing")})]}),r.jsx(Ft,{tariff:u.tariff,cdrAdditionalCharges:o}),d==="dynamic"&&r.jsx("div",{className:_.tariffNoteLink,onClick:()=>{n("dynamicTariff",{connector:u,evseId:c.evseId,notes:p,locationName:e.name})},children:a("location.viewAllHourlyPrices")}),p.length>0&&r.jsxs("div",{className:_.tariffNoteLink,onClick:()=>{n("tariffNote",{locationName:e.name,evseId:c.evseId,notes:wn(a,e,d)})},children:[r.jsx(ar,{})," ",a("tariffPriceComponent.viewTariff")]})]},`connector-${f}`)})]},c.evseId))]})},Xs="LocationRow-module_row",Qs="LocationRow-module_expandable",el="LocationRow-module_icon",tl="LocationRow-module_text",nl="LocationRow-module_textHint",rl="LocationRow-module_chevron",ol="LocationRow-module_chevronOpen",il="LocationRow-module_body",ve={row:Xs,expandable:Qs,icon:el,text:tl,textHint:nl,chevron:rl,chevronOpen:ol,body:il},al={display:"flex",flexDirection:"row",flexWrap:"nowrap",alignItems:"center",padding:"5px 0",minWidth:0},sl={display:"inline-flex",alignItems:"center",justifyContent:"center",height:16,width:16,flex:"0 0 auto",marginRight:14,overflow:"hidden"},ll={flex:"1 1 auto",minWidth:0,fontSize:12,lineHeight:"16px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},cl={color:"var(--roadmap-muted-color, #6a6a6a)",fontWeight:"normal"},ul={display:"inline-flex",alignItems:"center",justifyContent:"center",height:10,width:10,flex:"0 0 auto",marginLeft:8,transition:"transform 0.15s ease",color:"var(--roadmap-text-color, #2a2a2a)"},dl={padding:"4px 0 6px 30px",display:"flex",flexDirection:"column",gap:4},ue=({icon:e,text:t,hint:n,children:o,defaultExpanded:i=!1})=>{const a=h.Children.count(o)>0,[s,l]=h.useState(i),c=()=>l(u=>!u);return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:`${ve.row} ${a?ve.expandable:""}`,style:{...al,cursor:a?"pointer":void 0,userSelect:a?"none":void 0},role:a?"button":void 0,tabIndex:a?0:void 0,"aria-expanded":a?s:void 0,onClick:a?c:void 0,onKeyDown:a?u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),c())}:void 0,children:[r.jsx("span",{className:ve.icon,style:sl,children:h.isValidElement(e)?h.cloneElement(e,{style:{maxWidth:16,maxHeight:16,display:"block",...e.props?.style||{}}}):e}),r.jsxs("div",{className:ve.text,style:ll,children:[t,n!=null&&r.jsxs("span",{className:ve.textHint,style:cl,children:[" · ",n]})]}),a&&r.jsx("span",{className:`${ve.chevron} ${s?ve.chevronOpen:""}`,style:{...ul,transform:s?"rotate(180deg)":void 0},children:r.jsx(cs,{})})]}),a&&s&&r.jsx("div",{className:ve.body,style:dl,children:o})]})},fl=({location:e})=>{const{options:t,mapKind:n}=U(),o=e?.name||"-",i=e?.externalId||e?.id;let a;i&&t.locationUrlTemplate&&n==="cpo"?a=t.locationUrlTemplate.replace(/{{\s*locationId\s*}}/g,i):i&&t.locationBaseUrl&&(a=`${t.locationBaseUrl}/${i}`);const s=a?r.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:o}):o;return r.jsx(ue,{icon:r.jsx("img",{src:sr,alt:"station icon"}),text:s})},pl=({evses:e})=>{const{t}=U(),n=e?.filter(o=>o.status==="AVAILABLE")||[];return r.jsx(ue,{icon:r.jsx(jt,{color:mr(e)}),text:`${n.length} / ${e?.length||0} ${t("evse.statusAvailable")}`})},hl="OperatorSection-module_block",ml="OperatorSection-module_role",gl="OperatorSection-module_header",vl="OperatorSection-module_name",yl="OperatorSection-module_logo",Cl="OperatorSection-module_website",je={block:hl,role:ml,header:gl,name:vl,logo:yl,website:Cl},xl=({role:e,showRoleLabel:t})=>{const{t:n}=U();return e.name?r.jsxs("div",{className:je.block,style:{display:"flex",flexDirection:"column",gap:2,marginBottom:8},children:[t&&r.jsx("div",{className:je.role,style:{fontSize:11,textTransform:"uppercase",color:"var(--roadmap-muted-color, #6a6a6a)",letterSpacing:"0.04em"},children:n(e.labelKey)}),r.jsxs("div",{className:je.header,style:{display:"flex",alignItems:"center",gap:8},children:[e.logoUrl&&r.jsx("img",{className:je.logo,src:e.logoUrl,alt:`${e.name} logo`,style:{maxHeight:20,maxWidth:80,width:"auto",height:"auto",objectFit:"contain",display:"block"}}),r.jsx("div",{className:je.name,style:{fontSize:13,fontWeight:600},children:e.name})]}),e.website&&r.jsx("a",{className:je.website,href:e.website,target:"_blank",rel:"noopener noreferrer",style:{fontSize:12,color:"var(--roadmap-brand-color)",textDecoration:"none",wordBreak:"break-all"},children:n("location.visitWebsite")})]}):null},bl=({operator:e,suboperator:t,fallbackOperatorName:n,fallbackSuboperatorName:o})=>{const{t:i}=U(),a={labelKey:"location.suboperator",name:t?.name||o,website:t?.website,logoUrl:t?.logo?.thumbnail||t?.logo?.url},s={labelKey:"location.operator",name:e?.name||n,website:e?.website,logoUrl:e?.logo?.thumbnail||e?.logo?.url},l=a.name?a:s.name?s:null;return l?r.jsx(ue,{icon:r.jsx("img",{src:lr,alt:"building icon"}),text:i("location.operatorInfo"),hint:l.name,children:r.jsx(xl,{role:l,showRoleLabel:!1})}):null};function _n(e,t){if(t<1||t>7)return"";const n=new Date(2024,0,t);return new Intl.DateTimeFormat(e,{weekday:"long"}).format(n)}function Tl(e=new Date){return St(e.getDay())}function br(e){const t={};for(let n=1;n<=7;n++)t[n]=[];(e||[]).forEach(n=>{n.weekday>=1&&n.weekday<=7&&t[n.weekday].push(n)});for(const n of Object.keys(t))t[Number(n)].sort((o,i)=>o.period_begin.localeCompare(i.period_begin));return t}function Tr(e,t){return`${e} - ${t}`}function Qe(e){const[t,n]=e.split(":").map(Number);return t*60+(n||0)}function St(e){return e===0?7:e}function Nn(e,t){if(!e)return null;const n=t.getTime();for(const o of e){const i=new Date(o.period_begin).getTime(),a=new Date(o.period_end).getTime();if(!isNaN(i)&&!isNaN(a)&&n>=i&&n<=a)return o}return null}function El(e,t=new Date){if(!e)return{open:!1};if(e.twentyfourseven)return{open:!0};const n=St(t.getDay()),o=Nn(e.exceptional_closings,t);if(o){const c=new Date(o.period_end),u=St(c.getDay());return{open:!1,nextChange:{time:c.toISOString().slice(11,16),label:"opens",day:u===n?void 0:u}}}const i=Nn(e.exceptional_openings,t);if(i)return{open:!0,nextChange:{time:new Date(i.period_end).toISOString().slice(11,16),label:"closes"}};const a=br(e.regular_hours),s=n===1?7:n-1,l=t.getHours()*60+t.getMinutes();for(const c of a[s]){const u=Qe(c.period_begin),f=Qe(c.period_end);if((f<u||f===0)&&l<(f===0?1440:f))return{open:!0,nextChange:{time:c.period_end,label:"closes"}}}for(const c of a[n]){const u=Qe(c.period_begin),f=Qe(c.period_end),p=f<u||f===0?1440:f;if(l>=u&&l<p)return{open:!0,nextChange:{time:c.period_end,label:"closes"}};if(l<u)return{open:!1,nextChange:{time:c.period_begin,label:"opens"}}}for(let c=1;c<=7;c++){const u=(n-1+c)%7+1,f=a[u];if(f.length>0)return{open:!1,nextChange:{time:f[0].period_begin,label:"opens",day:u===n?void 0:u}}}return{open:!1}}function An(e,t=new Date){if(!e)return[];const n=t.getTime();return e.filter(o=>{const i=new Date(o.period_end).getTime();return!isNaN(i)&&i>=n})}function Sl(e){const t=e%100;if(t>=11&&t<=13)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}function On(e,t){const n=new Date(t);if(isNaN(n.getTime()))return t;if(e==="en"){const o=new Intl.DateTimeFormat("en",{month:"long"}).format(n),i=n.getDate();return`${o} ${i}${Sl(i)}`}return new Intl.DateTimeFormat(e,{month:"long",day:"numeric"}).format(n)}function wl(e){const t=new Date(e.period_begin),n=new Date(e.period_end);return isNaN(t.getTime())||isNaN(n.getTime())?`${e.period_begin} - ${e.period_end}`:Tr(t.toISOString().slice(11,16),n.toISOString().slice(11,16))}const _l="OpeningHours-module_pill",Nl="OpeningHours-module_pillOpen",Al="OpeningHours-module_pillClosed",Ol="OpeningHours-module_day",jl="OpeningHours-module_dayLabel",Pl="OpeningHours-module_dayValue",Dl="OpeningHours-module_today",Il="OpeningHours-module_exceptional",kl="OpeningHours-module_exceptionalHeader",Ml="OpeningHours-module_exceptionalClosingHeader",Rl="OpeningHours-module_exceptionalOpeningHeader",Ll="OpeningHours-module_footnote",J={pill:_l,pillOpen:Nl,pillClosed:Al,day:Ol,dayLabel:jl,dayValue:Pl,today:Dl,exceptional:Il,exceptionalHeader:kl,exceptionalClosingHeader:Ml,exceptionalOpeningHeader:Rl,footnote:Ll},Fl=({openingTimes:e,chargingWhenClosed:t})=>{const{t:n,language:o}=U();if(!e)return null;const i=El(e),a=br(e.regular_hours),s=An(e.exceptional_closings),l=An(e.exceptional_openings),c=(e.regular_hours?.length??0)>0,u=e.twentyfourseven||c;if(!u&&s.length===0&&l.length===0&&!t)return null;const f=e.twentyfourseven||i.open,d=Tl();let p;if(e.twentyfourseven)p=n("location.hours24");else if(i.nextChange){const{time:j,label:Y,day:B}=i.nextChange;Y==="closes"?p=n("location.closesAt",{time:j}):p=B?n("location.opensAtDay",{time:j,day:_n(o,B)}):n("location.opensAt",{time:j})}const v={display:"inline-block",borderRadius:8,padding:"1px 8px",fontSize:12,lineHeight:"16px",fontWeight:600,background:f?"#e7f6ec":"#fdecea",color:f?"#1b7a3d":"#c5221f"},y={display:"flex",fontSize:12,lineHeight:1.5},T={minWidth:84},A={flex:"1 1 auto"},M={fontWeight:600},z={fontSize:12,marginTop:8,paddingTop:8,borderTop:"1px solid var(--roadmap-border-color, #e5e5e5)"},P={fontWeight:600,marginBottom:4},C={fontSize:11,fontStyle:"italic",color:"var(--roadmap-muted-color, #6a6a6a)",marginTop:6},m=r.jsx("span",{className:`${J.pill} ${f?J.pillOpen:J.pillClosed}`,style:v,children:n(f?"location.open":"location.closedNow")});return r.jsxs(ue,{icon:r.jsx(us,{}),text:m,hint:p,children:[u&&[1,2,3,4,5,6,7].map(j=>{const Y=j===d,B=e.twentyfourseven?n("location.open24hours"):a[j].length===0?n("location.closed"):a[j].map(K=>Tr(K.period_begin,K.period_end)).join(", ");return r.jsxs("div",{className:`${J.day} ${Y?J.today:""}`,style:{...y,...Y?M:{}},children:[r.jsx("div",{className:J.dayLabel,style:T,children:_n(o,j)}),r.jsx("div",{className:J.dayValue,style:A,children:B})]},j)}),s.length>0&&r.jsxs("div",{className:J.exceptional,style:z,children:[r.jsx("div",{className:`${J.exceptionalHeader} ${J.exceptionalClosingHeader}`,style:{...P,color:"#c5221f"},children:n("location.exceptionalClosings")}),s.map((j,Y)=>r.jsxs("div",{className:`${J.day} ${J.today}`,style:{...y,...M},children:[r.jsx("div",{className:J.dayLabel,style:T,children:On(o,j.period_begin)}),r.jsx("div",{className:J.dayValue,style:A,children:n("location.closed")})]},`c-${Y}`))]}),l.length>0&&r.jsxs("div",{className:J.exceptional,style:z,children:[r.jsx("div",{className:`${J.exceptionalHeader} ${J.exceptionalOpeningHeader}`,style:{...P,color:"#1b7a3d"},children:n("location.exceptionalOpenings")}),l.map((j,Y)=>r.jsxs("div",{className:`${J.day} ${J.today}`,style:{...y,...M},children:[r.jsx("div",{className:J.dayLabel,style:T,children:On(o,j.period_begin)}),r.jsx("div",{className:J.dayValue,style:A,children:wl(j)})]},`o-${Y}`))]}),t&&r.jsx("div",{className:J.footnote,style:C,children:n("location.chargingWhenClosed")})]})},Hl=({parkingType:e})=>{const{t}=U();return!e||e==="PARKING_TYPE_UNKNOWN"?null:r.jsx(ue,{icon:r.jsx("img",{src:Rt,alt:"parking icon"}),text:hr(t,e)})},Vl=({accessibility:e})=>e?r.jsx(ue,{icon:r.jsx("img",{src:Rt,alt:"accessibility icon"}),text:e==="TESLA"?"Tesla vehicles only":"All electric vehicles"}):null,$l=({evse:e})=>r.jsx(ue,{icon:r.jsx("img",{src:Be,alt:"power icon"}),text:e.evse_id||"",hint:e.physical_reference||void 0}),zl=({evse:e})=>{const{t,language:n,options:o}=U(),i=e.connectors[0],a=i?.power&&i?.connectorPowerType?`${dr(n,Math.floor(Ps(i)))}kW`:null,s=[pr(t,e.status),a].filter(Boolean).join(", ");return r.jsx(ue,{icon:r.jsx(jt,{color:we(e.status,"roaming",o?.version)}),text:s})},Bl=({connector:e})=>r.jsx(ue,{icon:r.jsx("img",{src:ur(e),alt:"socket type"}),text:fr(e)}),Ul=()=>{const{t:e}=U();return r.jsx(ue,{icon:r.jsx("img",{src:cr,alt:"pricing"}),text:e("evse.pricing")})};function Ht(e){return e?.currency?{currency:e.currency,id:e.id,country_code:e.country_code,party_id:e.party_id,elements:(e?.elements||[]).map(t=>({priceComponents:(t?.price_components||[]).map(n=>({type:(()=>{switch(n.type){case"FLAT":return"FLAT";case"TIME":return"TIME";case"ENERGY":return"ENERGY";case"PARKING_TIME":return"PARKING_TIME";case"CONGESTION_TIME":return"CONGESTION_TIME"}})(),price:n.price,vat:n.vat,stepSize:n.step_size})),...t?.restrictions?{restrictions:{startTime:t?.restrictions?.start_time,endTime:t?.restrictions?.end_time,startDate:t?.restrictions?.start_date,endDate:t?.restrictions?.end_date,dayOfWeek:t?.restrictions?.day_of_week,minDuration:t?.restrictions?.min_duration,maxDuration:t?.restrictions?.max_duration}}:{}}))}:null}const Wl=({tariff:e,additionalCharges:t})=>{const{t:n}=U(),o=e?.elements?.some(i=>i?.price_components?.some(a=>a.type==="CONGESTION_TIME"));return r.jsxs(r.Fragment,{children:[o&&r.jsx("div",{style:{padding:"0.8rem",margin:"0.8rem 0",backgroundColor:"#FFF4E5",borderLeft:"3px solid #FF9800",borderRadius:"4px",fontSize:"13px",color:"#663C00"},children:n("tariff.congestionPricing")}),r.jsx(Ft,{tariff:Ht(e),cdrAdditionalCharges:t})]})},Gl=["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"];function jn(e){const[t,n]=e.split(":").map(Number);return t*60+(n||0)}function Yl(e,t,n){const o=n.getHours()*60+n.getMinutes(),i=jn(e),a=jn(t);return a<i?o>=i||o<a:o>=i&&o<a}function Kl(e,t){if(xe(e))return!0;const n=e.restrictions;if(n.startTime&&n.endTime&&!Yl(n.startTime,n.endTime,t))return!1;if(n.dayOfWeek&&n.dayOfWeek.length>0){const o=Gl[t.getDay()];if(!n.dayOfWeek.includes(o))return!1}if(n.startDate){const o=new Date(n.startDate);if(!isNaN(o.getTime())&&t<o)return!1}if(n.endDate){const o=new Date(n.endDate);if(!isNaN(o.getTime())&&t>o)return!1}return!0}function Zl(e,t){const n=t.restrictions?.minDuration??0,o=t.restrictions?.maxDuration??0;return`${e}:${n}:${o}`}function ql(e,t=new Date){if(!e)return{elements:[],currency:""};const o=(e.elements||[]).filter(c=>Kl(c,t)),i={};o.forEach(c=>{const u=xe(c);(c.priceComponents||[]).forEach(f=>{const d=Zl(f.type,c),p=i[d];(!p||p.isBase&&!u)&&(i[d]={element:c,pc:f,isBase:u})})});const a=new Map,s=[];return Object.values(i).forEach(({element:c,pc:u})=>{a.has(c)||(a.set(c,[]),s.push(c)),a.get(c).push(u)}),{elements:s.map(c=>({...c,priceComponents:a.get(c)})),currency:e.currency||""}}const Jl={display:"flex",flexWrap:"wrap",gap:6},Er={fontSize:12,lineHeight:1.3,padding:"1px 8px",borderRadius:6,background:"color-mix(in srgb, var(--roadmap-brand-color, #6102d3) 12%, transparent)",color:"var(--roadmap-brand-color, #6102d3)",border:"1px solid color-mix(in srgb, var(--roadmap-brand-color, #6102d3) 30%, transparent)"},Xl=Er,Ql={ENERGY:"tariffPriceComponent.energy",TIME:"tariffPriceComponent.time",FLAT:"tariffPriceComponent.flat",PARKING_TIME:"tariffPriceComponent.parkingTime"},Pn=["ENERGY","TIME","FLAT","PARKING_TIME"];function Dn(e,t){return new Intl.NumberFormat(void 0,{style:"currency",currency:t||"EUR",maximumFractionDigits:2}).format(e)}function ec(e){const t=e.vat?e.vat/100:0;return e.price+e.price*t}function Sr(e,t){return e.type==="PARKING_TIME"&&(e.price||0)===0&&!!t?.maxDuration&&(!t.minDuration||t.minDuration===0)}function tc(e,t){const n=[];return e.forEach(o=>{(o.priceComponents||[]).forEach(i=>{t&&(i.price||0)<=0&&!Sr(i,o.restrictions)||n.push({pc:i,restrictions:o.restrictions})})}),n.sort((o,i)=>{const a=Pn.indexOf(o.pc.type),s=Pn.indexOf(i.pc.type);return a===-1?1:s===-1?-1:a-s})}const nc=({elements:e,currency:t,skipZero:n=!0,highlight:o=!1,additionalCharges:i=[]})=>{const{t:a}=U(),s=tc(e,n),l=o?Xl:Er;return s.length===0&&i.length===0?null:r.jsxs("div",{style:Jl,children:[s.map(({pc:c,restrictions:u},f)=>{if(Sr(c,u))return r.jsx("div",{style:l,children:a("tariffPriceComponent.parkingTimeWait",{minutes:String(Math.floor(u.maxDuration/60))})},`pc-${f}`);const d=Ql[c.type];return d?r.jsx("div",{style:l,children:a(d,{total:Dn(ec(c),t)})},`pc-${f}`):null}),i.map(c=>{if(c.type!=="FLAT_FEE")return null;const u=c.price+(c.vat?c.price*(c.vat/100):0);return r.jsx("div",{style:l,children:a("cdrPrice.flatFee",{total:Dn(u,t)})},`cdr-${c.id}`)})]})},In={display:"flex",flexDirection:"column",gap:4,padding:"6px 0"},rc={display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:12,color:"var(--roadmap-muted-color, #6a6a6a)"},oc={display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:8},$e=({elements:e,currency:t,label:n,trailing:o,highlight:i=!1,additionalCharges:a,onClick:s})=>{const l=!!s,c=l?{...In,cursor:"pointer",userSelect:"none"}:In,u=f=>{s&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s())};return r.jsxs("div",{style:c,role:l?"button":void 0,tabIndex:l?0:void 0,onClick:s,onKeyDown:l?u:void 0,children:[n!=null&&r.jsx("div",{style:rc,children:n}),r.jsxs("div",{style:oc,children:[r.jsx(nc,{elements:e,currency:t,highlight:i,additionalCharges:a}),o]})]})},wr={fontSize:12,fontWeight:600,padding:"4px 12px",borderRadius:6,cursor:"pointer",background:"transparent",color:"var(--roadmap-brand-color, #6102d3)",border:"1px solid color-mix(in srgb, var(--roadmap-brand-color, #6102d3) 40%, transparent)"},ic={...wr,cursor:"default",opacity:.6},ac={display:"flex",alignItems:"center",gap:6,fontSize:12,color:"var(--roadmap-brand-color, #6102d3)"},sc={fontSize:11,color:"var(--roadmap-muted-color, #6a6a6a)",marginTop:6},lc=({type:e,country_code:t,party_id:n,location_id:o,evse_uid:i})=>{const{t:a,reportProblem:s}=U(),[l,c]=h.useState("idle"),u=async f=>{if(f.stopPropagation(),!(l==="submitting"||l==="done")){c("submitting");try{await s?.({type:e,country_code:t,party_id:n,location_id:o,evse_uid:i}),c("done")}catch{c("error")}}};return l==="done"?r.jsxs("div",{style:ac,children:[r.jsx(ds,{}),r.jsx("span",{children:a("tariff.reportThanks")})]}):r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",onClick:u,disabled:l==="submitting",style:l==="submitting"?ic:wr,children:a("tariff.report")}),l==="error"&&r.jsx("div",{style:sc,children:a("tariff.reportError")})]})},cc={display:"flex",flexDirection:"column",alignItems:"flex-start",gap:10,padding:"14px 14px",marginTop:6,borderRadius:8,background:"color-mix(in srgb, var(--roadmap-text-color, #2a2a2a) 4%, transparent)"},uc={fontSize:12,fontStyle:"italic",color:"var(--roadmap-muted-color, #6a6a6a)"},wt=({country_code:e,party_id:t,location_id:n,evse_uid:o})=>{const{t:i}=U();return r.jsxs("div",{style:cc,children:[r.jsx("div",{style:uc,children:i("tariffPriceComponent.noTariff")}),r.jsx(lc,{type:"missing_tariff",country_code:e,party_id:t,location_id:n,evse_uid:o})]})},dc={display:"inline-flex",alignItems:"center",justifyContent:"center",color:"var(--roadmap-muted-color, #6a6a6a)",flex:"0 0 auto"},fc=({tariff:e,additionalCharges:t=[],evseId:n,evseUid:o,countryCode:i,partyId:a,locationId:s,locationName:l,setView:c})=>{const u=e?Ht(e):null,{elements:f,currency:d}=ql(u),p=f.map(T=>({...T,priceComponents:(T.priceComponents||[]).filter(A=>!!((A.price||0)>0||A.type==="PARKING_TIME"&&T.restrictions?.maxDuration&&(!T.restrictions.minDuration||T.restrictions.minDuration===0)))})).filter(T=>T.priceComponents.length>0);if(!(!!u&&p.length>0))return r.jsxs(r.Fragment,{children:[r.jsx(wt,{country_code:i,party_id:a,location_id:s,evse_uid:o}),t.length>0&&r.jsx($e,{elements:[],currency:d,additionalCharges:t})]});const y=()=>c("tariffDetails",{tariff:e,additionalCharges:t,locationName:l,evseId:n,evseUid:o,countryCode:i,partyId:a,locationId:s});return r.jsx($e,{elements:p,currency:d,highlight:!0,additionalCharges:t,onClick:y,trailing:r.jsx("span",{style:dc,children:r.jsx(ir,{})})})},pc=({connector:e,tariffs:t,cdrAdditionalCharges:n,location:o,evseId:i,evseUid:a,setView:s})=>{const l=t?.find(c=>c.id===e?.tariff_ids?.[0]);return r.jsxs(r.Fragment,{children:[r.jsx(Bl,{connector:e}),r.jsx(Ul,{}),r.jsx(fc,{tariff:l,additionalCharges:n,evseId:i,evseUid:a||"",countryCode:o.country_code,partyId:o.party_id,locationId:o.id,locationName:o.name,setView:s})]})},hc={background:"color-mix(in srgb, var(--roadmap-text-color, #2a2a2a) 4%, transparent)",borderRadius:8,padding:"8px 12px",marginTop:12},mc={paddingLeft:10,marginTop:10},gc=({evse:e,tariffs:t,cdrAdditionalCharges:n,location:o,setView:i})=>{const a=Ve(e.status),s={...mc,borderLeft:`3px solid ${a}`,borderRadius:2};return r.jsxs("div",{style:hc,children:[r.jsx($l,{evse:e}),r.jsx(zl,{evse:e}),e.connectors.map((l,c)=>r.jsx("div",{style:s,children:r.jsx(pc,{connector:l,tariffs:t,cdrAdditionalCharges:n,location:o,evseId:e.evse_id,evseUid:e.uid,setView:i})},`connector-${c}`))]})},vc={fontSize:12,fontStyle:"italic",lineHeight:1.5,color:"var(--roadmap-text-color, #2a2a2a)",padding:"12px 0 12px 12px",margin:"8px 0",borderLeft:"3px solid color-mix(in srgb, var(--roadmap-text-color, #2a2a2a) 20%, transparent)"};function yc(e,t){if(!e||e.length===0)return;const n=(t||"").toLowerCase(),o=e.find(a=>a.language?.toLowerCase()===n);return o?o.text:(e.find(a=>a.language?.toLowerCase()==="en")||e[0])?.text}const Cc=({directions:e})=>{const{language:t}=U(),n=yc(e||[],t);return n?r.jsx("div",{style:vc,children:n}):null},xc=({currentLocation:e,setView:t})=>{const{options:n,mapKind:o}=U();return r.jsxs("div",{className:_.container,children:[o==="cpo"&&r.jsx("div",{className:_.publishingMode,children:e?.publish?"Public location":"Private location"}),r.jsx(Cc,{directions:e.directions}),r.jsx(fl,{location:e}),r.jsx(pl,{evses:e.evses}),r.jsx(bl,{operator:e.operator,suboperator:e.suboperator||e.subOperator,fallbackOperatorName:e.operator_name||e.operatorName,fallbackSuboperatorName:e.suboperator_name||e.suboperatorName}),r.jsx(Fl,{openingTimes:e.opening_times,chargingWhenClosed:e.charging_when_closed}),r.jsx(Hl,{parkingType:e.parkingType}),r.jsx(Vl,{accessibility:e.charging_accessibility}),e.evses?.map(i=>r.jsx(gc,{evse:i,tariffs:e.tariffs,cdrAdditionalCharges:e.cdrAdditionalCharges||[],location:e,setView:t},`${i.evse_id}-${i.uid}`))]})},bc=()=>{const{setView:e}=ke(),{locations:t,locationsStatus:n,options:o}=U(),[i,a]=h.useState(0);h.useEffect(()=>{a(0)},[t]);const s=t[i];if(n.type==="loading"||!s)return r.jsx("div",{className:_.container,children:r.jsx(ls,{})});const{evses:l=[],cdrAdditionalCharges:c}=s,u=i<t.length-1,f=i>0,d=window.location?.search?.includes("debug"),p=()=>{switch(o.version){case"v2":return[s?.address,s?.city];default:return[s?.address,s?.city]}},v=re(o.version,"v2");return r.jsxs(r.Fragment,{children:[d&&s&&r.jsx(Cs,{location:s}),r.jsx("div",{className:_.headerContainer,children:r.jsxs("div",{className:_.header,children:[t.length>1&&r.jsxs("div",{className:_.pagingation,children:[r.jsxs("span",{children:[i+1," / ",t.length]}),r.jsx("button",{disabled:!f,onClick:()=>{a(Math.max(0,i-1))},children:r.jsx(or,{})}),r.jsx("button",{disabled:!u,onClick:()=>a(Math.min(t.length-1,i+1)),children:r.jsx(ir,{})})]}),p().filter(Boolean).join(", ")]})}),!v&&r.jsx(Js,{setView:e,cdrAdditionalCharges:c,currentLocation:s,evses:l}),v&&r.jsx(xc,{setView:e,currentLocation:s})]})},Tc="BackButton-module_backButton",Ec={backButton:Tc};function Vt({onClick:e=()=>{}}){const{t}=U();return r.jsxs("button",{onClick:e,className:Ec.backButton,children:[r.jsx(or,{}),t("backButton.backTo")]})}function Sc(){const{t:e}=U(),{current:t,setView:n}=ke(),{notes:o=[],evseId:i,locationName:a}=t?.args||{};return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:_.headerContainer,children:r.jsxs("div",{className:_.header,onClick:()=>n("locations"),style:{cursor:"pointer"},children:[r.jsx(Vt,{}),a?.text||a]})}),r.jsxs("div",{className:_.container,children:[r.jsx("div",{className:_.subheader,children:e("tariffNote.subHeader")}),i&&r.jsxs("div",{className:_.row,children:[r.jsx("img",{className:_.icon,src:Be,alt:"power icon"}),r.jsx("div",{className:_.text,children:i})]}),o.map(s=>r.jsx("p",{className:_.note,children:s},s))]})]})}function wc(){const{t:e}=U(),{current:t,setView:n}=ke(),{connector:o,tariff:i,additionalCharges:a,locationName:s,evseId:l,notes:c}=t?.args||{};return i||o?.tariff?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:_.headerContainer,children:r.jsxs("div",{className:_.header,onClick:()=>n("locations"),style:{cursor:"pointer"},children:[r.jsx(Vt,{}),s]})}),r.jsxs("div",{className:_.container,children:[r.jsx("div",{className:_.subheader,children:e("dynamicTariffs.subHeader")}),r.jsxs("div",{className:_.row,children:[r.jsx("img",{className:_.icon,src:Be,alt:"power icon"}),r.jsx("div",{className:_.text,children:l})]}),i&&r.jsx(Wl,{tariff:i,additionalCharges:a}),o.tariff&&r.jsx(Ft,{tariff:o.tariff,compact:!1}),r.jsxs("div",{className:_.tariffNoteLink,onClick:()=>{n("tariffNote",{locationName:s,evseId:l,notes:c})},children:[r.jsx(ar,{})," ",e("tariffPriceComponent.viewTariff")]})]})]}):null}const _c=Intl.DateTimeFormat().resolvedOptions().timeZone,gt={display:"flex",flexDirection:"column",gap:4,marginTop:14},kn={fontSize:12,fontWeight:600,textTransform:"capitalize",lineHeight:1.4},Nc={fontSize:12,lineHeight:1.5,color:"var(--roadmap-text-color, #2a2a2a)",marginTop:8},Ac={fontSize:11,color:"var(--roadmap-muted-color, #6a6a6a)",marginTop:6};function et(e){const t=new Date(0);return t.setHours(Math.floor(e/60),e%60,0,0),t.toLocaleTimeString("nl",{hour:"2-digit",minute:"2-digit"})}function Oc(e){const{format:t}=new Intl.DateTimeFormat(e,{weekday:"long"});return["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"].reduce((n,o,i)=>(n[o]=t(new Date(Date.UTC(2023,9,i+1))),n),{})}function jc(e){return(e.priceComponents||[]).some(t=>!!((t.price||0)>0||t.type==="PARKING_TIME"&&e.restrictions?.maxDuration&&(!e.restrictions.minDuration||e.restrictions.minDuration===0)))}function Pc(e,t){return!e||e.length===0?void 0:(e.find(o=>o.language?.toLowerCase()===t?.toLowerCase())||e[0])?.text}function Dc(e,t){if(!e)return;const n=new Date(e);if(!isNaN(n.getTime()))return new Intl.DateTimeFormat(t,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(n)}function Ic(){const{t:e,language:t}=U(),{current:n,setView:o}=ke(),{tariff:i,additionalCharges:a,locationName:s,evseId:l,evseUid:c,countryCode:u,partyId:f,locationId:d}=n?.args||{};if(!i)return null;const p=Ht(i),v={country_code:u||i.country_code||"",party_id:f||i.party_id||"",location_id:d||"",evse_uid:c||""},y=Pc(i.tariff_alt_text,t),T=Dc(i.last_updated,t),A=()=>r.jsx("div",{className:_.headerContainer,children:r.jsxs("div",{className:_.header,onClick:()=>o("locations"),style:{cursor:"pointer"},children:[r.jsx(Vt,{}),s]})});if(!p)return r.jsxs(r.Fragment,{children:[A(),r.jsx("div",{className:_.container,children:r.jsx(wt,{...v})})]});const M=(p.elements||[]).filter(jc),z=p.currency||"",P=a||[],C=M.filter(xe),m=Lt({elements:M,limit:40,now:new Date}),j=m.length?[]:xr(M,_c,new Date),Y=!j.some(K=>K.isActive),B=Oc(t);return r.jsxs(r.Fragment,{children:[A(),r.jsxs("div",{className:_.container,children:[r.jsx("div",{className:_.subheader,children:e("tariff.fullDetailsHeader")}),l&&r.jsx(ue,{icon:r.jsx("img",{src:Be,alt:"power icon"}),text:l}),y&&r.jsx("div",{style:Nc,children:y}),T&&r.jsx("div",{style:Ac,children:e("tariff.lastUpdated",{date:T})}),C.length>0&&r.jsx("div",{style:gt,children:r.jsx($e,{elements:C,currency:z,highlight:j.length>0&&Y,additionalCharges:P})}),j.map(K=>r.jsxs("div",{style:gt,children:[r.jsx("div",{style:kn,children:K.days.map(X=>B[X]).join(" – ")}),K.items.map((X,te)=>r.jsx($e,{elements:X.elements||[],currency:z,highlight:!!X.isActive,label:X.isFullDay?void 0:`${et(X.startTime)} – ${et(X.endTime)}`},te))]},K.days.join("-"))),m.map((K,X)=>r.jsxs("div",{style:gt,children:[r.jsx("div",{style:kn,children:e("tariffPriceComponent.dynamicTariffHeader",{date:new Intl.DateTimeFormat(t,{weekday:"long",month:"short",day:"numeric"}).format(K.date)})}),K.items.map((te,de)=>r.jsx($e,{elements:te.elements||[],currency:z,highlight:!!te.isActive,label:`${et(te.startTime)} – ${et(te.endTime)}`},de))]},X)),j.length===0&&m.length===0&&C.length===0&&r.jsx(wt,{...v})]})]})}const kc="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='10'%20height='11'%20viewBox='0%200%2010%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.48751%205.99758L9.85376%202.63133C10.0484%202.43664%2010.0484%202.1207%209.85376%201.9257L9.07157%201.14351C8.87688%200.948826%208.56095%200.948826%208.36595%201.14351L5.00001%204.51008L1.63376%201.14383C1.43907%200.949138%201.12313%200.949138%200.928135%201.14383L0.14626%201.9257C-0.0484277%202.12039%20-0.0484277%202.43633%200.14626%202.63133L3.51251%205.99758L0.14626%209.36383C-0.0484277%209.55851%20-0.0484277%209.87445%200.14626%2010.0695L0.928447%2010.8516C1.12313%2011.0463%201.43907%2011.0463%201.63407%2010.8516L5.00001%207.48508L8.36626%2010.8513C8.56095%2011.046%208.87688%2011.046%209.07188%2010.8513L9.85407%2010.0691C10.0488%209.87445%2010.0488%209.55851%209.85407%209.36351L6.48751%205.99758Z'%20fill='black'/%3e%3c/svg%3e",Mc="CloseButton-module_closeButton",Rc={closeButton:Mc};function _r({onClick:e}){return r.jsx("button",{onClick:e,className:Rc.closeButton,children:r.jsx("img",{src:kc})})}function Lc(){const[e,t]=h.useState("locations"),{setView:n}=ke();return r.jsxs(ge,{name:"locations",currentView:e,onViewChange:t,children:[r.jsx(ge.View,{name:"locations",children:r.jsxs(De,{children:[r.jsx(_r,{onClick:()=>n("none")}),r.jsx(bc,{})]})}),r.jsx(ge.View,{name:"tariffNote",children:r.jsx(De,{children:r.jsx(Sc,{})})}),r.jsx(ge.View,{name:"dynamicTariff",children:r.jsx(De,{children:r.jsx(wc,{})})}),r.jsx(ge.View,{name:"tariffDetails",children:r.jsx(De,{children:r.jsx(Ic,{})})})]})}const Fc="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='currentColor'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3cpath%20d='M14.4985%200H1.50178C0.169343%200%20-0.502939%201.61659%200.441124%202.56066L5.5%207.62131V13C5.5%2013.4721%205.72228%2013.9167%206.1%2014.25L8.1%2015.7208C9.07728%2016.4038%2010.5%2015.7689%2010.5%2014.5208V7.62131L15.5592%202.56066C16.5013%201.6185%2015.8336%200%2014.4985%200ZM9%207V14.5L7%2013V7L1.5%201.5H14.5L9%207Z'%20fill='currentColor'%20/%3e%3c/svg%3e";function Hc(){const{locationIds:e,fetchLocations:t,filters:n,isSearching:o}=U(),[i,a]=h.useState("none");return h.useEffect(()=>{e.length>0&&a("locations")},[e,a]),r.jsxs("div",{className:be.container,children:[r.jsxs("div",{className:be.controlsContainer,children:[r.jsx(Ji,{onFocus:()=>{a("none")}}),r.jsxs("div",{className:be.filterButton,onClick:()=>{a("filters")},children:[o??!1?r.jsx("div",{className:be.spinner}):r.jsx("img",{className:be.filterIcon,src:Fc}),Ha(n)&&!(o??!1)&&r.jsx("span",{className:be.filterCounter})]})]}),r.jsx("div",{className:be.stackContainer,children:r.jsxs(ge,{name:"router",currentView:i,onViewChange:s=>{a(s)},children:[r.jsx(ge.View,{name:"locations",children:r.jsx(Lc,{})}),r.jsx(ge.View,{name:"filters",children:r.jsxs(De,{children:[r.jsx(_r,{onClick:()=>a("none")}),r.jsx(Ba,{})]})})]})})]})}function Nr(e){return!e.shadowRoot&&e?.theming?.backgroundColor?r.jsx(Vc,{...e}):r.jsx(uo,{options:e,language:e.language,children:r.jsxs(fo,{height:e?.height,children:[r.jsx(Hc,{}),r.jsx(yi,{}),r.jsx(ii,{})]})})}const Vc=e=>{const t=h.useRef(null),n=h.useRef(null),o=h.useRef(null),i=h.useRef(!1);return h.useEffect(()=>{const a=t.current;if(!a||i.current)return;const s=a.attachShadow({mode:"open"});o.current=s;let l="https://mapsdk.road.io/styles.css";e.sdkRoot&&(l=e.sdkRoot+"/styles.css");const c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.href=l,s.appendChild(c);const u=Ar.createRoot(s);return n.current=u,i.current=!0,()=>{n.current&&(n.current.unmount(),n.current=null),o.current=null,i.current=!1}},[]),h.useEffect(()=>{if(!n.current||!o.current)return;const a=h.createElement(Nr,{...e,shadowRoot:o.current});n.current.render(a)},[e]),r.jsx("div",{ref:t,style:{height:"100%",width:"100%"}})};exports.RoadMap=Nr;
|
|
140
|
+
*/var ct,nn;function Fi(){if(nn)return ct;nn=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function r(a){if(a==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(a)}function i(){try{if(!Object.assign)return!1;var a=new String("abc");if(a[5]="de",Object.getOwnPropertyNames(a)[0]==="5")return!1;for(var s={},c=0;c<10;c++)s["_"+String.fromCharCode(c)]=c;var l=Object.getOwnPropertyNames(s).map(function(d){return s[d]});if(l.join("")!=="0123456789")return!1;var u={};return"abcdefghijklmnopqrst".split("").forEach(function(d){u[d]=d}),Object.keys(Object.assign({},u)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return ct=i()?Object.assign:function(a,s){for(var c,l=r(a),u,d=1;d<arguments.length;d++){c=Object(arguments[d]);for(var f in c)t.call(c,f)&&(l[f]=c[f]);if(e){u=e(c);for(var m=0;m<u.length;m++)n.call(c,u[m])&&(l[u[m]]=c[u[m]])}}return l},ct}var ut,rn;function Dt(){if(rn)return ut;rn=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return ut=e,ut}var dt,on;function cr(){return on||(on=1,dt=Function.call.bind(Object.prototype.hasOwnProperty)),dt}var ft,an;function Hi(){if(an)return ft;an=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=Dt(),n={},r=cr();e=function(a){var s="Warning: "+a;typeof console<"u"&&console.error(s);try{throw new Error(s)}catch{}}}function i(a,s,c,l,u){if(process.env.NODE_ENV!=="production"){for(var d in a)if(r(a,d)){var f;try{if(typeof a[d]!="function"){var m=Error((l||"React class")+": "+c+" type `"+d+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof a[d]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw m.name="Invariant Violation",m}f=a[d](s,d,l,c,null,t)}catch(C){f=C}if(f&&!(f instanceof Error)&&e((l||"React class")+": type specification of "+c+" `"+d+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof f+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),f instanceof Error&&!(f.message in n)){n[f.message]=!0;var v=u?u():"";e("Failed "+c+" type: "+f.message+(v??""))}}}}return i.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},ft=i,ft}var pt,sn;function $i(){if(sn)return pt;sn=1;var e=lr(),t=Fi(),n=Dt(),r=cr(),i=Hi(),a=function(){};process.env.NODE_ENV!=="production"&&(a=function(c){var l="Warning: "+c;typeof console<"u"&&console.error(l);try{throw new Error(l)}catch{}});function s(){return null}return pt=function(c,l){var u=typeof Symbol=="function"&&Symbol.iterator,d="@@iterator";function f(y){var E=y&&(u&&y[u]||y[d]);if(typeof E=="function")return E}var m="<<anonymous>>",v={array:M("array"),bigint:M("bigint"),bool:M("boolean"),func:M("function"),number:M("number"),object:M("object"),string:M("string"),symbol:M("symbol"),any:z(),arrayOf:j,element:O(),elementType:g(),instanceOf:S,node:X(),objectOf:G,oneOf:K,oneOfType:Y,shape:de,exact:ae};function C(y,E){return y===E?y!==0||1/y===1/E:y!==y&&E!==E}function p(y,E){this.message=y,this.data=E&&typeof E=="object"?E:{},this.stack=""}p.prototype=Error.prototype;function x(y){if(process.env.NODE_ENV!=="production")var E={},L=0;function F(V,R,$,T,k,I,ne){if(T=T||m,I=I||$,ne!==n){if(l){var b=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw b.name="Invariant Violation",b}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var pe=T+":"+$;!E[pe]&&L<3&&(a("You are manually calling a React.PropTypes validation function for the `"+I+"` prop on `"+T+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),E[pe]=!0,L++)}}return R[$]==null?V?R[$]===null?new p("The "+k+" `"+I+"` is marked as required "+("in `"+T+"`, but its value is `null`.")):new p("The "+k+" `"+I+"` is marked as required in "+("`"+T+"`, but its value is `undefined`.")):null:y(R,$,T,k,I)}var D=F.bind(null,!1);return D.isRequired=F.bind(null,!0),D}function M(y){function E(L,F,D,V,R,$){var T=L[F],k=Z(T);if(k!==y){var I=oe(T);return new p("Invalid "+V+" `"+R+"` of type "+("`"+I+"` supplied to `"+D+"`, expected ")+("`"+y+"`."),{expectedType:y})}return null}return x(E)}function z(){return x(s)}function j(y){function E(L,F,D,V,R){if(typeof y!="function")return new p("Property `"+R+"` of component `"+D+"` has invalid PropType notation inside arrayOf.");var $=L[F];if(!Array.isArray($)){var T=Z($);return new p("Invalid "+V+" `"+R+"` of type "+("`"+T+"` supplied to `"+D+"`, expected an array."))}for(var k=0;k<$.length;k++){var I=y($,k,D,V,R+"["+k+"]",n);if(I instanceof Error)return I}return null}return x(E)}function O(){function y(E,L,F,D,V){var R=E[L];if(!c(R)){var $=Z(R);return new p("Invalid "+D+" `"+V+"` of type "+("`"+$+"` supplied to `"+F+"`, expected a single ReactElement."))}return null}return x(y)}function g(){function y(E,L,F,D,V){var R=E[L];if(!e.isValidElementType(R)){var $=Z(R);return new p("Invalid "+D+" `"+V+"` of type "+("`"+$+"` supplied to `"+F+"`, expected a single ReactElement type."))}return null}return x(y)}function S(y){function E(L,F,D,V,R){if(!(L[F]instanceof y)){var $=y.name||m,T=Ne(L[F]);return new p("Invalid "+V+" `"+R+"` of type "+("`"+T+"` supplied to `"+D+"`, expected ")+("instance of `"+$+"`."))}return null}return x(E)}function K(y){if(!Array.isArray(y))return process.env.NODE_ENV!=="production"&&(arguments.length>1?a("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):a("Invalid argument supplied to oneOf, expected an array.")),s;function E(L,F,D,V,R){for(var $=L[F],T=0;T<y.length;T++)if(C($,y[T]))return null;var k=JSON.stringify(y,function(ne,b){var pe=oe(b);return pe==="symbol"?String(b):b});return new p("Invalid "+V+" `"+R+"` of value `"+String($)+"` "+("supplied to `"+D+"`, expected one of "+k+"."))}return x(E)}function G(y){function E(L,F,D,V,R){if(typeof y!="function")return new p("Property `"+R+"` of component `"+D+"` has invalid PropType notation inside objectOf.");var $=L[F],T=Z($);if(T!=="object")return new p("Invalid "+V+" `"+R+"` of type "+("`"+T+"` supplied to `"+D+"`, expected an object."));for(var k in $)if(r($,k)){var I=y($,k,D,V,R+"."+k,n);if(I instanceof Error)return I}return null}return x(E)}function Y(y){if(!Array.isArray(y))return process.env.NODE_ENV!=="production"&&a("Invalid argument supplied to oneOfType, expected an instance of array."),s;for(var E=0;E<y.length;E++){var L=y[E];if(typeof L!="function")return a("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+fe(L)+" at index "+E+"."),s}function F(D,V,R,$,T){for(var k=[],I=0;I<y.length;I++){var ne=y[I],b=ne(D,V,R,$,T,n);if(b==null)return null;b.data&&r(b.data,"expectedType")&&k.push(b.data.expectedType)}var pe=k.length>0?", expected one of type ["+k.join(", ")+"]":"";return new p("Invalid "+$+" `"+T+"` supplied to "+("`"+R+"`"+pe+"."))}return x(F)}function X(){function y(E,L,F,D,V){return w(E[L])?null:new p("Invalid "+D+" `"+V+"` supplied to "+("`"+F+"`, expected a ReactNode."))}return x(y)}function te(y,E,L,F,D){return new p((y||"React class")+": "+E+" type `"+L+"."+F+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+D+"`.")}function de(y){function E(L,F,D,V,R){var $=L[F],T=Z($);if(T!=="object")return new p("Invalid "+V+" `"+R+"` of type `"+T+"` "+("supplied to `"+D+"`, expected `object`."));for(var k in y){var I=y[k];if(typeof I!="function")return te(D,V,R,k,oe(I));var ne=I($,k,D,V,R+"."+k,n);if(ne)return ne}return null}return x(E)}function ae(y){function E(L,F,D,V,R){var $=L[F],T=Z($);if(T!=="object")return new p("Invalid "+V+" `"+R+"` of type `"+T+"` "+("supplied to `"+D+"`, expected `object`."));var k=t({},L[F],y);for(var I in k){var ne=y[I];if(r(y,I)&&typeof ne!="function")return te(D,V,R,I,oe(ne));if(!ne)return new p("Invalid "+V+" `"+R+"` key `"+I+"` supplied to `"+D+"`.\nBad object: "+JSON.stringify(L[F],null," ")+`
|
|
141
|
+
Valid keys: `+JSON.stringify(Object.keys(y),null," "));var b=ne($,I,D,V,R+"."+I,n);if(b)return b}return null}return x(E)}function w(y){switch(typeof y){case"number":case"string":case"undefined":return!0;case"boolean":return!y;case"object":if(Array.isArray(y))return y.every(w);if(y===null||c(y))return!0;var E=f(y);if(E){var L=E.call(y),F;if(E!==y.entries){for(;!(F=L.next()).done;)if(!w(F.value))return!1}else for(;!(F=L.next()).done;){var D=F.value;if(D&&!w(D[1]))return!1}}else return!1;return!0;default:return!1}}function H(y,E){return y==="symbol"?!0:E?E["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&E instanceof Symbol:!1}function Z(y){var E=typeof y;return Array.isArray(y)?"array":y instanceof RegExp?"object":H(E,y)?"symbol":E}function oe(y){if(typeof y>"u"||y===null)return""+y;var E=Z(y);if(E==="object"){if(y instanceof Date)return"date";if(y instanceof RegExp)return"regexp"}return E}function fe(y){var E=oe(y);switch(E){case"array":case"object":return"an "+E;case"boolean":case"date":case"regexp":return"a "+E;default:return E}}function Ne(y){return!y.constructor||!y.constructor.name?m:y.constructor.name}return v.checkPropTypes=i,v.resetWarningCache=i.resetWarningCache,v.PropTypes=v,v},pt}var mt,ln;function Vi(){if(ln)return mt;ln=1;var e=Dt();function t(){}function n(){}return n.resetWarningCache=t,mt=function(){function r(s,c,l,u,d,f){if(f!==e){var m=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw m.name="Invariant Violation",m}}r.isRequired=r;function i(){return r}var a={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:i,element:r,elementType:r,instanceOf:i,node:r,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:n,resetWarningCache:t};return a.PropTypes=a,a},mt}var cn;function zi(){if(cn)return We.exports;if(cn=1,process.env.NODE_ENV!=="production"){var e=lr(),t=!0;We.exports=$i()(e.isElement,t)}else We.exports=Vi()();return We.exports}var Bi=zi();const P=Mi(Bi);function Ui(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function Wi(e,t){e.classList?e.classList.add(t):Ui(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function un(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function Gi(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=un(e.className,t):e.setAttribute("class",un(e.className&&e.className.baseVal||"",t))}const dn={disabled:!1};var Yi=process.env.NODE_ENV!=="production"?P.oneOfType([P.number,P.shape({enter:P.number,exit:P.number,appear:P.number}).isRequired]):null,Ki=process.env.NODE_ENV!=="production"?P.oneOfType([P.string,P.shape({enter:P.string,exit:P.string,active:P.string}),P.shape({enter:P.string,enterDone:P.string,enterActive:P.string,exit:P.string,exitDone:P.string,exitActive:P.string})]):null;const It=h.createContext(null);var ur=function(t){return t.scrollTop},Fe="unmounted",Ee="exited",ce="entering",me="entered",ze="exiting",he=(function(e){jt(t,e);function t(r,i){var a;a=e.call(this,r,i)||this;var s=i,c=s&&!s.isMounting?r.enter:r.appear,l;return a.appearStatus=null,r.in?c?(l=Ee,a.appearStatus=ce):l=me:r.unmountOnExit||r.mountOnEnter?l=Fe:l=Ee,a.state={status:l},a.nextCallback=null,a}t.getDerivedStateFromProps=function(i,a){var s=i.in;return s&&a.status===Fe?{status:Ee}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(i){var a=null;if(i!==this.props){var s=this.state.status;this.props.in?s!==ce&&s!==me&&(a=ce):(s===ce||s===me)&&(a=ze)}this.updateStatus(!1,a)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var i=this.props.timeout,a,s,c;return a=s=c=i,i!=null&&typeof i!="number"&&(a=i.exit,s=i.enter,c=i.appear!==void 0?i.appear:s),{exit:a,enter:s,appear:c}},n.updateStatus=function(i,a){if(i===void 0&&(i=!1),a!==null)if(this.cancelNextCallback(),a===ce){if(this.props.unmountOnExit||this.props.mountOnEnter){var s=this.props.nodeRef?this.props.nodeRef.current:Le.findDOMNode(this);s&&ur(s)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Ee&&this.setState({status:Fe})},n.performEnter=function(i){var a=this,s=this.props.enter,c=this.context?this.context.isMounting:i,l=this.props.nodeRef?[c]:[Le.findDOMNode(this),c],u=l[0],d=l[1],f=this.getTimeouts(),m=c?f.appear:f.enter;if(!i&&!s||dn.disabled){this.safeSetState({status:me},function(){a.props.onEntered(u)});return}this.props.onEnter(u,d),this.safeSetState({status:ce},function(){a.props.onEntering(u,d),a.onTransitionEnd(m,function(){a.safeSetState({status:me},function(){a.props.onEntered(u,d)})})})},n.performExit=function(){var i=this,a=this.props.exit,s=this.getTimeouts(),c=this.props.nodeRef?void 0:Le.findDOMNode(this);if(!a||dn.disabled){this.safeSetState({status:Ee},function(){i.props.onExited(c)});return}this.props.onExit(c),this.safeSetState({status:ze},function(){i.props.onExiting(c),i.onTransitionEnd(s.exit,function(){i.safeSetState({status:Ee},function(){i.props.onExited(c)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(i,a){a=this.setNextCallback(a),this.setState(i,a)},n.setNextCallback=function(i){var a=this,s=!0;return this.nextCallback=function(c){s&&(s=!1,a.nextCallback=null,i(c))},this.nextCallback.cancel=function(){s=!1},this.nextCallback},n.onTransitionEnd=function(i,a){this.setNextCallback(a);var s=this.props.nodeRef?this.props.nodeRef.current:Le.findDOMNode(this),c=i==null&&!this.props.addEndListener;if(!s||c){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[s,this.nextCallback],u=l[0],d=l[1];this.props.addEndListener(u,d)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===Fe)return null;var a=this.props,s=a.children;a.in,a.mountOnEnter,a.unmountOnExit,a.appear,a.enter,a.exit,a.timeout,a.addEndListener,a.onEnter,a.onEntering,a.onEntered,a.onExit,a.onExiting,a.onExited,a.nodeRef;var c=sr(a,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return h.createElement(It.Provider,{value:null},typeof s=="function"?s(i,c):h.cloneElement(h.Children.only(s),c))},t})(h.Component);he.contextType=It;he.propTypes=process.env.NODE_ENV!=="production"?{nodeRef:P.shape({current:typeof Element>"u"?P.any:function(e,t,n,r,i,a){var s=e[t];return P.instanceOf(s&&"ownerDocument"in s?s.ownerDocument.defaultView.Element:Element)(e,t,n,r,i,a)}}),children:P.oneOfType([P.func.isRequired,P.element.isRequired]).isRequired,in:P.bool,mountOnEnter:P.bool,unmountOnExit:P.bool,appear:P.bool,enter:P.bool,exit:P.bool,timeout:function(t){var n=Yi;t.addEndListener||(n=n.isRequired);for(var r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];return n.apply(void 0,[t].concat(i))},addEndListener:P.func,onEnter:P.func,onEntering:P.func,onEntered:P.func,onExit:P.func,onExiting:P.func,onExited:P.func}:{};function _e(){}he.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:_e,onEntering:_e,onEntered:_e,onExit:_e,onExiting:_e,onExited:_e};he.UNMOUNTED=Fe;he.EXITED=Ee;he.ENTERING=ce;he.ENTERED=me;he.EXITING=ze;var Zi=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return Wi(t,r)})},ht=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return Gi(t,r)})},kt=(function(e){jt(t,e);function t(){for(var r,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return r=e.call.apply(e,[this].concat(a))||this,r.appliedClasses={appear:{},enter:{},exit:{}},r.onEnter=function(c,l){var u=r.resolveArguments(c,l),d=u[0],f=u[1];r.removeClasses(d,"exit"),r.addClass(d,f?"appear":"enter","base"),r.props.onEnter&&r.props.onEnter(c,l)},r.onEntering=function(c,l){var u=r.resolveArguments(c,l),d=u[0],f=u[1],m=f?"appear":"enter";r.addClass(d,m,"active"),r.props.onEntering&&r.props.onEntering(c,l)},r.onEntered=function(c,l){var u=r.resolveArguments(c,l),d=u[0],f=u[1],m=f?"appear":"enter";r.removeClasses(d,m),r.addClass(d,m,"done"),r.props.onEntered&&r.props.onEntered(c,l)},r.onExit=function(c){var l=r.resolveArguments(c),u=l[0];r.removeClasses(u,"appear"),r.removeClasses(u,"enter"),r.addClass(u,"exit","base"),r.props.onExit&&r.props.onExit(c)},r.onExiting=function(c){var l=r.resolveArguments(c),u=l[0];r.addClass(u,"exit","active"),r.props.onExiting&&r.props.onExiting(c)},r.onExited=function(c){var l=r.resolveArguments(c),u=l[0];r.removeClasses(u,"exit"),r.addClass(u,"exit","done"),r.props.onExited&&r.props.onExited(c)},r.resolveArguments=function(c,l){return r.props.nodeRef?[r.props.nodeRef.current,c]:[c,l]},r.getClassNames=function(c){var l=r.props.classNames,u=typeof l=="string",d=u&&l?l+"-":"",f=u?""+d+c:l[c],m=u?f+"-active":l[c+"Active"],v=u?f+"-done":l[c+"Done"];return{baseClassName:f,activeClassName:m,doneClassName:v}},r}var n=t.prototype;return n.addClass=function(i,a,s){var c=this.getClassNames(a)[s+"ClassName"],l=this.getClassNames("enter"),u=l.doneClassName;a==="appear"&&s==="done"&&u&&(c+=" "+u),s==="active"&&i&&ur(i),c&&(this.appliedClasses[a][s]=c,Zi(i,c))},n.removeClasses=function(i,a){var s=this.appliedClasses[a],c=s.base,l=s.active,u=s.done;this.appliedClasses[a]={},c&&ht(i,c),l&&ht(i,l),u&&ht(i,u)},n.render=function(){var i=this.props;i.classNames;var a=sr(i,["classNames"]);return h.createElement(he,rt({},a,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t})(h.Component);kt.defaultProps={classNames:""};kt.propTypes=process.env.NODE_ENV!=="production"?rt({},he.propTypes,{classNames:Ki,onEnter:P.func,onEntering:P.func,onEntered:P.func,onExit:P.func,onExiting:P.func,onExited:P.func}):{};var Ye,Ke;function qi(e,t){return!(e===t||h.isValidElement(e)&&h.isValidElement(t)&&e.key!=null&&e.key===t.key)}var Ce={out:"out-in",in:"in-out"},ot=function(t,n,r){return function(){var i;t.props[n]&&(i=t.props)[n].apply(i,arguments),r()}},Ji=(Ye={},Ye[Ce.out]=function(e){var t=e.current,n=e.changeState;return h.cloneElement(t,{in:!1,onExited:ot(t,"onExited",function(){n(ce,null)})})},Ye[Ce.in]=function(e){var t=e.current,n=e.changeState,r=e.children;return[t,h.cloneElement(r,{in:!0,onEntered:ot(r,"onEntered",function(){n(ce)})})]},Ye),Xi=(Ke={},Ke[Ce.out]=function(e){var t=e.children,n=e.changeState;return h.cloneElement(t,{in:!0,onEntered:ot(t,"onEntered",function(){n(me,h.cloneElement(t,{in:!0}))})})},Ke[Ce.in]=function(e){var t=e.current,n=e.children,r=e.changeState;return[h.cloneElement(t,{in:!1,onExited:ot(t,"onExited",function(){r(me,h.cloneElement(n,{in:!0}))})}),h.cloneElement(n,{in:!0})]},Ke),Mt=(function(e){jt(t,e);function t(){for(var r,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return r=e.call.apply(e,[this].concat(a))||this,r.state={status:me,current:null},r.appeared=!1,r.changeState=function(c,l){l===void 0&&(l=r.state.current),r.setState({status:c,current:l})},r}var n=t.prototype;return n.componentDidMount=function(){this.appeared=!0},t.getDerivedStateFromProps=function(i,a){return i.children==null?{current:null}:a.status===ce&&i.mode===Ce.in?{status:ce}:a.current&&qi(a.current,i.children)?{status:ze}:{current:h.cloneElement(i.children,{in:!0})}},n.render=function(){var i=this.props,a=i.children,s=i.mode,c=this.state,l=c.status,u=c.current,d={children:a,current:u,changeState:this.changeState,status:l},f;switch(l){case ce:f=Xi[s](d);break;case ze:f=Ji[s](d);break;case me:f=u}return h.createElement(It.Provider,{value:{isMounting:!this.appeared}},f)},t})(h.Component);Mt.propTypes=process.env.NODE_ENV!=="production"?{mode:P.oneOf([Ce.in,Ce.out]),children:P.oneOfType([P.element.isRequired])}:{};Mt.defaultProps={mode:Ce.out};const Qi="stack-module_stack",ea="stack-module_slideEnter",ta="stack-module_slideEnterActive",na="stack-module_slideExit",ra="stack-module_slideExitActive",ye={stack:Qi,slideEnter:ea,slideEnterActive:ta,slideExit:na,slideExitActive:ra};function oa({name:e,children:t}){return o.jsx("div",{className:ye.stack,children:t})}const dr=h.createContext({setView:()=>{},current:{name:"none"}});function ke(){return h.useContext(dr)}function ge({name:e,currentView:t,onViewChange:n,children:r}){const i={none:{name:"none",ref:h.createRef(),view:null}};h.Children.forEach(r,f=>{if(!h.isValidElement(f))return;const{name:m}=f.props;if(!m)throw new Error("name is required for Stack.View");i[m]={name:m,ref:h.createRef(),view:f}});const[a,s]=h.useState(i[t].ref);h.useEffect(()=>{s(i[t].ref)},[t]);const{view:c}=i[t],[l,u]=h.useState({}),d=h.useMemo(()=>({current:{name:t,args:l},setView:(f,m)=>{u(m),n(f,m)}}),[t,n,l,u]);return o.jsx(dr.Provider,{value:d,children:o.jsx(Mt,{mode:"out-in",children:o.jsx(kt,{classNames:{enter:ye.slideEnter,enterActive:ye.slideEnterActive,enterDone:ye.slideEnterDone,exit:ye.slideExit,exitActive:ye.slideExitActive,exitDone:ye.slideExitDone},mountOnEnter:!0,unmountOnExit:!0,timeout:300,nodeRef:a,addEndListener:f=>{a.current.addEventListener("transitionend",f,!1)},children:o.jsx("div",{className:ye.stack,ref:a,children:c})},t)})})}ge.View=oa;const ia="router-module_container",aa="router-module_controlsContainer",sa="router-module_filterButton",la="router-module_filterCounter",ca="router-module_spinner",ua="router-module_stackContainer",be={container:ia,controlsContainer:aa,filterButton:sa,filterCounter:la,spinner:ca,stackContainer:ua},da="SearchInput-module_container",fa="SearchInput-module_searchInput",fn={container:da,searchInput:fa};function pa({onFocus:e}){const{options:t,setPlace:n,t:r,language:i}=B(),a=t.googleApiKey,s=h.useRef(null),c=Yn(a,i);return h.useEffect(()=>{s.current&&c.importLibrary("places").then(l=>{const u=new l.Autocomplete(s.current,{fields:["geometry"]});u.addListener("place_changed",()=>{const d=u.getPlace();n(d)})})},[s]),o.jsx("div",{className:fn.container,children:o.jsx("input",{onFocus:e,ref:s,className:fn.searchInput,type:"text",placeholder:r("search.placeholder")})})}const ma="filters-module_headerContainer",ha="filters-module_container",ga="filters-module_header",va="filters-module_heading",ya="filters-module_actionLinkClearAll",Ca="filters-module_optionsGroup",xa="filters-module_rowLabel",ba="filters-module_label",Ea="filters-module_dot",Ta="filters-module_connectorIcon",N={headerContainer:ma,container:ha,header:ga,heading:va,actionLinkClearAll:ya,optionsGroup:Ca,rowLabel:xa,label:ba,dot:Ea,connectorIcon:Ta},wa="Checkbox-module_container",Sa="Checkbox-module_box",pn={container:wa,box:Sa};function se({id:e,name:t,checked:n,onChange:r,type:i="checkbox"}){const[a,s]=h.useState(n||!1),c=h.useCallback(l=>{s(l.target.checked),r(l.target.checked)},[r]);return h.useEffect(()=>{s(n)},[n]),o.jsxs("div",{className:pn.container,children:[o.jsx("input",{name:t,id:e,type:i,value:a,checked:a,onChange:c}),o.jsx("span",{className:pn.box,children:o.jsx("svg",{className:"checkmark",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"20 6 9 17 4 12"})})})]})}const Na="Range-module_container",_a="Range-module_input",Aa="Range-module_ticksContainer",Oa="Range-module_tick",Ze={container:Na,input:_a,ticksContainer:Aa,tick:Oa};function mn({ticks:e,value:t,onChange:n}){const r=h.useRef(null),i=e.findIndex(s=>s.value===t),a=i/(e.length-1)*100;return o.jsxs("div",{className:Ze.container,children:[o.jsx("input",{value:i,onChange:s=>{n(e[s.target.value].value)},ref:r,className:Ze.input,type:"range",list:"tickmarks",step:"1",min:"0",max:e.length-1,style:{"--roadmap-range-bgize":`${a}%`}}),o.jsx("div",{className:Ze.ticksContainer,children:e.map((s,c)=>o.jsx("div",{onClick:l=>{n(e[c].value)},className:Ze.tick,children:s.label},s.label))})]})}const Pa="MultiSelect-module_multiSelect",ja="MultiSelect-module_control",Da="MultiSelect-module_disabled",Ia="MultiSelect-module_valueContainer",ka="MultiSelect-module_input",Ma="MultiSelect-module_multiValue",Ra="MultiSelect-module_multiValueLabel",La="MultiSelect-module_multiValueRemove",Fa="MultiSelect-module_dropdownIndicator",Ha="MultiSelect-module_menu",$a="MultiSelect-module_menuOpen",Va="MultiSelect-module_menuList",za="MultiSelect-module_groupHeading",Ba="MultiSelect-module_groupSeparator",Ua="MultiSelect-module_option",Wa="MultiSelect-module_optionLast",Ga="MultiSelect-module_optionSelected",Ya="MultiSelect-module_optionFocused",Ka="MultiSelect-module_optionCheck",Za="MultiSelect-module_optionDisabled",qa="MultiSelect-module_optionLabel",Ja="MultiSelect-module_noOptions",q={multiSelect:Pa,control:ja,disabled:Da,valueContainer:Ia,input:ka,multiValue:Ma,multiValueLabel:Ra,multiValueRemove:La,dropdownIndicator:Fa,menu:Ha,menuOpen:$a,menuList:Va,groupHeading:za,groupSeparator:Ba,option:Ua,optionLast:Wa,optionSelected:Ga,optionFocused:Ya,optionCheck:Ka,optionDisabled:Za,optionLabel:qa,noOptions:Ja},hn=({id:e,name:t,options:n,value:r=[],preferredValues:i=[],placeholder:a="Select...",disabled:s=!1,className:c,onChange:l})=>{const[u,d]=h.useState(!1),[f,m]=h.useState(""),[v,C]=h.useState(-1),p=h.useRef(null),x=h.useRef(null),M=h.useMemo(()=>new Set(i),[i]),{preferred:z,others:j}=h.useMemo(()=>{const w=f.toLowerCase(),H=n.filter(Z=>Z.label.toLowerCase().includes(w));return{preferred:H.filter(Z=>M.has(Z.value)),others:H.filter(Z=>!M.has(Z.value))}},[n,f,M]),O=h.useMemo(()=>[...z,...j],[z,j]),g=h.useMemo(()=>n.filter(w=>r.includes(w.value)),[n,r]);h.useEffect(()=>{v>=O.length&&C(O.length>0?0:-1)},[O,v]);const S=()=>{s||(d(!0),v<0&&O.length>0&&C(0))},K=()=>{d(!1),m(""),C(-1)},G=w=>{if(w.disabled)return;const H=r.includes(w.value)?r.filter(Z=>Z!==w.value):[...r,w.value];l?.(H),m(""),d(!0),p.current?.focus()},Y=w=>{l?.(r.filter(H=>H!==w))},X=w=>{if(!s)switch(w.key){case"Backspace":f===""&&r.length>0&&(w.preventDefault(),l?.(r.slice(0,-1)));return;case"ArrowDown":w.preventDefault(),u?O.length>0&&C(H=>(H+1)%O.length):(d(!0),O.length>0&&C(0));return;case"ArrowUp":w.preventDefault(),u?O.length>0&&C(H=>(H<=0?O.length:H)-1):(d(!0),O.length>0&&C(O.length-1));return;case"Enter":u&&v>=0&&O[v]&&(w.preventDefault(),G(O[v]));return;case"Escape":u&&(w.preventDefault(),K());return;case"Home":u&&O.length>0&&(w.preventDefault(),C(0));return;case"End":u&&O.length>0&&(w.preventDefault(),C(O.length-1));return;default:return}},te=w=>{const H=w.relatedTarget;H&&x.current?.contains(H)||K()},de=()=>{s||(u?d(!1):S(),p.current?.focus())},ae=(w,H,Z)=>{const oe=r.includes(w.value);return o.jsxs("div",{className:`${q.option} ${v===H?q.optionFocused:""} ${oe?q.optionSelected:""} ${w.disabled?q.optionDisabled:""} ${Z?q.optionLast:""}`,role:"option","aria-selected":oe,"aria-disabled":w.disabled||void 0,onMouseDown:fe=>fe.preventDefault(),onMouseMove:()=>{v!==H&&C(H)},onClick:()=>G(w),children:[o.jsx("span",{className:q.optionLabel,children:w.label}),oe&&o.jsx("svg",{className:q.optionCheck,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"20 6 9 17 4 12"})})]},w.value)};return o.jsxs("div",{ref:x,className:`${q.multiSelect} ${c??""}`,children:[o.jsxs("div",{className:`${q.control} ${s?q.disabled:""}`,children:[o.jsxs("div",{className:q.valueContainer,onMouseDown:w=>{w.target===w.currentTarget&&(w.preventDefault(),p.current?.focus(),S())},children:[g.map(w=>o.jsxs("div",{className:q.multiValue,children:[o.jsx("span",{className:q.multiValueLabel,children:w.label}),o.jsx("button",{type:"button",className:q.multiValueRemove,onMouseDown:H=>H.preventDefault(),onClick:()=>Y(w.value),disabled:s,"aria-label":`Remove ${w.label}`,children:"×"})]},w.value)),o.jsx("input",{ref:p,id:e,name:t,className:q.input,value:f,onChange:w=>{m(w.target.value),d(!0),C(0)},onKeyDown:X,onFocus:S,onBlur:te,placeholder:g.length===0?a:"",disabled:s,autoComplete:"off",role:"combobox","aria-expanded":u,"aria-autocomplete":"list"})]}),o.jsx("button",{type:"button",className:q.dropdownIndicator,onMouseDown:w=>w.preventDefault(),onClick:de,disabled:s,"aria-label":"Toggle menu",tabIndex:-1,children:o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"6,9 12,15 18,9"})})})]}),u&&o.jsx("div",{className:`${q.menu} ${q.menuOpen}`,role:"listbox",children:o.jsxs("div",{className:q.menuList,children:[z.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:q.groupHeading,children:"Preferred"}),z.map((w,H)=>ae(w,H,H===z.length-1&&j.length===0))]}),j.length>0&&o.jsxs(o.Fragment,{children:[z.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:q.groupSeparator}),o.jsx("div",{className:q.groupHeading,children:"All"})]}),j.map((w,H)=>ae(w,z.length+H,H===j.length-1))]}),z.length===0&&j.length===0&&o.jsx("div",{className:q.noOptions,children:"No options found"})]})})]})},Xa="SelectField-module_selectField",Qa="SelectField-module_select",gn={selectField:Xa,select:Qa},vn=({id:e,name:t,value:n,options:r=[],placeholder:i="Select an option",disabled:a=!1,className:s="",onChange:c,onBlur:l,onFocus:u})=>{const d=f=>{const m=f.target.value,v=r.find(C=>C.value.toString()===m);v&&c&&c(v.value)};return o.jsx("div",{className:`${gn.selectField} ${s}`,children:o.jsxs("select",{id:e,name:t,value:n||"",disabled:a,onChange:d,onBlur:l,onFocus:u,className:gn.select,children:[i&&o.jsx("option",{value:"",disabled:!0,children:i}),r.map((f,m)=>o.jsx("option",{value:f.value,disabled:f.disabled,children:f.label},`${m}`))]})})},yn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M353.286,163.919c16.464,0,29.815,13.351,29.815,29.822%20c0,16.467-13.351,29.819-29.815,29.819c-16.47,0-29.822-13.352-29.822-29.819C323.464,177.27,336.816,163.919,353.286,163.919%20L353.286,163.919z%20M245.838,163.919c16.47,0,29.822,13.351,29.822,29.822c0,16.467-13.352,29.819-29.822,29.819%20c-16.471,0-29.822-13.352-29.822-29.819C216.016,177.27,229.367,163.919,245.838,163.919L245.838,163.919z%20M354.093,338.178%20c22.575,0,40.874,18.299,40.874,40.87c0,22.571-18.299,40.87-40.874,40.87c-22.568,0-40.867-18.299-40.867-40.87%20C313.226,356.477,331.525,338.178,354.093,338.178L354.093,338.178z%20M245.024,338.178c22.575,0,40.874,18.299,40.874,40.87%20c0,22.571-18.299,40.87-40.874,40.87c-22.568,0-40.874-18.299-40.874-40.87C204.151,356.477,222.457,338.178,245.024,338.178%20L245.024,338.178z%20M406.906,244.769c22.575,0,40.874,18.299,40.874,40.87s-18.299,40.87-40.874,40.87%20c-22.568,0-40.867-18.299-40.867-40.87S384.338,244.769,406.906,244.769L406.906,244.769z%20M192.211,244.769%20c22.568,0,40.874,18.299,40.874,40.87s-18.306,40.87-40.874,40.87c-22.575,0-40.874-18.299-40.874-40.87%20S169.636,244.769,192.211,244.769L192.211,244.769z%20M299.559,244.769c22.575,0,40.874,18.299,40.874,40.87%20s-18.299,40.87-40.874,40.87c-22.569,0-40.868-18.299-40.868-40.87S276.99,244.769,299.559,244.769L299.559,244.769z%20M452.99,131.334H146.127c-32.625,37.291-50.332,84.551-50.332,134.107c0,112.541,91.226,203.765,203.764,203.765%20c112.544,0,203.764-91.223,203.764-203.765C503.323,215.889,485.608,168.622,452.99,131.334L452.99,131.334z%20M471.276,105.109%20l-4.672-4.998h-334.09l-4.672,4.998c-40.739,43.6-63.267,100.662-63.267,160.332c0,129.775,105.21,234.988,234.984,234.988%20c129.774,0,234.984-105.213,234.984-234.988C534.542,205.771,512.015,148.709,471.276,105.109L471.276,105.109z%20M480.204,60.027%20H118.914C61.952,110.158,26,183.596,26,265.441C26,416.523,148.48,539,299.559,539c151.085,0,273.558-122.477,273.558-273.559%20C573.117,183.596,537.165,110.158,480.204,60.027z'/%3e%3c/svg%3e",Cn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M228.887,396.793c20.779,0,37.62,16.841,37.62,37.617%20c0,20.773-16.841,37.617-37.62,37.617c-20.773,0-37.613-16.844-37.613-37.617C191.274,413.634,208.115,396.793,228.887,396.793%20L228.887,396.793z%20M366.03,396.793c20.773,0,37.614,16.841,37.614,37.617c0,20.773-16.841,37.617-37.614,37.617%20c-20.779,0-37.62-16.844-37.62-37.617C328.41,413.634,345.251,396.793,366.03,396.793L366.03,396.793z%20M228.375,325.684%20c-29.03,0-55.41,11.868-74.52,30.976c-41.566,41.573-41.566,113.923,0,155.497c19.111,19.111,45.49,30.979,74.52,30.979h138.168%20c29.023,0,55.41-11.868,74.521-30.979c41.565-41.566,41.565-113.928,0-155.497c-18.336-18.336-43.379-30.003-71.019-30.916%20c63.723-27.868,105.151-90.836,105.151-160.733c0-42.14-13.276-74.632-37.316-108.359H161.794%20c-24.033,33.747-37.309,66.2-37.309,108.359c0,69.852,41.359,132.758,105.012,160.674H228.375L228.375,325.684z%20M366.543,357.791%20H228.375c-20.163,0-38.513,8.265-51.824,21.569c-29.023,29.027-29.023,81.069,0,110.096c13.311,13.308,31.654,21.569,51.824,21.569%20h138.168c20.17,0,38.513-8.261,51.824-21.569c29.023-29.027,29.023-81.069,0-110.096%20C405.056,366.057,386.706,357.791,366.543,357.791L366.543,357.791z%20M421.17,88.762c14.523,23.018,21.915,49.024,21.915,76.248%20c0,79.121-64.131,143.245-143.248,143.245S156.595,244.127,156.595,165.01c0-27.234,7.392-53.222,21.915-76.248H421.17%20L421.17,88.762z%20M331.075,225.95c11.726,0,21.236,9.511,21.236,21.236c0,11.733-9.511,21.24-21.236,21.24%20c-11.733,0-21.236-9.507-21.236-21.24C309.839,235.461,319.342,225.95,331.075,225.95L331.075,225.95z%20M268.605,225.95%20c11.726,0,21.243,9.511,21.243,21.236c0,11.733-9.518,21.24-21.243,21.24c-11.726,0-21.236-9.507-21.236-21.24%20C247.369,235.461,256.879,225.95,268.605,225.95L268.605,225.95z%20M236.882,163.754c11.726,0,21.243,9.508,21.243,21.236%20c0,11.729-9.518,21.24-21.243,21.24c-11.726,0-21.236-9.511-21.236-21.24C215.646,173.261,225.156,163.754,236.882,163.754%20L236.882,163.754z%20M299.837,163.754c11.732,0,21.243,9.508,21.243,21.236c0,11.729-9.511,21.24-21.243,21.24%20c-11.726,0-21.236-9.511-21.236-21.24C278.6,173.261,288.111,163.754,299.837,163.754L299.837,163.754z%20M362.798,163.754%20c11.726,0,21.236,9.508,21.236,21.236c0,11.729-9.511,21.24-21.236,21.24c-11.733,0-21.236-9.511-21.236-21.24%20C341.562,173.261,351.065,163.754,362.798,163.754L362.798,163.754z%20M332.079,116.228c6.86,0,12.417,5.561,12.417,12.417%20c0,6.86-5.558,12.425-12.417,12.425s-12.424-5.566-12.424-12.425C319.654,121.79,325.219,116.228,332.079,116.228L332.079,116.228z%20M267.601,116.228c6.86,0,12.425,5.561,12.425,12.417c0,6.86-5.565,12.425-12.425,12.425c-6.86,0-12.417-5.566-12.417-12.425%20C255.184,121.79,260.742,116.228,267.601,116.228L267.601,116.228z%20M177.153,7.87C129.219,7.87,90,47.086,90,95.02v408.83%20c0,47.934,39.219,87.15,87.153,87.15h246.024c47.934,0,87.147-39.216,87.147-87.15V95.02c0-47.934-39.213-87.15-87.147-87.15%20H177.153z'/%3e%3c/svg%3e",xn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M407.111,334.214c16.317,0,29.543,13.226,29.543,29.543%20c0,16.313-13.227,29.543-29.543,29.543c-16.31,0-29.536-13.229-29.536-29.543C377.576,347.44,390.802,334.214,407.111,334.214%20L407.111,334.214z%20M198.69,334.214c16.317,0,29.543,13.226,29.543,29.543c0,16.313-13.226,29.543-29.543,29.543%20s-29.543-13.229-29.543-29.543C169.147,347.44,182.373,334.214,198.69,334.214L198.69,334.214z%20M227.94,180.772%20c24.971,0,45.213,20.242,45.213,45.213c0,24.967-20.243,45.213-45.213,45.213s-45.213-20.245-45.213-45.213%20C182.727,201.014,202.969,180.772,227.94,180.772L227.94,180.772z%20M377.868,180.772c24.968,0,45.213,20.242,45.213,45.213%20c0,24.967-20.245,45.213-45.213,45.213c-24.974,0-45.213-20.245-45.213-45.213C332.655,201.014,352.894,180.772,377.868,180.772%20L377.868,180.772z%20M302.899,361.142c24.974,0,45.22,20.243,45.22,45.213s-20.245,45.213-45.22,45.213%20c-24.968,0-45.21-20.243-45.21-45.213S277.931,361.142,302.899,361.142L302.899,361.142z%20M302.899,100.142%20c-111.485,0-201.855,90.37-201.855,201.858c0,111.489,90.37,201.859,201.855,201.859c111.491,0,201.865-90.37,201.865-201.859%20C504.764,190.512,414.391,100.142,302.899,100.142L302.899,100.142z%20M302.899,69.21C174.338,69.21,70.113,173.44,70.113,302%20c0,128.561,104.226,232.79,232.787,232.79c128.56,0,232.793-104.229,232.793-232.79C535.692,173.44,431.459,69.21,302.899,69.21%20L302.899,69.21z%20M302.899,31C153.234,31,31.902,152.328,31.902,302c0,149.669,121.331,271,270.997,271%20c149.672,0,271.006-121.331,271.006-271C573.906,152.328,452.571,31,302.899,31z'/%3e%3c/svg%3e",bn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M246.063,132.777c18.959,0,34.335,15.373,34.335,34.332%20c0,18.965-15.376,34.335-34.335,34.335c-18.961,0-34.332-15.37-34.332-34.335C211.731,148.15,227.102,132.777,246.063,132.777%20L246.063,132.777z%20M357.555,132.777c18.962,0,34.332,15.373,34.332,34.332c0,18.962-15.37,34.335-34.332,34.335%20c-18.961,0-34.331-15.373-34.331-34.335C323.224,148.15,338.594,132.777,357.555,132.777L357.555,132.777z%20M226.875,253.708%20c9.286,0,16.811,7.525,16.811,16.808c0,9.286-7.525,16.811-16.811,16.811c-9.283,0-16.808-7.525-16.808-16.811%20C210.066,261.234,217.592,253.708,226.875,253.708L226.875,253.708z%20M371.359,253.708c9.286,0,16.815,7.525,16.815,16.808%20c0,9.286-7.529,16.811-16.815,16.811c-9.279,0-16.808-7.525-16.808-16.811C354.552,261.234,362.08,253.708,371.359,253.708%20L371.359,253.708z%20M236.304,421.639c19.179,0,34.731,15.548,34.731,34.731c0,19.179-15.552,34.731-34.731,34.731%20c-19.179,0-34.731-15.552-34.731-34.731C201.573,437.187,217.126,421.639,236.304,421.639L236.304,421.639z%20M362.924,421.639%20c19.179,0,34.728,15.548,34.728,34.731c0,19.179-15.549,34.731-34.728,34.731c-19.186,0-34.735-15.552-34.735-34.731%20C328.189,437.187,343.738,421.639,362.924,421.639L362.924,421.639z%20M235.828,355.985c-26.801,0-51.159,10.958-68.804,28.6%20c-38.377,38.383-38.377,105.184,0,143.567c17.645,17.645,42.004,28.602,68.804,28.602h127.568c26.803,0,51.159-10.957,68.804-28.602%20c38.377-38.377,38.377-105.19,0-143.567c-16.91-16.91-39.994-27.679-65.481-28.542c57.148-25.011,97.033-82.036,97.033-148.405%20c0-88.133-70.984-161.938-161.945-161.938c-90.131,0-161.935,73.009-161.935,161.938c0,66.315,39.821,123.302,96.895,148.348%20H235.828L235.828,355.985z%20M159.969,344.666c-6.378,4.464-12.357,9.488-17.866,14.999c-52.137,52.134-52.137,141.271-0.003,193.407%20C167.008,577.982,200.589,592,235.828,592h127.568c35.24,0,68.823-14.018,93.729-38.927c52.137-52.134,52.137-141.276,0-193.41%20c-4.761-4.761-9.874-9.155-15.287-13.143c36.523-36.834,57.159-86.685,57.159-138.883c0-108.993-88.188-197.184-197.19-197.184%20c-108.977,0-197.181,88.207-197.181,197.184C104.627,258.933,124.557,307.996,159.969,344.666L159.969,344.666z%20M363.396,385.629%20H235.828c-18.617,0-35.559,7.631-47.846,19.914c-26.797,26.8-26.797,74.85,0,101.65c12.287,12.286,29.225,19.914,47.846,19.914%20h127.568c18.623,0,35.559-7.628,47.849-19.914c26.797-26.8,26.797-74.85,0-101.65C398.955,393.259,382.013,385.629,363.396,385.629%20L363.396,385.629z%20M301.808,75.381c-73.808,0-132.256,59.869-132.256,132.256c0,72.383,58.448,132.256,132.256,132.256%20c73.815,0,132.265-59.87,132.265-132.256C434.073,135.248,375.622,75.381,301.808,75.381L301.808,75.381z%20M301.808,271.807%20c13.689,0,24.784,11.098,24.784,24.781c0,13.686-11.094,24.78-24.784,24.78c-13.686,0-24.777-11.094-24.777-24.78%20C277.03,282.905,288.122,271.807,301.808,271.807z'/%3e%3c/svg%3e",qe="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M460.592,75.695C501.794,116.897,525,172.38,525,230.692v136.191%20c0,58.315-23.206,113.795-64.408,154.997c-86.029,86.032-228.158,86.032-314.186,0C105.203,480.679,82,425.199,82,366.884V230.692%20c0-58.312,23.203-113.795,64.405-154.997C232.433-10.337,374.563-10.337,460.592,75.695L460.592,75.695z%20M434.493,101.794%20c-71.625-71.628-190.365-71.628-261.989,0c-33.068,33.068-53.597,78.696-53.597,128.898v136.191%20c0,50.205,20.529,95.834,53.597,128.898c71.624,71.628,190.364,71.628,261.989,0c33.067-33.064,53.596-78.693,53.596-128.898%20V230.692C488.089,180.49,467.56,134.862,434.493,101.794L434.493,101.794z%20M195.699,124.99%20c-27.134,27.137-43.982,64.557-43.982,105.702v136.191c0,41.146,16.848,78.568,43.982,105.702%20c58.806,58.814,156.791,58.814,215.598,0c27.138-27.134,43.982-64.557,43.982-105.702V230.692%20c0-41.146-16.845-78.566-43.982-105.702C352.491,66.18,254.506,66.18,195.699,124.99L195.699,124.99z%20M303.497,401.594%20c-17.304,0-31.334,14.029-31.334,31.337c0,17.304,14.03,31.333,31.334,31.333c17.307,0,31.337-14.029,31.337-31.333%20C334.834,415.623,320.804,401.594,303.497,401.594L303.497,401.594z%20M223.204,305.993c-17.308,0-31.338,14.03-31.338,31.334%20c0,17.308,14.03,31.337,31.338,31.337c17.307,0,31.337-14.029,31.337-31.337C254.541,320.023,240.511,305.993,223.204,305.993%20L223.204,305.993z%20M223.204,208.881c-17.308,0-31.338,14.026-31.338,31.334c0,17.307,14.03,31.337,31.338,31.337%20c17.307,0,31.337-14.03,31.337-31.337C254.541,222.907,240.511,208.881,223.204,208.881L223.204,208.881z%20M383.796,305.993%20c-17.308,0-31.338,14.03-31.338,31.334c0,17.308,14.03,31.337,31.338,31.337c17.307,0,31.333-14.029,31.333-31.337%20C415.129,320.023,401.103,305.993,383.796,305.993L383.796,305.993z%20M383.796,208.881c-17.308,0-31.338,14.026-31.338,31.334%20c0,17.307,14.03,31.337,31.338,31.337c17.307,0,31.333-14.03,31.333-31.337C415.129,222.907,401.103,208.881,383.796,208.881%20L383.796,208.881z%20M354.769,129.256c-12.585,0-22.786,10.201-22.786,22.786s10.2,22.786,22.786,22.786%20c12.585,0,22.786-10.201,22.786-22.786S367.354,129.256,354.769,129.256L354.769,129.256z%20M252.228,129.256%20c-12.585,0-22.786,10.201-22.786,22.786s10.2,22.786,22.786,22.786c12.585,0,22.786-10.201,22.786-22.786%20S264.813,129.256,252.228,129.256z'/%3e%3c/svg%3e",En="data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17%2012.8108C17%2013.1901%2016.898%2013.5661%2016.6687%2013.8682C15.2357%2015.7558%2012.784%2017%2010%2017C7.21614%2017%204.76431%2015.7557%203.33134%2013.8681C3.10199%2013.566%203%2013.1901%203%2012.8108V7.18924C3%206.80993%203.10199%206.43401%203.33134%206.13189C4.76431%204.24428%207.21614%203%2010%203C12.784%203%2015.2357%204.24423%2016.6687%206.13183C16.898%206.43395%2017%206.80986%2017%207.18918V12.8108ZM10%207C10.5522%207%2011%206.55231%2011%206C11%205.44769%2010.5522%205%2010%205C9.44775%205%209%205.44769%209%206C9%206.55231%209.44775%207%2010%207ZM6.5%2011.5C7.32837%2011.5%208%2010.8284%208%2010C8%209.17157%207.32837%208.5%206.5%208.5C5.67163%208.5%205%209.17157%205%2010C5%2010.8284%205.67163%2011.5%206.5%2011.5ZM11.5%2013.5C11.5%2014.3284%2010.8284%2015%2010%2015C9.17163%2015%208.5%2014.3284%208.5%2013.5C8.5%2012.6716%209.17163%2012%2010%2012C10.8284%2012%2011.5%2012.6716%2011.5%2013.5ZM13.5%2011.5C14.3284%2011.5%2015%2010.8284%2015%2010C15%209.17157%2014.3284%208.5%2013.5%208.5C12.6716%208.5%2012%209.17157%2012%2010C12%2010.8284%2012.6716%2011.5%2013.5%2011.5Z'%20fill='currentColor'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%201C13.8106%201%2017.1182%202.95715%2018.7732%205.82595C18.9298%206.09752%2019%206.40872%2019%206.72224V13.2778C19%2013.5913%2018.9298%2013.9025%2018.7732%2014.1741C17.1182%2017.0429%2013.8106%2019%2010%2019C6.18943%2019%202.88177%2017.0429%201.22682%2014.1741C1.07016%2013.9025%201%2013.5913%201%2013.2778V6.72224C1%206.40872%201.07016%206.09752%201.22682%205.82595C2.88177%202.95715%206.18943%201%2010%201ZM17.6711%205.64554C17.8973%205.95002%2018%206.32536%2018%206.70467V13.2953C18%2013.6746%2017.8973%2014.05%2017.6711%2014.3545C16.0408%2016.5488%2013.214%2018%2010%2018C6.78594%2018%203.95915%2016.5488%202.32887%2014.3544C2.10268%2014.0499%202%2013.6746%202%2013.2953V6.70472C2%206.32542%202.10268%205.95008%202.32887%205.64561C3.95915%203.45116%206.78594%202%2010%202C13.214%202%2016.0408%203.45116%2017.6711%205.64554Z'%20fill='currentColor'/%3e%3c/svg%3e",A="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M395.264,259.724c21.074,0,38.157,17.083,38.157,38.158%20c0,21.074-17.083,38.164-38.157,38.164c-21.075,0-38.165-17.09-38.165-38.164C357.099,276.806,374.189,259.724,395.264,259.724%20L395.264,259.724z%20M206.743,259.724c21.075,0,38.158,17.083,38.158,38.158c0,21.074-17.083,38.164-38.158,38.164%20c-21.074,0-38.164-17.09-38.164-38.164C168.579,276.806,185.669,259.724,206.743,259.724L206.743,259.724z%20M317.092,89.755v29.841%20h-32.183V89.755c-67.083,5.031-127.459,41.741-163.107,98.796v223.399c35.648,57.055,96.024,93.765,163.107,98.802v-29.841h32.183%20v29.841c67.084-5.038,127.459-41.747,163.114-98.802V188.551C444.551,131.496,384.176,94.787,317.092,89.755L317.092,89.755z%20M301,56.962c-85.858,0-165.124,45.192-209.061,118.921l-2.328,3.902v90.784H58.612v59.364h30.999v90.784l2.328,3.902%20C135.876,498.348,215.143,543.539,301,543.539c85.857,0,165.123-45.184,209.06-118.921l2.328-3.902v-90.784h31.006v-59.364h-31.006%20v-90.784l-2.328-3.902C466.124,102.147,386.857,56.962,301,56.962L301,56.962z%20M301,18.251c-155.741,0-282,126.253-282,282%20c0,155.741,126.26,282,282,282c155.747,0,282-126.26,282-282C583,144.504,456.747,18.251,301,18.251z'/%3e%3c/svg%3e",le="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M261.067,178.239c0,7.551,2.198,14.579,5.985,20.491l20.49-20.491%20l-20.49-20.491C263.265,163.659,261.067,170.694,261.067,178.239L261.067,178.239z%20M298.999,216.171%20c-7.545,0-14.58-2.198-20.488-5.981l20.488-20.491l20.491,20.491C313.581,213.972,306.55,216.171,298.999,216.171L298.999,216.171z%20M336.934,178.239c0-7.545-2.198-14.58-5.985-20.491l-20.491,20.491l20.491,20.491C334.736,192.818,336.934,185.79,336.934,178.239%20L336.934,178.239z%20M319.49,146.295l-20.491,20.484l-20.488-20.484c5.907-3.79,12.943-5.988,20.488-5.988%20C306.55,140.307,313.581,142.505,319.49,146.295L319.49,146.295z%20M298.999,124.101c29.864,0,54.141,24.281,54.141,54.138%20c0,29.864-24.277,54.145-54.141,54.145c-29.858,0-54.138-24.281-54.138-54.145C244.861,148.382,269.141,124.101,298.999,124.101%20L298.999,124.101z%20M261.067,417.863c0,7.551,2.198,14.579,5.985,20.491l20.49-20.491l-20.49-20.491%20C263.265,403.283,261.067,410.319,261.067,417.863L261.067,417.863z%20M298.999,455.795c-7.545,0-14.58-2.198-20.488-5.981%20l20.488-20.491l20.491,20.491C313.581,453.597,306.55,455.795,298.999,455.795L298.999,455.795z%20M336.934,417.863%20c0-7.545-2.198-14.58-5.985-20.491l-20.491,20.491l20.491,20.491C334.736,432.443,336.934,425.415,336.934,417.863L336.934,417.863z%20M319.49,385.92l-20.491,20.484l-20.488-20.484c5.907-3.79,12.943-5.988,20.488-5.988C306.55,379.931,313.581,382.13,319.49,385.92%20L319.49,385.92z%20M298.999,363.725c29.864,0,54.141,24.281,54.141,54.138c0,29.864-24.277,54.145-54.141,54.145%20c-29.858,0-54.138-24.281-54.138-54.145C244.861,388.007,269.141,363.725,298.999,363.725L298.999,363.725z%20M180.188,239.928%20c30.094,0,54.49,24.4,54.49,54.494c0,30.095-24.396,54.494-54.49,54.494c-30.095,0-54.494-24.399-54.494-54.494%20C125.694,264.327,150.093,239.928,180.188,239.928L180.188,239.928z%20M417.816,239.928c30.094,0,54.494,24.4,54.494,54.494%20c0,30.095-24.4,54.494-54.494,54.494c-30.095,0-54.494-24.399-54.494-54.494C363.323,264.327,387.722,239.928,417.816,239.928%20L417.816,239.928z%20M298.999,86.511c116.835,0,211.544,94.708,211.544,211.54c0,116.84-94.708,211.54-211.544,211.54%20c-116.836,0-211.54-94.708-211.54-211.54C87.458,181.219,182.163,86.511,298.999,86.511L298.999,86.511z%20M298.999,54.1%20c134.73,0,243.955,109.225,243.955,243.951c0,134.727-109.225,243.952-243.955,243.952c-134.727,0-243.952-109.225-243.952-243.952%20C55.047,163.324,164.271,54.1,298.999,54.1L298.999,54.1z%20M298.999,14.053C455.846,14.053,583,141.2,583,298.051%20c0,156.844-127.154,283.999-284.001,283.999C142.151,582.049,15,454.895,15,298.051C15,141.2,142.151,14.053,298.999,14.053z'/%3e%3c/svg%3e",Ae="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2022.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20600%20600'%20enable-background='new%200%200%20600%20600'%20xml:space='preserve'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20fill='currentColor'%20d='M449.833,45.125C531.521,95.36,586,185.558,586,288.497%20c0,157.672-127.825,285.497-285.503,285.497C142.822,573.994,15,446.169,15,288.497C15,185.558,69.476,95.36,151.167,45.125H449.833%20L449.833,45.125z%20M193.639,256.195c-29.46,0-53.343,23.89-53.343,53.35c0,29.46,23.882,53.343,53.343,53.343%20c29.46,0,53.346-23.882,53.346-53.343C246.985,280.085,223.099,256.195,193.639,256.195L193.639,256.195z%20M407.365,256.195%20c-29.46,0-53.35,23.89-53.35,53.35c0,29.46,23.89,53.343,53.35,53.343c29.46,0,53.343-23.882,53.343-53.343%20C460.708,280.085,436.826,256.195,407.365,256.195L407.365,256.195z%20M442.248,88.407l-4.308-3.053H163.052l-4.304,3.053%20c-64.954,46.088-103.49,120.43-103.49,200.09c0,135.438,109.801,245.239,245.239,245.239c135.437,0,245.245-109.801,245.245-245.239%20C545.742,208.837,507.203,134.495,442.248,88.407L442.248,88.407z%20M427.607,117.937H173.391%20c-54.002,40.321-85.547,103.142-85.547,170.56c0,117.449,95.204,212.656,212.653,212.656c117.455,0,212.663-95.207,212.663-212.656%20C513.16,221.08,481.609,158.258,427.607,117.937L427.607,117.937z%20M300.497,215.65c-11.384,0-20.614,9.226-20.614,20.613%20c0,11.387,9.23,20.614,20.614,20.614c11.387,0,20.62-9.226,20.62-20.614C321.117,224.876,311.883,215.65,300.497,215.65%20L300.497,215.65z%20M300.497,146.275c-11.384,0-20.614,9.226-20.614,20.614c0,11.387,9.23,20.62,20.614,20.62%20c11.387,0,20.62-9.233,20.62-20.62C321.117,155.501,311.883,146.275,300.497,146.275L300.497,146.275z%20M381.735,146.275%20c-11.387,0-20.613,9.226-20.613,20.614c0,11.387,9.226,20.62,20.613,20.62c11.387,0,20.613-9.233,20.613-20.62%20C402.348,155.501,393.122,146.275,381.735,146.275L381.735,146.275z%20M219.265,146.275c-11.387,0-20.616,9.226-20.616,20.614%20c0,11.387,9.23,20.62,20.616,20.62c11.387,0,20.617-9.233,20.617-20.62C239.882,155.501,230.652,146.275,219.265,146.275%20L219.265,146.275z%20M300.497,400.094c-18.881,0-34.186,15.309-34.186,34.189c0,18.887,15.305,34.189,34.186,34.189%20c18.887,0,34.189-15.302,34.189-34.189C334.686,415.403,319.384,400.094,300.497,400.094L300.497,400.094z%20M381.735,417.199%20c-11.387,0-20.613,9.233-20.613,20.62c0,11.38,9.226,20.614,20.613,20.614c11.387,0,20.613-9.233,20.613-20.614%20C402.348,426.433,393.122,417.199,381.735,417.199L381.735,417.199z%20M219.265,417.199c-11.387,0-20.616,9.233-20.616,20.62%20c0,11.38,9.23,20.614,20.616,20.614c11.387,0,20.617-9.233,20.617-20.614C239.882,426.433,230.652,417.199,219.265,417.199z'/%3e%3c/svg%3e",Te={IEC_62196_T1:xn,IEC_62196_T1_COMBO:bn,IEC_62196_T2:yn,IEC_62196_T2_COMBO:Cn,IEC_62196_T3:qe,IEC_62196_T3A:En,IEC_62196_T3B:qe,IEC_62196_T3C:qe,CHADEMO:le,CHAOJI:le,CATARC:Ae,GBT_AC:Ae,GBT_DC:Ae,SCHUKO:A,DOMESTIC_A:A,DOMESTIC_B:A,DOMESTIC_C:A,DOMESTIC_D:A,DOMESTIC_E:A,DOMESTIC_F:A,DOMESTIC_G:A,DOMESTIC_H:A,DOMESTIC_I:A,DOMESTIC_J:A,DOMESTIC_K:A,DOMESTIC_L:A,DOMESTIC_M:A,DOMESTIC_N:A,DOMESTIC_O:A,IEC_60309_2_SINGLE_16:A,IEC_60309_2_THREE_16:A,IEC_60309_2_THREE_32:A,IEC_60309_2_THREE_64:A,NEMA_5_20:A,NEMA_6_30:A,NEMA_6_50:A,NEMA_10_30:A,NEMA_10_50:A,NEMA_14_30:A,NEMA_14_50:A,PANTOGRAPH_BOTTOM_UP:le,PANTOGRAPH_TOP_DOWN:le,TESLA_R:le,TESLA_S:le,CONNECTOR_STANDARD_TYPE_CHADEMO:le,CONNECTOR_STANDARD_TYPE_CHAOJI:le,CONNECTOR_STANDARD_TYPE_CATARC:Ae,CONNECTOR_STANDARD_TYPE_SCHUKO:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_A:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_B:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_C:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_D:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_E:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_F:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_G:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_H:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_I:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_J:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_K:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_L:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_M:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_N:A,CONNECTOR_STANDARD_TYPE_DOMESTIC_O:A,CONNECTOR_STANDARD_TYPE_GBT_AC:Ae,CONNECTOR_STANDARD_TYPE_GBT_DC:Ae,CONNECTOR_STANDARD_TYPE_IEC_60309_2_SINGLE_16:A,CONNECTOR_STANDARD_TYPE_IEC_60309_2_THREE_16:A,CONNECTOR_STANDARD_TYPE_IEC_60309_2_THREE_32:A,CONNECTOR_STANDARD_TYPE_IEC_60309_2_THREE_64:A,CONNECTOR_STANDARD_TYPE_IEC_62196_T1:xn,CONNECTOR_STANDARD_TYPE_IEC_62196_T1_COMBO:bn,CONNECTOR_STANDARD_TYPE_IEC_62196_T2:yn,CONNECTOR_STANDARD_TYPE_IEC_62196_T2_COMBO:Cn,CONNECTOR_STANDARD_TYPE_IEC_62196_T3A:En,CONNECTOR_STANDARD_TYPE_IEC_62196_T3C:qe,CONNECTOR_STANDARD_TYPE_NEMA_5_20:A,CONNECTOR_STANDARD_TYPE_NEMA_6_30:A,CONNECTOR_STANDARD_TYPE_NEMA_6_50:A,CONNECTOR_STANDARD_TYPE_NEMA_10_30:A,CONNECTOR_STANDARD_TYPE_NEMA_10_50:A,CONNECTOR_STANDARD_TYPE_NEMA_14_30:A,CONNECTOR_STANDARD_TYPE_NEMA_14_50:A,CONNECTOR_STANDARD_TYPE_PANTOGRAPH_BOTTOM_UP:le,CONNECTOR_STANDARD_TYPE_PANTOGRAPH_TOP_DOWN:le,CONNECTOR_STANDARD_TYPE_TESLA_R:le,CONNECTOR_STANDARD_TYPE_TESLA_S:le},He={minPower:7,operator:[],status:[],publishingMode:"",connectorTypes:[],chargingAccessibility:"ALL",noAdditionalCharges:!1,powerType:void 0,operatorOnly:"",remoteStartStop:!1,searchPhrase:"",excludeOperator:[],authMethodCapabilities:[],maxEnergyPrice:void 0};function es(e){return!!(e.minPower&&e.minPower!==He.minPower||e?.status?.length||e?.connectorTypes?.length||e?.chargingAccessibility&&e?.chargingAccessibility!==He.chargingAccessibility||e?.operator?.length||e?.powerType||e?.partyId||e?.noAdditionalCharges||e?.operatorOnly||e?.remoteStartStop||e?.searchPhrase||e?.excludeOperator?.length||e?.authMethodCapabilities?.length||typeof e?.maxEnergyPrice=="number")}const ts=[{value:"AUTH_METHOD_CAPABILITY_PLUG_AND_CHARGE",labelKey:"filters.authCapability.plugAndCharge"},{value:"AUTH_METHOD_CAPABILITY_CREDIT_CARD_PAYABLE",labelKey:"filters.authCapability.creditCard"}],ns=[{label:3,value:3},{label:7,value:7},{label:11,value:11},{label:22,value:22},{label:43,value:43},{label:50,value:50},{label:100,value:100},{label:150,value:150},{label:200,value:200},{label:"250+",value:250}];function rs(e){return h.useReducer((t,n)=>({...t,...n}),e)}function os(){const{setFilters:e,t,filters:n,filterConfiguration:r,options:i,mapKind:a,currency:s,language:c}=B(),[l,u]=rs({...He,...n}),d=re(i.version,"v3")&&r?.showPriceFilter,f=typeof l.maxEnergyPrice=="number"?qn(c,{amount:l.maxEnergyPrice,currency:s}):void 0,{setView:m}=ke(),v=re(i.version,"v2")&&r?.operators?.length>1,C=h.useRef();return h.useEffect(()=>{C.current&&n!==C.current&&u(n)},[n]),h.useEffect(()=>{C.current=l,e(l)},[l]),o.jsxs(o.Fragment,{children:[o.jsx("div",{className:N.headerContainer,children:o.jsx("div",{className:N.header,children:t("filters.header")})}),o.jsxs("div",{className:N.container,children:[o.jsx("button",{onClick:()=>{u(He),e(He)},className:N.actionLinkClearAll,children:t("filters.clearAll")}),re(i.version,"v2")&&r?.showSearchPhraseFilter&&o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.searchPhrase")}),o.jsx("input",{type:"text",value:l.searchPhrase||"",placeholder:t("filters.searchPhrasePlaceholder"),onChange:p=>u({searchPhrase:p.target.value}),style:{width:"100%",boxSizing:"border-box",padding:"8px 10px",fontFamily:"var(--roadmap-font-family, Inter), system-ui",fontSize:14,lineHeight:"20px",color:"var(--roadmap-text-color, #2a2a2a)",background:"var(--roadmap-background-color, #fff)",border:"1px solid var(--roadmap-border-color, #ddd)",borderRadius:6,outline:"none"}})]}),o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.onlyShow")}),o.jsxs("label",{htmlFor:"dsChargers",className:N.rowLabel,children:[o.jsx("div",{className:N.label,children:t("filters.dcChargers")}),o.jsx(se,{id:"dsChargers",checked:l.powerType==="dc",onChange:p=>{u({powerType:p?"dc":void 0})}})]}),!re(i.version,"v2")&&o.jsxs("label",{htmlFor:"efluxChargers",className:N.rowLabel,children:[o.jsx("div",{className:N.label,children:t("filters.efluxChargers")}),o.jsx(se,{id:"efluxChargers",checked:l.partyId==="EFL",onChange:p=>{u({partyId:p?"EFL":void 0})}})]}),(!re(i.version,"v2")||r?.showNoAdditionalFeeFilter)&&o.jsxs("label",{htmlFor:"noAdditionalFee",className:N.rowLabel,children:[o.jsx("div",{className:N.label,children:t("filters.noAdditionalFee")}),o.jsx(se,{id:"noAdditionalFee",checked:l.noAdditionalCharges,onChange:p=>{u({noAdditionalCharges:p?!0:void 0})}})]}),o.jsxs("label",{htmlFor:"remoteStartStop",className:N.rowLabel,children:[o.jsx("div",{className:N.label,children:t("filters.remoteStartStop")}),o.jsx(se,{id:"remoteStartStop",checked:l.remoteStartStop,onChange:p=>{u({remoteStartStop:p?!0:void 0})}})]}),r.showOperatorOnly&&re(i.version,"v2")&&o.jsxs("label",{htmlFor:"operatorOnly",className:N.rowLabel,children:[o.jsx("div",{className:N.label,children:`Show '${r.showOperatorOnly}' only`}),o.jsx(se,{id:"operatorOnly",checked:l.operatorOnly===r.showOperatorOnly,onChange:p=>{u({operatorOnly:p?r.showOperatorOnly:void 0})}})]})]}),v&&o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.operator")}),o.jsx(hn,{id:"operator",preferredValues:i.preferredOperators,value:l.operator,options:[...r?.operators?.map(p=>({value:p?.connectionId,label:p?.name,selected:l.operators?.includes(p?.connectionId)}))||[]],placeholder:"Select operator",onChange:p=>{u({operator:p})}})]}),v&&r?.showExcludeOperatorFilter&&o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.excludeOperator")}),o.jsx(hn,{id:"excludeOperator",preferredValues:i.preferredOperators,value:l.excludeOperator,options:[...r?.operators?.map(p=>({value:p?.connectionId,label:p?.name,selected:l.excludeOperator?.includes(p?.connectionId)}))||[]],placeholder:t("filters.excludeOperator"),onChange:p=>{u({excludeOperator:p})}})]}),r?.showPublishingModeFilter&&r?.publishingMode?.length>1&&o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:"Visibility"}),o.jsx(vn,{id:"publishingMode",value:l.publishingMode,options:[{value:"",label:"All locations"},{value:"PUBLISHING_MODE_PUBLIC",label:"Public locations"},{value:"PUBLISHING_MODE_PRIVATE",label:"Private locations"}],onChange:p=>{u({publishingMode:p})}})]}),o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.statusHeading")}),Bn(a,i.version).map(p=>o.jsxs("label",{htmlFor:p.id,className:N.rowLabel,children:[o.jsxs("div",{className:N.label,children:[o.jsx("div",{className:N.dot,style:{background:p.color}}),t(p.labelKey)]}),o.jsx(se,{id:p.id,name:"status",checked:p.values.every(x=>l.status.includes(x)),onChange:x=>{u({status:vt(x?"add":"remove",l.status,p.values)})}})]},p.id))]}),o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.chargingPower")}),o.jsx(mn,{value:l.minPower,onChange:p=>{u({minPower:p})},ticks:ns})]}),d&&o.jsxs("div",{className:N.optionsGroup,children:[o.jsxs("div",{className:N.heading,style:{display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[o.jsx("span",{children:t("filters.maxEnergyPrice")}),f&&o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace',fontWeight:500,color:"var(--roadmap-brand-color, #ff3d00)"},children:f})]}),o.jsx(mn,{value:l.maxEnergyPrice,onChange:p=>{u({maxEnergyPrice:p})},ticks:Ro(c,s,t("filters.anyPrice"))})]}),o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.connectorType")}),o.jsxs("label",{htmlFor:"type1",className:N.rowLabel,children:[o.jsxs("div",{className:N.label,children:[o.jsx("img",{src:Te.IEC_62196_T1,className:N.connectorIcon}),"Type 1 (Yazaki)"]}),o.jsx(se,{id:"type1",checked:l.connectorTypes.includes("IEC_62196_T1"),onChange:p=>{u({connectorTypes:p?[...l.connectorTypes,"IEC_62196_T1"]:l.connectorTypes.filter(x=>x!=="IEC_62196_T1")})}})]}),o.jsxs("label",{htmlFor:"type2",className:N.rowLabel,children:[o.jsxs("div",{className:N.label,children:[o.jsx("img",{src:Te.IEC_62196_T2,className:N.connectorIcon}),"Type 2 (Mennekes)"]}),o.jsx(se,{id:"type2",checked:l.connectorTypes.includes("IEC_62196_T2"),onChange:p=>{u({connectorTypes:p?[...l.connectorTypes,"IEC_62196_T2"]:l.connectorTypes.filter(x=>x!=="IEC_62196_T2")})}})]}),o.jsxs("label",{htmlFor:"type3",className:N.rowLabel,children:[o.jsxs("div",{className:N.label,children:[o.jsx("img",{src:Te.IEC_62196_T3,className:N.connectorIcon}),"Type 3 (Le Grand)"]}),o.jsx(se,{id:"type3",checked:l.connectorTypes.includes("IEC_62196_T3A"),onChange:p=>{u({connectorTypes:p?[...l.connectorTypes,"IEC_62196_T3A"]:l.connectorTypes.filter(x=>x!=="IEC_62196_T3A")})}})]}),o.jsxs("label",{htmlFor:"CHAdeMo",className:N.rowLabel,children:[o.jsxs("div",{className:N.label,children:[o.jsx("img",{src:Te.CHADEMO,className:N.connectorIcon}),"CHAdeMo"]}),o.jsx(se,{id:"CHAdeMo",checked:l.connectorTypes.includes("CHADEMO"),onChange:p=>{u({connectorTypes:p?[...l.connectorTypes,"CHADEMO"]:l.connectorTypes.filter(x=>x!=="CHADEMO")})}})]}),o.jsxs("label",{htmlFor:"domestic",className:N.rowLabel,children:[o.jsxs("div",{className:N.label,children:[o.jsx("img",{src:Te.DOMESTIC_F,className:N.connectorIcon}),"Domestic"]}),o.jsx(se,{id:"domestic",checked:l.connectorTypes.includes("DOMESTIC_F"),onChange:p=>{u({connectorTypes:p?[...l.connectorTypes,"DOMESTIC_F"]:l.connectorTypes.filter(x=>x!=="DOMESTIC_F")})}})]}),o.jsxs("label",{htmlFor:"combo",className:N.rowLabel,children:[o.jsxs("div",{className:N.label,children:[o.jsx("img",{src:Te.IEC_62196_T2_COMBO,className:N.connectorIcon}),"Combo"]}),o.jsx(se,{id:"combo",checked:l.connectorTypes.includes("IEC_62196_T2_COMBO"),onChange:p=>{u({connectorTypes:p?[...l.connectorTypes,"IEC_62196_T2_COMBO"]:l.connectorTypes.filter(x=>x!=="IEC_62196_T2_COMBO")})}})]})]}),re(i.version,"v2")&&r?.showPaymentMethodFilter&&o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.authMethodCapabilities")}),ts.map(p=>{const x=`auth-${p.value}`,M=l.authMethodCapabilities?.includes(p.value)??!1;return o.jsxs("label",{htmlFor:x,className:N.rowLabel,children:[o.jsx("div",{className:N.label,children:t(p.labelKey)}),o.jsx(se,{id:x,checked:M,onChange:z=>{u({authMethodCapabilities:vt(z?"add":"remove",l.authMethodCapabilities||[],[p.value])})}})]},p.value)})]}),r?.showVehicleAvailabilityFilter&&o.jsxs("div",{className:N.optionsGroup,children:[o.jsx("div",{className:N.heading,children:t("filters.chargingAccessibility")}),o.jsx(vn,{id:"chargingAccessibility",value:l.chargingAccessibility||"ALL",options:[{value:"ALL",label:t("filters.accessibilityAll")},{value:"TESLA",label:t("filters.accessibilityTesla")}],onChange:p=>{u({chargingAccessibility:p})}})]})]})]})}const is="locations-module_headerContainer",as="locations-module_publishingMode",ss="locations-module_container",ls="locations-module_header",cs="locations-module_subheader",us="locations-module_row",ds="locations-module_icon",fs="locations-module_statusIcon",ps="locations-module_text",ms="locations-module_note",hs="locations-module_divider",gs="locations-module_pagingation",vs="locations-module_tariffNoteLink",_={headerContainer:is,publishingMode:as,container:ss,header:ls,subheader:cs,row:us,icon:ds,statusIcon:fs,text:ps,note:ms,divider:hs,pagingation:gs,tariffNoteLink:vs},ys="LocationPlaceholder-module_container",Cs="LocationPlaceholder-module_header",xs="LocationPlaceholder-module_divider",bs="LocationPlaceholder-module_iconLine",Es="LocationPlaceholder-module_priceLine",ie={container:ys,header:Cs,divider:xs,iconLine:bs,priceLine:Es};function Ts(){return o.jsxs("div",{className:ie.container,children:[o.jsx("div",{className:ie.header}),o.jsx("div",{className:ie.divider,style:{marginTop:"15px",marginBottom:"23px"}}),o.jsx("div",{className:ie.iconLine,style:{width:"60%"}}),o.jsx("div",{className:ie.iconLine,style:{width:"45%"}}),o.jsx("div",{className:ie.iconLine,style:{width:"50%"}}),o.jsx("div",{className:ie.divider}),o.jsx("div",{className:ie.iconLine,style:{width:"50%"}}),o.jsx("div",{className:ie.iconLine,style:{width:"62%"}}),o.jsx("div",{className:ie.priceLine}),o.jsx("div",{className:ie.divider}),o.jsx("div",{className:ie.iconLine,style:{width:"50%"}}),o.jsx("div",{className:ie.iconLine,style:{width:"57%"}}),o.jsx("div",{className:ie.priceLine,style:{width:"30%"}})]})}function fr(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",width:"12",height:"12",fill:"currentColor",children:o.jsx("path",{d:"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"})})}function pr(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",width:"12",height:"12",fill:"currentColor",children:o.jsx("path",{d:"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"})})}function ws(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 320",width:"10",height:"10",fill:"currentColor",children:o.jsx("path",{d:"M233.4 310.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 242.7 86.6 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"})})}function Ss(){return o.jsx("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:o.jsx("path",{d:"M8 0.25C3.72 0.25 0.25 3.72 0.25 8s3.47 7.75 7.75 7.75S15.75 12.28 15.75 8 12.28 0.25 8 0.25zm0 14C4.55 14.25 1.75 11.45 1.75 8S4.55 1.75 8 1.75 14.25 4.55 14.25 8 11.45 14.25 8 14.25zM8.75 4.25a0.75 0.75 0 0 0-1.5 0v4c0 0.2 0.08 0.39 0.22 0.53l2.5 2.5a0.75 0.75 0 1 0 1.06-1.06L8.75 7.94V4.25z"})})}function Ns(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16",fill:"currentColor",children:o.jsx("path",{d:"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 1 1 1.06-1.06L5.75 11.19l6.97-6.97a.75.75 0 0 1 1.06 0z"})})}function mr(){return o.jsx("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:o.jsx("g",{children:o.jsx("path",{d:"M8 0.25C3.72009 0.25 0.25 3.72134 0.25 8C0.25 12.2812 3.72009 15.75 8 15.75C12.2799 15.75 15.75 12.2812 15.75 8C15.75 3.72134 12.2799 0.25 8 0.25ZM8 14.25C4.54588 14.25 1.75 11.4553 1.75 8C1.75 4.54703 4.546 1.75 8 1.75C11.4528 1.75 14.25 4.54597 14.25 8C14.25 11.4541 11.4553 14.25 8 14.25ZM8 3.6875C8.72487 3.6875 9.3125 4.27513 9.3125 5C9.3125 5.72487 8.72487 6.3125 8 6.3125C7.27513 6.3125 6.6875 5.72487 6.6875 5C6.6875 4.27513 7.27513 3.6875 8 3.6875ZM9.75 11.625C9.75 11.8321 9.58209 12 9.375 12H6.625C6.41791 12 6.25 11.8321 6.25 11.625V10.875C6.25 10.6679 6.41791 10.5 6.625 10.5H7V8.5H6.625C6.41791 8.5 6.25 8.33209 6.25 8.125V7.375C6.25 7.16791 6.41791 7 6.625 7H8.625C8.83209 7 9 7.16791 9 7.375V10.5H9.375C9.58209 10.5 9.75 10.6679 9.75 10.875V11.625Z"})})})}const _s="SidebarContainer-module_container",As={container:_s};function De({children:e}){return o.jsx("div",{className:As.container,children:e})}const Os="Debug-module_container",Ps="Debug-module_content",js="Debug-module_connectorHeader",Ds="Debug-module_code",Is="Debug-module_evse",Oe={container:Os,content:Ps,connectorHeader:js,code:Ds,evse:Is};function ks({location:e}){return o.jsx("div",{className:Oe.container,children:o.jsxs(De,{children:[o.jsx("div",{children:o.jsxs("h3",{children:["Debug: ",e.name]})}),o.jsx("div",{style:{marginBottom:"5px"},children:o.jsx("button",{onClick:()=>{navigator.clipboard.writeText(JSON.stringify(e,null,2))},children:"Copy location"})}),o.jsx("div",{className:Oe.content,children:e.evses.map(t=>o.jsxs("div",{className:Oe.evse,children:[o.jsxs("div",{className:Oe.connectorHeader,children:["Evse: ",t.evseId||t.evse_id]}),o.jsx("div",{children:t.connectors.map((n,r)=>o.jsxs("div",{children:[o.jsxs("div",{className:Oe.connectorHeader,children:["Connector #",r]}),o.jsx("pre",{className:Oe.code,children:JSON.stringify(n.tariff||Array.isArray(e.tariffs)?e.tariffs?.find(i=>n.tariff_ids.includes(i.id)):null,null,2)})]}))})]}))})]})})}const hr="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='16'%20viewBox='0%200%2018%2016'%20fill='none'%3e%3cg%20clip-path='url(%23clip0_480_2466)'%3e%3cpath%20d='M3.76781%207H5.0925L4.81812%208.71156C4.77812%208.85969%204.9075%209%205.07875%209C5.17188%209%205.26156%208.95719%205.31063%208.88313L7.40219%205.78062C7.50531%205.62469%207.37656%205.42875%207.17031%205.42875H5.88219L6.14094%204.295C6.18625%204.14625%206.05781%204.00031%205.88219%204.00031H4.36438C4.23%204.00031%204.11656%204.08719%204.09875%204.20375L3.50187%206.735C3.48094%206.87531%203.60594%207%203.76781%207ZM17.5%204H17V2.5C17%202.22375%2016.7763%202%2016.5%202C16.2237%202%2016%202.22375%2016%202.5V4H15V2.5C15%202.22375%2014.7762%202%2014.5%202C14.2238%202%2014%202.22375%2014%202.5V4H13.5C13.2238%204%2013%204.22375%2013%204.5V6C13%207.1175%2013.7381%208.05281%2014.75%208.37281V11.625C14.75%2012.1075%2014.3575%2012.5%2013.875%2012.5C13.3925%2012.5%2013%2012.1075%2013%2011.625V10.75C13%209.23344%2011.7666%208%2010.25%208H10V1.5C10%200.671562%209.32844%200%208.5%200H2.5C1.67156%200%201%200.671562%201%201.5V14.5H0.25C0.111875%2014.5%200%2014.6119%200%2014.75V15.75C0%2015.8881%200.111875%2016%200.25%2016H10.75C10.8881%2016%2011%2015.8881%2011%2015.75V14.75C11%2014.6119%2010.8881%2014.5%2010.75%2014.5H10V9.5H10.25C10.9394%209.5%2011.5%2010.0606%2011.5%2010.75V11.625C11.5%2012.9347%2012.5653%2014%2013.875%2014C15.1847%2014%2016.25%2012.9347%2016.25%2011.625V8.37281C17.2619%208.05281%2018%207.1175%2018%206V4.5C18%204.22375%2017.7763%204%2017.5%204ZM8.5%2014.5H2.5V1.5H8.5V14.5ZM16.5%206C16.5%206.55125%2016.0513%207%2015.5%207C14.9487%207%2014.5%206.55125%2014.5%206V5.5H16.5V6Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_480_2466'%3e%3crect%20width='18'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",gr="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='14'%20height='16'%20viewBox='0%200%2014%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_480_2468)'%3e%3cpath%20d='M4%204.625V3.375C4%203.16875%204.16875%203%204.375%203H5.625C5.83125%203%206%203.16875%206%203.375V4.625C6%204.83125%205.83125%205%205.625%205H4.375C4.16875%205%204%204.83125%204%204.625ZM8.375%205H9.625C9.83125%205%2010%204.83125%2010%204.625V3.375C10%203.16875%209.83125%203%209.625%203H8.375C8.16875%203%208%203.16875%208%203.375V4.625C8%204.83125%208.16875%205%208.375%205ZM4.375%208H5.625C5.83125%208%206%207.83125%206%207.625V6.375C6%206.16875%205.83125%206%205.625%206H4.375C4.16875%206%204%206.16875%204%206.375V7.625C4%207.83125%204.16875%208%204.375%208ZM8.375%208H9.625C9.83125%208%2010%207.83125%2010%207.625V6.375C10%206.16875%209.83125%206%209.625%206H8.375C8.16875%206%208%206.16875%208%206.375V7.625C8%207.83125%208.16875%208%208.375%208ZM6%2010.625V9.375C6%209.16875%205.83125%209%205.625%209H4.375C4.16875%209%204%209.16875%204%209.375V10.625C4%2010.8313%204.16875%2011%204.375%2011H5.625C5.83125%2011%206%2010.8313%206%2010.625ZM8.375%2011H9.625C9.83125%2011%2010%2010.8313%2010%2010.625V9.375C10%209.16875%209.83125%209%209.625%209H8.375C8.16875%209%208%209.16875%208%209.375V10.625C8%2010.8313%208.16875%2011%208.375%2011ZM14%2014.875V16H0V14.875C0%2014.6687%200.16875%2014.5%200.375%2014.5H0.984375V0.75C0.984375%200.334375%201.31875%200%201.73438%200H12.2656C12.6812%200%2013.0156%200.334375%2013.0156%200.75V14.5H13.625C13.8313%2014.5%2014%2014.6687%2014%2014.875ZM2.48438%2014.4688H6V12.375C6%2012.1687%206.16875%2012%206.375%2012H7.625C7.83125%2012%208%2012.1687%208%2012.375V14.4688H11.5156V1.53125L2.5%201.5L2.48438%2014.4688Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_480_2468'%3e%3crect%20width='14'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Rt="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='20'%20height='16'%20viewBox='0%200%2020%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17%206H16.5L13.1003%201.75063C12.913%201.51641%2012.6754%201.32734%2012.405%201.19741C12.1347%201.06747%2011.8387%201.00001%2011.5387%201H4.85406C4.03625%201%203.30094%201.49781%202.99719%202.25719L1.5%206V6.07062C0.63875%206.29375%200%207.06906%200%208V11.5C0%2011.7762%200.22375%2012%200.5%2012H2C2%2013.6569%203.34312%2015%205%2015C6.65688%2015%208%2013.6569%208%2012H12C12%2013.6569%2013.3431%2015%2015%2015C16.6569%2015%2018%2013.6569%2018%2012H19.5C19.7763%2012%2020%2011.7762%2020%2011.5V9C20%207.34312%2018.6569%206%2017%206ZM8.75%202.5H11.5387C11.6916%202.5%2011.8338%202.56844%2011.9291%202.6875L14.5791%206H8.75V2.5ZM4.38969%202.81437C4.46625%202.62344%204.64844%202.5%204.85406%202.5H7.25V6H3.11562L4.38969%202.81437ZM5%2013.5C4.17156%2013.5%203.5%2012.8284%203.5%2012C3.5%2011.1716%204.17156%2010.5%205%2010.5C5.82844%2010.5%206.5%2011.1716%206.5%2012C6.5%2012.8284%205.82844%2013.5%205%2013.5ZM15%2013.5C14.1716%2013.5%2013.5%2012.8284%2013.5%2012C13.5%2011.1716%2014.1716%2010.5%2015%2010.5C15.8284%2010.5%2016.5%2011.1716%2016.5%2012C16.5%2012.8284%2015.8284%2013.5%2015%2013.5ZM18.5%2010.5H17.5841C17.0644%209.60719%2016.1078%209%2015%209C13.8922%209%2012.9359%209.60719%2012.4159%2010.5H7.58406C7.06437%209.60719%206.10781%209%205%209C3.89219%209%202.93594%209.60719%202.41594%2010.5H1.5V8C1.5%207.72437%201.72438%207.5%202%207.5H17C17.8272%207.5%2018.5%208.17281%2018.5%209V10.5Z'%20fill='black'/%3e%3c/svg%3e",Be="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='12'%20height='16'%20viewBox='0%200%2012%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_480_2435)'%3e%3cpath%20d='M11.8068%205.24687C11.5506%204.8%2011.0849%204.53125%2010.5693%204.53125H7.61932L8.51619%201.79688C8.63182%201.36563%208.54119%200.9125%208.26932%200.55625C7.99432%200.203125%207.57869%200%207.13182%200H3.05369C2.34118%200%201.73181%200.534375%201.65368%201.15937L0.0161813%207.79063C-0.0431938%208.22188%200.0849314%208.65625%200.369307%208.98438C0.653682%209.3125%201.06618%209.5%201.50056%209.5H4.56619L3.47556%2014.2406C3.37556%2014.6688%203.47244%2015.1125%203.74431%2015.4563C4.01619%2015.8031%204.42556%2016%204.86619%2016C5.37556%2016%205.85057%2015.725%206.07869%2015.325L11.8037%206.67812C12.0662%206.23125%2012.0662%205.69375%2011.8068%205.24687ZM5.00369%2014.2937L6.45057%208H1.48493L3.05369%201.5L7.04119%201.47187L5.54744%206.03125H10.4381L5.00369%2014.2937Z'%20fill='%232A2A2A'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_480_2435'%3e%3crect%20width='12'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",vr="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='18'%20height='12'%20viewBox='0%200%2018%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16.2857%200H0.857143C0.383839%200%200%200.383839%200%200.857143V11.1429C0%2011.6162%200.383839%2012%200.857143%2012H16.2857C16.759%2012%2017.1429%2011.6162%2017.1429%2011.1429V0.857143C17.1429%200.383839%2016.759%200%2016.2857%200ZM15.8571%2010.7143H1.28571V1.28571H15.8571V10.7143ZM7.92857%207.71429H10.0714C10.1898%207.71429%2010.2857%207.61839%2010.2857%207.5V6.64286C10.2857%206.52446%2010.1898%206.42857%2010.0714%206.42857H7.92857C7.81018%206.42857%207.71429%206.52446%207.71429%206.64286V7.5C7.71429%207.61839%207.81018%207.71429%207.92857%207.71429ZM14.3571%206.42857H12.2143C12.0959%206.42857%2012%206.52446%2012%206.64286V7.5C12%207.61839%2012.0959%207.71429%2012.2143%207.71429H14.3571C14.4755%207.71429%2014.5714%207.61839%2014.5714%207.5V6.64286C14.5714%206.52446%2014.4755%206.42857%2014.3571%206.42857ZM7.92857%205.57143H14.3571C14.4755%205.57143%2014.5714%205.47554%2014.5714%205.35714V4.5C14.5714%204.38161%2014.4755%204.28571%2014.3571%204.28571H7.92857C7.81018%204.28571%207.71429%204.38161%207.71429%204.5V5.35714C7.71429%205.47554%207.81018%205.57143%207.92857%205.57143ZM3.60857%206.04607L4.73866%206.3525C4.85089%206.38304%204.92857%206.47437%204.92857%206.57482C4.92857%206.70339%204.80804%206.80786%204.65911%206.80786H3.95357C3.84241%206.80786%203.73312%206.78%203.6383%206.72884C3.5558%206.68411%203.45509%206.69214%203.3908%206.76045L3.0675%207.10143C2.9842%207.18929%202.99786%207.33286%203.09777%207.40116C3.32009%207.5525%203.58152%207.63902%203.85714%207.65616V7.92857C3.85714%208.04696%203.95304%208.14286%204.07143%208.14286H4.5C4.61839%208.14286%204.71429%208.04696%204.71429%207.92857V7.65402C5.30839%207.62455%205.78571%207.15661%205.78571%206.57455C5.78571%206.08786%205.44768%205.65634%204.96286%205.52536L3.83277%205.21893C3.72054%205.18839%203.64286%205.09705%203.64286%204.99661C3.64286%204.86804%203.76339%204.76357%203.91232%204.76357H4.61786C4.72902%204.76357%204.8383%204.79143%204.93312%204.84259C5.01562%204.88705%205.11634%204.87929%205.18062%204.81098L5.50393%204.47C5.58723%204.38214%205.57357%204.23857%205.47366%204.17027C5.25134%204.01893%204.98991%203.93241%204.71429%203.91527V3.64286C4.71429%203.52446%204.61839%203.42857%204.5%203.42857H4.07143C3.95304%203.42857%203.85714%203.52446%203.85714%203.64286V3.91741C3.26304%203.94688%202.78571%204.41482%202.78571%204.99688C2.78571%205.48357%203.12375%205.91509%203.60857%206.04607Z'%20fill='%232A2A2A'/%3e%3c/svg%3e";function $e(e){return Se(e)}function yr(e){return Te[e.standard||e.connectorStandardType]}function Cr(e,t){return new Intl.NumberFormat(e,{maximumFractionDigits:2}).format(t)}const Ms={CONNECTOR_POWER_TYPE_UNSPECIFIED:"Unspecified",CONNECTOR_POWER_TYPE_AC_1_PHASE:"AC x 1",CONNECTOR_POWER_TYPE_AC_2_PHASE:"AC x 2",CONNECTOR_POWER_TYPE_AC_2_PHASE_SPLIT:"AC x 2 Split",CONNECTOR_POWER_TYPE_AC_3_PHASE:"AC x 3",CONNECTOR_POWER_TYPE_DC:"DC",CONNECTOR_POWER_TYPE_AC:"AC",AC_3_PHASE:"AC x 3",AC_1_PHASE:"AC x 1",DC:"DC"};function xr(e){return[Rs(e.standard||e.connectorStandardType),Ms[e.powerType||e.power_type||e.connectorPowerType],"Socket"].join(", ")}function Rs(e){return e=(e||"").replace("CONNECTOR_STANDARD_TYPE_",""),e==="IEC_62196_T1"?"Type 1":e==="IEC_62196_T1_COMBO"?"Type 1 Combo":e==="IEC_62196_T2"?"Type 2":e==="IEC_62196_T2_COMBO"?"Type 2 Combo":e==="IEC_62196_T3A"?"Type 3A":e==="IEC_62196_T3C"?"Type 3C":e==="CHADEMO"?"CHAdeMO":e==="DOMESTIC_F"?"Domestic F":e==="DOMESTIC_E"?"Domestic E":e==="DOMESTIC_B"?"Domestic B":e==="CATARC"?"Catarc":e}function br(e,t){return e(_t(t))}function Er(e,t){return t?.type==="ON_STREET"?e("locationType.onStreet"):t?.type==="PARKING_GARAGE"?e("locationType.parkingGarage"):t?.type==="UNDERGROUND_GARAGE"?e("locationType.undergroundGarage"):t?.type==="PARKING_LOT"?e("locationType.parkingLot"):e("locationType.other")}function Tr(e=[]){return e.some(t=>t.status==="AVAILABLE")?$e("AVAILABLE"):e.some(t=>t.status==="CHARGING")?$e("CHARGING"):$e("UNKNOWN")}function wr(e,t){let n;["en","fr"].some(s=>{let l=new Intl.DateTimeFormat(s,{minute:"numeric",timeZone:t,timeZoneName:"short"}).formatToParts(e).filter(u=>u.type=="timeZoneName"&&u.value);if(/^(GMT|UTC)/.test(l[0].value))return n=l[0].value.replace(/GMT|UTC/,"")||"+0",!0});let r=n[0]=="+"?"+":"-",[i,a]=n.substring(1).split(":");return r+i.padStart(2,"0")+":"+(a||"00")}function Sr(e){let t=/^-/.test(e)?-1:1,[n,r]=e.match(/\d\d/g);return t*(n*60+Number(r))}function Tn(e,t){const n=s=>("0"+s).slice(-2),{year:r,month:i,day:a}=new Intl.DateTimeFormat("en",{timeZone:e}).formatToParts(t).reduce((s,c)=>(s[c.type]=c.value,c),Object.create(null));return`${r}-${n(i)}-${n(a)}`}function Nr(e,t=new Date){const n=wr(t,e),r=Sr(n),i=new Date(+t);return i.setUTCMinutes(i.getUTCMinutes()+r),i}function _r(e,t=new Date){const n=wr(t,e),r=Sr(n),i=new Date(+t);i.setUTCHours(0,-r,0,0);const a=Tn(e,t),s=Tn(e,i);return s>a?i.setUTCDate(i.getUTCDate()-1):s<a&&i.setUTCDate(i.getUTCDate()+1),i}function Ls(e,t=new Date){return new Date(_r(e,t).valueOf()+86399999)}function Fs(e,t,n){const r=Nr(n,e);return r.getUTCDate()!==t&&r.setUTCDate(e.getUTCDate()+(7+t-e.getUTCDay()-1)%7+1),{start:_r(n,r),end:Ls(n,r)}}function bt(e,t){return Nr(t,e).getUTCDay()}function wn(e){const[t,n]=e.split(":");return parseInt(t)*60+parseInt(n)}function Et(e){if(!e?.restrictions?.startTime||!e?.restrictions?.endTime)return{elements:[e],priceComponents:e.priceComponents,startTime:0,endTime:1440,isFullDay:!0};const t=wn(e.restrictions.startTime),n=wn(e.restrictions.endTime);return{elements:[e],priceComponents:e.priceComponents,isFullDay:t===0&&n===1440,startTime:t,endTime:n}}function Hs(e,t,n){const r=(n.getHours()*60+n.getMinutes())%60;if(e.length<=1)return e.map(a=>(a.isActive=t&&a.startTime<=r&&a.endTime>=r,a));e=e.sort((a,s)=>a.startTime-s.startTime);let i=[e[0]];for(let a=1;a<e.length;a++){const s=e[a],c=i.findLast(u=>u.startTime<=s.startTime);if(!c)i=i.filter(u=>u.endTime>s.endTime),i.unshift(s);else{const u=c.endTime;c.endTime=s.startTime;const d=[s];u>s.endTime&&d.push({...c,startTime:s.endTime,endTime:u}),i.splice(i.indexOf(c)+1,0,...d)}let l=0;i=i.map((u,d)=>{const f=i[d-1];if(u.endTime>l)l=u.endTime;else return null;return f&&f.endTime!==u.startTime&&(u.startTime=f.endTime),u}).filter(Boolean)}return i.map(a=>(a.isActive=t&&a.startTime<=r&&a.endTime>=r,a.isFullDay=a.startTime===0&&a.endTime===1440,a))}function xe(e){return!e?.restrictions||!e?.restrictions?.startDate&&!e?.restrictions?.endDate&&!e?.restrictions?.startTime&&!e?.restrictions?.startTime&&!e?.restrictions?.dayOfWeek}function Lt({elements:e,limit:t=6,now:n=new Date}){const i=[...e].filter(a=>!xe(a)).map(a=>({...a,restrictions:{_startDate:new Date(`${a.restrictions.startDate}T${a.restrictions.startTime}`),...a.restrictions}})).sort((a,s)=>a.restrictions._startDate.valueOf()-s.restrictions._startDate.valueOf()).filter(a=>a.restrictions._startDate.valueOf()>n.valueOf()-108e5).slice(0,t).reduce((a,s)=>{const c=s.restrictions._startDate.getDate();return a[c]={date:new Date(s.restrictions.startDate),items:[...a[c]?.items||[],s]},a},[]);return Object.keys(i).map(a=>{const{date:s,items:c}=i[a],l=c.map(({restrictions:u,...d})=>{const{_startDate:f,...m}=u;return{...d,restrictions:{...m}}}).map(Et).map(u=>{const d=bt(n)===bt(s),f=n.getHours()*60+n.getMinutes(),m=d&&u.startTime<=f&&u.endTime-1>=f;return{...u,isActive:m}});return{date:s,items:l}})}function $s(e,t){const n=new Date;return[...e].reduce((r,i)=>{const{startDate:a,endDate:s,dayOfWeek:c=[]}=i.restrictions||{};if(!Object.keys(i.restrictions||{}).length)return r;const l=a?new Date(a):null;if(a&&l.valueOf()>Date.now())return r;const u=s?new Date(s):null;return s&&u.valueOf()<Date.now()||["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"].forEach((d,f)=>{const{start:m,end:v}=Fs(n,f,t);l&&l.valueOf()>m.valueOf()||u&&u.valueOf()<v.valueOf()||c.length&&!c.includes(d)||(r[d]=[...r[d],i])}),r},{MONDAY:[],TUESDAY:[],WEDNESDAY:[],THURSDAY:[],FRIDAY:[],SATURDAY:[],SUNDAY:[]})}function Sn(e,t){return Object.keys(e).reduce((n,r)=>(t.includes(r)||(n[r]=e[r]),n),{})}function Vs(e,t){const n=e.map(i=>Sn(i,["isActive"])),r=t.map(i=>Sn(i,["isActive"]));return JSON.stringify(n)===JSON.stringify(r)}function zs(e){return e.reduce((t,n)=>{const r=t.find(i=>i.startTime===n.startTime&&i.endTime===n.endTime);return r?r.elements.push(...n.elements):t.push(n),t},[])}function Bs(e){return xe(e)?(e.priceComponents||[]).some(t=>t.type!=="PARKING_TIME"&&(t.price||0)>0):!1}function Us(e){return e.startTime===0&&e.endTime<=1||e.startTime>=1439&&e.endTime===1440}function Ar(e,t,n){const r=$s(e.concat().filter(u=>!xe(u)),t),i=e.find(Bs),{SUNDAY:a,...s}=r,[c,...l]=Object.keys({SUNDAY:r.SUNDAY,...s}).map((u,d)=>{const f=r[u],m=bt(n,t)===d,v=zs(f.map(Et));return i&&v.length>0&&v.unshift(Et(i)),{day:u,isActive:m,items:Hs(v,m,n).filter(C=>!Us(C))}});return[...l,c].reduce((u,d,f,m)=>{const v=u[u.length-1],C=v?.items;if(!C||!Vs(C,d.items)){const{day:p,...x}=d;u.push({...x,days:[d.day]})}else v.days=[v.days[0],d.day],v.isActive=v.isActive||d.isActive;return u},[]).filter(u=>!!u.items.length)}function Ws(e){const{elements:t=[]}=e;return t?.some(a=>a?.priceComponents?.length>0)?t.filter(xe).length===t.length?"base":Lt({elements:t,limit:6,now:new Date}).length?"dynamic":"scheduled":"none"}const Me={CONNECTOR_POWER_TYPE_AC_1_PHASE:"CONNECTOR_POWER_TYPE_AC_1_PHASE",CONNECTOR_POWER_TYPE_AC_2_PHASE:"CONNECTOR_POWER_TYPE_AC_2_PHASE",CONNECTOR_POWER_TYPE_AC_2_PHASE_SPLIT:"CONNECTOR_POWER_TYPE_AC_2_PHASE_SPLIT",CONNECTOR_POWER_TYPE_AC_3_PHASE:"CONNECTOR_POWER_TYPE_AC_3_PHASE",CONNECTOR_POWER_TYPE_DC:"CONNECTOR_POWER_TYPE_DC"};function Gs(e){switch(e.connectorPowerType){case Me.CONNECTOR_POWER_TYPE_AC_1_PHASE:case Me.CONNECTOR_POWER_TYPE_DC:return e.power.maxVoltage*e.power.maxAmperage/1e3;case Me.CONNECTOR_POWER_TYPE_AC_2_PHASE:case Me.CONNECTOR_POWER_TYPE_AC_2_PHASE_SPLIT:return e.power.maxVoltage*e.power.maxAmperage*2/1e3;case Me.CONNECTOR_POWER_TYPE_AC_3_PHASE:return e.power.maxVoltage*e.power.maxAmperage*3/1e3;default:return 0}}const Ys="ConnectorTariff-module_container",Ks="ConnectorTariff-module_bold",Zs="ConnectorTariff-module_dynamicTariffItem",qs="ConnectorTariff-module_dynamicTariffItemRange",Js="ConnectorTariff-module_tariffHeader",Xs="ConnectorTariff-module_tariffLabel",Qs="ConnectorTariff-module_tariffNote",el="ConnectorTariff-module_activeNowLabel",Q={container:Ys,bold:Ks,dynamicTariffItem:Zs,dynamicTariffItemRange:qs,tariffHeader:Js,tariffLabel:Xs,tariffNote:Qs,activeNowLabel:el},tl="Price-module_tariffItem",Tt={tariffItem:tl};function nl(e,t){return new Intl.NumberFormat(void 0,{style:"currency",currency:t.currency||"EUR",maximumFractionDigits:2}).format(e)}function rl(e){const t=e.vat?e.vat/100:0;return e.price+e.price*t}function ol({priceComponent:e,restrictions:t={},currency:n}){const{t:r}=B(),i={ENERGY:"tariffPriceComponent.energy",TIME:"tariffPriceComponent.time",FLAT:"tariffPriceComponent.flat",PARKING_TIME:"tariffPriceComponent.parkingTime"};return t?.minDuration===0&&t?.maxDuration&&e.type==="PARKING_TIME"?o.jsx("div",{className:Tt.tariffItem,children:r("tariffPriceComponent.parkingTimeWait",{minutes:Math.floor(t.maxDuration/60)})}):i[e.type]?o.jsx("div",{className:Tt.tariffItem,children:r(i[e.type],{total:nl(rl(e),{currency:n})})}):null}const il="PriceComponents-module_container",al={container:il},Nn=["ENERGY","TIME","FLAT","PARKING_TIME"];function Je({elements:e,currency:t}){const{t:n}=B(),r=e.reduce((a,s)=>(s.priceComponents.forEach(c=>{a[c.type]||(a[c.type]=[]),a[c.type].push({priceComponent:c,restrictions:s.restrictions})}),a),{}),i=Object.keys(r).map(a=>({type:a,elements:r[a]})).sort((a,s)=>{const c=Nn.indexOf(a.type),l=Nn.indexOf(s.type);return c===-1?1:l===-1?-1:c-l});return o.jsx("div",{className:al.container,children:i.map(({type:a,elements:s},c)=>s.reverse().map((l,u)=>o.jsx(ol,{currency:t,priceComponent:l.priceComponent,restrictions:l.restrictions},`${a}-${c}-${u}`)))})}function sl(e,t){return new Intl.NumberFormat(void 0,{style:"currency",currency:t.currency||"EUR",maximumFractionDigits:2}).format(e)}function ll({vat:e,price:t}){const n=e?e/100:0;return t+t*n}function cl({cdrAdditionalCharge:e,currency:t}){const{t:n}=B(),r={FLAT_FEE:n("cdrPrice.flatFee",{total:sl(ll(e),{currency:t})})};return o.jsx("div",{className:Tt.tariffItem,children:r[e.type]})}function Xe(e,t){const n=new Date(0),r=Math.floor(t/60),i=t%60;return n.setHours(r,i,0,0),n.toLocaleTimeString("nl",{hour:"2-digit",minute:"2-digit"})}const ul=Intl.DateTimeFormat().resolvedOptions().timeZone;function dl(e){const{format:t}=new Intl.DateTimeFormat(e,{weekday:"long"});return["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"].reduce((n,r,i)=>(n[r]=t(new Date(Date.UTC(2023,9,i+1))),n),{})}function Re({currency:e,cdrAdditionalCharges:t}){return t.map(n=>o.jsx(cl,{currency:e,cdrAdditionalCharge:n},n.id))}function Ft({timezone:e=ul,tariff:t,compact:n=!0,cdrAdditionalCharges:r=[]}){const{t:i,language:a}=B(),s=dl(a);if(!t)return null;const c=t.elements||[],l=t.currency||"",u=c.some(C=>C.priceComponents&&C.priceComponents.length>0),d=Lt({elements:c,limit:n?6:40,now:new Date}),f=d.length?[]:Ar(c,e,new Date),m=c.filter(xe);if(!u)return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:Q.tariffNote,children:i("tariffPriceComponent.noTariff")}),r.length>0&&o.jsx("div",{className:Q.container,children:o.jsx(Re,{currency:l,cdrAdditionalCharges:r})})]});const v=!f.some(C=>C.isActive);return f.length?o.jsxs("div",{className:Q.container,children:[m.length>0&&o.jsxs("div",{className:[Q.tariffList,Q.bold].join(" "),children:[o.jsxs("div",{className:Q.tariffHeader,children:[i("tariffPriceComponent.baseTariff"),v&&o.jsx("span",{className:Q.activeNowLabel,children:i("tariffPriceComponent.active")})]}),o.jsx(Je,{elements:m,currency:l}),o.jsx(Re,{currency:l,cdrAdditionalCharges:r})]}),f.map(C=>o.jsxs("div",{className:Q.tariffList,children:[o.jsxs("div",{className:Q.tariffHeader,children:[C.days.map(p=>s[p]).join(" - "),C.isActive&&o.jsx("span",{className:Q.activeNowLabel,children:i("tariffPriceComponent.active")})]}),C.items.map(p=>o.jsxs("div",{className:p.isActive&&Q.bold,children:[!p.isFullDay&&o.jsxs("div",{className:Q.tariffLabel,children:[Xe(a,p.startTime)," -"," ",Xe(a,p.endTime)]}),o.jsxs("div",{children:[o.jsx(Je,{elements:p.elements,currency:l}),o.jsx(Re,{currency:l,cdrAdditionalCharges:r})]})]},p.startTime))]},C.days.join("-")))]}):o.jsxs("div",{className:Q.container,children:[m.length>0&&!d?.length&&o.jsxs("div",{className:Q.tariffList,children:[o.jsx(Je,{elements:m,currency:l}),o.jsx(Re,{currency:l,cdrAdditionalCharges:r})]}),d.length>0&&o.jsx(o.Fragment,{children:d.map((C,p)=>o.jsxs(o.Fragment,{children:[o.jsx("div",{className:Q.tariffHeader,children:i("tariffPriceComponent.dynamicTariffHeader",{date:new Intl.DateTimeFormat(a,{weekday:"long",month:"short",day:"numeric"}).format(C.date)})}),o.jsx("div",{className:Q.dynamicTariffList,children:C.items.map((x,M)=>o.jsxs("div",{className:[Q.dynamicTariffItem,x.isActive&&Q.bold].filter(Boolean).join(" "),children:[o.jsxs("div",{className:Q.dynamicTariffItemRange,children:[Xe(a,x.startTime)," –"," ",Xe(a,x.endTime)]}),o.jsx(Je,{elements:x.elements,currency:l}),o.jsx(Re,{currency:l,cdrAdditionalCharges:r}),x.isActive&&o.jsx("span",{className:Q.activeNowLabel,children:i("tariffPriceComponent.active")})]},[x.startTime,x.endTime,M].join()))})]}))})]})}function _n(e,t,n){const r=[];return t?.customNote&&r.push(t?.customNote),n==="none"?r.length?r:[e("tariffNote.baseTariffNote")]:(n==="dynamic"&&r.push(e("tariffNote.dynamicScheduledTariffNote")),t?.infraProviderId==="NLEFL"||t?.party_id==="EFL"?(n==="scheduled"&&r.push(e("tariffNote.eFluxScheduledTariffNote")),r):(n==="scheduled"?r.push(e("tariffNote.baseTariffNote"),e("tariffNote.scheduledTariffNote")):r.push(e("tariffNote.baseTariffNote")),r))}const fl=({currentLocation:e,evses:t,setView:n,cdrAdditionalCharges:r})=>{const{options:i,t:a,language:s}=B(),c=t.filter(l=>l.status==="AVAILABLE");return o.jsxs("div",{className:_.container,children:[o.jsxs("div",{className:_.row,children:[o.jsx("img",{className:_.icon,src:hr,alt:"station icon"}),o.jsxs("div",{className:_.text,children:[i.locationBaseUrl&&o.jsx("a",{href:`${i.locationBaseUrl}/${e.id}`,children:e.name||"-"}),!i.locationBaseUrl&&e.name]})]}),o.jsxs("div",{className:_.row,children:[o.jsx("div",{className:_.icon,children:o.jsx("div",{style:{background:Tr(e.evses)},className:_.statusIcon})}),o.jsxs("div",{className:_.text,children:[c.length," / ",t.length," ",a("evse.statusAvailable")]})]}),e.subOperator?.name&&o.jsxs("div",{className:_.row,children:[o.jsx("img",{className:_.icon,src:gr,alt:"building icon"}),o.jsx("div",{className:_.text,children:e.subOperator?.name})]}),e.parkingType!=="UNKNOWN"&&o.jsxs("div",{className:_.row,children:[o.jsx("img",{className:_.icon,src:Rt,alt:"parking icon"}),o.jsx("div",{className:_.text,children:Er(a,e.parkingType)})]}),t.map(l=>o.jsxs("div",{children:[o.jsx("hr",{className:_.divider}),o.jsxs("div",{className:_.row,children:[o.jsx("img",{className:_.icon,src:Be,alt:"power icon"}),o.jsx("div",{className:_.text,children:l.evseId})]}),o.jsxs("div",{className:_.row,children:[o.jsx("div",{style:{background:$e(l.status)},className:_.statusIcon}),o.jsx("div",{className:_.text,children:[br(a,l.status),l.maxPower&&`${Cr(s,Math.floor(l.maxPower))}kW`].filter(Boolean).join(", ")})]}),l.connectors.map((u,d)=>{const f=Ws(u.tariff),m=_n(a,e,f);return o.jsxs("div",{children:[" ",o.jsxs("div",{className:_.row,children:[o.jsx("img",{className:_.icon,src:yr(u),alt:"socket type"}),o.jsx("div",{className:_.text,children:xr(u)})]}),o.jsxs("div",{className:_.row,children:[o.jsx("img",{className:_.icon,src:vr,alt:"pricing"}),o.jsx("div",{className:_.text,children:a("evse.pricing")})]}),o.jsx(Ft,{tariff:u.tariff,cdrAdditionalCharges:r}),f==="dynamic"&&o.jsx("div",{className:_.tariffNoteLink,onClick:()=>{n("dynamicTariff",{connector:u,evseId:l.evseId,notes:m,locationName:e.name})},children:a("location.viewAllHourlyPrices")}),m.length>0&&o.jsxs("div",{className:_.tariffNoteLink,onClick:()=>{n("tariffNote",{locationName:e.name,evseId:l.evseId,notes:_n(a,e,f)})},children:[o.jsx(mr,{})," ",a("tariffPriceComponent.viewTariff")]})]},`connector-${d}`)})]},l.evseId))]})},pl="LocationRow-module_row",ml="LocationRow-module_expandable",hl="LocationRow-module_icon",gl="LocationRow-module_text",vl="LocationRow-module_textHint",yl="LocationRow-module_chevron",Cl="LocationRow-module_chevronOpen",xl="LocationRow-module_body",ve={row:pl,expandable:ml,icon:hl,text:gl,textHint:vl,chevron:yl,chevronOpen:Cl,body:xl},bl={display:"flex",flexDirection:"row",flexWrap:"nowrap",alignItems:"center",padding:"5px 0",minWidth:0},El={display:"inline-flex",alignItems:"center",justifyContent:"center",height:16,width:16,flex:"0 0 auto",marginRight:14,overflow:"hidden"},Tl={flex:"1 1 auto",minWidth:0,fontSize:12,lineHeight:"16px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},wl={color:"var(--roadmap-muted-color, #6a6a6a)",fontWeight:"normal"},Sl={display:"inline-flex",alignItems:"center",justifyContent:"center",height:10,width:10,flex:"0 0 auto",marginLeft:8,transition:"transform 0.15s ease",color:"var(--roadmap-text-color, #2a2a2a)"},Nl={padding:"4px 0 6px 30px",display:"flex",flexDirection:"column",gap:4},ue=({icon:e,text:t,hint:n,children:r,defaultExpanded:i=!1})=>{const a=h.Children.count(r)>0,[s,c]=h.useState(i),l=()=>c(u=>!u);return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:`${ve.row} ${a?ve.expandable:""}`,style:{...bl,cursor:a?"pointer":void 0,userSelect:a?"none":void 0},role:a?"button":void 0,tabIndex:a?0:void 0,"aria-expanded":a?s:void 0,onClick:a?l:void 0,onKeyDown:a?u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),l())}:void 0,children:[o.jsx("span",{className:ve.icon,style:El,children:h.isValidElement(e)?h.cloneElement(e,{style:{maxWidth:16,maxHeight:16,display:"block",...e.props?.style||{}}}):e}),o.jsxs("div",{className:ve.text,style:Tl,children:[t,n!=null&&o.jsxs("span",{className:ve.textHint,style:wl,children:[" · ",n]})]}),a&&o.jsx("span",{className:`${ve.chevron} ${s?ve.chevronOpen:""}`,style:{...Sl,transform:s?"rotate(180deg)":void 0},children:o.jsx(ws,{})})]}),a&&s&&o.jsx("div",{className:ve.body,style:Nl,children:r})]})},_l=({location:e})=>{const{options:t,mapKind:n}=B(),r=e?.name||"-",i=e?.externalId||e?.id;let a;i&&t.locationUrlTemplate&&n==="cpo"?a=t.locationUrlTemplate.replace(/{{\s*locationId\s*}}/g,i):i&&t.locationBaseUrl&&(a=`${t.locationBaseUrl}/${i}`);const s=a?o.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:r}):r;return o.jsx(ue,{icon:o.jsx("img",{src:hr,alt:"station icon"}),text:s})},Al=({evses:e})=>{const{t}=B(),n=e?.filter(r=>r.status==="AVAILABLE")||[];return o.jsx(ue,{icon:o.jsx(Pt,{color:Tr(e)}),text:`${n.length} / ${e?.length||0} ${t("evse.statusAvailable")}`})},Ol="OperatorSection-module_block",Pl="OperatorSection-module_role",jl="OperatorSection-module_header",Dl="OperatorSection-module_name",Il="OperatorSection-module_logo",kl="OperatorSection-module_website",Pe={block:Ol,role:Pl,header:jl,name:Dl,logo:Il,website:kl},Ml=({role:e,showRoleLabel:t})=>{const{t:n}=B();return e.name?o.jsxs("div",{className:Pe.block,style:{display:"flex",flexDirection:"column",gap:2,marginBottom:8},children:[t&&o.jsx("div",{className:Pe.role,style:{fontSize:11,textTransform:"uppercase",color:"var(--roadmap-muted-color, #6a6a6a)",letterSpacing:"0.04em"},children:n(e.labelKey)}),o.jsxs("div",{className:Pe.header,style:{display:"flex",alignItems:"center",gap:8},children:[e.logoUrl&&o.jsx("img",{className:Pe.logo,src:e.logoUrl,alt:`${e.name} logo`,style:{maxHeight:20,maxWidth:80,width:"auto",height:"auto",objectFit:"contain",display:"block"}}),o.jsx("div",{className:Pe.name,style:{fontSize:13,fontWeight:600},children:e.name})]}),e.website&&o.jsx("a",{className:Pe.website,href:e.website,target:"_blank",rel:"noopener noreferrer",style:{fontSize:12,color:"var(--roadmap-brand-color)",textDecoration:"none",wordBreak:"break-all"},children:n("location.visitWebsite")})]}):null},Rl=({operator:e,suboperator:t,fallbackOperatorName:n,fallbackSuboperatorName:r})=>{const{t:i}=B(),a={labelKey:"location.suboperator",name:t?.name||r,website:t?.website,logoUrl:t?.logo?.thumbnail||t?.logo?.url},s={labelKey:"location.operator",name:e?.name||n,website:e?.website,logoUrl:e?.logo?.thumbnail||e?.logo?.url},c=a.name?a:s.name?s:null;return c?o.jsx(ue,{icon:o.jsx("img",{src:gr,alt:"building icon"}),text:i("location.operatorInfo"),hint:c.name,children:o.jsx(Ml,{role:c,showRoleLabel:!1})}):null};function An(e,t){if(t<1||t>7)return"";const n=new Date(2024,0,t);return new Intl.DateTimeFormat(e,{weekday:"long"}).format(n)}function Ll(e=new Date){return wt(e.getDay())}function Or(e){const t={};for(let n=1;n<=7;n++)t[n]=[];(e||[]).forEach(n=>{n.weekday>=1&&n.weekday<=7&&t[n.weekday].push(n)});for(const n of Object.keys(t))t[Number(n)].sort((r,i)=>r.period_begin.localeCompare(i.period_begin));return t}function Pr(e,t){return`${e} - ${t}`}function Qe(e){const[t,n]=e.split(":").map(Number);return t*60+(n||0)}function wt(e){return e===0?7:e}function On(e,t){if(!e)return null;const n=t.getTime();for(const r of e){const i=new Date(r.period_begin).getTime(),a=new Date(r.period_end).getTime();if(!isNaN(i)&&!isNaN(a)&&n>=i&&n<=a)return r}return null}function Fl(e,t=new Date){if(!e)return{open:!1};if(e.twentyfourseven)return{open:!0};const n=wt(t.getDay()),r=On(e.exceptional_closings,t);if(r){const l=new Date(r.period_end),u=wt(l.getDay());return{open:!1,nextChange:{time:l.toISOString().slice(11,16),label:"opens",day:u===n?void 0:u}}}const i=On(e.exceptional_openings,t);if(i)return{open:!0,nextChange:{time:new Date(i.period_end).toISOString().slice(11,16),label:"closes"}};const a=Or(e.regular_hours),s=n===1?7:n-1,c=t.getHours()*60+t.getMinutes();for(const l of a[s]){const u=Qe(l.period_begin),d=Qe(l.period_end);if((d<u||d===0)&&c<(d===0?1440:d))return{open:!0,nextChange:{time:l.period_end,label:"closes"}}}for(const l of a[n]){const u=Qe(l.period_begin),d=Qe(l.period_end),m=d<u||d===0?1440:d;if(c>=u&&c<m)return{open:!0,nextChange:{time:l.period_end,label:"closes"}};if(c<u)return{open:!1,nextChange:{time:l.period_begin,label:"opens"}}}for(let l=1;l<=7;l++){const u=(n-1+l)%7+1,d=a[u];if(d.length>0)return{open:!1,nextChange:{time:d[0].period_begin,label:"opens",day:u===n?void 0:u}}}return{open:!1}}function Pn(e,t=new Date){if(!e)return[];const n=t.getTime();return e.filter(r=>{const i=new Date(r.period_end).getTime();return!isNaN(i)&&i>=n})}function Hl(e){const t=e%100;if(t>=11&&t<=13)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}function jn(e,t){const n=new Date(t);if(isNaN(n.getTime()))return t;if(e==="en"){const r=new Intl.DateTimeFormat("en",{month:"long"}).format(n),i=n.getDate();return`${r} ${i}${Hl(i)}`}return new Intl.DateTimeFormat(e,{month:"long",day:"numeric"}).format(n)}function $l(e){const t=new Date(e.period_begin),n=new Date(e.period_end);return isNaN(t.getTime())||isNaN(n.getTime())?`${e.period_begin} - ${e.period_end}`:Pr(t.toISOString().slice(11,16),n.toISOString().slice(11,16))}const Vl="OpeningHours-module_pill",zl="OpeningHours-module_pillOpen",Bl="OpeningHours-module_pillClosed",Ul="OpeningHours-module_day",Wl="OpeningHours-module_dayLabel",Gl="OpeningHours-module_dayValue",Yl="OpeningHours-module_today",Kl="OpeningHours-module_exceptional",Zl="OpeningHours-module_exceptionalHeader",ql="OpeningHours-module_exceptionalClosingHeader",Jl="OpeningHours-module_exceptionalOpeningHeader",Xl="OpeningHours-module_footnote",J={pill:Vl,pillOpen:zl,pillClosed:Bl,day:Ul,dayLabel:Wl,dayValue:Gl,today:Yl,exceptional:Kl,exceptionalHeader:Zl,exceptionalClosingHeader:ql,exceptionalOpeningHeader:Jl,footnote:Xl},Ql=({openingTimes:e,chargingWhenClosed:t})=>{const{t:n,language:r}=B();if(!e)return null;const i=Fl(e),a=Or(e.regular_hours),s=Pn(e.exceptional_closings),c=Pn(e.exceptional_openings),l=(e.regular_hours?.length??0)>0,u=e.twentyfourseven||l;if(!u&&s.length===0&&c.length===0&&!t)return null;const d=e.twentyfourseven||i.open,f=Ll();let m;if(e.twentyfourseven)m=n("location.hours24");else if(i.nextChange){const{time:S,label:K,day:G}=i.nextChange;K==="closes"?m=n("location.closesAt",{time:S}):m=G?n("location.opensAtDay",{time:S,day:An(r,G)}):n("location.opensAt",{time:S})}const v={display:"inline-block",borderRadius:8,padding:"1px 8px",fontSize:12,lineHeight:"16px",fontWeight:600,background:d?"#e7f6ec":"#fdecea",color:d?"#1b7a3d":"#c5221f"},C={display:"flex",fontSize:12,lineHeight:1.5},p={minWidth:84},x={flex:"1 1 auto"},M={fontWeight:600},z={fontSize:12,marginTop:8,paddingTop:8,borderTop:"1px solid var(--roadmap-border-color, #e5e5e5)"},j={fontWeight:600,marginBottom:4},O={fontSize:11,fontStyle:"italic",color:"var(--roadmap-muted-color, #6a6a6a)",marginTop:6},g=o.jsx("span",{className:`${J.pill} ${d?J.pillOpen:J.pillClosed}`,style:v,children:n(d?"location.open":"location.closedNow")});return o.jsxs(ue,{icon:o.jsx(Ss,{}),text:g,hint:m,children:[u&&[1,2,3,4,5,6,7].map(S=>{const K=S===f,G=e.twentyfourseven?n("location.open24hours"):a[S].length===0?n("location.closed"):a[S].map(Y=>Pr(Y.period_begin,Y.period_end)).join(", ");return o.jsxs("div",{className:`${J.day} ${K?J.today:""}`,style:{...C,...K?M:{}},children:[o.jsx("div",{className:J.dayLabel,style:p,children:An(r,S)}),o.jsx("div",{className:J.dayValue,style:x,children:G})]},S)}),s.length>0&&o.jsxs("div",{className:J.exceptional,style:z,children:[o.jsx("div",{className:`${J.exceptionalHeader} ${J.exceptionalClosingHeader}`,style:{...j,color:"#c5221f"},children:n("location.exceptionalClosings")}),s.map((S,K)=>o.jsxs("div",{className:`${J.day} ${J.today}`,style:{...C,...M},children:[o.jsx("div",{className:J.dayLabel,style:p,children:jn(r,S.period_begin)}),o.jsx("div",{className:J.dayValue,style:x,children:n("location.closed")})]},`c-${K}`))]}),c.length>0&&o.jsxs("div",{className:J.exceptional,style:z,children:[o.jsx("div",{className:`${J.exceptionalHeader} ${J.exceptionalOpeningHeader}`,style:{...j,color:"#1b7a3d"},children:n("location.exceptionalOpenings")}),c.map((S,K)=>o.jsxs("div",{className:`${J.day} ${J.today}`,style:{...C,...M},children:[o.jsx("div",{className:J.dayLabel,style:p,children:jn(r,S.period_begin)}),o.jsx("div",{className:J.dayValue,style:x,children:$l(S)})]},`o-${K}`))]}),t&&o.jsx("div",{className:J.footnote,style:O,children:n("location.chargingWhenClosed")})]})},ec=({parkingType:e})=>{const{t}=B();return!e||e==="PARKING_TYPE_UNKNOWN"?null:o.jsx(ue,{icon:o.jsx("img",{src:Rt,alt:"parking icon"}),text:Er(t,e)})},tc=({accessibility:e})=>e?o.jsx(ue,{icon:o.jsx("img",{src:Rt,alt:"accessibility icon"}),text:e==="TESLA"?"Tesla vehicles only":"All electric vehicles"}):null,nc=({evse:e})=>o.jsx(ue,{icon:o.jsx("img",{src:Be,alt:"power icon"}),text:e.evse_id||"",hint:e.physical_reference||void 0}),rc=({evse:e})=>{const{t,language:n,options:r}=B(),i=e.connectors[0],a=i?.power&&i?.connectorPowerType?`${Cr(n,Math.floor(Gs(i)))}kW`:null,s=[br(t,e.status),a].filter(Boolean).join(", ");return o.jsx(ue,{icon:o.jsx(Pt,{color:Se(e.status,"roaming",r?.version)}),text:s})},oc=({connector:e})=>o.jsx(ue,{icon:o.jsx("img",{src:yr(e),alt:"socket type"}),text:xr(e)}),ic=()=>{const{t:e}=B();return o.jsx(ue,{icon:o.jsx("img",{src:vr,alt:"pricing"}),text:e("evse.pricing")})};function Ht(e){return e?.currency?{currency:e.currency,id:e.id,country_code:e.country_code,party_id:e.party_id,elements:(e?.elements||[]).map(t=>({priceComponents:(t?.price_components||[]).map(n=>({type:(()=>{switch(n.type){case"FLAT":return"FLAT";case"TIME":return"TIME";case"ENERGY":return"ENERGY";case"PARKING_TIME":return"PARKING_TIME";case"CONGESTION_TIME":return"CONGESTION_TIME"}})(),price:n.price,vat:n.vat,stepSize:n.step_size})),...t?.restrictions?{restrictions:{startTime:t?.restrictions?.start_time,endTime:t?.restrictions?.end_time,startDate:t?.restrictions?.start_date,endDate:t?.restrictions?.end_date,dayOfWeek:t?.restrictions?.day_of_week,minDuration:t?.restrictions?.min_duration,maxDuration:t?.restrictions?.max_duration}}:{}}))}:null}const ac=({tariff:e,additionalCharges:t})=>{const{t:n}=B(),r=e?.elements?.some(i=>i?.price_components?.some(a=>a.type==="CONGESTION_TIME"));return o.jsxs(o.Fragment,{children:[r&&o.jsx("div",{style:{padding:"0.8rem",margin:"0.8rem 0",backgroundColor:"#FFF4E5",borderLeft:"3px solid #FF9800",borderRadius:"4px",fontSize:"13px",color:"#663C00"},children:n("tariff.congestionPricing")}),o.jsx(Ft,{tariff:Ht(e),cdrAdditionalCharges:t})]})},sc=["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"];function Dn(e){const[t,n]=e.split(":").map(Number);return t*60+(n||0)}function lc(e,t,n){const r=n.getHours()*60+n.getMinutes(),i=Dn(e),a=Dn(t);return a<i?r>=i||r<a:r>=i&&r<a}function cc(e,t){if(xe(e))return!0;const n=e.restrictions;if(n.startTime&&n.endTime&&!lc(n.startTime,n.endTime,t))return!1;if(n.dayOfWeek&&n.dayOfWeek.length>0){const r=sc[t.getDay()];if(!n.dayOfWeek.includes(r))return!1}if(n.startDate){const r=new Date(n.startDate);if(!isNaN(r.getTime())&&t<r)return!1}if(n.endDate){const r=new Date(n.endDate);if(!isNaN(r.getTime())&&t>r)return!1}return!0}function uc(e,t){const n=t.restrictions?.minDuration??0,r=t.restrictions?.maxDuration??0;return`${e}:${n}:${r}`}function dc(e,t=new Date){if(!e)return{elements:[],currency:""};const r=(e.elements||[]).filter(l=>cc(l,t)),i={};r.forEach(l=>{const u=xe(l);(l.priceComponents||[]).forEach(d=>{const f=uc(d.type,l),m=i[f];(!m||m.isBase&&!u)&&(i[f]={element:l,pc:d,isBase:u})})});const a=new Map,s=[];return Object.values(i).forEach(({element:l,pc:u})=>{a.has(l)||(a.set(l,[]),s.push(l)),a.get(l).push(u)}),{elements:s.map(l=>({...l,priceComponents:a.get(l)})),currency:e.currency||""}}const fc={display:"flex",flexWrap:"wrap",gap:6},jr={fontSize:12,lineHeight:1.3,padding:"1px 8px",borderRadius:6,background:"color-mix(in srgb, var(--roadmap-brand-color, #6102d3) 12%, transparent)",color:"var(--roadmap-brand-color, #6102d3)",border:"1px solid color-mix(in srgb, var(--roadmap-brand-color, #6102d3) 30%, transparent)"},pc=jr,mc={ENERGY:"tariffPriceComponent.energy",TIME:"tariffPriceComponent.time",FLAT:"tariffPriceComponent.flat",PARKING_TIME:"tariffPriceComponent.parkingTime"},In=["ENERGY","TIME","FLAT","PARKING_TIME"];function kn(e,t){return new Intl.NumberFormat(void 0,{style:"currency",currency:t||"EUR",maximumFractionDigits:2}).format(e)}function hc(e){const t=e.vat?e.vat/100:0;return e.price+e.price*t}function Dr(e,t){return e.type==="PARKING_TIME"&&(e.price||0)===0&&!!t?.maxDuration&&(!t.minDuration||t.minDuration===0)}function gc(e,t){const n=[];return e.forEach(r=>{(r.priceComponents||[]).forEach(i=>{t&&(i.price||0)<=0&&!Dr(i,r.restrictions)||n.push({pc:i,restrictions:r.restrictions})})}),n.sort((r,i)=>{const a=In.indexOf(r.pc.type),s=In.indexOf(i.pc.type);return a===-1?1:s===-1?-1:a-s})}const vc=({elements:e,currency:t,skipZero:n=!0,highlight:r=!1,additionalCharges:i=[]})=>{const{t:a}=B(),s=gc(e,n),c=r?pc:jr;return s.length===0&&i.length===0?null:o.jsxs("div",{style:fc,children:[s.map(({pc:l,restrictions:u},d)=>{if(Dr(l,u))return o.jsx("div",{style:c,children:a("tariffPriceComponent.parkingTimeWait",{minutes:String(Math.floor(u.maxDuration/60))})},`pc-${d}`);const f=mc[l.type];return f?o.jsx("div",{style:c,children:a(f,{total:kn(hc(l),t)})},`pc-${d}`):null}),i.map(l=>{if(l.type!=="FLAT_FEE")return null;const u=l.price+(l.vat?l.price*(l.vat/100):0);return o.jsx("div",{style:c,children:a("cdrPrice.flatFee",{total:kn(u,t)})},`cdr-${l.id}`)})]})},Mn={display:"flex",flexDirection:"column",gap:4,padding:"6px 0"},yc={display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:12,color:"var(--roadmap-muted-color, #6a6a6a)"},Cc={display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:8},Ve=({elements:e,currency:t,label:n,trailing:r,highlight:i=!1,additionalCharges:a,onClick:s})=>{const c=!!s,l=c?{...Mn,cursor:"pointer",userSelect:"none"}:Mn,u=d=>{s&&(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),s())};return o.jsxs("div",{style:l,role:c?"button":void 0,tabIndex:c?0:void 0,onClick:s,onKeyDown:c?u:void 0,children:[n!=null&&o.jsx("div",{style:yc,children:n}),o.jsxs("div",{style:Cc,children:[o.jsx(vc,{elements:e,currency:t,highlight:i,additionalCharges:a}),r]})]})},Ir={fontSize:12,fontWeight:600,padding:"4px 12px",borderRadius:6,cursor:"pointer",background:"transparent",color:"var(--roadmap-brand-color, #6102d3)",border:"1px solid color-mix(in srgb, var(--roadmap-brand-color, #6102d3) 40%, transparent)"},xc={...Ir,cursor:"default",opacity:.6},bc={display:"flex",alignItems:"center",gap:6,fontSize:12,color:"var(--roadmap-brand-color, #6102d3)"},Ec={fontSize:11,color:"var(--roadmap-muted-color, #6a6a6a)",marginTop:6},Tc=({type:e,country_code:t,party_id:n,location_id:r,evse_uid:i})=>{const{t:a,reportProblem:s}=B(),[c,l]=h.useState("idle"),u=async d=>{if(d.stopPropagation(),!(c==="submitting"||c==="done")){l("submitting");try{await s?.({type:e,country_code:t,party_id:n,location_id:r,evse_uid:i}),l("done")}catch{l("error")}}};return c==="done"?o.jsxs("div",{style:bc,children:[o.jsx(Ns,{}),o.jsx("span",{children:a("tariff.reportThanks")})]}):o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",onClick:u,disabled:c==="submitting",style:c==="submitting"?xc:Ir,children:a("tariff.report")}),c==="error"&&o.jsx("div",{style:Ec,children:a("tariff.reportError")})]})},wc={display:"flex",flexDirection:"column",alignItems:"flex-start",gap:10,padding:"14px 14px",marginTop:6,borderRadius:8,background:"color-mix(in srgb, var(--roadmap-text-color, #2a2a2a) 4%, transparent)"},Sc={fontSize:12,fontStyle:"italic",color:"var(--roadmap-muted-color, #6a6a6a)"},St=({country_code:e,party_id:t,location_id:n,evse_uid:r})=>{const{t:i}=B();return o.jsxs("div",{style:wc,children:[o.jsx("div",{style:Sc,children:i("tariffPriceComponent.noTariff")}),o.jsx(Tc,{type:"missing_tariff",country_code:e,party_id:t,location_id:n,evse_uid:r})]})},Nc={display:"inline-flex",alignItems:"center",justifyContent:"center",color:"var(--roadmap-muted-color, #6a6a6a)",flex:"0 0 auto"},_c=({tariff:e,additionalCharges:t=[],evseId:n,evseUid:r,countryCode:i,partyId:a,locationId:s,locationName:c,setView:l})=>{const u=e?Ht(e):null,{elements:d,currency:f}=dc(u),m=d.map(p=>({...p,priceComponents:(p.priceComponents||[]).filter(x=>!!((x.price||0)>0||x.type==="PARKING_TIME"&&p.restrictions?.maxDuration&&(!p.restrictions.minDuration||p.restrictions.minDuration===0)))})).filter(p=>p.priceComponents.length>0);if(!(!!u&&m.length>0))return o.jsxs(o.Fragment,{children:[o.jsx(St,{country_code:i,party_id:a,location_id:s,evse_uid:r}),t.length>0&&o.jsx(Ve,{elements:[],currency:f,additionalCharges:t})]});const C=()=>l("tariffDetails",{tariff:e,additionalCharges:t,locationName:c,evseId:n,evseUid:r,countryCode:i,partyId:a,locationId:s});return o.jsx(Ve,{elements:m,currency:f,highlight:!0,additionalCharges:t,onClick:C,trailing:o.jsx("span",{style:Nc,children:o.jsx(pr,{})})})},Ac=({connector:e,tariffs:t,cdrAdditionalCharges:n,location:r,evseId:i,evseUid:a,setView:s})=>{const c=t?.find(l=>l.id===e?.tariff_ids?.[0]);return o.jsxs(o.Fragment,{children:[o.jsx(oc,{connector:e}),o.jsx(ic,{}),o.jsx(_c,{tariff:c,additionalCharges:n,evseId:i,evseUid:a||"",countryCode:r.country_code,partyId:r.party_id,locationId:r.id,locationName:r.name,setView:s})]})},Oc={background:"color-mix(in srgb, var(--roadmap-text-color, #2a2a2a) 4%, transparent)",borderRadius:8,padding:"8px 12px",marginTop:12},Pc={paddingLeft:10,marginTop:10},jc=({evse:e,tariffs:t,cdrAdditionalCharges:n,location:r,setView:i})=>{const a=$e(e.status),s={...Pc,borderLeft:`3px solid ${a}`,borderRadius:2};return o.jsxs("div",{style:Oc,children:[o.jsx(nc,{evse:e}),o.jsx(rc,{evse:e}),e.connectors.map((c,l)=>o.jsx("div",{style:s,children:o.jsx(Ac,{connector:c,tariffs:t,cdrAdditionalCharges:n,location:r,evseId:e.evse_id,evseUid:e.uid,setView:i})},`connector-${l}`))]})},Dc={fontSize:12,fontStyle:"italic",lineHeight:1.5,color:"var(--roadmap-text-color, #2a2a2a)",padding:"12px 0 12px 12px",margin:"8px 0",borderLeft:"3px solid color-mix(in srgb, var(--roadmap-text-color, #2a2a2a) 20%, transparent)"};function Ic(e,t){if(!e||e.length===0)return;const n=(t||"").toLowerCase(),r=e.find(a=>a.language?.toLowerCase()===n);return r?r.text:(e.find(a=>a.language?.toLowerCase()==="en")||e[0])?.text}const kc=({directions:e})=>{const{language:t}=B(),n=Ic(e||[],t);return n?o.jsx("div",{style:Dc,children:n}):null},Mc=({currentLocation:e,setView:t})=>{const{options:n,mapKind:r}=B();return o.jsxs("div",{className:_.container,children:[r==="cpo"&&o.jsx("div",{className:_.publishingMode,children:e?.publish?"Public location":"Private location"}),o.jsx(kc,{directions:e.directions}),o.jsx(_l,{location:e}),o.jsx(Al,{evses:e.evses}),o.jsx(Rl,{operator:e.operator,suboperator:e.suboperator||e.subOperator,fallbackOperatorName:e.operator_name||e.operatorName,fallbackSuboperatorName:e.suboperator_name||e.suboperatorName}),o.jsx(Ql,{openingTimes:e.opening_times,chargingWhenClosed:e.charging_when_closed}),o.jsx(ec,{parkingType:e.parkingType}),o.jsx(tc,{accessibility:e.charging_accessibility}),e.evses?.map(i=>o.jsx(jc,{evse:i,tariffs:e.tariffs,cdrAdditionalCharges:e.cdrAdditionalCharges||[],location:e,setView:t},`${i.evse_id}-${i.uid}`))]})},Rc=()=>{const{setView:e}=ke(),{locations:t,locationsStatus:n,options:r}=B(),[i,a]=h.useState(0);h.useEffect(()=>{a(0)},[t]);const s=t[i];if(n.type==="loading"||!s)return o.jsx("div",{className:_.container,children:o.jsx(Ts,{})});const{evses:c=[],cdrAdditionalCharges:l}=s,u=i<t.length-1,d=i>0,f=window.location?.search?.includes("debug"),m=()=>{switch(r.version){case"v2":return[s?.address,s?.city];default:return[s?.address,s?.city]}},v=re(r.version,"v2");return o.jsxs(o.Fragment,{children:[f&&s&&o.jsx(ks,{location:s}),o.jsx("div",{className:_.headerContainer,children:o.jsxs("div",{className:_.header,children:[t.length>1&&o.jsxs("div",{className:_.pagingation,children:[o.jsxs("span",{children:[i+1," / ",t.length]}),o.jsx("button",{disabled:!d,onClick:()=>{a(Math.max(0,i-1))},children:o.jsx(fr,{})}),o.jsx("button",{disabled:!u,onClick:()=>a(Math.min(t.length-1,i+1)),children:o.jsx(pr,{})})]}),m().filter(Boolean).join(", ")]})}),!v&&o.jsx(fl,{setView:e,cdrAdditionalCharges:l,currentLocation:s,evses:c}),v&&o.jsx(Mc,{setView:e,currentLocation:s})]})},Lc="BackButton-module_backButton",Fc={backButton:Lc};function $t({onClick:e=()=>{}}){const{t}=B();return o.jsxs("button",{onClick:e,className:Fc.backButton,children:[o.jsx(fr,{}),t("backButton.backTo")]})}function Hc(){const{t:e}=B(),{current:t,setView:n}=ke(),{notes:r=[],evseId:i,locationName:a}=t?.args||{};return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:_.headerContainer,children:o.jsxs("div",{className:_.header,onClick:()=>n("locations"),style:{cursor:"pointer"},children:[o.jsx($t,{}),a?.text||a]})}),o.jsxs("div",{className:_.container,children:[o.jsx("div",{className:_.subheader,children:e("tariffNote.subHeader")}),i&&o.jsxs("div",{className:_.row,children:[o.jsx("img",{className:_.icon,src:Be,alt:"power icon"}),o.jsx("div",{className:_.text,children:i})]}),r.map(s=>o.jsx("p",{className:_.note,children:s},s))]})]})}function $c(){const{t:e}=B(),{current:t,setView:n}=ke(),{connector:r,tariff:i,additionalCharges:a,locationName:s,evseId:c,notes:l}=t?.args||{};return i||r?.tariff?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:_.headerContainer,children:o.jsxs("div",{className:_.header,onClick:()=>n("locations"),style:{cursor:"pointer"},children:[o.jsx($t,{}),s]})}),o.jsxs("div",{className:_.container,children:[o.jsx("div",{className:_.subheader,children:e("dynamicTariffs.subHeader")}),o.jsxs("div",{className:_.row,children:[o.jsx("img",{className:_.icon,src:Be,alt:"power icon"}),o.jsx("div",{className:_.text,children:c})]}),i&&o.jsx(ac,{tariff:i,additionalCharges:a}),r.tariff&&o.jsx(Ft,{tariff:r.tariff,compact:!1}),o.jsxs("div",{className:_.tariffNoteLink,onClick:()=>{n("tariffNote",{locationName:s,evseId:c,notes:l})},children:[o.jsx(mr,{})," ",e("tariffPriceComponent.viewTariff")]})]})]}):null}const Vc=Intl.DateTimeFormat().resolvedOptions().timeZone,gt={display:"flex",flexDirection:"column",gap:4,marginTop:14},Rn={fontSize:12,fontWeight:600,textTransform:"capitalize",lineHeight:1.4},zc={fontSize:12,lineHeight:1.5,color:"var(--roadmap-text-color, #2a2a2a)",marginTop:8},Bc={fontSize:11,color:"var(--roadmap-muted-color, #6a6a6a)",marginTop:6};function et(e){const t=new Date(0);return t.setHours(Math.floor(e/60),e%60,0,0),t.toLocaleTimeString("nl",{hour:"2-digit",minute:"2-digit"})}function Uc(e){const{format:t}=new Intl.DateTimeFormat(e,{weekday:"long"});return["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"].reduce((n,r,i)=>(n[r]=t(new Date(Date.UTC(2023,9,i+1))),n),{})}function Wc(e){return(e.priceComponents||[]).some(t=>!!((t.price||0)>0||t.type==="PARKING_TIME"&&e.restrictions?.maxDuration&&(!e.restrictions.minDuration||e.restrictions.minDuration===0)))}function Gc(e,t){return!e||e.length===0?void 0:(e.find(r=>r.language?.toLowerCase()===t?.toLowerCase())||e[0])?.text}function Yc(e,t){if(!e)return;const n=new Date(e);if(!isNaN(n.getTime()))return new Intl.DateTimeFormat(t,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(n)}function Kc(){const{t:e,language:t}=B(),{current:n,setView:r}=ke(),{tariff:i,additionalCharges:a,locationName:s,evseId:c,evseUid:l,countryCode:u,partyId:d,locationId:f}=n?.args||{};if(!i)return null;const m=Ht(i),v={country_code:u||i.country_code||"",party_id:d||i.party_id||"",location_id:f||"",evse_uid:l||""},C=Gc(i.tariff_alt_text,t),p=Yc(i.last_updated,t),x=()=>o.jsx("div",{className:_.headerContainer,children:o.jsxs("div",{className:_.header,onClick:()=>r("locations"),style:{cursor:"pointer"},children:[o.jsx($t,{}),s]})});if(!m)return o.jsxs(o.Fragment,{children:[x(),o.jsx("div",{className:_.container,children:o.jsx(St,{...v})})]});const M=(m.elements||[]).filter(Wc),z=m.currency||"",j=a||[],O=M.filter(xe),g=Lt({elements:M,limit:40,now:new Date}),S=g.length?[]:Ar(M,Vc,new Date),K=!S.some(Y=>Y.isActive),G=Uc(t);return o.jsxs(o.Fragment,{children:[x(),o.jsxs("div",{className:_.container,children:[o.jsx("div",{className:_.subheader,children:e("tariff.fullDetailsHeader")}),c&&o.jsx(ue,{icon:o.jsx("img",{src:Be,alt:"power icon"}),text:c}),C&&o.jsx("div",{style:zc,children:C}),p&&o.jsx("div",{style:Bc,children:e("tariff.lastUpdated",{date:p})}),O.length>0&&o.jsx("div",{style:gt,children:o.jsx(Ve,{elements:O,currency:z,highlight:S.length>0&&K,additionalCharges:j})}),S.map(Y=>o.jsxs("div",{style:gt,children:[o.jsx("div",{style:Rn,children:Y.days.map(X=>G[X]).join(" – ")}),Y.items.map((X,te)=>o.jsx(Ve,{elements:X.elements||[],currency:z,highlight:!!X.isActive,label:X.isFullDay?void 0:`${et(X.startTime)} – ${et(X.endTime)}`},te))]},Y.days.join("-"))),g.map((Y,X)=>o.jsxs("div",{style:gt,children:[o.jsx("div",{style:Rn,children:e("tariffPriceComponent.dynamicTariffHeader",{date:new Intl.DateTimeFormat(t,{weekday:"long",month:"short",day:"numeric"}).format(Y.date)})}),Y.items.map((te,de)=>o.jsx(Ve,{elements:te.elements||[],currency:z,highlight:!!te.isActive,label:`${et(te.startTime)} – ${et(te.endTime)}`},de))]},X)),S.length===0&&g.length===0&&O.length===0&&o.jsx(St,{...v})]})]})}const Zc="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='10'%20height='11'%20viewBox='0%200%2010%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.48751%205.99758L9.85376%202.63133C10.0484%202.43664%2010.0484%202.1207%209.85376%201.9257L9.07157%201.14351C8.87688%200.948826%208.56095%200.948826%208.36595%201.14351L5.00001%204.51008L1.63376%201.14383C1.43907%200.949138%201.12313%200.949138%200.928135%201.14383L0.14626%201.9257C-0.0484277%202.12039%20-0.0484277%202.43633%200.14626%202.63133L3.51251%205.99758L0.14626%209.36383C-0.0484277%209.55851%20-0.0484277%209.87445%200.14626%2010.0695L0.928447%2010.8516C1.12313%2011.0463%201.43907%2011.0463%201.63407%2010.8516L5.00001%207.48508L8.36626%2010.8513C8.56095%2011.046%208.87688%2011.046%209.07188%2010.8513L9.85407%2010.0691C10.0488%209.87445%2010.0488%209.55851%209.85407%209.36351L6.48751%205.99758Z'%20fill='black'/%3e%3c/svg%3e",qc="CloseButton-module_closeButton",Jc={closeButton:qc};function kr({onClick:e}){return o.jsx("button",{onClick:e,className:Jc.closeButton,children:o.jsx("img",{src:Zc})})}function Xc(){const[e,t]=h.useState("locations"),{setView:n}=ke();return o.jsxs(ge,{name:"locations",currentView:e,onViewChange:t,children:[o.jsx(ge.View,{name:"locations",children:o.jsxs(De,{children:[o.jsx(kr,{onClick:()=>n("none")}),o.jsx(Rc,{})]})}),o.jsx(ge.View,{name:"tariffNote",children:o.jsx(De,{children:o.jsx(Hc,{})})}),o.jsx(ge.View,{name:"dynamicTariff",children:o.jsx(De,{children:o.jsx($c,{})})}),o.jsx(ge.View,{name:"tariffDetails",children:o.jsx(De,{children:o.jsx(Kc,{})})})]})}const Qc="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='currentColor'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3cpath%20d='M14.4985%200H1.50178C0.169343%200%20-0.502939%201.61659%200.441124%202.56066L5.5%207.62131V13C5.5%2013.4721%205.72228%2013.9167%206.1%2014.25L8.1%2015.7208C9.07728%2016.4038%2010.5%2015.7689%2010.5%2014.5208V7.62131L15.5592%202.56066C16.5013%201.6185%2015.8336%200%2014.4985%200ZM9%207V14.5L7%2013V7L1.5%201.5H14.5L9%207Z'%20fill='currentColor'%20/%3e%3c/svg%3e";function e2(){const{locationIds:e,fetchLocations:t,filters:n,isSearching:r}=B(),[i,a]=h.useState("none");return h.useEffect(()=>{e.length>0&&a("locations")},[e,a]),o.jsxs("div",{className:be.container,children:[o.jsxs("div",{className:be.controlsContainer,children:[o.jsx(pa,{onFocus:()=>{a("none")}}),o.jsxs("div",{className:be.filterButton,onClick:()=>{a("filters")},children:[r??!1?o.jsx("div",{className:be.spinner}):o.jsx("img",{className:be.filterIcon,src:Qc}),es(n)&&!(r??!1)&&o.jsx("span",{className:be.filterCounter})]})]}),o.jsx("div",{className:be.stackContainer,children:o.jsxs(ge,{name:"router",currentView:i,onViewChange:s=>{a(s)},children:[o.jsx(ge.View,{name:"locations",children:o.jsx(Xc,{})}),o.jsx(ge.View,{name:"filters",children:o.jsxs(De,{children:[o.jsx(kr,{onClick:()=>a("none")}),o.jsx(os,{})]})})]})})]})}function Mr(e){return!e.shadowRoot&&e?.theming?.backgroundColor?o.jsx(t2,{...e}):o.jsx(Co,{options:e,language:e.language,children:o.jsxs(xo,{height:e?.height,children:[o.jsx(e2,{}),o.jsx(ki,{}),o.jsx(bi,{})]})})}const t2=e=>{const t=h.useRef(null),n=h.useRef(null),r=h.useRef(null),i=h.useRef(!1);return h.useEffect(()=>{const a=t.current;if(!a||i.current)return;const s=a.attachShadow({mode:"open"});r.current=s;let c="https://mapsdk.road.io/styles.css";e.sdkRoot&&(c=e.sdkRoot+"/styles.css");const l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.href=c,s.appendChild(l);const u=Rr.createRoot(s);return n.current=u,i.current=!0,()=>{n.current&&(n.current.unmount(),n.current=null),r.current=null,i.current=!1}},[]),h.useEffect(()=>{if(!n.current||!r.current)return;const a=h.createElement(Mr,{...e,shadowRoot:r.current});n.current.render(a)},[e]),o.jsx("div",{ref:t,style:{height:"100%",width:"100%"}})};exports.RoadMap=Mr;
|
|
127
142
|
//# sourceMappingURL=index.js.map
|