{"version":3,"file":"Bullets_Pro.CgGdrurd.mjs","names":[],"sources":["https:/framerusercontent.com/modules/WmGJ6Y9vUivKxmuOjwPq/KfVzrt39MeECOrYRn3kS/Bullets_Pro.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n *//**\n * Bullet_List_Pro — Framer Code Component\n * Fully stable version with:\n * - Bullet alignment fix (no disappearing)\n * - Visible font controls\n * - Optional vertical offset for fine-tuning\n * - Center alignment on first line only\n */export default function Bullet_List_Pro({itemCount=4,item1=\"This is the first bullet point with some longer text to demonstrate wrapping\",item2=\"Second item here\",item3=\"Third item that wraps to multiple lines showing correct alignment\",item4=\"Fourth item\",item5=\"\",item6=\"\",item7=\"\",item8=\"\",item9=\"\",item10=\"\",bulletType=\"circle\",bulletColor=\"#333333\",textColor=\"#333333\",font={fontSize:\"20px\",fontFamily:\"Inter, sans-serif\",lineHeight:\"100%\",fontWeight:\"400\",letterSpacing:\"-0.01em\"},boldFontWeight=\"600\",textTransform=\"none\",bulletAlignment=\"top\",bulletVerticalOffset=0,bulletSize=6,spacing=12,itemSpacing=8,customSvg=`<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"><path d=\"M8 1L10.5 6H15L11.5 9.5L13 15L8 12L3 15L4.5 9.5L1 6H5.5L8 1Z\" fill=\"currentColor\"/></svg>`,numberStyle=\"decimal\"}){const safeFontSize=parseInt(font?.fontSize||\"15\",10);const items=[item1,item2,item3,item4,item5,item6,item7,item8,item9,item10].slice(0,itemCount).filter(i=>i&&i.trim()!==\"\");// Calculate bullet position for first-line centering\nconst getBulletTopOffset=()=>{if(bulletAlignment!==\"center\")return 0;try{// Parse line height safely\nlet lineHeightMultiplier=1.2;if(font?.lineHeight){const parsed=parseFloat(font.lineHeight);if(!isNaN(parsed)&&parsed>0&&parsed<10){lineHeightMultiplier=parsed;}}// Calculate the first line height\nconst firstLineHeight=safeFontSize*lineHeightMultiplier;// Get bullet height\nconst bulletHeight=bulletType===\"circle\"?bulletSize:safeFontSize;// Center bullet on first line\nconst offset=(firstLineHeight-bulletHeight)/2;// Safety check: return 0 if calculation seems wrong\nif(isNaN(offset)||offset<-50||offset>50){return 0;}return offset;}catch(e){return 0;}};const renderBullet=index=>{if(bulletType===\"none\")return null;const bulletWrapperStyle={marginRight:spacing,flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",paddingTop:getBulletTopOffset(),transform:bulletVerticalOffset!==0?`translateY(${bulletVerticalOffset}px)`:\"none\"};switch(bulletType){case\"circle\":return /*#__PURE__*/_jsx(\"div\",{style:{...bulletWrapperStyle,width:bulletSize,height:bulletSize},children:/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:bulletColor,width:bulletSize,height:bulletSize,borderRadius:\"50%\"}})});case\"number\":return /*#__PURE__*/_jsx(\"div\",{style:bulletWrapperStyle,children:/*#__PURE__*/_jsx(\"span\",{style:{color:bulletColor,fontSize:font.fontSize,fontFamily:font.fontFamily,fontWeight:font.fontWeight},children:numberStyle===\"decimal\"?`${index+1}.`:numberStyle===\"roman\"?`${toRoman(index+1)}.`:numberStyle===\"letter\"?`${toLetter(index+1)}.`:`${index+1}.`})});case\"dash\":return /*#__PURE__*/_jsx(\"div\",{style:bulletWrapperStyle,children:/*#__PURE__*/_jsx(\"span\",{style:{color:bulletColor,fontSize:font.fontSize},children:\"-\"})});case\"custom\":return /*#__PURE__*/_jsx(\"div\",{style:{...bulletWrapperStyle,width:safeFontSize,height:safeFontSize,color:bulletColor},dangerouslySetInnerHTML:{__html:customSvg.replace(\"currentColor\",bulletColor)}});default:return null;}};const toRoman=num=>{const values=[1e3,900,500,400,100,90,50,40,10,9,5,4,1];const symbols=[\"M\",\"CM\",\"D\",\"CD\",\"C\",\"XC\",\"L\",\"XL\",\"X\",\"IX\",\"V\",\"IV\",\"I\"];let result=\"\";for(let i=0;i<values.length;i++){while(num>=values[i]){result+=symbols[i];num-=values[i];}}return result.toLowerCase();};const toLetter=num=>String.fromCharCode(96+num);return /*#__PURE__*/_jsxs(\"div\",{style:{...font,color:textColor,textTransform,width:\"100%\",height:\"auto\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .bullet-list b, .bullet-list strong {\n                    font-weight: ${boldFontWeight};\n                }\n            `}),items.map((item,index)=>/*#__PURE__*/_jsxs(\"div\",{className:\"bullet-list\",style:{display:bulletType===\"none\"?\"block\":\"flex\",alignItems:\"flex-start\",marginBottom:index<items.length-1?itemSpacing:0},children:[renderBullet(index),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,lineHeight:font.lineHeight},dangerouslySetInnerHTML:{__html:item}})]},index))]});}// 🧩 Property Controls\naddPropertyControls(Bullet_List_Pro,{itemCount:{type:ControlType.Number,title:\"Number of Items\",min:1,max:10,step:1,defaultValue:4,displayStepper:true},item1:{type:ControlType.String,title:\"Item 1\",displayTextArea:true,defaultValue:\"This is the first bullet point with some longer text to demonstrate wrapping\"},item2:{type:ControlType.String,title:\"Item 2\",displayTextArea:true,defaultValue:\"Second item here\",hidden:props=>props.itemCount<2},item3:{type:ControlType.String,title:\"Item 3\",displayTextArea:true,defaultValue:\"Third item with even more text to show how the bullet stays aligned with the first line when text wraps to multiple lines\",hidden:props=>props.itemCount<3},item4:{type:ControlType.String,title:\"Item 4\",displayTextArea:true,defaultValue:\"Fourth item\",hidden:props=>props.itemCount<4},item5:{type:ControlType.String,title:\"Item 5\",displayTextArea:true,hidden:props=>props.itemCount<5},item6:{type:ControlType.String,title:\"Item 6\",displayTextArea:true,hidden:props=>props.itemCount<6},item7:{type:ControlType.String,title:\"Item 7\",displayTextArea:true,hidden:props=>props.itemCount<7},item8:{type:ControlType.String,title:\"Item 8\",displayTextArea:true,hidden:props=>props.itemCount<8},item9:{type:ControlType.String,title:\"Item 9\",displayTextArea:true,hidden:props=>props.itemCount<9},item10:{type:ControlType.String,title:\"Item 10\",displayTextArea:true,hidden:props=>props.itemCount<10},bulletType:{type:ControlType.Enum,title:\"Bullet Type\",options:[\"none\",\"circle\",\"number\",\"dash\",\"custom\"],optionTitles:[\"None\",\"Circle\",\"Number\",\"Dash\",\"Custom SVG\"],defaultValue:\"circle\"},numberStyle:{type:ControlType.Enum,title:\"Number Style\",options:[\"decimal\",\"roman\",\"letter\"],optionTitles:[\"1,2,3\",\"i,ii,iii\",\"a,b,c\"],defaultValue:\"decimal\",hidden:p=>p.bulletType!==\"number\"},bulletAlignment:{type:ControlType.Enum,title:\"Bullet Align\",options:[\"top\",\"center\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],defaultValue:\"center\",hidden:p=>p.bulletType===\"none\"},bulletVerticalOffset:{type:ControlType.Number,title:\"Vertical Offset\",min:-20,max:20,step:1,defaultValue:0,displayStepper:true,description:\"Fine-tune vertical position of the bullet for visual alignment (px) depending on the line height.\",hidden:p=>p.bulletType===\"none\"},bulletSize:{type:ControlType.Number,title:\"Bullet Size\",min:4,max:20,defaultValue:6,displayStepper:true,hidden:p=>p.bulletType!==\"circle\"},bulletColor:{type:ControlType.Color,title:\"Bullet Color\",defaultValue:\"#333333\",hidden:p=>p.bulletType===\"none\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:\"24px\",fontFamily:\"Inter, sans-serif\",lineHeight:\"100%\",fontWeight:\"400\"},controls:\"extended\"},spacing:{type:ControlType.Number,title:\"Bullet Spacing\",min:0,max:40,defaultValue:12,displayStepper:true,hidden:p=>p.bulletType===\"none\"},itemSpacing:{type:ControlType.Number,title:\"Item Spacing\",min:0,max:32,defaultValue:8,displayStepper:true},customSvg:{type:ControlType.String,title:\"Custom SVG\",displayTextArea:true,defaultValue:`<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"><path d=\"M8 1L10.5 6H15L11.5 9.5L13 15L8 12L3 15L4.5 9.5L1 6H5.5L8 1Z\" fill=\"currentColor\"/></svg>`,hidden:p=>p.bulletType!==\"custom\"},boldFontWeight:{type:ControlType.Enum,title:\"Bold Weight\",options:[\"500\",\"600\",\"700\"],optionTitles:[\"Medium\",\"Semibold\",\"Bold\"],defaultValue:\"600\"},textTransform:{type:ControlType.Enum,title:\"Text Transform\",options:[\"none\",\"capitalize\",\"uppercase\",\"lowercase\"],optionTitles:[\"None\",\"Capitalize\",\"UPPERCASE\",\"lowercase\"],defaultValue:\"none\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Bullet_List_Pro\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Bullets_Pro.map"],"mappings":"mKASG,SAAwB,EAAgB,CAAC,YAAU,EAAE,QAAM,+EAA+E,QAAM,mBAAmB,QAAM,oEAAoE,QAAM,cAAc,QAAM,GAAG,QAAM,GAAG,QAAM,GAAG,QAAM,GAAG,QAAM,GAAG,SAAO,GAAG,aAAW,SAAS,cAAY,UAAU,YAAU,UAAU,OAAK,CAAC,SAAS,OAAO,WAAW,oBAAoB,WAAW,OAAO,WAAW,MAAM,cAAc,SAAS,EAAE,iBAAe,MAAM,gBAAc,OAAO,kBAAgB,MAAM,uBAAqB,EAAE,aAAW,EAAE,UAAQ,GAAG,cAAY,EAAE,YAAU,iKAAiK,cAAY,WAAW,CAAC,IAAM,EAAa,SAAS,GAAM,UAAU,KAAK,EAAE,EAAQ,EAAM,CAAC,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAM,CAAC,CAAC,MAAM,EAAE,CAAS,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,KAAK,IAAI,EAAE,EACj9B,MAAuB,CAAC,GAAG,IAAkB,SAAS,MAAO,GAAE,GAAG,CACxE,IAAI,EAAqB,IAAI,GAAG,GAAM,WAAW,CAAC,IAAM,EAAO,WAAW,EAAK,UAAU,EAAK,CAAC,MAAM,CAAM,GAAG,EAAO,GAAG,EAAO,KAAI,EAAqB,EAAQ,CAGhK,IAAM,GAFgB,EAAa,GAChB,IAAa,SAAS,EAAW,IACR,EACO,OAAhD,MAAM,CAAM,GAAG,EAAO,KAAK,EAAO,GAAW,EAAU,CAAO,MAAS,CAAC,MAAO,EAAE,CAAC,EAAQ,EAAa,GAAO,CAAC,GAAG,IAAa,OAAO,OAAO,KAAK,IAAM,EAAmB,CAAC,YAAY,EAAQ,WAAW,EAAE,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,WAAW,EAAmB,EAAE,UAAU,IAAuB,EAA0C,OAAxC,cAAc,EAAqB,IAAW,EAAE,OAAO,EAAP,CAAmB,IAAI,SAAS,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAmB,MAAM,EAAW,OAAO,CAAU,EAAE,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAY,MAAM,EAAW,OAAO,EAAW,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,OAAoB,EAAK,MAAM,CAAC,MAAM,EAAmB,SAAsB,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAY,SAAS,EAAK,SAAS,WAAW,EAAK,WAAW,WAAW,EAAK,UAAU,EAAE,SAAS,IAAc,UAAU,GAAG,EAAM,EAAE,GAAG,IAAc,QAAQ,GAAG,EAAQ,EAAM,CAAC,EAAE,GAAG,IAAc,SAAS,GAAG,EAAS,EAAM,CAAC,EAAE,GAAG,GAAG,EAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,OAAoB,EAAK,MAAM,CAAC,MAAM,EAAmB,SAAsB,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAY,SAAS,EAAK,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAmB,MAAM,EAAa,OAAO,EAAa,MAAM,CAAW,EAAE,wBAAwB,CAAC,OAAO,EAAU,QAAQ,eAAe,CAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,OAAO,IAAK,CAAC,EAAQ,EAAQ,GAAK,CAAC,IAAM,EAAO,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EAAQ,EAAQ,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,EAAM,EAAO,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAO,OAAO,IAAK,KAAM,GAAK,EAAO,IAAI,GAAQ,EAAQ,GAAG,GAAK,EAAO,GAAK,OAAO,EAAO,YAAY,CAAE,EAAQ,EAAS,GAAK,OAAO,aAAa,GAAG,CAAG,EAAE,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAK,MAAM,EAAU,gBAAc,MAAM,OAAO,OAAO,MAAM,EAAE,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS;;mCAEl0D,EAAe;;aAErC,CAAC,EAAE,EAAM,KAAK,EAAK,IAAqB,EAAM,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,QAAQ,IAAa,OAAO,QAAQ,OAAO,WAAW,aAAa,aAAa,EAAM,EAAM,OAAO,EAAE,EAAY,CAAC,EAAE,SAAS,CAAC,EAAa,CAAK,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAK,UAAU,EAAE,wBAAwB,CAAC,OAAO,CAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAK,CAAC,CAAC,CAAC,CAAC,CAAE,iBAnBnT,IAAoD,EAoB5G,EAAoB,EAAgB,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,aAAa,EAAE,eAAe,EAAI,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,aAAa,8EAA8E,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,aAAa,mBAAmB,OAAO,GAAO,EAAM,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,aAAa,4HAA4H,OAAO,GAAO,EAAM,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,aAAa,cAAc,OAAO,GAAO,EAAM,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,OAAO,GAAO,EAAM,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,OAAO,GAAO,EAAM,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,OAAO,GAAO,EAAM,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,OAAO,GAAO,EAAM,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,gBAAgB,GAAK,OAAO,GAAO,EAAM,UAAU,CAAC,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,gBAAgB,GAAK,OAAO,GAAO,EAAM,UAAU,EAAE,EAAE,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,OAAO,SAAS,SAAS,OAAO,QAAQ,EAAE,aAAa,CAAC,OAAO,SAAS,SAAS,OAAO,YAAY,EAAE,aAAa,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAY,KAAK,MAAM,eAAe,QAAQ,CAAC,UAAU,QAAQ,QAAQ,EAAE,aAAa,CAAC,QAAQ,WAAW,OAAO,EAAE,aAAa,UAAU,OAAO,GAAG,EAAE,aAAa,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAY,KAAK,MAAM,eAAe,QAAQ,CAAC,MAAM,SAAS,QAAQ,EAAE,aAAa,CAAC,MAAM,SAAS,QAAQ,EAAE,aAAa,SAAS,OAAO,GAAG,EAAE,aAAa,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,aAAa,EAAE,eAAe,GAAK,YAAY,oGAAoG,OAAO,GAAG,EAAE,aAAa,MAAM,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,GAAG,aAAa,EAAE,eAAe,GAAK,OAAO,GAAG,EAAE,aAAa,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,aAAa,UAAU,OAAO,GAAG,EAAE,aAAa,MAAM,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,aAAa,CAAC,SAAS,OAAO,WAAW,oBAAoB,WAAW,OAAO,WAAW,KAAK,EAAE,SAAS,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,eAAe,GAAK,OAAO,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,IAAI,EAAE,IAAI,GAAG,aAAa,EAAE,eAAe,EAAI,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,gBAAgB,GAAK,aAAa,iKAAiK,OAAO,GAAG,EAAE,aAAa,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,aAAa,CAAC,SAAS,WAAW,MAAM,EAAE,aAAa,KAAK,EAAE,cAAc,CAAC,KAAK,EAAY,KAAK,MAAM,iBAAiB,QAAQ,CAAC,OAAO,aAAa,YAAY,WAAW,EAAE,aAAa,CAAC,OAAO,aAAa,YAAY,WAAW,EAAE,aAAa,MAAM,CAAC,CAAC"}