{"version":3,"file":"GradientBorder.CYNItcKY.mjs","names":[],"sources":["https:/framerusercontent.com/modules/TST1o4eqAu9RF7zZ8sba/xlsDclaXfHrf8kQVNRoH/GradientBorder.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";const GLASS_DEFAULT_START=\"var(--token-293e9076-af43-4dbc-b900-4b019b9d1d50, #C3B6FB)\";const GLASS_DEFAULT_END=\"var(--token-dced0069-ccd4-43bb-a5b3-77c0f2a1fb8e, rgba(255,255,255,0.5))\";const GLASS_BRIGHT_START=\"var(--token-853819a6-cd61-4dc8-a4ea-1279ad83f692, #FFFFFF)\";const GLASS_BRIGHT_END=\"var(--token-4c09d37d-e28e-4299-876d-46237e0fec07, #C3B6FB)\";const GLASS_HAIRLINE_START=\"var(--token-c30028a9-b1b8-4db7-88c7-3f5fe2087a3a, rgba(255,255,255,0.6))\";const GLASS_HAIRLINE_END=\"var(--token-d0a7e52b-5ff4-4b63-a9f4-b0d9ae5bc6e8, rgba(255,255,255,0.15))\";const GLASS_INVERTED_START=\"var(--token-c2749717-ea6b-4c80-8f17-185af9e85e39, #C3B6FB)\";const GLASS_INVERTED_END=\"var(--token-ff704587-9c25-47d4-9c71-a25a6773b2fb, #160d3d)\";const PRIMARY_BLUE=\"#160d3d\";/**\n * Returns the inline style for an overlay that draws ONLY a gradient ring\n * (using mask compositing) over its parent.\n */function ringOverlayStyle(start,end,width){return{position:\"absolute\",inset:0,pointerEvents:\"none\",borderRadius:\"inherit\",padding:width,background:`linear-gradient(135deg, ${start}, ${end})`,WebkitMask:\"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0)\",WebkitMaskComposite:\"xor\",maskComposite:\"exclude\",boxSizing:\"border-box\",zIndex:999};}/**\n * Wrap the component so it becomes a stacking context, then inject a sibling\n * overlay div that draws the gradient ring on top.\n * We don't touch the wrapped component's background.\n */function makeRingOverride(start,end,width){return function(Component){return function RingWrapped(props){const existingPosition=props.style?.position;const overlay=/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:ringOverlayStyle(start,end,width)});return /*#__PURE__*/_jsxs(Component,{...props,style:{...props.style,position:existingPosition&&existingPosition!==\"static\"?existingPosition:\"relative\"},children:[props.children,overlay]});};};}// ─── Pattern 1: Glass Default (0.5px lavender → white) ───\nexport function withGlassBorder(Component){return function GlassDefault(props){const existingPosition=props.style?.position;return /*#__PURE__*/_jsxs(Component,{...props,style:{...props.style,position:existingPosition&&existingPosition!==\"static\"?existingPosition:\"relative\"},children:[props.children,/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:ringOverlayStyle(GLASS_DEFAULT_START,GLASS_DEFAULT_END,.5)})]});};}// ─── Pattern 2: Glass Bright (0.5px white → lavender) ───\nexport function withGlassBorderBright(Component){return function GlassBright(props){const existingPosition=props.style?.position;return /*#__PURE__*/_jsxs(Component,{...props,style:{...props.style,position:existingPosition&&existingPosition!==\"static\"?existingPosition:\"relative\"},children:[props.children,/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:ringOverlayStyle(GLASS_BRIGHT_START,GLASS_BRIGHT_END,.5)})]});};}// ─── Pattern 3: Glass Hairline (0.25px subtle) ───\nexport function withGlassBorderHairline(Component){return function GlassHairline(props){const existingPosition=props.style?.position;return /*#__PURE__*/_jsxs(Component,{...props,style:{...props.style,position:existingPosition&&existingPosition!==\"static\"?existingPosition:\"relative\"},children:[props.children,/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:ringOverlayStyle(GLASS_HAIRLINE_START,GLASS_HAIRLINE_END,.25)})]});};}// ─── Pattern 5: Glass Inverted (0.5px lavender → primary-blue, light mode) ───\nexport function withGlassBorderInverted(Component){return function GlassInverted(props){const existingPosition=props.style?.position;return /*#__PURE__*/_jsxs(Component,{...props,style:{...props.style,position:existingPosition&&existingPosition!==\"static\"?existingPosition:\"relative\"},children:[props.children,/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:ringOverlayStyle(GLASS_INVERTED_START,GLASS_INVERTED_END,.5)})]});};}// ─── Pattern 4: Solid Dark (0.5px primary-blue, light mode) ───\nexport function withSolidDarkBorder(Component){return function SolidDark(props){return /*#__PURE__*/_jsx(Component,{...props,style:{...props.style,border:`0.5px solid ${PRIMARY_BLUE}`}});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withGlassBorderHairline\":{\"type\":\"reactHoc\",\"name\":\"withGlassBorderHairline\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withGlassBorderBright\":{\"type\":\"reactHoc\",\"name\":\"withGlassBorderBright\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSolidDarkBorder\":{\"type\":\"reactHoc\",\"name\":\"withSolidDarkBorder\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withGlassBorderInverted\":{\"type\":\"reactHoc\",\"name\":\"withGlassBorderInverted\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withGlassBorder\":{\"type\":\"reactHoc\",\"name\":\"withGlassBorder\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GradientBorder.map"],"mappings":"2GAGG,SAAS,EAAiB,EAAM,EAAI,EAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,cAAc,OAAO,aAAa,UAAU,QAAQ,EAAM,WAAW,2BAA2B,EAAM,IAAI,EAAI,GAAG,WAAW,mEAAmE,oBAAoB,MAAM,cAAc,UAAU,UAAU,aAAa,OAAO,GAAG,CAAE,CAOrW,SAAgB,EAAwB,EAAU,CAAC,OAAO,SAAuB,EAAM,CAAC,IAAM,EAAiB,EAAM,OAAO,SAAS,OAAoB,EAAM,EAAU,CAAC,GAAG,EAAM,MAAM,CAAC,GAAG,EAAM,MAAM,SAAS,GAAkB,IAAmB,SAAS,EAAiB,UAAU,EAAE,SAAS,CAAC,EAAM,SAAsB,EAAK,MAAM,CAAC,cAAc,OAAO,MAAM,EAAiB,EAAqB,EAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAE,CAC/a,SAAgB,EAAwB,EAAU,CAAC,OAAO,SAAuB,EAAM,CAAC,IAAM,EAAiB,EAAM,OAAO,SAAS,OAAoB,EAAM,EAAU,CAAC,GAAG,EAAM,MAAM,CAAC,GAAG,EAAM,MAAM,SAAS,GAAkB,IAAmB,SAAS,EAAiB,UAAU,EAAE,SAAS,CAAC,EAAM,SAAsB,EAAK,MAAM,CAAC,cAAc,OAAO,MAAM,EAAiB,EAAqB,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAE,yBAXtX,EAA2W,EAAqB,2EAAiF,EAAmB,4EAAkF,EAAqB,6DAAmE,EAAmB"}