{"version":3,"file":"ServiceOfferSchema.DWNSO2K6.mjs","names":[],"sources":["https:/framerusercontent.com/modules/RNDqZzdYk5sN7DVO3Ukk/EX033v7UNvpnyvrS4a8s/BreadcrumbListSchema.js","https:/framerusercontent.com/modules/kSwgv0ifYVT9oj5kD30Y/dptrGLqhZRP1W8oKj87G/ServiceOfferSchema.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Injects a BreadcrumbList JSON-LD schema into the SSR HTML for breadcrumb\n * navigation rich results. Renders nothing visible.\n *\n * USAGE:\n *  - Drop one instance per non-home page.\n *  - Configure 2 to 5 levels in the property panel: Home → Section → Page.\n *  - All URLs must be absolute (https://www.ohmydesk.com/...).\n *\n * Why this matters:\n *  - Breadcrumb-rich SERP result with the path of the page (instead of the\n *    bare URL), which improves CTR by ~5–10 % on average.\n *  - Helps Google understand site hierarchy and pass authority efficiently.\n *\n * Example for /locations/business-bay:\n *  - Level 1: \"Home\" → https://www.ohmydesk.com\n *  - Level 2: \"Locations\" → https://www.ohmydesk.com/locations\n *  - Level 3: \"Business Bay\" → https://www.ohmydesk.com/locations/business-bay\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 0\n * @framerIntrinsicHeight 0\n * @framerDisableUnlink\n */export default function BreadcrumbListSchema(props){const{level1Name=\"Home\",level1Url=\"https://www.ohmydesk.com\",level2Name,level2Url,level3Name,level3Url,level4Name,level4Url,level5Name,level5Url}=props;const items=[];items.push({name:level1Name,url:level1Url});if(level2Name&&level2Url)items.push({name:level2Name,url:level2Url});if(level3Name&&level3Url)items.push({name:level3Name,url:level3Url});if(level4Name&&level4Url)items.push({name:level4Name,url:level4Url});if(level5Name&&level5Url)items.push({name:level5Name,url:level5Url});const schema={\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",itemListElement:items.map((it,i)=>({\"@type\":\"ListItem\",position:i+1,name:it.name,item:it.url}))};return /*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify(schema)}});}addPropertyControls(BreadcrumbListSchema,{level1Name:{type:ControlType.String,title:\"L1 name\",defaultValue:\"Home\"},level1Url:{type:ControlType.String,title:\"L1 URL\",defaultValue:\"https://www.ohmydesk.com\"},level2Name:{type:ControlType.String,title:\"L2 name\",defaultValue:\"\",placeholder:\"e.g. Locations\"},level2Url:{type:ControlType.String,title:\"L2 URL\",defaultValue:\"\",placeholder:\"e.g. https://www.ohmydesk.com/locations\"},level3Name:{type:ControlType.String,title:\"L3 name\",defaultValue:\"\",placeholder:\"e.g. Business Bay\"},level3Url:{type:ControlType.String,title:\"L3 URL\",defaultValue:\"\",placeholder:\"e.g. https://www.ohmydesk.com/locations/business-bay\"},level4Name:{type:ControlType.String,title:\"L4 name (optional)\",defaultValue:\"\"},level4Url:{type:ControlType.String,title:\"L4 URL (optional)\",defaultValue:\"\"},level5Name:{type:ControlType.String,title:\"L5 name (optional)\",defaultValue:\"\"},level5Url:{type:ControlType.String,title:\"L5 URL (optional)\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BreadcrumbListSchema\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"0\",\"framerIntrinsicHeight\":\"0\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BreadcrumbListSchema.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";const SERVICES={\"private-office\":{name:\"Private Office Dubai — Oh My Desk\",slug:\"private-office\",description:\"Fully furnished private office for 2 to 15 people in Downtown Dubai, Business Bay or Dubai Design District. All-inclusive monthly pricing: 2 Gbps Wi-Fi, DEWA, AC, cleaning, reception, meeting room hours, 24/7 access. Ejari trade-licence registration available.\",image:\"https://www.ohmydesk.com/og/private-office.jpg\",priceCurrency:\"AED\",lowPrice:6500,highPrice:25e3,priceUnit:\"MONTH\",offerCount:6},\"coworking-space\":{name:\"Coworking Space Dubai — Hot Desk & Dedicated Desk\",slug:\"coworking-space\",description:\"Hot desk and dedicated desk coworking at three premium Dubai locations: Downtown (Al Fattan / City Walk), Business Bay (Bay Square) and Dubai Design District. All-inclusive monthly pricing: 2 Gbps Wi-Fi, specialty coffee, meeting room hours, 24/7 access.\",image:\"https://www.ohmydesk.com/og/coworking.jpg\",priceCurrency:\"AED\",lowPrice:950,highPrice:1500,priceUnit:\"MONTH\",offerCount:2},\"dedicated-desk\":{name:\"Dedicated Desk Dubai — Oh My Desk\",slug:\"dedicated-desk\",description:\"Your permanent dedicated desk with lockable storage in Downtown Dubai or Business Bay. All-inclusive: 2 Gbps Wi-Fi, meeting rooms, 24/7 access, specialty coffee. Monthly flex contract.\",image:\"https://www.ohmydesk.com/og/dedicated-desk.jpg\",priceCurrency:\"AED\",lowPrice:1500,highPrice:1900,priceUnit:\"MONTH\",offerCount:1},\"meeting-room\":{name:\"Meeting Room Dubai — Oh My Desk\",slug:\"meeting-room\",description:\"Book a fully equipped meeting room in Downtown Dubai, Business Bay or Dubai Design District by the hour or by the day. 4 to 12 seats, 4K screen, video conferencing, whiteboard. From 120 AED/hour.\",image:\"https://www.ohmydesk.com/og/meeting-room.jpg\",priceCurrency:\"AED\",lowPrice:120,highPrice:600,priceUnit:\"HOUR\",offerCount:4},\"virtual-office-ejari\":{name:\"Virtual Office + Ejari Dubai — Oh My Desk\",slug:\"virtual-office-ejari\",description:\"Registered business address in Downtown Dubai with Ejari trade-licence registration, mail handling and phone answering. Valid for DET (Dubai mainland) and most free zones. Issued in 24–48 hours.\",image:\"https://www.ohmydesk.com/og/virtual-office-ejari.jpg\",priceCurrency:\"AED\",lowPrice:8e3,highPrice:12e3,priceUnit:\"YEAR\",offerCount:2}};const UNIT_LABEL={HOUR:\"hour\",DAY:\"day\",MONTH:\"month\",YEAR:\"year\"};const VALID_SERVICES=new Set(Object.keys(SERVICES));function normalizeSlug(input){if(!input)return null;const slug=input.toLowerCase().trim();if(VALID_SERVICES.has(slug))return slug;// Tolerate variants\nif(slug.includes(\"ejari\")||slug.includes(\"virtual-office\"))return\"virtual-office-ejari\";if(slug.includes(\"meeting\"))return\"meeting-room\";if(slug.includes(\"dedicated\"))return\"dedicated-desk\";if(slug.includes(\"coworking\")||slug.includes(\"hot-desk\")||slug.includes(\"hot_desk\"))return\"coworking-space\";if(slug.includes(\"private\"))return\"private-office\";return null;}export default function ServiceOfferSchema(props){const{slug=\"\",service=\"private-office\",aggregateRatingValue=4.9,aggregateRatingCount=127,customUrl=\"\"}=props;// Priority: slug from CMS field > service Enum default\nconst resolved=normalizeSlug(slug)||service;const svc=SERVICES[resolved]||SERVICES[\"private-office\"];const pageUrl=customUrl||`https://www.ohmydesk.com/services/${svc.slug}`;const schema={\"@context\":\"https://schema.org\",\"@type\":\"Service\",\"@id\":`${pageUrl}#service`,name:svc.name,description:svc.description,image:svc.image,url:pageUrl,serviceType:svc.name,provider:{\"@type\":\"Organization\",\"@id\":\"https://www.ohmydesk.com#organization\",name:\"Oh My Desk\",url:\"https://www.ohmydesk.com\",logo:\"https://www.ohmydesk.com/og/logo.png\",telephone:\"+971 4 304 4222\",email:\"contact@ohmydesk.com\"},areaServed:{\"@type\":\"City\",name:\"Dubai\",containedInPlace:{\"@type\":\"Country\",name:\"United Arab Emirates\"}},offers:{\"@type\":\"AggregateOffer\",priceCurrency:svc.priceCurrency,lowPrice:svc.lowPrice,highPrice:svc.highPrice,offerCount:svc.offerCount,availability:\"https://schema.org/InStock\",url:pageUrl,priceSpecification:{\"@type\":\"UnitPriceSpecification\",priceCurrency:svc.priceCurrency,price:svc.lowPrice,unitText:`per ${UNIT_LABEL[svc.priceUnit]||\"month\"}`}},aggregateRating:{\"@type\":\"AggregateRating\",ratingValue:aggregateRatingValue,reviewCount:aggregateRatingCount,bestRating:5,worstRating:1}};return /*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify(schema)}});}addPropertyControls(ServiceOfferSchema,{slug:{type:ControlType.String,title:\"CMS Slug\",defaultValue:\"\",placeholder:\"Bind to CMS Slug field\",description:\"On CMS template: bind to CMS Slug field. Auto-resolves to private-office / coworking-space / dedicated-desk / meeting-room / virtual-office-ejari.\"},service:{type:ControlType.Enum,title:\"Fallback service\",options:[\"private-office\",\"coworking-space\",\"dedicated-desk\",\"meeting-room\",\"virtual-office-ejari\"],optionTitles:[\"Private Office (from 6,500 AED/mo)\",\"Coworking Space (from 950 AED/mo)\",\"Dedicated Desk (from 1,500 AED/mo)\",\"Meeting Room (from 120 AED/hr)\",\"Virtual Office + Ejari (from 8,000 AED/yr)\"],defaultValue:\"private-office\",description:\"Used when no slug is bound (static pages).\"},aggregateRatingValue:{type:ControlType.Number,title:\"Rating value\",min:1,max:5,step:.1,defaultValue:4.9},aggregateRatingCount:{type:ControlType.Number,title:\"Review count\",min:0,step:1,defaultValue:127},customUrl:{type:ControlType.String,title:\"Custom URL (optional)\",defaultValue:\"\",placeholder:\"Override if not /services/<slug>\",description:\"Use this on non-services URLs like /coworking-dubai or /private-office-dubai.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ServiceOfferSchema\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ServiceOfferSchema.map"],"mappings":"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"}