{"version":3,"file":"ProjectVariantCreator.EuiEZVVG.mjs","names":["useState","useCallback","u","createClient","Component"],"sources":["https:/framerusercontent.com/modules/dwitg8L5LBCaVZCd84N7/pVrSmlaX8yiTV3pSIuCe/ProjectVariantCreator.js"],"sourcesContent":["// ============================================================================\n// ProjectVariantCreator.tsx\n// Tier 27 v2 — Sarah Henderson (Sage EVP, Brand & Integrated Campaigns)\n// 2026-04-25\n//\n// Standalone Framer code component. Given a parent_project_id (URL param\n// `?project_id=` or component prop), provides:\n//\n//   1. A list of existing regional variants of this project (from\n//      project_variants joined to projects).\n//   2. A \"Create new variant\" inline form that captures region/locale/market\n//      + a multi-pick approver list, then calls the clone_project_variant()\n//      RPC. On success, jumps to the new variant project.\n//\n// Designed as a drop-in for ProjectDetailView via Framer composition (don't\n// edit the 7000-line PDV — drop this beside the existing tabs as a \"Variants\"\n// section). RLS + role-check are server-side via the RPC's SECURITY DEFINER\n// guard; UI just reflects the auth state.\n//\n// Backed by:\n//   • migrations/2026-04-25_project_variants.sql\n//   • clone_project_variant(parent, region, locale, market, routing) RPC\n//   • route_for_approval(variant_project_uuid) RPC for \"who approves what\"\n//   • v_project_lineage view for read queries\n// ============================================================================\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useCallback,Component}from\"react\";// 2026-05-21 Phase 5 P1-A — addPropertyControls / ControlType Design Mode imports stripped per platform directive.\nimport{createClient}from\"https://esm.sh/@supabase/supabase-js@2.38.0\";const SUPABASE_URL=\"https://qppgregsqjuxcnqahloz.supabase.co\";const SUPABASE_ANON_KEY=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFwcGdyZWdzcWp1eGNucWFobG96Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzM3Njc5MTcsImV4cCI6MjA4OTM0MzkxN30.3ES5R1l2ta6gE1mPZ8Z2XuldUPoj66u7pXd8F5F6zyk\";const getSupabase=()=>{if(typeof window===\"undefined\")return null;const w=window;if(!w.__wf_supabase){w.__wf_supabase=createClient(SUPABASE_URL,SUPABASE_ANON_KEY,{auth:{persistSession:true,autoRefreshToken:true,detectSessionInUrl:true}});}return w.__wf_supabase;};const supabase=getSupabase();const T={bg:\"#0A0A0A\",card:\"#070707\",cardElevated:\"#0E0E0E\",border:\"#1C1C1C\",gMid:\"#333333\",gMed:\"#7F7F7F\",gLight:\"#9E9E9E\",gPale:\"#CCCCCC\",white:\"#FFFFFF\",green:\"#4CAF50\",blue:\"#2196F3\",orange:\"#FF9800\",red:\"#D32F2F\",purple:\"#9C27B0\",gold:\"#FFC107\",fontHeading:\"'Raleway', sans-serif\",fontBody:\"'Rubik', sans-serif\",fontMono:\"'SF Mono', 'Fira Code', 'Consolas', monospace\"};// Region taxonomy from docs/multi-region-project-variants.md\nconst REGION_OPTIONS=[{code:\"us\",label:\"United States\"},{code:\"uk\",label:\"United Kingdom\"},{code:\"au\",label:\"Australia\"},{code:\"ca\",label:\"Canada\"},{code:\"apac\",label:\"Asia-Pacific\"},{code:\"emea\",label:\"Europe, Middle East, Africa\"},{code:\"latam\",label:\"Latin America\"},{code:\"de\",label:\"Germany\"},{code:\"fr\",label:\"France\"},{code:\"it\",label:\"Italy\"},{code:\"es\",label:\"Spain\"},{code:\"nl\",label:\"Netherlands\"},{code:\"se\",label:\"Sweden\"},{code:\"no\",label:\"Norway\"},{code:\"dk\",label:\"Denmark\"},{code:\"fi\",label:\"Finland\"},{code:\"jp\",label:\"Japan\"},{code:\"kr\",label:\"South Korea\"},{code:\"cn\",label:\"China\"},{code:\"tw\",label:\"Taiwan\"},{code:\"hk\",label:\"Hong Kong\"},{code:\"sg\",label:\"Singapore\"},{code:\"mx\",label:\"Mexico\"},{code:\"br\",label:\"Brazil\"},{code:\"ar\",label:\"Argentina\"},{code:\"cl\",label:\"Chile\"},{code:\"co\",label:\"Colombia\"},{code:\"global\",label:\"Global / Canonical\"}];class ProjectVariantErrorBoundary extends Component{static getDerivedStateFromError(error){return{hasError:true,error:error?.message||String(error)};}render(){if(this.state.hasError){return /*#__PURE__*/_jsxs(\"div\",{style:{background:T.bg,color:T.red,minHeight:200,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:12,fontFamily:T.fontMono,padding:24,textAlign:\"center\",boxSizing:\"border-box\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:32},children:\"⚠️\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:T.white,fontSize:14},children:\"VARIANT CREATOR — RENDER ERROR\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,maxWidth:480,color:T.gLight},children:this.state.error})]});}return this.props.children;}constructor(props){super(props);this.state={hasError:false,error:\"\"};}}// Tier 30 — PDV composition gate. When ProjectVariantCreator is stacked on the\n// /project Framer page below PDV, it listens for PDV's \"wf:pdv:state\" event\n// and renders only when activeTab === \"Variants\". When mounted standalone\n// (no PDV present, or accessed via /project/variants direct route), it renders\n// normally. This is the same Framer-composition pattern PeopleHub uses.\nfunction usePdvVariantsGate(){const[pdvActiveTab,setPdvActiveTab]=useState(null);const[pdvProjectId,setPdvProjectId]=useState(null);const[pdvSeen,setPdvSeen]=useState(false);useEffect(()=>{if(typeof window===\"undefined\")return;const onState=e=>{const d=e?.detail||{};setPdvSeen(true);setPdvActiveTab(d.activeTab??null);setPdvProjectId(d.projectId??null);};window.addEventListener(\"wf:pdv:state\",onState);// 2026-06-11 audit — handshake: we may mount AFTER PDV's initial\n// broadcast (Framer mount-order race), which left this component\n// visible on every tab until the first tab switch. Ask PDV to\n// re-broadcast. Standalone (no PDV on page) → no answer → pdvSeen\n// stays false → renders normally, as designed.\ntry{window.dispatchEvent(new CustomEvent(\"wf:pdv:request-state\"));}catch{/* */}return()=>window.removeEventListener(\"wf:pdv:state\",onState);},[]);// If no PDV ever broadcast, we're standalone — render normally.\n// If PDV broadcast, only render when its active tab is Variants.\nconst visible=!pdvSeen||pdvActiveTab===\"Variants\";return{visible,pdvProjectId};}function ProjectVariantCreatorInner(props){const[parentId,setParentId]=useState(null);const[parentTitle,setParentTitle]=useState(\"\");const[parentOrgId,setParentOrgId]=useState(null);const[orgUsers,setOrgUsers]=useState([]);const[variants,setVariants]=useState([]);const[loading,setLoading]=useState(true);const[error,setError]=useState(null);const[creating,setCreating]=useState(false);const[showForm,setShowForm]=useState(false);// 2026-05-21 Phase 5 P1-B — noSession gate. Previously this component had no\n// auth check; embedded under PDV it inherited the session, but on direct nav\n// it would attempt RLS-protected queries with an anon JWT and silently 0-row.\nconst[noSession,setNoSession]=useState(false);// Tier 31 — responsive: collapse the form's region/locale/market grid + the\n// threshold/SLA/block grid to single-column on phones; collapse variant\n// rows to stacked layout instead of 1fr-auto-auto.\nconst[isMobile,setIsMobile]=useState(false);// 2026-04-29 — Phase E ultra-mobile breakpoint (iPhone SE / mini / Galaxy A-series).\nconst[isSmallMobile,setIsSmallMobile]=useState(false);useEffect(()=>{if(typeof window===\"undefined\")return;// 2026-04-28 Phase N — Standardize on 1024px platform breakpoint.\n// Was 720; gave inconsistent tablet behavior vs. the rest of the\n// platform (AgencyDashboard, MissionControl, ClientDashboard, ComposeStudio\n// all use < 1024). Tablets now collapse to mobile layout uniformly.\nconst onResize=()=>{setIsMobile(window.innerWidth<1024);setIsSmallMobile(window.innerWidth<414);};onResize();window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);},[]);// Form state\nconst[formRegion,setFormRegion]=useState(\"us\");const[formLocale,setFormLocale]=useState(\"\");const[formMarket,setFormMarket]=useState(\"\");const[formApprovers,setFormApprovers]=useState([]);const[formThreshold,setFormThreshold]=useState(1);const[formSlaHours,setFormSlaHours]=useState(48);const[formBlockPublish,setFormBlockPublish]=useState(true);// Resolve parent project_id — prop > URL > PDV broadcast\nconst pdvGate=usePdvVariantsGate();useEffect(()=>{if(props.projectId&&/^[0-9a-fA-F-]{36}$/.test(props.projectId)){setParentId(props.projectId);return;}if(typeof window!==\"undefined\"){const params=new URLSearchParams(window.location.search);const id=params.get(\"project_id\")||params.get(\"project\")||params.get(\"id\");if(id&&/^[0-9a-fA-F-]{36}$/.test(id)){setParentId(id);return;}}// Tier 30 — fall back to PDV's broadcast project_id when stacked under PDV\nif(pdvGate.pdvProjectId&&/^[0-9a-fA-F-]{36}$/.test(pdvGate.pdvProjectId)){setParentId(pdvGate.pdvProjectId);}},[props.projectId,pdvGate.pdvProjectId]);// 2026-05-21 Phase 5 P1-B — Auth bootstrap. Runs once on mount independent of\n// parentId so we can surface SESSION REQUIRED without waiting for parent resolution.\nuseEffect(()=>{let cancelled=false;(async()=>{try{const{data:{session}}=await supabase.auth.getSession();if(cancelled)return;if(!session?.user){setNoSession(true);setLoading(false);}}catch(err){if(cancelled)return;console.warn(\"[ProjectVariantCreator] session check failed:\",err?.message);setNoSession(true);setLoading(false);}})();return()=>{cancelled=true;};},[]);const load=useCallback(async()=>{// 2026-05-21 Phase 5 P1-B — short-circuit when there's no session so RLS-protected\n// queries don't fire with an anon JWT and silently return empty.\nif(noSession){setLoading(false);return;}if(!parentId){setLoading(false);return;}setLoading(true);setError(null);try{// Pull parent project + existing variants + org users in parallel\nconst[parentRes,variantsRes]=await Promise.all([supabase.from(\"projects\").select(\"id, org_id, title\").eq(\"id\",parentId).maybeSingle(),supabase.from(\"project_variants\").select(\"id, parent_project_id, variant_project_id, org_id, region, locale, market, is_canonical, routing, created_at, projects:variant_project_id(title)\").eq(\"parent_project_id\",parentId).order(\"created_at\",{ascending:false})]);if(parentRes.error)throw parentRes.error;if(!parentRes.data)throw new Error(\"Parent project not found\");const parent=parentRes.data;setParentTitle(parent.title);setParentOrgId(parent.org_id);if(variantsRes.error)throw variantsRes.error;const vs=(variantsRes.data||[]).map(v=>({...v,variant_title:v.projects?.title||\"(unknown)\"}));setVariants(vs);// Load org users for the approver picker\nconst{data:users}=await supabase.from(\"users\").select(\"id, first_name, last_name, role\").eq(\"org_id\",parent.org_id).in(\"role\",[\"brand_exec\",\"brand_member\",\"producer\",\"agency_producer\"]).order(\"last_name\",{ascending:true}).limit(200);setOrgUsers(users||[]);}catch(e){setError(e?.message||\"Failed to load variants\");}finally{setLoading(false);}},[parentId]);useEffect(()=>{void load();},[load]);const toggleApprover=uid=>{setFormApprovers(prev=>prev.includes(uid)?prev.filter(x=>x!==uid):[...prev,uid]);};const submitVariant=useCallback(async()=>{if(!parentId)return;setCreating(true);setError(null);try{const routing={approvers:formApprovers,approval_threshold:Math.max(1,Math.min(formThreshold,formApprovers.length||1)),sla_hours:Math.max(1,formSlaHours),block_publish_below_threshold:formBlockPublish};const{data,error:e}=await supabase.rpc(\"clone_project_variant\",{p_parent_project_id:parentId,p_region:formRegion,p_locale:formLocale.trim()||null,p_market:formMarket.trim()||null,p_routing:routing});if(e)throw e;if(typeof window!==\"undefined\"&&data){// 2026-05-21 Phase 5 P1-B — Framer-safe anchor click instead of\n// window.location.href assignment. Hops to the new variant.\nconst newId=data;const a=document.createElement(\"a\");a.href=`/project?id=${newId}`;a.click();return;}await load();setShowForm(false);setFormRegion(\"us\");setFormLocale(\"\");setFormMarket(\"\");setFormApprovers([]);setFormThreshold(1);setFormSlaHours(48);setFormBlockPublish(true);}catch(e){setError(e?.message||\"Failed to create variant\");}finally{setCreating(false);}},[parentId,formRegion,formLocale,formMarket,formApprovers,formThreshold,formSlaHours,formBlockPublish,load]);const cardBase={background:T.card,border:`1px solid ${T.border}`,borderRadius:8,padding:14,boxSizing:\"border-box\"};// 2026-05-21 Phase 5 P1-B — branded SESSION REQUIRED screen. Renders before\n// the parentId fallback so signed-out users see the auth prompt, not a\n// misleading \"no project selected\" message.\nif(noSession){return /*#__PURE__*/_jsx(\"div\",{style:{...props.style,padding:\"60px 24px\",background:T.bg,color:T.gPale,fontFamily:T.fontBody,minHeight:240,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{textAlign:\"center\",maxWidth:360},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:T.fontMono,fontSize:10,color:T.gMed,letterSpacing:2,marginBottom:8},children:\"VARIANT CREATOR \\xb7 AUTH REQUIRED\"}),/*#__PURE__*/_jsx(\"h2\",{style:{fontFamily:T.fontHeading,color:T.white,fontSize:18,margin:\"0 0 8px 0\",fontWeight:600},children:\"SESSION REQUIRED\"}),/*#__PURE__*/_jsx(\"p\",{style:{color:T.gMed,fontSize:13,margin:0,lineHeight:1.5},children:\"Sign in to create or manage project variants.\"})]})});}if(!parentId){return /*#__PURE__*/_jsxs(\"div\",{style:{...props.style,padding:24,background:T.bg,color:T.gMed,fontFamily:T.fontMono,fontSize:11,textAlign:\"center\"},children:[\"NO PROJECT SELECTED \\xb7 pass \",/*#__PURE__*/_jsx(\"code\",{children:\"?project_id=<uuid>\"}),\" \",\"in the URL or set the \",/*#__PURE__*/_jsx(\"code\",{children:\"projectId\"}),\" prop.\"]});}return /*#__PURE__*/_jsxs(\"div\",{style:{...props.style,width:\"100%\",background:T.bg,color:T.gPale,fontFamily:T.fontBody,// Tier 31 Batch 6 — clear fixed GlobalNav (52 desktop / 48 mobile + safe-area-inset-top).\npaddingTop:`calc(60px + env(safe-area-inset-top, 0px))`,paddingLeft:20,paddingRight:20,paddingBottom:40,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                option { color: #000 !important; background: #fff !important; }\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:14,display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\",flexWrap:\"wrap\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:T.fontMono,fontSize:9,color:T.gMed,letterSpacing:1.5,marginBottom:4},children:\"REGIONAL VARIANTS\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:T.fontHeading,fontSize:18,fontWeight:600,color:T.white},children:parentTitle||\"Project\"})]}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>setShowForm(prev=>!prev),\"aria-label\":showForm?\"Cancel new variant\":\"Create regional variant\",style:{padding:\"8px 14px\",minHeight:36,background:showForm?`${T.gMid}`:`${T.purple}22`,color:showForm?T.gLight:T.purple,border:`1px solid ${showForm?T.gMid:T.purple+\"60\"}`,borderRadius:4,fontFamily:T.fontMono,fontSize:11,letterSpacing:1,cursor:\"pointer\"},children:showForm?\"✕ CANCEL\":\"+ CREATE REGIONAL VARIANT\"})]}),error&&/*#__PURE__*/_jsxs(\"div\",{style:{...cardBase,marginBottom:12,background:`${T.red}10`,border:`1px solid ${T.red}40`,color:T.red,fontFamily:T.fontMono,fontSize:11},children:[\"ERROR \\xb7 \",error]}),showForm&&/*#__PURE__*/_jsxs(\"div\",{style:{...cardBase,marginBottom:14,padding:18,borderColor:T.purple+\"40\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:T.fontMono,fontSize:10,color:T.purple,letterSpacing:1.5,marginBottom:12},children:\"NEW REGIONAL VARIANT\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:isMobile?\"1fr\":\"repeat(auto-fit, minmax(180px, 1fr))\",gap:12,marginBottom:14},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"vc-region\",style:{display:\"block\",fontFamily:T.fontMono,fontSize:9,color:T.gMed,letterSpacing:1,marginBottom:4},children:\"REGION\"}),/*#__PURE__*/_jsx(\"select\",{id:\"vc-region\",value:formRegion,onChange:e=>setFormRegion(e.target.value),style:{width:\"100%\",padding:\"8px 10px\",minHeight:36,background:T.bg,color:T.gPale,border:`1px solid ${T.gMid}`,borderRadius:4,fontFamily:T.fontMono,fontSize:12,outline:\"none\",cursor:\"pointer\"},children:REGION_OPTIONS.map(r=>/*#__PURE__*/_jsxs(\"option\",{value:r.code,children:[r.code,\" \\xb7 \",r.label]},r.code))})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"vc-locale\",style:{display:\"block\",fontFamily:T.fontMono,fontSize:9,color:T.gMed,letterSpacing:1,marginBottom:4},children:\"LOCALE (BCP 47)\"}),/*#__PURE__*/_jsx(\"input\",{id:\"vc-locale\",value:formLocale,onChange:e=>setFormLocale(e.target.value),placeholder:\"en-US, en-GB, fr-CA…\",style:{width:\"100%\",padding:\"8px 10px\",minHeight:36,boxSizing:\"border-box\",background:T.bg,color:T.gPale,border:`1px solid ${T.gMid}`,borderRadius:4,fontFamily:T.fontMono,fontSize:12,outline:\"none\"}})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"vc-market\",style:{display:\"block\",fontFamily:T.fontMono,fontSize:9,color:T.gMed,letterSpacing:1,marginBottom:4},children:\"MARKET (optional)\"}),/*#__PURE__*/_jsx(\"input\",{id:\"vc-market\",value:formMarket,onChange:e=>setFormMarket(e.target.value),placeholder:\"Charlotte, London, Sydney…\",style:{width:\"100%\",padding:\"8px 10px\",minHeight:36,boxSizing:\"border-box\",background:T.bg,color:T.gPale,border:`1px solid ${T.gMid}`,borderRadius:4,fontFamily:T.fontMono,fontSize:12,outline:\"none\"}})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:14},children:[/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",fontFamily:T.fontMono,fontSize:9,color:T.gMed,letterSpacing:1,marginBottom:6},children:[\"APPROVERS \\xb7 \",formApprovers.length,\" selected\"]}),/*#__PURE__*/_jsx(\"div\",{style:{maxHeight:160,overflowY:\"auto\",background:T.bg,border:`1px solid ${T.border}`,borderRadius:4,padding:8},children:orgUsers.length===0?/*#__PURE__*/_jsx(\"div\",{style:{color:T.gMed,fontFamily:T.fontMono,fontSize:11,padding:12,textAlign:\"center\"},children:\"No approvable users in this org.\"}):orgUsers.map(u=>{const checked=formApprovers.includes(u.id);const name=[u.first_name,u.last_name].filter(Boolean).join(\" \")||\"(unnamed)\";return /*#__PURE__*/_jsxs(\"label\",{style:{display:\"flex\",alignItems:\"center\",gap:8,padding:\"4px 6px\",cursor:\"pointer\",fontFamily:T.fontBody,fontSize:12,color:checked?T.white:T.gPale},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:checked,onChange:()=>toggleApprover(u.id),\"aria-label\":`Toggle ${name} as approver`,style:{accentColor:T.purple,cursor:\"pointer\"}}),/*#__PURE__*/_jsx(\"span\",{children:name}),/*#__PURE__*/_jsx(\"span\",{style:{marginLeft:\"auto\",fontFamily:T.fontMono,fontSize:9,color:T.gMed,letterSpacing:1},children:u.role.toUpperCase()})]},u.id);})})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:isMobile?\"1fr\":\"repeat(auto-fit, minmax(160px, 1fr))\",gap:12,marginBottom:14},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"vc-threshold\",style:{display:\"block\",fontFamily:T.fontMono,fontSize:9,color:T.gMed,letterSpacing:1,marginBottom:4},children:\"THRESHOLD (approvers required)\"}),/*#__PURE__*/_jsx(\"input\",{id:\"vc-threshold\",type:\"number\",min:1,max:Math.max(1,formApprovers.length),value:formThreshold,onChange:e=>setFormThreshold(parseInt(e.target.value,10)||1),style:{width:\"100%\",padding:\"8px 10px\",minHeight:36,boxSizing:\"border-box\",background:T.bg,color:T.gPale,border:`1px solid ${T.gMid}`,borderRadius:4,fontFamily:T.fontMono,fontSize:12,outline:\"none\"}})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"vc-sla\",style:{display:\"block\",fontFamily:T.fontMono,fontSize:9,color:T.gMed,letterSpacing:1,marginBottom:4},children:\"SLA HOURS\"}),/*#__PURE__*/_jsx(\"input\",{id:\"vc-sla\",type:\"number\",min:1,value:formSlaHours,onChange:e=>setFormSlaHours(parseInt(e.target.value,10)||48),style:{width:\"100%\",padding:\"8px 10px\",minHeight:36,boxSizing:\"border-box\",background:T.bg,color:T.gPale,border:`1px solid ${T.gMid}`,borderRadius:4,fontFamily:T.fontMono,fontSize:12,outline:\"none\"}})]}),/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsxs(\"label\",{style:{display:\"flex\",alignItems:\"center\",gap:8,fontFamily:T.fontBody,fontSize:12,color:T.gPale,marginTop:18,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:formBlockPublish,onChange:e=>setFormBlockPublish(e.target.checked),\"aria-label\":\"Block publish until threshold met\",style:{accentColor:T.purple,cursor:\"pointer\"}}),/*#__PURE__*/_jsx(\"span\",{children:\"Hard-block publish below threshold\"})]})})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"flex-end\",gap:8},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setShowForm(false),style:{padding:\"8px 14px\",minHeight:36,background:\"transparent\",color:T.gLight,border:`1px solid ${T.gMid}`,borderRadius:4,fontFamily:T.fontMono,fontSize:11,letterSpacing:1,cursor:\"pointer\"},children:\"CANCEL\"}),/*#__PURE__*/_jsx(\"button\",{onClick:submitVariant,disabled:creating||formApprovers.length===0,style:{padding:\"8px 16px\",minHeight:36,background:creating||formApprovers.length===0?T.gMid:T.purple,color:creating||formApprovers.length===0?T.gLight:T.white,border:\"none\",borderRadius:4,fontFamily:T.fontMono,fontSize:11,letterSpacing:1.2,cursor:creating||formApprovers.length===0?\"not-allowed\":\"pointer\"},children:creating?\"CREATING…\":\"CREATE VARIANT\"})]})]}),loading?/*#__PURE__*/_jsx(\"div\",{style:{...cardBase,color:T.gMed,fontFamily:T.fontMono,fontSize:11,textAlign:\"center\",padding:32},children:\"LOADING VARIANTS…\"}):variants.length===0?/*#__PURE__*/_jsxs(\"div\",{style:{...cardBase,color:T.gLight,fontFamily:T.fontBody,fontSize:13,textAlign:\"center\",padding:32,lineHeight:1.6},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:T.fontMono,fontSize:10,color:T.gMed,letterSpacing:1.5,marginBottom:8},children:\"NO REGIONAL VARIANTS YET\"}),\"Click \",/*#__PURE__*/_jsx(\"strong\",{children:\"+ CREATE REGIONAL VARIANT\"}),\" to fan this campaign out to a region with its own approver routing.\"]}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gap:8},children:variants.map(v=>{const approverCount=(v.routing?.approvers||[]).length;const threshold=v.routing?.approval_threshold||1;const sla=v.routing?.sla_hours||72;return /*#__PURE__*/_jsxs(\"a\",{href:`/project?id=${v.variant_project_id}`,style:{...cardBase,textDecoration:\"none\",display:\"grid\",// Tier 31 — single column on mobile so the approver-count metadata\n// stacks below the title instead of crowding the row width.\ngridTemplateColumns:isMobile?\"1fr\":\"1fr auto auto\",gap:isMobile?6:12,alignItems:isMobile?\"flex-start\":\"center\",color:T.gPale,borderLeft:`3px solid ${v.is_canonical?T.gold:T.purple}`},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{fontFamily:T.fontMono,fontSize:9,color:T.purple,letterSpacing:1.5,marginBottom:4},children:[v.region.toUpperCase(),v.locale?` \\xb7 ${v.locale}`:\"\",v.market?` \\xb7 ${v.market}`:\"\",v.is_canonical?\" \\xb7 CANONICAL\":\"\"]}),/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:T.fontBody,fontSize:14,color:T.white},children:v.variant_title})]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontFamily:T.fontMono,fontSize:10,color:T.gLight,textAlign:\"right\"},children:[approverCount,\" approver\",approverCount===1?\"\":\"s\",/*#__PURE__*/_jsx(\"br\",{}),\"threshold \",threshold,\" \\xb7 SLA \",sla,\"h\"]}),/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:T.fontMono,fontSize:14,color:T.gMed},children:\"›\"})]},v.id);})})]});}export default function ProjectVariantCreator(props){// Tier 30 — Framer-composition gate. When stacked under PDV on /project,\n// only render when PDV's active tab is \"Variants\". Otherwise render\n// normally (standalone /project/variants direct route still works).\nconst{visible}=usePdvVariantsGate();if(!visible)return null;return /*#__PURE__*/_jsx(ProjectVariantErrorBoundary,{children:/*#__PURE__*/_jsx(ProjectVariantCreatorInner,{...props})});}// 2026-05-21 Phase 5 P1-A — addPropertyControls(ProjectVariantCreator, {...}) removed.\n// projectId is consumed from props or window.location.search inside the component.\n\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProjectVariantCreator\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectVariantCreator.map"],"mappings":"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"}