PageSourceSearch

https://www.geoapify.com/e713b27941e7543e7b3ffce91d1ef06c958ea5e5-e4d42f1747dbc495dfcc.js

js geoapify.com collected 2026-09-24 15:24:17 UTC 122,645 bytes, 3 lines download raw bytes

1/*! For license information please see e713b27941e7543e7b3ffce91d1ef06c958ea5e5-e4d42f1747dbc495dfcc.js.LICENSE.txt */
2(self.webpackChunkgeoapify_home=self.webpackChunkgeoapify_home||[]).push([[6795],{1963:function(e,t,a){"use strict";var n=a(6540);const s={default:"py-3 px-8",lg:"py-4 px-12",xl:"py-5 px-16 text-lg"};t.A=e=>{let{children:t,className:a="",size:r}=e;return n.createElement("button",{type:"button",className:`\n        ${s[r]||s.default}\n        ${a}\n        bg-red-500\n        hover:bg-red-500-darker\n        rounded\n        text-white\n    `,onClick:()=>{document.cookie.split(";").map((e=>e.trim())).forEach((e=>{const t=e.indexOf("="),a=t>-1?e.substring(0,t):e;document.cookie=a+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/;domain=.geoapify.com;",document.cookie=a+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/;domain=www.geoapify.com;"}));console.log(document.cookie),window.location.reload()}},t)}},633:function(e,t,a){"use strict";var n=a(6540),s=a(4794);t.A=e=>{let{className:t,dir:a,name:r,alt:i}=e;return n.createElement(s.StaticQuery,{query:"3265332828",render:e=>{const s=e.images.nodes.find((e=>e.name===r&&e.relativeDirectory===a));return s?n.createElement("img",{className:t,src:s.publicURL,alt:i}):null}})}},3133:function(e,t,a){"use strict";var n=a(6540),s=a(4794),r=a(2532);t.A=e=>{let{className:t,dir:a,name:i,alt:o,fit:l=""}=e;const c=(0,s.useStaticQuery)("4150032734").images.nodes.find((e=>e.name===i&&e.relativeDirectory===a));return c?n.createElement(r.G,{image:c.childImageSharp.gatsbyImageData,className:t,alt:o,objectFit:l,imgStyle:{objectFit:l}}):null}},1562:function(e,t,a){"use strict";a.d(t,{A:function(){return i}});var n=a(6540),s=a(8154),r={"location-platform":{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Maps",item:"https://www.geoapify.com/map-tiles/"},{"@type":"ListItem",position:2,name:"Geocoding",item:"https://www.geoapify.com/geocoding-api/"},{"@type":"ListItem",position:3,name:"Route optimization",item:"https://www.geoapify.com/route-planner-api/"},{"@type":"ListItem",position:4,name:"Places",item:"https://www.geoapify.com/places-api/"}]},"maps-api":{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Geocoding API",item:"https://www.geoapify.com/geocoding-api/"},{"@type":"ListItem",position:2,name:"Routing API",item:"https://www.geoapify.com/routing-api/"},{"@type":"ListItem",position:3,name:"Places API",item:"https://www.geoapify.com/places-api/"},{"@type":"ListItem",position:4,name:"Isoline API",item:"https://www.geoapify.com/isoline-api/"}]},mapifator:{"@type":"WebApplication",applicationCategory:"BusinessApplication",url:"https://mapifator.com/",image:{"@id":"https://www.geoapify.com/mapifator/#primaryimage"},name:"Mapifator",description:"Create a map for your website or app with a graphical interface. Add places and information about them. Import places from an excel file and show them on the map.",publisher:{"@id":"https://www.geoapify.com/#organization"},keywords:"Map with pins, show places, create a map, map builder",offers:{"@type":"Offer",price:"0",priceCurrency:"EUR"},aggregateRating:{"@type":"AggregateRating",ratingValue:"4.9",ratingCount:"5"}},"map-tiles":{"@type":"WebAPI",name:"Geoapify Map tiles API",description:"Geoapify Map tiles API lets you create digital maps with Leaflet, Mapbox GL, OpenLayers and other client libraries. Choose raster or vector format, style and color that fits the best.",documentation:"https://apidocs.geoapify.com/docs/maps/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"geocoding-api":{"@type":"WebAPI",name:"Geoapify Geocoding API",description:"Forward and reverse geocoding with autocomplete support. Batch-geocoding endpoint lets you geocode a big amounts for addresses effectively and at lower price.",documentation:"https://apidocs.geoapify.com/docs/geocoding/forward-geocoding/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"places-api":{"@type":"WebAPI",name:"Geoapify Places API",description:"Search places and points of interest by categories and criteria. We have more than 800 categories and subcategories of places. Free tier!",documentation:"https://apidocs.geoapify.com/docs/places/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"reverse-geocoding-api":{"@type":"WebAPI",name:"Geoapify Reverse Geocoding API",description:"Search address by coordinates. Single and batch requests possible. Multiple language support.",documentation:"https://apidocs.geoapify.com/docs/geocoding/reverse-geocoding/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}}
2,"isoline-api":{"@type":"WebAPI",name:"Geoapify Isoline API",description:"Isochrones and Iso Distances for drive, truck, transit, bicycle, and walk modes. Free plan for starting and Unlimited plan for big volumes.",documentation:"https://apidocs.geoapify.com/docs/isolines/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"static-maps":{"@type":"WebAPI",name:"Geoapify Static Maps API",description:"Generate static maps - map pictures of different size, style with or without pins",documentation:"https://apidocs.geoapify.com/docs/maps/static/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"place-details-api":{"@type":"WebAPI",name:"Geoapify Place Details API",description:"Get information about the place - website, opening hours, contact data and more",documentation:"https://apidocs.geoapify.com/docs/place-details/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"ip-geolocation-api":{"@type":"WebAPI",name:"Geoapify IP Geolocation API",description:"Get information about visitor location - city, country, currency, languages",documentation:"https://apidocs.geoapify.com/docs/ip-geolocation/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"map-matching-api":{"@type":"WebAPI",name:"Geoapify Map Matching API",description:"Match GPS track to a route and get detailed information about the route segments - speed limit, road class, surface, and other",documentation:"https://apidocs.geoapify.com/docs/map-matching/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"route-planner-api":{"@type":"WebAPI",name:"Geoapify Route Planner API",description:"Solve route planning tasks including VRP with constraints and time windows - pickup / delivery, scheduling, car sharing, and other",documentation:"https://apidocs.geoapify.com/docs/route-planner/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"route-matrix-api":{"@type":"WebAPI",name:"Geoapify Route Matrix API",description:"Calculate a Route Matrix for multiple waypoints. The matrix contains distance and time.",documentation:"https://apidocs.geoapify.com/docs/route-matrix/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"routing-api":{"@type":"WebAPI",name:"Geoapify Routing API",description:"Calculate routes for cars, trucks, bicycles, pedestrians and public transport. Set preferred roads and roads to avoid.",documentation:"https://apidocs.geoapify.com/docs/routing/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"boundaries-api":{"@type":"WebAPI",name:"Geoapify Boundaries API",description:"Get administrative, political, postcode, low emissions zones boundaries, their geometry as GeoJSON and hierarchy.",documentation:"https://apidocs.geoapify.com/docs/boundaries/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}},"world-cities-database":{"@type":"Dataset","@id":"https://www.geoapify.com/download-all-the-cities-towns-villages/#dataset",name:"World Cities Database",alternateName:["Cities, Towns, Villages, and Hamlets Database","OpenStreetMap Localities Dataset"],description:"Country-based download of cities, towns, villages, and hamlets compiled from OpenStreetMap. Archives contain NDJSON files, with one GeoJSON record per line for geospatial analysis, search indexes, maps, and location-based applications.",url:"https://www.geoapify.com/download-all-the-cities-towns-villages/",keywords:["world cities database","cities database","towns and villages data","OpenStreetMap localities","GeoJSON","NDJSON"],isAccessibleForFree:!0,license:"https://opendatacommons.org/licenses/o
2dbl/",creditText:"OpenStreetMap contributors",isBasedOn:"https://www.openstreetmap.org/",creator:{"@id":"https://www.geoapify.com/#organization"},publisher:{"@id":"https://www.geoapify.com/#organization"},provider:{"@id":"https://www.geoapify.com/#organization"},maintainer:{"@id":"https://www.geoapify.com/#organization"},spatialCoverage:{"@type":"Place",name:"Worldwide"},measurementTechnique:"Compiled from OpenStreetMap place tags and administrative boundary relations.",variableMeasured:["name","other_names","display_name","address","population","osm_type","osm_id","type","location","bbox","border","inferred_type"],hasPart:[{"@type":"Dataset",name:"Cities records",description:"NDJSON records for places classified as cities.",license:"https://opendatacommons.org/licenses/odbl/",creator:{"@id":"https://www.geoapify.com/#organization"}},{"@type":"Dataset",name:"Towns records",description:"NDJSON records for places classified as towns.",license:"https://opendatacommons.org/licenses/odbl/",creator:{"@id":"https://www.geoapify.com/#organization"}},{"@type":"Dataset",name:"Villages records",description:"NDJSON records for places classified as villages.",license:"https://opendatacommons.org/licenses/odbl/",creator:{"@id":"https://www.geoapify.com/#organization"}},{"@type":"Dataset",name:"Hamlets records",description:"NDJSON records for places classified as hamlets.",license:"https://opendatacommons.org/licenses/odbl/",creator:{"@id":"https://www.geoapify.com/#organization"}}],includedInDataCatalog:{"@type":"DataCatalog",name:"Geoapify Downloads",url:"https://www.geoapify.com/downloads/"},distribution:{"@type":"DataDownload",name:"Country ZIP archives with NDJSON locality files",encodingFormat:["application/zip","application/x-ndjson","application/geo+json"],contentUrl:"https://www.geoapify.com/data-share/localities/"}},"elevation-api":{"@type":"WebAPI",name:"Geoapify Elevation API",description:"Get elevation data for coordinates and build coordinate-based elevation lookup workflows.",documentation:"https://apidocs.geoapify.com/docs/elevation/",termsOfService:"https://www.geoapify.com/terms-and-conditions/",provider:{"@id":"https://www.geoapify.com/#organization"}}};var i=e=>{let{geoapifyTitle:t,geoapifyDescription:a,geoapifySlogan:i,companyName:o,webpageTitle:l,webpageDescription:c,slug:u,logoSrc:m,logoWidth:d,logoHeight:p,imageSrc:h,imageWidth:f,imageHeight:g,additionalData:y}=e;const v={"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.geoapify.com/#organization",name:o,url:"https://www.geoapify.com/",email:"[email protected]",brand:"Geoapify Location Platform",sameAs:["https://www.facebook.com/pg/Geoapify","https://www.linkedin.com/company/geoapify","https://twitter.com/Geoapify"],logo:{"@type":"ImageObject","@id":"https://www.geoapify.com/#logo",url:m,width:d,height:p,caption:o},slogan:i,image:{"@id":"https://www.geoapify.com/#logo"}},{"@type":"WebSite","@id":"https://www.geoapify.com/#website",url:"https://www.geoapify.com/",name:t,description:a,publisher:{"@id":"https://www.geoapify.com/#organization"},inLanguage:"en-US"}]};if(h){const e={"@type":"ImageObject","@id":`https://www.geoapify.com/${u}/#primaryimage`,url:h,width:f,height:g,caption:l};v["@graph"].push(e)}return h&&({"@type":"WebPage","@id":`https://www.geoapify.com/${u}/#webpage`,url:`https://www.geoapify.com/${u}/`,name:l,isPartOf:{"@id":"https://www.geoapify.com/#website"},description:c,inLanguage:"en-US"}.primaryImageOfPage={"@id":`https://www.geoapify.com/${u}/#primaryimage`}),y&&r[y]&&v["@graph"].push(r[y]),n.createElement(s.m,null,n.createElement("script",{type:"application/ld+json"},JSON.stringify(v)))}},5841:function(e,t,a){"use strict";var n=a(6540),s=a(1042);t.A=()=>n.createElement("div",{className:"my-2 text-right lg:text-left"},n.createElement("a",{className:"inline-block w-6 text-secondary mr-8",rel:"nofollow",href:"https://x.com/geoapify"},n.createElement(s.F,null)),n.createElement("a",{className:"inline-block w-6 text-secondary mr-8",rel:"nofollow",href:"https://www.linkedin.com/company/geoapify"},n.createElement(s.ky,null)),n.createElement("a",{className:"inline-block w-6 text-secondary mr-8",rel:"nofollow",href:"https://dev.to/geoapify-maps-api"},n.createElement(s.El,null)),n.createElement("a",{className:"inline-block w-6 text-secondary mr-8",rel:"nofollow",href:"https://github.com/geoapify"},n.createElement(s.YB,null)),n.createElement("a",{className:"inline-block w-6 text-secondary",rel:"nofollow",href:"https://www.npmjs.com/~geoapify"},n.createElement(s.XE,null)))},8261:function(e,t,a){"use strict";var n=a(6540),s=a(2833);t.A=e=>{let{idPrefix:t="check",items:a=[],className:r=""}=e;const i=(0,n.useMemo)((()=>a.map(((e,a)=>{return{key:`${t}-${n=e,void 0===n&&(n=""),n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||a}`,label:e};var n}))),[t,a]),{0:o,1:l}
2=(0,n.useState)((()=>i.reduce(((e,t)=>(e[t.key]=!1,e)),{})));return n.createElement("div",{className:`flex flex-col gap-2 ${r}`.trim()},i.map((e=>n.createElement(s.A,{key:e.key,id:e.key,value:!!o[e.key],onChange:t=>l((a=>({...a,[e.key]:t}))),label:e.label}))))}},3007:function(e,t,a){"use strict";var n=a(6540),s=a(4794),r=a(2532),i=a(9856);const o=function(e){return void 0===e&&(e=""),e.replace(/^\/+|\/+$/g,"")};t.A=e=>{let{slug:t,children:a,className:l=""}=e;return n.createElement(s.StaticQuery,{query:"2774986668",render:e=>{var s,c,u,m,d,p,h;const f=o(t),g=e.pages.nodes.find((e=>o(e.frontmatter.slug)===f)),y=null==g||null===(s=g.frontmatter)||void 0===s||null===(c=s.featuredImage)||void 0===c||null===(u=c.childImageSharp)||void 0===u?void 0:u.gatsbyImageData,v=(null==g||null===(m=g.frontmatter)||void 0===m?void 0:m.featuredImageAlt_120)||(null==g||null===(d=g.frontmatter)||void 0===d?void 0:d.title)||(null==g||null===(p=g.frontmatter)||void 0===p?void 0:p.title_60)||f,b=null!=g&&null!==(h=g.frontmatter)&&void 0!==h&&h.slug?`/${g.frontmatter.slug}/`:null;return n.createElement(i.A,{className:`geoapify-page-card overflow-hidden ${l}`},y?b?n.createElement("a",{href:b,className:"geoapify-page-card-image"},n.createElement(r.G,{image:y,alt:v})):n.createElement("div",{className:"geoapify-page-card-image"},n.createElement(r.G,{image:y,alt:v})):null,a)}})}},370:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(2833),i=a(1233);let o=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"boundaries",label:"Every 20 Boundaries API results are counted as 1 credit"},{key:"boundaries-geometry",label:"When geometry type is different than point (the default value), each returned result costs 1 credit additional"}],a.handleGeometryAsPointChange=e=>{a.setState({geometryAsPoint:e})},a.handleNumberOfResultsChange=e=>{a.setState({numberOfResults:e})},a.state={geometryAsPoint:!0,numberOfResults:20},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{geometryAsPoint:a,numberOfResults:n}=this.state;t.geometryAsPoint===a&&t.numberOfResults===n||this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{geometryAsPoint:t,numberOfResults:a}=this.state;let n=Math.max(1,Math.ceil(a/20));t||(n+=a),e(n)},a.render=function(){const{geometryAsPoint:e,numberOfResults:t}=this.state;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of results:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(i.A,{min:0,max:100,value:t,onChange:this.handleNumberOfResultsChange})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:1e3,value:t,onChange:e=>this.handleNumberOfResultsChange(e.target.value),className:"credits-calculator-slider"})))),s.createElement("div",{className:"my-5"},s.createElement(r.A,{id:"boundary-geometry-flag",label:"Geometry as point",value:e,onChange:this.handleGeometryAsPointChange})),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=o},9310:function(e,t,a){"use strict";a.d(t,{A:function(){return S}});var n=a(7387),s=a(6540),r=a(8941),i=a(1233);var o=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"1 Map Tile request costs 0.25 credits (4 map tiles = 1 credit)"},{key:"statistics-user",label:"According to statistics, an interactive map loads approximately 50 map tiles per user session",type:"per-user"},{key:"value-view",label:"According to statistics, an interactive map load 14 map tiles per map view",type:"per-view"}],a.changeNumberTilesPerUser=e=>{a.setState({mapTilesPerUser:e})},a.changeNumberTilesPerView=e=>{a.setState({mapTilesPerView:e})},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props;e(.25)},a.render=function(){const{users:e,views:t}=this.props,a=this.rows.filter((a=>!a.type||e>=0&&"per-user"===a.type||t>=0&&"per-view"===a.type));return s.createElement(s.Fragment,null,s.createElement("ul",null,a.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component),l=a(6382);var c=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"statistics-user",label:"According to statistics, 50 geocoding autocomplete requests made per one user session"},{key:"general",label:"1 Geocoding Autocomplete API request costs 1 credit"}],a.state={numberPerUser:50},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props;e(1)},a.render=function(){return s.createElement(s.Fragment,null,s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);var u=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"1 Mar
2ker Icon API request costs 1 credit"}],a.state={},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props;e(1)},a.render=function(){return s.createElement(s.Fragment,null,s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);a(2833);var m=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"geocoding",label:"1 Geocoding API request costs 1 credit"},{key:"reverse-geocoding",label:"1 Reverse Geocoding API request costs 1 credit"},{key:"autocomplete",label:"1 Address Autocomplete API request costs 1 credit"}],a.handleBatchFlagChange=e=>{a.setState({batchFlag:e})},a.state={batchFlag:!1},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{requests:a}=this.props,{batchFlag:n}=this.state;(a!==e.requests||t.batchFlag!==n)&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{batchFlag:t}=this.state;let a=1;t&&(a=1===a?.5:Math.round(a/2)),e(a)},a.render=function(){return s.createElement(s.Fragment,null,s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);var d=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"1 IP Geolocation API request costs 1 credit"}],a.state={},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props;e(1)},a.render=function(){const e=this.rows;return s.createElement(s.Fragment,null,s.createElement("ul",null,e.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component),p=a(828),h=a(7752),f=a(6036),g=a(370),y=a(3266),v=a(6153),b=a(27),w=a(7330),E=a(3240),x=a(1572),N=a(6840),C=a(8534);const A=[{value:"map-tiles-per-user",label:"Maps by user sessions",type:"per-users",max:25e3},{value:"map-tiles-per-view",label:"Maps by map views",type:"per-views",max:8e4},{value:"map-tiles",label:"Maps by map tile requests",type:"per-requests",max:1e6},{value:"static-maps",label:"Static Maps API",type:"per-requests",max:75e3},{value:"map-icons",label:"Marker Icon API",type:"per-requests",max:25e4},{value:"autocomplete",label:"Address Autocomplete by user sessions",type:"per-users",max:7500},{value:"geocoding",label:"Geocoding API / Reverse Geocoding API / Geocoding Autocomplete",type:"per-requests",max:25e4},{value:"ip-geolocation",label:"IP Geolocation API",type:"per-requests",max:25e4},{value:"places",label:"Places API",type:"per-requests",max:25e4},{value:"place-details",label:"Place Details API",type:"per-requests",max:25e4},{value:"postcode",label:"Postcode API",type:"per-requests",max:25e4},{value:"boundaries",label:"Boundaries API",type:"per-requests",max:25e4},{value:"isoline",label:"Isoline API",type:"per-requests",max:25e4},{value:"routing",label:"Routing API",type:"per-requests",max:25e4},{value:"route-matrix",label:"Route Matrix API",type:"per-requests",max:15e4},{value:"map-matching",label:"Map Matching API",type:"per-requests",max:2e4},{value:"route-planner",label:"Route Planner API",type:"per-requests",max:2e4}];var S=function(e){function t(t){var a,n,s,r,i;let o;(i=e.call(this,t)||this).changeNumberOfRequests=e=>{i.setState({numberOfRequests:e})},i.changeNumberOfUsers=e=>{i.setState({numberOfUsers:e})},i.changeNumberOfViews=e=>{i.setState({numberOfViews:e})},i.changeNumberTilesPerUser=e=>{i.setState({mapTilesPerUser:e})},i.changeNumberTilesPerView=e=>{i.setState({mapTilesPerView:e})},i.changeNumberAutocompletePerUser=e=>{i.setState({autocompletePerUser:e})},i.changeCredits=e=>{i.setState({requestCost:e})};if("undefined"!=typeof window&&null!==(a=window)&&void 0!==a&&null!==(n=a.location)&&void 0!==n&&n.search&&(null===(s=window)||void 0===s||null===(r=s.location)||void 0===r?void 0:r.search.length)>1){const e=window.location.search.substring(1);o=A.find((t=>t.value===e))}return i.state={activeApiIndex:o?A.indexOf(o):-1,numberOfRequests:1,numberOfUsers:1,numberOfViews:1,mapTilesPerVie
2w:14,mapTilesPerUser:50,autocompletePerUser:50,period:"daily",credits:0},i}(0,n.A)(t,e);var a=t.prototype;return a.changeApi=function(e){const{activeApiIndex:t}=this.state,a=A.indexOf(e[0]);t!==a&&this.setState({activeApiIndex:a,numberOfRequests:1,numberOfUsers:1,numberOfViews:1,credits:0})},a.changePeriod=function(e){this.setState({period:e})},a.render=function(){const{api:e,onlyApi:t,noCost:a}=this.props,{activeApiIndex:n,numberOfRequests:S,numberOfUsers:R,numberOfViews:k,mapTilesPerUser:I,mapTilesPerView:q,autocompletePerUser:P,period:O,requestCost:_,plan:T}=this.state,L=e?A.find((t=>t.value===e)):null,M=n>=0?A[n]:L;let D,F,U,W=M?M.max:1e5;return"monthly"===O&&(W*=30),M&&(D="per-views"===M.type?(_*q*k).toFixed(2):"map-tiles-per-user"===M.value?(_*I*R).toFixed(2):"autocomplete"===M.value?(_*P*R).toFixed(2):_*S,U=M&&"per-requests"===M.type&&S>0?D/parseInt(S,10):0,F=N.find((e=>e.credits&&!Number.isNaN(Number(e.credits))&&e.credits*("daily"===O?1:30)>D)),F=F||N.find((e=>"geoapify-api-unlimited"===e.id))),s.createElement("div",{className:"mb-5"},t&&M?"":s.createElement(r.Ay,{className:"text-gray-700",options:A,values:M?[M]:[],onChange:e=>this.changeApi(e),placeholder:"Choose an API...",searchable:!1}),M?s.createElement(s.Fragment,null,t?"":s.createElement("div",{className:"my-5"},s.createElement(x.e2,null,s.createElement(x.Ok,{selected:"daily"===O,onSelect:()=>this.changePeriod("daily")},"DAILY"),s.createElement(x.Ok,{selected:"monthly"===O,onSelect:()=>this.changePeriod("monthly")},"MONTHLY"))),!t&&s.createElement("div",{className:"my-5 text-gray-700"},(()=>"per-requests"===M.type?s.createElement(s.Fragment,null,s.createElement("div",{className:"mb-1"},"Number of requests / ","daily"===O?"day":"month",":"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"credits-calculator-input-container w-32 mr-3"},s.createElement(i.A,{min:0,value:S,onChange:this.changeNumberOfRequests,className:"credits-calculator-input"})),s.createElement("div",{className:"credits-calculator-slide-container flex-1"},s.createElement("input",{type:"range",min:0,max:W,value:S,step:1,onChange:e=>this.changeNumberOfRequests(e.target.value),className:"credits-calculator-slider"})))):"per-users"===M.type?s.createElement(s.Fragment,null,s.createElement("div",{className:"mb-1"},"Number of user sessions / ","daily"===O?"day":"month"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"credits-calculator-input-container w-32 mr-3"},s.createElement(i.A,{min:0,value:R,onChange:this.changeNumberOfUsers,className:"credits-calculator-input"})),s.createElement("div",{className:"credits-calculator-slide-container flex-1"},s.createElement("input",{type:"range",min:0,max:W,value:R,step:1,onChange:e=>this.changeNumberOfUsers(e.target.value),className:"credits-calculator-slider"})))):"per-views"===M.type?s.createElement(s.Fragment,null,s.createElement("div",{className:"mb-1"},"Number of map views / ","daily"===O?"day":"month"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"credits-calculator-input-container w-32 mr-3"},s.createElement(i.A,{min:0,value:k,onChange:this.changeNumberOfViews,className:"credits-calculator-input"})),s.createElement("div",{className:"credits-calculator-slide-container flex-1"},s.createElement("input",{type:"range",min:0,max:W,value:k,step:1,onChange:e=>this.changeNumberOfViews(e.target.value),className:"credits-calculator-slider"})))):"")()),s.createElement("div",{className:"my-5"},(()=>"map-tiles-per-user"===M.value?s.createElement(s.Fragment,null,s.createElement("div",{className:"mb-1 text-gray-700"},"Number of map tiles / per user session:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(i.A,{min:0,max:1e3,value:I,onChange:this.changeNumberTilesPerUser})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:1e3,value:I,onChange:e=>this.changeNumberTilesPerUser(e.target.value),className:"credits-calculator-slider"}))),s.createElement(o,{users:R,changeCredits:this.changeCredits})):"map-tiles-per-view"===M.value?s.createElement(s.Fragment,null,s.createElement("div",{className:"mb-1 text-gray-700"},"Number of map tiles / per map view:"),s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of map tiles / per map view:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(i.A,{min:0,max:100,value:q,onChange:this.changeNumberTilesPerVie
2w})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:100,value:q,onChange:e=>this.changeNumberTilesPerView(e.target.value),className:"credits-calculator-slider"})))),s.createElement(o,{views:k,changeCredits:this.changeCredits})):"map-tiles"===M.value?s.createElement(o,{requests:S,changeCredits:this.changeCredits}):"static-maps"===M.value?s.createElement(l.A,{changeCredits:this.changeCredits}):"autocomplete"===M.value?s.createElement(s.Fragment,null,s.createElement("div",{className:"mb-1 text-gray-700"},"Number of requests / per user session:"),s.createElement("div",{className:"flex items-center mb-5"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(i.A,{min:0,max:1e3,value:P,onChange:this.changeNumberAutocompletePerUser})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:1e3,value:P,onChange:e=>this.changeNumberAutocompletePerUser(e.target.value),className:"credits-calculator-slider"}))),s.createElement(c,{users:R,changeCredits:this.changeCredits})):"map-icons"===M.value?s.createElement(u,{changeCredits:this.changeCredits}):"geocoding"===M.value?s.createElement(m,{changeCredits:this.changeCredits}):"ip-geolocation"===M.value?s.createElement(d,{changeCredits:this.changeCredits}):"places"===M.value?s.createElement(p.A,{changeCredits:this.changeCredits}):"place-details"===M.value?s.createElement(f.A,{changeCredits:this.changeCredits}):"postcode"===M.value?s.createElement(h.A,{changeCredits:this.changeCredits}):"boundaries"===M.value?s.createElement(g.A,{changeCredits:this.changeCredits}):"isoline"===M.value?s.createElement(v.A,{changeCredits:this.changeCredits}):"routing"===M.value?s.createElement(y.A,{changeCredits:this.changeCredits}):"route-matrix"===M.value?s.createElement(b.A,{changeCredits:this.changeCredits}):"map-matching"===M.value?s.createElement(w.A,{changeCredits:this.changeCredits}):"route-planner"===M.value?s.createElement(E.A,{changeCredits:this.changeCredits}):"")()),F?s.createElement("div",{className:"my-5"},t?s.createElement(s.Fragment,null,!a&&s.createElement("p",null,"Credits number per request: ",U.toLocaleString()," credits / request")):s.createElement(s.Fragment,null,s.createElement("h6",null,"Required credits number"),U>1?s.createElement("p",null,U.toLocaleString()," credits / request"):"",s.createElement("p",null,D.toLocaleString()," credits / ","daily"===O?"day":"month"),s.createElement("h6",null,"Recommended pricing plan"),s.createElement("div",{className:"mx-auto max-w-sm rounded border border-gray-300"},s.createElement(C.A,{plan:F,billingCycle:"monthly",currency:"eur"})))):""):"")},t}(s.Component)},6153:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(8941),i=a(1572);let o=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"isochrone",label:"1 credit counted for each 5 minutes of isochrone",type:"isochrone"},{key:"isoline",label:"1 credit counted for each 5 km of isodistance",type:"isodistance"}],a.isochroneOptions=[{value:"isochrone-5",cost:5,label:"5 minutes"},{value:"isochrone-10",cost:10,label:"10 minutes"},{value:"isochrone-15",cost:15,label:"15 minutes"},{value:"isochrone-30",cost:30,label:"30 minutes"},{value:"isochrone-45",cost:45,label:"45 minutes"},{value:"isochrone-60",cost:60,label:"60 minutes"},{value:"isochrone-120",cost:120,label:"120 minutes"}],a.isodistanceOptions=[{value:"isodistance-5",cost:5,label:"5 km"},{value:"isodistance-10",cost:10,label:"10 km"},{value:"isodistance-25",cost:25,label:"25 km"},{value:"isodistance-50",cost:50,label:"50 km"},{value:"isodistance-100",cost:100,label:"100 km"},{value:"isodistance-200",cost:200,label:"200 km"}],a.handleTypeChange=e=>{a.setState({type:e})},a.handleIsochroneOptionChange=e=>{const t=a.isochroneOptions.indexOf(e[0]);a.setState({isochroneOptionIndex:t})},a.handleIsodistanceOptionChange=e=>{const t=a.isodistanceOptions.indexOf(e[0]);a.setState({isodistanceOptionIndex:t})},a.state={type:"isochrone",isochroneOptionIndex:0,isodistanceOptionIndex:0},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{type:a,isochroneOptionIndex:n,isodistanceOptionIndex:s}=this.state;(t.type!==a||t.isochroneOptionIndex!==n||t.isodistanceOptionIndex!==s)&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{type:t,isochroneOptionIndex:a,isodistanceOptionIndex:n}=this.state;let s;s="isochrone"===t?this.isochroneOptions[a].cost/5:this.isodistanceOptions[n].cost/5,e(s)},a.render=function(){const{type:e,isochroneOptionIndex:t,isodistanceOptionIndex:a}=this.state;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5"},s.createElement(i.e2,null,s.createElement(i.Ok,{selected:"isochrone"===e,onSelect:()=>this.handleTypeChange("isochrone")},"ISOCHRONE"),s.createElement(i.Ok,{selected:"isodistance"===e,onSelect:()=>this.handleTypeChange("isodistance")},"ISODISTANCE"))),"isochrone"===e?s.createElement("div",{className:"my-5"},s.createElement("div",{className:"mb-1"},"Isochrone range:"),s.createElement(r.Ay,{className:"text-gray-700",options:this.isochroneOptions,values:t>=0?[this.isochroneOptions[t]]:[],onChange:e=>this.handleIsochroneOptionChange(e),placeholder:"Choose isochrone time option..."})):s.createElement("div",{className:"my-5"},s.createElement("div",{className:"mb-1"},"Isodistance range:"),s.createElement(r.Ay,{className:"text-gray-700",options:this.isodistanceOptions,values:a>=0?[this.isodistanceOptions[a]]:[],onChange:e=>this.handleIsodistanceOptionChange(e),placeholder:"Choose isochrone time option..."})),s.createElement("ul",null,this.rows.filter((t=>t.type===e)).map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=o},7330:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(1233);let i=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"1 credit per each 100 waypoints"}],a.changeWaypoints=e=>{a.setState({waypoints:e})},a.state={waypoints:60},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{waypoints:a}=this.state;a!==t.waypoints&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{waypoints:t}=this.state;e(Math.max(Math.ceil(parseInt(t,10)/100),1))},a.render=function(){const{waypoints:e}=this.state;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of waypoints:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"}
2,s.createElement(r.A,{min:0,max:5e3,value:e,onChange:this.changeWaypoints})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:5e3,value:e,onChange:e=>this.changeWaypoints(e.target.value),className:"credits-calculator-slider"})))),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=i},6036:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(8941);let i=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"1 Place Details API request costs 1 credit plus requested features costs"},{key:"feature-details",label:'"building", "details.population", "details.full_geometry", and "details.names" features add an additional 1 credit each'},{key:"feature-places",label:'"building.places", "radius_100.restaurant", "walk_10.supermarket" and other places features add 1 additional credit per every 20 results'},{key:"feature-isochrone",label:'"walk_5", "walk_10", "drive_5", "drive_10", "drive_15" and other isochrone features add 1 additional credit per each 5 minutes isochrone'}],a.features=[{value:"building",label:"building",cost:1},{value:"building.places",label:"building.places",cost:1},{value:"building.commercial",label:"building.commercial\t",cost:1},{value:"building.catering",label:"building.catering",cost:1},{value:"walk_5.supermarket",label:"walk_5.supermarket",cost:2},{value:"walk_5.tourism",label:"walk_5.tourism",cost:2},{value:"walk_10.restaurant",label:"walk_10.restaurant",cost:3},{value:"walk_30.entertainment\t",label:"walk_30.entertainment\t",cost:7},{value:"drive_15.hotel",label:"drive_15.hotel",cost:4},{value:"drive_15.charging_station",label:"drive_15.charging_station",cost:4}],a.handleFeaturesChange=e=>{a.setState({selectedFeatures:e})},a.state={selectedFeatures:[]},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{selectedFeatures:a}=this.state;a.map((e=>e.value)).join(",")!==t.selectedFeatures.map((e=>e.value)).join(",")&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{selectedFeatures:t}=this.state;e(1+t.reduce(((e,t)=>e+t.cost),0))},a.render=function(){return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"With additional features:"),s.createElement(r.Ay,{className:"text-gray-700",multi:!0,options:this.features,onChange:this.handleFeaturesChange,placeholder:"Choose additional features to be requested..."}),s.createElement("div",{className:"text-sm text-gray-600"},"This is only features examples, check the full list of the features on ",s.createElement("a",{href:"https://apidocs.geoapify.com/docs/place-details",target:"_blank",rel:"noopener noreferrer"},"the Place Details Documentation Page"))),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=i},828:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(1233);let i=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"The Places API requires 1 credit when the limit is 20 places or less"},{key:"more-20",label:"When you query more than 20 places in one request, it costs 1 credit plus an additional credit for every 20 places returned"}],a.changeLimit=e=>{a.setState({limit:e})},a.state={limit:20},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{limit:a}=this.state;a!==t.limit&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{limit:t}=this.state;e(Math.max(1,Math.ceil(t/20)))},a.render=function(){const{limit:e}=this.state;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of places:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"}
2,s.createElement(r.A,{min:0,max:500,value:e,onChange:this.changeLimit})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:100,value:e,onChange:e=>this.changeLimit(e.target.value),className:"credits-calculator-slider"})))),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=i},7752:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(1233);let i=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"The Postcode API requires 1 credit when the limit is 20 places or less"},{key:"more-20",label:"When you query more than 20 places in one request, it costs 1 credit plus an additional credit for every 20 places returned"}],a.changeLimit=e=>{a.setState({limit:e})},a.state={limit:20},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{limit:a}=this.state;a!==t.limit&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{limit:t}=this.state;e(Math.max(1,Math.ceil(t/20)))},a.render=function(){const{limit:e}=this.state;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of places:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(r.A,{min:0,max:500,value:e,onChange:this.changeLimit})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:100,value:e,onChange:e=>this.changeLimit(e.target.value),className:"credits-calculator-slider"})))),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=i},5130:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(1572),i=a(1233),o=a(6382),l=a(3266),c=a(7330),u=a(27),m=a(3240),d=a(6153),p=a(828),h=a(6036),f=a(370),g=(a(7752),a(6840)),y=a(8534);const v={mapTiles:["1 Map Tile request costs 0.25 credits (4 map tiles = 1 credit)","According to statistics, an interactive map loads approximately 50 map tiles per user session","According to statistics, an interactive map load 14 map tiles per map view"],geocoding:["1 Geocoding API request costs 1 credit","1 Reverse Geocoding API request costs 1 credit","1 Address Autocomplete API request costs 1 credit"],"ip-geocolocation":["1 IP Geolocation API request costs 1 credit"],"map-icons":["1 Marker Icon API request costs 1 credit"]};let b=function(e){function t(t){var a;return(a=e.call(this,t)||this).handleBatchFlagChange=e=>{a.setState({batchFlag:e})},a.changeMapsRequests=e=>{a.setState({mapsRequests:e})},a.changeGeocodingRequests=e=>{a.setState({geocodingRequests:e})},a.changeStaticMapCost=e=>{a.setState({staticMapsRequestCost:e})},a.changeStaticMapRequest=e=>{a.setState({staticMapsRequests:e})},a.changeRoutingRequests=e=>{a.setState({routingRequests:e})},a.changeRoutingRequestCost=e=>{a.setState({routingRequestCost:e})},a.changeMapMatchingRequestCost=e=>{a.setState({mapMatchingRequestCost:e})},a.changeMapMatchingRequests=e=>{a.setState({mapMatchingRequests:e})},a.changeRouteMatrixRequestCost=e=>{a.setState({routeMatrixRequestCost:e})},a.changeRouteMatrixRequests=e=>{a.setState({routeMatrixRequests:e})},a.changeRoutePlannerRequestCost=e=>{a.setState({routePlannerRequestCost:e})},a.changeRoutePlannerRequests=e=>{a.setState({routePlannerRequests:e})},a.changeIsolineRequestCost=e=>{a.setState({isolineRequestCost:e})},a.changeIsolineRequests=e=>{a.setState({isolineRequests:e})},a.changePlacesRequestCost=e=>{a.setState({placesRequestCost:e})},a.changePlacesRequests=e=>{a.setState({placesRequests:e})},a.changePostcodeRequestCost=e=>{a.setState({postcodeRequestCost:e})},a.changePostcodeRequests=e=>{a.setState({postcodeRequests:e})},a.changePlaceDetailsRequestCost=e=>{a.setState({placeDetailsRequestCost:e})},a.changePlaceDetailsRequests=e=>{a.setState({placeDetailsRequests:e})},a.changeBoundariesRequestCost=e=>
2{a.setState({boundariesRequestCost:e})},a.changeBoundariesRequests=e=>{a.setState({boundariesRequests:e})},a.changeIPGeolocationRequests=e=>{a.setState({ipGeolocationRequests:e})},a.changeMapIconRequests=e=>{a.setState({mapIconRequests:e})},a.state={period:"daily",mapsRequests:0,mapTileRequestCost:.25,geocodingRequests:0,geocodingRequestCost:1,staticMapsRequests:0,staticMapsRequestCost:0,routingRequests:0,routingRequestCost:0,mapMatchingRequests:0,mapMatchingRequestCost:0,routeMatrixRequestCost:0,routeMatrixRequests:0,routePlannerRequestCost:0,routePlannerRequests:0,isolineRequestCost:0,isolineRequests:0,placesRequestCost:0,placesRequests:0,placeDetailsRequestCost:0,placeDetailsRequests:0,postcodeRequestCost:0,postcodeRequests:0,boundariesRequestCost:0,boundariesRequests:0,ipGeolocationRequests:0,ipGeolocationRequestCost:1,mapIconRequests:0,mapIconRequestCost:1,batchFlag:!1},a}(0,n.A)(t,e);var a=t.prototype;return a.changePeriod=function(e){this.setState({period:e})},a.render=function(){const{geocodingRequests:e,geocodingRequestCost:t,staticMapsRequests:a,staticMapsRequestCost:n,mapsRequests:b,mapTileRequestCost:w,routingRequests:E,routingRequestCost:x,mapMatchingRequests:N,mapMatchingRequestCost:C,routeMatrixRequestCost:A,routeMatrixRequests:S,routePlannerRequestCost:R,routePlannerRequests:k,isolineRequestCost:I,isolineRequests:q,placesRequestCost:P,placesRequests:O,postcodeRequestCost:_,postcodeRequests:T,placeDetailsRequestCost:L,placeDetailsRequests:M,boundariesRequestCost:D,boundariesRequests:F,ipGeolocationRequests:U,ipGeolocationRequestCost:W,mapIconRequests:G,mapIconRequestCost:$,period:B}=this.state,z=e*t+a*n+b*w+E*x+N*C+A*S+R*k+I*q+P*O+_*T+L*M+D*F+U*W+G*$,j="daily"===B?30*z:z,H="daily"===B?z:Math.round(z/30);let V=g.find((e=>e.credits&&!Number.isNaN(Number(e.credits))&&e.credits>H));return V=V||g.find((e=>"geoapify-api-unlimited"===e.id)),s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5"},s.createElement(r.e2,null,s.createElement(r.Ok,{selected:"daily"===B,onSelect:()=>this.changePeriod("daily")},"DAILY"),s.createElement(r.Ok,{selected:"monthly"===B,onSelect:()=>this.changePeriod("monthly")},"MONTHLY"))),s.createElement("table",null,s.createElement("thead",null,s.createElement("tr",null,s.createElement("th",
2null,"API Name"),s.createElement("th",null,"Number of requests"),s.createElement("th",null,"Cost in credits"))),s.createElement("tbody",null,s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Maps"),s.createElement("div",{className:"details"},s.createElement("ul",{className:"mt-5"},v.mapTiles.map(((e,t)=>s.createElement("li",{className:"text-gray-600",key:e.replace(" ","-")},e)))))),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:b,onChange:this.changeMapsRequests})),s.createElement("td",{className:"align-baseline"},(b*w).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Static Maps"),s.createElement("div",{className:"details"},s.createElement(o.A,{changeCredits:this.changeStaticMapCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",n.toFixed(2)," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:a,onChange:this.changeStaticMapRequest})),s.createElement("td",{className:"align-baseline"},(a*n).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Geocoding API"),s.createElement("div",{className:"details"},s.createElement("ul",{className:"mt-5"},v.geocoding.map((e=>s.createElement("li",{className:"text-gray-600",key:e.replace(" ","-")},e)))))),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:e,onChange:this.changeGeocodingRequests})),s.createElement("td",{className:"align-baseline"},(e*t).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Routing API"),s.createElement("div",{className:"details"},s.createElement(l.A,{changeCredits:this.changeRoutingRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",x," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:E,onChange:this.changeRoutingRequests})),s.createElement("td",{className:"align-baseline"},(x*E).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Map Matching API"),s.createElement("div",{className:"details"},s.createElement(c.A,{changeCredits:this.changeMapMatchingRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",C," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:N,onChange:this.changeMapMatchingRequests})),s.createElement("td",{className:"align-baseline"},(C*N).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Route Matrix API"),s.createElement("div",{className:"details"},s.createElement(u.A,{changeCredits:this.changeRouteMatrixRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",A," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:S,onChange:this.changeRouteMatrixRequests})),s.createElement("td",{className:"align-baseline"},(A*S).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Route Planner API"),s.createElement("div",{className:"details"},s.createElement(m.A,{changeCredits:this.changeRoutePlannerRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",R," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:k,onChange:this.changeRoutePlannerRequests})),s.createElement("td",{className:"align-baseline"},(R*k).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Isoline API"),s.createElement("div",{className:"details"},s.createElement(d.A,{changeCredits:this.changeIsolineRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",I," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:q,onChange:this.changeIsolineRequests})),s.createElement("td",{className:"align-baseline"}
2,(I*q).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Places API"),s.createElement("div",{className:"details"},s.createElement(p.A,{changeCredits:this.changePlacesRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",P," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:O,onChange:this.changePlacesRequests})),s.createElement("td",{className:"align-baseline"},(P*O).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Place Details API"),s.createElement("div",{className:"details"},s.createElement(h.A,{changeCredits:this.changePlaceDetailsRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",L," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:M,onChange:this.changePlaceDetailsRequests})),s.createElement("td",{className:"align-baseline"},(L*M).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Postcode API"),s.createElement("div",{className:"details"},s.createElement(p.A,{changeCredits:this.changePostcodeRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",_," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:T,onChange:this.changePostcodeRequests})),s.createElement("td",{className:"align-baseline"},(_*T).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Boundaries API"),s.createElement("div",{className:"details"},s.createElement(f.A,{changeCredits:this.changeBoundariesRequestCost})),s.createElement("div",{className:"text-gray-600"},"1 request = ",D," credits")),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:F,onChange:this.changeBoundariesRequests})),s.createElement("td",{className:"align-baseline"},(D*F).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"IP Geolocation"),s.createElement("div",{className:"details"},s.createElement("ul",{className:"mt-5"},v["ip-geocolocation"].map(((e,t)=>s.createElement("li",{className:"text-gray-600",key:e.replace(" ","-")},e)))))),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:U,onChange:this.changeIPGeolocationRequests})),s.createElement("td",{className:"align-baseline"},(U*W).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-2xl"},"Map Marker API"),s.createElement("div",{className:"details"},s.createElement("ul",{className:"mt-5"},v["map-icons"].map(((e,t)=>s.createElement("li",{className:"text-gray-600",key:e.replace(" ","-")},e)))))),s.createElement("td",{className:"align-baseline"},s.createElement(i.A,{min:0,value:G,onChange:this.changeMapIconRequests})),s.createElement("td",{className:"align-baseline"},(G*$).toLocaleString())),s.createElement("tr",null,s.createElement("td",null,s.createElement("div",{className:"text-5xl"},"Total")),s.createElement("td",null),s.createElement("td",null,z.toLocaleString())))),s.createElement("div",{className:"mt-10 mb-5"},s.createElement("div",{className:"text-2xl mb-5"},"The estimated usage:"),s.createElement("ul",null,s.createElement("li",null,H.toLocaleString()," credits / day"),s.createElement("li",null,j.toLocaleString()," credits / month"))),s.createElement("div",{className:"my-5"},s.createElement("div",{className:"text-2xl mb-5"},"Recommended Pricing Plan:"),s.createElement("div",{className:"mx-auto max-w-sm rounded border border-gray-300"},s.createElement(y.A,{plan:V,billingCycle:"monthly",currency:"eur"}))))},t}(s.Component);t.A=b},27:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(1233);let i=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"The number of credits you receive depends on the number of source and target elements or Matrix elements. The maximum number of elements is 1000."}
2,{key:"formula",label:"Max(NUMBER_OF_SOURCES, NUMBER_OF_TARGETS) * Min(NUMBER_OF_SOURCES, NUMBER_OF_TARGETS, 10)"},{key:"example",label:"Example: for 5 sources and 7 targets the API call will cost Max(5, 7) * Min(5, 7, 10) = 7 * 5 = 35 credits"}],a.changeSources=e=>{a.setState({sources:e})},a.changeTargets=e=>{a.setState({targets:e})},a.state={sources:10,targets:20},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{sources:a,targets:n}=this.state;(a!==t.sources||n!==t.targets)&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{sources:t,targets:a}=this.state;e(Math.max(Math.max(parseInt(t,10),parseInt(a,10))*Math.min(parseInt(t,10),parseInt(a,10),10),1))},a.render=function(){const{sources:e,targets:t}=this.state,a=e*t>1e3;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of source locations:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(r.A,{min:0,max:1e3,value:e,onChange:this.changeSources})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:1e3,value:e,onChange:e=>this.changeSources(e.target.value),className:"credits-calculator-slider"})))),s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of target locations:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(r.A,{min:0,max:1e3,value:t,onChange:this.changeTargets})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:1e3,value:t,onChange:e=>this.changeTargets(e.target.value),className:"credits-calculator-slider"})))),a&&s.createElement("div",{className:"text-red-600 text-sm mb-3"},"The maximum number of matrix elements (sources * targets) should be no more than 1000 for synchronous API calls"),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=i},3240:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(1233);let i=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"The Route Planner API cost depends on the number of locations you provide. The maximum number of locations for synchronous API calls is 300."},{key:"locations",label:"The locations include Agent Start & End locations, Shipment Pickup & Delivery locations, Job locations"},{key:"formula-1",label:"When number of locations < 10: REQUEST_COST = NUMBER_OF_LOCATIONS * NUMBER_OF_LOCATIONS"},{key:"formula-2",label:"When number of locations >= 10: REQUEST_COST = NUMBER_OF_LOCATIONS * 10"},{key:"example",label:"Example: 7 agents with start and end location set + 30 jobs ( 7*2 + 30 = 44 location in total) will cost 44 * 10 = 440 credits"}],a.changeLocations=e=>{a.setState({locations:e})},a.state={locations:60},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{locations:a}=this.state;a!==t.locations&&this.notifyCredits()},a.notifyCredits=function(){const{requests:e,changeCredits:t}=this.props,{locations:a}=this.state;let n;n=a<10?Math.max(parseInt(a,10)*parseInt(a,10),1):Math.max(10*parseInt(a,10),1),t(n)},a.render=function(){const{locations:e}=this.state;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of locations:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(r.A,{min:0,max:300,value:e,onChange:this.changeLocations})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:1e3,value:e,onChange:e=>this.changeLocations(e.target.value),className:"credits-calculator-slider"})))),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=i},3266:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(1233);let i=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"1 credit per each pair of waypoints: NUMBER_OF_CREDITS = WAYPOINTS - 1"},{key:"length",label:"1 additional credit is counted for each 500 km of result route length if route length > 500 km"}],a.changeWaypoints=e=>{a.setState({waypoints:e})},a.changeRouteLength=e=>{a.setState({routeLength:e})},a.state={waypoints:2,routeLength:100},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{waypoints:a,routeLength:n}=this.state;(a!==t.waypoints||n!==t.routeLength)&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{waypoints:t,routeLength:a}=this.state;e(Math.max(parseInt(t,10)-1,1)+Math.max(Math.floor((parseInt(a,10)-1)/500),0))},a.render=function(){const{waypoints:e,routeLength:t}=this.state;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of waypoints:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"}
2,s.createElement(r.A,{min:0,max:100,value:e,onChange:this.changeWaypoints})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:100,value:e,onChange:e=>this.changeWaypoints(e.target.value),className:"credits-calculator-slider"})))),s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Route length (km):"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(r.A,{min:0,max:1e4,value:t,onChange:this.changeRouteLength})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:1e4,value:t,onChange:e=>this.changeRouteLength(e.target.value),className:"credits-calculator-slider"})))),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=i},6382:function(e,t,a){"use strict";var n=a(7387),s=a(6540),r=a(1233);let i=function(e){function t(t){var a;return(a=e.call(this,t)||this).rows=[{key:"general",label:"A Static Maps  API request counts the API call by itself, map tile requests, and Marker Icon API requests"},{key:"formula",label:"1 Static Maps request = 1 + MAP_TILES / 4 + MAP_ICONS"},{key:"static-maps-call",label:"1 Static Maps call itself costs 1 credit"},{key:"map-tiles",label:"1 Geoapify Map Tile request costs 0.25 credits (4 map tiles = 1 credit)"},{key:"map-icons",label:"1 Marker Icon API request costs 1 credit"},{key:"cost",label:"The total number of map tiles is roughly estimated as Math.ceil(MAP_WIDTH/256) x Math.ceil(MAP_HEIGHT/256)"}],a.changeMapWidth=e=>{a.setState({mapWidth:e})},a.changeMapHeight=e=>{console.log(),a.setState({mapHeight:e})},a.changeNumberIcons=e=>{a.setState({icons:e})},a.state={mapWidth:600,mapHeight:400,icons:0},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){this.notifyCredits()},a.componentDidUpdate=function(e,t){const{mapWidth:a,mapHeight:n,icons:s}=this.state;(n!==t.mapHeight||a!==t.mapWidth||s!==t.icons)&&this.notifyCredits()},a.notifyCredits=function(){const{changeCredits:e}=this.props,{mapWidth:t,mapHeight:a,icons:n}=this.state,s=Math.ceil(t/256)*Math.ceil(a/256);e(1+parseInt(s,10)/4+parseInt(n,10))},a.render=function(){const{mapWidth:e,mapHeight:t,icons:a}=this.state;return s.createElement(s.Fragment,null,s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Width (px):"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(r.A,{min:0,max:4096,value:e,onChange:this.changeMapWidth})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:4096,value:e,onChange:e=>this.changeMapWidth(e.target.value),className:"credits-calculator-slider"})))),s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Height (px):"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(r.A,{min:0,max:4096,value:t,onChange:this.changeMapHeight})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:4096,value:t,onChange:e=>this.changeMapHeight(e.target.value),className:"credits-calculator-slider"})))),s.createElement("div",{className:"my-5 text-gray-700"},s.createElement("div",{className:"mb-1"},"Number of Map Marker Icons:"),s.createElement("div",{className:"flex items-center"},s.createElement("div",{className:"w-32 mr-3"},s.createElement(r.A,{min:0,max:100,value:a,onChange:this.changeNumberIcons})),s.createElement("div",{className:"flex-1"},s.createElement("input",{type:"range",min:0,max:100,value:a,onChange:e=>this.changeNumberIcons(e.target.value),className:"credits-calculator-slider"})))),s.createElement("ul",null,this.rows.map((e=>s.createElement("li",{className:"text-gray-600",key:e.key},e.label)))))},t}(s.Component);t.A=i},1233:function(e,t,a){"use strict";var n=a(7387),s=a(6540);let r=function(e){function t(t){var a;(a=e.call(this,t)||this).handleChange=e=>{const{min:t,max:n}=a.props;let s=parseInt(e.target.value.replace(/,/g,""),10);""===e.target.value?s=0:(Number.isNaN(s)||s<parseInt(t,10))&&(s=parseInt(t,10)),n&&s>parseInt(n,10)&&(s=parseInt(n,10));
2let r=Number(s).toLocaleString("en-US");""===e.target.value&&(r=e.target.value),a.setState({stringValue:r,numberValue:s,ownUpdate:!0})};const{value:n}=a.props;return a.state=void 0!==n?{stringValue:Number(n).toLocaleString("en-US"),numberValue:parseInt(n,10)}:{stringValue:"",numberValue:0},a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){},t.getDerivedStateFromProps=function(e,t){const{numberValue:a,ownUpdate:n}=t,{value:s}=e;if(!n&&s!==a){const e=parseInt(s,10);return{stringValue:Number(s).toLocaleString("en-US"),numberValue:e}}return{ownUpdate:!1}},a.componentDidUpdate=function(e,t){const{onChange:a}=this.props,{numberValue:n}=this.state;t.numberValue!==n&&a(n)},a.render=function(){const{stringValue:e}=this.state;return s.createElement("input",{type:"text",value:e,onChange:this.handleChange,className:"geoapify-input"})},t}(s.Component);t.A=r},8314:function(e,t,a){"use strict";a.d(t,{A:function(){return Ue}});var n=a(7387),s=a(6540),r=a(8941),i=a(1572),o=a(6840),l=a(1042);const c=Math.min,u=Math.max,m=Math.round,d=Math.floor,p=e=>({x:e,y:e}),h={left:"right",right:"left",bottom:"top",top:"bottom"},f={start:"end",end:"start"};function g(e,t,a){return u(e,c(t,a))}function y(e,t){return"function"==typeof e?e(t):e}function v(e){return e.split("-")[0]}function b(e){return e.split("-")[1]}function w(e){return"x"===e?"y":"x"}function E(e){return"y"===e?"height":"width"}function x(e){return["top","bottom"].includes(v(e))?"y":"x"}function N(e){return w(x(e))}function C(e){return e.replace(/start|end/g,(e=>f[e]))}function A(e){return e.replace(/left|right|bottom|top/g,(e=>h[e]))}function S(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function R(e){const{x:t,y:a,width:n,height:s}=e;return{width:n,height:s,top:a,left:t,right:t+n,bottom:a+s,x:t,y:a}}function k(e,t,a){let{reference:n,floating:s}=e;const r=x(t),i=N(t),o=E(i),l=v(t),c="y"===r,u=n.x+n.width/2-s.width/2,m=n.y+n.height/2-s.height/2,d=n[o]/2-s[o]/2;let p;switch(l){case"top":p={x:u,y:n.y-s.height};break;case"bottom":p={x:u,y:n.y+n.height};break;case"right":p={x:n.x+n.width,y:m};break;case"left":p={x:n.x-s.width,y:m};break;default:p={x:n.x,y:n.y}}switch(b(t)){case"start":p[i]-=d*(a&&c?-1:1);break;case"end":p[i]+=d*(a&&c?-1:1)}return p}async function I(e,t){var a;void 0===t&&(t={});const{x:n,y:s,platform:r,rects:i,elements:o,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:m="floating",altBoundary:d=!1,padding:p=0}=y(t,e),h=S(p),f=o[d?"floating"===m?"reference":"floating":m],g=R(await r.getClippingRect({element:null==(a=await(null==r.isElement?void 0:r.isElement(f)))||a?f:f.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(o.floating)),boundary:c,rootBoundary:u,strategy:l})),v="floating"===m?{x:n,y:s,width:i.floating.width,height:i.floating.height}:i.reference,b=await(null==r.getOffsetParent?void 0:r.getOffsetParent(o.floating)),w=await(null==r.isElement?void 0:r.isElement(b))&&await(null==r.getScale?void 0:r.getScale(b))||{x:1,y:1},E=R(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:v,offsetParent:b,strategy:l}):v);return{top:(g.top-E.top+h.top)/w.y,bottom:(E.bottom-g.bottom+h.bottom)/w.y,left:(g.left-E.left+h.left)/w.x,right:(E.right-g.right+h.right)/w.x}}function q(e){return _(e)?(e.nodeName||"").toLowerCase():"#document"}function P(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function O(e){var t;return null==(t=(_(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function _(e){return e instanceof Node||e instanceof P(e).Node}function T(e){return e instanceof Element||e instanceof P(e).Element}function L(e){return e instanceof HTMLElement||e instanceof P(e).HTMLElement}function M(e){return"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof P(e).ShadowRoot)}function D(e){const{overflow:t,overflowX:a,overflowY:n,display:s}=$(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+a)&&!["inline","contents"].includes(s)}function F(e){return["table","td","th"].includes(q(e))}function U(e){const t=W(),a=$(e);return"none"!==a.transform||"none"!==a.perspective||!!a.containerType&&"normal"!==a.containerType||!t&&!!a.backdropFilter&&"none"!==a.backdropFilter||!t&&!!a.filter&&"none"!==a.filter||["transform","perspective","filter"].some((e=>(a.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(a.contain||"").includes(e)))}function W(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function G(e){return["html","body","#document"].includes(q(e))}function $(e){return P(e).getComputedStyle(e)}function B(e){return T(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function z(e){if("html"===q(e))return e;const t=e.assignedSlot||e.parentNode||M(e)&&e.host||O(e);return M(t)?t.host:t}function j(e){const t=z(e);return G(t)?e.ownerDocument?e.ownerDocument.body:e.body:L(t)&&D(t)?t:j(t)}function H(e,t,a){var n;void 0===t&&(t=[]),void 0===a&&(a=!0);const s=j(e),r=s===(null==(n=e.ownerDocument)?void 0:n.body),i=P(s);
vendor: 7,412 bytes, line 2
2return r?t.concat(i,i.visualViewport||[],D(s)?s:[],i.frameElement&&a?H(i.frameElement):[]):t.concat(s,H(s,[],a))}function V(e){const t=$(e);let a=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const s=L(e),r=s?e.offsetWidth:a,i=s?e.offsetHeight:n,o=m(a)!==r||m(n)!==i;return o&&(a=r,n=i),{width:a,height:n,$:o}}function K(e){return T(e)?e:e.contextElement}function J(e){const t=K(e);if(!L(t))return p(1);const a=t.getBoundingClientRect(),{width:n,height:s,$:r}=V(t);let i=(r?m(a.width):a.width)/n,o=(r?m(a.height):a.height)/s;return i&&Number.isFinite(i)||(i=1),o&&Number.isFinite(o)||(o=1),{x:i,y:o}}const Y=p(0);function X(e){const t=P(e);return W()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:Y}function Q(e,t,a,n){void 0===t&&(t=!1),void 0===a&&(a=!1);const s=e.getBoundingClientRect(),r=K(e);let i=p(1);t&&(n?T(n)&&(i=J(n)):i=J(e));const o=function(e,t,a){return void 0===t&&(t=!1),!(!a||t&&a!==P(e))&&t}(r,a,n)?X(r):p(0);let l=(s.left+o.x)/i.x,c=(s.top+o.y)/i.y,u=s.width/i.x,m=s.height/i.y;if(r){const e=P(r),t=n&&T(n)?P(n):n;let a=e,s=a.frameElement;for(;s&&n&&t!==a;){const e=J(s),t=s.getBoundingClientRect(),n=$(s),r=t.left+(s.clientLeft+parseFloat(n.paddingLeft))*e.x,i=t.top+(s.clientTop+parseFloat(n.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,m*=e.y,l+=r,c+=i,a=P(s),s=a.frameElement}}return R({width:u,height:m,x:l,y:c})}const Z=[":popover-open",":modal"];function ee(e){return Z.some((t=>{try{return e.matches(t)}catch(a){return!1}}))}function te(e){return Q(O(e)).left+B(e).scrollLeft}function ae(e,t,a){let n;if("viewport"===t)n=function(e,t){const a=P(e),n=O(e),s=a.visualViewport;let r=n.clientWidth,i=n.clientHeight,o=0,l=0;if(s){r=s.width,i=s.height;const e=W();(!e||e&&"fixed"===t)&&(o=s.offsetLeft,l=s.offsetTop)}return{width:r,height:i,x:o,y:l}}(e,a);else if("document"===t)n=function(e){const t=O(e),a=B(e),n=e.ownerDocument.body,s=u(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),r=u(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let i=-a.scrollLeft+te(e);const o=-a.scrollTop;return"rtl"===$(n).direction&&(i+=u(t.clientWidth,n.clientWidth)-s),{width:s,height:r,x:i,y:o}}(O(e));else if(T(t))n=function(e,t){const a=Q(e,!0,"fixed"===t),n=a.top+e.clientTop,s=a.left+e.clientLeft,r=L(e)?J(e):p(1);return{width:e.clientWidth*r.x,height:e.clientHeight*r.y,x:s*r.x,y:n*r.y}}(t,a);else{const a=X(e);n={...t,x:t.x-a.x,y:t.y-a.y}}return R(n)}function ne(e,t){const a=z(e);return!(a===t||!T(a)||G(a))&&("fixed"===$(a).position||ne(a,t))}function se(e,t,a){const n=L(t),s=O(t),r="fixed"===a,i=Q(e,!0,r,t);let o={scrollLeft:0,scrollTop:0};const l=p(0);if(n||!n&&!r)if(("body"!==q(t)||D(s))&&(o=B(t)),n){const e=Q(t,!0,r,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else s&&(l.x=te(s));return{x:i.left+o.scrollLeft-l.x,y:i.top+o.scrollTop-l.y,width:i.width,height:i.height}}function re(e){return"static"===$(e).position}function ie(e,t){return L(e)&&"fixed"!==$(e).position?t?t(e):e.offsetParent:null}function oe(e,t){const a=P(e);if(ee(e))return a;if(!L(e)){let t=z(e);for(;t&&!G(t);){if(T(t)&&!re(t))return t;t=z(t)}return a}let n=ie(e,t);for(;n&&F(n)&&re(n);)n=ie(n,t);return n&&G(n)&&re(n)&&!U(n)?a:n||function(e){let t=z(e);for(;L(t)&&!G(t);){if(U(t))return t;t=z(t)}return null}(e)||a}const le={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:a,offsetParent:n,strategy:s}=e;const r="fixed"===s,i=O(n),o=!!t&&ee(t.floating);if(n===i||o&&r)return a;let l={scrollLeft:0,scrollTop:0},c=p(1);const u=p(0),m=L(n);if((m||!m&&!r)&&(("body"!==q(n)||D(i))&&(l=B(n)),L(n))){const e=Q(n);c=J(n),u.x=e.x+n.clientLeft,u.y=e.y+n.clientTop}return{width:a.width*c.x,height:a.height*c.y,x:a.x*c.x-l.scrollLeft*c.x+u.x,y:a.y*c.y-l.scrollTop*c.y+u.y}},getDocumentElement:O,getClippingRect:function(e){let{element:t,boundary:a,rootBoundary:n,strategy:s}=e;const r=[..."clippingAncestors"===a?ee(t)?[]:function(e,t){const a=t.get(e);if(a)return a;let n=H(e,[],!1).filter((e=>T(e)&&"body"!==q(e))),s=null;const r="fixed"===$(e).position;let i=r?z(e):e;for(;T(i)&&!G(i);){const t=$(i),a=U(i);a||"fixed"!==t.position||(s=null),(r?!a&&!s:!a&&"static"===t.position&&s&&["absolute","fixed"].includes(s.position)||D(i)&&!a&&ne(e,i))?n=n.filter((e=>e!==i)):s=t,i=z(i)}return t.set(e,n),n}(t,this._c):[].concat(a),n],i=r[0],o=r.reduce(((e,a)=>{const n=ae(t,a,s);return e.top=u(n.top,e.top),e.right=c(n.right,e.right),e.bottom=c(n.bottom,e.bottom),e.left=u(n.left,e.left),e}),ae(t,i,s));return{width:o.right-o.left,height:o.bottom-o.top,x:o.left,y:o.top}},getOffsetParent:oe,getElementRects:async function(e){const t=this.getOffsetParent||oe,a=this.getDimensions,n=await a(e.floating);return{reference:se(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:a}=V(e);return{width:t,height:a}},getScale:J,isElement:T,isRTL:function(e){return"rtl"===$(e).direction}};function ce(e,t,a,n){void 0===n&&(n={});const{ancestorScroll:s=!0,ancestorResize:r=!0,elementResize:i="function"==typeof ResizeObserver,layoutShift:o="function"==typeof IntersectionObserver,animationFrame:l=!1}=n,m=K(e),p=s||r?[...m?H(m):[],...H(t)]:[];p.forEach((e=>{s&&e.addEventListener("scroll",a,{passive:!0}),r&&e.addEventListener("resize",a)}));const h=m&&o?function(e,t){let a,n=null;const s=O(e);function r(){var e;clearTimeout(a),null==(e=n)||e.disconnect(),n=null}return function i(o,l){void 0===o&&(o=!1),void 0===l&&(l=1),r();const{left:m,top:p,width:h,height:f}=e.getBoundingClientRect();if(o||t(),!h||!f)return;const g={rootMargin:-d(p)+"px "+-d(s.clientWidth-(m+h))+"px "+-d(s.clientHeight-(p+f))+"px "+-d(m)+"px",threshold:u(0,c(1,l))||1};let y=!0;function v(e){const t=e[0].intersectionRatio;if(t!==l){if(!y)return i();t?i(!1,t):a=setTimeout((()=>{i(!1,1e-7)}),1e3)}y=!1}try{n=new IntersectionObserver(v,{...g,root:s.ownerDocument})}catch(b){n=new IntersectionObserver(v,g)}n.observe(e)}(!0),r}(m,a):null;let f,g=-1,y=null;i&&(y=new ResizeObserver((e=>{let[n]=e;n&&n.target===m&&y&&(y.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame((()=>{var e;null==(e=y)||e.observe(t)}))),a()})),m&&!l&&y.observe(m),y.observe(t));let v=l?Q(e):null;return l&&function t(){const n=Q(e);!v||n.x===v.x&&n.y===v.y&&n.width===v.width&&n.height===v.height||a();v=n,f=requestAnimationFrame(t)}(),a(),()=>{var e;p.forEach((e=>{s&&e.removeEventListener("scroll",a),r&&e.removeEventListener("resize",a)})),null==h||h(),null==(e=y)||e.disconnect(),y=null,l&&cancelAnimationFrame(f)}}const ue=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var a,n;const{x:s,y:r,placement:i,middlewareData:o}=t,l=await async function(e,t){const{placement:a,platform:n,elements:s}=e,r=await(null==n.isRTL?void 0:n.isRTL(s.floating)),i=v(a),o=b(a),l="y"===x(a),c=["left","top"].includes(i)?-1:1,u=r&&l?-1:1,m=y(t,e);let{mainAxis:d,crossAxis:p,alignmentAxis:h}="number"==typeof m?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...m};return o&&"number"==typeof h&&(p="end"===o?-1*h:h),l?{x:p*u,y:d*c}:{x:d*c,y:p*u}}(t,e);return i===(null==(a=o.offset)?void 0:a.placement)&&null!=(n=o.arrow)&&n.alignmentOffset?{}:{x:s+l.x,y:r+l.y,data:{...l,placement:i}}}}},me=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:a,y:n,placement:s}
vendor: 4,681 bytes, line 2
2=t,{mainAxis:r=!0,crossAxis:i=!1,limiter:o={fn:e=>{let{x:t,y:a}=e;return{x:t,y:a}}},...l}=y(e,t),c={x:a,y:n},u=await I(t,l),m=x(v(s)),d=w(m);let p=c[d],h=c[m];if(r){const e="y"===d?"bottom":"right";p=g(p+u["y"===d?"top":"left"],p,p-u[e])}if(i){const e="y"===m?"bottom":"right";h=g(h+u["y"===m?"top":"left"],h,h-u[e])}const f=o.fn({...t,[d]:p,[m]:h});return{...f,data:{x:f.x-a,y:f.y-n}}}}},de=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var a,n;const{placement:s,middlewareData:r,rects:i,initialPlacement:o,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:m=!0,fallbackPlacements:d,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:f=!0,...g}=y(e,t);if(null!=(a=r.arrow)&&a.alignmentOffset)return{};const w=v(s),x=v(o)===o,S=await(null==l.isRTL?void 0:l.isRTL(c.floating)),R=d||(x||!f?[A(o)]:function(e){const t=A(e);return[C(e),t,C(t)]}(o));d||"none"===h||R.push(...function(e,t,a,n){const s=b(e);let r=function(e,t,a){const n=["left","right"],s=["right","left"],r=["top","bottom"],i=["bottom","top"];switch(e){case"top":case"bottom":return a?t?s:n:t?n:s;case"left":case"right":return t?r:i;default:return[]}}(v(e),"start"===a,n);return s&&(r=r.map((e=>e+"-"+s)),t&&(r=r.concat(r.map(C)))),r}(o,f,h,S));const k=[o,...R],q=await I(t,g),P=[];let O=(null==(n=r.flip)?void 0:n.overflows)||[];if(u&&P.push(q[w]),m){const e=function(e,t,a){void 0===a&&(a=!1);const n=b(e),s=N(e),r=E(s);let i="x"===s?n===(a?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[r]>t.floating[r]&&(i=A(i)),[i,A(i)]}(s,i,S);P.push(q[e[0]],q[e[1]])}if(O=[...O,{placement:s,overflows:P}],!P.every((e=>e<=0))){var _,T;const e=((null==(_=r.flip)?void 0:_.index)||0)+1,t=k[e];if(t)return{data:{index:e,overflows:O},reset:{placement:t}};let a=null==(T=O.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:T.placement;if(!a)switch(p){case"bestFit":{var L;const e=null==(L=O.map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:L[0];e&&(a=e);break}case"initialPlacement":a=o}if(s!==a)return{reset:{placement:a}}}return{}}}},pe=e=>({name:"arrow",options:e,async fn(t){const{x:a,y:n,placement:s,rects:r,platform:i,elements:o,middlewareData:l}=t,{element:u,padding:m=0}=y(e,t)||{};if(null==u)return{};const d=S(m),p={x:a,y:n},h=N(s),f=E(h),v=await i.getDimensions(u),w="y"===h,x=w?"top":"left",C=w?"bottom":"right",A=w?"clientHeight":"clientWidth",R=r.reference[f]+r.reference[h]-p[h]-r.floating[f],k=p[h]-r.reference[h],I=await(null==i.getOffsetParent?void 0:i.getOffsetParent(u));let q=I?I[A]:0;q&&await(null==i.isElement?void 0:i.isElement(I))||(q=o.floating[A]||r.floating[f]);const P=R/2-k/2,O=q/2-v[f]/2-1,_=c(d[x],O),T=c(d[C],O),L=_,M=q-v[f]-T,D=q/2-v[f]/2+P,F=g(L,D,M),U=!l.arrow&&null!=b(s)&&D!==F&&r.reference[f]/2-(D<L?_:T)-v[f]/2<0,W=U?D<L?D-L:D-M:0;return{[h]:p[h]+W,data:{[h]:F,centerOffset:D-F-W,...U&&{alignmentOffset:W}},reset:U}}}),he=(e,t,a)=>{const n=new Map,s={platform:le,...a},r={...s.platform,_c:n};return(async(e,t,a)=>{const{placement:n="bottom",strategy:s="absolute",middleware:r=[],platform:i}=a,o=r.filter(Boolean),l=await(null==i.isRTL?void 0:i.isRTL(t));let c=await i.getElementRects({reference:e,floating:t,strategy:s}),{x:u,y:m}=k(c,n,l),d=n,p={},h=0;for(let f=0;f<o.length;f++){const{name:a,fn:r}=o[f],{x:g,y:y,data:v,reset:b}=await r({x:u,y:m,initialPlacement:n,placement:d,strategy:s,middlewareData:p,rects:c,platform:i,elements:{reference:e,floating:t}});u=null!=g?g:u,m=null!=y?y:m,p={...p,[a]:{...p[a],...v}},b&&h<=50&&(h++,"object"==typeof b&&(b.placement&&(d=b.placement),b.rects&&(c=!0===b.rects?await i.getElementRects({reference:e,floating:t,strategy:s}):b.rects),({x:u,y:m}=k(c,d,l))),f=-1)}return{x:u,y:m,placement:d,strategy:s,middlewareData:p}})(e,t,{...s,platform:r})};var fe=a(6942);const ge="react-tooltip-core-styles",ye="react-tooltip-base-styles",ve={core:!1,base:!1};function be({css:e,id:t=ye,type:a="base",ref:n}){var s,r;if(!e||"undefined"==typeof document||ve[a])return;if("core"===a&&"undefined"!=typeof process&&(null===(s=null===process||void 0===process?void 0:{})||void 0===s?void 0:s.REACT_TOOLTIP_DISABLE_CORE_STYLES))return;if("base"!==a&&"undefined"!=typeof process&&(null===(r=null===process||void 0===process?void 0:{})||void 0===r?void 0:r.REACT_TOOLTIP_DISABLE_BASE_STYLES))return;"core"===a&&(t=ge),n||(n={});const{insertAt:i}=n;if(document.getElementById(t))return void console.warn(`[react-tooltip] Element with id '${t}' already exists. Call \`removeStyle()\` first`);const o=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");
2l.id=t,l.type="text/css","top"===i&&o.firstChild?o.insertBefore(l,o.firstChild):o.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e)),ve[a]=!0}const we=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:a=null,place:n="top",offset:s=10,strategy:r="absolute",middlewares:i=[ue(Number(s)),de({fallbackAxisSideDirection:"start"}),me({padding:5})],border:o})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{},place:n};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{},place:n};const l=i;return a?(l.push(pe({element:a,padding:5})),he(e,t,{placement:n,strategy:r,middleware:l}).then((({x:e,y:t,placement:a,middlewareData:n})=>{var s,r;const i={left:`${e}px`,top:`${t}px`,border:o},{x:l,y:c}=null!==(s=n.arrow)&&void 0!==s?s:{x:0,y:0},u=null!==(r={top:"bottom",right:"left",bottom:"top",left:"right"}[a.split("-")[0]])&&void 0!==r?r:"bottom",m=o&&{borderBottom:o,borderRight:o};let d=0;if(o){const e=`${o}`.match(/(\d+)px/);d=(null==e?void 0:e[1])?Number(e[1]):1}return{tooltipStyles:i,tooltipArrowStyles:{left:null!=l?`${l}px`:"",top:null!=c?`${c}px`:"",right:"",bottom:"",...m,[u]:`-${4+d}px`},place:a}}))):he(e,t,{placement:"bottom",strategy:r,middleware:l}).then((({x:e,y:t,placement:a})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:a})))},Ee=(e,t)=>!("CSS"in window&&"supports"in window.CSS)||window.CSS.supports(e,t),xe=(e,t,a)=>{let n=null;const s=function(...s){const r=()=>{n=null,a||e.apply(this,s)};a&&!n&&(e.apply(this,s),n=setTimeout(r,t)),a||(n&&clearTimeout(n),n=setTimeout(r,t))};return s.cancel=()=>{n&&(clearTimeout(n),n=null)},s},Ne=e=>null!==e&&!Array.isArray(e)&&"object"==typeof e,Ce=(e,t)=>{if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every(((e,a)=>Ce(e,t[a])));if(Array.isArray(e)!==Array.isArray(t))return!1;if(!Ne(e)||!Ne(t))return e===t;const a=Object.keys(e),n=Object.keys(t);return a.length===n.length&&a.every((a=>Ce(e[a],t[a])))},Ae=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement))return!1;const t=getComputedStyle(e);return["overflow","overflow-x","overflow-y"].some((e=>{const a=t.getPropertyValue(e);return"auto"===a||"scroll"===a}))},Se=e=>{if(!e)return null;let t=e.parentElement;for(;t;){if(Ae(t))return t;t=t.parentElement}return document.scrollingElement||document.documentElement},Re="undefined"!=typeof window?s.useLayoutEffect:s.useEffect,ke="DEFAULT_TOOLTIP_ID",Ie={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},qe=(0,s.createContext)({getTooltipData:()=>Ie});function Pe(e=ke){return(0,s.useContext)(qe).getTooltipData(e)}var Oe={tooltip:"core-styles-module_tooltip__3vRRp",fixed:"core-styles-module_fixed__pcSol",arrow:"core-styles-module_arrow__cvMwQ",noArrow:"core-styles-module_noArrow__xock6",clickable:"core-styles-module_clickable__ZuTTB",show:"core-styles-module_show__Nt9eE",closing:"core-styles-module_closing__sGnxF"},_e={tooltip:"styles-module_tooltip__mnnfp",arrow:"styles-module_arrow__K0L3T",dark:"styles-module_dark__xNqje",light:"styles-module_light__Z6W-X",success:"styles-module_success__A2AKt",warning:"styles-module_warning__SCK0X",error:"styles-module_error__JvumD",info:"styles-module_info__BWdHW"};const Te=({forwardRef:e,id:t,className:a,classNameArrow:n,variant:r="dark",anchorId:i,anchorSelect:o,place:l="top",offset:c=10,events:u=["hover"],openOnClick:m=!1,positionStrategy:d="absolute",middlewares:p,wrapper:h,delayShow:f=0,delayHide:g=0,float:y=!1,hidden:v=!1,noArrow:b=!1,
2clickable:w=!1,closeOnEsc:E=!1,closeOnScroll:x=!1,closeOnResize:N=!1,openEvents:C,closeEvents:A,globalCloseEvents:S,imperativeModeOnly:R,style:k,position:I,afterShow:q,afterHide:P,content:O,contentWrapperRef:_,isOpen:T,defaultIsOpen:L=!1,setIsOpen:M,activeAnchor:D,setActiveAnchor:F,border:U,opacity:W,arrowColor:G,role:$="tooltip"})=>{var B;const z=(0,s.useRef)(null),j=(0,s.useRef)(null),H=(0,s.useRef)(null),V=(0,s.useRef)(null),K=(0,s.useRef)(null),[J,Y]=(0,s.useState)({tooltipStyles:{},tooltipArrowStyles:{},place:l}),[X,Q]=(0,s.useState)(!1),[Z,ee]=(0,s.useState)(!1),[te,ae]=(0,s.useState)(null),ne=(0,s.useRef)(!1),se=(0,s.useRef)(null),{anchorRefs:re,setActiveAnchor:ie}=Pe(t),oe=(0,s.useRef)(!1),[le,ue]=(0,s.useState)([]),me=(0,s.useRef)(!1),de=m||u.includes("click"),pe=de||(null==C?void 0:C.click)||(null==C?void 0:C.dblclick)||(null==C?void 0:C.mousedown),he=C?{...C}:{mouseenter:!0,focus:!0,click:!1,dblclick:!1,mousedown:!1};!C&&de&&Object.assign(he,{mouseenter:!1,focus:!1,click:!0});const ge=A?{...A}:{mouseleave:!0,blur:!0,click:!1,dblclick:!1,mouseup:!1};!A&&de&&Object.assign(ge,{mouseleave:!1,blur:!1});const ye=S?{...S}:{escape:E||!1,scroll:x||!1,resize:N||!1,clickOutsideAnchor:pe||!1};R&&(Object.assign(he,{mouseenter:!1,focus:!1,click:!1,dblclick:!1,mousedown:!1}),Object.assign(ge,{mouseleave:!1,blur:!1,click:!1,dblclick:!1,mouseup:!1}),Object.assign(ye,{escape:!1,scroll:!1,resize:!1,clickOutsideAnchor:!1})),Re((()=>(me.current=!0,()=>{me.current=!1})),[]);const ve=e=>{me.current&&(e&&ee(!0),setTimeout((()=>{me.current&&(null==M||M(e),void 0===T&&Q(e))}),10))};(0,s.useEffect)((()=>{if(void 0===T)return()=>null;T&&ee(!0);const e=setTimeout((()=>{Q(T)}),10);return()=>{clearTimeout(e)}}),[T]),(0,s.useEffect)((()=>{if(X!==ne.current)if(K.current&&clearTimeout(K.current),ne.current=X,X)null==q||q();else{const e=(e=>{const t=getComputedStyle(document.body).getPropertyValue("--rt-transition-show-delay").match(/^([\d.]+)(ms|s)$/);if(!t)return 0;const[,a,n]=t;return Number(a)*("ms"===n?1:1e3)})();K.current=setTimeout((()=>{ee(!1),ae(null),null==P||P()}),e+25)}}),[X]);const be=e=>{Y((t=>Ce(t,e)?t:e))},Ee=(e=f)=>{H.current&&clearTimeout(H.current),Z?ve(!0):H.current=setTimeout((()=>{ve(!0)}),e)},Ne=(e=g)=>{V.current&&clearTimeout(V.current),V.current=setTimeout((()=>{oe.current||ve(!1)}),e)},Ae=e=>{var t;if(!e)return;const a=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;if(!(null==a?void 0:a.isConnected))return F(null),void ie({current:null});f?Ee():ve(!0),F(a),ie({current:a}),V.current&&clearTimeout(V.current)},ke=()=>{w?Ne(g||100):g?Ne():ve(!1),H.current&&clearTimeout(H.current)},Ie=({x:e,y:t})=>{var a;const n={getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})};we({place:null!==(a=null==te?void 0:te.place)&&void 0!==a?a:l,offset:c,elementReference:n,tooltipReference:z.current,tooltipArrowReference:j.current,strategy:d,middlewares:p,border:U}).then((e=>{be(e)}))},qe=e=>{if(!e)return;const t=e,a={x:t.clientX,y:t.clientY};Ie(a),se.current=a},Te=e=>{var t;if(!X)return;const a=e.target;a.isConnected&&((null===(t=z.current)||void 0===t?void 0:t.contains(a))||[document.querySelector(`[id='${i}']`),...le].some((e=>null==e?void 0:e.contains(a)))||(ve(!1),H.current&&clearTimeout(H.current)))},Le=xe(Ae,50,!0),Me=xe(ke,50,!0),De=e=>{Me.cancel(),Le(e)},Fe=()=>{Le.cancel(),Me()},Ue=(0,s.useCallback)((()=>{var e,t;const a=null!==(e=null==te?void 0:te.position)&&void 0!==e?e:I;a?Ie(a):y?se.current&&Ie(se.current):(null==D?void 0:D.isConnected)&&we({place:null!==(t=null==te?void 0:te.place)&&void 0!==t?t:l,offset:c,elementReference:D,tooltipReference:z.current,tooltipArrowReference:j.current,strategy:d,middlewares:p,border:U}).then((e=>{me.current&&be(e)}))}),[X,D,O,k,l,null==te?void 0:te.place,c,d,I,null==te?void 0:te.position,y]);(0,s.useEffect)((()=>{var e,t;const a=new Set(re);le.forEach((e=>{a.add({current:e})}));const n=document.querySelector(`[id='${i}']`);n&&a.add({current:n});const s=()=>{ve(!1)},r=Se(D),o=Se(z.current);ye.scroll&&(window.addEventListener("scroll",s),null==r||r.addEventListener("scroll",s),null==o||o.addEventListener("scroll",s));let l=null;ye.resize?window.addEventListener("resize",s):D&&z.current&&(l=ce(D,z.current,Ue,{ancestorResize:!0,elementResize:!0,layoutShift:!0}));const c=e=>{"Escape"===e.key&&ve(!1)};ye.escape&&window.addEventListener("keydown",c),ye.clickOutsideAnchor&&window.addEventListener("click",Te);const u=[],m=e=>{X&&(null==e?void 0:e.target)===D||Ae(e)},d=e=>{X&&(null==e?void 0:e.target)===D&&ke()},p=["mouseenter","mouseleave","focus","blur"],h=["click","dblclick","mousedown","mouseup"];Object.entries(he).forEach((([e,t])=>{t&&(p.includes(e)?u.push({event:e,listener:De}):h.includes(e)&&u.push({event:e,listener:m}))})),Object.entries(ge).forEach((([e,t])=>{t&&(p.includes(e)?u.push({event:e,listener:Fe}):h.includes(e)&&u.push({event:e,listener:d}
2))})),y&&u.push({event:"pointermove",listener:qe});const f=()=>{oe.current=!0},g=()=>{oe.current=!1,ke()};return w&&!pe&&(null===(e=z.current)||void 0===e||e.addEventListener("mouseenter",f),null===(t=z.current)||void 0===t||t.addEventListener("mouseleave",g)),u.forEach((({event:e,listener:t})=>{a.forEach((a=>{var n;null===(n=a.current)||void 0===n||n.addEventListener(e,t)}))})),()=>{var e,t;ye.scroll&&(window.removeEventListener("scroll",s),null==r||r.removeEventListener("scroll",s),null==o||o.removeEventListener("scroll",s)),ye.resize?window.removeEventListener("resize",s):null==l||l(),ye.clickOutsideAnchor&&window.removeEventListener("click",Te),ye.escape&&window.removeEventListener("keydown",c),w&&!pe&&(null===(e=z.current)||void 0===e||e.removeEventListener("mouseenter",f),null===(t=z.current)||void 0===t||t.removeEventListener("mouseleave",g)),u.forEach((({event:e,listener:t})=>{a.forEach((a=>{var n;null===(n=a.current)||void 0===n||n.removeEventListener(e,t)}))}))}}),[D,Ue,Z,re,le,C,A,S,de,f,g]),(0,s.useEffect)((()=>{var e,a;let n=null!==(a=null!==(e=null==te?void 0:te.anchorSelect)&&void 0!==e?e:o)&&void 0!==a?a:"";!n&&t&&(n=`[data-tooltip-id='${t.replace(/'/g,"\\'")}']`);const s=new MutationObserver((e=>{const a=[],s=[];e.forEach((e=>{if("attributes"===e.type&&"data-tooltip-id"===e.attributeName&&(e.target.getAttribute("data-tooltip-id")===t?a.push(e.target):e.oldValue===t&&s.push(e.target)),"childList"===e.type){if(D){const t=[...e.removedNodes].filter((e=>1===e.nodeType));if(n)try{s.push(...t.filter((e=>e.matches(n)))),s.push(...t.flatMap((e=>[...e.querySelectorAll(n)])))}catch(e){}t.some((e=>{var t;return!!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,D))&&(ee(!1),ve(!1),F(null),H.current&&clearTimeout(H.current),V.current&&clearTimeout(V.current),!0)}))}if(n)try{const t=[...e.addedNodes].filter((e=>1===e.nodeType));a.push(...t.filter((e=>e.matches(n)))),a.push(...t.flatMap((e=>[...e.querySelectorAll(n)])))}catch(e){}}})),(a.length||s.length)&&ue((e=>[...e.filter((e=>!s.includes(e))),...a]))}));return s.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"],attributeOldValue:!0}),()=>{s.disconnect()}}),[t,o,null==te?void 0:te.anchorSelect,D]),(0,s.useEffect)((()=>{Ue()}),[Ue]),(0,s.useEffect)((()=>{if(!(null==_?void 0:_.current))return()=>null;const e=new ResizeObserver((()=>{setTimeout((()=>Ue()))}));return e.observe(_.current),()=>{e.disconnect()}}),[O,null==_?void 0:_.current]),(0,s.useEffect)((()=>{var e;const t=document.querySelector(`[id='${i}']`),a=[...le,t];D&&a.includes(D)||F(null!==(e=le[0])&&void 0!==e?e:t)}),[i,le,D]),(0,s.useEffect)((()=>(L&&ve(!0),()=>{H.current&&clearTimeout(H.current),V.current&&clearTimeout(V.current)})),[]),(0,s.useEffect)((()=>{var e;let a=null!==(e=null==te?void 0:te.anchorSelect)&&void 0!==e?e:o;if(!a&&t&&(a=`[data-tooltip-id='${t.replace(/'/g,"\\'")}']`),a)try{const e=Array.from(document.querySelectorAll(a));ue(e)}catch(e){ue([])}}),[t,o,null==te?void 0:te.anchorSelect]),(0,s.useEffect)((()=>{H.current&&(clearTimeout(H.current),Ee(f))}),[f]);const We=null!==(B=null==te?void 0:te.content)&&void 0!==B?B:O,Ge=X&&Object.keys(J.tooltipStyles).length>0;return(0,s.useImperativeHandle)(e,(()=>({open:t=>{if(null==t?void 0:t.anchorSelect)try{document.querySelector(t.anchorSelect)}catch(e){return void console.warn(`[react-tooltip] "${t.anchorSelect}" is not a valid CSS selector`)}ae(null!=t?t:null),(null==t?void 0:t.delay)?Ee(t.delay):ve(!0)},close:e=>{(null==e?void 0:e.delay)?Ne(e.delay):ve(!1)},activeAnchor:D,place:J.place,isOpen:Boolean(Z&&!v&&We&&Ge)}))),Z&&!v&&We?s.createElement(h,{id:t,role:$,className:fe("react-tooltip",Oe.tooltip,_e.tooltip,_e[r],a,`react-tooltip__place-${J.place}`,Oe[Ge?"show":"closing"],Ge?"react-tooltip__show":"react-tooltip__closing","fixed"===d&&Oe.fixed,w&&Oe.clickable),onTransitionEnd:e=>{K.current&&clearTimeout(K.current),X||"opacity"!==e.propertyName||(ee(!1),ae(null),null==P||P())},style:{...k,...J.tooltipStyles,opacity:void 0!==W&&Ge?W:void 0},ref:z},We,s.createElement(h,{className:fe("react-tooltip-arrow",Oe.arrow,_e.arrow,n,b&&Oe.noArrow),style:{...J.tooltipArrowStyles,background:G?`linear-gradient(to right bottom, transparent 50%, ${G} 50%)`:void 0},ref:j})):null},Le=({content:e})=>s.createElement("span",{dangerouslySetInnerHTML:{__html:e}}),Me=s.forwardRef((({id:e,anchorId:t,anchorSelect:a,content:n,html:r,render:i,className:o,classNameArrow:l,variant:c="dark",place:u="top",offset:m=10,wrapper:d="div",children:p=null,events:h=["hover"],openOnClick:f=!1,positionStrategy:g="absolute",middlewares:y,delayShow:v=0,delayHide:b=0,float:w=!1,hidden:E=!1,noArrow:x=!1,clickable:N=!1,closeOnEsc:C=!1,closeOnScroll:A=!1,closeOnResize:S=!1,openEvents:R,closeEvents:k,globalCloseEvents:I,imperativeModeOnly:q=!1,style:P,position:O,isOpen:_,defaultIsOpen:T=!1,disableStyleInjection:L=!1,border:M,opacity:D,arrowColor:F,setIsOpen:U,afterShow:W,afterHide:G,role:$="tooltip"},B)=>
2{const[z,j]=(0,s.useState)(n),[H,V]=(0,s.useState)(r),[K,J]=(0,s.useState)(u),[Y,X]=(0,s.useState)(c),[Q,Z]=(0,s.useState)(m),[ee,te]=(0,s.useState)(v),[ae,ne]=(0,s.useState)(b),[se,re]=(0,s.useState)(w),[ie,oe]=(0,s.useState)(E),[le,ce]=(0,s.useState)(d),[ue,me]=(0,s.useState)(h),[de,pe]=(0,s.useState)(g),[he,ge]=(0,s.useState)(null),[ye,ve]=(0,s.useState)(null),be=(0,s.useRef)(L),{anchorRefs:we,activeAnchor:xe}=Pe(e),Ne=e=>null==e?void 0:e.getAttributeNames().reduce(((t,a)=>{var n;return a.startsWith("data-tooltip-")&&(t[a.replace(/^data-tooltip-/,"")]=null!==(n=null==e?void 0:e.getAttribute(a))&&void 0!==n?n:null),t}),{}),Ce=e=>{const t={place:e=>{var t;J(null!==(t=e)&&void 0!==t?t:u)},content:e=>{j(null!=e?e:n)},html:e=>{V(null!=e?e:r)},variant:e=>{var t;X(null!==(t=e)&&void 0!==t?t:c)},offset:e=>{Z(null===e?m:Number(e))},wrapper:e=>{var t;ce(null!==(t=e)&&void 0!==t?t:d)},events:e=>{const t=null==e?void 0:e.split(" ");me(null!=t?t:h)},"position-strategy":e=>{var t;pe(null!==(t=e)&&void 0!==t?t:g)},"delay-show":e=>{te(null===e?v:Number(e))},"delay-hide":e=>{ne(null===e?b:Number(e))},float:e=>{re(null===e?w:"true"===e)},hidden:e=>{oe(null===e?E:"true"===e)},"class-name":e=>{ge(e)}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,a])=>{var n;null===(n=t[e])||void 0===n||n.call(t,a)}))};(0,s.useEffect)((()=>{j(n)}),[n]),(0,s.useEffect)((()=>{V(r)}),[r]),(0,s.useEffect)((()=>{J(u)}),[u]),(0,s.useEffect)((()=>{X(c)}),[c]),(0,s.useEffect)((()=>{Z(m)}),[m]),(0,s.useEffect)((()=>{te(v)}),[v]),(0,s.useEffect)((()=>{ne(b)}),[b]),(0,s.useEffect)((()=>{re(w)}),[w]),(0,s.useEffect)((()=>{oe(E)}),[E]),(0,s.useEffect)((()=>{pe(g)}),[g]),(0,s.useEffect)((()=>{be.current!==L&&console.warn("[react-tooltip] Do not change `disableStyleInjection` dynamically.")}),[L]),(0,s.useEffect)((()=>{"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent("react-tooltip-inject-styles",{detail:{disableCore:"core"===L,disableBase:L}}))}),[]),(0,s.useEffect)((()=>{var n;const s=new Set(we);let r=a;if(!r&&e&&(r=`[data-tooltip-id='${e.replace(/'/g,"\\'")}']`),r)try{document.querySelectorAll(r).forEach((e=>{s.add({current:e})}))}catch(n){console.warn(`[react-tooltip] "${r}" is not a valid CSS selector`)}const i=document.querySelector(`[id='${t}']`);if(i&&s.add({current:i}),!s.size)return()=>null;const o=null!==(n=null!=ye?ye:i)&&void 0!==n?n:xe.current,l=new MutationObserver((e=>{e.forEach((e=>{var t;if(!o||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const a=Ne(o);Ce(a)}))})),c={attributes:!0,childList:!1,subtree:!1};if(o){const e=Ne(o);Ce(e),l.observe(o,c)}return()=>{l.disconnect()}}),[we,xe,ye,t,a]),(0,s.useEffect)((()=>{(null==P?void 0:P.border)&&console.warn("[react-tooltip] Do not set `style.border`. Use `border` prop instead."),M&&!Ee("border",`${M}`)&&console.warn(`[react-tooltip] "${M}" is not a valid \`border\`.`),(null==P?void 0:P.opacity)&&console.warn("[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead."),D&&!Ee("opacity",`${D}`)&&console.warn(`[react-tooltip] "${D}" is not a valid \`opacity\`.`)}),[]);let Ae=p;const Se=(0,s.useRef)(null);if(i){const e=i({content:(null==ye?void 0:ye.getAttribute("data-tooltip-content"))||z||null,activeAnchor:ye});Ae=e?s.createElement("div",{ref:Se,className:"react-tooltip-content-wrapper"},e):null}else z&&(Ae=z);H&&(Ae=s.createElement(Le,{content:H}));const Re={forwardRef:B,id:e,anchorId:t,anchorSelect:a,className:fe(o,he),classNameArrow:l,content:Ae,contentWrapperRef:Se,place:K,variant:Y,offset:Q,wrapper:le,events:ue,openOnClick:f,positionStrategy:de,middlewares:y,delayShow:ee,delayHide:ae,float:se,hidden:ie,noArrow:x,clickable:N,closeOnEsc:C,closeOnScroll:A,closeOnResize:S,openEvents:R,closeEvents:k,globalCloseEvents:I,imperativeModeOnly:q,style:P,position:O,isOpen:_,defaultIsOpen:T,border:M,opacity:D,arrowColor:F,setIsOpen:U,afterShow:W,afterHide:G,activeAnchor:ye,setActiveAnchor:e=>ve(e),role:$};return s.createElement(Te,{...Re})}));"undefined"!=typeof window&&window.addEventListener("react-tooltip-inject-styles",(e=>{e.detail.disableCore||be({css:":root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s}.core-styles-module_tooltip__3vRRp{position:absolute;top:0;left:0;pointer-events:none;opacity:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{position:absolute;background:inherit}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}
2.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay)ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay)ease-in}",type:"core"}),e.detail.disableBase||be({css:"\n.styles-module_tooltip__mnnfp{padding:8px 16px;border-radius:3px;font-size:90%;width:max-content}.styles-module_arrow__K0L3T{width:8px;height:8px}[class*='react-tooltip__place-top']>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*='react-tooltip__place-right']>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*='react-tooltip__place-bottom']>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*='react-tooltip__place-left']>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}",type:"base"})}));var De=e=>{let{plan:t,currency:a,billingCycle:n}=e,r=0,i=0;t.price&&t.price[n]&&(r="eur"===a?`${t.price[n][a].toLocaleString()}€`:`$${t.price[n][a].toLocaleString()}`,t.price.action&&(i=`${t.price[n][`${a}-deprecated`].toLocaleString()}`));const o=!!t.contactUs;return s.createElement("div",{className:"pricing-plan-container "},s.createElement("div",{className:"header"},s.createElement("div",{className:"name",style:{color:t.color}},t.label),s.createElement("div",{className:"items"},s.createElement("div",{className:"item flex items-center justify-center text-gray-700"},s.createElement("span",null,t.credits.toLocaleString("en-US")," credits / day"),s.createElement("span",{className:"ml-2 inline-block w-4 h-4"},s.createElement(Me,{id:`${t.id}-info`,type:"dark",effect:"solid",place:"top",offset:{top:0},delayShow:100},s.createElement(s.Fragment,null,t.items.map((e=>s.createElement("div",{key:`${t.id}-${e}`},e))))),s.createElement("span",{className:"text-gray-500","data-tip":!0,"data-for":`${t.id}-info`},s.createElement(l.ee,{className:"w-full"}))))),s.createElement("div",{className:"divider"})),s.createElement("div",{className:"price text-center"},t.price?"":s.createElement(s.Fragment,null,s.createElement("div",{className:"text-2xl text-gray-800"},"Start Now!"),s.createElement("div",{className:"text-sm text-gray-500"},"No credit card required")),t.price&&!t.price.action?s.createElement(s.Fragment,null,s.createElement("div",{className:"text-2xl text-gray-800"},t.price.from?s.createElement("span",{className:"mr-1 text-sm"},"from"):"",s.createElement("span",null,r)),"monthly"===n?s.createElement("div",{className:"text-sm text-gray-500"},"billed monthly"):s.createElement("div",{className:"text-sm text-gray-500"},"billed yearly")):"",t.price&&t.price.action?s.createElement(s.Fragment,null,s.createElement("div",{className:"text-2xl text-gray-800"},t.price.from?s.createElement("span",{className:"mr-1 text-sm"},"from"):"",s.createElement("span",{className:"line-through text-base mr-1 text-red-500"},i),s.createElement("span",{className:"text-green-600 font-medium"},r),s.createElement("span",{className:"ml-2 inline-block w-4 h-4"},s.createElement(Me,{id:`${t.id}-action`,type:"dark",effect:"solid",place:"top",offset:{top:0},delayShow:100},s.createElement("span",null,t.price.actionLabel)),s.createElement("span",{className:"text-gray-500","data-tip":!0,"data-for":`${t.id}-action`},s.createElement(l.ee,{className:"w-full"})))),"monthly"===n?s.createElement("div",{className:"text-sm text-gray-500"},"billed monthly"):s.createElement("div",{className:"text-sm text-gray-500"},"billed yearly")):""),s.createElement("div",{className:"actions"},o?s.createElement("a",{className:"flat-button blue-button",href:"mailto:[email protected]",rel:"nofollow"},"CONTACT US"):s.createElement("a",{className:"flat-button purple-button",target:"_blank",rel:"noopener noreferrer",href:"https://myprojects.geoapify.com"}," SIGN UP")),s.createElement("div",{className:"content"},s.createElement("div",{className:"divider"}),s.createElement("div",{className:"conditions"},t.conditions.map(((e,a)=>s.createElement("div",{key:`${t.id}-${e.label}`},e.hint?s.createElement(Me,{id:`${t.id}-tooltip-${a}`,type:"dark",effect:"solid",place:"bottom",offset:{top:0},delayShow:200},s.createElement("span",null,e.hint)):"",s.createElement("div",{className:"condition flex items-center","data-tip":!0,"data-for":`${t.id}-tooltip-${a}`},s.createElement("span",{className:"icon",style:{color:"yes"===e.provided?"#00b300":"#ff9900"}},s.createElement(l.Sr,null)),s.createElement("span",{className:"label text-xs"},e.label))))))))};let Fe=function(e){function t(t){var a;return(a=e.call(this,t)||this).state={currentCurrency:"usd",billingCycle:"monthly",plans:o},a.checkScrollBarsWithThis=a.checkScrollBars.bind(a),a}(0,n.A)(t,e);var a=t.prototype;return a.componentDidMount=function(){fetch("https://api.geoapify.com/v1/ipinfo?apiKey=dd281fa7c3a14deea012e0244ed65e27").then((e=>e.json())).then((e=>{(e&&e.country&&("eur"===(e.country.currency||"").toLowerCase()||e.country.is_in_european_union)||e&&e.continent&&"eu"===(e.continent.code||"").toLowerCase())&&this.setState({currentCurrency:"eur"})})),this.addDragScrolling(document.getElementById("pricing-plans-drag-area")),setTimeout((()=>{this.checkScrollBars()}),500),window.addEventListener("resize",this.checkScrollBarsWithThis)},a.componentWillUnmount=function(){window.removeEventListener("resize",this.checkScrollBarsWithThis)},a.setBillingCycle=function(e){this.setState({billingCycle:e})},a.setCurrency=function(e){const{currentCurrency:t}=this.state;e!==t&&this.setState({currentCurrency:e})},a.getClosestChild=function(e,t){let a,n;for(const s of e){const e=Math.abs(s.offsetLeft-t);(!n||e<a)&&(a=e,n=s)}return n},a.scrollPrev=function(e){e.stopPropagation(),e.preventDefault();const t=document.getElementById("pricing-plans-drag-area"),a=this.getClosestChild(t.children,t.scrollLeft),n=Array.from(t.children).indexOf(a);n>0&&this.scrollSmoothly(t,t.children[n-1].offsetLeft)},a.scrollNext=function(e){e.stopPropagation(),e.preventDefault();const t=document.getElementById("pricing-plans-drag-area"),a=this.getClosestChild(t.children,t.scrollLeft),n=Array.from(t.children).indexOf(a);n<t.children.length-1&&this.scrollSmoothly(t,t.children[n+1].offsetLeft)},a.scrollSmoothly=function(e,t){e.style.scrollBehavior="smooth",e.scrollLeft=t,setTimeout((()=>{e.style.scrollBehavior="auto"}),500)},a.addDragScrolling=function(e){e.addEventListener("mousedown",(t=>{this.isDown=!0,this.startX=t.pageX-e.offsetLeft,this.scrollLeft=e.scrollLeft,this.draggedElement=e})),e.addEventListener("mousemove",(t=>{if(!this.isDown)return;t.preventDefault();const a=t.pageX-e.offsetLeft-this.startX;e.scrollLeft=this.scrollLeft-a})),window.addEventListener("mouseup",(()=>{this.isDown=!1})),e.addEventListener("scroll",(()=>{this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=setTimeout((()=>
2{if(e.scrollLeft+e.clientWidth===e.scrollWidth)return;const t=this.getClosestChild(e.children,e.scrollLeft);this.scrollSmoothly(e,t.offsetLeft)}),100)}))},a.checkScrollBars=function(){const e=document.getElementById("pricing-plans-drag-area");this.setState({platformContainerHasScrollBar:e.scrollWidth>e.clientWidth})},a.render=function(){const{currentCurrency:e,billingCycle:t,plans:a,platformContainerHasScrollBar:n}=this.state,o={value:e,label:e.toUpperCase()};return s.createElement("div",{className:"relative"},s.createElement("div",{className:"flex items-center justify-end my-10 mx-5"},s.createElement(i.e2,null,s.createElement(i.Ok,{selected:"monthly"===t,onSelect:()=>this.setBillingCycle("monthly")},"MONTHLY"),s.createElement(i.Ok,{selected:"yearly"===t,onSelect:()=>this.setBillingCycle("yearly")},"YEARLY")),s.createElement("span",{className:"ml-5"},s.createElement(r.Ay,{className:"text-gray-700",options:[{value:"eur",label:"EUR"},{value:"usd",label:"USD"}],values:[o],onChange:e=>{this.setCurrency(e[0].value)}}))),s.createElement("div",{className:"pricing-plans-container mx-5"},s.createElement("div",{className:"pricing-plans",id:"pricing-plans-drag-area"},a.map((a=>s.createElement("div",{key:a.id,className:"pricing-plan"},s.createElement(De,{plan:a,currency:e,billingCycle:t})))))),n?s.createElement("div",{className:"nav-button left"},s.createElement("button",{className:"ripple focus:outline-none",onClick:this.scrollPrev.bind(this),type:"button"},s.createElement(l.YJ,null))):"",n?s.createElement("div",{className:"nav-button right"},s.createElement("button",{className:"ripple focus:outline-none",onClick:this.scrollNext.bind(this),type:"button"},s.createElement(l.vK,null))):"")},t}(s.Component);var Ue=Fe},8534:function(e,t,a){"use strict";var n=a(6540);t.A=e=>{let{plan:t,currency:a,billingCycle:s}=e,r=0;t.price&&t.price[s]&&(r="eur"===a?`${t.price[s][a].toLocaleString()}€`:`$${t.price[s][a].toLocaleString()}`);const i=!!t.contactUs,o=Number.isNaN(Number(t.credits));return n.createElement("div",{className:"pricing-plan-container "},n.createElement("div",{className:"my-5"},n.createElement("div",{className:"h4 text-center",style:{color:t.color}},t.label),n.createElement("div",{className:"items"},n.createElement("div",{className:"item flex items-center justify-center text-gray-700"},n.createElement("span",null,t.credits.toLocaleString("en-US")," credits / day")),n.createElement("div",{className:"item flex items-center justify-center text-gray-700"},o?n.createElement("span",null,t.credits.toLocaleString("en-US")," credits / month"):n.createElement("span",null,"~",(30*t.credits).toLocaleString("en-US")," credits / month"))),n.createElement("div",{className:"divider"})),t.price?n.createElement("div",{className:"price text-center"},n.createElement("div",{className:"text-2xl text-gray-800"},t.price.from?n.createElement("span",{className:"mr-1 text-sm"},"from"):"",n.createElement("span",null,r)),"monthly"===s?n.createElement("div",{className:"text-sm text-gray-500"},"billed monthly"):n.createElement("div",{className:"text-sm text-gray-500"},"billed yearly")):"",n.createElement("div",{className:"actions my-5"},i?n.createElement("a",{className:"flat-button blue-button",href:"mailto:[email protected]",rel:"nofollow"},"CONTACT US"):n.createElement("a",{className:"flat-button purple-button",target:"_blank",rel:"noopener noreferrer",href:"https://myprojects.geoapify.com"}," SIGN UP")))}},1572:function(e,t,a){"use strict";a.d(t,{Ok:function(){return l},e2:function(){return i}});var n=a(6540),s=a(6942),r=a.n(s);const i=e=>{let{children:t}=e;return n.createElement("span",{className:"relative z-0 inline-flex shadow-sm"},t)},o=e=>{let{children:t,className:a,onSelect:s,selected:i}=e;return n.createElement("button",{onClick:()=>s(),className:r()("relative inline-flex items-center px-2 py-2 border border-gray-300  text-sm leading-5 font-medium \n        text-gray-700 focus:outline-none \n        transition ease-in-out duration-150 rounded-md",a,i?"bg-gray-300 hover:bg-gray-400":"bg-white hover:bg-gray-100 "),type:"button"},t)},l=e=>{let{children:t,onSelect:a,selected:s}=e;return n.createElement(o,{selected:s,onSelect:a,className:"-ml-px first:ml-auto rounded-r-none rounded-l-none first:rounded-l-md last:rounded-r-md"},t)}},3428:function(e,t){"use strict";t.A=[{id:"maps-api",slug:"maps-api",title_60:"",description_120:"",label:"Maps API"},{id:"mapifator",slug:"mapifator",title_60:"",description_120:"",label:"Mapifator"},{id:"use-cases",slug:"use-cases",title_60:"",description_120:"",label:"Use cases"},{id:"solutions",slug:"solutions",title_60:"",description_120:"",label:"Solutions"},{id:"industries",slug:"industries",title_60:"",description_120:"",label:"Industries"},{id:"custom-services",slug:"custom-services",title_60:"",description_120:"",label:"Custom services"},{id:"ai-integrations",slug:"ai-integrations",title_60:"",description_120:"",label:"AI Integrations"},{id:"geospatial",slug:"geospatial",title_60:"",description_120:"",label:"Geospatial"},{id:"osm",slug:"osm",title_60:"",description_120:"",label:"OpenStreetMap"}]},627:function(e,t,a){"use strict";a.d(t,{oz:function(){return I},wb:function(){return A},Kp:function(){return _},tU:function(){return x}});var n=a(6540);function s(e){return t=>!!t.type&&t.type.tabsRole===e}const r=s("Tab"),i=s("TabList"),o=s("TabPanel");function l(e,t){return n.Children.map(e,(e=>null===e?null:function(e){return r(e)||i(e)||o(e)}(e)?t(e):e.props&&e.props.children&&"object"==typeof e.props.children?(0,n.cloneElement)(e,{...e.props,children:l(e.props.children,t)}):e))}
2function c(e,t){return n.Children.forEach(e,(e=>{null!==e&&(r(e)||o(e)?t(e):e.props&&e.props.children&&"object"==typeof e.props.children&&(i(e)&&t(e),c(e.props.children,t)))}))}function u(e){var t,a,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(a=u(e[t]))&&(n&&(n+=" "),n+=a)}else for(a in e)e[a]&&(n&&(n+=" "),n+=a);return n}var m=function(){for(var e,t,a=0,n="",s=arguments.length;a<s;a++)(e=arguments[a])&&(t=u(e))&&(n&&(n+=" "),n+=t);return n};function d(e){let t=0;return c(e,(e=>{r(e)&&t++})),t}function p(e){return e&&"getAttribute"in e}function h(e){return p(e)&&e.getAttribute("data-rttab")}function f(e){return p(e)&&"true"===e.getAttribute("aria-disabled")}let g;const y={className:"react-tabs",focus:!1},v=e=>{let t=(0,n.useRef)([]),a=(0,n.useRef)([]);const s=(0,n.useRef)();function c(t,a){if(t<0||t>=v())return;const{onSelect:n,selectedIndex:s}=e;n(t,s,a)}function u(e){const t=v();for(let a=e+1;a<t;a++)if(!f(b(a)))return a;for(let a=0;a<e;a++)if(!f(b(a)))return a;return e}function p(e){let t=e;for(;t--;)if(!f(b(t)))return t;for(t=v();t-- >e;)if(!f(b(t)))return t;return e}function v(){const{children:t}=e;return d(t)}function b(e){return t.current[`tabs-${e}`]}function w(e){let t=e.target;do{if(E(t)){if(f(t))return;return void c([].slice.call(t.parentNode.children).filter(h).indexOf(t),e)}}while(null!=(t=t.parentNode))}function E(e){if(!h(e))return!1;let t=e.parentElement;do{if(t===s.current)return!0;if(t.getAttribute("data-rttabs"))break;t=t.parentElement}while(t);return!1}const{children:x,className:N,disabledTabClassName:C,domRef:A,focus:S,forceRenderTabPanel:R,onSelect:k,selectedIndex:I,selectedTabClassName:q,selectedTabPanelClassName:P,environment:O,disableUpDownKeys:_,disableLeftRightKeys:T,...L}={...y,...e};return n.createElement("div",Object.assign({},L,{className:m(N),onClick:w,onKeyDown:function(t){const{direction:a,disableUpDownKeys:n,disableLeftRightKeys:s}=e;if(E(t.target)){let{selectedIndex:r}=e,i=!1,o=!1;"Space"!==t.code&&32!==t.keyCode&&"Enter"!==t.code&&13!==t.keyCode||(i=!0,o=!1,w(t)),(s||37!==t.keyCode&&"ArrowLeft"!==t.code)&&(n||38!==t.keyCode&&"ArrowUp"!==t.code)?(s||39!==t.keyCode&&"ArrowRight"!==t.code)&&(n||40!==t.keyCode&&"ArrowDown"!==t.code)?35===t.keyCode||"End"===t.code?(r=function(){let e=v();for(;e--;)if(!f(b(e)))return e;return null}(),i=!0,o=!0):36!==t.keyCode&&"Home"!==t.code||(r=function(){const e=v();for(let t=0;t<e;t++)if(!f(b(t)))return t;return null}(),i=!0,o=!0):(r="rtl"===a?p(r):u(r),i=!0,o=!0):(r="rtl"===a?u(r):p(r),i=!0,o=!0),i&&t.preventDefault(),o&&c(r,t)}},ref:e=>{s.current=e,A&&A(e)},"data-rttabs":!0}),function(){let s=0;const{children:c,disabledTabClassName:u,focus:m,forceRenderTabPanel:d,selectedIndex:p,selectedTabClassName:h,selectedTabPanelClassName:f,environment:y}=e;a.current=a.current||[];let w=a.current.length-v();const E=(0,n.useId)();for(;w++<0;)a.current.push(`${E}${a.current.length}`);return l(c,(e=>{let c=e;if(i(e)){let s=0,i=!1;null==g&&function(e){const t=e||("undefined"!=typeof window?window:void 0);try{g=!(void 0===t||!t.document||!t.document.activeElement)}catch(a){g=!1}}(y);const o=y||("undefined"!=typeof window?window:void 0);g&&o&&(i=n.Children.toArray(e.props.children).filter(r).some(((e,t)=>o.document.activeElement===b(t)))),c=(0,n.cloneElement)(e,{children:l(e.props.children,(e=>{const r=`tabs-${s}`,o=p===s,l={tabRef:e=>{t.current[r]=e},id:a.current[s],selected:o,focus:o&&(m||i)};return h&&(l.selectedClassName=h),u&&(l.disabledClassName=u),s++,(0,n.cloneElement)(e,l)}))})}else if(o(e)){const t={id:a.current[s],selected:p===s};d&&(t.forceRender=d),f&&(t.selectedClassName=f),s++,c=(0,n.cloneElement)(e,t)}return c}))}())};v.propTypes={};var b=v;const w={defaultFocus:!1,focusTabOnClick:!0,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null,environment:null,disableUpDownKeys:!1,disableLeftRightKeys:!1},E=e=>{const{children:t,defaultFocus:a,defaultIndex:s,focusTabOnClick:r,onSelect:i,...o}={...w,...e},[l,c]=(0,n.useState)(a),[u]=(0,n.useState)((e=>
2null===e.selectedIndex?1:0)(o)),[m,p]=(0,n.useState)(1===u?s||0:null);if((0,n.useEffect)((()=>{c(!1)}),[]),1===u){const e=d(t);(0,n.useEffect)((()=>{if(null!=m){const t=Math.max(0,e-1);p(Math.min(m,t))}}),[e])}let h={...e,...o};return h.focus=l,h.onSelect=(e,t,a)=>{"function"==typeof i&&!1===i(e,t,a)||(r&&c(!0),1===u&&p(e))},null!=m&&(h.selectedIndex=m),delete h.defaultFocus,delete h.defaultIndex,delete h.focusTabOnClick,n.createElement(b,h,t)};E.propTypes={},E.tabsRole="Tabs";var x=E;const N={className:"react-tabs__tab-list"},C=e=>{const{children:t,className:a,...s}={...N,...e};return n.createElement("ul",Object.assign({},s,{className:m(a),role:"tablist"}),t)};C.tabsRole="TabList",C.propTypes={};var A=C;const S="react-tabs__tab",R={className:S,disabledClassName:`${S}--disabled`,focus:!1,id:null,selected:!1,selectedClassName:`${S}--selected`},k=e=>{let t=(0,n.useRef)();const{children:a,className:s,disabled:r,disabledClassName:i,focus:o,id:l,selected:c,selectedClassName:u,tabIndex:d,tabRef:p,...h}={...R,...e};return(0,n.useEffect)((()=>{c&&o&&t.current.focus()}),[c,o]),n.createElement("li",Object.assign({},h,{className:m(s,{[u]:c,[i]:r}),ref:e=>{t.current=e,p&&p(e)},role:"tab",id:`tab${l}`,"aria-selected":c?"true":"false","aria-disabled":r?"true":"false","aria-controls":`panel${l}`,tabIndex:d||(c?"0":null),"data-rttab":!0}),a)};k.propTypes={},k.tabsRole="Tab";var I=k;const q="react-tabs__tab-panel",P={className:q,forceRender:!1,selectedClassName:`${q}--selected`},O=e=>{const{children:t,className:a,forceRender:s,id:r,selected:i,selectedClassName:o,...l}={...P,...e};return n.createElement("div",Object.assign({},l,{className:m(a,{[o]:i}),role:"tabpanel",id:`panel${r}`,"aria-labelledby":`tab${r}`}),s||i?t:null)};O.tabsRole="TabPanel",O.propTypes={};var _=O},6942:function(e,t){var a;!function(){"use strict";var n={}.hasOwnProperty;function s(){for(var e="",t=0;t<arguments.length;t++){var a=arguments[t];a&&(e=i(e,r(a)))}return e}function r(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return s.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var a in e)n.call(e,a)&&e[a]&&(t=i(t,a));return t}function i(e,t){return t?e?e+" "+t:e+t:e}e.exports?(s.default=s,e.exports=s):void 0===(a=function(){return s}.apply(t,[]))||(e.exports=a)}()},6840:function(e){"use strict";e.exports=JSON.parse('[{"type":"credits-based","id":"geoapify-api-free","label":"Free","credits":3000,"color":"#757575","items":["Up to 12,000 map tiles/day","3,000 geocoding requests/day","3,000 places requests/day","3,000 routing requests/day","3,000 isolines requests/day"],"conditions":[{"label":"Up to 5 requests/second","hint":"Rate limit","provided":"partially"},{"label":"Isochrones up to 15 min","provided":"partially"},{"label":"Isodistances up to 10 km","provided":"partially"},{"label":"Best effort support","provided":"partially"}]},{"type":"credits-based","id":"geoapify-api-credits-10","label":"API 10","credits":10000,"color":"#40ada0","items":["Up to 40,000 map tiles/day","10,000 geocoding requests/day","10,000 places requests/day","10,000 routing requests/day","10,000 isolines requests/day"],"conditions":[{"label":"Up to 12 requests/second","hint":"Rate limit","provided":"partially"},{"label":"Isochrones up to 30 min","provided":"partially"},{"label":"Isodistances up to 20 km","provided":"partially"},{"label":"Email support","provided":"partially"}],"price":{"monthly":{"eur":49,"usd":59},"yearly":{"eur":490,"usd":590}},"product":{"monthly":"33625103","yearly":"33625476"}},{"type":"credits-based","id":"geoapify-api-credits-25","label":"API 25","credits":25000,"color":"#40ada0","items":["Up to 100,000 map tiles/day","25,000 geocoding requests/day","25,000 places requests/day","25,000 routing requests/day","25,000 isolines requests/day"],"conditions":[{"label":"Up to 15 requests/second","hint":"Rate limit","provided":"partially"},{"label":"Isochrones up to 30 min","provided":"partially"},{"label":"Isodistances up to 20 km","provided":"partially"},{"label":"Email support","provided":"partially"}],"price":{"monthly":{"eur":89,"usd":109},"yearly":{"eur":890,"usd":1090}},"product":{"monthly":"33625210","yearly":"33625524"}},{"type":"credits-based","id":"geoapify-api-credits-50","label":"API 50","credits":50000,"color":"#00B0FF","items":["Up to 200,000 map tiles/day or","50,000 geocoding requests/day or","50,000 places requests/day or","50,000 rout
2ing requests/day or","50,000 isolines requests/day"],"conditions":[{"label":"Up to 20 requests/second","hint":"Rate limit","provided":"yes"},{"label":"Isochrones up to 60 min","provided":"yes"},{"label":"Isodistances up to 60 km","provided":"yes"},{"label":"Priority support","provided":"yes"}],"price":{"monthly":{"eur":149,"usd":179},"yearly":{"eur":1490,"usd":1790}},"product":{"monthly":"33625290","yearly":"33625572"}},{"type":"credits-based","id":"geoapify-api-credits-100","label":"API 100","color":"#00B0FF","credits":100000,"items":["Up to 400,000 map tiles/day or","100,000 geocoding requests/day or","100,000 places requests/day or","100,000 routing requests/day or","100,000 isolines requests/day"],"conditions":[{"label":"Up to 25 requests/second","hint":"Rate limit","provided":"yes"},{"label":"Isochrones up to 60 min","provided":"yes"},{"label":"Isodistances up to 60 km","provided":"yes"},{"label":"Priority support","provided":"yes"}],"price":{"monthly":{"eur":249,"usd":299},"yearly":{"eur":2490,"usd":2990}},"product":{"monthly":"33625361","yearly":"33625610"}},{"type":"credits-based","id":"geoapify-api-credits-250","label":"API 250","color":"#00B0FF","credits":250000,"items":["Up to 1,000,000 map tiles/day or","250,000 geocoding requests/day or","250,000 places requests/day or","250,000 routing requests/day or","250,000 isolines requests/day"],"conditions":[{"label":"Up to 30 requests/second","hint":"Rate limit","provided":"yes"},{"label":"Isochrones up to 60 min","provided":"yes"},{"label":"Isodistances up to 60 km","provided":"yes"},{"label":"Priority support","provided":"yes"}],"price":{"monthly":{"eur":499,"usd":609},"yearly":{"eur":4990,"usd":6090}},"product":{"monthly":"33625421","yearly":"33625626"}},{"type":"platform-unlimited","id":"geoapify-api-unlimited","label":"Custom","credits":"Unmetered","color":"#8f4ec7","items":["No usage volume limits for a fixed price"],"conditions":[{"label":"Unmetered API requests","provided":"yes"},{"label":"Isochrones up to 120 min","provided":"yes"},{"label":"Isodistances up to 200 km","provided":"yes"},{"label":"Dedicated Endpoint","hint":"Dedicated managed platform installation","provided":"yes"},{"label":"Dedicated Servers","provided":"yes"},{"label":"Priority support","provided":"yes"}],"price":{"from":true,"monthly":{"usd":860,"eur":700},"yearly":{"usd":8600,"eur":7000}},"contactUs":true}]')}}]);
3//# sourceMappingURL=e713b27941e7543e7b3ffce91d1ef06c958ea5e5-e4d42f1747dbc495dfcc.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.