{"version":3,"file":"Progress.DaDA-kLD.mjs","names":["React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/QJE9t7su6nigwTCtD9Qv/qBPCcf674RIyZvN3QEx5/Progress.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/* =========================================================\n   DEFAULTS\n========================================================= */const DEFAULT_ITEMS=[{name:\"Strength\",percentage:90}];const DEFAULT_API={enabled:false,url:\"\",responsePath:\"\",refreshInterval:0};const DEFAULT_LAYOUT={padding:\"20px\",gap:20,barGap:8};const DEFAULT_TYPOGRAPHY={title:{fontSize:14,lineHeight:1.2,letterSpacing:0,textAlign:\"left\",variant:\"Medium\"},value:{fontSize:14,lineHeight:1.2,letterSpacing:0,textAlign:\"right\",variant:\"Semibold\"}};const DEFAULT_COLORS={background:\"#FFFFFF\",title:\"#111111\",value:\"#111111\",bar:\"#111111\",track:\"#E8E8E8\",gradientStart:\"#111111\",gradientEnd:\"#6B8E5A\"};const DEFAULT_PROGRESS_BAR={style:\"solid\",height:8,radius:\"999px\",segmentCount:10,stripeSize:8,stripeGap:4,glowIntensity:12};const DEFAULT_BORDER={border:{borderWidth:0,borderStyle:\"solid\",borderColor:\"#E5E5E5\"},radius:\"12px\"};const DEFAULT_ANIMATION={enabled:true,duration:800};/* =========================================================\n   HELPERS\n========================================================= */function clamp(value){return Math.min(100,Math.max(0,value));}function getByPath(data,path){if(!path||!path.trim()){return data;}return path.split(\".\").reduce((current,key)=>{if(current===null||current===undefined){return undefined;}return current[key];},data);}function normalizeAPIData(data){if(!Array.isArray(data)){return[];}return data.map(item=>{if(!item||typeof item!==\"object\"){return null;}const name=item.name??item.label??item.title??\"Output\";const rawPercentage=item.percentage??item.percent??item.value??0;const percentage=Number(rawPercentage);return{name:String(name),percentage:Number.isFinite(percentage)?clamp(percentage):0};}).filter(Boolean);}/* =========================================================\n   PROGRESS BAR\n========================================================= */function ProgressBar({percentage,settings,colors,animation,isStatic,label}){const[progress,setProgress]=React.useState(animation.enabled&&!isStatic?0:percentage);React.useEffect(()=>{if(isStatic||!animation.enabled){setProgress(percentage);return;}setProgress(0);const frame=requestAnimationFrame(()=>{setProgress(percentage);});return()=>{cancelAnimationFrame(frame);};},[percentage,animation.enabled,isStatic]);const height=Math.max(1,settings.height);const radius=settings.radius||\"999px\";const transition=animation.enabled&&!isStatic?`width ${animation.duration}ms cubic-bezier(0.22, 1, 0.36, 1)`:\"none\";const trackStyle={width:\"100%\",height:`${height}px`,minHeight:`${height}px`,position:\"relative\",overflow:\"hidden\",background:colors.track,borderRadius:radius,flexShrink:0};const progressBarProps={role:\"progressbar\",\"aria-label\":label,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-valuenow\":Math.round(progress)};/* SOLID */if(settings.style===\"solid\"){return /*#__PURE__*/_jsx(\"div\",{style:trackStyle,...progressBarProps,children:/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:`${progress}%`,height:\"100%\",background:colors.bar,borderRadius:radius,transition}})});}/* GRADIENT */if(settings.style===\"gradient\"){return /*#__PURE__*/_jsx(\"div\",{style:trackStyle,...progressBarProps,children:/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:`${progress}%`,height:\"100%\",background:`linear-gradient(\n                            90deg,\n                            ${colors.gradientStart},\n                            ${colors.gradientEnd}\n                        )`,borderRadius:radius,transition}})});}/* STRIPED */if(settings.style===\"striped\"){const stripePattern=`repeating-linear-gradient(\n                135deg,\n                ${colors.bar} 0px,\n                ${colors.bar} ${settings.stripeSize}px,\n                transparent ${settings.stripeSize}px,\n                transparent ${settings.stripeSize+settings.stripeGap}px\n            )`;return /*#__PURE__*/_jsx(\"div\",{style:trackStyle,...progressBarProps,children:/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:`${progress}%`,height:\"100%\",background:stripePattern,borderRadius:radius,transition}})});}/* GLOW */if(settings.style===\"glow\"){return /*#__PURE__*/_jsx(\"div\",{style:trackStyle,...progressBarProps,children:/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:`${progress}%`,height:\"100%\",background:colors.bar,borderRadius:radius,boxShadow:`0 0 ${settings.glowIntensity}px ${colors.bar}`,transition}})});}/* SEGMENTED */if(settings.style===\"segmented\"){const count=Math.max(2,Math.round(settings.segmentCount));return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:`${height}px`,display:\"flex\",gap:3},...progressBarProps,children:Array.from({length:count},(_,index)=>{const start=index/count*100;const end=(index+1)/count*100;const active=progress>=end;const partial=progress>start&&progress<end;let background=colors.track;if(active){background=colors.bar;}if(partial){const amount=(progress-start)/(end-start)*100;background=`linear-gradient(\n                                    90deg,\n                                    ${colors.bar} ${amount}%,\n                                    ${colors.track} ${amount}%\n                                )`;}return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{flex:1,minWidth:0,height:\"100%\",background,borderRadius:radius}},index);})});}/* DOTS */if(settings.style===\"dots\"){const count=Math.max(5,Math.round(settings.segmentCount*2));const dotSize=Math.max(2,Math.min(height,8));return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:`${height}px`,display:\"flex\",alignItems:\"center\",gap:Math.max(3,height/2),overflow:\"hidden\"},...progressBarProps,children:Array.from({length:count},(_,index)=>{const threshold=(index+1)/count*100;return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:`${dotSize}px`,height:`${dotSize}px`,minWidth:`${dotSize}px`,borderRadius:\"50%\",background:progress>=threshold?colors.bar:colors.track}},index);})});}return null;}/* =========================================================\n   MAIN COMPONENT\n========================================================= */export default function OutputPercentage(props){const isStatic=useIsStaticRenderer();const items=props.items??DEFAULT_ITEMS;const showPercentage=props.showPercentage??true;const percentagePosition=props.percentagePosition??\"right\";const api={...DEFAULT_API,...props.api??{}};const layout={...DEFAULT_LAYOUT,...props.layout??{}};const typography={title:{...DEFAULT_TYPOGRAPHY.title,...props.typography?.title??{}},value:{...DEFAULT_TYPOGRAPHY.value,...props.typography?.value??{}}};const colors={...DEFAULT_COLORS,...props.colors??{}};const progressBar={...DEFAULT_PROGRESS_BAR,...props.progressBar??{}};const border={...DEFAULT_BORDER,...props.border??{},border:{...DEFAULT_BORDER.border,...props.border?.border??{}}};const animation={...DEFAULT_ANIMATION,...props.animation??{}};const[apiItems,setAPIItems]=React.useState(null);const[loading,setLoading]=React.useState(false);/* =====================================================\n       API FETCH\n    ===================================================== */const fetchAPI=React.useCallback(async()=>{if(!api.enabled||!api.url||isStatic){return;}try{setLoading(true);const response=await fetch(api.url);if(!response.ok){throw new Error(`API request failed: ${response.status}`);}const json=await response.json();const responseData=getByPath(json,api.responsePath);const normalized=normalizeAPIData(responseData);setAPIItems(normalized.length?normalized:null);}catch(error){console.error(\"Output Percentage API error:\",error);setAPIItems(null);}finally{setLoading(false);}},[api.enabled,api.url,api.responsePath,isStatic]);React.useEffect(()=>{if(!api.enabled||!api.url||isStatic){setAPIItems(null);setLoading(false);return;}fetchAPI();if(api.refreshInterval<=0){return;}const interval=window.setInterval(fetchAPI,api.refreshInterval*1e3);return()=>window.clearInterval(interval);},[api.enabled,api.url,api.responsePath,api.refreshInterval,fetchAPI,isStatic]);const displayItems=api.enabled&&apiItems&&apiItems.length>0?apiItems:items;/* =====================================================\n       RENDER\n    ===================================================== */return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",boxSizing:\"border-box\",padding:layout.padding,background:colors.background,border:border.border?.borderWidth&&border.border.borderWidth>0?`${border.border.borderWidth}px ${border.border.borderStyle??\"solid\"} ${border.border.borderColor??\"transparent\"}`:\"none\",borderRadius:border.radius,display:\"flex\",flexDirection:\"column\",gap:layout.gap,overflow:\"hidden\"},children:[displayItems.map((item,index)=>{const percentage=clamp(Number(item.percentage)||0);const itemName=item.name&&item.name.trim()?item.name:\"Output\";return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",minWidth:0,display:\"flex\",flexDirection:\"column\",gap:layout.barGap},children:[/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{flex:1,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",color:colors.title,...typography.title},children:itemName}),showPercentage&&percentagePosition===\"right\"&&/*#__PURE__*/_jsxs(\"div\",{style:{flexShrink:0,color:colors.value,fontVariantNumeric:\"tabular-nums\",...typography.value},children:[Math.round(percentage),\"%\"]})]}),/*#__PURE__*/_jsx(ProgressBar,{percentage:percentage,settings:progressBar,colors:colors,animation:animation,isStatic:isStatic,label:`${itemName}: ${Math.round(percentage)}%`}),showPercentage&&percentagePosition===\"below\"&&/*#__PURE__*/_jsxs(\"div\",{style:{color:colors.value,fontVariantNumeric:\"tabular-nums\",...typography.value},children:[Math.round(percentage),\"%\"]})]},`${itemName}-${index}`);}),api.enabled&&loading&&!isStatic&&/*#__PURE__*/_jsx(\"div\",{\"aria-live\":\"polite\",style:{fontFamily:\"Inter\",fontSize:11,color:\"#999999\"},children:\"Updating…\"})]});}/* =========================================================\n   DEFAULT PROPS\n========================================================= */OutputPercentage.defaultProps={items:DEFAULT_ITEMS,showPercentage:true,percentagePosition:\"right\",api:DEFAULT_API,layout:DEFAULT_LAYOUT,typography:DEFAULT_TYPOGRAPHY,colors:DEFAULT_COLORS,progressBar:DEFAULT_PROGRESS_BAR,border:DEFAULT_BORDER,animation:DEFAULT_ANIMATION};/* =========================================================\n   PROPERTY CONTROLS\n========================================================= */addPropertyControls(OutputPercentage,{/* =================================================\n           CONTENT\n        ================================================= */items:{type:ControlType.Array,title:\"Outputs\",maxCount:20,control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Name\",defaultValue:\"Strength\"},percentage:{type:ControlType.Number,title:\"Percentage\",defaultValue:90,min:0,max:100,step:1,unit:\"%\"}}},defaultValue:DEFAULT_ITEMS},showPercentage:{type:ControlType.Boolean,title:\"Show Value\",defaultValue:true},percentagePosition:{type:ControlType.Enum,title:\"Value Position\",options:[\"right\",\"below\"],optionTitles:[\"Right\",\"Below\"],defaultValue:\"right\",hidden:props=>!props.showPercentage},/* =================================================\n           API\n        ================================================= */api:{type:ControlType.Object,title:\"API\",controls:{enabled:{type:ControlType.Boolean,title:\"Connect API\",defaultValue:false},url:{type:ControlType.String,title:\"API URL\",placeholder:\"https://api.example.com/outputs\"},responsePath:{type:ControlType.String,title:\"Response Path\",placeholder:\"data\"},refreshInterval:{type:ControlType.Number,title:\"Refresh\",defaultValue:0,min:0,max:3600,step:5,unit:\"sec\"}}},/* =================================================\n           LAYOUT\n        ================================================= */layout:{type:ControlType.Object,title:\"Layout\",controls:{padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"20px\"},gap:{type:ControlType.Number,title:\"Output Gap\",defaultValue:20,min:0,max:100,unit:\"px\"},barGap:{type:ControlType.Number,title:\"Title / Bar Gap\",defaultValue:8,min:0,max:50,unit:\"px\"}}},/* =================================================\n           TYPOGRAPHY\n\n           Title and Value are BOTH independent\n           native Framer Font controls.\n        ================================================= */typography:{type:ControlType.Object,title:\"Typography\",controls:{title:{type:ControlType.Font,title:\"Title\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultFontSize:\"14px\",displayFontSize:true,displayTextAlignment:true,defaultValue:{fontSize:14,lineHeight:1.2,letterSpacing:0,textAlign:\"left\",variant:\"Medium\"}},value:{type:ControlType.Font,title:\"Value\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultFontSize:\"14px\",displayFontSize:true,displayTextAlignment:true,defaultValue:{fontSize:14,lineHeight:1.2,letterSpacing:0,textAlign:\"right\",variant:\"Semibold\"}}}},/* =================================================\n           COLORS\n        ================================================= */colors:{type:ControlType.Object,title:\"Colors\",controls:{background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},title:{type:ControlType.Color,title:\"Title\",defaultValue:\"#111111\"},value:{type:ControlType.Color,title:\"Value\",defaultValue:\"#111111\"},bar:{type:ControlType.Color,title:\"Bar\",defaultValue:\"#111111\",hidden:props=>props.progressBar?.style===\"gradient\"},track:{type:ControlType.Color,title:\"Track\",defaultValue:\"#E8E8E8\"},gradientStart:{type:ControlType.Color,title:\"Gradient Start\",defaultValue:\"#111111\",hidden:props=>props.progressBar?.style!==\"gradient\"},gradientEnd:{type:ControlType.Color,title:\"Gradient End\",defaultValue:\"#6B8E5A\",hidden:props=>props.progressBar?.style!==\"gradient\"}}},/* =================================================\n           PROGRESS BAR\n        ================================================= */progressBar:{type:ControlType.Object,title:\"Progress Bar\",controls:{style:{type:ControlType.Enum,title:\"Style\",options:[\"solid\",\"gradient\",\"striped\",\"segmented\",\"glow\",\"dots\"],optionTitles:[\"Solid\",\"Gradient\",\"Striped\",\"Segmented\",\"Glow\",\"Dots\"],defaultValue:\"solid\"},height:{type:ControlType.Number,title:\"Height\",defaultValue:8,min:1,max:100,unit:\"px\"},radius:{type:ControlType.BorderRadius,title:\"Bar Radius\",defaultValue:\"999px\"},segmentCount:{type:ControlType.Number,title:\"Segments / Dots\",defaultValue:10,min:2,max:50,hidden:props=>props.progressBar?.style!==\"segmented\"&&props.progressBar?.style!==\"dots\"},stripeSize:{type:ControlType.Number,title:\"Stripe Size\",defaultValue:8,min:2,max:30,unit:\"px\",hidden:props=>props.progressBar?.style!==\"striped\"},stripeGap:{type:ControlType.Number,title:\"Stripe Gap\",defaultValue:4,min:1,max:30,unit:\"px\",hidden:props=>props.progressBar?.style!==\"striped\"},glowIntensity:{type:ControlType.Number,title:\"Glow\",defaultValue:12,min:0,max:50,unit:\"px\",hidden:props=>props.progressBar?.style!==\"glow\"}}},/* =================================================\n           BORDER\n        ================================================= */border:{type:ControlType.Object,title:\"Border\",controls:{border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"#E5E5E5\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"12px\"}}},/* =================================================\n           ANIMATION\n        ================================================= */animation:{type:ControlType.Object,title:\"Animation\",controls:{enabled:{type:ControlType.Boolean,title:\"Animate\",defaultValue:true},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:800,min:0,max:3e3,unit:\"ms\",hidden:props=>!props.animation?.enabled}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OutputPercentage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Progress.map"],"mappings":"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"}