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