{"version":3,"file":"Broadcast.Cw4ISXGy.mjs","names":["BROADCAST_ID","displayText","__legacyOverrideHOC_DataObserverContext"],"sources":["https:/framerusercontent.com/modules/3HobzjjV3HACvOdSURvg/MthmCRgquGW8Rqidm7J8/Counter.js","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":"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"}