{"version":3,"file":"SchemaEmbed.BVXNAnk4.mjs","names":[],"sources":["https:/framerusercontent.com/modules/7GgEb7C0DTvPfJg8hV2D/wSO9nWjSUC8DCky9sIjB/SchemaEmbed.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const DEFAULT_JSON=`{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is LightSource SOC 2 certified?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. LightSource is SOC 2 Type 2 certified, with an attestation report issued by Sensiba covering the AICPA trust services criteria for security, availability and confidentiality.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does LightSource train AI models on customer data?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. LightSource does not use customers’ private RFQs, RFI questionnaires or contracts to train foundation models. Customer procurement data stays with the customer.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How does LightSource encrypt customer data?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Data is encrypted at rest using securely managed keys, and all connections are secured in transit via SSL/TLS.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Who can see sourcing data inside a customer organisation?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Customers control that. LightSource provides granular access controls based on the principle of least privilege, and supports identity providers with single sign-on so authentication follows the customer’s existing policy.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does LightSource conduct penetration testing?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. LightSource engages third-party vendors to conduct annual network and application-layer penetration tests.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How does LightSource monitor security controls between audits?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"LightSource uses automated platforms to monitor more than 100 security controls 24/7, maintaining its posture daily rather than only during audit windows.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What happens to customer data over time?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"LightSource maintains formal data classification and retention policies to identify and protect sensitive information throughout its lifecycle.\"\n      }\n    }\n  ]\n}`;/**\n * Schema Embed\n *\n * Embeds a schema.org JSON-LD script into the page HTML so search engines and\n * AI crawlers can read structured data (FAQPage, HowTo, etc.). Renders the\n * script tag inline via JSX (same pattern as LlmInfo.tsx) so it is present in\n * the server-rendered HTML, not injected client-side. Invisible on the\n * published page; shows a small status pill on the canvas so editors can find\n * and select it.\n *\n * @framerIntrinsicWidth 160\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function SchemaEmbed(props){const{jsonLd=DEFAULT_JSON,style}=props;let parsed=null;let error=\"\";try{parsed=JSON.parse(jsonLd);}catch(e){error=e instanceof Error?e.message:\"Invalid JSON\";}const isCanvas=RenderTarget.current()===RenderTarget.canvas;if(isCanvas){const label=parsed?`Schema: ${String(parsed[\"@type\"]??\"JSON-LD\")} ✓`:`Schema: invalid JSON — ${error}`;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"max-content\",padding:\"4px 10px\",borderRadius:6,fontFamily:\"Inter, sans-serif\",fontSize:11,fontWeight:600,lineHeight:\"16px\",background:parsed?\"#EDEDED\":\"#FDE8E8\",color:parsed?\"#666666\":\"#B42318\",...style},children:label});}if(!parsed)return null;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:0,height:0,...style},children:/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify(parsed)}})});}addPropertyControls(SchemaEmbed,{jsonLd:{type:ControlType.String,title:\"JSON-LD\",defaultValue:DEFAULT_JSON,displayTextArea:true,preventLocalization:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SchemaEmbed\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"160\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SchemaEmbed.map"],"mappings":"oKA4EG,SAAwB,EAAY,EAAM,CAAC,GAAK,CAAC,SAAO,EAAa,SAAO,EAAU,EAAO,KAAS,EAAM,GAAG,GAAG,CAAC,EAAO,KAAK,MAAM,CAAM,CAAE,OAAO,EAAE,CAAC,EAAM,aAAa,MAAM,EAAE,QAAQ,cAAe,CAA6D,GAA7C,EAAa,QAAQ,IAAI,EAAa,OAAmB,CAAC,IAAM,EAAM,EAAO,WAAW,OAAO,EAAO,UAAU,SAAS,EAAE,IAAI,0BAA0B,IAAQ,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,cAAc,QAAQ,WAAW,aAAa,EAAE,WAAW,oBAAoB,SAAS,GAAG,WAAW,IAAI,WAAW,OAAO,WAAW,EAAO,UAAU,UAAU,MAAM,EAAO,UAAU,UAAU,GAAG,CAAK,EAAE,SAAS,CAAK,CAAC,CAAE,CAAwB,OAAnB,EAAuC,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,GAAG,CAAK,EAAE,SAAsB,EAAK,SAAS,CAAC,KAAK,sBAAsB,wBAAwB,CAAC,OAAO,KAAK,UAAU,CAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAArN,IAAuN,mBA5E51B,IAAiE,EAAO,EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EwwB,EAAoB,EAAY,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAa,gBAAgB,GAAK,oBAAoB,EAAI,CAAC,CAAC"}