{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/AwAtbcM92MxKyxCaWYs2/8rwzUY5hA41IZh4w8gKu/Heading.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useLayoutEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * HEADING\n *\n * @framerIntrinsicWidth 260\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n */ export default function Heading(props){const{textContent,minFontSize,maxFontSize,scaler,offset,font}=props;const{color,fontFamily,fontWeight,fontStyle,textAlign,letterSpacing,lineHeight}=font;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const clampedSize=`clamp(${minFontSize}px, ${scaler}vw, ${maxFontSize}px)`;/* Get width for canvas previewing */ const[width,setWidth]=useState(0);const ref=useRef(null);const clampedSizeOnCanvas=clamp(width*(scaler/100),minFontSize,maxFontSize);/* Grab the width on prop changes */ if(isCanvas){useLayoutEffect(()=>{setWidth(ref.current.offsetWidth);});}return /*#__PURE__*/ _jsx(\"h1\",{ref:ref,style:{color,fontSize:isCanvas?clampedSizeOnCanvas:clampedSize,fontFamily:`\"${fontFamily}\", sans-serif`,fontStyle,fontWeight,textAlign,letterSpacing:`${letterSpacing/100}em`,lineHeight:isCanvas?`${clampedSizeOnCanvas*lineHeight}px`:lineHeight,whiteSpace:\"nowrap\",margin:0,padding:0,position:\"relative\",left:`${offset}%`},children:textContent});};/* Default Properties */ Heading.defaultProps={textContent:\"Hello\"};Heading.displayName=\"Heading\";/* Property Controls */ addPropertyControls(Heading,{textContent:{type:ControlType.String,title:\"Text\",defaultValue:\"Hello\"},scaler:{type:ControlType.Number,title:\"Scaler\",min:0,max:100,displayStepper:true,step:1,unit:\"vw\",defaultValue:20},minFontSize:{type:ControlType.Number,title:\"Min Size\",min:0,displayStepper:true,step:1,unit:\"px\",defaultValue:100},maxFontSize:{type:ControlType.Number,title:\"Max Size\",min:0,displayStepper:true,step:1,unit:\"px\",defaultValue:600},offset:{type:ControlType.Number,title:\"Offset\",min:-100,max:100,displayStepper:true,step:.25,defaultValue:0,unit:\"%\"},font:{type:ControlType.Object,controls:{color:{type:ControlType.Color,defaultValue:\"#888\"},fontFamily:{type:ControlType.String,title:\"Font\",defaultValue:\"Inter\"},fontWeight:{type:ControlType.Enum,title:\"Weight\",options:[100,200,300,400,500,600,700,800,900],defaultValue:400},fontStyle:{type:ControlType.Enum,title:\"Style\",options:[\"normal\",\"italic\",\"oblique\"],optionTitles:[\"Normal\",\"Italic\",\"Oblique\"],defaultValue:\"normal\"},textAlign:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Align\",// segmentedControlDirection: \"vertical\",\noptions:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\"},letterSpacing:{type:ControlType.Number,title:\"Letter\",min:-100,max:100,displayStepper:true,step:1,defaultValue:-5,unit:\"%\"},lineHeight:{type:ControlType.Number,title:\"Line\",min:-100,max:100,displayStepper:true,step:.1,defaultValue:1}}}});/* Manual clamping for canvas */ const clamp=(num,min,max)=>Math.min(Math.max(num,min),max);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Heading\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"260\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Heading.map"],
  "mappings": "mFASmB,SAARA,EAAyBC,EAAM,CAAC,GAAK,CAAC,YAAAC,EAAY,YAAAC,EAAY,YAAAC,EAAY,OAAAC,EAAO,OAAAC,EAAO,KAAAC,CAAI,EAAEN,EAAW,CAAC,MAAAO,EAAM,WAAAC,EAAW,WAAAC,EAAW,UAAAC,EAAU,UAAAC,EAAU,cAAAC,EAAc,WAAAC,CAAU,EAAEP,EAAWQ,EAASC,EAAa,QAAQ,IAAIA,EAAa,OAAaC,EAAY,SAASd,QAAkBE,QAAaD,OAA4D,CAACc,EAAMC,CAAQ,EAAEC,EAAS,CAAC,EAAQC,EAAIC,EAAO,IAAI,EAAQC,EAAoBC,EAAMN,GAAOb,EAAO,KAAKF,EAAYC,CAAW,EAAuC,OAAGW,GAAUU,EAAgB,IAAI,CAACN,EAASE,EAAI,QAAQ,WAAW,CAAE,CAAC,EAAwBK,EAAK,KAAK,CAAC,IAAIL,EAAI,MAAM,CAAC,MAAAb,EAAM,SAASO,EAASQ,EAAoBN,EAAY,WAAW,IAAIR,iBAA0B,UAAAE,EAAU,WAAAD,EAAW,UAAAE,EAAU,cAAc,GAAGC,EAAc,QAAQ,WAAWE,EAAS,GAAGQ,EAAoBT,MAAeA,EAAW,WAAW,SAAS,OAAO,EAAE,QAAQ,EAAE,SAAS,WAAW,KAAK,GAAGR,IAAS,EAAE,SAASJ,CAAW,CAAC,CAAE,CAA2BF,EAAQ,aAAa,CAAC,YAAY,OAAO,EAAEA,EAAQ,YAAY,UAAkC2B,EAAoB3B,EAAQ,CAAC,YAAY,CAAC,KAAK4B,EAAY,OAAO,MAAM,OAAO,aAAa,OAAO,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,IAAI,eAAe,GAAK,KAAK,EAAE,KAAK,KAAK,aAAa,EAAE,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,WAAW,IAAI,EAAE,eAAe,GAAK,KAAK,EAAE,KAAK,KAAK,aAAa,GAAG,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,WAAW,IAAI,EAAE,eAAe,GAAK,KAAK,EAAE,KAAK,KAAK,aAAa,GAAG,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,IAAI,KAAK,IAAI,IAAI,eAAe,GAAK,KAAK,IAAI,aAAa,EAAE,KAAK,GAAG,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,WAAW,CAAC,KAAKA,EAAY,OAAO,MAAM,OAAO,aAAa,OAAO,EAAE,WAAW,CAAC,KAAKA,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,aAAa,GAAG,EAAE,UAAU,CAAC,KAAKA,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,SAAS,SAAS,SAAS,EAAE,aAAa,CAAC,SAAS,SAAS,SAAS,EAAE,aAAa,QAAQ,EAAE,UAAU,CAAC,KAAKA,EAAY,KAAK,wBAAwB,GAAK,MAAM,QACjoE,QAAQ,CAAC,OAAO,SAAS,OAAO,EAAE,aAAa,CAAC,OAAO,SAAS,OAAO,EAAE,aAAa,QAAQ,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,IAAI,KAAK,IAAI,IAAI,eAAe,GAAK,KAAK,EAAE,aAAa,GAAG,KAAK,GAAG,EAAE,WAAW,CAAC,KAAKA,EAAY,OAAO,MAAM,OAAO,IAAI,KAAK,IAAI,IAAI,eAAe,GAAK,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAmC,IAAMJ,EAAM,CAACK,EAAIC,EAAIC,IAAM,KAAK,IAAI,KAAK,IAAIF,EAAIC,CAAG,EAAEC,CAAG",
  "names": ["Heading", "props", "textContent", "minFontSize", "maxFontSize", "scaler", "offset", "font", "color", "fontFamily", "fontWeight", "fontStyle", "textAlign", "letterSpacing", "lineHeight", "isCanvas", "RenderTarget", "clampedSize", "width", "setWidth", "ye", "ref", "pe", "clampedSizeOnCanvas", "clamp", "fe", "p", "addPropertyControls", "ControlType", "num", "min", "max"]
}
