{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/3HobzjjV3HACvOdSURvg/MthmCRgquGW8Rqidm7J8/Counter.js", "ssg:https://framerusercontent.com/modules/6IGgZERg2dpvrXhRUGkh/gUQdZPIjjr5HetFURKe0/Broadcast.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function BroadcastCounter(props){const[itemCount,setItemCount]=useState(0);const BROADCAST_ID=\"3.14px solid transparent\";const observer=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{if(!isCanvas){// Initial check\ncheckBroadcastData();// Set up a mutation observer to watch for DOM changes\nobserver.current=new MutationObserver(mutations=>{checkBroadcastData();});// Find the broadcaster element\nconst broadcasterElements=document.querySelectorAll(`[style*=\"border: ${BROADCAST_ID}\"]`);if(broadcasterElements.length>0){// Watch for changes to the broadcaster and its children\nobserver.current.observe(broadcasterElements[0],{childList:true,subtree:true,attributes:true,attributeFilter:[\"style\",\"data-filter-\",\"data-search-\"]});}// Clean up on unmount\nreturn()=>{if(observer.current){observer.current.disconnect();}};}},[isCanvas]);const checkBroadcastData=()=>{// Check DOM directly to count visible items\nconst broadcasterElements=document.querySelectorAll(`[style*=\"border: ${BROADCAST_ID}\"]`);if(broadcasterElements.length>0){const broadcaster=broadcasterElements[0];const children=Array.from(broadcaster.children);// Only count visible items (items that aren't display: none)\nconst visibleCount=children.filter(child=>child.style.display!==\"none\").length;setItemCount(visibleCount);}};// Canvas preview\nif(isCanvas){const exampleCount=123;const displayText=props.showPrefix?`${props.prefix}${exampleCount}${props.suffix}`:`${exampleCount}${props.suffix}`;return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:props.background},children:/*#__PURE__*/_jsx(\"div\",{style:{...props.font,color:props.fontColor},children:displayText})});}// Hide component if count is zero and showIfZero is false\nif(itemCount===0&&!props.showIfZero){return null;}// Format the item count\nconst displayText=props.showPrefix?`${props.prefix}${itemCount}${props.suffix}`:`${itemCount}${props.suffix}`;return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:props.background},children:/*#__PURE__*/_jsx(\"div\",{style:{...props.font,color:props.fontColor},children:displayText})});}// Default props\nBroadcastCounter.defaultProps={prefix:\"Items: \",suffix:\"\",showPrefix:true,showIfZero:true,fontColor:\"#000000\",background:\"transparent\"};// Property controls\naddPropertyControls(BroadcastCounter,{prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"Items: \",hidden(props){return!props.showPrefix;}},showPrefix:{type:ControlType.Boolean,title:\"Show Prefix\",defaultValue:true},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},showIfZero:{type:ControlType.Boolean,title:\"Show If Zero\",defaultValue:true},fontColor:{type:ControlType.Color,title:\"Font Color\",defaultValue:\"#000000\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\"},font:{type:ControlType.Font,controls:\"extended\",title:\"Font\",defaultValue:{fontSize:16,lineHeight:1.2,letterSpacing:0,textAlign:\"center\"},description:\"v1.0 \\n[via SegmentUI](https://www.segmentUI.com)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BroadcastCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Counter.map", "import{jsx as _jsx}from\"react/jsx-runtime\";// Unique identifier for the broadcaster\nconst BROADCAST_ID=\"3.14px solid transparent\";export function Broadcaster(){return{style:{border:BROADCAST_ID},animate:{scale:1,transition:{duration:.1}},onAnimationComplete(){console.log(\"Starting broadcaster\");// Find our broadcaster element using the transparent border\nconst broadcasterElements=document.querySelectorAll(`[style*=\"border: ${BROADCAST_ID}\"]`);if(broadcasterElements.length>0){const broadcaster=broadcasterElements[0];const children=Array.from(broadcaster.children);console.log(\"Broadcaster found with\",children.length,\"children\");// Broadcast data about this element and its children\nconst broadcastData={timestamp:Date.now(),elementCount:children.length,children:children.map((child,index)=>({index,element:child,width:child.offsetWidth,height:child.offsetHeight}))};// Store the data on window object for other components to access\nif(!window.broadcastedData){window.broadcastedData={};}// Use a unique ID for this broadcaster\nconst broadcasterId=`broadcast-${Date.now()}`;window.broadcastedData[broadcasterId]=broadcastData;console.log(\"Data broadcasted:\",broadcastData);// Clean up any existing interval\nif(window.broadcastInterval){clearInterval(window.broadcastInterval);console.log(\"Cleared existing broadcast interval\");}}}};}// Listener component with click functionality to delete the last item\nexport function BroadcastListener(){return{animate:{scale:1,transition:{duration:.1}},onAnimationComplete(){console.log(\"Broadcast listener activated\");// Find all broadcaster elements\nconst broadcasterElements=document.querySelectorAll(`[style*=\"border: ${BROADCAST_ID}\"]`);console.log(\"Found broadcasters:\",broadcasterElements.length);// Check window object for broadcast data\nif(window.broadcastedData){console.log(\"Received broadcast data:\",window.broadcastedData);}},// Add click handler to delete the last item\nonTap(){console.log(\"Listener clicked - removing last item from broadcast data\");if(window.broadcastedData){const broadcastKeys=Object.keys(window.broadcastedData);if(broadcastKeys.length>0){const lastBroadcastId=broadcastKeys[broadcastKeys.length-1];const broadcastData=window.broadcastedData[lastBroadcastId];// Check if there are children to remove\nif(broadcastData.children&&broadcastData.children.length>0){// Get the last child\nconst lastChild=broadcastData.children.pop();broadcastData.elementCount=broadcastData.children.length;console.log(\"Removed last child from data:\",lastChild);// Actually remove the element from the DOM if we have a reference\nif(lastChild.element&&lastChild.element.parentNode){lastChild.element.parentNode.removeChild(lastChild.element);console.log(\"Removed element from DOM\");}else{console.log(\"Could not find DOM element to remove\");// Fallback: try to find the element by other means\nconst broadcasterElements=document.querySelectorAll(`[style*=\"border: ${BROADCAST_ID}\"]`);if(broadcasterElements.length>0){const broadcaster=broadcasterElements[0];const children=Array.from(broadcaster.children);if(children.length>0){const lastDOMChild=children[children.length-1];lastDOMChild.parentNode?.removeChild(lastDOMChild);console.log(\"Removed last child using DOM search\");}}}console.log(\"Updated broadcast data:\",broadcastData);}else{console.log(\"No children to remove in the broadcast data\");}}else{console.log(\"No broadcast data found to modify\");}}else{console.log(\"No broadcast data available\");}}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withBroadcaster(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...Broadcaster(props)});};}withBroadcaster.displayName=\"Broadcaster\";export function withBroadcastListener(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...BroadcastListener(props)});};}withBroadcastListener.displayName=\"BroadcastListener\";\nexport const __FramerMetadata__ = {\"exports\":{\"BroadcastListener\":{\"type\":\"override\",\"name\":\"BroadcastListener\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withBroadcaster\":{\"type\":\"reactHoc\",\"name\":\"withBroadcaster\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withBroadcastListener\":{\"type\":\"reactHoc\",\"name\":\"withBroadcastListener\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Broadcaster\":{\"type\":\"override\",\"name\":\"Broadcaster\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Broadcast.map"],
  "mappings": "4KAKkB,SAARA,EAAkCC,EAAM,CAAC,GAAK,CAACC,EAAUC,CAAY,EAAEC,EAAS,CAAC,EAAQC,EAAa,2BAAiCC,EAASC,EAAO,IAAI,EAAQC,EAASC,EAAa,QAAQ,IAAIA,EAAa,OAAOC,EAAU,IAAI,CAAC,GAAG,CAACF,EAAS,CAC/PG,EAAmB,EACnBL,EAAS,QAAQ,IAAI,iBAAiBM,GAAW,CAACD,EAAmB,CAAE,CAAC,EACxE,IAAME,EAAoB,SAAS,iBAAiB,oBAAoBR,CAAY,IAAI,EAAE,OAAGQ,EAAoB,OAAO,GACxHP,EAAS,QAAQ,QAAQO,EAAoB,CAAC,EAAE,CAAC,UAAU,GAAK,QAAQ,GAAK,WAAW,GAAK,gBAAgB,CAAC,QAAQ,eAAe,cAAc,CAAC,CAAC,EAC/I,IAAI,CAAIP,EAAS,SAASA,EAAS,QAAQ,WAAW,CAAG,CAAE,CAAC,EAAE,CAACE,CAAQ,CAAC,EAAE,IAAMG,EAAmB,IAAI,CAC7G,IAAME,EAAoB,SAAS,iBAAiB,oBAAoBR,CAAY,IAAI,EAAE,GAAGQ,EAAoB,OAAO,EAAE,CAAC,IAAMC,EAAYD,EAAoB,CAAC,EAC5JE,EAD6K,MAAM,KAAKD,EAAY,QAAQ,EACtL,OAAOE,GAAOA,EAAM,MAAM,UAAU,MAAM,EAAE,OAAOb,EAAaY,CAAY,CAAE,CAAC,EAC3G,GAAGP,EAAS,CAAwB,IAAMS,EAAYhB,EAAM,WAAW,GAAGA,EAAM,MAAM,MAAkBA,EAAM,MAAM,GAAG,MAAkBA,EAAM,MAAM,GAAG,OAAoBiB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,gBAAgBjB,EAAM,UAAU,EAAE,SAAsBiB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAGjB,EAAM,KAAK,MAAMA,EAAM,SAAS,EAAE,SAASgB,CAAW,CAAC,CAAC,CAAC,CAAE,CAC9Z,GAAGf,IAAY,GAAG,CAACD,EAAM,WAAY,OAAO,KAC5C,IAAMgB,EAAYhB,EAAM,WAAW,GAAGA,EAAM,MAAM,GAAGC,CAAS,GAAGD,EAAM,MAAM,GAAG,GAAGC,CAAS,GAAGD,EAAM,MAAM,GAAG,OAAoBiB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,gBAAgBjB,EAAM,UAAU,EAAE,SAAsBiB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAGjB,EAAM,KAAK,MAAMA,EAAM,SAAS,EAAE,SAASgB,CAAW,CAAC,CAAC,CAAC,CAAE,CACpXjB,EAAiB,aAAa,CAAC,OAAO,UAAU,OAAO,GAAG,WAAW,GAAK,WAAW,GAAK,UAAU,UAAU,WAAW,aAAa,EACtImB,EAAoBnB,EAAiB,CAAC,OAAO,CAAC,KAAKoB,EAAY,OAAO,MAAM,SAAS,aAAa,UAAU,OAAOnB,EAAM,CAAC,MAAM,CAACA,EAAM,UAAW,CAAC,EAAE,WAAW,CAAC,KAAKmB,EAAY,QAAQ,MAAM,cAAc,aAAa,EAAI,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,EAAE,WAAW,CAAC,KAAKA,EAAY,QAAQ,MAAM,eAAe,aAAa,EAAI,EAAE,UAAU,CAAC,KAAKA,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,WAAW,CAAC,KAAKA,EAAY,MAAM,MAAM,aAAa,aAAa,aAAa,EAAE,KAAK,CAAC,KAAKA,EAAY,KAAK,SAAS,WAAW,MAAM,OAAO,aAAa,CAAC,SAAS,GAAG,WAAW,IAAI,cAAc,EAAE,UAAU,QAAQ,EAAE,YAAY;AAAA,2CAAmD,CAAC,CAAC,EChBxtB,IAAMC,EAAa,2BAAkC,SAASC,GAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAOD,CAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,qBAAqB,CAAC,QAAQ,IAAI,sBAAsB,EAClN,IAAME,EAAoB,SAAS,iBAAiB,oBAAoBF,CAAY,IAAI,EAAE,GAAGE,EAAoB,OAAO,EAAE,CAAC,IAAMC,EAAYD,EAAoB,CAAC,EAAQE,EAAS,MAAM,KAAKD,EAAY,QAAQ,EAAE,QAAQ,IAAI,yBAAyBC,EAAS,OAAO,UAAU,EACnR,IAAMC,EAAc,CAAC,UAAU,KAAK,IAAI,EAAE,aAAaD,EAAS,OAAO,SAASA,EAAS,IAAI,CAACE,EAAMC,KAAS,CAAC,MAAAA,EAAM,QAAQD,EAAM,MAAMA,EAAM,YAAY,OAAOA,EAAM,YAAY,EAAE,CAAC,EAClLE,EAAO,kBAAiBA,EAAO,gBAAgB,CAAC,GACpD,IAAMC,EAAc,aAAa,KAAK,IAAI,CAAC,GAAGD,EAAO,gBAAgBC,CAAa,EAAEJ,EAAc,QAAQ,IAAI,oBAAoBA,CAAa,EAC5IG,EAAO,oBAAmB,cAAcA,EAAO,iBAAiB,EAAE,QAAQ,IAAI,qCAAqC,EAAG,CAAC,CAAC,CAAE,CACtH,SAASE,GAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,qBAAqB,CAAC,QAAQ,IAAI,8BAA8B,EACtJ,IAAMR,EAAoB,SAAS,iBAAiB,oBAAoBF,CAAY,IAAI,EAAE,QAAQ,IAAI,sBAAsBE,EAAoB,MAAM,EACnJM,EAAO,iBAAiB,QAAQ,IAAI,2BAA2BA,EAAO,eAAe,CAAG,EAC3F,OAAO,CAA0E,GAAzE,QAAQ,IAAI,2DAA2D,EAAKA,EAAO,gBAAgB,CAAC,IAAMG,EAAc,OAAO,KAAKH,EAAO,eAAe,EAAE,GAAGG,EAAc,OAAO,EAAE,CAAC,IAAMC,EAAgBD,EAAcA,EAAc,OAAO,CAAC,EAAQN,EAAcG,EAAO,gBAAgBI,CAAe,EACrT,GAAGP,EAAc,UAAUA,EAAc,SAAS,OAAO,EAAE,CAC3D,IAAMQ,EAAUR,EAAc,SAAS,IAAI,EAC3C,GAD6CA,EAAc,aAAaA,EAAc,SAAS,OAAO,QAAQ,IAAI,gCAAgCQ,CAAS,EACxJA,EAAU,SAASA,EAAU,QAAQ,WAAYA,EAAU,QAAQ,WAAW,YAAYA,EAAU,OAAO,EAAE,QAAQ,IAAI,0BAA0B,MAAO,CAAC,QAAQ,IAAI,sCAAsC,EAChN,IAAMX,EAAoB,SAAS,iBAAiB,oBAAoBF,CAAY,IAAI,EAAE,GAAGE,EAAoB,OAAO,EAAE,CAAC,IAAMC,EAAYD,EAAoB,CAAC,EAAQE,EAAS,MAAM,KAAKD,EAAY,QAAQ,EAAE,GAAGC,EAAS,OAAO,EAAE,CAAC,IAAMU,EAAaV,EAASA,EAAS,OAAO,CAAC,EAAEU,EAAa,YAAY,YAAYA,CAAY,EAAE,QAAQ,IAAI,qCAAqC,CAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,0BAA0BT,CAAa,CAAE,MAAM,QAAQ,IAAI,6CAA6C,CAAG,MAAM,QAAQ,IAAI,mCAAmC,CAAG,MAAM,QAAQ,IAAI,6BAA6B,CAAG,CAAC,CAAE,CAA2J,SAASU,EAAgBC,EAAE,CAAC,OAAOC,IAAQC,EAA+BC,CAAuC,EAASC,EAAKJ,EAAE,CAAC,GAAGC,EAAM,GAAGhB,EAAYgB,CAAK,CAAC,CAAC,EAAI,CAACF,EAAgB,YAAY,cAAqB,SAASM,EAAsBL,EAAE,CAAC,OAAOC,IAAQC,EAA+BC,CAAuC,EAASC,EAAKJ,EAAE,CAAC,GAAGC,EAAM,GAAGP,EAAkBO,CAAK,CAAC,CAAC,EAAI,CAACI,EAAsB,YAAY",
  "names": ["BroadcastCounter", "props", "itemCount", "setItemCount", "ye", "BROADCAST_ID", "observer", "pe", "isCanvas", "RenderTarget", "ue", "checkBroadcastData", "mutations", "broadcasterElements", "broadcaster", "visibleCount", "child", "displayText", "p", "addPropertyControls", "ControlType", "BROADCAST_ID", "Broadcaster", "broadcasterElements", "broadcaster", "children", "broadcastData", "child", "index", "window", "broadcasterId", "BroadcastListener", "broadcastKeys", "lastBroadcastId", "lastChild", "lastDOMChild", "withBroadcaster", "C", "props", "re", "DataObserverContext", "p", "withBroadcastListener"]
}
