{"version":3,"file":"BlogPullQuote.DLWRzSLq.mjs","names":["p"],"sources":["https:/framerusercontent.com/modules/tpoUYXgtc0QPdFMT1v12/zp7w2ifFsKBClaZ8DGM4/BlogPullQuote.js"],"sourcesContent":["/**\n * BlogPullQuote — Stylized quote block for use between paragraphs (v2)\n *\n * Variants: left-border | centered | large | minimal | highlighted\n *\n * ─── TYPOGRAPHY ──────────────────────────────────────────────────────────────\n * Quote text and attribution each have a Text Style selector mapped to the\n * shared type scale (typography.ts). No manual font size or font family controls.\n * Quote text is always rendered italic regardless of the chosen style.\n * For a larger \"pull quote\" feel, choose H2 or H1 as the quote style.\n *\n * ─── INLINE MARKDOWN ─────────────────────────────────────────────────────────\n * quoteText, attribution, and attributionRole support **bold** and [links](url).\n * All three fields are plain strings → fully bindable to CMS / parent props.\n *\n * ─── REMOVED FROM V1 ─────────────────────────────────────────────────────────\n * • darkMode toggle — set colours directly instead\n * • fontSize slider — replaced by quoteStyle / attributionStyle selectors\n * • fontFamily toggle (Fraunces / Inter) — uses typography.ts font stack\n *\n * Drop into Framer → Assets → Code → New Component.\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{TYPE,useResponsiveType}from\"https://framerusercontent.com/modules/FWcQouC9VuuG4boSnOIf/PXfmyi31fSSjpxJxtdl4/typographyV1.js\";// ─── TYPE_MAP ─────────────────────────────────────────────────────────────────\nconst TYPE_MAP={h1:TYPE.h1,h2:TYPE.h2,h3:TYPE.h3,h4:TYPE.h4,h5:TYPE.h5,h6:TYPE.h6,button:TYPE.button,paragraph:TYPE.blogParagraph};const STYLE_OPTIONS=[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"button\",\"paragraph\"];const STYLE_TITLES=[\"H1\",\"H2\",\"H3\",\"H4\",\"H5\",\"H6\",\"Button\",\"Paragraph\"];// ─── Inline markdown parser ───────────────────────────────────────────────────\nfunction parseInline(text,linkColor){const nodes=[];const pattern=/(\\*\\*\\[([^\\]]+)\\]\\(([^)]+)\\)\\*\\*|\\*\\*([^*]+)\\*\\*|\\[([^\\]]+)\\]\\(([^)]+)\\))/g;let last=0,match;while((match=pattern.exec(text))!==null){if(match.index>last)nodes.push(text.slice(last,match.index));const full=match[0];const ls={color:linkColor,textDecoration:\"underline\",textUnderlineOffset:\"2px\"};if(full.startsWith(\"**[\")){nodes.push(/*#__PURE__*/_jsx(\"strong\",{children:/*#__PURE__*/_jsx(\"a\",{href:match[3],style:ls,target:\"_blank\",rel:\"noopener noreferrer\",children:match[2]})},match.index));}else if(full.startsWith(\"**\")){nodes.push(/*#__PURE__*/_jsx(\"strong\",{children:match[4]},match.index));}else{nodes.push(/*#__PURE__*/_jsx(\"a\",{href:match[6],style:ls,target:\"_blank\",rel:\"noopener noreferrer\",children:match[5]},match.index));}last=match.index+full.length;}if(last<text.length)nodes.push(text.slice(last));return nodes;}// ─── Defaults ─────────────────────────────────────────────────────────────────\nconst defaultProps={variant:\"left-border\",quoteText:\"The voice AI market is compounding at 34.8% CAGR — the fastest-growing segment is AI agents, not the underlying speech recognition layer.\",quoteStyle:\"h3\",quoteColor:\"#5a3a1a\",alignment:\"left\",showIcon:true,showAttribution:true,attribution:\"Market.us Analyst Report\",attributionRole:\"August 2025\",attributionStyle:\"button\",attributionColor:\"#5a3a1a\",bgColor:\"#fbf3e4\",borderColor:\"#5a3a1a\",padding:32,borderRadius:4,animate:true};// ─── Component ────────────────────────────────────────────────────────────────\nexport function BlogPullQuote(props){const p={...defaultProps,...props};// ── Type styles ───────────────────────────────────────────────────────────\nconst quoteTypeStyle=useResponsiveType(TYPE_MAP[p.quoteStyle]);const attributionTypeStyle=useResponsiveType(TYPE_MAP[p.attributionStyle]);// ── Container ─────────────────────────────────────────────────────────────\nconst containerStyle={position:\"relative\",width:\"100%\",boxSizing:\"border-box\",...p.variant===\"left-border\"&&{background:p.bgColor,borderLeft:`5px solid ${p.borderColor}`,padding:`${p.padding}px ${p.padding}px ${p.padding}px ${p.padding+8}px`,borderRadius:`0 ${p.borderRadius}px ${p.borderRadius}px 0`},...p.variant===\"centered\"&&{background:\"transparent\",textAlign:\"center\",padding:`${p.padding}px 0`,borderTop:`1px solid ${p.borderColor}`,borderBottom:`1px solid ${p.borderColor}`},...p.variant===\"large\"&&{background:\"transparent\",padding:`${p.padding}px 0`},...p.variant===\"minimal\"&&{background:\"transparent\",borderLeft:`2px solid ${p.borderColor}`,padding:`8px 0 8px ${Math.round(p.padding/2)}px`},...p.variant===\"highlighted\"&&{background:p.bgColor,border:`2px solid ${p.borderColor}`,padding:`${p.padding}px`,borderRadius:`${p.borderRadius}px`}};// ── Quote mark icon ───────────────────────────────────────────────────────\nconst openQuoteMark=p.showIcon?/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",fontFamily:\"Georgia, serif\",fontSize:p.variant===\"large\"?\"80px\":\"52px\",lineHeight:\"0.6\",color:p.borderColor,opacity:.35,marginBottom:\"12px\",textAlign:p.alignment===\"center\"?\"center\":\"left\"},children:'\"'}):null;return /*#__PURE__*/_jsxs(motion.blockquote,{style:{...containerStyle,margin:\"12px 0\"},initial:p.animate?{opacity:0,x:-10}:undefined,whileInView:p.animate?{opacity:1,x:0}:undefined,viewport:{once:true,margin:\"-30px\"},transition:{duration:.45,ease:\"easeOut\"},children:[openQuoteMark,/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",...quoteTypeStyle,// fontStyle: \"italic\",\ncolor:p.quoteColor,textAlign:p.alignment,margin:0,textTransform:\"none\"},children:parseInline(p.quoteText,p.borderColor)}),p.showAttribution&&(p.attribution||p.attributionRole)&&/*#__PURE__*/_jsxs(\"cite\",{style:{display:\"block\",...attributionTypeStyle,fontStyle:\"normal\",marginTop:\"16px\",color:p.attributionColor,textAlign:p.alignment,textTransform:\"none\"},children:[parseInline(p.attribution,p.attributionColor),p.attributionRole&&/*#__PURE__*/_jsxs(\"span\",{style:{fontWeight:\"400\",marginLeft:\"6px\",opacity:.65},children:[\"\\xb7\",\" \",parseInline(p.attributionRole,p.attributionColor)]})]})]});}BlogPullQuote.defaultProps=defaultProps;// ─── Framer Property Controls ─────────────────────────────────────────────────\naddPropertyControls(BlogPullQuote,{// ── Quote ─────────────────────────────────────────────────────────────────\nquoteText:{type:ControlType.String,title:\"Quote\",defaultValue:defaultProps.quoteText,displayTextArea:true,description:\"Supports **bold** and [links](url).\"},quoteStyle:{type:ControlType.Enum,title:\"↳ Text Style\",options:STYLE_OPTIONS,optionTitles:STYLE_TITLES,defaultValue:\"h3\",description:\"Applies size, weight, and line-height from the type scale. For a larger pull quote, choose H2 or H1.\"},quoteColor:{type:ControlType.Color,title:\"↳ Color\",defaultValue:\"#5a3a1a\"},// ── Attribution ───────────────────────────────────────────────────────────\nshowAttribution:{type:ControlType.Boolean,title:\"Show Attribution\",defaultValue:true},attribution:{type:ControlType.String,title:\"↳ Source\",defaultValue:defaultProps.attribution,description:\"Supports **bold** and [links](url).\",hidden:p=>!p.showAttribution},attributionRole:{type:ControlType.String,title:\"↳ Role / Date\",defaultValue:defaultProps.attributionRole,hidden:p=>!p.showAttribution},attributionStyle:{type:ControlType.Enum,title:\"↳ Text Style\",options:STYLE_OPTIONS,optionTitles:STYLE_TITLES,defaultValue:\"button\",hidden:p=>!p.showAttribution},attributionColor:{type:ControlType.Color,title:\"↳ Color\",defaultValue:\"#5a3a1a\",hidden:p=>!p.showAttribution},// ── Layout ────────────────────────────────────────────────────────────────\nvariant:{type:ControlType.Enum,title:\"Variant\",options:[\"left-border\",\"centered\",\"large\",\"minimal\",\"highlighted\"],optionTitles:[\"Left Border\",\"Centered Editorial\",\"Large\",\"Minimal\",\"Highlighted\"],defaultValue:\"left-border\"},alignment:{type:ControlType.Enum,title:\"Alignment\",options:[\"left\",\"center\"],optionTitles:[\"Left\",\"Center\"],defaultValue:\"left\"},showIcon:{type:ControlType.Boolean,title:\"Quote Mark\",defaultValue:true},// ── Colors ────────────────────────────────────────────────────────────────\nbgColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#fbf3e4\",hidden:p=>p.variant===\"centered\"||p.variant===\"large\"||p.variant===\"minimal\"},borderColor:{type:ControlType.Color,title:\"Border / Accent Bar\",defaultValue:\"#5a3a1a\"},// ── Spacing & shape ───────────────────────────────────────────────────────\npadding:{type:ControlType.Number,title:\"Padding\",defaultValue:32,min:0,max:80,step:4,displayStepper:true},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:4,min:0,max:24,step:2,displayStepper:true,hidden:p=>p.variant===\"centered\"||p.variant===\"large\"||p.variant===\"minimal\"},// ── Animation ─────────────────────────────────────────────────────────────\nanimate:{type:ControlType.Boolean,title:\"Entrance Animation\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"BlogPullQuote\":{\"type\":\"reactComponent\",\"name\":\"BlogPullQuote\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlogPullQuote.map"],"mappings":"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"}