{"version":3,"file":"TextRibbon.CyodzWoF.mjs","names":["useId","useMemo","useRef"],"sources":["https:/framerusercontent.com/modules/qKoMMuP2QQuH07VeVwN1/XZph2M1IIPIzPG7FhQrV/GlassButton.js","https:/framerusercontent.com/modules/WfU7L0zpSnzdQ0pEv1IT/7oPnKoIu3FXUkCaKXVjY/TextRibbon.js"],"sourcesContent":["// Glass Button component for Framer with animated gradient border effect\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useId,useMemo}from\"react\";/**\n * Glass Button with animated gradient border\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function GlassButton(props){const{label,buttonFont,textColor,backgroundColor,borderGradientStart,borderGradientEnd,animationSpeed,hoverTransitionSpeed,hoverBorderOpacity,hoverScale,backdropBlur,borderRadius,padding,link,openInNewTab,onClick,style}=props;const uniqueId=useId().replace(/[^a-zA-Z0-9]/g,\"\");const Component=link?\"a\":\"button\";const cssVars=useMemo(()=>{// Robust sanitization for HEX, RGB, RGBA, HSL values\nconst sanitize=color=>{return color.replace(/\\\\/g,\"\").trim();};return{bgColor:sanitize(backgroundColor),gradStart:sanitize(borderGradientStart),gradEnd:sanitize(borderGradientEnd)};},[backgroundColor,borderGradientStart,borderGradientEnd]);// Padding fallback: allow style.padding to override if user modifies via Layout panel\nconst finalPadding=useMemo(()=>{// If style.padding exists and differs from default, use it\nif(style?.padding&&style.padding!==\"12px 24px\"){return style.padding;}// Otherwise use the padding prop\nreturn padding||\"12px 24px\";},[padding,style?.padding]);const finalBorderRadius=useMemo(()=>{// If style.borderRadius exists and differs from default, use it\nif(style?.borderRadius&&style.borderRadius!==\"8px\"){return style.borderRadius;}// Otherwise use the borderRadius prop\nreturn borderRadius||\"8px\";},[borderRadius,style?.borderRadius]);const handleClick=e=>{if(onClick){onClick();}};return /*#__PURE__*/_jsxs(Component,{href:link,target:openInNewTab?\"_blank\":\"_self\",rel:openInNewTab?\"noopener noreferrer\":undefined,type:!link?\"button\":undefined,className:\"glass-button-\"+uniqueId,\"aria-label\":label,style:{...buttonFont,...style,// Critical layout properties at the end to prevent overrides\ndisplay:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\",boxSizing:\"border-box\",background:backgroundColor,backdropFilter:`blur(${backdropBlur}px)`,WebkitBackdropFilter:`blur(${backdropBlur}px)`,color:textColor,border:\"none\",cursor:\"pointer\",overflow:\"visible\",textDecoration:\"none\",WebkitTapHighlightColor:\"transparent\",minWidth:\"max-content\",borderRadius:finalBorderRadius,padding:finalPadding},onClick:handleClick,children:[/*#__PURE__*/_jsx(\"style\",{children:`\n\t\t\t\t@keyframes rotate-gradient-${uniqueId} {\n\t\t\t\t\t0% {\n\t\t\t\t\t\t--button-angle-${uniqueId}: -75deg;\n\t\t\t\t\t}\n\t\t\t\t\t100% {\n\t\t\t\t\t\t--button-angle-${uniqueId}: 285deg;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@property --button-angle-${uniqueId} {\n\t\t\t\t\tsyntax: '<angle>';\n\t\t\t\t\tinherits: false;\n\t\t\t\t\tinitial-value: -75deg;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t.glass-button-${uniqueId} {\n\t\t\t\t\ttransition: transform ${hoverTransitionSpeed}s ease;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t.glass-button-${uniqueId}:hover {\n\t\t\t\t\ttransform: scale(${hoverScale});\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t.glass-button-border-${uniqueId} {\n\t\t\t\t\t--button-angle-${uniqueId}: -75deg;\n\t\t\t\t\tanimation: rotate-gradient-${uniqueId} ${animationSpeed}s linear infinite;\n\t\t\t\t\ttransition: opacity ${hoverTransitionSpeed}s ease, background ${hoverTransitionSpeed}s ease;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@supports not (background: paint(something)) {\n\t\t\t\t\t.glass-button-border-${uniqueId} {\n\t\t\t\t\t\tbackground: conic-gradient(from -75deg at 50% 50%, ${cssVars.gradStart}, transparent 10%, transparent 43%, ${cssVars.gradEnd} 50%, transparent 73%, transparent 93%, ${cssVars.gradStart}) !important;\n\t\t\t\t\t\tanimation: none !important;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@supports (background: conic-gradient(from var(--button-angle-${uniqueId}) at 50% 50%, red, blue)) {\n\t\t\t\t\t.glass-button-border-${uniqueId} {\n\t\t\t\t\t\tbackground: conic-gradient(from var(--button-angle-${uniqueId}) at 50% 50%, ${cssVars.gradStart}, transparent 10%, transparent 43%, ${cssVars.gradEnd} 50%, transparent 73%, transparent 93%, ${cssVars.gradStart});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t.glass-button-${uniqueId}:hover .glass-button-border-${uniqueId} {\n\t\t\t\t\topacity: ${hoverBorderOpacity};\n\t\t\t\t\tbackground: ${cssVars.gradStart} !important;\n\t\t\t\t}\n\t\t\t`}),/*#__PURE__*/_jsx(\"div\",{className:\"glass-button-border-\"+uniqueId,style:{position:\"absolute\",inset:0,borderRadius:finalBorderRadius,padding:\"1px\",background:`conic-gradient(from var(--button-angle-${uniqueId}) at 50% 50%, ${cssVars.gradStart}, transparent 10%, transparent 43%, ${cssVars.gradEnd} 50%, transparent 73%, transparent 93%, ${cssVars.gradStart})`,WebkitMask:\"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)\",WebkitMaskComposite:\"xor\",mask:\"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)\",maskComposite:\"exclude\",pointerEvents:\"none\",opacity:1,zIndex:0}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",zIndex:1,pointerEvents:\"none\"},children:label})]});}addPropertyControls(GlassButton,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Glass Button\"},link:{type:ControlType.Link,title:\"Link\"},openInNewTab:{type:ControlType.Boolean,title:\"New Tab\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>!props.link},buttonFont:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(255, 255, 255, 0.2)\"},borderGradientStart:{type:ControlType.Color,title:\"Border Start\",defaultValue:\"rgba(255, 255, 255, 0.5)\"},borderGradientEnd:{type:ControlType.Color,title:\"Border End\",defaultValue:\"rgba(255, 255, 255, 0.5)\"},animationSpeed:{type:ControlType.Number,title:\"Animation Speed\",defaultValue:3,min:.5,max:10,step:.5,unit:\"s\"},hoverTransitionSpeed:{type:ControlType.Number,title:\"Hover Transition\",defaultValue:.3,min:.1,max:2,step:.1,unit:\"s\"},hoverBorderOpacity:{type:ControlType.Number,title:\"Hover Border Opacity\",defaultValue:1,min:0,max:1,step:.1},hoverScale:{type:ControlType.Number,title:\"Hover Scale\",defaultValue:1.05,min:.9,max:1.2,step:.01},backdropBlur:{type:ControlType.Number,title:\"Blur\",defaultValue:10,min:0,max:50,step:1,unit:\"px\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 24px\"},borderRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"8px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GlassButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GlassButton.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useEffect,useRef}from\"react\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function TextRibbon({items=[\"Design Systems\",\"Brand Identity\",\"AI Workflows\",\"Interaction Design\",\"User Research\",\"Prototyping\",\"UX Design\",\"Product Strategy\"],speed=1,direction=\"left\",fontSize=13,fontWeight=500,fontFamily=\"Barlow Condensed, Barlow, sans-serif\",color=\"#ffffff\",backgroundColor=\"#000000\",separatorColor=\"#ff5500\",gap=24,paddingVertical=12,letterSpacing=1.5,preview=false}){const isStatic=useIsStaticRenderer();const shouldPlay=!isStatic||preview;const trackRef=useRef(null);const posRef=useRef(0);const rafRef=useRef();useEffect(()=>{const track=trackRef.current;if(!track)return;if(!shouldPlay){if(rafRef.current)cancelAnimationFrame(rafRef.current);return;}posRef.current=direction===\"right\"?-(track.scrollWidth/2):0;const animate=()=>{const itemWidth=track.scrollWidth/2;posRef.current+=direction===\"left\"?-speed*.5:speed*.5;if(direction===\"left\"&&posRef.current<=-itemWidth)posRef.current=0;if(direction===\"right\"&&posRef.current>=0)posRef.current=-itemWidth;track.style.transform=`translateX(${posRef.current}px)`;rafRef.current=requestAnimationFrame(animate);};rafRef.current=requestAnimationFrame(animate);return()=>{if(rafRef.current)cancelAnimationFrame(rafRef.current);};},[items,speed,direction,gap,shouldPlay]);const repeated=[...items,...items];return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",overflow:\"hidden\",backgroundColor,paddingTop:paddingVertical,paddingBottom:paddingVertical},children:/*#__PURE__*/_jsx(\"div\",{ref:trackRef,style:{display:\"inline-flex\",alignItems:\"center\",whiteSpace:\"nowrap\",willChange:\"transform\"},children:repeated.map((item,i)=>/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",marginRight:gap},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily,fontSize,fontWeight,color,letterSpacing,textTransform:\"uppercase\"},children:item}),/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:6,height:6,borderRadius:\"50%\",backgroundColor:separatorColor,flexShrink:0,marginLeft:gap}})]},i))})});}addPropertyControls(TextRibbon,{preview:{type:ControlType.Boolean,title:\"Preview\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},items:{type:ControlType.Array,title:\"Items\",control:{type:ControlType.String},defaultValue:[\"Design Systems\",\"Brand Identity\",\"AI Workflows\",\"Interaction Design\",\"User Research\",\"Prototyping\",\"UX Design\",\"Product Strategy\"]},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:.1,max:10,step:.1},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"left\"},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Barlow Condensed, Barlow, sans-serif\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:13,min:8,max:48,step:1},fontWeight:{type:ControlType.Number,title:\"Font Weight\",defaultValue:500,min:100,max:900,step:100},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:1.5,min:0,max:10,step:.1},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#ffffff\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},separatorColor:{type:ControlType.Color,title:\"Separator Color\",defaultValue:\"#ff5500\"},gap:{type:ControlType.Number,title:\"Item Gap\",defaultValue:24,min:8,max:80,step:1},paddingVertical:{type:ControlType.Number,title:\"Padding Y\",defaultValue:12,min:4,max:48,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextRibbon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextRibbon.map"],"mappings":"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"}