@vcp-dev/site-edit-bridge 0.9.6 → 0.10.1

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.
@@ -1 +1 @@
1
- function S(e){return JSON.stringify([e.routeId,e.effectiveTemplateId??null])}var F="vcp-window-message",C=1;function V(e){return{source:F,version:C,namespace:e.namespace,channel:e.channel,...e.sessionKey?{sessionKey:e.sessionKey}:{},body:e.body}}function D(e){try{return i(e)?a(e,"source",F)&&a(e,"version",C)&&o(e,"namespace")&&o(e,"channel")&&f(e,"body")&&(!h(e,"sessionKey")||o(e,"sessionKey")):!1}catch{return!1}}var _="site-edit",P="frame-runtime",M="frame-announce",q=1,N=1,T=1,le=24;function he(e,n={}){return V({namespace:_,channel:P,sessionKey:n.sessionKey,body:e})}function be(){return V({namespace:_,channel:M,body:{type:"announce"}})}function Ie(e){try{return!D(e)||e.namespace!==_||e.channel!==M?!1:i(e.body)&&a(e.body,"type","announce")&&u(e.body,["type"])}catch{return!1}}function Se(e){try{return!D(e)||e.namespace!==_||e.channel!==P?!1:me(e.body)}catch{return!1}}function y(e){return i(e)&&o(e,"routeId")&&l(e,"templateId")&&u(e,["routeId","templateId"])}function R(e){return i(e)&&o(e,"routeId")&&l(e,"effectiveTemplateId")&&u(e,["routeId","effectiveTemplateId"])}function u(e,n){let t=new Set(n);return Reflect.ownKeys(e).every(s=>typeof s=="string"&&t.has(s))}var h=(e,n)=>Object.prototype.hasOwnProperty.call(e,n);function f(e,n){let t=Object.getOwnPropertyDescriptor(e,n);return t!==void 0&&"value"in t}function r(e,n){return Object.getOwnPropertyDescriptor(e,n)?.value}function a(e,n,t){return f(e,n)&&r(e,n)===t}function o(e,n){return f(e,n)&&typeof r(e,n)=="string"}function x(e,n){return f(e,n)&&typeof r(e,n)=="boolean"}function c(e,n){let t=r(e,n);return f(e,n)&&typeof t=="number"&&Number.isFinite(t)}function U(e,n){let t=r(e,n);return f(e,n)&&typeof t=="number"&&Number.isInteger(t)&&t>0}function l(e,n){return!h(e,n)||r(e,n)===void 0||o(e,n)}function b(e,n){return!h(e,n)||r(e,n)===void 0||c(e,n)}function w(e,n){let t=r(e,n);return!h(e,n)||t===void 0||f(e,n)&&typeof t=="number"&&Number.isInteger(t)&&t>=0}function d(e,n){return!h(e,n)||r(e,n)===void 0}function i(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function j(e){return i(e)&&Reflect.ownKeys(e).length===0}function O(e){if(!Array.isArray(e))return!1;for(let n=0;n<e.length;n+=1){let t=Object.getOwnPropertyDescriptor(e,String(n));if(t===void 0||!("value"in t)||typeof t.value!="string")return!1}return!0}function m(e){return i(e)&&o(e,"key")&&w(e,"instanceIndex")&&w(e,"instanceCount")&&w(e,"textSegmentIndex")}function H(e){return i(e)&&o(e,"blockId")&&m(r(e,"ref"))&&E(r(e,"rect"))&&x(e,"targetIsSectionRoot")}function X(e){if(!i(e))return!1;let n=r(e,"placement"),t=r(e,"boundary");return o(e,"anchorBlockId")&&m(r(e,"anchorRef"))&&(n==="before"||n==="after")&&i(t)&&c(t,"top")&&c(t,"left")&&c(t,"width")}function E(e){return i(e)&&["top","left","width","height"].every(n=>c(e,n))}function K(e){if(!i(e))return!1;let n=r(e,"rect"),t=r(e,"layout"),s=i(t)?r(t,"containingBlock"):null,p=r(e,"scrollContext"),g=i(s)&&(a(s,"kind","viewport")&&Reflect.ownKeys(s).length===1||a(s,"kind","document")&&Reflect.ownKeys(s).length===1||a(s,"kind","element")&&o(s,"runtimeNodeId"));return a(e,"version",q)&&o(e,"runtimeNodeId")&&i(n)&&E(r(n,"viewport"))&&E(r(n,"document"))&&i(t)&&o(t,"position")&&o(t,"transform")&&g&&i(p)&&["scrollX","scrollY","viewportWidth","viewportHeight"].every(I=>c(p,I))&&f(p,"scrollContainers")&&Y(r(p,"scrollContainers"))}function Y(e){return Array.isArray(e)&&e.every(n=>i(n)&&o(n,"runtimeNodeId")&&c(n,"scrollLeft")&&c(n,"scrollTop"))}function A(e){return i(e)&&(d(e,"layoutSnapshot")||K(r(e,"layoutSnapshot")))}function k(e){return i(e)&&m(r(e,"ref"))&&f(e,"layoutSnapshot")&&K(r(e,"layoutSnapshot"))&&(d(e,"childBoxes")||Q(r(e,"childBoxes")))&&(d(e,"childRects")||J(r(e,"childRects")))&&(d(e,"layout")||Z(r(e,"layout")))&&(d(e,"spacing")||$(r(e,"spacing")))}function Z(e){if(!i(e))return!1;let n=r(e,"indicatorOrientation");return o(e,"display")&&(n==="horizontal"||n==="vertical")&&l(e,"flexDirection")&&l(e,"gridAutoFlow")}function J(e){return Array.isArray(e)&&e.every(n=>E(n))}function Q(e){return Array.isArray(e)&&e.every(n=>i(n)&&E(r(n,"rect"))&&L(r(n,"margin")))}function L(e){return i(e)&&["marginTop","marginRight","marginBottom","marginLeft"].every(n=>c(e,n))}function $(e){return L(e)&&["paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","columnGap","rowGap"].every(n=>c(e,n))}function v(e){if(!Array.isArray(e))return!1;for(let n=0;n<e.length;n+=1){let t=Object.getOwnPropertyDescriptor(e,String(n));if(t===void 0||!("value"in t)||!k(t.value))return!1}return!0}function ee(e){return i(e)&&Reflect.ownKeys(e).every(n=>typeof n=="string"&&f(e,n)&&(typeof r(e,n)=="string"||r(e,n)===null))}function W(e){return e==null||typeof e=="string"||typeof e=="number"&&Number.isFinite(e)}function te(e){return i(e)&&Reflect.ownKeys(e).every(n=>typeof n=="string"&&f(e,n)&&W(r(e,n)))}function ne(e){if(!i(e))return!1;let n=r(e,"priority");return o(e,"property")&&f(e,"value")&&W(r(e,"value"))&&(!h(e,"priority")||n===void 0||n==="important")}function re(e){return i(e)?(d(e,"attributes")||ee(r(e,"attributes")))&&l(e,"className")&&(d(e,"style")||te(r(e,"style")))&&(d(e,"styleDeclarations")||Array.isArray(r(e,"styleDeclarations"))&&r(e,"styleDeclarations").every(ne)):!1}function ie(e){return i(e)&&c(e,"x")&&c(e,"y")&&(d(e,"detailLevel")||a(e,"detailLevel","summary")||a(e,"detailLevel","full"))}function oe(e){return i(e)&&m(r(e,"ref"))}function se(e){if(!i(e)||!i(r(e,"variables")))return!1;let n=r(e,"variables");return Reflect.ownKeys(n).every(t=>typeof t=="string"&&o(n,t))?d(e,"stylesheets")||O(r(e,"stylesheets")):!1}function ce(e){if(!a(e,"type","request")||!o(e,"id")||!o(e,"kind")||!f(e,"payload"))return!1;let n=r(e,"kind"),t=r(e,"payload");switch(n){case"hit-test-at-point":case"start-text-edit-at-point":return ie(t);case"bridge-get-source-tree":return i(t)&&y(r(t,"composition"))&&u(t,["composition"]);case"get-scroll-metrics":case"clear-theme-override":return j(t);case"bridge-get-history-status":case"bridge-undo":case"bridge-redo":return i(t)&&y(r(t,"composition"))&&u(t,["composition"]);case"bridge-get-source-file":return i(t)&&o(t,"path")&&y(r(t,"composition"))&&u(t,["path","composition"]);case"bridge-resolve-source-location":case"bridge-get-object-edit-context":case"bridge-get-class-name-source":return i(t)&&o(t,"key")&&y(r(t,"composition"))&&u(t,["key","composition"]);case"scroll-to":return i(t)&&c(t,"x")&&c(t,"y");case"scroll-by":return i(t)&&c(t,"deltaX")&&c(t,"deltaY");case"set-interaction-mode":return i(t)&&x(t,"enabled");case"set-selection-visual":return i(t)&&a(t,"version",N)&&m(r(t,"ref"))&&a(t,"visible",!0);case"clear-selection-visual":return i(t)&&a(t,"version",N);case"set-resize-visual":return i(t)&&a(t,"version",T)&&m(r(t,"ref"))&&a(t,"visible",!0);case"clear-resize-visual":return i(t)&&a(t,"version",T);case"set-theme-override":return se(t);case"get-theme-variables":return i(t)&&O(r(t,"names"));case"compute-drop-target-at-point":return i(t)&&c(t,"x")&&c(t,"y")&&(a(t,"dragKind","insert")||a(t,"dragKind","move"))&&(d(t,"movingRef")||m(r(t,"movingRef")));case"observe-node-bounds":case"clear-node-bounds-observer":return i(t)&&(d(t,"ref")||m(r(t,"ref")));case"apply-node-patch":return i(t)&&m(r(t,"ref"))&&re(r(t,"patch"))&&(d(t,"preview")||i(r(t,"preview"))&&o(r(t,"preview"),"sessionId")&&w(r(t,"preview"),"revision")&&h(r(t,"preview"),"revision"));case"get-hit-by-ref":case"get-path-by-ref":case"restore-text-edit":case"clear-text-edit-rollback":return oe(t);case"bridge-initialize-session":case"bridge-get-style-context":return i(t)&&y(r(t,"composition"))&&u(t,["composition"]);case"bridge-get-document":case"bridge-ensure-document-version":case"bridge-acknowledge-document-version":return i(t)&&y(r(t,"composition"))&&b(t,"minVersion")&&b(t,"version")&&u(t,["composition","minVersion","version"]);case"bridge-execute":{if(!i(t))return!1;let s=r(t,"request"),p=r(t,"composition"),g=i(s)?r(s,"composition"):null;return!y(p)||!i(s)||!y(g)?!1:S({routeId:p.routeId,...p.templateId?{effectiveTemplateId:p.templateId}:{}})===S({routeId:g.routeId,...g.templateId?{effectiveTemplateId:g.templateId}:{}})&&u(t,["composition","request"])}case"bridge-subscribe":case"bridge-unsubscribe":return i(t)&&o(t,"subscriptionId")&&y(r(t,"composition"))&&u(t,["subscriptionId","composition"]);default:return!1}}function ae(e){return a(e,"type","response")&&o(e,"id")&&x(e,"ok")&&(d(e,"error")||o(e,"error"))}function de(e){if(!i(e))return!1;let n=r(e,"type");if(typeof n!="string"||!R(r(e,"composition"))||!o(e,"siteId")||!o(e,"at"))return!1;switch(n){case"site-edit.document.changed":return o(e,"snapshotId")&&c(e,"version");case"site-edit.operation.planned":return o(e,"operationId")&&o(e,"baseSnapshotId")&&O(r(e,"changedFiles"));case"site-edit.operation.completed":return i(r(e,"result"));case"site-edit.operation.failed":return o(e,"requestId")&&i(r(e,"error"));case"site-edit.capability.changed":return O(r(e,"keys"));case"site-edit.graph.invalidated":return!0;case"site-edit.graph.ready":return c(e,"version");case"site-edit.graph.error":return o(e,"message");default:return!1}}var pe=new Set(["pointer-down","pointer-move","pointer-leave","pointer-up","pointer-cancel","pointer-click","pointer-double-click"]),B=new Set(["e","s","se"]);function fe(e,n){if(d(e,"resizeSession"))return!0;let t=r(e,"resizeSession");if(!i(t))return!1;let s=r(e,"pointerId"),p=r(t,"pointerId"),g=r(t,"phase"),I=r(t,"edge"),G=n==="pointer-down"?"start":n==="pointer-up"?"commit":n==="pointer-cancel"?"cancel":null;return r(t,"version")===1&&g===G&&o(t,"sessionId")&&String(r(t,"sessionId")).length>0&&typeof s=="number"&&Number.isInteger(s)&&typeof p=="number"&&Number.isInteger(p)&&s===p&&typeof I=="string"&&B.has(I)&&r(e,"resizeEdge")===I&&m(r(t,"ref"))&&["startWidth","startHeight","width","height"].every(z=>c(t,z))}function ue(e){if(!a(e,"type","event")||!o(e,"kind")||!i(r(e,"payload")))return!1;let n=r(e,"kind"),t=r(e,"payload");switch(n){case"text-edit-commit":case"text-edit-cancel":case"text-edit-exit":case"text-edit-input":return m(r(t,"ref"))&&l(t,"value")&&(d(t,"hit")||A(r(t,"hit")));case"node-bounds-change":return A(r(t,"hit"));case"geometry-batch":{let s=r(t,"reason");return U(t,"sequence")&&c(t,"sourceEventAt")&&c(t,"captureStartedAt")&&c(t,"capturedAt")&&(s==="scroll"||s==="resize"||s==="mutation")&&v(r(t,"snapshots"))}case"bridge-event":{let s=r(t,"event"),p=r(t,"composition");return!de(s)||!R(p)?!1:o(t,"subscriptionId")&&S(p)===S(s.composition)}case"route-ready":return R(r(t,"composition"))&&o(t,"editEngineVersion")&&c(t,"sequence")&&c(t,"version");case"bridge-status":{let s=r(t,"state");return(s==="connecting"||s==="ready"||s==="reconnecting"||s==="failed"||s==="reload-required")&&R(r(t,"composition"))&&c(t,"sequence")&&b(t,"attempt")&&b(t,"retryInMs")&&l(t,"messageKey")}case"scroll":{let s=r(t,"metrics");return i(s)&&["scrollX","scrollY","scrollWidth","scrollHeight","viewportWidth","viewportHeight"].every(p=>c(s,p))}default:return pe.has(n)&&c(t,"clientX")&&c(t,"clientY")&&b(t,"buttons")&&b(t,"pointerId")&&(d(t,"hoverVisualOwned")||x(t,"hoverVisualOwned"))&&(d(t,"resizeEdge")||o(t,"resizeEdge")&&B.has(r(t,"resizeEdge")))&&fe(t,n)&&(r(t,"hit")===null||A(r(t,"hit")))&&(d(t,"section")||r(t,"section")===null||H(r(t,"section")))&&(d(t,"sectionGap")||r(t,"sectionGap")===null||X(r(t,"sectionGap")))}}function me(e){if(!i(e))return!1;switch(r(e,"type")){case"request":return ce(e);case"response":return ae(e);case"event":return ue(e);default:return!1}}export{M as SITE_EDIT_FRAME_ANNOUNCE_CHANNEL,P as SITE_EDIT_FRAME_RUNTIME_CHANNEL,q as SITE_EDIT_FRAME_RUNTIME_LAYOUT_SNAPSHOT_VERSION,T as SITE_EDIT_FRAME_RUNTIME_RESIZE_VISUAL_VERSION,N as SITE_EDIT_FRAME_RUNTIME_SELECTION_VISUAL_VERSION,le as SITE_EDIT_FRAME_SECTION_GAP_RADIUS_PX,_ as SITE_EDIT_WINDOW_MESSAGE_NAMESPACE,F as VCP_WINDOW_MESSAGE_SOURCE,C as VCP_WINDOW_MESSAGE_VERSION,be as createSiteEditFrameAnnounceMessage,he as createSiteEditFrameRuntimeMessage,V as createVcpWindowMessageEnvelope,Ie as isSiteEditFrameAnnounceMessage,K as isSiteEditFrameRuntimeLayoutSnapshot,Se as isSiteEditFrameRuntimeMessage,D as isVcpWindowMessageEnvelope};
1
+ function I(e){return JSON.stringify([e.routeId,e.effectiveTemplateId??null])}var $={allowFullScreen:"allowfullscreen",acceptCharset:"accept-charset",autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",cellPadding:"cellpadding",cellSpacing:"cellspacing",charSet:"charset",colSpan:"colspan",crossOrigin:"crossorigin",dateTime:"datetime",encType:"enctype",formAction:"formaction",formEncType:"formenctype",formMethod:"formmethod",formNoValidate:"formnovalidate",formTarget:"formtarget",hrefLang:"hreflang",htmlFor:"for",httpEquiv:"http-equiv",inputMode:"inputmode",itemID:"itemid",itemProp:"itemprop",itemRef:"itemref",itemScope:"itemscope",itemType:"itemtype",keyParams:"keyparams",keyType:"keytype",noModule:"nomodule",playsInline:"playsinline",readOnly:"readonly",rowSpan:"rowspan",srcDoc:"srcdoc",srcLang:"srclang",srcSet:"srcset",tabIndex:"tabindex",useMap:"usemap"},x=new Set(["allowFullScreen","async","autoFocus","autoPlay","controls","default","defer","disabled","formNoValidate","hidden","inert","itemScope","loop","multiple","muted","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless"]),P=new Set(["checked","selected","value"]),Z=new Set(["children","key","ref","dangerouslysetinnerhtml"]),J=new Set(["data-designer-hover-outline","data-designer-select-outline"]),Q=/^[A-Za-z_$][A-Za-z0-9_$:-]*$/u,F=new Set(["accept","alt","action","cite","color","content","coords","crossOrigin","dateTime","formAction","formMethod","formTarget","headers","href","hrefLang","id","kind","label","lang","list","max","media","method","min","name","pattern","poster","property","referrerPolicy","rel","role","scope","slot","src","srcDoc","srcLang","srcSet","step","target","title","type","useMap","width","height"]);function v(e){if(!te(e))return O("Typed property changes are not previewable");if(e.element.kind!=="host")return O(`The '${e.element.tagName}' component may transform its props before rendering`);let n={};for(let t of e.changes){let i=ee(t);if(!i)return O(`The DOM result for '${t.name}' cannot be proven equivalent`);n[i.name]=i.value}return e.runtimeAttributes,{mode:"dom",patch:{attributes:n}}}function ee(e){if(!D(e.name))return null;let n=e.name,t=C(n);if(!t||P.has(n))return null;if(e.operation==="remove")return{name:t,value:null};let i=e.value;return n==="download"?re(t,i):x.has(n)?ne(t,i):/^(aria|data)-[A-Za-z0-9_.:-]+$/u.test(n)?oe(t,i):F.has(n)?typeof i=="string"?{name:t,value:i}:typeof i=="number"&&Number.isFinite(i)?{name:t,value:String(i)}:i===null?{name:t,value:null}:null:null}function C(e){return D(e)&&(e==="download"||P.has(e)||x.has(e)||F.has(e)||/^(aria|data)-[A-Za-z0-9_.:-]+$/u.test(e))?$[e]??e:null}function te(e){if(e.scope!=="selection"&&e.scope!=="template"||!Array.isArray(e.changes)||e.changes.length===0)return!1;let n=new Set;for(let t of e.changes){if(!t||typeof t!="object"||typeof t.name!="string"||t.name.length===0||t.operation!=="set"&&t.operation!=="remove"||n.has(t.name))return!1;n.add(t.name)}return!0}function D(e){if(!Q.test(e))return!1;let n=e.toLowerCase();return Z.has(n)||n.startsWith("data-vcp-")||J.has(n)||/^on[a-z]/iu.test(e)?!1:n!=="classname"&&n!=="class"&&n!=="style"}function ne(e,n){return n===null||n===!1?{name:e,value:null}:n===!0?{name:e,value:""}:null}function re(e,n){return n===null||n===!1?{name:e,value:null}:n===!0?{name:e,value:""}:typeof n=="string"?{name:e,value:n}:null}function oe(e,n){return n===null?{name:e,value:null}:typeof n=="string"||typeof n=="boolean"||typeof n=="number"&&Number.isFinite(n)?{name:e,value:String(n)}:null}function O(e){return{mode:"after-render",reason:e}}var L="vcp-window-message",B=1;function K(e){return{source:L,version:B,namespace:e.namespace,channel:e.channel,...e.sessionKey?{sessionKey:e.sessionKey}:{},body:e.body}}function z(e){try{return o(e)?d(e,"source",L)&&d(e,"version",B)&&s(e,"namespace")&&s(e,"channel")&&f(e,"body")&&(!h(e,"sessionKey")||s(e,"sessionKey")):!1}catch{return!1}}var A="site-edit",W="frame-runtime",G="frame-announce",ie=1,M=1,V=1,Me=24;function Ve(e,n={}){return K({namespace:A,channel:W,sessionKey:n.sessionKey,body:e})}function Le(){return K({namespace:A,channel:G,body:{type:"announce"}})}function Be(e){try{return!z(e)||e.namespace!==A||e.channel!==G?!1:o(e.body)&&d(e.body,"type","announce")&&u(e.body,["type"])}catch{return!1}}function Ke(e){try{return!z(e)||e.namespace!==A||e.channel!==W?!1:Pe(e.body)}catch{return!1}}function m(e){return o(e)&&s(e,"routeId")&&g(e,"templateId")&&u(e,["routeId","templateId"])}function w(e){return o(e)&&s(e,"routeId")&&g(e,"effectiveTemplateId")&&u(e,["routeId","effectiveTemplateId"])}function u(e,n){let t=new Set(n);return Reflect.ownKeys(e).every(i=>typeof i=="string"&&t.has(i))}var h=(e,n)=>Object.prototype.hasOwnProperty.call(e,n);function f(e,n){let t=Object.getOwnPropertyDescriptor(e,n);return t!==void 0&&"value"in t}function r(e,n){return Object.getOwnPropertyDescriptor(e,n)?.value}function d(e,n,t){return f(e,n)&&r(e,n)===t}function s(e,n){return f(e,n)&&typeof r(e,n)=="string"}function _(e,n){return f(e,n)&&typeof r(e,n)=="boolean"}function c(e,n){let t=r(e,n);return f(e,n)&&typeof t=="number"&&Number.isFinite(t)}function U(e,n){let t=r(e,n);return f(e,n)&&typeof t=="number"&&Number.isInteger(t)&&t>0}function g(e,n){return!h(e,n)||r(e,n)===void 0||s(e,n)}function b(e,n){return!h(e,n)||r(e,n)===void 0||c(e,n)}function E(e,n){let t=r(e,n);return!h(e,n)||t===void 0||f(e,n)&&typeof t=="number"&&Number.isInteger(t)&&t>=0}function a(e,n){return!h(e,n)||r(e,n)===void 0}function o(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function se(e){return o(e)&&Reflect.ownKeys(e).length===0}function T(e){if(!Array.isArray(e))return!1;for(let n=0;n<e.length;n+=1){let t=Object.getOwnPropertyDescriptor(e,String(n));if(t===void 0||!("value"in t)||typeof t.value!="string")return!1}return!0}function l(e){return o(e)&&s(e,"key")&&E(e,"instanceIndex")&&E(e,"instanceCount")&&E(e,"textSegmentIndex")}function ce(e){return o(e)&&s(e,"blockId")&&l(r(e,"ref"))&&R(r(e,"rect"))&&_(e,"targetIsSectionRoot")}function ae(e){if(!o(e))return!1;let n=r(e,"placement"),t=r(e,"boundary");return s(e,"anchorBlockId")&&l(r(e,"anchorRef"))&&(n==="before"||n==="after")&&o(t)&&c(t,"top")&&c(t,"left")&&c(t,"width")}function R(e){return o(e)&&["top","left","width","height"].every(n=>c(e,n))}function k(e){if(!o(e))return!1;let n=r(e,"rect"),t=r(e,"layout"),i=o(t)?r(t,"containingBlock"):null,p=r(e,"scrollContext"),y=o(i)&&(d(i,"kind","viewport")&&Reflect.ownKeys(i).length===1||d(i,"kind","document")&&Reflect.ownKeys(i).length===1||d(i,"kind","element")&&s(i,"runtimeNodeId"));return d(e,"version",ie)&&s(e,"runtimeNodeId")&&o(n)&&R(r(n,"viewport"))&&R(r(n,"document"))&&o(t)&&s(t,"position")&&s(t,"transform")&&y&&o(p)&&["scrollX","scrollY","viewportWidth","viewportHeight"].every(S=>c(p,S))&&f(p,"scrollContainers")&&de(r(p,"scrollContainers"))}function de(e){return Array.isArray(e)&&e.every(n=>o(n)&&s(n,"runtimeNodeId")&&c(n,"scrollLeft")&&c(n,"scrollTop"))}function N(e){return o(e)&&(a(e,"layoutSnapshot")||k(r(e,"layoutSnapshot")))}function pe(e){return o(e)&&l(r(e,"ref"))&&f(e,"layoutSnapshot")&&k(r(e,"layoutSnapshot"))&&(a(e,"childBoxes")||le(r(e,"childBoxes")))&&(a(e,"childRects")||fe(r(e,"childRects")))&&(a(e,"layout")||ue(r(e,"layout")))&&(a(e,"spacing")||me(r(e,"spacing")))}function ue(e){if(!o(e))return!1;let n=r(e,"indicatorOrientation");return s(e,"display")&&(n==="horizontal"||n==="vertical")&&g(e,"flexDirection")&&g(e,"gridAutoFlow")}function fe(e){return Array.isArray(e)&&e.every(n=>R(n))}function le(e){return Array.isArray(e)&&e.every(n=>o(n)&&R(r(n,"rect"))&&q(r(n,"margin")))}function q(e){return o(e)&&["marginTop","marginRight","marginBottom","marginLeft"].every(n=>c(e,n))}function me(e){return q(e)&&["paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","columnGap","rowGap"].every(n=>c(e,n))}function ye(e){if(!Array.isArray(e))return!1;for(let n=0;n<e.length;n+=1){let t=Object.getOwnPropertyDescriptor(e,String(n));if(t===void 0||!("value"in t)||!pe(t.value))return!1}return!0}function ge(e){return o(e)&&Reflect.ownKeys(e).every(n=>typeof n=="string"&&f(e,n)&&(typeof r(e,n)=="string"||r(e,n)===null))}function j(e){return e==null||typeof e=="string"||typeof e=="number"&&Number.isFinite(e)}function he(e){return o(e)&&Reflect.ownKeys(e).every(n=>typeof n=="string"&&f(e,n)&&j(r(e,n)))}function be(e){if(!o(e))return!1;let n=r(e,"priority");return s(e,"property")&&f(e,"value")&&j(r(e,"value"))&&(!h(e,"priority")||n===void 0||n==="important")}function Se(e){return o(e)?(a(e,"attributes")||ge(r(e,"attributes")))&&g(e,"className")&&(a(e,"style")||he(r(e,"style")))&&(a(e,"styleDeclarations")||Array.isArray(r(e,"styleDeclarations"))&&r(e,"styleDeclarations").every(be)):!1}function Ie(e){return o(e)&&c(e,"x")&&c(e,"y")&&(a(e,"detailLevel")||d(e,"detailLevel","summary")||d(e,"detailLevel","full"))}function Ee(e){return o(e)&&l(r(e,"ref"))}function Re(e){if(!o(e)||!o(r(e,"variables")))return!1;let n=r(e,"variables");return Reflect.ownKeys(n).every(t=>typeof t=="string"&&s(n,t))?a(e,"stylesheets")||T(r(e,"stylesheets")):!1}function we(e){if(!d(e,"type","request")||!s(e,"id")||!s(e,"kind")||!f(e,"payload"))return!1;let n=r(e,"kind"),t=r(e,"payload");switch(n){case"hit-test-at-point":case"start-text-edit-at-point":return Ie(t);case"bridge-get-source-tree":return o(t)&&m(r(t,"composition"))&&u(t,["composition"]);case"get-scroll-metrics":case"clear-theme-override":return se(t);case"bridge-get-history-status":case"bridge-undo":case"bridge-redo":return o(t)&&m(r(t,"composition"))&&u(t,["composition"]);case"bridge-get-source-file":return o(t)&&s(t,"path")&&m(r(t,"composition"))&&u(t,["path","composition"]);case"bridge-get-object-edit-context":return o(t)&&s(t,"key")&&m(r(t,"composition"))&&xe(r(t,"selectionRef"))&&u(t,["key","composition","selectionRef"]);case"bridge-resolve-source-location":case"bridge-get-class-name-source":return o(t)&&s(t,"key")&&m(r(t,"composition"))&&u(t,["key","composition"]);case"scroll-to":return o(t)&&c(t,"x")&&c(t,"y");case"scroll-by":return o(t)&&c(t,"deltaX")&&c(t,"deltaY");case"set-interaction-mode":return o(t)&&_(t,"enabled");case"set-selection-visual":return o(t)&&d(t,"version",M)&&l(r(t,"ref"))&&d(t,"visible",!0);case"clear-selection-visual":return o(t)&&d(t,"version",M);case"set-resize-visual":return o(t)&&d(t,"version",V)&&l(r(t,"ref"))&&d(t,"visible",!0);case"clear-resize-visual":return o(t)&&d(t,"version",V);case"set-theme-override":return Re(t);case"get-theme-variables":return o(t)&&T(r(t,"names"));case"compute-drop-target-at-point":return o(t)&&c(t,"x")&&c(t,"y")&&(d(t,"dragKind","insert")||d(t,"dragKind","move"))&&(a(t,"movingRef")||l(r(t,"movingRef")));case"observe-node-bounds":case"clear-node-bounds-observer":return o(t)&&(a(t,"ref")||l(r(t,"ref")));case"apply-node-patch":return o(t)&&l(r(t,"ref"))&&Se(r(t,"patch"))&&(a(t,"preview")||o(r(t,"preview"))&&s(r(t,"preview"),"sessionId")&&E(r(t,"preview"),"revision")&&h(r(t,"preview"),"revision"));case"get-hit-by-ref":case"get-path-by-ref":case"restore-text-edit":case"clear-text-edit-rollback":return Ee(t);case"bridge-initialize-session":case"bridge-get-style-context":return o(t)&&m(r(t,"composition"))&&u(t,["composition"]);case"bridge-get-document":case"bridge-ensure-document-version":case"bridge-acknowledge-document-version":return o(t)&&m(r(t,"composition"))&&b(t,"minVersion")&&b(t,"version")&&u(t,["composition","minVersion","version"]);case"bridge-execute":{if(!o(t))return!1;let i=r(t,"request"),p=r(t,"composition"),y=o(i)?r(i,"composition"):null;return!m(p)||!o(i)||!m(y)?!1:I({routeId:p.routeId,...p.templateId?{effectiveTemplateId:p.templateId}:{}})===I({routeId:y.routeId,...y.templateId?{effectiveTemplateId:y.templateId}:{}})&&u(t,["composition","request"])}case"bridge-subscribe":case"bridge-unsubscribe":return o(t)&&s(t,"subscriptionId")&&m(r(t,"composition"))&&u(t,["subscriptionId","composition"]);default:return!1}}function Te(e){return d(e,"type","response")&&s(e,"id")&&_(e,"ok")&&(a(e,"error")||s(e,"error"))}function Ae(e){if(!o(e))return!1;let n=r(e,"type");if(typeof n!="string"||!w(r(e,"composition"))||!s(e,"siteId")||!s(e,"at"))return!1;switch(n){case"site-edit.document.changed":return s(e,"snapshotId")&&c(e,"version");case"site-edit.operation.planned":return s(e,"operationId")&&s(e,"baseSnapshotId")&&T(r(e,"changedFiles"));case"site-edit.operation.completed":return o(r(e,"result"));case"site-edit.operation.failed":return s(e,"requestId")&&o(r(e,"error"));case"site-edit.capability.changed":return T(r(e,"keys"));case"site-edit.graph.invalidated":return!0;case"site-edit.graph.ready":return c(e,"version");case"site-edit.graph.error":return s(e,"message");default:return!1}}var _e=new Set(["pointer-down","pointer-move","pointer-leave","pointer-up","pointer-cancel","pointer-click","pointer-double-click"]),H=new Set(["e","s","se"]);function Oe(e,n){if(a(e,"resizeSession"))return!0;let t=r(e,"resizeSession");if(!o(t))return!1;let i=r(e,"pointerId"),p=r(t,"pointerId"),y=r(t,"phase"),S=r(t,"edge"),X=n==="pointer-down"?"start":n==="pointer-up"?"commit":n==="pointer-cancel"?"cancel":null;return r(t,"version")===1&&y===X&&s(t,"sessionId")&&String(r(t,"sessionId")).length>0&&typeof i=="number"&&Number.isInteger(i)&&typeof p=="number"&&Number.isInteger(p)&&i===p&&typeof S=="string"&&H.has(S)&&r(e,"resizeEdge")===S&&l(r(t,"ref"))&&["startWidth","startHeight","width","height"].every(Y=>c(t,Y))}function Ne(e){if(!d(e,"type","event")||!s(e,"kind")||!o(r(e,"payload")))return!1;let n=r(e,"kind"),t=r(e,"payload");switch(n){case"text-edit-commit":case"text-edit-cancel":case"text-edit-exit":case"text-edit-input":return l(r(t,"ref"))&&g(t,"value")&&(a(t,"hit")||N(r(t,"hit")));case"node-bounds-change":return N(r(t,"hit"));case"geometry-batch":{let i=r(t,"reason");return U(t,"sequence")&&c(t,"sourceEventAt")&&c(t,"captureStartedAt")&&c(t,"capturedAt")&&(i==="scroll"||i==="resize"||i==="mutation")&&ye(r(t,"snapshots"))}case"bridge-event":{let i=r(t,"event"),p=r(t,"composition");return!Ae(i)||!w(p)?!1:s(t,"subscriptionId")&&I(p)===I(i.composition)}case"route-ready":return w(r(t,"composition"))&&s(t,"editEngineVersion")&&c(t,"sequence")&&c(t,"version");case"bridge-status":{let i=r(t,"state");return(i==="connecting"||i==="ready"||i==="reconnecting"||i==="failed"||i==="reload-required")&&w(r(t,"composition"))&&c(t,"sequence")&&b(t,"attempt")&&b(t,"retryInMs")&&g(t,"messageKey")}case"scroll":{let i=r(t,"metrics");return o(i)&&["scrollX","scrollY","scrollWidth","scrollHeight","viewportWidth","viewportHeight"].every(p=>c(i,p))}default:return _e.has(n)&&c(t,"clientX")&&c(t,"clientY")&&b(t,"buttons")&&b(t,"pointerId")&&(a(t,"hoverVisualOwned")||_(t,"hoverVisualOwned"))&&(a(t,"resizeEdge")||s(t,"resizeEdge")&&H.has(r(t,"resizeEdge")))&&Oe(t,n)&&(r(t,"hit")===null||N(r(t,"hit")))&&(a(t,"section")||r(t,"section")===null||ce(r(t,"section")))&&(a(t,"sectionGap")||r(t,"sectionGap")===null||ae(r(t,"sectionGap")))}}function xe(e){if(e===void 0)return!0;if(!o(e)||!u(e,["key","instanceIndex","instanceCount"])||!s(e,"key")||r(e,"key").length===0||!E(e,"instanceIndex")||!a(e,"instanceCount")&&!U(e,"instanceCount"))return!1;let n=r(e,"instanceIndex"),t=r(e,"instanceCount");return!(typeof n=="number"&&typeof t=="number"&&n>=t)}function Pe(e){if(!o(e))return!1;switch(r(e,"type")){case"request":return we(e);case"response":return Te(e);case"event":return Ne(e);default:return!1}}export{G as SITE_EDIT_FRAME_ANNOUNCE_CHANNEL,W as SITE_EDIT_FRAME_RUNTIME_CHANNEL,ie as SITE_EDIT_FRAME_RUNTIME_LAYOUT_SNAPSHOT_VERSION,V as SITE_EDIT_FRAME_RUNTIME_RESIZE_VISUAL_VERSION,M as SITE_EDIT_FRAME_RUNTIME_SELECTION_VISUAL_VERSION,Me as SITE_EDIT_FRAME_SECTION_GAP_RADIUS_PX,A as SITE_EDIT_WINDOW_MESSAGE_NAMESPACE,L as VCP_WINDOW_MESSAGE_SOURCE,B as VCP_WINDOW_MESSAGE_VERSION,Le as createSiteEditFrameAnnounceMessage,Ve as createSiteEditFrameRuntimeMessage,K as createVcpWindowMessageEnvelope,C as getPropertyPreviewDomAttributeName,Be as isSiteEditFrameAnnounceMessage,k as isSiteEditFrameRuntimeLayoutSnapshot,Ke as isSiteEditFrameRuntimeMessage,z as isVcpWindowMessageEnvelope,v as planPropertyPreview};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcp-dev/site-edit-bridge",
3
- "version": "0.9.6",
3
+ "version": "0.10.1",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -74,8 +74,8 @@
74
74
  "typecheck": "tsc -p tsconfig.json --noEmit"
75
75
  },
76
76
  "dependencies": {
77
- "@vcp-dev/contracts": "0.9.6",
78
- "@vcp-dev/site-edit-engine": "0.9.6",
77
+ "@vcp-dev/contracts": "0.10.1",
78
+ "@vcp-dev/site-edit-engine": "0.10.1",
79
79
  "@types/ws": "^8.18.1",
80
80
  "ws": "^8.20.1"
81
81
  },