{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/5OCyGF9fswAL2vYgDh6f/8fLYu0OWYPRyxdXEbvnN/text_clip.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";export function TextClip(props){const{text,lineCount,textStyle,letterMode,maxCharacters}=props;const lineClampStyle=letterMode?{display:\"block\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",width:`calc(${maxCharacters} * 0.6ch + 1.5ch)`}:{display:\"-webkit-box\",WebkitLineClamp:lineCount,WebkitBoxOrient:\"vertical\",overflow:\"hidden\",textOverflow:\"ellipsis\",textAlign:textStyle.textAlign};const transformStyle={textTransform:textStyle.textTransform};const containerStyle={display:\"flex\",justifyContent:getJustifyContent(textStyle.textAlign),alignItems:\"flex-start\",overflow:\"visible\"};function getJustifyContent(textAlign){switch(textAlign){case\"center\":return\"center\";case\"right\":return\"flex-end\";case\"left\":default:return\"flex-start\";}}return /*#__PURE__*/_jsx(motion.div,{style:containerStyle,children:/*#__PURE__*/_jsx(motion.div,{style:{...lineClampStyle,...textStyle,...transformStyle,fontFamily:textStyle.font},children:/*#__PURE__*/React.isValidElement(text)?text:/*#__PURE__*/_jsx(\"span\",{dangerouslySetInnerHTML:{__html:text}})})});}addPropertyControls(TextClip,{text:{type:ControlType.String,defaultValue:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\"},letterMode:{type:ControlType.Boolean,title:\"Letter Mode\",defaultValue:false},maxCharacters:{type:ControlType.Number,title:\"Max Characters\",defaultValue:20,min:1,step:1,displayStepper:true,hidden(props){return!props.letterMode;}},lineCount:{type:ControlType.Number,defaultValue:1,min:1,displayStepper:true,step:1,hidden(props){return props.letterMode;}},textStyle:{type:ControlType.Object,controls:{font:{type:ControlType.String,defaultValue:\"Inter\"},color:{type:ControlType.Color,defaultValue:\"#000\"},fontSize:{type:ControlType.Number,defaultValue:16},fontWeight:{type:ControlType.Number,defaultValue:400,displayStepper:true,step:100},lineHeight:{type:ControlType.Number,defaultValue:1.5,displayStepper:true,step:.1},letterSpacing:{type:ControlType.Number,defaultValue:0,displayStepper:true,step:.1},textAlign:{type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],defaultValue:\"left\"},textTransform:{type:ControlType.Enum,options:[\"none\",\"capitalize\",\"lowercase\",\"uppercase\"],defaultValue:\"none\",title:\"Transform\"}}}});export default TextClip;\nexport const __FramerMetadata__ = {\"exports\":{\"TextClip\":{\"type\":\"reactComponent\",\"name\":\"TextClip\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"TextClip\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./text_clip.map"],
  "mappings": "uGAAoK,SAASA,EAASC,EAAM,CAAC,GAAK,CAAC,KAAAC,EAAK,UAAAC,EAAU,UAAAC,EAAU,WAAAC,EAAW,cAAAC,CAAa,EAAEL,EAAYM,EAAeF,EAAW,CAAC,QAAQ,QAAQ,SAAS,SAAS,aAAa,WAAW,WAAW,SAAS,MAAM,QAAQC,CAAa,mBAAmB,EAAE,CAAC,QAAQ,cAAc,gBAAgBH,EAAU,gBAAgB,WAAW,SAAS,SAAS,aAAa,WAAW,UAAUC,EAAU,SAAS,EAAQI,EAAe,CAAC,cAAcJ,EAAU,aAAa,EAAQK,EAAe,CAAC,QAAQ,OAAO,eAAeC,EAAkBN,EAAU,SAAS,EAAE,WAAW,aAAa,SAAS,SAAS,EAAE,SAASM,EAAkBC,EAAU,CAAC,OAAOA,EAAU,CAAC,IAAI,SAAS,MAAM,SAAS,IAAI,QAAQ,MAAM,WAAW,IAAI,OAAO,QAAQ,MAAM,YAAa,CAAC,CAAC,OAAoBC,EAAKC,EAAO,IAAI,CAAC,MAAMJ,EAAe,SAAsBG,EAAKC,EAAO,IAAI,CAAC,MAAM,CAAC,GAAGN,EAAe,GAAGH,EAAU,GAAGI,EAAe,WAAWJ,EAAU,IAAI,EAAE,SAA4BU,EAAeZ,CAAI,EAAEA,EAAkBU,EAAK,OAAO,CAAC,wBAAwB,CAAC,OAAOV,CAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAACa,EAAoBf,EAAS,CAAC,KAAK,CAAC,KAAKgB,EAAY,OAAO,aAAa,0DAA0D,EAAE,WAAW,CAAC,KAAKA,EAAY,QAAQ,MAAM,cAAc,aAAa,EAAK,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,MAAM,iBAAiB,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,eAAe,GAAK,OAAOf,EAAM,CAAC,MAAM,CAACA,EAAM,UAAW,CAAC,EAAE,UAAU,CAAC,KAAKe,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,eAAe,GAAK,KAAK,EAAE,OAAOf,EAAM,CAAC,OAAOA,EAAM,UAAW,CAAC,EAAE,UAAU,CAAC,KAAKe,EAAY,OAAO,SAAS,CAAC,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,OAAO,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,EAAE,WAAW,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,eAAe,GAAK,KAAK,GAAG,EAAE,WAAW,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,eAAe,GAAK,KAAK,EAAE,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,eAAe,GAAK,KAAK,EAAE,EAAE,UAAU,CAAC,KAAKA,EAAY,KAAK,QAAQ,CAAC,OAAO,SAAS,OAAO,EAAE,aAAa,MAAM,EAAE,cAAc,CAAC,KAAKA,EAAY,KAAK,QAAQ,CAAC,OAAO,aAAa,YAAY,WAAW,EAAE,aAAa,OAAO,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC",
  "names": ["TextClip", "props", "text", "lineCount", "textStyle", "letterMode", "maxCharacters", "lineClampStyle", "transformStyle", "containerStyle", "getJustifyContent", "textAlign", "p", "motion", "J", "addPropertyControls", "ControlType"]
}
