{"version":3,"file":"DescriptionBlock.8In17wV0.mjs","names":["useId"],"sources":["https:/framerusercontent.com/modules/rFEEX7F9l6cNc7UMR6a5/EZZPkR9lz2u6NAvMipxR/DescriptionBlock.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useId}from\"react\";// Helper to safely extract font styles from ControlType.Font\nconst getFontStyle=(fontProp,fallbackFamily)=>{if(!fontProp)return{fontFamily:fallbackFamily};if(typeof fontProp===\"string\")return{fontFamily:fontProp};return{fontFamily:fontProp.fontFamily||fallbackFamily,fontWeight:fontProp.fontWeight,fontStyle:fontProp.fontStyle};};// Parse responsive values from ControlType.Object\nconst parseVal=(val,def)=>{if(val===undefined||val===null||val===\"\")return def;const num=parseFloat(val);return isNaN(num)?def:num;};const getResponsiveConfig=(prop,dtDef,tbDef,mbDef)=>{if(typeof prop===\"number\"){return{desktop:prop,tablet:prop,phone:prop};}if(typeof prop===\"object\"&&prop!==null){return{desktop:parseVal(prop.desktop,dtDef),tablet:parseVal(prop.tablet,tbDef),phone:parseVal(prop.phone??prop.mobile,mbDef)};}return{desktop:dtDef,tablet:tbDef,phone:mbDef};};export default function DescriptionBlock(props){const{eyebrow=\"(Approach)\",content=\"In a world blinded by hyper-saturated trends and temporary hype, frame zero defines its own visual climate. The challenge was to architecture a complete branding ecosystem that commands absolute authority without relying on loud logos or aggressive marketing.\\n\\nThe response was rooted in radical minimalism and precise optical guidelines.\",indent={desktop:125,tablet:100,phone:80},mainFont={fontFamily:\"Geist\"},eyebrowFont={fontFamily:\"Geist\"},fontSize={desktop:.875,tablet:.875,phone:.75},eyebrowFontSize={desktop:.875,tablet:.875,phone:.75},eyebrowLetterSpacing=-.03,fontWeight=\"400\",lineHeight:rawLineHeight,letterSpacing=-.04,textTransform=\"none\",textColor=\"#FFFFFF\",eyebrowColor=\"rgba(255, 255, 255, 0.30)\"}=props;// Защита от сбоя 50% и сброс на 120% по умолчанию\nconst lineHeight=rawLineHeight===undefined||rawLineHeight===null||rawLineHeight===50?120:rawLineHeight;const uid=useId().replace(/[:]/g,\"\");const scopeClass=`journal-block-${uid}`;const fs=getResponsiveConfig(fontSize,.875,.875,.75);const efs=getResponsiveConfig(eyebrowFontSize,.875,.875,.75);const ind=getResponsiveConfig(indent,125,100,80);const mainFontStyle=getFontStyle(mainFont,'\"Geist\", sans-serif');const eyebrowFontStyle=getFontStyle(eyebrowFont,'\"Geist\", sans-serif');const cleanEyebrow=typeof eyebrow===\"string\"?eyebrow.trim():\"\";const hasEyebrow=cleanEyebrow!==\"\"&&cleanEyebrow!==\"()\"&&cleanEyebrow!==\" \";// Pass all styles into CSS variables (prevents hydration reset)\nconst containerVariables={\"--fs-desktop\":`${fs.desktop}rem`,\"--fs-tablet\":`${fs.tablet}rem`,\"--fs-mobile\":`${fs.phone}rem`,\"--efs-desktop\":`${efs.desktop}rem`,\"--efs-tablet\":`${efs.tablet}rem`,\"--efs-mobile\":`${efs.phone}rem`,\"--indent-desktop\":`${ind.desktop}px`,\"--indent-tablet\":`${ind.tablet}px`,\"--indent-mobile\":`${ind.phone}px`,\"--main-font\":mainFontStyle.fontFamily,\"--main-weight\":mainFontStyle.fontWeight||fontWeight,\"--main-style\":mainFontStyle.fontStyle||\"normal\",\"--eyebrow-font\":eyebrowFontStyle.fontFamily,\"--eyebrow-weight\":eyebrowFontStyle.fontWeight||fontWeight,\"--eyebrow-style\":eyebrowFontStyle.fontStyle||\"normal\",\"--line-height\":`${lineHeight}%`,\"--line-height-unitless\":`${lineHeight/100}`,\"--letter-spacing\":`${letterSpacing}em`,\"--eyebrow-letter-spacing\":`${eyebrowLetterSpacing}em`,\"--text-transform\":textTransform,\"--text-color\":textColor,\"--eyebrow-color\":eyebrowColor};return /*#__PURE__*/_jsxs(\"div\",{className:scopeClass,style:{width:\"100%\",position:\"relative\",...containerVariables},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n                        /* Desktop (Default) */\n                        .${scopeClass} {\n                            --current-font-size: var(--fs-desktop);\n                            --current-eyebrow-size: var(--efs-desktop);\n                            --current-indent: var(--indent-desktop);\n                        }\n\n                        /* Tablet */\n                        @media (max-width: 1199px) {\n                            .${scopeClass} {\n                                --current-font-size: var(--fs-tablet);\n                                --current-eyebrow-size: var(--efs-tablet);\n                                --current-indent: var(--indent-tablet);\n                            }\n                        }\n\n                        /* Mobile */\n                        @media (max-width: 810px) {\n                            .${scopeClass} {\n                                --current-font-size: var(--fs-mobile);\n                                --current-eyebrow-size: var(--efs-mobile);\n                                --current-indent: var(--indent-mobile);\n                            }\n                        }\n\n                        /* Strict overrides for Framer RichText and nested tags */\n                        .${scopeClass} .journal-content,\n                        .${scopeClass} .journal-content *,\n                        .${scopeClass} .journal-content p,\n                        .${scopeClass} .journal-content span,\n                        .${scopeClass} .journal-content div {\n                            font-size: var(--current-font-size) !important;\n                            font-family: var(--main-font) !important;\n                            font-weight: var(--main-weight) !important;\n                            font-style: var(--main-style) !important;\n                            color: var(--text-color) !important;\n                            line-height: var(--line-height) !important;\n                            letter-spacing: var(--letter-spacing) !important;\n                            text-transform: var(--text-transform) !important;\n                        }\n\n                        .${scopeClass} .journal-content > * {\n                            margin-top: 0 !important;\n                            margin-bottom: 1.2em !important;\n                        }\n\n                        /* First paragraph text indent */\n                        .${scopeClass} .journal-content > *:first-child,\n                        .${scopeClass} .journal-content > *:empty + * {\n                            text-indent: var(--current-indent) !important;\n                        }\n\n                        .${scopeClass} .journal-content > *:empty,\n                        .${scopeClass} .journal-content > *:has(br:only-child) {\n                            display: none !important;\n                            margin: 0 !important;\n                            padding: 0 !important;\n                            height: 0 !important;\n                            min-height: 0 !important;\n                            line-height: 0 !important;\n                        }\n\n                        .${scopeClass} .journal-content > *:last-child {\n                            margin-bottom: 0 !important;\n                        }\n\n                        /* Eyebrow Label */\n                        .${scopeClass} .journal-eyebrow,\n                        .${scopeClass} .journal-eyebrow * {\n                            font-size: var(--current-eyebrow-size) !important;\n                            font-family: var(--eyebrow-font) !important;\n                            font-weight: var(--eyebrow-weight) !important;\n                            font-style: var(--eyebrow-style) !important;\n                            color: var(--eyebrow-color) !important;\n                            letter-spacing: var(--eyebrow-letter-spacing) !important;\n                        }\n\n                        .${scopeClass} .journal-eyebrow {\n                            position: absolute;\n                            left: 0;\n                            top: 0;\n                            height: calc(var(--current-font-size) * var(--line-height-unitless));\n                            display: flex;\n                            align-items: flex-end;\n                            pointer-events: none;\n                            line-height: normal !important;\n                            margin: 0;\n                            padding: 0;\n                            z-index: 2;\n                        }\n                    `}}),hasEyebrow&&/*#__PURE__*/_jsx(\"div\",{className:\"journal-eyebrow\",children:cleanEyebrow}),/*#__PURE__*/_jsx(\"div\",{className:\"journal-content\",style:{width:\"100%\",wordWrap:\"break-word\",margin:0,padding:0},children:content})]});}DescriptionBlock.displayName=\"Description Block\";addPropertyControls(DescriptionBlock,{content:{type:ControlType.RichText,title:\"Main Text\",defaultValue:\"In a world blinded by hyper-saturated trends and temporary hype, frame zero defines its own visual climate. The challenge was to architecture a complete branding ecosystem that commands absolute authority without relying on loud logos or aggressive marketing.\\n\\nThe response was rooted in radical minimalism and precise optical guidelines.\"},eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"(Approach)\"},// 1. Font Size (Responsive Group in rem)\nfontSize:{type:ControlType.Object,title:\"Title Size\",controls:{desktop:{type:ControlType.Number,title:\"Desktop\",defaultValue:.875,step:.05,min:.2,max:10,unit:\"rem\"},tablet:{type:ControlType.Number,title:\"Tablet\",defaultValue:.875,step:.05,min:.2,max:10,unit:\"rem\"},phone:{type:ControlType.Number,title:\"Mobile\",defaultValue:.75,step:.05,min:.2,max:10,unit:\"rem\"}}},// 2. Eyebrow Size (Responsive Group in rem)\neyebrowFontSize:{type:ControlType.Object,title:\"Eyebrow Size\",controls:{desktop:{type:ControlType.Number,title:\"Desktop\",defaultValue:.875,step:.05,min:.2,max:10,unit:\"rem\"},tablet:{type:ControlType.Number,title:\"Tablet\",defaultValue:.875,step:.05,min:.2,max:10,unit:\"rem\"},phone:{type:ControlType.Number,title:\"Mobile\",defaultValue:.75,step:.05,min:.2,max:10,unit:\"rem\"}}},// 3. Text Indent (Responsive Group in px)\nindent:{type:ControlType.Object,title:\"Indent\",controls:{desktop:{type:ControlType.Number,title:\"Desktop\",defaultValue:125,min:0,max:500,step:1,unit:\"px\"},tablet:{type:ControlType.Number,title:\"Tablet\",defaultValue:100,min:0,max:500,step:1,unit:\"px\"},phone:{type:ControlType.Number,title:\"Mobile\",defaultValue:80,min:0,max:500,step:1,unit:\"px\"}}},// --- Fonts ---\nmainFont:{type:ControlType.Font,title:\"Main Font\",defaultValue:{fontFamily:\"Geist\"}},eyebrowFont:{type:ControlType.Font,title:\"Eyebrow Font\",defaultValue:{fontFamily:\"Geist\"}},// --- Additional Styles ---\nfontWeight:{type:ControlType.Enum,title:\"Font Weight\",options:[\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],defaultValue:\"400\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:120,min:80,max:300,step:1,unit:\"%\",displayStepper:true},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:-.04,min:-5,max:10,step:.01,unit:\"em\"},eyebrowLetterSpacing:{type:ControlType.Number,title:\"Eyebrow Tracking\",defaultValue:-.03,min:-.2,max:.5,step:.01,unit:\"em\",hidden(props){const clean=typeof props.eyebrow===\"string\"?props.eyebrow.trim():\"\";return clean===\"\"||clean===\"()\";}},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],defaultValue:\"none\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},eyebrowColor:{type:ControlType.Color,title:\"Eyebrow Color\",defaultValue:\"rgba(255, 255, 255, 0.30)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DescriptionBlock\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DescriptionBlock.map"],"mappings":"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"}