{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/k9SAta0OWkpLAE0f8pdr/rADEv6h7tCGB62KUEysX/ArticleReadTime.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import readingTime from\"reading-time\";function getTextContentArrayFromReactElement(element){if(!element){return[];}if(typeof element===\"string\"){return[element];}if(Array.isArray(element)){return element.flatMap(getTextContentArrayFromReactElement);}if(element.props&&element.props.children){const children=Array.isArray(element.props.children)?element.props.children:[element.props.children];return children.flatMap(getTextContentArrayFromReactElement);}return[];}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function ArticleReadTime(props){let hasText=false;let strings=[];if(props.formatted){strings=getTextContentArrayFromReactElement(props.formattedText);hasText=!props.formattedText||strings.length==0?false:true;}else{strings.push(props.plainText);hasText=props.plainText!==\"\";}let timeData=readingTime(strings.join(\" \"),{wordsPerMinute:props.wpm});return /*#__PURE__*/_jsx(\"p\",{style:{color:props.fontColor,userSelect:props.textSelect?\"auto\":\"none\",margin:0,...props.font},children:hasText?`${props.prefix}\n            ${Math.max(Math.round(timeData.minutes),1)}\n            ${props.suffix}`:\"No text content connected.\"});}ArticleReadTime.displayName=\"Article Read Time\";addPropertyControls(ArticleReadTime,{formatted:{type:ControlType.Boolean,defaultValue:true},formattedText:{type:ControlType.RichText,title:\"Text\",hidden(props){return!props.formatted;}},plainText:{type:ControlType.String,displayTextArea:true,title:\"Text\",hidden(props){return props.formatted;}},wpm:{type:ControlType.Number,defaultValue:200,step:1,min:1,title:\"WPM\",description:\"Words per minute\"},fontColor:{type:ControlType.Color,defaultValue:\"#000\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.4}},prefix:{type:ControlType.String},suffix:{type:ControlType.String,defaultValue:\" min read\"},textSelect:{type:ControlType.Boolean,defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ArticleReadTime\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ArticleReadTime.map"],
  "mappings": "kIAAqI,SAASA,EAAoCC,EAAQ,CAAC,OAAIA,EAAsB,OAAOA,GAAU,SAAgB,CAACA,CAAO,EAAM,MAAM,QAAQA,CAAO,EAAUA,EAAQ,QAAQD,CAAmC,EAAMC,EAAQ,OAAOA,EAAQ,MAAM,UAAyB,MAAM,QAAQA,EAAQ,MAAM,QAAQ,EAAEA,EAAQ,MAAM,SAAS,CAACA,EAAQ,MAAM,QAAQ,GAAkB,QAAQD,CAAmC,EAAS,CAAC,EAA/V,CAAC,CAAgW,CAG7hB,SAARE,EAAiCC,EAAM,CAAC,IAAIC,EAAQ,GAAUC,EAAQ,CAAC,EAAKF,EAAM,WAAWE,EAAQL,EAAoCG,EAAM,aAAa,EAAEC,EAAQ,GAACD,EAAM,eAAeE,EAAQ,QAAQ,KAAmBA,EAAQ,KAAKF,EAAM,SAAS,EAAEC,EAAQD,EAAM,YAAY,IAAI,IAAIG,EAASC,EAAYF,EAAQ,KAAK,GAAG,EAAE,CAAC,eAAeF,EAAM,GAAG,CAAC,EAAE,OAAoBK,EAAK,IAAI,CAAC,MAAM,CAAC,MAAML,EAAM,UAAU,WAAWA,EAAM,WAAW,OAAO,OAAO,OAAO,EAAE,GAAGA,EAAM,IAAI,EAAE,SAASC,EAAQ,GAAGD,EAAM,MAAM;AAAA,cAC3f,KAAK,IAAI,KAAK,MAAMG,EAAS,OAAO,EAAE,CAAC,CAAC;AAAA,cACxCH,EAAM,MAAM,GAAG,4BAA4B,CAAC,CAAE,CAACD,EAAgB,YAAY,oBAAoBO,EAAoBP,EAAgB,CAAC,UAAU,CAAC,KAAKQ,EAAY,QAAQ,aAAa,EAAI,EAAE,cAAc,CAAC,KAAKA,EAAY,SAAS,MAAM,OAAO,OAAOP,EAAM,CAAC,MAAM,CAACA,EAAM,SAAU,CAAC,EAAE,UAAU,CAAC,KAAKO,EAAY,OAAO,gBAAgB,GAAK,MAAM,OAAO,OAAOP,EAAM,CAAC,OAAOA,EAAM,SAAU,CAAC,EAAE,IAAI,CAAC,KAAKO,EAAY,OAAO,aAAa,IAAI,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,KAAK,CAAC,KAAK,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,GAAG,CAAC,EAAE,OAAO,CAAC,KAAKA,EAAY,MAAM,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,WAAW,EAAE,WAAW,CAAC,KAAKA,EAAY,QAAQ,aAAa,EAAI,CAAC,CAAC",
  "names": ["getTextContentArrayFromReactElement", "element", "ArticleReadTime", "props", "hasText", "strings", "timeData", "f", "p", "addPropertyControls", "ControlType"]
}
