{"version":3,"file":"RandomTagPills.CosliTI1.mjs","names":["useState","useMemo","useRef"],"sources":["https:/framerusercontent.com/modules/BqWaP9pmcksZMkOmUCy3/y2boMQOWNmgx8MTg9C2l/RandomTagPills.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{useEffect,useMemo,useRef,useState}from\"react\";const TOKEN={primaryText:\"var(--token-41d960b9-3640-4e4a-9fdb-2f72d66e75e4)\",secondaryText:\"var(--token-e9418e5e-eca1-44bd-ab2c-698a47f0b501)\",primaryBg:\"var(--token-0c158ee4-88cd-48b7-9a67-3b5905bf9f82)\",border:\"var(--token-10a6b8cb-573a-4491-aa89-cfade20f8790)\"};// Source of truth for the pills. Keep slugs in sync with the Tags CMS collection\n// so each pill links to a real /archive?category=<slug> view. (Framer array\n// controls can't be edited by tooling, so the list lives here.)\nconst ALL_TAGS=[{label:\"Artist\",slug:\"artist\"},{label:\"Grandparent\",slug:\"grandparent\"},{label:\"Stranger\",slug:\"stranger\"},{label:\"Travel\",slug:\"travel\"},{label:\"Barista\",slug:\"barista\"},{label:\"Landlord\",slug:\"landlord\"},{label:\"Librarian\",slug:\"librarian\"},{label:\"Coach\",slug:\"coach\"},{label:\"Bus Driver\",slug:\"bus-driver\"},{label:\"Shopkeeper\",slug:\"shopkeeper\"},{label:\"Doorman\",slug:\"doorman\"},{label:\"Bartender\",slug:\"bartender\"},{label:\"Regular\",slug:\"regular\"},{label:\"Nurse\",slug:\"nurse\"},{label:\"Custodian\",slug:\"custodian\"},{label:\"Tattoo Artist\",slug:\"tattoo-artist\"},{label:\"Fellow Commuter\",slug:\"fellow-commuter\"},{label:\"Childhood Friend\",slug:\"childhood-friend\"},{label:\"Former Teacher\",slug:\"former-teacher\"},{label:\"Classmate\",slug:\"classmate\"},{label:\"Pen Pal\",slug:\"pen-pal\"},{label:\"First Love\",slug:\"first-love\"},{label:\"Parent\",slug:\"parent\"},{label:\"Babysitter\",slug:\"babysitter\"},{label:\"Sibling\",slug:\"sibling\"},{label:\"Roommate\",slug:\"roommate\"},{label:\"Mentor\",slug:\"mentor\"},{label:\"Rival\",slug:\"rival\"},{label:\"Old Boss\",slug:\"old-boss\"}];function sampleDistinct(pool,n,exclude=new Set){const available=pool.filter(t=>!exclude.has(t.slug));const out=[];const copy=available.slice();while(out.length<n&&copy.length){const i=Math.floor(Math.random()*copy.length);out.push(copy.splice(i,1)[0]);}return out;}export default function RandomTagPills(props){const{count=8,intervalMs=2600,basePath=\"/archive?category=\",fontSize=15,radius=4,paddingV=6,paddingH=12,gap=12}=props;const textColor=props.textColor||TOKEN.secondaryText;const backgroundColor=props.backgroundColor||TOKEN.primaryBg;const borderColor=props.borderColor||TOKEN.border;const isStatic=useIsStaticRenderer();const n=Math.min(Math.max(1,Math.round(count)),ALL_TAGS.length);// Initial random set (deterministic-enough for first paint).\nconst initial=useMemo(()=>sampleDistinct(ALL_TAGS,n),[n]);const[pills,setPills]=useState(initial);const slotRef=useRef(0);useEffect(()=>{setPills(sampleDistinct(ALL_TAGS,n));},[n]);useEffect(()=>{if(isStatic||intervalMs<=0)return;const id=setInterval(()=>{setPills(prev=>{const shown=new Set(prev.map(t=>t.slug));const replacement=sampleDistinct(ALL_TAGS,1,shown)[0];if(!replacement)return prev;const next=prev.slice();const slot=slotRef.current%next.length;next[slot]=replacement;slotRef.current=(slotRef.current+1)%next.length;return next;});},intervalMs);return()=>clearInterval(id);},[isStatic,intervalMs,n]);const wrap={display:\"flex\",flexWrap:\"wrap\",gap,width:\"100%\",alignItems:\"center\"};const pillStyle={display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",padding:`${paddingV}px ${paddingH}px`,border:`0.25px solid ${borderColor}`,borderRadius:radius,background:backgroundColor,color:textColor,fontSize,fontWeight:400,lineHeight:1,fontFamily:'\"Afacad\", sans-serif',textDecoration:\"none\",whiteSpace:\"nowrap\"};return /*#__PURE__*/_jsx(\"div\",{style:wrap,children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,mode:\"popLayout\",children:pills.map((t,i)=>/*#__PURE__*/_jsx(motion.a,{href:`${basePath}${t.slug}`,style:pillStyle,layout:true,initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.35,ease:\"easeOut\"},children:t.label},t.slug))})});}RandomTagPills.displayName=\"Random Tag Pills\";addPropertyControls(RandomTagPills,{count:{type:ControlType.Number,title:\"Count\",defaultValue:8,min:1,max:20,step:1,displayStepper:true},intervalMs:{type:ControlType.Number,title:\"Cycle (ms)\",defaultValue:2600,min:0,max:1e4,step:100},basePath:{type:ControlType.String,title:\"Base Path\",defaultValue:\"/archive?category=\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:15,min:8,max:40,step:1},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:TOKEN.secondaryText},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:TOKEN.primaryBg},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:TOKEN.border},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:4,min:0,max:40,step:1},paddingV:{type:ControlType.Number,title:\"Padding Y\",defaultValue:6,min:0,max:40,step:1},paddingH:{type:ControlType.Number,title:\"Padding X\",defaultValue:12,min:0,max:40,step:1},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:12,min:0,max:40,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RandomTagPills\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RandomTagPills.map"],"mappings":"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"}