{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/AwAtbcM92MxKyxCaWYs2/3DogXEAp4ACwLLkA6R0j/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 * By @benjaminnathan\n *\n * @framerIntrinsicWidth 260\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n */ export default function Heading(props){const{textContent,minFontSize,maxFontSize,scaler,offset,font,fontControlType,color}=props;const{// fontFamily,\n// fontWeight,\nfontStyle,textAlign,letterSpacing,lineHeight,textTransform}=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,fontFamily:\"Inter, sans-serif\",fontWeight:\"normal\",...fontControlType,fontSize:isCanvas?clampedSizeOnCanvas:clampedSize,fontStyle,textAlign,letterSpacing:`${letterSpacing/100}em`,lineHeight:isCanvas?`${clampedSizeOnCanvas*lineHeight}px`:lineHeight,textTransform,whiteSpace:\"nowrap\",margin:0,padding:0,position:\"relative\",left:`${offset}%`},children:textContent});};/* Default Properties */ Heading.defaultProps={textContent:\"Hello\",color:\"#888\"};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:\"%\"},color:{type:ControlType.Color,defaultValue:\"#888\"},fontControlType:{type:ControlType.Font,title:\"Font\",controls:\"basic\"},font:{type:ControlType.Object,title:\"Type\",controls:{// fontFamily: {\n//     type: ControlType.String,\n//     title: \"Font\",\n//     defaultValue: \"Inter\",\n// },\n// fontWeight: {\n//     type: ControlType.Enum,\n//     title: \"Weight\",\n//     options: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n//     defaultValue: 400,\n// },\nfontStyle:{type:ControlType.Enum,title:\"Style\",options:[\"normal\",\"italic\",\"oblique\"],optionTitles:[\"Normal\",\"Italic\",\"Oblique\"],defaultValue:\"normal\"},textAlign:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Align\",options:[\"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},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"none\",\"capitalize\",\"uppercase\",\"lowercase\"],optionTitles:[\"None\",\"Capitalize\",\"Uppercase\",\"Lowercase\"]}}}});/* 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\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"260\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Heading.map"],
  "mappings": "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",
  "names": ["Heading", "props", "textContent", "minFontSize", "maxFontSize", "scaler", "offset", "font", "fontControlType", "color", "fontStyle", "textAlign", "letterSpacing", "lineHeight", "textTransform", "isCanvas", "RenderTarget", "clampedSize", "width", "setWidth", "ye", "ref", "pe", "clampedSizeOnCanvas", "clamp", "fe", "p", "addPropertyControls", "ControlType", "num", "min", "max"]
}
