{"version":3,"file":"LineRows.BAm7VEnm.mjs","names":["React.useRef","__esmMin","de","p","c","init_jsx_runtime","init_npm_react_18_3_1","init_framer_DymZktPS","addPropertyControls","Link","ControlType","track","init_Rise","useFonts","useStill","useInView","LineRows","props","fonts","isCanvas","box","on","still","go","parsed","list","l","i","rows","items","it","line","color","draw","EASE_IO","k","rise","EASE","wait","mono","labelFont","columns","style","Wrap","valueFont","init_LineRows","link","children"],"sources":["https:/framerusercontent.com/modules/XNx5CXSwpFQ2ZX5s6xpK/venY0ji30I64AV1KY81C/LineRows.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,Link}from\"framer\";import{EASE,EASE_IO,track,useFonts,useInView,useStill}from\"https://framerusercontent.com/modules/G3iIU1fXxhCcDIjZkPCe/jQeGfyDvIkgjgiIscXOL/Rise.js\";// Line Rows by Omnium Labs\n// Rows with a thin line under each one, like measurements on a comp card or a short list. The lines draw in from the\n// right, then the text of every row rises out of its line, one row after another. Empty rows are left out, so the same\n// layer works for talents with fewer measurements.\nconst Wrap=({link,children})=>link?/*#__PURE__*/_jsx(Link,{href:link,openInNewTab:false,children:children}):children;/**\r\n * @framerSupportedLayoutWidth fixed\r\n * @framerSupportedLayoutHeight auto\r\n * @framerIntrinsicWidth 600\r\n */export default function LineRows(props){const{items=[],list=\"\",columns=4,wait=1.05,labelFont,valueFont,color=\"#121211\",style}=props;const{isCanvas,still}=useStill();const fonts=useFonts(isCanvas);const box=React.useRef(null);const on=useInView(box,still,fonts);const go=still||on;// \"Text\" (one row per line, \"Label: value\") wins over Rows, so a single CMS field can fill it\nconst parsed=String(list||\"\").split(/\\n|\\\\n/).map(l=>l.trim()).filter(Boolean).map(l=>{const i=l.indexOf(\":\");return i>0?{label:l.slice(0,i).trim(),value:l.slice(i+1).trim()}:{label:\"\",value:l};});const rows=(parsed.length?parsed:Array.isArray(items)?items:[]).filter(it=>it&&(it.value||it.label));const line=`color-mix(in srgb, ${color} 25%, transparent)`;const draw=k=>still?{}:{transform:go?\"none\":\"scaleX(0)\",transformOrigin:\"right\",transition:`transform 1.3s ${EASE_IO} ${k*.08}s`};const rise=k=>still?{}:{transform:go?\"none\":\"translateY(110%)\",visibility:go?\"visible\":\"hidden\",transition:`transform 1s ${EASE} ${wait+k*.08}s, visibility 0s linear ${wait+k*.08}s`};const mono={margin:0,textTransform:\"uppercase\",...track(labelFont,\"0.06em\"),color};return /*#__PURE__*/_jsxs(\"div\",{ref:box,style:{position:\"relative\",width:\"100%\",display:\"grid\",gridTemplateColumns:`repeat(${Math.max(1,columns)}, minmax(0, 1fr))`,color,...style},children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,right:0,top:0,height:1,background:line,...draw(0)}}),rows.map((it,k)=>/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",padding:\"14px 0\",clipPath:\"inset(-6px -6px 0 -6px)\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:rise(k),children:[it.label?/*#__PURE__*/_jsx(\"p\",{style:{...mono,opacity:it.value?.58:1},children:it.label}):null,it.value?/*#__PURE__*/_jsx(Wrap,{link:it.link,children:/*#__PURE__*/_jsx(\"a\",{style:{display:\"block\",margin:0,textDecoration:\"none\",overflowWrap:\"anywhere\",...valueFont,color},children:it.value})}):null]}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,right:0,bottom:0,height:1,background:line,...draw(k)}})]},k))]});}addPropertyControls(LineRows,{items:{type:ControlType.Array,title:\"Rows\",maxCount:12,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\"},value:{type:ControlType.String,title:\"Value\"},link:{type:ControlType.Link,title:\"Link\"}}},defaultValue:[{label:\"Height\",value:\"178\"},{label:\"Bust\",value:\"81\"},{label:\"Waist\",value:\"60\"},{label:\"Hips\",value:\"88\"}]},list:{type:ControlType.String,title:\"Text\",defaultValue:\"\",displayTextArea:true,description:'Optional: one row per line, \"Label: value\". Fills the rows from one CMS field.'},columns:{type:ControlType.Number,title:\"Columns\",defaultValue:4,min:1,max:8,step:1,displayStepper:true},wait:{type:ControlType.Number,title:\"Delay\",defaultValue:1.05,min:0,max:3,step:.05,unit:\"s\",description:\"The text waits for its line.\"},labelFont:{type:ControlType.Font,title:\"Label font\",controls:\"extended\",defaultFontType:\"monospace\",defaultValue:{fontSize:12,lineHeight:\"1.5em\"}},valueFont:{type:ControlType.Font,title:\"Value font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:21,lineHeight:\"1.3em\",fontWeight:500}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#121211\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LineRows\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"600\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}