{"version":3,"file":"StructuredData.D2-R4OQU.mjs","names":["__esmMin","p","c","init_jsx_runtime","addPropertyControls","RenderTarget","init_framer_DcxuU94H","toHtml","node","sanitize","esc","inner","tag","ALLOWED","JsonLd","json","clean","data","isCanvas","style","label","OrganizationSchema","ORG","props","ArticleSchema","url","SITE","imageSrc","isoDate","JobPostingSchema","description","h","v","html","remote","locality","region","s","hasLocation","hourly","salary","EMPLOYMENT","LOGO","init_StructuredData","img","d","o","out","k","t","m","ControlType"],"sources":["https:/framerusercontent.com/modules/nRZRjA7fl7bcb3kowfC0/u5Z16FYLm2F4hcyyWGVQ/StructuredData.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * Structured data (JSON-LD) for search engines. Each component renders a\n * <script type=\"application/ld+json\"> into the server-rendered HTML, so the\n * markup is in the page source. Nothing visible renders on the live site.\n */const SITE=\"https://www.patmos.tech\";const LOGO=\"https://framerusercontent.com/images/GR54HknzzS0DzQTh4mwHjBGJMq0.png\";const SAME_AS=[\"https://www.linkedin.com/company/patmoshosting\",\"https://www.facebook.com/patmoshosting/\",\"https://www.instagram.com/patmoshosting/\"];const ORG={\"@type\":\"Organization\",\"@id\":SITE+\"/#organization\",name:\"Patmos\",url:SITE+\"/\",logo:{\"@type\":\"ImageObject\",url:LOGO,width:180,height:180},sameAs:SAME_AS};const imageSrc=img=>{if(!img)return undefined;if(typeof img===\"string\")return img;return img.src||undefined;};const isoDate=d=>{if(!d)return undefined;const t=new Date(d);return isNaN(t.getTime())?undefined:t.toISOString();};const clean=o=>{if(Array.isArray(o))return o.map(clean).filter(v=>v!==undefined);if(o&&typeof o===\"object\"){const out={};for(const[k,v]of Object.entries(o)){const c=clean(v);if(c===undefined||c===\"\"||Array.isArray(c)&&c.length===0)continue;out[k]=c;}return Object.keys(out).length?out:undefined;}return o;};/** Serialise Framer rich text (React nodes) to simple, safe HTML. */const ALLOWED=new Set([\"p\",\"ul\",\"ol\",\"li\",\"strong\",\"b\",\"em\",\"i\",\"br\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"]);const esc=s=>s.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\");/** Keep only allowed tags (no attributes) when rich text arrives as an HTML string. */const sanitize=html=>html.replace(/<(script|style)[\\s\\S]*?<\\/\\1>/gi,\"\").replace(/<\\/?([a-z0-9]+)[^>]*>/gi,(m,tag)=>{const t=String(tag).toLowerCase();if(!ALLOWED.has(t))return\"\";if(t===\"br\")return\"<br>\";return m.startsWith(\"</\")?\"</\"+t+\">\":\"<\"+t+\">\";});function toHtml(node){if(node===null||node===undefined||node===false)return\"\";if(typeof node===\"string\")return/<[a-z]/i.test(node)?sanitize(node):esc(node);if(typeof node===\"number\")return String(node);if(Array.isArray(node))return node.map(toHtml).join(\"\");if(typeof node===\"object\"&&node.props!==undefined){const inner=toHtml(node.props.children);const tag=typeof node.type===\"string\"?node.type:\"\";if(tag===\"br\")return\"<br>\";return ALLOWED.has(tag)?\"<\"+tag+\">\"+inner+\"</\"+tag+\">\":inner;}return\"\";}function JsonLd({data,label,style}){const json=JSON.stringify(clean(data)).replace(/</g,\"\\\\u003c\");const isCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/_jsxs(\"div\",{style:{...style,...isCanvas?{fontSize:10,color:\"#20E6BF\",fontFamily:\"monospace\",whiteSpace:\"nowrap\",opacity:.6}:{width:0,height:0,overflow:\"hidden\",pointerEvents:\"none\"}},\"aria-hidden\":\"true\",children:[isCanvas?\"{ } \"+label:null,/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:json}})]});}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export function OrganizationSchema(props){const data={\"@context\":\"https://schema.org\",...ORG,alternateName:\"Patmos Hosting\",description:props.description,address:{\"@type\":\"PostalAddress\",streetAddress:props.street,addressLocality:props.city,addressRegion:props.region,postalCode:props.postalCode,addressCountry:\"US\"}};return /*#__PURE__*/_jsx(JsonLd,{data:data,label:\"Organization schema\",style:props.style});}OrganizationSchema.defaultProps={description:\"Custom data centers, bare metal servers, and colocation backed by support that knows your setup.\",street:\"1601 McGee St\",city:\"Kansas City\",region:\"MO\",postalCode:\"64108\"};addPropertyControls(OrganizationSchema,{description:{type:ControlType.String,title:\"Description\",displayTextArea:true},street:{type:ControlType.String,title:\"Street\"},city:{type:ControlType.String,title:\"City\"},region:{type:ControlType.String,title:\"State\"},postalCode:{type:ControlType.String,title:\"ZIP\"}});/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export function ArticleSchema(props){// The page's own canonical URL identifies the article; slugs can't be bound to code props.\nconst url=props.slug?SITE+\"/news/\"+props.slug:undefined;const data={\"@context\":\"https://schema.org\",\"@type\":\"NewsArticle\",headline:props.headline,description:props.description,image:imageSrc(props.image)?[imageSrc(props.image)]:undefined,datePublished:isoDate(props.datePublished),url,mainEntityOfPage:url?{\"@type\":\"WebPage\",\"@id\":url}:undefined,author:{\"@type\":\"Organization\",name:\"Patmos\",url:SITE+\"/\"},publisher:ORG};return /*#__PURE__*/_jsx(JsonLd,{data:data,label:\"Article schema\",style:props.style});}addPropertyControls(ArticleSchema,{headline:{type:ControlType.String,title:\"Headline\"},description:{type:ControlType.String,title:\"Description\",displayTextArea:true},image:{type:ControlType.ResponsiveImage,title:\"Image\"},datePublished:{type:ControlType.Date,title:\"Published\"}});const EMPLOYMENT={\"Full-time\":\"FULL_TIME\",\"Part-time\":\"PART_TIME\",Contract:\"CONTRACTOR\",Internship:\"INTERN\",Temporary:\"TEMPORARY\"};/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export function JobPostingSchema(props){const sections=[[\"\",props.summary],[\"Responsibilities\",props.responsibilities],[\"Qualifications\",props.qualifications],[\"Benefits\",props.benefits]];const description=sections.map(([h,v])=>{const html=toHtml(v);return html?(h?\"<h3>\"+h+\"</h3>\":\"\")+html:\"\";}).join(\"\");const remote=/remote/i.test(props.workplaceType||\"\");const[locality,region]=(props.location||\"\").split(\",\").map(s=>s.trim());const hasLocation=!!locality;const hourly=/hour/i.test(props.compensationType||\"\");const salary=props.showSalary&&(props.salaryLow||props.salaryHigh)?{\"@type\":\"MonetaryAmount\",currency:\"USD\",value:{\"@type\":\"QuantitativeValue\",minValue:props.salaryLow||undefined,maxValue:props.salaryHigh||undefined,unitText:hourly?\"HOUR\":\"YEAR\"}}:undefined;const data={\"@context\":\"https://schema.org\",\"@type\":\"JobPosting\",title:props.title,description:description||props.title,datePosted:isoDate(props.datePosted),employmentType:EMPLOYMENT[props.employmentType]||undefined,hiringOrganization:{\"@type\":\"Organization\",name:\"Patmos\",sameAs:SITE+\"/\",logo:LOGO},jobLocationType:remote?\"TELECOMMUTE\":undefined,applicantLocationRequirements:remote?{\"@type\":\"Country\",name:\"USA\"}:undefined,jobLocation:hasLocation&&!remote?{\"@type\":\"Place\",address:{\"@type\":\"PostalAddress\",addressLocality:locality,addressRegion:region,addressCountry:\"US\"}}:undefined,baseSalary:salary,url:props.slug?SITE+\"/careers/\"+props.slug:undefined,directApply:false};return /*#__PURE__*/_jsx(JsonLd,{data:data,label:\"JobPosting schema\",style:props.style});}addPropertyControls(JobPostingSchema,{title:{type:ControlType.String,title:\"Title\"},summary:{type:\"richtext\",title:\"Summary\"},responsibilities:{type:\"richtext\",title:\"Responsibilities\"},qualifications:{type:\"richtext\",title:\"Qualifications\"},benefits:{type:\"richtext\",title:\"Benefits\"},datePosted:{type:ControlType.Date,title:\"Posted\"},employmentType:{type:ControlType.String,title:\"Employment Type\"},workplaceType:{type:ControlType.String,title:\"Workplace\"},location:{type:ControlType.String,title:\"Location\"},showSalary:{type:ControlType.Boolean,title:\"Show Salary\"},salaryLow:{type:ControlType.Number,title:\"Salary Low\"},salaryHigh:{type:ControlType.Number,title:\"Salary High\"},compensationType:{type:ControlType.String,title:\"Compensation\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"ArticleSchema\":{\"type\":\"reactComponent\",\"name\":\"ArticleSchema\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"OrganizationSchema\":{\"type\":\"reactComponent\",\"name\":\"OrganizationSchema\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\"}},\"JobPostingSchema\":{\"type\":\"reactComponent\",\"name\":\"JobPostingSchema\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StructuredData.map"],"mappings":"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"}