[{"data":1,"prerenderedAt":3281},["ShallowReactive",2],{"navigation_docs":3,"-components-text-perspective-text-3d":1530,"-components-text-perspective-text-3d-surround":3276},[4,28,35,1314,1337,1344,1499,1523],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,11,15,19,23],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":16,"path":17,"stem":18},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage",{"title":20,"path":21,"stem":22},"Theming","\u002Fgetting-started\u002Ftheming","1.getting-started\u002F4.theming",{"title":24,"path":25,"stem":26},"AI Agents","\u002Fgetting-started\u002Fai-agents","1.getting-started\u002F5.ai-agents","i-lucide-rocket",{"title":29,"path":30,"stem":31,"children":32,"icon":34},"Core Concepts","\u002Fcore-concepts","2.core-concepts\u002Findex",[33],{"title":29,"path":30,"stem":31},"i-lucide-lightbulb",{"title":36,"icon":37,"path":38,"stem":39,"children":40},"Components","i-lucide-component","\u002Fcomponents","3.components",[41,43,62,152,266,324,446,464,478,612,702,888,918,948,982,1016,1054,1284],{"title":36,"path":38,"stem":42},"3.components\u002Findex",{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":61},"3D","i-lucide-box","\u002Fcomponents\u002F3d","3.components\u002F3d",[49,53,57],{"title":50,"path":51,"stem":52},"3D Card","\u002Fcomponents\u002F3d\u002F3d-card","3.components\u002F3d\u002F3d-card",{"title":54,"path":55,"stem":56},"Book","\u002Fcomponents\u002F3d\u002Fbook","3.components\u002F3d\u002Fbook",{"title":58,"path":59,"stem":60},"Globe","\u002Fcomponents\u002F3d\u002Fglobe","3.components\u002F3d\u002Fglobe",false,{"title":63,"icon":64,"path":65,"stem":66,"children":67,"page":61},"AI","i-lucide-sparkles","\u002Fcomponents\u002Fai","3.components\u002Fai",[68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148],{"title":69,"path":70,"stem":71},"Agent Avatar","\u002Fcomponents\u002Fai\u002Fagent-avatar","3.components\u002Fai\u002Fagent-avatar",{"title":73,"path":74,"stem":75},"AI Approval","\u002Fcomponents\u002Fai\u002Fai-approval","3.components\u002Fai\u002Fai-approval",{"title":77,"path":78,"stem":79},"AI Artifact","\u002Fcomponents\u002Fai\u002Fai-artifact","3.components\u002Fai\u002Fai-artifact",{"title":81,"path":82,"stem":83},"AI Branch","\u002Fcomponents\u002Fai\u002Fai-branch","3.components\u002Fai\u002Fai-branch",{"title":85,"path":86,"stem":87},"AI Citation","\u002Fcomponents\u002Fai\u002Fai-citation","3.components\u002Fai\u002Fai-citation",{"title":89,"path":90,"stem":91},"AI Context Meter","\u002Fcomponents\u002Fai\u002Fai-context-meter","3.components\u002Fai\u002Fai-context-meter",{"title":93,"path":94,"stem":95},"AI Conversation","\u002Fcomponents\u002Fai\u002Fai-conversation","3.components\u002Fai\u002Fai-conversation",{"title":97,"path":98,"stem":99},"AI Diff","\u002Fcomponents\u002Fai\u002Fai-diff","3.components\u002Fai\u002Fai-diff",{"title":101,"path":102,"stem":103},"AI Message","\u002Fcomponents\u002Fai\u002Fai-message","3.components\u002Fai\u002Fai-message",{"title":105,"path":106,"stem":107},"AI Messages","\u002Fcomponents\u002Fai\u002Fai-messages","3.components\u002Fai\u002Fai-messages",{"title":109,"path":110,"stem":111},"AI Orb","\u002Fcomponents\u002Fai\u002Fai-orb","3.components\u002Fai\u002Fai-orb",{"title":113,"path":114,"stem":115},"AI Orb Face","\u002Fcomponents\u002Fai\u002Fai-orb-face","3.components\u002Fai\u002Fai-orb-face",{"title":117,"path":118,"stem":119},"AI Orb Face Mouth","\u002Fcomponents\u002Fai\u002Fai-orb-face-mouth","3.components\u002Fai\u002Fai-orb-face-mouth",{"title":121,"path":122,"stem":123},"AI Prompt Input","\u002Fcomponents\u002Fai\u002Fai-prompt-input","3.components\u002Fai\u002Fai-prompt-input",{"title":125,"path":126,"stem":127},"AI Reasoning","\u002Fcomponents\u002Fai\u002Fai-reasoning","3.components\u002Fai\u002Fai-reasoning",{"title":129,"path":130,"stem":131},"AI Response","\u002Fcomponents\u002Fai\u002Fai-response","3.components\u002Fai\u002Fai-response",{"title":133,"path":134,"stem":135},"AI Sources","\u002Fcomponents\u002Fai\u002Fai-sources","3.components\u002Fai\u002Fai-sources",{"title":137,"path":138,"stem":139},"AI Suggestions","\u002Fcomponents\u002Fai\u002Fai-suggestions","3.components\u002Fai\u002Fai-suggestions",{"title":141,"path":142,"stem":143},"AI Task List","\u002Fcomponents\u002Fai\u002Fai-task-list","3.components\u002Fai\u002Fai-task-list",{"title":145,"path":146,"stem":147},"AI Tool Call","\u002Fcomponents\u002Fai\u002Fai-tool-call","3.components\u002Fai\u002Fai-tool-call",{"title":149,"path":150,"stem":151},"Image Generation Panel","\u002Fcomponents\u002Fai\u002Fimage-generation-panel","3.components\u002Fai\u002Fimage-generation-panel",{"title":153,"icon":154,"path":155,"stem":156,"children":157,"page":61},"Backgrounds","i-lucide-layers","\u002Fcomponents\u002Fbackgrounds","3.components\u002Fbackgrounds",[158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262],{"title":159,"path":160,"stem":161},"Animated Background","\u002Fcomponents\u002Fbackgrounds\u002Fanimated-background","3.components\u002Fbackgrounds\u002Fanimated-background",{"title":163,"path":164,"stem":165},"Animated Grid Pattern","\u002Fcomponents\u002Fbackgrounds\u002Fanimated-grid-pattern","3.components\u002Fbackgrounds\u002Fanimated-grid-pattern",{"title":167,"path":168,"stem":169},"Animated Spotlight","\u002Fcomponents\u002Fbackgrounds\u002Fanimated-spotlight","3.components\u002Fbackgrounds\u002Fanimated-spotlight",{"title":171,"path":172,"stem":173},"Aurora Background","\u002Fcomponents\u002Fbackgrounds\u002Faurora-background","3.components\u002Fbackgrounds\u002Faurora-background",{"title":175,"path":176,"stem":177},"Aurora Curtain","\u002Fcomponents\u002Fbackgrounds\u002Faurora-curtain","3.components\u002Fbackgrounds\u002Faurora-curtain",{"title":179,"path":180,"stem":181},"Background Beams","\u002Fcomponents\u002Fbackgrounds\u002Fbackground-beams","3.components\u002Fbackgrounds\u002Fbackground-beams",{"title":183,"path":184,"stem":185},"Background Gradient Animation","\u002Fcomponents\u002Fbackgrounds\u002Fbackground-gradient-animation","3.components\u002Fbackgrounds\u002Fbackground-gradient-animation",{"title":187,"path":188,"stem":189},"Background Lines","\u002Fcomponents\u002Fbackgrounds\u002Fbackground-lines","3.components\u002Fbackgrounds\u002Fbackground-lines",{"title":191,"path":192,"stem":193},"Background Ripple Effect","\u002Fcomponents\u002Fbackgrounds\u002Fbackground-ripple-effect","3.components\u002Fbackgrounds\u002Fbackground-ripple-effect",{"title":195,"path":196,"stem":197},"Boxes Core","\u002Fcomponents\u002Fbackgrounds\u002Fboxes-core","3.components\u002Fbackgrounds\u002Fboxes-core",{"title":199,"path":200,"stem":201},"Directional Light","\u002Fcomponents\u002Fbackgrounds\u002Fdirectional-light","3.components\u002Fbackgrounds\u002Fdirectional-light",{"title":203,"path":204,"stem":205},"Dotted Glow Background","\u002Fcomponents\u002Fbackgrounds\u002Fdotted-glow-background","3.components\u002Fbackgrounds\u002Fdotted-glow-background",{"title":207,"path":208,"stem":209},"Dotted Map","\u002Fcomponents\u002Fbackgrounds\u002Fdotted-map","3.components\u002Fbackgrounds\u002Fdotted-map",{"title":211,"path":212,"stem":213},"Flickering Grid","\u002Fcomponents\u002Fbackgrounds\u002Fflickering-grid","3.components\u002Fbackgrounds\u002Fflickering-grid",{"title":215,"path":216,"stem":217},"Hexagon Pattern","\u002Fcomponents\u002Fbackgrounds\u002Fhexagon-pattern","3.components\u002Fbackgrounds\u002Fhexagon-pattern",{"title":219,"path":220,"stem":221},"Interactive Grid Pattern","\u002Fcomponents\u002Fbackgrounds\u002Finteractive-grid-pattern","3.components\u002Fbackgrounds\u002Finteractive-grid-pattern",{"title":223,"path":224,"stem":225},"Lamp Container","\u002Fcomponents\u002Fbackgrounds\u002Flamp-container","3.components\u002Fbackgrounds\u002Flamp-container",{"title":227,"path":228,"stem":229},"Light Rays","\u002Fcomponents\u002Fbackgrounds\u002Flight-rays","3.components\u002Fbackgrounds\u002Flight-rays",{"title":231,"path":232,"stem":233},"Meteors","\u002Fcomponents\u002Fbackgrounds\u002Fmeteors","3.components\u002Fbackgrounds\u002Fmeteors",{"title":235,"path":236,"stem":237},"Noise Texture","\u002Fcomponents\u002Fbackgrounds\u002Fnoise-texture","3.components\u002Fbackgrounds\u002Fnoise-texture",{"title":239,"path":240,"stem":241},"Particles","\u002Fcomponents\u002Fbackgrounds\u002Fparticles","3.components\u002Fbackgrounds\u002Fparticles",{"title":243,"path":244,"stem":245},"Retro Grid","\u002Fcomponents\u002Fbackgrounds\u002Fretro-grid","3.components\u002Fbackgrounds\u002Fretro-grid",{"title":247,"path":248,"stem":249},"Shooting Stars","\u002Fcomponents\u002Fbackgrounds\u002Fshooting-stars","3.components\u002Fbackgrounds\u002Fshooting-stars",{"title":251,"path":252,"stem":253},"Stars Background","\u002Fcomponents\u002Fbackgrounds\u002Fstars-background","3.components\u002Fbackgrounds\u002Fstars-background",{"title":255,"path":256,"stem":257},"Striped Pattern","\u002Fcomponents\u002Fbackgrounds\u002Fstriped-pattern","3.components\u002Fbackgrounds\u002Fstriped-pattern",{"title":259,"path":260,"stem":261},"Vortex","\u002Fcomponents\u002Fbackgrounds\u002Fvortex","3.components\u002Fbackgrounds\u002Fvortex",{"title":263,"path":264,"stem":265},"Warp Background","\u002Fcomponents\u002Fbackgrounds\u002Fwarp-background","3.components\u002Fbackgrounds\u002Fwarp-background",{"title":267,"icon":268,"path":269,"stem":270,"children":271,"page":61},"Buttons","i-lucide-mouse-pointer-click","\u002Fcomponents\u002Fbuttons","3.components\u002Fbuttons",[272,276,280,284,288,292,296,300,304,308,312,316,320],{"title":273,"path":274,"stem":275},"Button Copy","\u002Fcomponents\u002Fbuttons\u002Fbutton-copy","3.components\u002Fbuttons\u002Fbutton-copy",{"title":277,"path":278,"stem":279},"Clip Corners Button","\u002Fcomponents\u002Fbuttons\u002Fclip-corners-button","3.components\u002Fbuttons\u002Fclip-corners-button",{"title":281,"path":282,"stem":283},"Dot Morph Button","\u002Fcomponents\u002Fbuttons\u002Fdot-morph-button","3.components\u002Fbuttons\u002Fdot-morph-button",{"title":285,"path":286,"stem":287},"Interactive Hover Button","\u002Fcomponents\u002Fbuttons\u002Finteractive-hover-button","3.components\u002Fbuttons\u002Finteractive-hover-button",{"title":289,"path":290,"stem":291},"Magnetic Button","\u002Fcomponents\u002Fbuttons\u002Fmagnetic-button","3.components\u002Fbuttons\u002Fmagnetic-button",{"title":293,"path":294,"stem":295},"Music Toggle","\u002Fcomponents\u002Fbuttons\u002Fmusic-toggle","3.components\u002Fbuttons\u002Fmusic-toggle",{"title":297,"path":298,"stem":299},"Pulsating Button","\u002Fcomponents\u002Fbuttons\u002Fpulsating-button","3.components\u002Fbuttons\u002Fpulsating-button",{"title":301,"path":302,"stem":303},"Rainbow Button","\u002Fcomponents\u002Fbuttons\u002Frainbow-button","3.components\u002Fbuttons\u002Frainbow-button",{"title":305,"path":306,"stem":307},"Ripple Button","\u002Fcomponents\u002Fbuttons\u002Fripple-button","3.components\u002Fbuttons\u002Fripple-button",{"title":309,"path":310,"stem":311},"Shimmer Button","\u002Fcomponents\u002Fbuttons\u002Fshimmer-button","3.components\u002Fbuttons\u002Fshimmer-button",{"title":313,"path":314,"stem":315},"Shiny Button","\u002Fcomponents\u002Fbuttons\u002Fshiny-button","3.components\u002Fbuttons\u002Fshiny-button",{"title":317,"path":318,"stem":319},"Smooth Button","\u002Fcomponents\u002Fbuttons\u002Fsmooth-button","3.components\u002Fbuttons\u002Fsmooth-button",{"title":321,"path":322,"stem":323},"Theme Toggle","\u002Fcomponents\u002Fbuttons\u002Ftheme-toggle","3.components\u002Fbuttons\u002Ftheme-toggle",{"title":325,"icon":326,"path":327,"stem":328,"children":329,"page":61},"Cards","i-lucide-layout-panel-top","\u002Fcomponents\u002Fcards","3.components\u002Fcards",[330,334,338,342,346,350,354,358,362,366,370,374,378,382,386,390,394,398,402,406,410,414,418,422,426,430,434,438,442],{"title":331,"path":332,"stem":333},"App Download Stack","\u002Fcomponents\u002Fcards\u002Fapp-download-stack","3.components\u002Fcards\u002Fapp-download-stack",{"title":335,"path":336,"stem":337},"Apple Invites","\u002Fcomponents\u002Fcards\u002Fapple-invites","3.components\u002Fcards\u002Fapple-invites",{"title":339,"path":340,"stem":341},"Bento Grid","\u002Fcomponents\u002Fcards\u002Fbento-grid","3.components\u002Fcards\u002Fbento-grid",{"title":343,"path":344,"stem":345},"Stacked Cards","\u002Fcomponents\u002Fcards\u002Fcard-stack","3.components\u002Fcards\u002Fcard-stack",{"title":347,"path":348,"stem":349},"Card Swipe Deck","\u002Fcomponents\u002Fcards\u002Fcard-swipe-deck","3.components\u002Fcards\u002Fcard-swipe-deck",{"title":351,"path":352,"stem":353},"Draggable Card","\u002Fcomponents\u002Fcards\u002Fdraggable-card","3.components\u002Fcards\u002Fdraggable-card",{"title":355,"path":356,"stem":357},"Evervault Card","\u002Fcomponents\u002Fcards\u002Fever-vault-card","3.components\u002Fcards\u002Fever-vault-card",{"title":359,"path":360,"stem":361},"Expandable Cards","\u002Fcomponents\u002Fcards\u002Fexpandable-cards","3.components\u002Fcards\u002Fexpandable-cards",{"title":363,"path":364,"stem":365},"Figma Comment","\u002Fcomponents\u002Fcards\u002Ffigma-comment","3.components\u002Fcards\u002Ffigma-comment",{"title":367,"path":368,"stem":369},"Focus Cards","\u002Fcomponents\u002Fcards\u002Ffocus-cards","3.components\u002Fcards\u002Ffocus-cards",{"title":371,"path":372,"stem":373},"Glare Card","\u002Fcomponents\u002Fcards\u002Fglare-card","3.components\u002Fcards\u002Fglare-card",{"title":375,"path":376,"stem":377},"Glass Card","\u002Fcomponents\u002Fcards\u002Fglass-card","3.components\u002Fcards\u002Fglass-card",{"title":379,"path":380,"stem":381},"Glass Panel","\u002Fcomponents\u002Fcards\u002Fglass-panel","3.components\u002Fcards\u002Fglass-panel",{"title":383,"path":384,"stem":385},"Glow Hover Cards","\u002Fcomponents\u002Fcards\u002Fglow-hover-cards","3.components\u002Fcards\u002Fglow-hover-cards",{"title":387,"path":388,"stem":389},"Glowing Stars Card","\u002Fcomponents\u002Fcards\u002Fglowing-stars-card","3.components\u002Fcards\u002Fglowing-stars-card",{"title":391,"path":392,"stem":393},"Mac Terminal","\u002Fcomponents\u002Fcards\u002Fmac-terminal","3.components\u002Fcards\u002Fmac-terminal",{"title":395,"path":396,"stem":397},"Magic Card","\u002Fcomponents\u002Fcards\u002Fmagic-card","3.components\u002Fcards\u002Fmagic-card",{"title":399,"path":400,"stem":401},"Mail Card","\u002Fcomponents\u002Fcards\u002Fmail-card","3.components\u002Fcards\u002Fmail-card",{"title":403,"path":404,"stem":405},"Photo Stack","\u002Fcomponents\u002Fcards\u002Fphoto-stack","3.components\u002Fcards\u002Fphoto-stack",{"title":407,"path":408,"stem":409},"Price Flow","\u002Fcomponents\u002Fcards\u002Fprice-flow","3.components\u002Fcards\u002Fprice-flow",{"title":411,"path":412,"stem":413},"Product Card","\u002Fcomponents\u002Fcards\u002Fproduct-card","3.components\u002Fcards\u002Fproduct-card",{"title":415,"path":416,"stem":417},"Scrollable Card Stack","\u002Fcomponents\u002Fcards\u002Fscrollable-card-stack","3.components\u002Fcards\u002Fscrollable-card-stack",{"title":419,"path":420,"stem":421},"Shine Border","\u002Fcomponents\u002Fcards\u002Fshine-border","3.components\u002Fcards\u002Fshine-border",{"title":423,"path":424,"stem":425},"Social Hover Card","\u002Fcomponents\u002Fcards\u002Fsocial-hover-card","3.components\u002Fcards\u002Fsocial-hover-card",{"title":427,"path":428,"stem":429},"Switchboard Card","\u002Fcomponents\u002Fcards\u002Fswitchboard-card","3.components\u002Fcards\u002Fswitchboard-card",{"title":431,"path":432,"stem":433},"Tilt Card","\u002Fcomponents\u002Fcards\u002Ftilt-card","3.components\u002Fcards\u002Ftilt-card",{"title":435,"path":436,"stem":437},"Tweet Card","\u002Fcomponents\u002Fcards\u002Ftweet-card","3.components\u002Fcards\u002Ftweet-card",{"title":439,"path":440,"stem":441},"Wallet Card","\u002Fcomponents\u002Fcards\u002Fwallet-card","3.components\u002Fcards\u002Fwallet-card",{"title":443,"path":444,"stem":445},"Wobble Card","\u002Fcomponents\u002Fcards\u002Fwobble-card","3.components\u002Fcards\u002Fwobble-card",{"title":447,"icon":448,"path":449,"stem":450,"children":451,"page":61},"Carousels","i-lucide-gallery-horizontal-end","\u002Fcomponents\u002Fcarousels","3.components\u002Fcarousels",[452,456,460],{"title":453,"path":454,"stem":455},"Carousel","\u002Fcomponents\u002Fcarousels\u002Fcarousel","3.components\u002Fcarousels\u002Fcarousel",{"title":457,"path":458,"stem":459},"Coverflow Carousel","\u002Fcomponents\u002Fcarousels\u002Fcoverflow-carousel","3.components\u002Fcarousels\u002Fcoverflow-carousel",{"title":461,"path":462,"stem":463},"Reviews Carousel","\u002Fcomponents\u002Fcarousels\u002Freviews-carousel","3.components\u002Fcarousels\u002Freviews-carousel",{"title":465,"icon":466,"path":467,"stem":468,"children":469,"page":61},"Directional","i-lucide-move-3d","\u002Fcomponents\u002Fdirectional","3.components\u002Fdirectional",[470,474],{"title":471,"path":472,"stem":473},"Direction Aware Hover","\u002Fcomponents\u002Fdirectional\u002Fdirection-aware-hover","3.components\u002Fdirectional\u002Fdirection-aware-hover",{"title":475,"path":476,"stem":477},"Direction Aware Hover New","\u002Fcomponents\u002Fdirectional\u002Fdirection-aware-hover-new","3.components\u002Fdirectional\u002Fdirection-aware-hover-new",{"title":479,"icon":480,"path":481,"stem":482,"children":483,"page":61},"Visual Effects","i-lucide-wand-sparkles","\u002Fcomponents\u002Feffects","3.components\u002Feffects",[484,488,492,496,500,504,508,512,516,520,524,528,532,536,540,544,548,552,556,560,564,568,572,576,580,584,588,592,596,600,604,608],{"title":485,"path":486,"stem":487},"Animated Beam","\u002Fcomponents\u002Feffects\u002Fanimated-beam","3.components\u002Feffects\u002Fanimated-beam",{"title":489,"path":490,"stem":491},"Arcade Pixel","\u002Fcomponents\u002Feffects\u002Farcade-pixel","3.components\u002Feffects\u002Farcade-pixel",{"title":493,"path":494,"stem":495},"ASCII Render","\u002Fcomponents\u002Feffects\u002Fascii-render","3.components\u002Feffects\u002Fascii-render",{"title":497,"path":498,"stem":499},"Border Beam","\u002Fcomponents\u002Feffects\u002Fborder-beam","3.components\u002Feffects\u002Fborder-beam",{"title":501,"path":502,"stem":503},"Border Trail","\u002Fcomponents\u002Feffects\u002Fborder-trail","3.components\u002Feffects\u002Fborder-trail",{"title":505,"path":506,"stem":507},"Confetti","\u002Fcomponents\u002Feffects\u002Fconfetti","3.components\u002Feffects\u002Fconfetti",{"title":509,"path":510,"stem":511},"Dither Chart","\u002Fcomponents\u002Feffects\u002Fdither-chart","3.components\u002Feffects\u002Fdither-chart",{"title":513,"path":514,"stem":515},"Dither Image","\u002Fcomponents\u002Feffects\u002Fdither-image","3.components\u002Feffects\u002Fdither-image",{"title":517,"path":518,"stem":519},"Div Grid","\u002Fcomponents\u002Feffects\u002Fdiv-grid","3.components\u002Feffects\u002Fdiv-grid",{"title":521,"path":522,"stem":523},"Drawing Cursor","\u002Fcomponents\u002Feffects\u002Fdrawing-cursor","3.components\u002Feffects\u002Fdrawing-cursor",{"title":525,"path":526,"stem":527},"Emboss Surface","\u002Fcomponents\u002Feffects\u002Femboss-surface","3.components\u002Feffects\u002Femboss-surface",{"title":529,"path":530,"stem":531},"Brightness slider","\u002Fcomponents\u002Feffects\u002Fexposure-slider","3.components\u002Feffects\u002Fexposure-slider",{"title":533,"path":534,"stem":535},"Flowing Stroke","\u002Fcomponents\u002Feffects\u002Fflowing-stroke","3.components\u002Feffects\u002Fflowing-stroke",{"title":537,"path":538,"stem":539},"Glow Effect","\u002Fcomponents\u002Feffects\u002Fglow-effect","3.components\u002Feffects\u002Fglow-effect",{"title":541,"path":542,"stem":543},"Glowing Effect","\u002Fcomponents\u002Feffects\u002Fglowing-effect","3.components\u002Feffects\u002Fglowing-effect",{"title":545,"path":546,"stem":547},"Gooey Filter","\u002Fcomponents\u002Feffects\u002Fgooey-filter","3.components\u002Feffects\u002Fgooey-filter",{"title":549,"path":550,"stem":551},"Gravity Stars","\u002Fcomponents\u002Feffects\u002Fgravity-stars","3.components\u002Feffects\u002Fgravity-stars",{"title":553,"path":554,"stem":555},"Iridescent foil","\u002Fcomponents\u002Feffects\u002Fholographic-foil","3.components\u002Feffects\u002Fholographic-foil",{"title":557,"path":558,"stem":559},"Icon Cloud","\u002Fcomponents\u002Feffects\u002Ficon-cloud","3.components\u002Feffects\u002Ficon-cloud",{"title":561,"path":562,"stem":563},"Liquid Metal","\u002Fcomponents\u002Feffects\u002Fliquid-metal","3.components\u002Feffects\u002Fliquid-metal",{"title":565,"path":566,"stem":567},"Mask Container","\u002Fcomponents\u002Feffects\u002Fmask-container","3.components\u002Feffects\u002Fmask-container",{"title":569,"path":570,"stem":571},"Orbiting Circles","\u002Fcomponents\u002Feffects\u002Forbiting-circles","3.components\u002Feffects\u002Forbiting-circles",{"title":573,"path":574,"stem":575},"Depth layers","\u002Fcomponents\u002Feffects\u002Fparallax-layers","3.components\u002Feffects\u002Fparallax-layers",{"title":577,"path":578,"stem":579},"Pixel Flow Field","\u002Fcomponents\u002Feffects\u002Fpixel-flow-field","3.components\u002Feffects\u002Fpixel-flow-field",{"title":581,"path":582,"stem":583},"Pixelated Canvas","\u002Fcomponents\u002Feffects\u002Fpixelated-canvas","3.components\u002Feffects\u002Fpixelated-canvas",{"title":585,"path":586,"stem":587},"Progressive Blur","\u002Fcomponents\u002Feffects\u002Fprogressive-blur","3.components\u002Feffects\u002Fprogressive-blur",{"title":589,"path":590,"stem":591},"Siri Orb","\u002Fcomponents\u002Feffects\u002Fsiri-orb","3.components\u002Feffects\u002Fsiri-orb",{"title":593,"path":594,"stem":595},"Spotlight","\u002Fcomponents\u002Feffects\u002Fspotlight","3.components\u002Feffects\u002Fspotlight",{"title":597,"path":598,"stem":599},"Squircle","\u002Fcomponents\u002Feffects\u002Fsquircle","3.components\u002Feffects\u002Fsquircle",{"title":601,"path":602,"stem":603},"SVG Clip Mask","\u002Fcomponents\u002Feffects\u002Fsvg-clip-mask","3.components\u002Feffects\u002Fsvg-clip-mask",{"title":605,"path":606,"stem":607},"Tracing Beam","\u002Fcomponents\u002Feffects\u002Ftracing-beam","3.components\u002Feffects\u002Ftracing-beam",{"title":609,"path":610,"stem":611},"Video Ambient","\u002Fcomponents\u002Feffects\u002Fvideo-ambient","3.components\u002Feffects\u002Fvideo-ambient",{"title":613,"icon":614,"path":615,"stem":616,"children":617,"page":61},"Forms","i-lucide-text-cursor-input","\u002Fcomponents\u002Fforms","3.components\u002Fforms",[618,622,626,630,634,638,642,646,650,654,658,662,666,670,674,678,682,686,690,694,698],{"title":619,"path":620,"stem":621},"Animated File Upload","\u002Fcomponents\u002Fforms\u002Fanimated-file-upload","3.components\u002Fforms\u002Fanimated-file-upload",{"title":623,"path":624,"stem":625},"Animated Input","\u002Fcomponents\u002Fforms\u002Fanimated-input","3.components\u002Fforms\u002Fanimated-input",{"title":627,"path":628,"stem":629},"Animated Number Input","\u002Fcomponents\u002Fforms\u002Fanimated-number-input","3.components\u002Fforms\u002Fanimated-number-input",{"title":631,"path":632,"stem":633},"Animated OTP Input","\u002Fcomponents\u002Fforms\u002Fanimated-otp-input","3.components\u002Fforms\u002Fanimated-otp-input",{"title":635,"path":636,"stem":637},"Animated Progress Bar","\u002Fcomponents\u002Fforms\u002Fanimated-progress-bar","3.components\u002Fforms\u002Fanimated-progress-bar",{"title":639,"path":640,"stem":641},"Animated Stepper","\u002Fcomponents\u002Fforms\u002Fanimated-stepper","3.components\u002Fforms\u002Fanimated-stepper",{"title":643,"path":644,"stem":645},"Animated Tags","\u002Fcomponents\u002Fforms\u002Fanimated-tags","3.components\u002Fforms\u002Fanimated-tags",{"title":647,"path":648,"stem":649},"Animated Toggle","\u002Fcomponents\u002Fforms\u002Fanimated-toggle","3.components\u002Fforms\u002Fanimated-toggle",{"title":651,"path":652,"stem":653},"Auth Form","\u002Fcomponents\u002Fforms\u002Fauth-form","3.components\u002Fforms\u002Fauth-form",{"title":655,"path":656,"stem":657},"Checkbox","\u002Fcomponents\u002Fforms\u002Fcheckbox","3.components\u002Fforms\u002Fcheckbox",{"title":659,"path":660,"stem":661},"Country Picker","\u002Fcomponents\u002Fforms\u002Fcountry-picker","3.components\u002Fforms\u002Fcountry-picker",{"title":663,"path":664,"stem":665},"Digit Roll","\u002Fcomponents\u002Fforms\u002Fdigit-roll","3.components\u002Fforms\u002Fdigit-roll",{"title":667,"path":668,"stem":669},"Duration Picker","\u002Fcomponents\u002Fforms\u002Fduration-picker","3.components\u002Fforms\u002Fduration-picker",{"title":671,"path":672,"stem":673},"Favicon Search","\u002Fcomponents\u002Fforms\u002Ffavicon-search","3.components\u002Fforms\u002Ffavicon-search",{"title":675,"path":676,"stem":677},"Float Input","\u002Fcomponents\u002Fforms\u002Ffloat-input","3.components\u002Fforms\u002Ffloat-input",{"title":679,"path":680,"stem":681},"Form","\u002Fcomponents\u002Fforms\u002Fform","3.components\u002Fforms\u002Fform",{"title":683,"path":684,"stem":685},"Morph Toggle","\u002Fcomponents\u002Fforms\u002Fmorph-toggle","3.components\u002Fforms\u002Fmorph-toggle",{"title":687,"path":688,"stem":689},"Radio Group","\u002Fcomponents\u002Fforms\u002Fradio-group","3.components\u002Fforms\u002Fradio-group",{"title":691,"path":692,"stem":693},"Scrubber","\u002Fcomponents\u002Fforms\u002Fscrubber","3.components\u002Fforms\u002Fscrubber",{"title":695,"path":696,"stem":697},"Social Selector","\u002Fcomponents\u002Fforms\u002Fsocial-selector","3.components\u002Fforms\u002Fsocial-selector",{"title":699,"path":700,"stem":701},"Swap Panel","\u002Fcomponents\u002Fforms\u002Fswap-panel","3.components\u002Fforms\u002Fswap-panel",{"title":703,"icon":704,"path":705,"stem":706,"children":707,"page":61},"Interactive","i-lucide-hand","\u002Fcomponents\u002Finteractive","3.components\u002Finteractive",[708,712,716,720,724,728,732,736,740,744,748,752,756,760,764,768,772,776,780,784,788,792,796,800,804,808,812,816,820,824,828,832,836,840,844,848,852,856,860,864,868,872,876,880,884],{"title":709,"path":710,"stem":711},"Accordion","\u002Fcomponents\u002Finteractive\u002Faccordion","3.components\u002Finteractive\u002Faccordion",{"title":713,"path":714,"stem":715},"Motion dialog","\u002Fcomponents\u002Finteractive\u002Fanimated-dialog","3.components\u002Finteractive\u002Fanimated-dialog",{"title":717,"path":718,"stem":719},"Animated Tooltip","\u002Fcomponents\u002Finteractive\u002Fanimated-tooltip","3.components\u002Finteractive\u002Fanimated-tooltip",{"title":721,"path":722,"stem":723},"Basic Dropdown","\u002Fcomponents\u002Finteractive\u002Fbasic-dropdown","3.components\u002Finteractive\u002Fbasic-dropdown",{"title":725,"path":726,"stem":727},"Basic Toast","\u002Fcomponents\u002Finteractive\u002Fbasic-toast","3.components\u002Finteractive\u002Fbasic-toast",{"title":729,"path":730,"stem":731},"Code Block","\u002Fcomponents\u002Finteractive\u002Fcode-block","3.components\u002Finteractive\u002Fcode-block",{"title":733,"path":734,"stem":735},"Code Comparison","\u002Fcomponents\u002Finteractive\u002Fcode-comparison","3.components\u002Finteractive\u002Fcode-comparison",{"title":737,"path":738,"stem":739},"Contribution Graph","\u002Fcomponents\u002Finteractive\u002Fcontribution-graph","3.components\u002Finteractive\u002Fcontribution-graph",{"title":741,"path":742,"stem":743},"Cool Mode","\u002Fcomponents\u002Finteractive\u002Fcool-mode","3.components\u002Finteractive\u002Fcool-mode",{"title":745,"path":746,"stem":747},"Count Badge","\u002Fcomponents\u002Finteractive\u002Fcount-badge","3.components\u002Finteractive\u002Fcount-badge",{"title":749,"path":750,"stem":751},"Dock","\u002Fcomponents\u002Finteractive\u002Fdock","3.components\u002Finteractive\u002Fdock",{"title":753,"path":754,"stem":755},"Drag and Drop","\u002Fcomponents\u002Finteractive\u002Fdrag-and-drop","3.components\u002Finteractive\u002Fdrag-and-drop",{"title":757,"path":758,"stem":759},"Drawer","\u002Fcomponents\u002Finteractive\u002Fdrawer","3.components\u002Finteractive\u002Fdrawer",{"title":761,"path":762,"stem":763},"Dynamic Group","\u002Fcomponents\u002Finteractive\u002Fdynamic-group","3.components\u002Finteractive\u002Fdynamic-group",{"title":765,"path":766,"stem":767},"Dynamic Island","\u002Fcomponents\u002Finteractive\u002Fdynamic-island","3.components\u002Finteractive\u002Fdynamic-island",{"title":769,"path":770,"stem":771},"Emoji Reaction","\u002Fcomponents\u002Finteractive\u002Femoji-reaction","3.components\u002Finteractive\u002Femoji-reaction",{"title":773,"path":774,"stem":775},"Fluid Hover Highlight","\u002Fcomponents\u002Finteractive\u002Ffluid-hover-highlight","3.components\u002Finteractive\u002Ffluid-hover-highlight",{"title":777,"path":778,"stem":779},"Folder Reveal","\u002Fcomponents\u002Finteractive\u002Ffolder-reveal","3.components\u002Finteractive\u002Ffolder-reveal",{"title":781,"path":782,"stem":783},"GitHub Stars Animation","\u002Fcomponents\u002Finteractive\u002Fgithub-stars-animation","3.components\u002Finteractive\u002Fgithub-stars-animation",{"title":785,"path":786,"stem":787},"Hover Expand","\u002Fcomponents\u002Finteractive\u002Fhover-expand","3.components\u002Finteractive\u002Fhover-expand",{"title":789,"path":790,"stem":791},"Hover Image List","\u002Fcomponents\u002Finteractive\u002Fhover-image-list","3.components\u002Finteractive\u002Fhover-image-list",{"title":793,"path":794,"stem":795},"Image compare","\u002Fcomponents\u002Finteractive\u002Fimage-comparison","3.components\u002Finteractive\u002Fimage-comparison",{"title":797,"path":798,"stem":799},"Image Metadata Preview","\u002Fcomponents\u002Finteractive\u002Fimage-metadata-preview","3.components\u002Finteractive\u002Fimage-metadata-preview",{"title":801,"path":802,"stem":803},"Inline Testimonials","\u002Fcomponents\u002Finteractive\u002Finline-testimonials","3.components\u002Finteractive\u002Finline-testimonials",{"title":805,"path":806,"stem":807},"Interactive Image Selector","\u002Fcomponents\u002Finteractive\u002Finteractive-image-selector","3.components\u002Finteractive\u002Finteractive-image-selector",{"title":809,"path":810,"stem":811},"Job Listing","\u002Fcomponents\u002Finteractive\u002Fjob-listing","3.components\u002Finteractive\u002Fjob-listing",{"title":813,"path":814,"stem":815},"Lens","\u002Fcomponents\u002Finteractive\u002Flens","3.components\u002Finteractive\u002Flens",{"title":817,"path":818,"stem":819},"Morph Icon","\u002Fcomponents\u002Finteractive\u002Fmorph-icon","3.components\u002Finteractive\u002Fmorph-icon",{"title":821,"path":822,"stem":823},"Morph Surface","\u002Fcomponents\u002Finteractive\u002Fmorph-surface","3.components\u002Finteractive\u002Fmorph-surface",{"title":825,"path":826,"stem":827},"Shape-shift dialog","\u002Fcomponents\u002Finteractive\u002Fmorphing-dialog","3.components\u002Finteractive\u002Fmorphing-dialog",{"title":829,"path":830,"stem":831},"Shape-shift popover","\u002Fcomponents\u002Finteractive\u002Fmorphing-popover","3.components\u002Finteractive\u002Fmorphing-popover",{"title":833,"path":834,"stem":835},"Notification Badge","\u002Fcomponents\u002Finteractive\u002Fnotification-badge","3.components\u002Finteractive\u002Fnotification-badge",{"title":837,"path":838,"stem":839},"Orbital Image Wheel","\u002Fcomponents\u002Finteractive\u002Forbital-image-wheel","3.components\u002Finteractive\u002Forbital-image-wheel",{"title":841,"path":842,"stem":843},"Phototab","\u002Fcomponents\u002Finteractive\u002Fphototab","3.components\u002Finteractive\u002Fphototab",{"title":845,"path":846,"stem":847},"Pinned List","\u002Fcomponents\u002Finteractive\u002Fpinned-list","3.components\u002Finteractive\u002Fpinned-list",{"title":849,"path":850,"stem":851},"Pixel Brush Canvas","\u002Fcomponents\u002Finteractive\u002Fpixel-brush-canvas","3.components\u002Finteractive\u002Fpixel-brush-canvas",{"title":853,"path":854,"stem":855},"Power Off Slide","\u002Fcomponents\u002Finteractive\u002Fpower-off-slide","3.components\u002Finteractive\u002Fpower-off-slide",{"title":857,"path":858,"stem":859},"Rich Popover","\u002Fcomponents\u002Finteractive\u002Frich-popover","3.components\u002Finteractive\u002Frich-popover",{"title":861,"path":862,"stem":863},"Scratch to Reveal","\u002Fcomponents\u002Finteractive\u002Fscratch-to-reveal","3.components\u002Finteractive\u002Fscratch-to-reveal",{"title":865,"path":866,"stem":867},"Time Machine Stack","\u002Fcomponents\u002Finteractive\u002Ftime-machine-stack","3.components\u002Finteractive\u002Ftime-machine-stack",{"title":869,"path":870,"stem":871},"Unlock Face ID","\u002Fcomponents\u002Finteractive\u002Funlock-face-id","3.components\u002Finteractive\u002Funlock-face-id",{"title":873,"path":874,"stem":875},"User Account Avatar","\u002Fcomponents\u002Finteractive\u002Fuser-account-avatar","3.components\u002Finteractive\u002Fuser-account-avatar",{"title":877,"path":878,"stem":879},"Vector Editor Toolbar","\u002Fcomponents\u002Finteractive\u002Fvector-editor-toolbar","3.components\u002Finteractive\u002Fvector-editor-toolbar",{"title":881,"path":882,"stem":883},"Video Modal","\u002Fcomponents\u002Finteractive\u002Fvideo-modal","3.components\u002Finteractive\u002Fvideo-modal",{"title":885,"path":886,"stem":887},"Zoomable Image","\u002Fcomponents\u002Finteractive\u002Fzoomable-image","3.components\u002Finteractive\u002Fzoomable-image",{"title":889,"icon":890,"path":891,"stem":892,"children":893,"page":61},"Layout","i-lucide-layout-grid","\u002Fcomponents\u002Flayout","3.components\u002Flayout",[894,898,902,906,910,914],{"title":895,"path":896,"stem":897},"Android","\u002Fcomponents\u002Flayout\u002Fandroid","3.components\u002Flayout\u002Fandroid",{"title":899,"path":900,"stem":901},"Animated Group","\u002Fcomponents\u002Flayout\u002Fanimated-group","3.components\u002Flayout\u002Fanimated-group",{"title":903,"path":904,"stem":905},"Breakpoint Indicator","\u002Fcomponents\u002Flayout\u002Fbreakpoint-indicator","3.components\u002Flayout\u002Fbreakpoint-indicator",{"title":907,"path":908,"stem":909},"Collision","\u002Fcomponents\u002Flayout\u002Fcollision","3.components\u002Flayout\u002Fcollision",{"title":911,"path":912,"stem":913},"iPhone 15 Pro","\u002Fcomponents\u002Flayout\u002Fiphone-15-pro","3.components\u002Flayout\u002Fiphone-15-pro",{"title":915,"path":916,"stem":917},"Safari","\u002Fcomponents\u002Flayout\u002Fsafari","3.components\u002Flayout\u002Fsafari",{"title":919,"icon":920,"path":921,"stem":922,"children":923,"page":61},"Loaders & Progress","i-lucide-loader-circle","\u002Fcomponents\u002Floaders","3.components\u002Floaders",[924,928,932,936,940,944],{"title":925,"path":926,"stem":927},"AI Loader","\u002Fcomponents\u002Floaders\u002Fai-loader","3.components\u002Floaders\u002Fai-loader",{"title":929,"path":930,"stem":931},"Circular Progress","\u002Fcomponents\u002Floaders\u002Fcircular-progress","3.components\u002Floaders\u002Fcircular-progress",{"title":933,"path":934,"stem":935},"Content Skeleton","\u002Fcomponents\u002Floaders\u002Fcontent-skeleton","3.components\u002Floaders\u002Fcontent-skeleton",{"title":937,"path":938,"stem":939},"Grid Loader","\u002Fcomponents\u002Floaders\u002Fgrid-loader","3.components\u002Floaders\u002Fgrid-loader",{"title":941,"path":942,"stem":943},"Motion Loader","\u002Fcomponents\u002Floaders\u002Fmotion-loader","3.components\u002Floaders\u002Fmotion-loader",{"title":945,"path":946,"stem":947},"Page Preloader","\u002Fcomponents\u002Floaders\u002Fpage-preloader","3.components\u002Floaders\u002Fpage-preloader",{"title":949,"icon":950,"path":951,"stem":952,"children":953,"page":61},"Interaction & Movement","i-lucide-move","\u002Fcomponents\u002Fmovement","3.components\u002Fmovement",[954,958,962,966,970,974,978],{"title":955,"path":956,"stem":957},"Cursor","\u002Fcomponents\u002Fmovement\u002Fcursor","3.components\u002Fmovement\u002Fcursor",{"title":959,"path":960,"stem":961},"Cursor Follow","\u002Fcomponents\u002Fmovement\u002Fcursor-follow","3.components\u002Fmovement\u002Fcursor-follow",{"title":963,"path":964,"stem":965},"Cursor Image Trail","\u002Fcomponents\u002Fmovement\u002Fcursor-image-trail","3.components\u002Fmovement\u002Fcursor-image-trail",{"title":967,"path":968,"stem":969},"Force Dot","\u002Fcomponents\u002Fmovement\u002Fforce-dot","3.components\u002Fmovement\u002Fforce-dot",{"title":971,"path":972,"stem":973},"Magnetic","\u002Fcomponents\u002Fmovement\u002Fmagnetic","3.components\u002Fmovement\u002Fmagnetic",{"title":975,"path":976,"stem":977},"Magnetic Field","\u002Fcomponents\u002Fmovement\u002Fmagnetic-field","3.components\u002Fmovement\u002Fmagnetic-field",{"title":979,"path":980,"stem":981},"Tilt","\u002Fcomponents\u002Fmovement\u002Ftilt","3.components\u002Fmovement\u002Ftilt",{"title":983,"icon":984,"path":985,"stem":986,"children":987,"page":61},"Navigation & Toolbars","i-lucide-menu","\u002Fcomponents\u002Fnavigation","3.components\u002Fnavigation",[988,992,996,1000,1004,1008,1012],{"title":989,"path":990,"stem":991},"Breadcrumb","\u002Fcomponents\u002Fnavigation\u002Fbreadcrumb","3.components\u002Fnavigation\u002Fbreadcrumb",{"title":993,"path":994,"stem":995},"Expandable Navbar","\u002Fcomponents\u002Fnavigation\u002Fexpandable-navbar","3.components\u002Fnavigation\u002Fexpandable-navbar",{"title":997,"path":998,"stem":999},"File Tree","\u002Fcomponents\u002Fnavigation\u002Ffile-tree","3.components\u002Fnavigation\u002Ffile-tree",{"title":1001,"path":1002,"stem":1003},"Floating Navbar","\u002Fcomponents\u002Fnavigation\u002Ffloating-navbar","3.components\u002Fnavigation\u002Ffloating-navbar",{"title":1005,"path":1006,"stem":1007},"Pagination","\u002Fcomponents\u002Fnavigation\u002Fpagination","3.components\u002Fnavigation\u002Fpagination",{"title":1009,"path":1010,"stem":1011},"Toolbar adaptive","\u002Fcomponents\u002Fnavigation\u002Ftoolbar-dynamic","3.components\u002Fnavigation\u002Ftoolbar-dynamic",{"title":1013,"path":1014,"stem":1015},"Toolbar collapsible","\u002Fcomponents\u002Fnavigation\u002Ftoolbar-expandable","3.components\u002Fnavigation\u002Ftoolbar-expandable",{"title":1017,"icon":1018,"path":1019,"stem":1020,"children":1021,"page":61},"Scroll & Viewport","i-lucide-scroll-text","\u002Fcomponents\u002Fscroll","3.components\u002Fscroll",[1022,1026,1030,1034,1038,1042,1046,1050],{"title":1023,"path":1024,"stem":1025},"In View","\u002Fcomponents\u002Fscroll\u002Fin-view","3.components\u002Fscroll\u002Fin-view",{"title":1027,"path":1028,"stem":1029},"Infinite Slider","\u002Fcomponents\u002Fscroll\u002Finfinite-slider","3.components\u002Fscroll\u002Finfinite-slider",{"title":1031,"path":1032,"stem":1033},"Kinetic Type Scroll","\u002Fcomponents\u002Fscroll\u002Fkinetic-type-scroll","3.components\u002Fscroll\u002Fkinetic-type-scroll",{"title":1035,"path":1036,"stem":1037},"Marquee","\u002Fcomponents\u002Fscroll\u002Fmarquee","3.components\u002Fscroll\u002Fmarquee",{"title":1039,"path":1040,"stem":1041},"Scroll Image Reveal","\u002Fcomponents\u002Fscroll\u002Fscroll-image-reveal","3.components\u002Fscroll\u002Fscroll-image-reveal",{"title":1043,"path":1044,"stem":1045},"Scroll Progress","\u002Fcomponents\u002Fscroll\u002Fscroll-progress","3.components\u002Fscroll\u002Fscroll-progress",{"title":1047,"path":1048,"stem":1049},"Scroll Velocity","\u002Fcomponents\u002Fscroll\u002Fscroll-velocity","3.components\u002Fscroll\u002Fscroll-velocity",{"title":1051,"path":1052,"stem":1053},"Svg Draw On Scroll","\u002Fcomponents\u002Fscroll\u002Fsvg-draw-on-scroll","3.components\u002Fscroll\u002Fsvg-draw-on-scroll",{"title":1055,"icon":1056,"path":1057,"stem":1058,"children":1059,"page":61},"Text & Numbers","i-lucide-type","\u002Fcomponents\u002Ftext","3.components\u002Ftext",[1060,1064,1068,1072,1076,1080,1084,1088,1092,1096,1100,1104,1108,1112,1116,1120,1124,1128,1132,1136,1140,1144,1148,1152,1156,1160,1164,1168,1172,1176,1180,1184,1188,1192,1196,1200,1204,1208,1212,1216,1220,1224,1228,1232,1236,1240,1244,1248,1252,1256,1260,1264,1268,1272,1276,1280],{"title":1061,"path":1062,"stem":1063},"Animated Avatar Group","\u002Fcomponents\u002Ftext\u002Fanimated-avatar-group","3.components\u002Ftext\u002Fanimated-avatar-group",{"title":1065,"path":1066,"stem":1067},"Animated List","\u002Fcomponents\u002Ftext\u002Fanimated-list","3.components\u002Ftext\u002Fanimated-list",{"title":1069,"path":1070,"stem":1071},"Animated Number","\u002Fcomponents\u002Ftext\u002Fanimated-number","3.components\u002Ftext\u002Fanimated-number",{"title":1073,"path":1074,"stem":1075},"Blur Out Up","\u002Fcomponents\u002Ftext\u002Fblur-out-up","3.components\u002Ftext\u002Fblur-out-up",{"title":1077,"path":1078,"stem":1079},"Bottom Up Letters","\u002Fcomponents\u002Ftext\u002Fbottom-up-letters","3.components\u002Ftext\u002Fbottom-up-letters",{"title":1081,"path":1082,"stem":1083},"Comic Text","\u002Fcomponents\u002Ftext\u002Fcomic-text","3.components\u002Ftext\u002Fcomic-text",{"title":1085,"path":1086,"stem":1087},"Counting Number","\u002Fcomponents\u002Ftext\u002Fcounting-number","3.components\u002Ftext\u002Fcounting-number",{"title":1089,"path":1090,"stem":1091},"Depth Parallax Words","\u002Fcomponents\u002Ftext\u002Fdepth-parallax-words","3.components\u002Ftext\u002Fdepth-parallax-words",{"title":1093,"path":1094,"stem":1095},"Fade Through","\u002Fcomponents\u002Ftext\u002Ffade-through","3.components\u002Ftext\u002Ffade-through",{"title":1097,"path":1098,"stem":1099},"Focus Blur Resolve","\u002Fcomponents\u002Ftext\u002Ffocus-blur-resolve","3.components\u002Ftext\u002Ffocus-blur-resolve",{"title":1101,"path":1102,"stem":1103},"Gravity Letters","\u002Fcomponents\u002Ftext\u002Fgravity-letters","3.components\u002Ftext\u002Fgravity-letters",{"title":1105,"path":1106,"stem":1107},"Kinetic Center Build","\u002Fcomponents\u002Ftext\u002Fkinetic-center-build","3.components\u002Ftext\u002Fkinetic-center-build",{"title":1109,"path":1110,"stem":1111},"Line By Line Slide","\u002Fcomponents\u002Ftext\u002Fline-by-line-slide","3.components\u002Ftext\u002Fline-by-line-slide",{"title":1113,"path":1114,"stem":1115},"Line Shadow Text","\u002Fcomponents\u002Ftext\u002Fline-shadow-text","3.components\u002Ftext\u002Fline-shadow-text",{"title":1117,"path":1118,"stem":1119},"Mask Reveal Up","\u002Fcomponents\u002Ftext\u002Fmask-reveal-up","3.components\u002Ftext\u002Fmask-reveal-up",{"title":1121,"path":1122,"stem":1123},"Micro Scale Fade","\u002Fcomponents\u002Ftext\u002Fmicro-scale-fade","3.components\u002Ftext\u002Fmicro-scale-fade",{"title":1125,"path":1126,"stem":1127},"Number Flow","\u002Fcomponents\u002Ftext\u002Fnumber-flow","3.components\u002Ftext\u002Fnumber-flow",{"title":1129,"path":1130,"stem":1131},"Per Character Rise","\u002Fcomponents\u002Ftext\u002Fper-character-rise","3.components\u002Ftext\u002Fper-character-rise",{"title":1133,"path":1134,"stem":1135},"Per Word Crossfade","\u002Fcomponents\u002Ftext\u002Fper-word-crossfade","3.components\u002Ftext\u002Fper-word-crossfade",{"title":1137,"path":1138,"stem":1139},"Perspective Text 3D","\u002Fcomponents\u002Ftext\u002Fperspective-text-3d","3.components\u002Ftext\u002Fperspective-text-3d",{"title":1141,"path":1142,"stem":1143},"Ransom Note","\u002Fcomponents\u002Ftext\u002Fransom-note","3.components\u002Ftext\u002Fransom-note",{"title":1145,"path":1146,"stem":1147},"Rolling Text","\u002Fcomponents\u002Ftext\u002Frolling-text","3.components\u002Ftext\u002Frolling-text",{"title":1149,"path":1150,"stem":1151},"Scale Down Fade","\u002Fcomponents\u002Ftext\u002Fscale-down-fade","3.components\u002Ftext\u002Fscale-down-fade",{"title":1153,"path":1154,"stem":1155},"Scroll Reveal Paragraph","\u002Fcomponents\u002Ftext\u002Fscroll-reveal-paragraph","3.components\u002Ftext\u002Fscroll-reveal-paragraph",{"title":1157,"path":1158,"stem":1159},"Shared Axis","\u002Fcomponents\u002Ftext\u002Fshared-axis","3.components\u002Ftext\u002Fshared-axis",{"title":1161,"path":1162,"stem":1163},"Shimmer Sweep","\u002Fcomponents\u002Ftext\u002Fshimmer-sweep","3.components\u002Ftext\u002Fshimmer-sweep",{"title":1165,"path":1166,"stem":1167},"Shine Text","\u002Fcomponents\u002Ftext\u002Fshine-text","3.components\u002Ftext\u002Fshine-text",{"title":1169,"path":1170,"stem":1171},"Short Lower in","\u002Fcomponents\u002Ftext\u002Fshort-slide-down","3.components\u002Ftext\u002Fshort-slide-down",{"title":1173,"path":1174,"stem":1175},"Short Slide Right","\u002Fcomponents\u002Ftext\u002Fshort-slide-right","3.components\u002Ftext\u002Fshort-slide-right",{"title":1177,"path":1178,"stem":1179},"Sliding Number","\u002Fcomponents\u002Ftext\u002Fsliding-number","3.components\u002Ftext\u002Fsliding-number",{"title":1181,"path":1182,"stem":1183},"Soft Blur In","\u002Fcomponents\u002Ftext\u002Fsoft-blur-in","3.components\u002Ftext\u002Fsoft-blur-in",{"title":1185,"path":1186,"stem":1187},"Sparkles Text","\u002Fcomponents\u002Ftext\u002Fsparkles-text","3.components\u002Ftext\u002Fsparkles-text",{"title":1189,"path":1190,"stem":1191},"Spinning Text","\u002Fcomponents\u002Ftext\u002Fspinning-text","3.components\u002Ftext\u002Fspinning-text",{"title":1193,"path":1194,"stem":1195},"Spring Scale In","\u002Fcomponents\u002Ftext\u002Fspring-scale-in","3.components\u002Ftext\u002Fspring-scale-in",{"title":1197,"path":1198,"stem":1199},"Stagger From Center","\u002Fcomponents\u002Ftext\u002Fstagger-from-center","3.components\u002Ftext\u002Fstagger-from-center",{"title":1201,"path":1202,"stem":1203},"Stagger From Edges","\u002Fcomponents\u002Ftext\u002Fstagger-from-edges","3.components\u002Ftext\u002Fstagger-from-edges",{"title":1205,"path":1206,"stem":1207},"Text Animate","\u002Fcomponents\u002Ftext\u002Ftext-animate","3.components\u002Ftext\u002Ftext-animate",{"title":1209,"path":1210,"stem":1211},"Text motion","\u002Fcomponents\u002Ftext\u002Ftext-effect","3.components\u002Ftext\u002Ftext-effect",{"title":1213,"path":1214,"stem":1215},"Text Glitch","\u002Fcomponents\u002Ftext\u002Ftext-glitch","3.components\u002Ftext\u002Ftext-glitch",{"title":1217,"path":1218,"stem":1219},"Text Glitch New","\u002Fcomponents\u002Ftext\u002Ftext-glitch-new","3.components\u002Ftext\u002Ftext-glitch-new",{"title":1221,"path":1222,"stem":1223},"Text Gradient","\u002Fcomponents\u002Ftext\u002Ftext-gradient","3.components\u002Ftext\u002Ftext-gradient",{"title":1225,"path":1226,"stem":1227},"Text Highlighter","\u002Fcomponents\u002Ftext\u002Ftext-highlighter","3.components\u002Ftext\u002Ftext-highlighter",{"title":1229,"path":1230,"stem":1231},"Text Loop","\u002Fcomponents\u002Ftext\u002Ftext-loop","3.components\u002Ftext\u002Ftext-loop",{"title":1233,"path":1234,"stem":1235},"Text Morph","\u002Fcomponents\u002Ftext\u002Ftext-morph","3.components\u002Ftext\u002Ftext-morph",{"title":1237,"path":1238,"stem":1239},"Text Reveal","\u002Fcomponents\u002Ftext\u002Ftext-reveal","3.components\u002Ftext\u002Ftext-reveal",{"title":1241,"path":1242,"stem":1243},"Text Roll","\u002Fcomponents\u002Ftext\u002Ftext-roll","3.components\u002Ftext\u002Ftext-roll",{"title":1245,"path":1246,"stem":1247},"Text Scramble","\u002Fcomponents\u002Ftext\u002Ftext-scramble","3.components\u002Ftext\u002Ftext-scramble",{"title":1249,"path":1250,"stem":1251},"Text Shimmer","\u002Fcomponents\u002Ftext\u002Ftext-shimmer","3.components\u002Ftext\u002Ftext-shimmer",{"title":1253,"path":1254,"stem":1255},"Text Shimmer Wave","\u002Fcomponents\u002Ftext\u002Ftext-shimmer-wave","3.components\u002Ftext\u002Ftext-shimmer-wave",{"title":1257,"path":1258,"stem":1259},"Top Down Letters","\u002Fcomponents\u002Ftext\u002Ftop-down-letters","3.components\u002Ftext\u002Ftop-down-letters",{"title":1261,"path":1262,"stem":1263},"True Focus","\u002Fcomponents\u002Ftext\u002Ftrue-focus","3.components\u002Ftext\u002Ftrue-focus",{"title":1265,"path":1266,"stem":1267},"Typing Text","\u002Fcomponents\u002Ftext\u002Ftyping-text","3.components\u002Ftext\u002Ftyping-text",{"title":1269,"path":1270,"stem":1271},"Variable Proximity","\u002Fcomponents\u002Ftext\u002Fvariable-proximity","3.components\u002Ftext\u002Fvariable-proximity",{"title":1273,"path":1274,"stem":1275},"Video Text","\u002Fcomponents\u002Ftext\u002Fvideo-text","3.components\u002Ftext\u002Fvideo-text",{"title":1277,"path":1278,"stem":1279},"Wave Text","\u002Fcomponents\u002Ftext\u002Fwave-text","3.components\u002Ftext\u002Fwave-text",{"title":1281,"path":1282,"stem":1283},"Word Rotate","\u002Fcomponents\u002Ftext\u002Fword-rotate","3.components\u002Ftext\u002Fword-rotate",{"title":1285,"icon":1286,"path":1287,"stem":1288,"children":1289,"page":61},"Transitions","i-lucide-git-compare","\u002Fcomponents\u002Ftransitions","3.components\u002Ftransitions",[1290,1294,1298,1302,1306,1310],{"title":1291,"path":1292,"stem":1293},"Aperture Blur Transition","\u002Fcomponents\u002Ftransitions\u002Faperture-blur-transition","3.components\u002Ftransitions\u002Faperture-blur-transition",{"title":1295,"path":1296,"stem":1297},"Chroma Blur Transition","\u002Fcomponents\u002Ftransitions\u002Fchroma-blur-transition","3.components\u002Ftransitions\u002Fchroma-blur-transition",{"title":1299,"path":1300,"stem":1301},"Prism Sweep Transition","\u002Fcomponents\u002Ftransitions\u002Fprism-sweep-transition","3.components\u002Ftransitions\u002Fprism-sweep-transition",{"title":1303,"path":1304,"stem":1305},"SDF Blob Transition","\u002Fcomponents\u002Ftransitions\u002Fsdf-blob-transition","3.components\u002Ftransitions\u002Fsdf-blob-transition",{"title":1307,"path":1308,"stem":1309},"Shader Reveal Transition","\u002Fcomponents\u002Ftransitions\u002Fshader-reveal-transition","3.components\u002Ftransitions\u002Fshader-reveal-transition",{"title":1311,"path":1312,"stem":1313},"Transition Panel","\u002Fcomponents\u002Ftransitions\u002Ftransition-panel","3.components\u002Ftransitions\u002Ftransition-panel",{"title":1315,"path":1316,"stem":1317,"children":1318,"icon":1336},"Composables","\u002Fcomposables","4.composables\u002Findex",[1319,1320,1324,1328,1332],{"title":1315,"path":1316,"stem":1317},{"title":1321,"path":1322,"stem":1323},"useCanvasCursor","\u002Fcomposables\u002Fuse-canvas-cursor","4.composables\u002Fuse-canvas-cursor",{"title":1325,"path":1326,"stem":1327},"useFluidCursor","\u002Fcomposables\u002Fuse-fluid-cursor","4.composables\u002Fuse-fluid-cursor",{"title":1329,"path":1330,"stem":1331},"useMotionBlockUI","\u002Fcomposables\u002Fuse-motion-block-ui","4.composables\u002Fuse-motion-block-ui",{"title":1333,"path":1334,"stem":1335},"useThemeColor","\u002Fcomposables\u002Fuse-theme-color","4.composables\u002Fuse-theme-color","i-lucide-puzzle",{"title":1338,"path":1339,"stem":1340,"children":1341,"icon":1343},"Guides","\u002Fguides","5.guides\u002Findex",[1342],{"title":1338,"path":1339,"stem":1340},"i-lucide-book-open",{"title":1345,"icon":1346,"path":1347,"stem":1348,"children":1349},"Blocks","i-lucide-blocks","\u002Fblocks","6.blocks",[1350,1352,1365,1374,1387,1400,1416,1429,1438,1447,1460,1469,1482,1491],{"title":1345,"path":1347,"stem":1351},"6.blocks\u002Findex",{"title":1353,"path":1354,"stem":1355,"children":1356,"page":61},"Blog","\u002Fblocks\u002Fblog","6.blocks\u002Fblog",[1357,1361],{"title":1358,"path":1359,"stem":1360},"Article Page","\u002Fblocks\u002Fblog\u002Farticle-page","6.blocks\u002Fblog\u002Farticle-page",{"title":1362,"path":1363,"stem":1364},"Blog Listing","\u002Fblocks\u002Fblog\u002Fblog-listing","6.blocks\u002Fblog\u002Fblog-listing",{"title":1366,"path":1367,"stem":1368,"children":1369,"page":61},"Cta","\u002Fblocks\u002Fcta","6.blocks\u002Fcta",[1370],{"title":1371,"path":1372,"stem":1373},"Centered CTA","\u002Fblocks\u002Fcta\u002Fcentered-cta","6.blocks\u002Fcta\u002Fcentered-cta",{"title":1375,"path":1376,"stem":1377,"children":1378,"page":61},"Dashboard Components","\u002Fblocks\u002Fdashboard-components","6.blocks\u002Fdashboard-components",[1379,1383],{"title":1380,"path":1381,"stem":1382},"Analytics Dashboard","\u002Fblocks\u002Fdashboard-components\u002Fanalytics-dashboard","6.blocks\u002Fdashboard-components\u002Fanalytics-dashboard",{"title":1384,"path":1385,"stem":1386},"User Management Table","\u002Fblocks\u002Fdashboard-components\u002Fuser-management","6.blocks\u002Fdashboard-components\u002Fuser-management",{"title":1388,"path":1389,"stem":1390,"children":1391,"page":61},"E Commerce","\u002Fblocks\u002Fe-commerce","6.blocks\u002Fe-commerce",[1392,1396],{"title":1393,"path":1394,"stem":1395},"Product Grid","\u002Fblocks\u002Fe-commerce\u002Fproduct-grid","6.blocks\u002Fe-commerce\u002Fproduct-grid",{"title":1397,"path":1398,"stem":1399},"Shopping Cart","\u002Fblocks\u002Fe-commerce\u002Fshopping-cart","6.blocks\u002Fe-commerce\u002Fshopping-cart",{"title":1401,"path":1402,"stem":1403,"children":1404,"page":61},"Featured Components","\u002Fblocks\u002Ffeatured-components","6.blocks\u002Ffeatured-components",[1405,1409,1412],{"title":1406,"path":1407,"stem":1408},"Animated Gradient","\u002Fblocks\u002Ffeatured-components\u002Fanimated-gradient","6.blocks\u002Ffeatured-components\u002Fanimated-gradient",{"title":167,"path":1410,"stem":1411},"\u002Fblocks\u002Ffeatured-components\u002Fanimated-spotlight","6.blocks\u002Ffeatured-components\u002Fanimated-spotlight",{"title":1413,"path":1414,"stem":1415},"Ripple Effect","\u002Fblocks\u002Ffeatured-components\u002Fripple-effect","6.blocks\u002Ffeatured-components\u002Fripple-effect",{"title":1417,"path":1418,"stem":1419,"children":1420,"page":61},"Features","\u002Fblocks\u002Ffeatures","6.blocks\u002Ffeatures",[1421,1425],{"title":1422,"path":1423,"stem":1424},"Feature Grid","\u002Fblocks\u002Ffeatures\u002Ffeature-grid","6.blocks\u002Ffeatures\u002Ffeature-grid",{"title":1426,"path":1427,"stem":1428},"Glare Card Features","\u002Fblocks\u002Ffeatures\u002Fglare-card-features","6.blocks\u002Ffeatures\u002Fglare-card-features",{"title":1430,"path":1431,"stem":1432,"children":1433,"page":61},"Footers","\u002Fblocks\u002Ffooters","6.blocks\u002Ffooters",[1434],{"title":1435,"path":1436,"stem":1437},"Multi-column Footer","\u002Fblocks\u002Ffooters\u002Fmulti-column-footer","6.blocks\u002Ffooters\u002Fmulti-column-footer",{"title":1439,"path":1440,"stem":1441,"children":1442,"page":61},"Hero Sections","\u002Fblocks\u002Fhero-sections","6.blocks\u002Fhero-sections",[1443],{"title":1444,"path":1445,"stem":1446},"Gradient Hero","\u002Fblocks\u002Fhero-sections\u002Fgradient-hero","6.blocks\u002Fhero-sections\u002Fgradient-hero",{"title":1448,"path":1449,"stem":1450,"children":1451,"page":61},"Landing Page","\u002Fblocks\u002Flanding-page","6.blocks\u002Flanding-page",[1452,1456],{"title":1453,"path":1454,"stem":1455},"Feature Showcase","\u002Fblocks\u002Flanding-page\u002Ffeature-showcase","6.blocks\u002Flanding-page\u002Ffeature-showcase",{"title":1457,"path":1458,"stem":1459},"Testimonial Carousel","\u002Fblocks\u002Flanding-page\u002Ftestimonial-carousel","6.blocks\u002Flanding-page\u002Ftestimonial-carousel",{"title":1461,"path":1462,"stem":1463,"children":1464,"page":61},"Navigation","\u002Fblocks\u002Fnavigation","6.blocks\u002Fnavigation",[1465],{"title":1466,"path":1467,"stem":1468},"Modern Navbar","\u002Fblocks\u002Fnavigation\u002Fmodern-navbar","6.blocks\u002Fnavigation\u002Fmodern-navbar",{"title":1470,"path":1471,"stem":1472,"children":1473,"page":61},"Portfolio","\u002Fblocks\u002Fportfolio","6.blocks\u002Fportfolio",[1474,1478],{"title":1475,"path":1476,"stem":1477},"Case Study","\u002Fblocks\u002Fportfolio\u002Fcase-study","6.blocks\u002Fportfolio\u002Fcase-study",{"title":1479,"path":1480,"stem":1481},"Project Gallery","\u002Fblocks\u002Fportfolio\u002Fproject-gallery","6.blocks\u002Fportfolio\u002Fproject-gallery",{"title":1483,"path":1484,"stem":1485,"children":1486,"page":61},"Pricing","\u002Fblocks\u002Fpricing","6.blocks\u002Fpricing",[1487],{"title":1488,"path":1489,"stem":1490},"Pricing Cards","\u002Fblocks\u002Fpricing\u002Fpricing-cards","6.blocks\u002Fpricing\u002Fpricing-cards",{"title":1492,"path":1493,"stem":1494,"children":1495,"page":61},"Testimonials","\u002Fblocks\u002Ftestimonials","6.blocks\u002Ftestimonials",[1496],{"title":1457,"path":1497,"stem":1498},"\u002Fblocks\u002Ftestimonials\u002Ftestimonial-carousel","6.blocks\u002Ftestimonials\u002Ftestimonial-carousel",{"title":1500,"icon":1501,"path":1502,"stem":1503,"children":1504},"Templates","i-lucide-layout-template","\u002Ftemplates","7.templates",[1505,1507,1511,1515,1519],{"title":1500,"path":1502,"stem":1506},"7.templates\u002Findex",{"title":1508,"path":1509,"stem":1510},"Basic Landing Page","\u002Ftemplates\u002Fbasic-landing-page","7.templates\u002F2.basic-landing-page",{"title":1512,"path":1513,"stem":1514},"SaaS Landing Page","\u002Ftemplates\u002Fsaas-landing-page","7.templates\u002F3.saas-landing-page",{"title":1516,"path":1517,"stem":1518},"E-commerce Landing Page","\u002Ftemplates\u002Fecommerce-landing-page","7.templates\u002F4.ecommerce-landing-page",{"title":1520,"path":1521,"stem":1522},"Creative Agency Landing Page","\u002Ftemplates\u002Fcreative-agency-landing-page","7.templates\u002F5.creative-agency-landing-page",{"title":1524,"path":1525,"stem":1526,"children":1527,"icon":1529},"API Reference","\u002Fapi-reference","8.api-reference\u002Findex",[1528],{"title":1524,"path":1525,"stem":1526},"i-lucide-braces",{"id":1531,"title":1137,"body":1532,"description":3270,"extension":3271,"links":3272,"meta":3273,"navigation":1964,"path":1138,"seo":3274,"stem":1139,"__hash__":3275},"docs\u002F3.components\u002Ftext\u002Fperspective-text-3d.md",{"type":1533,"value":1534,"toc":3247},"minimark",[1535,1560,1571,1575,1679,1683,1688,2088,2092,2238,2261,2265,2357,2367,2371,2385,2389,2492,2496,2507,2517,2543,2546,2550,2615,2618,2623,2627,2635,2640,2651,2658,2663,2669,2735,2746,2750,2770,2779,2782,2797,2845,2891,2918,2921,2928,2958,3052,3137,3151,3155,3165,3169,3244],[1536,1537,1538,1539,1543,1544,1547,1548,1551,1552,1555,1556,1559],"p",{},"The copy is broken into segments and each one is pushed along the Z axis by\n",[1540,1541,1542],"code",{},"40px"," more than its neighbour, so the words sit at different depths inside a\nsingle tilted plane. The whole plane carries a CSS ",[1540,1545,1546],{},"perspective"," of ",[1540,1549,1550],{},"800px"," and a\nresting tilt of ",[1540,1553,1554],{},"8°"," on X and ",[1540,1557,1558],{},"10°"," on Y.",[1536,1561,1562,1563,1566,1567,1570],{},"The depth stack is the point. A tilt alone gives you flat text at an angle; the\n",[1540,1564,1565],{},"translateZ"," steps are what make the words visibly recede and come forward, and\n",[1540,1568,1569],{},"preserve-3d"," on the plane is what stops the browser flattening them back into a\nsingle bitmap.",[1572,1573,16],"h2",{"id":1574},"usage",[1576,1577,1579,1592],"code-preview",{"label":1578},"Preview",[1580,1581,1587,1588],"div",{"className":1582},[1583,1584,1585,1586],"flex","justify-center","w-full","h-full","  ",[1589,1590],"component-example",{"name":1591},"perspective-text-3d-static",[1593,1594,1596],"template",{"v-slot:code":1595},"",[1597,1598,1602],"pre",{"className":1599,"code":1600,"language":1601,"meta":1595,"style":1595},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003CMPerspectiveText3D\n    class=\"text-4xl font-bold\"\n    text=\"Depth in the letterforms\"\n  \u002F>\n\u003C\u002Ftemplate>\n","vue",[1540,1603,1604,1619,1628,1648,1663,1669],{"__ignoreMap":1595},[1605,1606,1609,1613,1616],"span",{"class":1607,"line":1608},"line",1,[1605,1610,1612],{"class":1611},"sMK4o","\u003C",[1605,1614,1593],{"class":1615},"swJcz",[1605,1617,1618],{"class":1611},">\n",[1605,1620,1622,1625],{"class":1607,"line":1621},2,[1605,1623,1624],{"class":1611},"  \u003C",[1605,1626,1627],{"class":1615},"MPerspectiveText3D\n",[1605,1629,1631,1635,1638,1641,1645],{"class":1607,"line":1630},3,[1605,1632,1634],{"class":1633},"spNyl","    class",[1605,1636,1637],{"class":1611},"=",[1605,1639,1640],{"class":1611},"\"",[1605,1642,1644],{"class":1643},"sfazB","text-4xl font-bold",[1605,1646,1647],{"class":1611},"\"\n",[1605,1649,1651,1654,1656,1658,1661],{"class":1607,"line":1650},4,[1605,1652,1653],{"class":1633},"    text",[1605,1655,1637],{"class":1611},[1605,1657,1640],{"class":1611},[1605,1659,1660],{"class":1643},"Depth in the letterforms",[1605,1662,1647],{"class":1611},[1605,1664,1666],{"class":1607,"line":1665},5,[1605,1667,1668],{"class":1611},"  \u002F>\n",[1605,1670,1672,1675,1677],{"class":1607,"line":1671},6,[1605,1673,1674],{"class":1611},"\u003C\u002F",[1605,1676,1593],{"class":1615},[1605,1678,1618],{"class":1611},[1572,1680,1682],{"id":1681},"examples","Examples",[1684,1685,1687],"h3",{"id":1686},"scroll","Scroll",[1576,1689,1690,1696],{"label":1578},[1580,1691,1587,1693],{"className":1692},[1583,1584,1585,1586],[1589,1694],{"name":1695},"perspective-text-3d-scroll",[1593,1697,1698],{"v-slot:code":1595},[1597,1699,1701],{"className":1599,"code":1700,"language":1601,"meta":1595,"style":1595},"\u003Ctemplate>\n  \u003Cdiv\n    ref=\"scrollContainer\"\n    class=\"relative h-44 overflow-y-auto rounded-xl border border-default p-6\"\n  >\n    \u003Cdiv class=\"flex min-h-80 flex-col justify-between\">\n      \u003Cp class=\"text-sm text-muted\">\n        Scroll inside this box\n      \u003C\u002Fp>\n      \u003CMPerspectiveText3D\n        :container=\"() => scrollContainer\"\n        class=\"text-center text-3xl font-bold\"\n        driver=\"scroll\"\n        text=\"Scroll drives the tilt\"\n      \u002F>\n      \u003Cp class=\"text-sm text-muted\">\n        The plane rotates from one edge of the range to the other, sprung so it\n        trails the scroll instead of snapping to it.\n      \u003C\u002Fp>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\n\u002F\u002F `container` is passed as a getter. A bare `:container=\"scrollContainer\"` is\n\u002F\u002F unwrapped by the template to `null` during `setup`, so it would be captured\n\u002F\u002F and never re-read, and `useScroll` would silently fall back to the window.\n\u002F\u002F\n\u002F\u002F The container also carries `relative` above. Motion finds the headline by\n\u002F\u002F walking `offsetParent` from it up to the container, and a static container is\n\u002F\u002F skipped by that walk, leaving the offsets measured in page space where\n\u002F\u002F scrolling the box cannot move them.\nconst scrollContainer = ref\u003CHTMLElement | null>(null)\n\u003C\u002Fscript>\n",[1540,1702,1703,1711,1718,1732,1745,1750,1771,1792,1799,1809,1816,1840,1855,1869,1884,1890,1909,1915,1921,1930,1940,1950,1959,1966,1991,1998,2004,2010,2016,2022,2028,2034,2040,2079],{"__ignoreMap":1595},[1605,1704,1705,1707,1709],{"class":1607,"line":1608},[1605,1706,1612],{"class":1611},[1605,1708,1593],{"class":1615},[1605,1710,1618],{"class":1611},[1605,1712,1713,1715],{"class":1607,"line":1621},[1605,1714,1624],{"class":1611},[1605,1716,1717],{"class":1615},"div\n",[1605,1719,1720,1723,1725,1727,1730],{"class":1607,"line":1630},[1605,1721,1722],{"class":1633},"    ref",[1605,1724,1637],{"class":1611},[1605,1726,1640],{"class":1611},[1605,1728,1729],{"class":1643},"scrollContainer",[1605,1731,1647],{"class":1611},[1605,1733,1734,1736,1738,1740,1743],{"class":1607,"line":1650},[1605,1735,1634],{"class":1633},[1605,1737,1637],{"class":1611},[1605,1739,1640],{"class":1611},[1605,1741,1742],{"class":1643},"relative h-44 overflow-y-auto rounded-xl border border-default p-6",[1605,1744,1647],{"class":1611},[1605,1746,1747],{"class":1607,"line":1665},[1605,1748,1749],{"class":1611},"  >\n",[1605,1751,1752,1755,1757,1760,1762,1764,1767,1769],{"class":1607,"line":1671},[1605,1753,1754],{"class":1611},"    \u003C",[1605,1756,1580],{"class":1615},[1605,1758,1759],{"class":1633}," class",[1605,1761,1637],{"class":1611},[1605,1763,1640],{"class":1611},[1605,1765,1766],{"class":1643},"flex min-h-80 flex-col justify-between",[1605,1768,1640],{"class":1611},[1605,1770,1618],{"class":1611},[1605,1772,1774,1777,1779,1781,1783,1785,1788,1790],{"class":1607,"line":1773},7,[1605,1775,1776],{"class":1611},"      \u003C",[1605,1778,1536],{"class":1615},[1605,1780,1759],{"class":1633},[1605,1782,1637],{"class":1611},[1605,1784,1640],{"class":1611},[1605,1786,1787],{"class":1643},"text-sm text-muted",[1605,1789,1640],{"class":1611},[1605,1791,1618],{"class":1611},[1605,1793,1795],{"class":1607,"line":1794},8,[1605,1796,1798],{"class":1797},"sTEyZ","        Scroll inside this box\n",[1605,1800,1802,1805,1807],{"class":1607,"line":1801},9,[1605,1803,1804],{"class":1611},"      \u003C\u002F",[1605,1806,1536],{"class":1615},[1605,1808,1618],{"class":1611},[1605,1810,1812,1814],{"class":1607,"line":1811},10,[1605,1813,1776],{"class":1611},[1605,1815,1627],{"class":1615},[1605,1817,1819,1822,1825,1827,1829,1832,1835,1838],{"class":1607,"line":1818},11,[1605,1820,1821],{"class":1611},"        :",[1605,1823,1824],{"class":1633},"container",[1605,1826,1637],{"class":1611},[1605,1828,1640],{"class":1611},[1605,1830,1831],{"class":1611},"() ",[1605,1833,1834],{"class":1633},"=>",[1605,1836,1837],{"class":1797}," scrollContainer",[1605,1839,1647],{"class":1611},[1605,1841,1843,1846,1848,1850,1853],{"class":1607,"line":1842},12,[1605,1844,1845],{"class":1633},"        class",[1605,1847,1637],{"class":1611},[1605,1849,1640],{"class":1611},[1605,1851,1852],{"class":1643},"text-center text-3xl font-bold",[1605,1854,1647],{"class":1611},[1605,1856,1858,1861,1863,1865,1867],{"class":1607,"line":1857},13,[1605,1859,1860],{"class":1633},"        driver",[1605,1862,1637],{"class":1611},[1605,1864,1640],{"class":1611},[1605,1866,1686],{"class":1643},[1605,1868,1647],{"class":1611},[1605,1870,1872,1875,1877,1879,1882],{"class":1607,"line":1871},14,[1605,1873,1874],{"class":1633},"        text",[1605,1876,1637],{"class":1611},[1605,1878,1640],{"class":1611},[1605,1880,1881],{"class":1643},"Scroll drives the tilt",[1605,1883,1647],{"class":1611},[1605,1885,1887],{"class":1607,"line":1886},15,[1605,1888,1889],{"class":1611},"      \u002F>\n",[1605,1891,1893,1895,1897,1899,1901,1903,1905,1907],{"class":1607,"line":1892},16,[1605,1894,1776],{"class":1611},[1605,1896,1536],{"class":1615},[1605,1898,1759],{"class":1633},[1605,1900,1637],{"class":1611},[1605,1902,1640],{"class":1611},[1605,1904,1787],{"class":1643},[1605,1906,1640],{"class":1611},[1605,1908,1618],{"class":1611},[1605,1910,1912],{"class":1607,"line":1911},17,[1605,1913,1914],{"class":1797},"        The plane rotates from one edge of the range to the other, sprung so it\n",[1605,1916,1918],{"class":1607,"line":1917},18,[1605,1919,1920],{"class":1797},"        trails the scroll instead of snapping to it.\n",[1605,1922,1924,1926,1928],{"class":1607,"line":1923},19,[1605,1925,1804],{"class":1611},[1605,1927,1536],{"class":1615},[1605,1929,1618],{"class":1611},[1605,1931,1933,1936,1938],{"class":1607,"line":1932},20,[1605,1934,1935],{"class":1611},"    \u003C\u002F",[1605,1937,1580],{"class":1615},[1605,1939,1618],{"class":1611},[1605,1941,1943,1946,1948],{"class":1607,"line":1942},21,[1605,1944,1945],{"class":1611},"  \u003C\u002F",[1605,1947,1580],{"class":1615},[1605,1949,1618],{"class":1611},[1605,1951,1953,1955,1957],{"class":1607,"line":1952},22,[1605,1954,1674],{"class":1611},[1605,1956,1593],{"class":1615},[1605,1958,1618],{"class":1611},[1605,1960,1962],{"class":1607,"line":1961},23,[1605,1963,1965],{"emptyLinePlaceholder":1964},true,"\n",[1605,1967,1969,1971,1974,1977,1980,1982,1984,1987,1989],{"class":1607,"line":1968},24,[1605,1970,1612],{"class":1611},[1605,1972,1973],{"class":1615},"script",[1605,1975,1976],{"class":1633}," setup",[1605,1978,1979],{"class":1633}," lang",[1605,1981,1637],{"class":1611},[1605,1983,1640],{"class":1611},[1605,1985,1986],{"class":1643},"ts",[1605,1988,1640],{"class":1611},[1605,1990,1618],{"class":1611},[1605,1992,1994],{"class":1607,"line":1993},25,[1605,1995,1997],{"class":1996},"sHwdD","\u002F\u002F `container` is passed as a getter. A bare `:container=\"scrollContainer\"` is\n",[1605,1999,2001],{"class":1607,"line":2000},26,[1605,2002,2003],{"class":1996},"\u002F\u002F unwrapped by the template to `null` during `setup`, so it would be captured\n",[1605,2005,2007],{"class":1607,"line":2006},27,[1605,2008,2009],{"class":1996},"\u002F\u002F and never re-read, and `useScroll` would silently fall back to the window.\n",[1605,2011,2013],{"class":1607,"line":2012},28,[1605,2014,2015],{"class":1996},"\u002F\u002F\n",[1605,2017,2019],{"class":1607,"line":2018},29,[1605,2020,2021],{"class":1996},"\u002F\u002F The container also carries `relative` above. Motion finds the headline by\n",[1605,2023,2025],{"class":1607,"line":2024},30,[1605,2026,2027],{"class":1996},"\u002F\u002F walking `offsetParent` from it up to the container, and a static container is\n",[1605,2029,2031],{"class":1607,"line":2030},31,[1605,2032,2033],{"class":1996},"\u002F\u002F skipped by that walk, leaving the offsets measured in page space where\n",[1605,2035,2037],{"class":1607,"line":2036},32,[1605,2038,2039],{"class":1996},"\u002F\u002F scrolling the box cannot move them.\n",[1605,2041,2043,2046,2049,2051,2055,2057,2061,2064,2067,2070,2073,2076],{"class":1607,"line":2042},33,[1605,2044,2045],{"class":1633},"const",[1605,2047,2048],{"class":1797}," scrollContainer ",[1605,2050,1637],{"class":1611},[1605,2052,2054],{"class":2053},"s2Zo4"," ref",[1605,2056,1612],{"class":1611},[1605,2058,2060],{"class":2059},"sBMFI","HTMLElement",[1605,2062,2063],{"class":1611}," |",[1605,2065,2066],{"class":2059}," null",[1605,2068,2069],{"class":1611},">",[1605,2071,2072],{"class":1797},"(",[1605,2074,2075],{"class":1611},"null",[1605,2077,2078],{"class":1797},")\n",[1605,2080,2082,2084,2086],{"class":1607,"line":2081},34,[1605,2083,1674],{"class":1611},[1605,2085,1973],{"class":1615},[1605,2087,1618],{"class":1611},[1684,2089,2091],{"id":2090},"pointer","Pointer",[1576,2093,2094,2100],{"label":1578},[1580,2095,1587,2097],{"className":2096},[1583,1584,1585,1586],[1589,2098],{"name":2099},"perspective-text-3d-pointer",[1593,2101,2102],{"v-slot:code":1595},[1597,2103,2105],{"className":1599,"code":2104,"language":1601,"meta":1595,"style":1595},"\u003Ctemplate>\n  \u003Cdiv class=\"flex flex-col items-center gap-4\">\n    \u003CMPerspectiveText3D\n      class=\"text-4xl font-bold\"\n      driver=\"pointer\"\n      text=\"Move your cursor\"\n    \u002F>\n    \u003Cp class=\"max-w-sm text-center text-sm text-muted\">\n      The plane follows the pointer across the wrapper and springs back to flat\n      when the cursor leaves.\n    \u003C\u002Fp>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[1540,2106,2107,2115,2134,2140,2153,2166,2180,2185,2204,2209,2214,2222,2230],{"__ignoreMap":1595},[1605,2108,2109,2111,2113],{"class":1607,"line":1608},[1605,2110,1612],{"class":1611},[1605,2112,1593],{"class":1615},[1605,2114,1618],{"class":1611},[1605,2116,2117,2119,2121,2123,2125,2127,2130,2132],{"class":1607,"line":1621},[1605,2118,1624],{"class":1611},[1605,2120,1580],{"class":1615},[1605,2122,1759],{"class":1633},[1605,2124,1637],{"class":1611},[1605,2126,1640],{"class":1611},[1605,2128,2129],{"class":1643},"flex flex-col items-center gap-4",[1605,2131,1640],{"class":1611},[1605,2133,1618],{"class":1611},[1605,2135,2136,2138],{"class":1607,"line":1630},[1605,2137,1754],{"class":1611},[1605,2139,1627],{"class":1615},[1605,2141,2142,2145,2147,2149,2151],{"class":1607,"line":1650},[1605,2143,2144],{"class":1633},"      class",[1605,2146,1637],{"class":1611},[1605,2148,1640],{"class":1611},[1605,2150,1644],{"class":1643},[1605,2152,1647],{"class":1611},[1605,2154,2155,2158,2160,2162,2164],{"class":1607,"line":1665},[1605,2156,2157],{"class":1633},"      driver",[1605,2159,1637],{"class":1611},[1605,2161,1640],{"class":1611},[1605,2163,2090],{"class":1643},[1605,2165,1647],{"class":1611},[1605,2167,2168,2171,2173,2175,2178],{"class":1607,"line":1671},[1605,2169,2170],{"class":1633},"      text",[1605,2172,1637],{"class":1611},[1605,2174,1640],{"class":1611},[1605,2176,2177],{"class":1643},"Move your cursor",[1605,2179,1647],{"class":1611},[1605,2181,2182],{"class":1607,"line":1773},[1605,2183,2184],{"class":1611},"    \u002F>\n",[1605,2186,2187,2189,2191,2193,2195,2197,2200,2202],{"class":1607,"line":1794},[1605,2188,1754],{"class":1611},[1605,2190,1536],{"class":1615},[1605,2192,1759],{"class":1633},[1605,2194,1637],{"class":1611},[1605,2196,1640],{"class":1611},[1605,2198,2199],{"class":1643},"max-w-sm text-center text-sm text-muted",[1605,2201,1640],{"class":1611},[1605,2203,1618],{"class":1611},[1605,2205,2206],{"class":1607,"line":1801},[1605,2207,2208],{"class":1797},"      The plane follows the pointer across the wrapper and springs back to flat\n",[1605,2210,2211],{"class":1607,"line":1811},[1605,2212,2213],{"class":1797},"      when the cursor leaves.\n",[1605,2215,2216,2218,2220],{"class":1607,"line":1818},[1605,2217,1935],{"class":1611},[1605,2219,1536],{"class":1615},[1605,2221,1618],{"class":1611},[1605,2223,2224,2226,2228],{"class":1607,"line":1842},[1605,2225,1945],{"class":1611},[1605,2227,1580],{"class":1615},[1605,2229,1618],{"class":1611},[1605,2231,2232,2234,2236],{"class":1607,"line":1857},[1605,2233,1674],{"class":1611},[1605,2235,1593],{"class":1615},[1605,2237,1618],{"class":1611},[1536,2239,2240,2241,2244,2245,2248,2249,2252,2253,2256,2257,2260],{},"The pointer's normalised position runs from ",[1540,2242,2243],{},"-0.5"," to ",[1540,2246,2247],{},"0.5"," and is multiplied by\n",[1540,2250,2251],{},"2",", so the full sweep of the wrapper maps to the full sweep of the tilt: the\ncorners reach the configured ",[1540,2254,2255],{},"rotateX","\u002F",[1540,2258,2259],{},"rotateY"," angles and the centre is flat.",[1684,2262,2264],{"id":2263},"lines","Lines",[1576,2266,2267,2273],{"label":1578},[1580,2268,1587,2270],{"className":2269},[1583,1584,1585,1586],[1589,2271],{"name":2272},"perspective-text-3d-lines",[1593,2274,2275],{"v-slot:code":1595},[1597,2276,2278],{"className":1599,"code":2277,"language":1601,"meta":1595,"style":1595},"\u003Ctemplate>\n  \u003CMPerspectiveText3D\n    class=\"text-3xl font-bold leading-snug\"\n    :text=\"'One plane per line\\nstacked in depth'\"\n    split=\"lines\"\n  \u002F>\n\u003C\u002Ftemplate>\n",[1540,2279,2280,2288,2294,2307,2332,2345,2349],{"__ignoreMap":1595},[1605,2281,2282,2284,2286],{"class":1607,"line":1608},[1605,2283,1612],{"class":1611},[1605,2285,1593],{"class":1615},[1605,2287,1618],{"class":1611},[1605,2289,2290,2292],{"class":1607,"line":1621},[1605,2291,1624],{"class":1611},[1605,2293,1627],{"class":1615},[1605,2295,2296,2298,2300,2302,2305],{"class":1607,"line":1630},[1605,2297,1634],{"class":1633},[1605,2299,1637],{"class":1611},[1605,2301,1640],{"class":1611},[1605,2303,2304],{"class":1643},"text-3xl font-bold leading-snug",[1605,2306,1647],{"class":1611},[1605,2308,2309,2312,2315,2317,2320,2323,2326,2329],{"class":1607,"line":1650},[1605,2310,2311],{"class":1611},"    :",[1605,2313,2314],{"class":1633},"text",[1605,2316,1637],{"class":1611},[1605,2318,2319],{"class":1611},"\"'",[1605,2321,2322],{"class":1643},"One plane per line",[1605,2324,2325],{"class":1797},"\\n",[1605,2327,2328],{"class":1643},"stacked in depth",[1605,2330,2331],{"class":1611},"'\"\n",[1605,2333,2334,2337,2339,2341,2343],{"class":1607,"line":1665},[1605,2335,2336],{"class":1633},"    split",[1605,2338,1637],{"class":1611},[1605,2340,1640],{"class":1611},[1605,2342,2263],{"class":1643},[1605,2344,1647],{"class":1611},[1605,2346,2347],{"class":1607,"line":1671},[1605,2348,1668],{"class":1611},[1605,2350,2351,2353,2355],{"class":1607,"line":1773},[1605,2352,1674],{"class":1611},[1605,2354,1593],{"class":1615},[1605,2356,1618],{"class":1611},[1536,2358,2359,2360,2363,2364,2366],{},"With ",[1540,2361,2362],{},"split=\"lines\""," each segment is a block and the newlines in ",[1540,2365,2314],{}," are\nrespected, so a multi-line headline keeps its own line breaks and each line\nreceives its own depth step.",[1572,2368,2370],{"id":2369},"customize","Customize",[1576,2372,2373,2379],{"label":1578},[1580,2374,1587,2376],{"className":2375},[1585],[1589,2377],{"name":2378},"perspective-text-3d-custom",[1593,2380,2381],{"v-slot:code":1595},[2382,2383],"playground-code",{"name":2384},"PerspectiveText3D",[1572,2386,2388],{"id":2387},"props","Props",[2390,2391,2392,2406,2417,2431,2441,2448,2452,2456,2473,2486],"component-props",{},[2393,2394,2397,2398,2401,2402,2405],"component-prop",{"name":2314,"type":2395,":required":2396},"string","true","The copy to break into segments. Segments are joined by a single space when\n",[1540,2399,2400],{},"split"," is ",[1540,2403,2404],{},"words",".",[2393,2407,2411,2412,2405],{"name":2408,"type":2409,"default":2410},"driver","'static' | 'pointer' | 'scroll'","'static'","What drives the plane's rotation. See ",[2413,2414,2416],"a",{"href":2415},"#drivers","Drivers",[2393,2418,2421,2422,2424,2425,2427,2428,2430],{"name":2400,"type":2419,"default":2420},"'words' | 'lines'","'words'","How to break the copy up. ",[1540,2423,2404],{}," collapses all whitespace, so the headline\nalways lays out on one line. ",[1540,2426,2263],{}," respects ",[1540,2429,2325],{}," and falls back to the whole\nstring when there is no newline at all.",[2393,2432,2436,2437,2440],{"name":2433,"type":2434,"default":2435},"depth","number","40","Z offset in pixels between neighbouring segments. ",[1540,2438,2439],{},"0"," leaves every word in one\nplane — a plain tilt with no depth.",[2393,2442,2444,2445,2447],{"name":1546,"type":2434,"default":2443},"800","CSS ",[1540,2446,1546],{}," on the wrapper, in pixels. Larger is a flatter, more\ntelephoto look; smaller exaggerates the depth.",[2393,2449,2451],{"name":2255,"type":2434,"default":2450},"8","Resting tilt on the X axis, in degrees. Also the pointer driver's vertical\nrange and the scroll driver's amplitude.",[2393,2453,2455],{"name":2259,"type":2434,"default":2454},"10","Resting tilt on the Y axis, in degrees. Same role on the pointer and scroll\ndrivers.",[2393,2457,2459,2460,2463,2464,2467,2468,2472],{"name":1824,"type":2458},"MaybeComputedElementRef","Scroll container to measure against. Pass a getter in templates —\n",[1540,2461,2462],{},":container=\"() => scrollContainer\""," — not the ref on its own. The container must\nbe positioned (",[1540,2465,2466],{},"relative"," is enough) or the tilt will not move; see\n",[2413,2469,2471],{"href":2470},"#the-container-must-be-positioned","The container must be positioned",".\nDefaults to the window.",[2393,2474,2478,2479,2481,2482,2485],{"name":2475,"type":2476,"default":2477},"offset","ScrollOffset","['start 0.9', 'end 0.45']","Motion scroll offset tuple for the ",[1540,2480,1686],{}," driver. Motion's own default\n(",[1540,2483,2484],{},"['start start', 'end end']",") never completes its range for a headline shorter\nthan its scroller, which leaves progress pinned. This default opens the window as\nthe headline enters the lower part of the scroller and closes it around the middle.",[2393,2487,2489,2490,2405],{"name":2488,"type":2395},"class","Classes for the wrapper, which also carries the CSS ",[1540,2491,1546],{},[1572,2493,2495],{"id":2494},"accessibility","Accessibility",[1536,2497,2498,2499,2502,2503,2506],{},"Every visual segment is ",[1540,2500,2501],{},"aria-hidden=\"true\"",", and the readable copy lives in a\nsingle ",[1540,2504,2505],{},"sr-only"," span inside the wrapper.",[1536,2508,2509,2510,2513,2514,2516],{},"An ",[1540,2511,2512],{},"aria-label"," on the wrapper would be the obvious alternative, but a plain ",[1540,2515,1580],{},"\nwith no role carries no accessible name, so the label would be silently dropped\nin favour of its (now meaningless) contents. The hidden copy is the only approach\nthat works on a role-less element, and it also guarantees the sentence is read as\none string rather than as a list of fragments.",[1536,2518,2519,2520,2523,2524,2528,2529,2531,2532,2534,2535,2538,2539,2542],{},"Under ",[1540,2521,2522],{},"prefers-reduced-motion"," the tree is ",[2525,2526,2527],"strong",{},"flattened rather than swapped",": both\nrotations go to exactly ",[1540,2530,2439],{}," and the ",[1540,2533,1565],{}," steps are dropped, leaving the\nsegments in one plane. A second element shape is not an option, because the server\ncannot know the visitor's preference — it would always send the 3D tree and the\nclient would swap the DOM out from under a live one. Flattening keeps the same\nelements in both, and ",[1540,2536,2537],{},"transition"," collapses to ",[1540,2540,2541],{},"duration: 0"," so they arrive at\nrest within a frame.",[1536,2544,2545],{},"Zero is exactly zero rather than \"smaller\", so the text reads as ordinary copy\nrather than as a half-finished effect.",[1572,2547,2549],{"id":2548},"performance","Performance",[2551,2552,2553,2570,2589,2606],"ul",{},[2554,2555,2556,2557,2560,2561,2563,2564,2566,2567,2569],"li",{},"The rotation is ",[1540,2558,2559],{},"transform"," only — both the scroll and pointer drivers animate\n",[1540,2562,2255],{}," and ",[1540,2565,2259],{}," — and each segment's ",[1540,2568,1565],{}," is static, so the\nplane animates entirely on the compositor and never triggers layout or paint.",[2554,2571,2572,2575,2576,2579,2580,2582,2583,2563,2586,2588],{},[1540,2573,2574],{},"useScroll"," is registered on ",[2525,2577,2578],{},"every"," mount regardless of ",[1540,2581,2408],{},", because\nhooks cannot be conditional without the hook order changing between renders. On\nthe ",[1540,2584,2585],{},"static",[1540,2587,2090],{}," drivers its result is simply never read, so the\nsubscription is the only cost.",[2554,2590,2591,2592,2594,2595,2256,2598,2601,2602,2605],{},"The ",[1540,2593,2090],{}," driver attaches ",[1540,2596,2597],{},"pointermove",[1540,2599,2600],{},"pointerleave"," to the wrapper and\nreads ",[1540,2603,2604],{},"getBoundingClientRect()"," once per move to normalise the cursor position;\nthe tilt is a spring, so DOM writes are throttled to animation frames rather\nthan to the raw pointer event rate.",[2554,2607,2591,2608,2610,2611,2614],{},[1540,2609,1686],{}," driver runs two individual springs directly on the plane's ",[1540,2612,2613],{},"style","\ninstead of a composed template, so each frame writes transforms rather than\nreconciling a string, and there is no scroll listener beyond Motion's own.",[1572,2616,2416],{"id":2617},"drivers",[1536,2619,2620,2622],{},[1540,2621,2408],{}," picks what owns the plane's rotation. All three share the same spring.",[1684,2624,2625],{"id":2585},[1540,2626,2585],{},[1536,2628,2629,2630,2563,2632,2634],{},"The default. The tilt is applied once, on mount, from ",[1540,2631,2255],{},[1540,2633,2259],{},", and\nnever changes. That is the shape of a static headline — the depth is the whole\neffect, and there is nothing to drive.",[1684,2636,2638],{"id":2637},"pointer-1",[1540,2639,2090],{},[1536,2641,2642,2643,2244,2645,2647,2648,2650],{},"The plane follows the cursor across the wrapper's own bounding box. The pointer's\nnormalised position runs from ",[1540,2644,2243],{},[1540,2646,2247],{}," and is multiplied by ",[2525,2649,2251],{},", so the\nfull sweep of the element maps to the full sweep of the tilt: the corners of the\nwrapper reach the configured angles and the centre is flat.",[1536,2652,2653,2654,2657],{},"Leaving the wrapper springs both axes back to zero. The tilt is ",[2525,2655,2656],{},"not"," applied\nwhile reduced motion is requested, and the pointer handlers return early in that\ncase, so the effect cannot be triggered by moving a mouse.",[1684,2659,2661],{"id":2660},"scroll-1",[1540,2662,1686],{},[1536,2664,2665,2666,2668],{},"The plane rotates across the element's scroll progress, from one edge of the range\nto the other, on both axes in opposite directions. With no ",[1540,2667,1824],{}," it measures\nagainst the window.",[1597,2670,2672],{"className":1599,"code":2671,"language":1601,"meta":1595,"style":1595},"\u003Cdiv ref=\"scrollContainer\" class=\"h-44 overflow-y-auto\">\n  \u003CMPerspectiveText3D\n    :container=\"() => scrollContainer\"\n    driver=\"scroll\"\n    text=\"Scroll drives the tilt\"\n  \u002F>\n\u003C\u002Fdiv>\n",[1540,2673,2674,2703,2708,2713,2718,2723,2727],{"__ignoreMap":1595},[1605,2675,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2699,2701],{"class":1607,"line":1608},[1605,2677,1612],{"class":1611},[1605,2679,1580],{"class":1615},[1605,2681,2054],{"class":1633},[1605,2683,1637],{"class":1611},[1605,2685,1640],{"class":1611},[1605,2687,1729],{"class":1643},[1605,2689,1640],{"class":1611},[1605,2691,1759],{"class":1633},[1605,2693,1637],{"class":1611},[1605,2695,1640],{"class":1611},[1605,2697,2698],{"class":1643},"h-44 overflow-y-auto",[1605,2700,1640],{"class":1611},[1605,2702,1618],{"class":1611},[1605,2704,2705],{"class":1607,"line":1621},[1605,2706,2707],{"class":1797},"  \u003CMPerspectiveText3D\n",[1605,2709,2710],{"class":1607,"line":1630},[1605,2711,2712],{"class":1797},"    :container=\"() => scrollContainer\"\n",[1605,2714,2715],{"class":1607,"line":1650},[1605,2716,2717],{"class":1797},"    driver=\"scroll\"\n",[1605,2719,2720],{"class":1607,"line":1665},[1605,2721,2722],{"class":1797},"    text=\"Scroll drives the tilt\"\n",[1605,2724,2725],{"class":1607,"line":1671},[1605,2726,1668],{"class":1797},[1605,2728,2729,2731,2733],{"class":1607,"line":1773},[1605,2730,1674],{"class":1611},[1605,2732,1580],{"class":1615},[1605,2734,1618],{"class":1611},[1536,2736,2737,2738,2741,2742,2405],{},"Pass a ",[2525,2739,2740],{},"getter",", not the ref. See\n",[2413,2743,2745],{"href":2744},"#passing-a-scroll-container","Passing a scroll container",[1572,2747,2749],{"id":2748},"how-the-depth-stack-is-built","How the depth stack is built",[1536,2751,2752,2753,2757,2758,2761,2762,2765,2766,2769],{},"Segment ",[2754,2755,2756],"em",{},"i"," is offset by ",[1540,2759,2760],{},"(i - midIndex) × depth",", where ",[1540,2763,2764],{},"midIndex"," is\n",[1540,2767,2768],{},"(length - 1) \u002F 2",". An odd-length stack therefore has one segment exactly on the\nplane with pairs either side of it; an even-length stack splits the difference\nbetween its two middle segments. Either way the stack is centred, so the headline\nas a whole does not drift in depth.",[1536,2771,2772,2773,2775,2776,2405],{},"At the ",[1540,2774,1542],{}," default, five words sit at ",[1540,2777,2778],{},"-80, -40, 0, 40, 80",[1572,2780,2745],{"id":2781},"passing-a-scroll-container",[1536,2783,2784,2786,2787,2789,2790,2792,2793,2796],{},[1540,2785,1824],{}," is typed as ",[1540,2788,2458],{}," and is handed straight to\n",[1540,2791,2574],{}," ",[2525,2794,2795],{},"without unwrapping",":",[1597,2798,2801],{"className":2799,"code":2800,"language":1986,"meta":1595,"style":1595},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F correct — hand over the getter\nuseScroll({ container: props.container, target: wrapperRef })\n",[1540,2802,2803,2808],{"__ignoreMap":1595},[1605,2804,2805],{"class":1607,"line":1608},[1605,2806,2807],{"class":1996},"\u002F\u002F correct — hand over the getter\n",[1605,2809,2810,2812,2814,2817,2820,2822,2825,2827,2829,2832,2835,2837,2840,2843],{"class":1607,"line":1621},[1605,2811,2574],{"class":2053},[1605,2813,2072],{"class":1797},[1605,2815,2816],{"class":1611},"{",[1605,2818,2819],{"class":1615}," container",[1605,2821,2796],{"class":1611},[1605,2823,2824],{"class":1797}," props",[1605,2826,2405],{"class":1611},[1605,2828,1824],{"class":1797},[1605,2830,2831],{"class":1611},",",[1605,2833,2834],{"class":1615}," target",[1605,2836,2796],{"class":1611},[1605,2838,2839],{"class":1797}," wrapperRef ",[1605,2841,2842],{"class":1611},"}",[1605,2844,2078],{"class":1797},[1597,2846,2848],{"className":2799,"code":2847,"language":1986,"meta":1595,"style":1595},"\u002F\u002F wrong — hands over a plain element\nuseScroll({ container: props.container?.value, target: wrapperRef })\n",[1540,2849,2850,2855],{"__ignoreMap":1595},[1605,2851,2852],{"class":1607,"line":1608},[1605,2853,2854],{"class":1996},"\u002F\u002F wrong — hands over a plain element\n",[1605,2856,2857,2859,2861,2863,2865,2867,2869,2871,2873,2876,2879,2881,2883,2885,2887,2889],{"class":1607,"line":1621},[1605,2858,2574],{"class":2053},[1605,2860,2072],{"class":1797},[1605,2862,2816],{"class":1611},[1605,2864,2819],{"class":1615},[1605,2866,2796],{"class":1611},[1605,2868,2824],{"class":1797},[1605,2870,2405],{"class":1611},[1605,2872,1824],{"class":1797},[1605,2874,2875],{"class":1611},"?.",[1605,2877,2878],{"class":1797},"value",[1605,2880,2831],{"class":1611},[1605,2882,2834],{"class":1615},[1605,2884,2796],{"class":1611},[1605,2886,2839],{"class":1797},[1605,2888,2842],{"class":1611},[1605,2890,2078],{"class":1797},[1536,2892,2893,2894,2896,2897,2899,2900,2903,2904,2906,2907,2910,2911,2913,2914,2917],{},"In a template, pass the ",[2525,2895,2740],{}," — ",[1540,2898,2462],{}," — not the\nref on its own. A bare ",[1540,2901,2902],{},":container=\"scrollContainer\""," is unwrapped by the template\nto ",[1540,2905,2075],{}," during ",[1540,2908,2909],{},"setup",", so the component captures a value that is never re-read;\n",[1540,2912,2574],{}," then falls back to measuring the window, which for a headline inside a\nscrollable box means it never tilts. The getter is invoked inside Motion's\n",[1540,2915,2916],{},"flush: 'post'"," effect, where your ref is a tracked dependency, so the container is\nresolved once the element is mounted.",[1684,2919,2471],{"id":2920},"the-container-must-be-positioned",[1536,2922,2923,2924,2927],{},"A container that is left at ",[1540,2925,2926],{},"position: static"," produces a headline that holds one\nangle for the entire scroll. No amount of scrolling moves it, and there is no error\nto explain why.",[1536,2929,2930,2931,2934,2935,2938,2939,2942,2943,2946,2947,2949,2950,2953,2954,2957],{},"Motion locates the headline by walking ",[1540,2932,2933],{},"offsetParent"," from the headline up to the\ncontainer, adding up ",[1540,2936,2937],{},"offsetTop"," at each step (",[1540,2940,2941],{},"calcInset"," in\n",[1540,2944,2945],{},"framer-motion\u002Fdist\u002Fes\u002Frender\u002Fdom\u002Fscroll\u002Foffsets\u002Finset.mjs","). ",[1540,2948,2933],{}," only ever\nreturns a ",[2525,2951,2952],{},"positioned"," ancestor, so a static container is stepped straight over: the\nwalk continues up to ",[1540,2955,2956],{},"\u003Cbody>",", the accumulated offset is measured in page space, and it\nnever changes when the container scrolls. The headline appears to be at a fixed\ndistance from the top of the document, and progress stays pinned.",[1597,2959,2963],{"className":2960,"code":2961,"language":2962,"meta":1595,"style":1595},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C!-- wrong: static, so the walk skips it -->\n\u003Cdiv ref=\"scrollContainer\" class=\"h-64 overflow-y-auto\">\n  \u003CMPerspectiveText3D :container=\"() => scrollContainer\" driver=\"scroll\" text=\"…\" \u002F>\n\u003C\u002Fdiv>\n","html",[1540,2964,2965,2970,2999,3044],{"__ignoreMap":1595},[1605,2966,2967],{"class":1607,"line":1608},[1605,2968,2969],{"class":1996},"\u003C!-- wrong: static, so the walk skips it -->\n",[1605,2971,2972,2974,2976,2978,2980,2982,2984,2986,2988,2990,2992,2995,2997],{"class":1607,"line":1621},[1605,2973,1612],{"class":1611},[1605,2975,1580],{"class":1615},[1605,2977,2054],{"class":1633},[1605,2979,1637],{"class":1611},[1605,2981,1640],{"class":1611},[1605,2983,1729],{"class":1643},[1605,2985,1640],{"class":1611},[1605,2987,1759],{"class":1633},[1605,2989,1637],{"class":1611},[1605,2991,1640],{"class":1611},[1605,2993,2994],{"class":1643},"h-64 overflow-y-auto",[1605,2996,1640],{"class":1611},[1605,2998,1618],{"class":1611},[1605,3000,3001,3003,3006,3009,3011,3013,3016,3018,3021,3023,3025,3027,3029,3032,3034,3036,3039,3041],{"class":1607,"line":1630},[1605,3002,1624],{"class":1611},[1605,3004,3005],{"class":1615},"MPerspectiveText3D",[1605,3007,3008],{"class":1633}," :container",[1605,3010,1637],{"class":1611},[1605,3012,1640],{"class":1611},[1605,3014,3015],{"class":1643},"() => scrollContainer",[1605,3017,1640],{"class":1611},[1605,3019,3020],{"class":1633}," driver",[1605,3022,1637],{"class":1611},[1605,3024,1640],{"class":1611},[1605,3026,1686],{"class":1643},[1605,3028,1640],{"class":1611},[1605,3030,3031],{"class":1633}," text",[1605,3033,1637],{"class":1611},[1605,3035,1640],{"class":1611},[1605,3037,3038],{"class":1643},"…",[1605,3040,1640],{"class":1611},[1605,3042,3043],{"class":1611}," \u002F>\n",[1605,3045,3046,3048,3050],{"class":1607,"line":1650},[1605,3047,1674],{"class":1611},[1605,3049,1580],{"class":1615},[1605,3051,1618],{"class":1611},[1597,3053,3055],{"className":2960,"code":3054,"language":2962,"meta":1595,"style":1595},"\u003C!-- correct -->\n\u003Cdiv ref=\"scrollContainer\" class=\"relative h-64 overflow-y-auto\">\n  \u003CMPerspectiveText3D :container=\"() => scrollContainer\" driver=\"scroll\" text=\"…\" \u002F>\n\u003C\u002Fdiv>\n",[1540,3056,3057,3062,3091,3129],{"__ignoreMap":1595},[1605,3058,3059],{"class":1607,"line":1608},[1605,3060,3061],{"class":1996},"\u003C!-- correct -->\n",[1605,3063,3064,3066,3068,3070,3072,3074,3076,3078,3080,3082,3084,3087,3089],{"class":1607,"line":1621},[1605,3065,1612],{"class":1611},[1605,3067,1580],{"class":1615},[1605,3069,2054],{"class":1633},[1605,3071,1637],{"class":1611},[1605,3073,1640],{"class":1611},[1605,3075,1729],{"class":1643},[1605,3077,1640],{"class":1611},[1605,3079,1759],{"class":1633},[1605,3081,1637],{"class":1611},[1605,3083,1640],{"class":1611},[1605,3085,3086],{"class":1643},"relative h-64 overflow-y-auto",[1605,3088,1640],{"class":1611},[1605,3090,1618],{"class":1611},[1605,3092,3093,3095,3097,3099,3101,3103,3105,3107,3109,3111,3113,3115,3117,3119,3121,3123,3125,3127],{"class":1607,"line":1630},[1605,3094,1624],{"class":1611},[1605,3096,3005],{"class":1615},[1605,3098,3008],{"class":1633},[1605,3100,1637],{"class":1611},[1605,3102,1640],{"class":1611},[1605,3104,3015],{"class":1643},[1605,3106,1640],{"class":1611},[1605,3108,3020],{"class":1633},[1605,3110,1637],{"class":1611},[1605,3112,1640],{"class":1611},[1605,3114,1686],{"class":1643},[1605,3116,1640],{"class":1611},[1605,3118,3031],{"class":1633},[1605,3120,1637],{"class":1611},[1605,3122,1640],{"class":1611},[1605,3124,3038],{"class":1643},[1605,3126,1640],{"class":1611},[1605,3128,3043],{"class":1611},[1605,3130,3131,3133,3135],{"class":1607,"line":1650},[1605,3132,1674],{"class":1611},[1605,3134,1580],{"class":1615},[1605,3136,1618],{"class":1611},[1536,3138,3139,3140,3142,3143,3146,3147,3150],{},"The window needs nothing here — it is the ",[1540,3141,2933],{}," of everything, which is why\nthe static container only breaks the custom-scroller case. Motion's own development\nbuild warns about this, but it is a ",[1540,3144,3145],{},"warnOnce"," about ",[1540,3148,3149],{},"position",", not about progress,\nso it reads as unrelated advice next to a headline that will not turn.",[1684,3152,3154],{"id":3153},"reading-the-sweep","Reading the sweep",[1536,3156,3157,3158,3160,3161,3164],{},"The default ",[1540,3159,2475],{}," window covers the headline's own travel through the scroller.\nPast that point progress correctly rests at ",[1540,3162,3163],{},"1",": any further scroll is filler space\nbelow the headline with nothing left to track. Give the box a trailing spacer and the\ntilt inverts as the headline passes, then holds — which is the intended behaviour, not\na second freeze.",[1572,3166,3168],{"id":3167},"notes","Notes",[2551,3170,3171,3182,3202,3215,3223,3241],{},[2554,3172,3173,3174,3177,3178,3181],{},"The spring is ",[1540,3175,3176],{},"{ type: 'spring', duration: 0.25, bounce: 0.1 }"," on every\ndriven rotation. ",[1540,3179,3180],{},"bounce: 0.1"," is nearly critically damped — enough to feel\nphysical, not enough to wobble past the target more than once.",[2554,3183,3184,3185,3187,3188,3191,3192,3195,3196,3199,3200,2405],{},"The scroll rotation travels as two individual springs on the plane's ",[1540,3186,2613],{},". A\ncomposed ",[1540,3189,3190],{},"useMotionTemplate"," string is resolved to plain text once when the\nvisual element is created and then frozen at whatever it measured before the\nfirst scroll frame, and handing the springs to ",[1540,3193,3194],{},"animate"," instead leaves the\nplane with no transform at all. ",[1540,3197,3198],{},"Motion"," subscribes to each motion value placed\ndirectly in ",[1540,3201,2613],{},[2554,3203,3204,2575,3206,3208,3209,3211,3212,3214],{},[1540,3205,2574],{},[2525,3207,2578],{}," mount regardless of driver, because hooks\ncannot be conditional without the order changing between renders. For ",[1540,3210,2585],{},"\nand ",[1540,3213,2090],{}," the result is simply never read.",[2554,3216,3217,3219,3220,3222],{},[1540,3218,2433],{}," below ",[1540,3221,2439],{}," is not clamped — it inverts the stack, so the first word ends\nup furthest back. Useful occasionally, but almost never what you want.",[2554,3224,3225,3226,2401,3228,3230,3231,3233,3234,3237,3238,3240],{},"When ",[1540,3227,2400],{},[1540,3229,2263],{}," each segment is a block; when it is ",[1540,3232,2404],{}," each is an\n",[1540,3235,3236],{},"inline-block",". The wrapper is always ",[1540,3239,3236],{},", so the component sizes\nitself to its content rather than to its parent.",[2554,3242,3243],{},"Keys are segment indexes, so editing the copy reuses the existing elements in\nplace rather than remounting them.",[2613,3245,3246],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":1595,"searchDepth":1621,"depth":1621,"links":3248},[3249,3250,3255,3256,3257,3258,3259,3264,3265,3269],{"id":1574,"depth":1621,"text":16},{"id":1681,"depth":1621,"text":1682,"children":3251},[3252,3253,3254],{"id":1686,"depth":1630,"text":1687},{"id":2090,"depth":1630,"text":2091},{"id":2263,"depth":1630,"text":2264},{"id":2369,"depth":1621,"text":2370},{"id":2387,"depth":1621,"text":2388},{"id":2494,"depth":1621,"text":2495},{"id":2548,"depth":1621,"text":2549},{"id":2617,"depth":1621,"text":2416,"children":3260},[3261,3262,3263],{"id":2585,"depth":1630,"text":2585},{"id":2637,"depth":1630,"text":2090},{"id":2660,"depth":1630,"text":1686},{"id":2748,"depth":1621,"text":2749},{"id":2781,"depth":1621,"text":2745,"children":3266},[3267,3268],{"id":2920,"depth":1630,"text":2471},{"id":3153,"depth":1630,"text":3154},{"id":3167,"depth":1621,"text":3168},"Words spread through a Z stack on a tilted plane, driven by nothing, the pointer, or scroll.","md",null,{},{"title":1137,"description":3270},"46aORLoHClYMwAoCqbw_WkvOSbnU3TMf_NnF_NW1GYA",[3277,3279],{"title":1133,"path":1134,"stem":1135,"description":3278,"children":-1},"A sentence that assembles itself one word at a time.",{"title":1141,"path":1142,"stem":1143,"description":3280,"children":-1},"A string cut into letter scraps on mismatched paper, cut from mismatched typefaces.",1793614402051]