@popmelt.com/core 0.28.2 → 0.28.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/claude-plugin/.claude-plugin/plugin.json +1 -1
- package/codex-plugin/.codex-plugin/plugin.json +1 -1
- package/dist/{ParticipantRuntime-SYIF75DS.mjs → ParticipantRuntime-U4YOVIGA.mjs} +10 -10
- package/dist/{PopmeltTasteConnectedPane-JO4QR6ZT.mjs → PopmeltTasteConnectedPane-ODOMXUNO.mjs} +1 -1
- package/dist/bridge-entry.mjs +1 -1
- package/dist/{browser-runtime-7YSJ2DPK.mjs → browser-runtime-2L55FIH3.mjs} +1 -1
- package/dist/browser.mjs +1 -1
- package/dist/{chunk-QUNV5PNI.mjs → chunk-3DUSECUJ.mjs} +1 -1
- package/dist/{chunk-TP3COBHM.mjs → chunk-5NOCGSQL.mjs} +78 -76
- package/dist/{chunk-DZI4H523.mjs → chunk-CKD6RNCO.mjs} +1 -1
- package/dist/{chunk-MIGCFNL4.mjs → chunk-ERUGF5VG.mjs} +18 -18
- package/dist/chunk-OYJINEC5.mjs +77 -0
- package/dist/chunk-YYK7MXEK.mjs +369 -0
- package/dist/cli.mjs +108 -106
- package/dist/index.mjs +1 -1
- package/dist/plugin-astro.mjs +1 -1
- package/dist/plugin-nuxt.mjs +1 -1
- package/dist/plugin-vite.mjs +1 -1
- package/dist/server.mjs +1 -1
- package/package.json +15 -7
- package/dist/chunk-264MDJPC.mjs +0 -369
- package/dist/chunk-A2UXK7AS.mjs +0 -77
- /package/dist/{chunk-VKFM7ZBT.mjs → chunk-L4G2KO2P.mjs} +0 -0
package/dist/{PopmeltTasteConnectedPane-JO4QR6ZT.mjs → PopmeltTasteConnectedPane-ODOMXUNO.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{b as Vn}from"./chunk-QUNV5PNI.mjs";import{T as Ne,Ra as Ge,sa as Wt,cb as Vr,db as Yn,Ma as Jn,N as _n,A as Yr}from"./chunk-A2UXK7AS.mjs";import"./chunk-MP7S5ALD.mjs";import{x as Xe,w as vr,e as Tt,f as mt,r as yr,l as qt,v as Jr,t as _r,b as Gn,p as Ot,g as rr,d as nr,j as Gr,c as Zr,o as Qr,k as Zn,s as Xr,m as en,h as Qn,i as br,q as Xn,a as ea,n as ta,u as ra}from"./chunk-O4HZP3RP.mjs";import"./chunk-XTOCFTVW.mjs";import{a as na}from"./chunk-LVEMYZOA.mjs";import"./chunk-XOGBFVWI.mjs";import"./chunk-HGW2U6PD.mjs";import{createContext as aa,useRef as D,useState as T,useSyncExternalStore as wr,useLayoutEffect as Pe,useEffect as le,useCallback as tn,useMemo as Ht,isValidElement as ia,useId as xr,Fragment as oa,createElement as la,useContext as sa}from"react";import{Search as kr,X as St,ChevronLeft as Cr,Component as da,PenLine as ca,History as ua,Eye as pa,Ruler as ha,Fingerprint as Ut,Plus as Ft,ChevronRight as Kt,RotateCw as fa,RotateCcw as ga,ArrowLeftRight as rn,Minimize2 as ma,Info as va,ChevronDown as ya,Check as ba,User as wa,ArrowRight as xa}from"lucide-react";import{jsx as i,jsxs as k,Fragment as Le}from"react/jsx-runtime";import{createPortal as nn}from"react-dom";var ar=["display","boxSizing","width","height","flexDirection","flexWrap","alignItems","justifyContent","alignSelf","flexGrow","flexShrink","gridTemplateColumns","rowGap","columnGap","gap","padding","paddingInline","paddingBlock","border","borderRadius","paddingTop","paddingRight","paddingBottom","paddingLeft","marginTop","marginRight","marginBottom","marginLeft","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","color","backgroundColor","backgroundImage","boxShadow","opacity","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","letterSpacing","textAlign","textTransform","textDecoration","whiteSpace","overflow","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","objectFit"],an=/^[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?$/i;function ka(e,t){return At(t)?e==="flexGrow"||e==="flexShrink"?an.test(t)&&Number.isFinite(Number(t))&&Number(t)>=0:["display","boxSizing","flexDirection","flexWrap","alignItems","justifyContent","alignSelf","textAlign","whiteSpace","overflow","strokeLinecap","strokeLinejoin","objectFit"].includes(e)?!an.test(t):/^(none|normal|auto|transparent|currentcolor)$/i.test(t)?!0:/^(?:width|height|gridTemplateColumns)$/.test(e)?/^(?:min-content|max-content|fit-content|subgrid)$/.test(t):/^(?:padding|margin|border.*Radius|gap|rowGap|columnGap|letterSpacing|strokeWidth)/.test(e)?/^0(?:px|em|rem|%)?$/.test(t):/^border(Top|Right|Bottom|Left)$/.test(e)?/^(?:0px\b|.*\bnone\b)/.test(t):e==="opacity"?t==="1":/^(?:backgroundColor|fill|stroke)$/.test(e)&&/^rgba\([^)]*,\s*0\)$/.test(t):!1}function Vt(e,t){return{...e,tokens:[...e.tokens,...t.tokens??[]]}}function Sr(e){return/^(width|height|marginTop|marginRight|marginBottom|marginLeft|gridTemplateColumns)$/.test(e)}var $t=e=>{throw new ra(e)},At=e=>typeof e=="string"&&e.length>0&&e.length<=512&&!/[;{}\\]|\b(?:url|expression|var)\s*\(/i.test(e)&&![...e].some(t=>t.charCodeAt(0)<32),$r=e=>typeof e=="string"&&/^[a-zA-Z0-9_-]{1,80}$/.test(e),Ca=new Set(["div","span","img","svg","path","circle","rect","line","polyline","polygon","ellipse","g"]),on=e=>typeof e=="string"&&e.length<=2e4&&/^(https?:\/\/|blob:https?:\/\/|data:image\/(png|jpeg|webp|gif);base64,)/i.test(e),Sa=new Set(["viewBox","d","cx","cy","r","rx","ry","x","y","x1","x2","y1","y2","width","height","points","transform","fillRule","clipRule"]);function $a(e){(!e||typeof e!="object"||JSON.stringify(e).length>24e4)&&$t("Invalid fragment capture.");let t=e,{evidence:r,draft:n}=t;(!r||!$r(r.id)||![r.width,r.height].every(d=>Number.isFinite(d)&&d>0&&d<=1e4)||!Array.isArray(r.values)||r.values.length>180||!n||!Array.isArray(n.constraints)||n.constraints.length>32||!Array.isArray(n.tokens)||n.tokens.length>128)&&$t("This component is too large to capture. Try a smaller element.");let o=new Set;for(let d of r.values)(!d||!$r(d.id)||o.has(d.id)||!ar.includes(d.property)||d.local!==void 0&&(d.local!==!0||!Sr(d.property))||!At(d.value))&&$t("Unsupported captured style."),o.add(d.id);let s=0,l=new Set,a=(d,f)=>{(!d||!$r(d.id)||l.has(d.id)||!Ca.has(d.tag)||++s>64||f>12||!Array.isArray(d.children)||d.children.length>128||!d.styles||typeof d.styles!="object")&&$t("This component is too complex. Try a smaller element."),l.add(d.id);for(let[u,g]of Object.entries(d.styles))r.values.some(y=>y.id===g&&y.property===u)||$t("Invalid captured style reference.");for(let[u,g]of Object.entries(d.attributes??{}))d.tag==="img"&&u==="src"&&on(g)||(!Sa.has(u)||typeof g!="string"||g.length>12e3||!/^[\d\w\s.,+()-]*$/.test(g))&&$t("Unsupported vector geometry.");for(let u of d.children)typeof u=="string"?u.length>2e3&&$t("Too much captured text."):a(u,f+1)};return a(r.root,0),t}function Yt(e,t,r){try{let n=["fontWeight","opacity","flexGrow","flexShrink","strokeWidth"].includes(r),o;if(t.kind==="token"){let s=e.tokens.find(l=>l.id===t.id);o=s?yr(s.value,e.constraints,!n):null}else{let s=Tt(e.constraints,t.id,t.step??0);o=mt(s),s.kind==="layout"&&!s.unit&&!n&&(o+="px")}return At(o)?o:null}catch{return null}}function ln(e,t){let r=["div","span","img"].includes(t.tag)?{all:"initial"}:{};for(let[n,o]of Object.entries(t.localStyles??{}))ar.includes(n)&&(ka(n,o)||Sr(n)&&At(o))&&(r[n]=["flexGrow","flexShrink","opacity","strokeWidth"].includes(n)&&Number.isFinite(Number(o))?Number(o):o);for(let[n,o]of Object.entries(t.styles)){if(!ar.includes(n))continue;let s=Yt(e,o,n);s!==null&&(r[n]=["fontWeight","opacity","flexGrow","flexShrink","strokeWidth"].includes(n)&&Number.isFinite(Number(s))?Number(s):s)}return r}function Rt(e,t=!1){if(typeof e!="string"||!e||e.length>800||!/^[a-z\d\s.,%+#()\-/]+$/i.test(e))return!1;let r=0;for(let s of e)if(s==="("&&++r>8||s===")"&&--r<0)return!1;if(r)return!1;let n=e.replace(/#[\da-f]{3,8}\b/gi,"").replace(/[-+]?(?:\d*\.)?\d+(?:e[-+]?\d+)?(?:px|rem|em|deg|turn|rad|%)?/gi,"").match(/[a-z][a-z-]*/gi)??[],o=new Set("none transparent black white currentcolor rgb rgba hsl hsla hwb oklch oklab lab lch color color-mix srgb srgb-linear display-p3 in shorter longer increasing decreasing hue solid dashed dotted double groove ridge inset outset".split(" "));if(t)for(let s of"linear-gradient radial-gradient conic-gradient repeating-linear-gradient repeating-radial-gradient repeating-conic-gradient to top right bottom left circle ellipse closest-side farthest-side closest-corner farthest-corner at center from".split(" "))o.add(s);return n.every(s=>o.has(s.toLowerCase()))}function Et(e){if(e.border===void 0)return e;let{border:t,...r}=e,n=String(t).match(/(?:[^\s(]+\([^)]*\)|[^\s]+)/g)??[],o=n.find(a=>/^(?:[\d.]+(?:[a-z%]+)?|thin|medium|thick)$/.test(a)),s=n.find(a=>/^(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)$/.test(a)),l=n.filter(a=>a!==o&&a!==s).join(" ");return{borderWidth:o??"medium",borderStyle:s??"none",borderColor:l||"currentColor",...r}}function vt(e){if(e.background===void 0)return e;let{background:t,...r}=e,n=String(t);if(typeof document<"u"){let o=document.createElement("span").style;if(o.background=n,o.background)return{backgroundColor:o.backgroundColor||"transparent",backgroundImage:o.backgroundImage||"none",...r}}return{backgroundColor:/gradient\(/i.test(n)||n==="none"?"transparent":n,backgroundImage:/gradient\(/i.test(n)?n:"none",...r}}function Rr(e){if(!e||typeof e!="object")return;let t={};for(let r of["body","heading","card","button","input"]){let n=e[r];if(!n||typeof n!="object")continue;let o={};for(let[s,l]of Object.entries(n)){let a=String(l??"");s==="fontFamily"&&a.length<=200&&/^[a-zA-Z][a-zA-Z0-9 ,"'_-]*$/.test(a.replace(/^["']/,""))&&(o[s]=a),s==="color"&&Rt(l)&&(o[s]=a),["background","backgroundColor","backgroundImage","border","borderColor","boxShadow","outline"].includes(s)&&Rt(l,s.startsWith("background"))&&(o[s]=a),s==="opacity"&&typeof l=="number"&&Number.isFinite(l)&&(o[s]=Math.max(0,Math.min(1,l))),s==="transform"&&a.length<150&&/^(?:none|(?:\s*(?:translate(?:X|Y)?\(-?[\d.]+(?:px|rem|%)(?:,\s*-?[\d.]+(?:px|rem|%))?\)|scale\(\d*\.?\d+\))\s*){1,3})$/.test(a)&&(o[s]=a),s==="transition"&&a.length<200&&/^(?:(?:all|color|background-color|border-color|box-shadow|transform|opacity)\s+\d*\.?\d+(?:ms|s)(?:\s+(?:ease|ease-in|ease-out|ease-in-out|linear))?\s*,?\s*){1,5}$/.test(a)&&(o[s]=a),s==="fontWeight"&&typeof l=="number"&&l>=100&&l<=900&&(o[s]=l),s==="fontStyle"&&["normal","italic"].includes(a)&&(o[s]=a),s==="textTransform"&&["none","uppercase","lowercase","capitalize"].includes(a)&&(o[s]=a),["fontSize","letterSpacing","lineHeight","padding","margin","marginTop","marginBottom","gap","borderRadius","borderWidth","outlineOffset"].includes(s)&&a.length<100&&/^-?\d*\.?\d+(?:px|rem|em|%)?(?:\s+-?\d*\.?\d+(?:px|rem|em|%)?){0,3}$/.test(a)&&(o[s]=a)}t[r]=o}return t}function Ze(e,t=640,r=!1){if(!e)return{};let n={...e};for(let[o,s]of Object.entries(n))o==="fontFamily"||o==="fontWeight"||!r&&typeof s=="string"&&(n[o]=s.replace(/(-?\d*\.?\d+)(px|rem)\b/g,(l,a,d)=>`${Math.max(-12,Math.min(12,Number(a)*(d==="rem"?16:1)/(t/100)))}cqw`));if(e.fontFamily){let o=sn(e.fontFamily);/^Geist\s?Mono$/i.test(o)?n.fontFamily='"Popmelt Geist Mono", ui-monospace, monospace':/^Geist$/i.test(o)?n.fontFamily='"Popmelt Geist", system-ui, sans-serif':o&&!dn(o)&&(n.fontFamily=`"Popmelt Taste ${o}", ${e.fontFamily}`)}return vt(Et(n))}var sn=e=>e.split(",")[0].trim().replace(/^["']|["']$/g,""),dn=e=>/^(inherit|initial|unset|serif|sans-serif|monospace|system-ui|ui-.+|Arial|Helvetica|Verdana|Georgia|Times New Roman|Courier New|SFMono-Regular|Menlo|Monaco|Consolas)$/i.test(e),Ir=new Map;function Ra(e){if(!e||typeof FontFace>"u"||!document.fonts)return Promise.resolve();let t=new Map;for(let r of Object.values(e)){if(!r?.fontFamily)continue;let n=sn(r.fontFamily);if(dn(n)||/^Geist(?:\s?Mono)?$/i.test(n)||!/^[a-zA-Z][a-zA-Z0-9 _-]{0,79}$/.test(n))continue;let o=Number(r.fontWeight)||400,s=r.fontStyle==="italic";t.set(`${n}:${o}:${s}`,{family:n,weight:o,italic:s})}return Promise.all([...t.entries()].slice(0,5).map(([r,n])=>{let o=Ir.get(r);if(o)return o;let s=(async()=>{let l=new AbortController,a=setTimeout(()=>l.abort(),8e3);try{let d=new URLSearchParams({family:`${n.family}:${n.italic?"ital,wght@1,":"wght@"}${n.weight}`,display:"swap"}),f=await fetch(`https://fonts.googleapis.com/css2?${d}`,{signal:l.signal,credentials:"omit",referrerPolicy:"no-referrer"});if(f.ok||(f=await fetch(`https://fonts.googleapis.com/css2?family=${encodeURIComponent(n.family)}&display=swap`,{signal:l.signal,credentials:"omit",referrerPolicy:"no-referrer"})),!f.ok)throw new Error("Font unavailable");if(![...(await f.text()).matchAll(/@font-face\s*\{([^}]+)\}/g)].slice(0,32).flatMap(u=>{let g=u[1],y=g.match(/url\((https:\/\/fonts\.gstatic\.com\/[^\s)"']+)\)/)?.[1];if(!y)return[];let v=new FontFace(`Popmelt Taste ${n.family}`,`url(${JSON.stringify(y)})`,{weight:g.match(/font-weight:\s*([^;]+);/)?.[1]??"400",style:g.match(/font-style:\s*([^;]+);/)?.[1]??"normal",unicodeRange:g.match(/unicode-range:\s*([^;]+);/)?.[1]??"U+0-10FFFF",display:"swap"});return document.fonts.add(v),[v]}).length)throw new Error("Font unavailable");await document.fonts.load(`${n.italic?"italic ":""}${n.weight} 16px "Popmelt Taste ${n.family}"`,"Your workspace A little space for big ideas. Create a project")}finally{clearTimeout(a)}})().catch(l=>{console.warn(`[Popmelt] Preview font ${n.family} unavailable; using its fallback.`,l instanceof Error?l.message:"Font request failed"),Ir.delete(r)});return Ir.set(r,s),s})).then(()=>{})}var et=e=>!!e&&typeof e=="object"&&!Array.isArray(e),Mt=(e,t=512)=>typeof e=="string"&&e.length<=t,zt=e=>Mt(e,100)&&/^[a-zA-Z0-9_-]+$/.test(e),Nr=e=>Mt(e,4096)&&![...e].some(t=>t.charCodeAt(0)<9)&&!/[;{}<>]|\b(?:url|expression|javascript)\s*[:(]/i.test(e),yt=(e,t)=>Object.keys(e).every(r=>t.includes(r)),Dt=(e,t)=>new Set(e.map(r=>r[t])).size===e.length,Lr=new Set("display boxSizing width height flexDirection flexWrap alignItems justifyContent alignSelf flexGrow flexShrink gridTemplateColumns rowGap columnGap gap padding paddingInline paddingBlock border borderRadius paddingTop paddingRight paddingBottom paddingLeft marginTop marginRight marginBottom marginLeft borderTop borderRight borderBottom borderLeft borderColor borderWidth borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius color backgroundColor backgroundImage boxShadow opacity fontFamily fontSize fontWeight fontStyle lineHeight letterSpacing textAlign textTransform textDecoration whiteSpace overflow fill stroke strokeWidth strokeLinecap strokeLinejoin objectFit".split(" ")),Ia=new Set("div span img svg path circle rect line polyline polygon ellipse g".split(" ")),Na=new Set("src alt viewBox d cx cy r x y x1 x2 y1 y2 rx ry width height points preserveAspectRatio transform fillRule clipRule".split(" "));function bt(e){return Array.isArray(e)?"["+e.map(bt).join(",")+"]":et(e)?"{"+Object.keys(e).sort().map(t=>JSON.stringify(t)+":"+bt(e[t])).join(",")+"}":JSON.stringify(e)}function La(e){try{if(!et(e)||!yt(e,["format","schemaVersion","draft"])||e.format!=="popmelt.taste.graph"||e.schemaVersion!==1||new TextEncoder().encode(JSON.stringify(e)).byteLength>512e3)return!1;let t=e.draft;if(!et(t)||!yt(t,["schemaVersion","name","constraints","tokens","usage","fragments","featuredComponentId"])||t.schemaVersion!==1||!Mt(t.name,80)||!t.name.trim()||!Array.isArray(t.constraints)||t.constraints.length<1||t.constraints.length>32||!t.constraints.every(a=>et(a)&&yt(a,["id","name","kind","group","typographyRole","scaleMode","value","parentId","derivative","scale"])&&zt(a.id)&&Mt(a.name,80)&&(a.group===void 0||a.group==="typography")&&(a.typographyRole===void 0||a.typographyRole==="body"||a.typographyRole==="heading")&&["layout","color","font"].includes(String(a.kind))&&Nr(a.value)&&(a.parentId===null||zt(a.parentId))&&Number.isFinite(a.derivative)&&Number.isFinite(a.scale)&&typeof a.scale=="number"&&a.scale>=0&&(a.scaleMode===void 0||a.scaleMode==="increment"))||!Dt(t.constraints,"id"))return!1;let r=new Map(t.constraints.map(a=>[String(a.id),a]));for(let a of t.constraints){let d=new Set,f=a;for(;f.parentId!==null;){if(d.has(f.id))return!1;d.add(f.id);let u=r.get(f.parentId);if(!u||u.kind!==f.kind)return!1;f=u}if(!f.value.trim())return!1}let n=a=>Array.isArray(a)&&a.length<=128&&a.every(d=>et(d)&&yt(d,["id","name","value"])&&zt(d.id)&&zt(d.name)&&Nr(d.value)&&d.value.trim()&&[...d.value.matchAll(/@([a-zA-Z0-9_-]+)/g)].every(f=>r.has(f[1])))&&Dt(a,"id")&&Dt(a,"name");if(!n(t.tokens))return!1;let o=t.tokens,s=(a,d)=>et(a)&&yt(a,["kind","id","step"])&&(a.kind==="dimension"?r.has(String(a.id)):a.kind==="token"&&d.some(f=>f.id===a.id))&&(a.step===void 0||typeof a.step=="number"&&Number.isInteger(a.step)&&Math.abs(a.step)<=100);if(t.usage!==void 0&&(!Array.isArray(t.usage)||t.usage.length>256||!t.usage.every(a=>et(a)&&yt(a,["target","property","source"])&&["page","heading","body","muted","card","button","input"].includes(String(a.target))&&Lr.has(String(a.property))&&s(a.source,o))))return!1;let l=t.fragments??[];if(!Array.isArray(l)||l.length>32||!Dt(l,"id"))return!1;for(let a of l){if(!et(a)||!yt(a,["id","name","width","height","root","tokens"])||!zt(a.id)||!Mt(a.name,80)||!a.name.trim()||![a.width,a.height].every(v=>typeof v=="number"&&Number.isFinite(v)&&v>0&&v<=2e4)||!n(a.tokens??[]))return!1;let d=a.tokens??[];if(!n(d))return!1;let f=[...o,...d];if(!Dt(f,"id")||!Dt(f,"name"))return!1;let u=new Set,g=0,y=(v,C)=>typeof v=="string"?v.length<=1e4:!et(v)||!yt(v,["id","tag","styles","localStyles","attributes","children"])||!zt(v.id)||u.has(v.id)||++g>256||C>16||!Ia.has(String(v.tag))||!et(v.styles)||!Array.isArray(v.children)||v.children.length>256||(u.add(v.id),!Object.entries(v.styles).every(([c,b])=>Lr.has(c)&&s(b,f)))||v.localStyles!==void 0&&(!et(v.localStyles)||!Object.entries(v.localStyles).every(([c,b])=>Lr.has(c)&&Nr(b)))||v.attributes!==void 0&&(!et(v.attributes)||!Object.entries(v.attributes).every(([c,b])=>Na.has(c)&&Mt(b,2e4)&&(c!=="src"||/^https:\/\//.test(b))))?!1:v.children.every(c=>y(c,C+1));if(!y(a.root,0))return!1}return t.featuredComponentId==null||l.some(a=>a.id===t.featuredComponentId)}catch{return!1}}function It(e){if(!La(e))return;let t=e;try{for(let r of t.draft.constraints)Tt(t.draft.constraints,r.id);for(let r of t.draft.fragments??[]){let n=Vt(t.draft,r),o=s=>Object.entries(s.styles).every(([l,a])=>Yt(n,a,l)!==null)&&s.children.every(l=>typeof l=="string"||o(l));if(!o(r.root))return}return t}catch{return}}function Tr(e){let t={format:"popmelt.taste.graph",schemaVersion:1,draft:e};if(!It(t))throw Error("This Taste has incomplete or invalid dimensions, tokens, or component bindings.");return t}function wt(e){if(!e||typeof e!="object")return;let t=e;for(let o of["background","surface","foreground","muted","accent","border"])if(!Rt(t[o],!0))return;for(let o of["radius","spacing"])if(typeof t[o]!="number"||!Number.isFinite(t[o])||t[o]<0||t[o]>32)return;let r={...t};delete r.savedDocument;let n=t.savedDocument;if(n&&typeof n.id=="string"&&Number.isSafeInteger(n.revision)&&n.revision>0&&It(n.document)&&(r.savedDocument=n),delete r.detail,t.detail!==void 0&&(r.detail=Rr(t.detail)),delete r.states,t.states&&typeof t.states=="object"){r.states={};for(let o of["card","button","input"]){let s=t.states[o];if(!(!s||typeof s!="object")){r.states[o]={};for(let l of["hover","focus","active"])r.states[o][l]=Rr({[o]:s[l]})?.[o]}}}if(delete r.parts,t.parts!==void 0){if(!t.parts||typeof t.parts!="object")return;let o={};for(let s of["card","button","content"]){let l=t.parts[s];if(!l||typeof l.radius!="number"||!Number.isFinite(l.radius)||l.radius<0||l.radius>999)return;let a=l.backdropFilter;o[s]={background:Rt(l.background,!0)?l.background:r.surface,border:Rt(l.border)?l.border:`1px solid ${r.border}`,radius:l.radius,shadow:Rt(l.shadow)?l.shadow:"none",...l.backgroundImage!==void 0?{backgroundImage:Rt(l.backgroundImage,!0)?l.backgroundImage:"none"}:{},...l.backgroundBlendMode!==void 0?{backgroundBlendMode:["normal","overlay","multiply","screen","soft-light","hard-light"].includes(l.backgroundBlendMode)?l.backgroundBlendMode:"normal"}:{},...a!==void 0?{backdropFilter:typeof a=="string"&&a.length<150&&/^(?:none|(?:\s*(?:blur\(\d*\.?\d+(?:px|rem)\)|saturate\(\d*\.?\d+%?\))\s*){1,3})$/.test(a)?a:"none"}:{},...l.opacity!==void 0?{opacity:Number.isFinite(l.opacity)?Math.max(0,Math.min(1,l.opacity)):1}:{}}}r.parts=o}return(!Number.isSafeInteger(r.recipeRevision)||r.recipeRevision<0)&&delete r.recipeRevision,(typeof r.contentRevision!="string"||!/^[a-f\d]{24}$/.test(r.contentRevision))&&delete r.contentRevision,r}function Ta({recipe:e}){let t=e.radius*.45,r=o=>o.replace(/(-?\d*\.?\d+)(px|rem)\b/g,(s,l,a)=>`${Math.max(-32,Math.min(32,Number(l)*(a==="rem"?16:1)*.45))}px`),n=o=>o?{background:o.background,...o.backgroundImage&&o.backgroundImage!=="none"?{backgroundImage:o.backgroundImage}:{},backgroundBlendMode:o.backgroundBlendMode,backdropFilter:o.backdropFilter?r(o.backdropFilter).replace(/saturate\(([\d.]+)%\)/g,(s,l)=>`saturate(${Math.min(400,Number(l))}%)`):void 0,WebkitBackdropFilter:o.backdropFilter?r(o.backdropFilter):void 0,opacity:o.opacity,border:r(o.border),borderRadius:o.radius*.45,boxShadow:r(o.shadow)}:{};return i("span",{"data-taste-specimen":!0,"aria-hidden":"true",style:{position:"absolute",inset:0,background:e.background,pointerEvents:"none",overflow:"hidden"},children:k("span",{"data-specimen-window":!0,style:{position:"absolute",left:"19.23%",top:"19.23%",width:"110%",height:"110%",background:e.surface,border:`1px solid ${e.border}`,borderRadius:t,overflow:"hidden",boxSizing:"border-box",...n(e.parts?.card),borderTopRightRadius:0,borderBottomRightRadius:0,borderBottomLeftRadius:0},children:[i("span",{"data-specimen-title":!0,style:{position:"absolute",left:0,top:0,width:"100%",height:"18.18%",background:e.parts?"transparent":e.accent}}),i("span",{"data-specimen-control":!0,style:{position:"absolute",left:"7.95%",top:"26.14%",width:"90.91%",height:"18.18%",background:e.muted,border:`1px solid ${e.border}`,borderRadius:t*.6,boxSizing:"border-box",...n(e.parts?.button)}}),i("span",{"data-specimen-content":!0,style:{position:"absolute",left:"7.95%",top:"53.41%",width:"90.91%",height:"67.05%",background:e.background,border:`1px solid ${e.border}`,borderRadius:t*.6,boxSizing:"border-box",...n(e.parts?.content)}})]})})}function Jt(e,t=!1,r=640){let[n,o]=T(!1),[s,l]=T(!1),[a,d]=T(!1);return{handlers:{onPointerEnter:()=>o(!0),onPointerLeave:()=>{o(!1),d(!1)},onPointerDown:()=>d(!0),onPointerUp:()=>d(!1),onPointerCancel:()=>d(!1),onKeyDown:f=>{t&&["Enter"," "].includes(f.key)&&d(!0)},onKeyUp:()=>d(!1),onFocus:()=>l(!0),onBlur:()=>{l(!1),d(!1)}},style:{...Ze(n?e?.hover:void 0,r),...Ze(s?e?.focus:void 0,r),...Ze(a?e?.active:void 0,r)}}}function Ar({recipe:e,usageStyles:t}){let r=t!==void 0,n=u=>Ze({...e.detail?.[u]??{},...t?.[u]},640,r),o=Jt(e.states?.button,!0),s=Jt(e.states?.input),l=Jt(e.states?.card),a=r?`${e.spacing}px`:`${e.spacing/6.4}cqw`;le(()=>{Ra({...e.detail,...t})},[e.detail,t]);let d=u=>u.replace(/(-?\d*\.?\d+)(px|rem)\b/g,(g,y,v)=>`${Math.max(-16,Math.min(16,Number(y)*(v==="rem"?16:1)/6.4))}cqw`),f=u=>u?{...vt({background:u.background}),...u.backgroundImage&&u.backgroundImage!=="none"?{backgroundImage:u.backgroundImage}:{},backgroundBlendMode:u.backgroundBlendMode,...Et({border:d(u.border)}),borderRadius:`${u.radius/6.4}cqw`,boxShadow:d(u.shadow),backdropFilter:u.backdropFilter?d(u.backdropFilter):void 0,WebkitBackdropFilter:u.backdropFilter?d(u.backdropFilter):void 0,opacity:u.opacity}:{};return i("div",{"data-taste-detail-specimen":!0,role:"group","aria-label":"Interactive taste preview",style:{position:r?"relative":"absolute",...r?{width:640,padding:0,boxSizing:"border-box"}:{inset:0},containerType:"inline-size",...vt({background:e.background}),color:e.foreground,fontSynthesis:"none",...n("body"),...n("page"),overflow:r?"visible":"hidden"},children:i("div",{"data-taste-component":"card",style:{position:r?"relative":"absolute",...r?{}:{inset:"9% 8%"},...vt({background:e.surface}),...Et({border:`1px solid ${e.border}`}),borderRadius:e.radius,...f(e.parts?.card),padding:r?0:"5cqw",boxSizing:"border-box",display:"flex",flexDirection:"column",gap:a,...n("card")},children:k("div",{style:{display:"grid",gridTemplateColumns:"1.35fr 1fr",gap:r?n("card").gap??a:`calc(${a} * 2)`,alignItems:"center",flex:1,minHeight:0},children:[k("div",{children:[k("h2",{"data-taste-component":"heading",style:{margin:0,fontWeight:"inherit",lineHeight:1.1,letterSpacing:"-0.03em",marginBottom:a,...n("heading"),...r?{}:{fontSize:`clamp(3.8cqw, ${Ze(e.detail?.heading).fontSize??"4.6cqw"}, 5.4cqw)`}},children:["A little space",i("br",{}),"for big ideas."]}),k("p",{"data-taste-component":"paragraph",style:{margin:0,fontSize:r?"inherit":"2.4cqw",lineHeight:1.5,marginBottom:a,...n("body"),...n("muted")},children:["Gather your thoughts.",i("br",{}),"Make something your own."]}),i("button",{"data-taste-component":"button",...o.handlers,type:"button",style:{fontFamily:"inherit",color:"inherit",display:"inline-block",...vt({background:e.accent}),...Et({border:`1px solid ${e.border}`}),borderRadius:e.radius,...f(e.parts?.button),padding:r?0:"1.5cqw 2.5cqw",fontSize:r?"inherit":"2.3cqw",fontWeight:"inherit",lineHeight:1.2,...n("button"),cursor:"pointer",...o.style},children:"Create a project \u2197"})]}),k("div",{"data-taste-component":"card",...l.handlers,style:{...vt({background:e.surface}),...Et({border:`1px solid ${e.border}`}),borderRadius:e.radius,...f(e.parts?.card),padding:r?0:"3cqw",fontSize:r?"inherit":"2.1cqw",lineHeight:1.5,...n("card"),...l.style},children:[i("h3",{"data-taste-component":"heading",style:{margin:0,fontWeight:"inherit",...n("heading"),...r?{}:{fontSize:"2.6cqw"},marginBottom:a},children:"In the works"}),i("input",{"data-taste-component":"input",...s.handlers,"aria-label":"Preview project name",defaultValue:"A fresh start",style:{appearance:"none",outline:"none",borderWidth:0,borderStyle:"none",borderColor:"transparent",...vt({background:"transparent"}),...f(e.parts?.content),font:"inherit",color:"inherit",padding:r?0:"1.5cqw",...n("input"),width:"100%",minWidth:0,boxSizing:"border-box",marginBottom:a,...s.style}}),i("div",{children:"02 \xA0 What comes next"})]})]})})})}function cn({children:e}){let t=Ge.dark,r=D(null),[n,o]=T(),[s,l]=T({scale:1,x:0,y:0}),a=D(s);return le(()=>{let d=r.current;if(!d)return;let f=()=>o({width:d.clientWidth,height:d.clientHeight});f();let u=typeof ResizeObserver<"u"?new ResizeObserver(f):void 0;u?.observe(d);let g=()=>window.matchMedia("(any-hover: hover) and (any-pointer: fine)").matches,y=(h,p,m)=>{h=Math.max(1,Math.min(4,h));let N={scale:h,x:Math.max(1-h,Math.min(0,p)),y:Math.max(1-h,Math.min(0,m))};a.current=N,l(N)},v=(h,p,m)=>{let N=d.getBoundingClientRect();if(!N.width||!N.height)return;let A=a.current,P=Math.max(1,Math.min(4,h)),q=Math.max(0,Math.min(1,(p-N.left)/N.width)),x=Math.max(0,Math.min(1,(m-N.top)/N.height));y(P,q-(q-A.x)*P/A.scale,x-(x-A.y)*P/A.scale)},C=null,c=h=>{if(!g()||!h.ctrlKey&&a.current.scale===1)return;h.preventDefault(),h.stopPropagation();let p=h.deltaMode===1?16:h.deltaMode===2?d.clientHeight:1;if(h.ctrlKey)C===null&&v(a.current.scale*Math.exp(-h.deltaY*p*.01),h.clientX,h.clientY);else{let m=d.getBoundingClientRect();m.width&&m.height&&y(a.current.scale,a.current.x-h.deltaX*p/m.width,a.current.y-h.deltaY*p/m.height)}},b=h=>{if(!g())return;h.preventDefault(),h.stopPropagation();let p=h;h.type==="gesturestart"?C=a.current.scale:h.type==="gestureend"?C=null:C!==null&&Number.isFinite(p.scale)&&v(C*p.scale,p.clientX,p.clientY)};d.addEventListener("wheel",c,{passive:!1});for(let h of["gesturestart","gesturechange","gestureend"])d.addEventListener(h,b,{passive:!1});return()=>{u?.disconnect(),d.removeEventListener("wheel",c);for(let h of["gesturestart","gesturechange","gestureend"])d.removeEventListener(h,b)}},[]),k("div",{ref:r,"data-preview-zoom":!0,style:{position:"relative",width:"100%",aspectRatio:"16 / 9",overflow:"hidden",borderRadius:8},children:[i("div",{"data-preview-zoom-content":!0,style:{width:n?.width||"100%",height:n?.height||"100%",zoom:s.scale,transformOrigin:"0 0",transform:`translate(${s.x*100/s.scale}%, ${s.y*100/s.scale}%)`},children:e}),s.scale>1&&k(Le,{children:[i("style",{children:`
|
|
2
|
+
import{b as Vn}from"./chunk-3DUSECUJ.mjs";import{T as Ne,Ra as Ge,sa as Wt,cb as Vr,db as Yn,Ma as Jn,N as _n,A as Yr}from"./chunk-OYJINEC5.mjs";import"./chunk-MP7S5ALD.mjs";import{x as Xe,w as vr,e as Tt,f as mt,r as yr,l as qt,v as Jr,t as _r,b as Gn,p as Ot,g as rr,d as nr,j as Gr,c as Zr,o as Qr,k as Zn,s as Xr,m as en,h as Qn,i as br,q as Xn,a as ea,n as ta,u as ra}from"./chunk-O4HZP3RP.mjs";import"./chunk-XTOCFTVW.mjs";import{a as na}from"./chunk-LVEMYZOA.mjs";import"./chunk-XOGBFVWI.mjs";import"./chunk-HGW2U6PD.mjs";import{createContext as aa,useRef as D,useState as T,useSyncExternalStore as wr,useLayoutEffect as Pe,useEffect as le,useCallback as tn,useMemo as Ht,isValidElement as ia,useId as xr,Fragment as oa,createElement as la,useContext as sa}from"react";import{Search as kr,X as St,ChevronLeft as Cr,Component as da,PenLine as ca,History as ua,Eye as pa,Ruler as ha,Fingerprint as Ut,Plus as Ft,ChevronRight as Kt,RotateCw as fa,RotateCcw as ga,ArrowLeftRight as rn,Minimize2 as ma,Info as va,ChevronDown as ya,Check as ba,User as wa,ArrowRight as xa}from"lucide-react";import{jsx as i,jsxs as k,Fragment as Le}from"react/jsx-runtime";import{createPortal as nn}from"react-dom";var ar=["display","boxSizing","width","height","flexDirection","flexWrap","alignItems","justifyContent","alignSelf","flexGrow","flexShrink","gridTemplateColumns","rowGap","columnGap","gap","padding","paddingInline","paddingBlock","border","borderRadius","paddingTop","paddingRight","paddingBottom","paddingLeft","marginTop","marginRight","marginBottom","marginLeft","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","color","backgroundColor","backgroundImage","boxShadow","opacity","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","letterSpacing","textAlign","textTransform","textDecoration","whiteSpace","overflow","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","objectFit"],an=/^[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?$/i;function ka(e,t){return At(t)?e==="flexGrow"||e==="flexShrink"?an.test(t)&&Number.isFinite(Number(t))&&Number(t)>=0:["display","boxSizing","flexDirection","flexWrap","alignItems","justifyContent","alignSelf","textAlign","whiteSpace","overflow","strokeLinecap","strokeLinejoin","objectFit"].includes(e)?!an.test(t):/^(none|normal|auto|transparent|currentcolor)$/i.test(t)?!0:/^(?:width|height|gridTemplateColumns)$/.test(e)?/^(?:min-content|max-content|fit-content|subgrid)$/.test(t):/^(?:padding|margin|border.*Radius|gap|rowGap|columnGap|letterSpacing|strokeWidth)/.test(e)?/^0(?:px|em|rem|%)?$/.test(t):/^border(Top|Right|Bottom|Left)$/.test(e)?/^(?:0px\b|.*\bnone\b)/.test(t):e==="opacity"?t==="1":/^(?:backgroundColor|fill|stroke)$/.test(e)&&/^rgba\([^)]*,\s*0\)$/.test(t):!1}function Vt(e,t){return{...e,tokens:[...e.tokens,...t.tokens??[]]}}function Sr(e){return/^(width|height|marginTop|marginRight|marginBottom|marginLeft|gridTemplateColumns)$/.test(e)}var $t=e=>{throw new ra(e)},At=e=>typeof e=="string"&&e.length>0&&e.length<=512&&!/[;{}\\]|\b(?:url|expression|var)\s*\(/i.test(e)&&![...e].some(t=>t.charCodeAt(0)<32),$r=e=>typeof e=="string"&&/^[a-zA-Z0-9_-]{1,80}$/.test(e),Ca=new Set(["div","span","img","svg","path","circle","rect","line","polyline","polygon","ellipse","g"]),on=e=>typeof e=="string"&&e.length<=2e4&&/^(https?:\/\/|blob:https?:\/\/|data:image\/(png|jpeg|webp|gif);base64,)/i.test(e),Sa=new Set(["viewBox","d","cx","cy","r","rx","ry","x","y","x1","x2","y1","y2","width","height","points","transform","fillRule","clipRule"]);function $a(e){(!e||typeof e!="object"||JSON.stringify(e).length>24e4)&&$t("Invalid fragment capture.");let t=e,{evidence:r,draft:n}=t;(!r||!$r(r.id)||![r.width,r.height].every(d=>Number.isFinite(d)&&d>0&&d<=1e4)||!Array.isArray(r.values)||r.values.length>180||!n||!Array.isArray(n.constraints)||n.constraints.length>32||!Array.isArray(n.tokens)||n.tokens.length>128)&&$t("This component is too large to capture. Try a smaller element.");let o=new Set;for(let d of r.values)(!d||!$r(d.id)||o.has(d.id)||!ar.includes(d.property)||d.local!==void 0&&(d.local!==!0||!Sr(d.property))||!At(d.value))&&$t("Unsupported captured style."),o.add(d.id);let s=0,l=new Set,a=(d,f)=>{(!d||!$r(d.id)||l.has(d.id)||!Ca.has(d.tag)||++s>64||f>12||!Array.isArray(d.children)||d.children.length>128||!d.styles||typeof d.styles!="object")&&$t("This component is too complex. Try a smaller element."),l.add(d.id);for(let[u,g]of Object.entries(d.styles))r.values.some(y=>y.id===g&&y.property===u)||$t("Invalid captured style reference.");for(let[u,g]of Object.entries(d.attributes??{}))d.tag==="img"&&u==="src"&&on(g)||(!Sa.has(u)||typeof g!="string"||g.length>12e3||!/^[\d\w\s.,+()-]*$/.test(g))&&$t("Unsupported vector geometry.");for(let u of d.children)typeof u=="string"?u.length>2e3&&$t("Too much captured text."):a(u,f+1)};return a(r.root,0),t}function Yt(e,t,r){try{let n=["fontWeight","opacity","flexGrow","flexShrink","strokeWidth"].includes(r),o;if(t.kind==="token"){let s=e.tokens.find(l=>l.id===t.id);o=s?yr(s.value,e.constraints,!n):null}else{let s=Tt(e.constraints,t.id,t.step??0);o=mt(s),s.kind==="layout"&&!s.unit&&!n&&(o+="px")}return At(o)?o:null}catch{return null}}function ln(e,t){let r=["div","span","img"].includes(t.tag)?{all:"initial"}:{};for(let[n,o]of Object.entries(t.localStyles??{}))ar.includes(n)&&(ka(n,o)||Sr(n)&&At(o))&&(r[n]=["flexGrow","flexShrink","opacity","strokeWidth"].includes(n)&&Number.isFinite(Number(o))?Number(o):o);for(let[n,o]of Object.entries(t.styles)){if(!ar.includes(n))continue;let s=Yt(e,o,n);s!==null&&(r[n]=["fontWeight","opacity","flexGrow","flexShrink","strokeWidth"].includes(n)&&Number.isFinite(Number(s))?Number(s):s)}return r}function Rt(e,t=!1){if(typeof e!="string"||!e||e.length>800||!/^[a-z\d\s.,%+#()\-/]+$/i.test(e))return!1;let r=0;for(let s of e)if(s==="("&&++r>8||s===")"&&--r<0)return!1;if(r)return!1;let n=e.replace(/#[\da-f]{3,8}\b/gi,"").replace(/[-+]?(?:\d*\.)?\d+(?:e[-+]?\d+)?(?:px|rem|em|deg|turn|rad|%)?/gi,"").match(/[a-z][a-z-]*/gi)??[],o=new Set("none transparent black white currentcolor rgb rgba hsl hsla hwb oklch oklab lab lch color color-mix srgb srgb-linear display-p3 in shorter longer increasing decreasing hue solid dashed dotted double groove ridge inset outset".split(" "));if(t)for(let s of"linear-gradient radial-gradient conic-gradient repeating-linear-gradient repeating-radial-gradient repeating-conic-gradient to top right bottom left circle ellipse closest-side farthest-side closest-corner farthest-corner at center from".split(" "))o.add(s);return n.every(s=>o.has(s.toLowerCase()))}function Et(e){if(e.border===void 0)return e;let{border:t,...r}=e,n=String(t).match(/(?:[^\s(]+\([^)]*\)|[^\s]+)/g)??[],o=n.find(a=>/^(?:[\d.]+(?:[a-z%]+)?|thin|medium|thick)$/.test(a)),s=n.find(a=>/^(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)$/.test(a)),l=n.filter(a=>a!==o&&a!==s).join(" ");return{borderWidth:o??"medium",borderStyle:s??"none",borderColor:l||"currentColor",...r}}function vt(e){if(e.background===void 0)return e;let{background:t,...r}=e,n=String(t);if(typeof document<"u"){let o=document.createElement("span").style;if(o.background=n,o.background)return{backgroundColor:o.backgroundColor||"transparent",backgroundImage:o.backgroundImage||"none",...r}}return{backgroundColor:/gradient\(/i.test(n)||n==="none"?"transparent":n,backgroundImage:/gradient\(/i.test(n)?n:"none",...r}}function Rr(e){if(!e||typeof e!="object")return;let t={};for(let r of["body","heading","card","button","input"]){let n=e[r];if(!n||typeof n!="object")continue;let o={};for(let[s,l]of Object.entries(n)){let a=String(l??"");s==="fontFamily"&&a.length<=200&&/^[a-zA-Z][a-zA-Z0-9 ,"'_-]*$/.test(a.replace(/^["']/,""))&&(o[s]=a),s==="color"&&Rt(l)&&(o[s]=a),["background","backgroundColor","backgroundImage","border","borderColor","boxShadow","outline"].includes(s)&&Rt(l,s.startsWith("background"))&&(o[s]=a),s==="opacity"&&typeof l=="number"&&Number.isFinite(l)&&(o[s]=Math.max(0,Math.min(1,l))),s==="transform"&&a.length<150&&/^(?:none|(?:\s*(?:translate(?:X|Y)?\(-?[\d.]+(?:px|rem|%)(?:,\s*-?[\d.]+(?:px|rem|%))?\)|scale\(\d*\.?\d+\))\s*){1,3})$/.test(a)&&(o[s]=a),s==="transition"&&a.length<200&&/^(?:(?:all|color|background-color|border-color|box-shadow|transform|opacity)\s+\d*\.?\d+(?:ms|s)(?:\s+(?:ease|ease-in|ease-out|ease-in-out|linear))?\s*,?\s*){1,5}$/.test(a)&&(o[s]=a),s==="fontWeight"&&typeof l=="number"&&l>=100&&l<=900&&(o[s]=l),s==="fontStyle"&&["normal","italic"].includes(a)&&(o[s]=a),s==="textTransform"&&["none","uppercase","lowercase","capitalize"].includes(a)&&(o[s]=a),["fontSize","letterSpacing","lineHeight","padding","margin","marginTop","marginBottom","gap","borderRadius","borderWidth","outlineOffset"].includes(s)&&a.length<100&&/^-?\d*\.?\d+(?:px|rem|em|%)?(?:\s+-?\d*\.?\d+(?:px|rem|em|%)?){0,3}$/.test(a)&&(o[s]=a)}t[r]=o}return t}function Ze(e,t=640,r=!1){if(!e)return{};let n={...e};for(let[o,s]of Object.entries(n))o==="fontFamily"||o==="fontWeight"||!r&&typeof s=="string"&&(n[o]=s.replace(/(-?\d*\.?\d+)(px|rem)\b/g,(l,a,d)=>`${Math.max(-12,Math.min(12,Number(a)*(d==="rem"?16:1)/(t/100)))}cqw`));if(e.fontFamily){let o=sn(e.fontFamily);/^Geist\s?Mono$/i.test(o)?n.fontFamily='"Popmelt Geist Mono", ui-monospace, monospace':/^Geist$/i.test(o)?n.fontFamily='"Popmelt Geist", system-ui, sans-serif':o&&!dn(o)&&(n.fontFamily=`"Popmelt Taste ${o}", ${e.fontFamily}`)}return vt(Et(n))}var sn=e=>e.split(",")[0].trim().replace(/^["']|["']$/g,""),dn=e=>/^(inherit|initial|unset|serif|sans-serif|monospace|system-ui|ui-.+|Arial|Helvetica|Verdana|Georgia|Times New Roman|Courier New|SFMono-Regular|Menlo|Monaco|Consolas)$/i.test(e),Ir=new Map;function Ra(e){if(!e||typeof FontFace>"u"||!document.fonts)return Promise.resolve();let t=new Map;for(let r of Object.values(e)){if(!r?.fontFamily)continue;let n=sn(r.fontFamily);if(dn(n)||/^Geist(?:\s?Mono)?$/i.test(n)||!/^[a-zA-Z][a-zA-Z0-9 _-]{0,79}$/.test(n))continue;let o=Number(r.fontWeight)||400,s=r.fontStyle==="italic";t.set(`${n}:${o}:${s}`,{family:n,weight:o,italic:s})}return Promise.all([...t.entries()].slice(0,5).map(([r,n])=>{let o=Ir.get(r);if(o)return o;let s=(async()=>{let l=new AbortController,a=setTimeout(()=>l.abort(),8e3);try{let d=new URLSearchParams({family:`${n.family}:${n.italic?"ital,wght@1,":"wght@"}${n.weight}`,display:"swap"}),f=await fetch(`https://fonts.googleapis.com/css2?${d}`,{signal:l.signal,credentials:"omit",referrerPolicy:"no-referrer"});if(f.ok||(f=await fetch(`https://fonts.googleapis.com/css2?family=${encodeURIComponent(n.family)}&display=swap`,{signal:l.signal,credentials:"omit",referrerPolicy:"no-referrer"})),!f.ok)throw new Error("Font unavailable");if(![...(await f.text()).matchAll(/@font-face\s*\{([^}]+)\}/g)].slice(0,32).flatMap(u=>{let g=u[1],y=g.match(/url\((https:\/\/fonts\.gstatic\.com\/[^\s)"']+)\)/)?.[1];if(!y)return[];let v=new FontFace(`Popmelt Taste ${n.family}`,`url(${JSON.stringify(y)})`,{weight:g.match(/font-weight:\s*([^;]+);/)?.[1]??"400",style:g.match(/font-style:\s*([^;]+);/)?.[1]??"normal",unicodeRange:g.match(/unicode-range:\s*([^;]+);/)?.[1]??"U+0-10FFFF",display:"swap"});return document.fonts.add(v),[v]}).length)throw new Error("Font unavailable");await document.fonts.load(`${n.italic?"italic ":""}${n.weight} 16px "Popmelt Taste ${n.family}"`,"Your workspace A little space for big ideas. Create a project")}finally{clearTimeout(a)}})().catch(l=>{console.warn(`[Popmelt] Preview font ${n.family} unavailable; using its fallback.`,l instanceof Error?l.message:"Font request failed"),Ir.delete(r)});return Ir.set(r,s),s})).then(()=>{})}var et=e=>!!e&&typeof e=="object"&&!Array.isArray(e),Mt=(e,t=512)=>typeof e=="string"&&e.length<=t,zt=e=>Mt(e,100)&&/^[a-zA-Z0-9_-]+$/.test(e),Nr=e=>Mt(e,4096)&&![...e].some(t=>t.charCodeAt(0)<9)&&!/[;{}<>]|\b(?:url|expression|javascript)\s*[:(]/i.test(e),yt=(e,t)=>Object.keys(e).every(r=>t.includes(r)),Dt=(e,t)=>new Set(e.map(r=>r[t])).size===e.length,Lr=new Set("display boxSizing width height flexDirection flexWrap alignItems justifyContent alignSelf flexGrow flexShrink gridTemplateColumns rowGap columnGap gap padding paddingInline paddingBlock border borderRadius paddingTop paddingRight paddingBottom paddingLeft marginTop marginRight marginBottom marginLeft borderTop borderRight borderBottom borderLeft borderColor borderWidth borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius color backgroundColor backgroundImage boxShadow opacity fontFamily fontSize fontWeight fontStyle lineHeight letterSpacing textAlign textTransform textDecoration whiteSpace overflow fill stroke strokeWidth strokeLinecap strokeLinejoin objectFit".split(" ")),Ia=new Set("div span img svg path circle rect line polyline polygon ellipse g".split(" ")),Na=new Set("src alt viewBox d cx cy r x y x1 x2 y1 y2 rx ry width height points preserveAspectRatio transform fillRule clipRule".split(" "));function bt(e){return Array.isArray(e)?"["+e.map(bt).join(",")+"]":et(e)?"{"+Object.keys(e).sort().map(t=>JSON.stringify(t)+":"+bt(e[t])).join(",")+"}":JSON.stringify(e)}function La(e){try{if(!et(e)||!yt(e,["format","schemaVersion","draft"])||e.format!=="popmelt.taste.graph"||e.schemaVersion!==1||new TextEncoder().encode(JSON.stringify(e)).byteLength>512e3)return!1;let t=e.draft;if(!et(t)||!yt(t,["schemaVersion","name","constraints","tokens","usage","fragments","featuredComponentId"])||t.schemaVersion!==1||!Mt(t.name,80)||!t.name.trim()||!Array.isArray(t.constraints)||t.constraints.length<1||t.constraints.length>32||!t.constraints.every(a=>et(a)&&yt(a,["id","name","kind","group","typographyRole","scaleMode","value","parentId","derivative","scale"])&&zt(a.id)&&Mt(a.name,80)&&(a.group===void 0||a.group==="typography")&&(a.typographyRole===void 0||a.typographyRole==="body"||a.typographyRole==="heading")&&["layout","color","font"].includes(String(a.kind))&&Nr(a.value)&&(a.parentId===null||zt(a.parentId))&&Number.isFinite(a.derivative)&&Number.isFinite(a.scale)&&typeof a.scale=="number"&&a.scale>=0&&(a.scaleMode===void 0||a.scaleMode==="increment"))||!Dt(t.constraints,"id"))return!1;let r=new Map(t.constraints.map(a=>[String(a.id),a]));for(let a of t.constraints){let d=new Set,f=a;for(;f.parentId!==null;){if(d.has(f.id))return!1;d.add(f.id);let u=r.get(f.parentId);if(!u||u.kind!==f.kind)return!1;f=u}if(!f.value.trim())return!1}let n=a=>Array.isArray(a)&&a.length<=128&&a.every(d=>et(d)&&yt(d,["id","name","value"])&&zt(d.id)&&zt(d.name)&&Nr(d.value)&&d.value.trim()&&[...d.value.matchAll(/@([a-zA-Z0-9_-]+)/g)].every(f=>r.has(f[1])))&&Dt(a,"id")&&Dt(a,"name");if(!n(t.tokens))return!1;let o=t.tokens,s=(a,d)=>et(a)&&yt(a,["kind","id","step"])&&(a.kind==="dimension"?r.has(String(a.id)):a.kind==="token"&&d.some(f=>f.id===a.id))&&(a.step===void 0||typeof a.step=="number"&&Number.isInteger(a.step)&&Math.abs(a.step)<=100);if(t.usage!==void 0&&(!Array.isArray(t.usage)||t.usage.length>256||!t.usage.every(a=>et(a)&&yt(a,["target","property","source"])&&["page","heading","body","muted","card","button","input"].includes(String(a.target))&&Lr.has(String(a.property))&&s(a.source,o))))return!1;let l=t.fragments??[];if(!Array.isArray(l)||l.length>32||!Dt(l,"id"))return!1;for(let a of l){if(!et(a)||!yt(a,["id","name","width","height","root","tokens"])||!zt(a.id)||!Mt(a.name,80)||!a.name.trim()||![a.width,a.height].every(v=>typeof v=="number"&&Number.isFinite(v)&&v>0&&v<=2e4)||!n(a.tokens??[]))return!1;let d=a.tokens??[];if(!n(d))return!1;let f=[...o,...d];if(!Dt(f,"id")||!Dt(f,"name"))return!1;let u=new Set,g=0,y=(v,C)=>typeof v=="string"?v.length<=1e4:!et(v)||!yt(v,["id","tag","styles","localStyles","attributes","children"])||!zt(v.id)||u.has(v.id)||++g>256||C>16||!Ia.has(String(v.tag))||!et(v.styles)||!Array.isArray(v.children)||v.children.length>256||(u.add(v.id),!Object.entries(v.styles).every(([c,b])=>Lr.has(c)&&s(b,f)))||v.localStyles!==void 0&&(!et(v.localStyles)||!Object.entries(v.localStyles).every(([c,b])=>Lr.has(c)&&Nr(b)))||v.attributes!==void 0&&(!et(v.attributes)||!Object.entries(v.attributes).every(([c,b])=>Na.has(c)&&Mt(b,2e4)&&(c!=="src"||/^https:\/\//.test(b))))?!1:v.children.every(c=>y(c,C+1));if(!y(a.root,0))return!1}return t.featuredComponentId==null||l.some(a=>a.id===t.featuredComponentId)}catch{return!1}}function It(e){if(!La(e))return;let t=e;try{for(let r of t.draft.constraints)Tt(t.draft.constraints,r.id);for(let r of t.draft.fragments??[]){let n=Vt(t.draft,r),o=s=>Object.entries(s.styles).every(([l,a])=>Yt(n,a,l)!==null)&&s.children.every(l=>typeof l=="string"||o(l));if(!o(r.root))return}return t}catch{return}}function Tr(e){let t={format:"popmelt.taste.graph",schemaVersion:1,draft:e};if(!It(t))throw Error("This Taste has incomplete or invalid dimensions, tokens, or component bindings.");return t}function wt(e){if(!e||typeof e!="object")return;let t=e;for(let o of["background","surface","foreground","muted","accent","border"])if(!Rt(t[o],!0))return;for(let o of["radius","spacing"])if(typeof t[o]!="number"||!Number.isFinite(t[o])||t[o]<0||t[o]>32)return;let r={...t};delete r.savedDocument;let n=t.savedDocument;if(n&&typeof n.id=="string"&&Number.isSafeInteger(n.revision)&&n.revision>0&&It(n.document)&&(r.savedDocument=n),delete r.detail,t.detail!==void 0&&(r.detail=Rr(t.detail)),delete r.states,t.states&&typeof t.states=="object"){r.states={};for(let o of["card","button","input"]){let s=t.states[o];if(!(!s||typeof s!="object")){r.states[o]={};for(let l of["hover","focus","active"])r.states[o][l]=Rr({[o]:s[l]})?.[o]}}}if(delete r.parts,t.parts!==void 0){if(!t.parts||typeof t.parts!="object")return;let o={};for(let s of["card","button","content"]){let l=t.parts[s];if(!l||typeof l.radius!="number"||!Number.isFinite(l.radius)||l.radius<0||l.radius>999)return;let a=l.backdropFilter;o[s]={background:Rt(l.background,!0)?l.background:r.surface,border:Rt(l.border)?l.border:`1px solid ${r.border}`,radius:l.radius,shadow:Rt(l.shadow)?l.shadow:"none",...l.backgroundImage!==void 0?{backgroundImage:Rt(l.backgroundImage,!0)?l.backgroundImage:"none"}:{},...l.backgroundBlendMode!==void 0?{backgroundBlendMode:["normal","overlay","multiply","screen","soft-light","hard-light"].includes(l.backgroundBlendMode)?l.backgroundBlendMode:"normal"}:{},...a!==void 0?{backdropFilter:typeof a=="string"&&a.length<150&&/^(?:none|(?:\s*(?:blur\(\d*\.?\d+(?:px|rem)\)|saturate\(\d*\.?\d+%?\))\s*){1,3})$/.test(a)?a:"none"}:{},...l.opacity!==void 0?{opacity:Number.isFinite(l.opacity)?Math.max(0,Math.min(1,l.opacity)):1}:{}}}r.parts=o}return(!Number.isSafeInteger(r.recipeRevision)||r.recipeRevision<0)&&delete r.recipeRevision,(typeof r.contentRevision!="string"||!/^[a-f\d]{24}$/.test(r.contentRevision))&&delete r.contentRevision,r}function Ta({recipe:e}){let t=e.radius*.45,r=o=>o.replace(/(-?\d*\.?\d+)(px|rem)\b/g,(s,l,a)=>`${Math.max(-32,Math.min(32,Number(l)*(a==="rem"?16:1)*.45))}px`),n=o=>o?{background:o.background,...o.backgroundImage&&o.backgroundImage!=="none"?{backgroundImage:o.backgroundImage}:{},backgroundBlendMode:o.backgroundBlendMode,backdropFilter:o.backdropFilter?r(o.backdropFilter).replace(/saturate\(([\d.]+)%\)/g,(s,l)=>`saturate(${Math.min(400,Number(l))}%)`):void 0,WebkitBackdropFilter:o.backdropFilter?r(o.backdropFilter):void 0,opacity:o.opacity,border:r(o.border),borderRadius:o.radius*.45,boxShadow:r(o.shadow)}:{};return i("span",{"data-taste-specimen":!0,"aria-hidden":"true",style:{position:"absolute",inset:0,background:e.background,pointerEvents:"none",overflow:"hidden"},children:k("span",{"data-specimen-window":!0,style:{position:"absolute",left:"19.23%",top:"19.23%",width:"110%",height:"110%",background:e.surface,border:`1px solid ${e.border}`,borderRadius:t,overflow:"hidden",boxSizing:"border-box",...n(e.parts?.card),borderTopRightRadius:0,borderBottomRightRadius:0,borderBottomLeftRadius:0},children:[i("span",{"data-specimen-title":!0,style:{position:"absolute",left:0,top:0,width:"100%",height:"18.18%",background:e.parts?"transparent":e.accent}}),i("span",{"data-specimen-control":!0,style:{position:"absolute",left:"7.95%",top:"26.14%",width:"90.91%",height:"18.18%",background:e.muted,border:`1px solid ${e.border}`,borderRadius:t*.6,boxSizing:"border-box",...n(e.parts?.button)}}),i("span",{"data-specimen-content":!0,style:{position:"absolute",left:"7.95%",top:"53.41%",width:"90.91%",height:"67.05%",background:e.background,border:`1px solid ${e.border}`,borderRadius:t*.6,boxSizing:"border-box",...n(e.parts?.content)}})]})})}function Jt(e,t=!1,r=640){let[n,o]=T(!1),[s,l]=T(!1),[a,d]=T(!1);return{handlers:{onPointerEnter:()=>o(!0),onPointerLeave:()=>{o(!1),d(!1)},onPointerDown:()=>d(!0),onPointerUp:()=>d(!1),onPointerCancel:()=>d(!1),onKeyDown:f=>{t&&["Enter"," "].includes(f.key)&&d(!0)},onKeyUp:()=>d(!1),onFocus:()=>l(!0),onBlur:()=>{l(!1),d(!1)}},style:{...Ze(n?e?.hover:void 0,r),...Ze(s?e?.focus:void 0,r),...Ze(a?e?.active:void 0,r)}}}function Ar({recipe:e,usageStyles:t}){let r=t!==void 0,n=u=>Ze({...e.detail?.[u]??{},...t?.[u]},640,r),o=Jt(e.states?.button,!0),s=Jt(e.states?.input),l=Jt(e.states?.card),a=r?`${e.spacing}px`:`${e.spacing/6.4}cqw`;le(()=>{Ra({...e.detail,...t})},[e.detail,t]);let d=u=>u.replace(/(-?\d*\.?\d+)(px|rem)\b/g,(g,y,v)=>`${Math.max(-16,Math.min(16,Number(y)*(v==="rem"?16:1)/6.4))}cqw`),f=u=>u?{...vt({background:u.background}),...u.backgroundImage&&u.backgroundImage!=="none"?{backgroundImage:u.backgroundImage}:{},backgroundBlendMode:u.backgroundBlendMode,...Et({border:d(u.border)}),borderRadius:`${u.radius/6.4}cqw`,boxShadow:d(u.shadow),backdropFilter:u.backdropFilter?d(u.backdropFilter):void 0,WebkitBackdropFilter:u.backdropFilter?d(u.backdropFilter):void 0,opacity:u.opacity}:{};return i("div",{"data-taste-detail-specimen":!0,role:"group","aria-label":"Interactive taste preview",style:{position:r?"relative":"absolute",...r?{width:640,padding:0,boxSizing:"border-box"}:{inset:0},containerType:"inline-size",...vt({background:e.background}),color:e.foreground,fontSynthesis:"none",...n("body"),...n("page"),overflow:r?"visible":"hidden"},children:i("div",{"data-taste-component":"card",style:{position:r?"relative":"absolute",...r?{}:{inset:"9% 8%"},...vt({background:e.surface}),...Et({border:`1px solid ${e.border}`}),borderRadius:e.radius,...f(e.parts?.card),padding:r?0:"5cqw",boxSizing:"border-box",display:"flex",flexDirection:"column",gap:a,...n("card")},children:k("div",{style:{display:"grid",gridTemplateColumns:"1.35fr 1fr",gap:r?n("card").gap??a:`calc(${a} * 2)`,alignItems:"center",flex:1,minHeight:0},children:[k("div",{children:[k("h2",{"data-taste-component":"heading",style:{margin:0,fontWeight:"inherit",lineHeight:1.1,letterSpacing:"-0.03em",marginBottom:a,...n("heading"),...r?{}:{fontSize:`clamp(3.8cqw, ${Ze(e.detail?.heading).fontSize??"4.6cqw"}, 5.4cqw)`}},children:["A little space",i("br",{}),"for big ideas."]}),k("p",{"data-taste-component":"paragraph",style:{margin:0,fontSize:r?"inherit":"2.4cqw",lineHeight:1.5,marginBottom:a,...n("body"),...n("muted")},children:["Gather your thoughts.",i("br",{}),"Make something your own."]}),i("button",{"data-taste-component":"button",...o.handlers,type:"button",style:{fontFamily:"inherit",color:"inherit",display:"inline-block",...vt({background:e.accent}),...Et({border:`1px solid ${e.border}`}),borderRadius:e.radius,...f(e.parts?.button),padding:r?0:"1.5cqw 2.5cqw",fontSize:r?"inherit":"2.3cqw",fontWeight:"inherit",lineHeight:1.2,...n("button"),cursor:"pointer",...o.style},children:"Create a project \u2197"})]}),k("div",{"data-taste-component":"card",...l.handlers,style:{...vt({background:e.surface}),...Et({border:`1px solid ${e.border}`}),borderRadius:e.radius,...f(e.parts?.card),padding:r?0:"3cqw",fontSize:r?"inherit":"2.1cqw",lineHeight:1.5,...n("card"),...l.style},children:[i("h3",{"data-taste-component":"heading",style:{margin:0,fontWeight:"inherit",...n("heading"),...r?{}:{fontSize:"2.6cqw"},marginBottom:a},children:"In the works"}),i("input",{"data-taste-component":"input",...s.handlers,"aria-label":"Preview project name",defaultValue:"A fresh start",style:{appearance:"none",outline:"none",borderWidth:0,borderStyle:"none",borderColor:"transparent",...vt({background:"transparent"}),...f(e.parts?.content),font:"inherit",color:"inherit",padding:r?0:"1.5cqw",...n("input"),width:"100%",minWidth:0,boxSizing:"border-box",marginBottom:a,...s.style}}),i("div",{children:"02 \xA0 What comes next"})]})]})})})}function cn({children:e}){let t=Ge.dark,r=D(null),[n,o]=T(),[s,l]=T({scale:1,x:0,y:0}),a=D(s);return le(()=>{let d=r.current;if(!d)return;let f=()=>o({width:d.clientWidth,height:d.clientHeight});f();let u=typeof ResizeObserver<"u"?new ResizeObserver(f):void 0;u?.observe(d);let g=()=>window.matchMedia("(any-hover: hover) and (any-pointer: fine)").matches,y=(h,p,m)=>{h=Math.max(1,Math.min(4,h));let N={scale:h,x:Math.max(1-h,Math.min(0,p)),y:Math.max(1-h,Math.min(0,m))};a.current=N,l(N)},v=(h,p,m)=>{let N=d.getBoundingClientRect();if(!N.width||!N.height)return;let A=a.current,P=Math.max(1,Math.min(4,h)),q=Math.max(0,Math.min(1,(p-N.left)/N.width)),x=Math.max(0,Math.min(1,(m-N.top)/N.height));y(P,q-(q-A.x)*P/A.scale,x-(x-A.y)*P/A.scale)},C=null,c=h=>{if(!g()||!h.ctrlKey&&a.current.scale===1)return;h.preventDefault(),h.stopPropagation();let p=h.deltaMode===1?16:h.deltaMode===2?d.clientHeight:1;if(h.ctrlKey)C===null&&v(a.current.scale*Math.exp(-h.deltaY*p*.01),h.clientX,h.clientY);else{let m=d.getBoundingClientRect();m.width&&m.height&&y(a.current.scale,a.current.x-h.deltaX*p/m.width,a.current.y-h.deltaY*p/m.height)}},b=h=>{if(!g())return;h.preventDefault(),h.stopPropagation();let p=h;h.type==="gesturestart"?C=a.current.scale:h.type==="gestureend"?C=null:C!==null&&Number.isFinite(p.scale)&&v(C*p.scale,p.clientX,p.clientY)};d.addEventListener("wheel",c,{passive:!1});for(let h of["gesturestart","gesturechange","gestureend"])d.addEventListener(h,b,{passive:!1});return()=>{u?.disconnect(),d.removeEventListener("wheel",c);for(let h of["gesturestart","gesturechange","gestureend"])d.removeEventListener(h,b)}},[]),k("div",{ref:r,"data-preview-zoom":!0,style:{position:"relative",width:"100%",aspectRatio:"16 / 9",overflow:"hidden",borderRadius:8},children:[i("div",{"data-preview-zoom-content":!0,style:{width:n?.width||"100%",height:n?.height||"100%",zoom:s.scale,transformOrigin:"0 0",transform:`translate(${s.x*100/s.scale}%, ${s.y*100/s.scale}%)`},children:e}),s.scale>1&&k(Le,{children:[i("style",{children:`
|
|
3
3
|
[data-preview-zoom-reset] span { color: ${t.primary}; }
|
|
4
4
|
[data-preview-zoom-reset] svg { color: ${t.secondary}; }
|
|
5
5
|
[data-preview-zoom-reset]:hover span, [data-preview-zoom-reset]:focus-visible span { color: ${t.secondary}; }
|
package/dist/bridge-entry.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as n}from"./chunk-
|
|
1
|
+
import{j as n}from"./chunk-5NOCGSQL.mjs";import"./chunk-GL4I4MI6.mjs";import"./chunk-QXVMGZFP.mjs";import{mkdir as d,unlink as l,writeFile as P}from"fs/promises";import{join as r}from"path";var u=parseInt(process.env.POPMELT_PORT||"1111",10),s=process.env.POPMELT_PROJECT_ROOT||process.cwd(),w=process.env.POPMELT_DEV_ORIGIN||void 0,m=process.env.POPMELT_COPILOT_PATH||void 0,O=process.env.POPMELT_CDP_URL||void 0,c=r(s,".popmelt"),i=r(c,"bridge.lock");async function f(e){await d(c,{recursive:!0}),await P(i,JSON.stringify({pid:process.pid,port:e,startedAt:Date.now()})+`
|
|
2
2
|
`)}async function a(){try{await l(i)}catch{}}async function T(){let e=await n({port:u,projectRoot:s,devOrigin:w,copilotPath:m,nativeCaptureUrl:O,restartMode:"detached"});await f(e.port),await new Promise(p=>{let t=!1,o=async()=>{t||(t=!0,await e.close(),await a(),p(),process.exit(0))};process.on("SIGTERM",o),process.on("SIGINT",o)})}T().catch(e=>{console.error("[popmelt bridge-entry] Fatal:",e),a().finally(()=>process.exit(1))});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{b as m,a as i}from"./chunk-
|
|
2
|
+
import{b as m,a as i}from"./chunk-YYK7MXEK.mjs";import"./chunk-ERUGF5VG.mjs";import"./chunk-JQHZFDY5.mjs";import"./chunk-EX63NVDN.mjs";import"./chunk-N2ZEZCHO.mjs";import"./chunk-J3UIBBU2.mjs";import"./chunk-3LBOX7HQ.mjs";import"./chunk-3DUSECUJ.mjs";import"./chunk-OYJINEC5.mjs";import"./chunk-MP7S5ALD.mjs";import"./chunk-XTOCFTVW.mjs";import"./chunk-LVEMYZOA.mjs";import"./chunk-XOGBFVWI.mjs";import"./chunk-HGW2U6PD.mjs";import{createElement as p}from"react";import{createRoot as e}from"react-dom/client";function n(o,t){let r=e(o);return r.render(p(m,t)),()=>{r.unmount(),i()}}export{n as mountBrowserRuntime};
|
package/dist/browser.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{a as isPopmeltPreview}from"./chunk-EX63NVDN.mjs";var m={unmount(){}},u="[data-popmelt-browser-host]";async function p(o={}){if(!o.enabled||typeof document>"u")return m;if(document.querySelector(`${u}, [data-popmelt-top-layer-host]`))throw new Error("Popmelt is already mounted. Unmount it before mounting again.");let e=document.createElement("div");e.setAttribute("data-popmelt-browser-host",""),e.setAttribute("data-devtools",""),document.documentElement.appendChild(e);let d=[["__POPMELT_PROJECT_ID__",o.projectId],["__POPMELT_BRIDGE_URL__",o.bridgeUrl]].flatMap(([t,r])=>{if(r===void 0)return[];let n=Object.prototype.hasOwnProperty.call(window,t),l=window[t],i=r??void 0;return window[t]=i,[()=>{window[t]===i&&(n?window[t]=l:delete window[t])}]}),a=()=>{e.remove();for(let t of d)t()};try{let{mountBrowserRuntime:t}=await import("./browser-runtime-
|
|
2
|
+
export{a as isPopmeltPreview}from"./chunk-EX63NVDN.mjs";var m={unmount(){}},u="[data-popmelt-browser-host]";async function p(o={}){if(!o.enabled||typeof document>"u")return m;if(document.querySelector(`${u}, [data-popmelt-top-layer-host]`))throw new Error("Popmelt is already mounted. Unmount it before mounting again.");let e=document.createElement("div");e.setAttribute("data-popmelt-browser-host",""),e.setAttribute("data-devtools",""),document.documentElement.appendChild(e);let d=[["__POPMELT_PROJECT_ID__",o.projectId],["__POPMELT_BRIDGE_URL__",o.bridgeUrl]].flatMap(([t,r])=>{if(r===void 0)return[];let n=Object.prototype.hasOwnProperty.call(window,t),l=window[t],i=r??void 0;return window[t]=i,[()=>{window[t]===i&&(n?window[t]=l:delete window[t])}]}),a=()=>{e.remove();for(let t of d)t()};try{let{mountBrowserRuntime:t}=await import("./browser-runtime-2L55FIH3.mjs");if(!e.isConnected)throw new Error("Popmelt mount was removed before startup.");let r=t(e,o),n=!0;return{unmount(){if(n){n=!1;try{r()}finally{a()}}}}}catch(t){throw a(),t}}export{p as mountPopmelt};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{A as p}from"./chunk-
|
|
2
|
+
import{A as p}from"./chunk-OYJINEC5.mjs";import{j as m}from"./chunk-XOGBFVWI.mjs";var o=!1,f=()=>o;function E(c){o=!0;let t=null,r=!1,a=e=>{let n=e.composedPath()[0];return n instanceof Element&&(n.id==="devtools-canvas"||!p(n)&&!n.closest("[data-taste-editor], [data-taste-navigation]"))},i=e=>{e.preventDefault(),e.stopImmediatePropagation()},l=e=>{t=null,!(e.button!==0||!a(e))&&(t={x:e.clientX,y:e.clientY},r=!1,i(e))},d=e=>{t&&Math.hypot(e.clientX-t.x,e.clientY-t.y)>5&&(r=!0)},u=e=>{t&&i(e)},s=e=>{if(!a(e)||e.button!==0){t=null;return}i(e);let n=!!(t&&!r);if(t=null,!n)return;let w=m(e.clientX,e.clientY);w&&c(w)},v=()=>{t=null};return window.addEventListener("pointerdown",l,!0),window.addEventListener("pointermove",d,!0),window.addEventListener("pointerup",u,!0),window.addEventListener("pointercancel",v,!0),window.addEventListener("click",s,!0),()=>{o=!1,window.removeEventListener("pointerdown",l,!0),window.removeEventListener("pointermove",d,!0),window.removeEventListener("pointerup",u,!0),window.removeEventListener("pointercancel",v,!0),window.removeEventListener("click",s,!0)}}export{f as a,E as b};
|