{"version":3,"file":"JsonLd.DNqO2cDL.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/1dASAV43AcJhnLEGasfe/uYNGnZIbkGf7TCnGfQuI/JsonLd.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useMemo}from\"react\";const ORGANIZATION_ID=\"https://swirvlehub.com/#organization\";const WEBSITE_ID=\"https://swirvlehub.com/#website\";const SOFTWARE_ID=\"https://swirvlehub.com/#software\";const SITE_URL=\"https://swirvlehub.com/\";function toIsoDate(value){if(!value)return undefined;const parsed=new Date(value);if(isNaN(parsed.getTime()))return undefined;return parsed.toISOString();}function clean(input){const output={};for(const key of Object.keys(input)){const value=input[key];if(value===undefined||value===null)continue;if(typeof value===\"string\"&&value.trim()===\"\")continue;output[key]=value;}return output;}/**\n * JSON-LD\n *\n * Inyecta un bloque de structured data (schema.org) en la página. No dibuja nada\n * en el sitio publicado: solo emite el script que leen Google y los crawlers de IA.\n * La empresa y el sitio se declaran una sola vez en el Custom Code del proyecto,\n * así que aquí solo se referencian por @id y nunca se redefinen.\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function JsonLd(props){const{schemaType,name,description,image,datePublished,applicationCategory,operatingSystem}=props;const isStatic=useIsStaticRenderer();const json=useMemo(()=>{const imageUrl=image&&image.src?image.src:undefined;if(schemaType===\"BlogPosting\"){return JSON.stringify(clean({\"@context\":\"https://schema.org\",\"@type\":\"BlogPosting\",headline:name,description:description,image:imageUrl,datePublished:toIsoDate(datePublished),inLanguage:\"es-MX\",author:{\"@id\":ORGANIZATION_ID},publisher:{\"@id\":ORGANIZATION_ID},isPartOf:{\"@id\":WEBSITE_ID}}));}return JSON.stringify(clean({\"@context\":\"https://schema.org\",\"@type\":\"SoftwareApplication\",\"@id\":SOFTWARE_ID,name:name,description:description,image:imageUrl,url:SITE_URL,applicationCategory:applicationCategory,operatingSystem:operatingSystem,inLanguage:\"es-MX\",publisher:{\"@id\":ORGANIZATION_ID},provider:{\"@id\":ORGANIZATION_ID}}));},[schemaType,name,description,image,datePublished,applicationCategory,operatingSystem]);// En el canvas mostramos una etiqueta mínima para poder seleccionarlo.\nif(isStatic){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",minWidth:\"max-content\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:9,lineHeight:1,color:\"#6B7280\",background:\"#F3F4F6\",borderRadius:2,overflow:\"hidden\"},children:\"JSON-LD\"});}return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",display:\"none\"},children:/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:json}})});}addPropertyControls(JsonLd,{schemaType:{type:ControlType.Enum,title:\"Tipo\",options:[\"SoftwareApplication\",\"BlogPosting\"],optionTitles:[\"Software / Producto\",\"Art\\xedculo de blog\"],defaultValue:\"SoftwareApplication\"},name:{type:ControlType.String,title:\"Nombre\",defaultValue:\"Swirvle\",placeholder:\"Nombre o titular\"},description:{type:ControlType.String,title:\"Descripci\\xf3n\",defaultValue:\"\",displayTextArea:true,placeholder:\"Descripci\\xf3n breve\"},image:{type:ControlType.ResponsiveImage,title:\"Imagen\"},datePublished:{type:ControlType.Date,title:\"Publicado\",optional:true,hidden:props=>props.schemaType!==\"BlogPosting\"},applicationCategory:{type:ControlType.String,title:\"Categor\\xeda\",defaultValue:\"BusinessApplication\",hidden:props=>props.schemaType!==\"SoftwareApplication\"},operatingSystem:{type:ControlType.String,title:\"Plataformas\",defaultValue:\"Web, iOS, Android\",hidden:props=>props.schemaType!==\"SoftwareApplication\"}});JsonLd.displayName=\"JSON-LD\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"JsonLd\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"1\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./JsonLd.map"],"mappings":"kLAA4V,SAAS,EAAU,EAAM,CAAC,GAAG,CAAC,EAAM,OAAiB,IAAM,EAAO,IAAI,KAAK,CAAK,EAAK,UAAM,EAAO,QAAQ,CAAC,EAAmB,OAAO,EAAO,YAAY,CAAE,CAAC,SAAS,EAAM,EAAM,CAAC,IAAM,EAAO,CAAC,EAAE,IAAI,IAAM,KAAO,OAAO,KAAK,CAAK,EAAE,CAAC,IAAM,EAAM,EAAM,GAAQ,GAA2B,OAAiB,OAAO,GAAQ,UAAU,EAAM,KAAK,IAAI,KAAY,EAAO,GAAK,GAAM,CAAC,OAAO,CAAO,CAa1tB,SAAwB,EAAO,EAAM,CAAC,GAAK,CAAC,aAAW,OAAK,cAAY,QAAM,gBAAc,sBAAoB,mBAAiB,EAAY,EAAS,EAAoB,EAAQ,EAAKA,MAAY,CAAC,IAAM,EAAS,GAAO,EAAM,IAAI,EAAM,IAAI,IAAA,GAA4U,OAA5R,KAAK,UAAU,EAAlD,IAAa,cAA2C,CAAC,WAAW,qBAAqB,QAAQ,cAAc,SAAS,EAAiB,cAAY,MAAM,EAAS,cAAc,EAAU,CAAa,EAAE,WAAW,QAAQ,OAAO,CAAC,MAAM,CAAe,EAAE,UAAU,CAAC,MAAM,CAAe,EAAE,SAAS,CAAC,MAAM,CAAU,CAAC,EAAiC,CAAC,WAAW,qBAAqB,QAAQ,sBAAsB,MAAM,EAAiB,OAAiB,cAAY,MAAM,EAAS,IAAI,EAA6B,sBAAoC,kBAAgB,WAAW,QAAQ,UAAU,CAAC,MAAM,CAAe,EAAE,SAAS,CAAC,MAAM,CAAe,CAAC,CAA1nB,CAA+S,CAA+U,EAAE,CAAC,EAAW,EAAK,EAAY,EAAM,EAAc,EAAoB,CAAe,CAAC,EACtrB,OAAvS,EAA8B,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,SAAS,cAAc,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,WAAW,UAAU,aAAa,EAAE,SAAS,QAAQ,EAAE,SAAS,SAAS,CAAC,EAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,QAAQ,MAAM,EAAE,SAAsB,EAAK,SAAS,CAAC,KAAK,sBAAsB,wBAAwB,CAAC,OAAO,CAAI,CAAC,CAAC,CAAC,CAAC,CAAE,yBAdrb,IAAwE,IAA2B,EAAO,EAAgB,uCAA6C,EAAW,kCAAwC,EAAY,mCAAyC,EAAS,0BAc8J,EAAoB,EAAO,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,QAAQ,CAAC,sBAAsB,aAAa,EAAE,aAAa,CAAC,sBAAsB,kBAAqB,EAAE,aAAa,qBAAqB,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,UAAU,YAAY,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAiB,aAAa,GAAG,gBAAgB,GAAK,YAAY,mBAAsB,EAAE,MAAM,CAAC,KAAK,EAAY,gBAAgB,MAAM,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,SAAS,GAAK,OAAO,GAAO,EAAM,aAAa,aAAa,EAAE,oBAAoB,CAAC,KAAK,EAAY,OAAO,MAAM,YAAe,aAAa,sBAAsB,OAAO,GAAO,EAAM,aAAa,qBAAqB,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,oBAAoB,OAAO,GAAO,EAAM,aAAa,qBAAqB,CAAC,CAAC,EAAE,EAAO,YAAY"}