[{"data":1,"prerenderedAt":942},["ShallowReactive",2],{"navigation":3,"$f2vxmxe0ttlw1b":470,"\u002Fdocs\u002Futilities\u002Fshimmer":481,"surround-\u002Fdocs\u002Futilities\u002Fshimmer":940},[4],{"title":5,"path":6,"stem":7,"children":8,"page":18},"Docs","\u002Fdocs","docs",[9,298,324,342,348,365,391,405],{"title":10,"path":11,"stem":12,"children":13,"new":18,"type":297},"Components","\u002Fdocs\u002Fcomponents","docs\u002F02.components",[14,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,205,209,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273,277,281,285,289,293],{"title":15,"path":16,"stem":17,"new":18,"type":19,"children":-1},"Accordion","\u002Fdocs\u002Fcomponents\u002Faccordion","docs\u002Fcomponents\u002Faccordion",false,"component",{"title":21,"path":22,"stem":23,"new":18,"type":19,"children":-1},"Alert","\u002Fdocs\u002Fcomponents\u002Falert","docs\u002Fcomponents\u002Falert",{"title":25,"path":26,"stem":27,"new":18,"type":19,"children":-1},"Alert Dialog","\u002Fdocs\u002Fcomponents\u002Falert-dialog","docs\u002Fcomponents\u002Falert-dialog",{"title":29,"path":30,"stem":31,"new":18,"type":19,"children":-1},"Aspect Ratio","\u002Fdocs\u002Fcomponents\u002Faspect-ratio","docs\u002Fcomponents\u002Faspect-ratio",{"title":33,"path":34,"stem":35,"new":18,"type":19,"children":-1},"Attachment","\u002Fdocs\u002Fcomponents\u002Fattachment","docs\u002Fcomponents\u002Fattachment",{"title":37,"path":38,"stem":39,"new":18,"type":19,"children":-1},"Avatar","\u002Fdocs\u002Fcomponents\u002Favatar","docs\u002Fcomponents\u002Favatar",{"title":41,"path":42,"stem":43,"new":18,"type":19,"children":-1},"Badge","\u002Fdocs\u002Fcomponents\u002Fbadge","docs\u002Fcomponents\u002Fbadge",{"title":45,"path":46,"stem":47,"new":18,"type":19,"children":-1},"Breadcrumb","\u002Fdocs\u002Fcomponents\u002Fbreadcrumb","docs\u002Fcomponents\u002Fbreadcrumb",{"title":49,"path":50,"stem":51,"new":18,"type":19,"children":-1},"Bubble","\u002Fdocs\u002Fcomponents\u002Fbubble","docs\u002Fcomponents\u002Fbubble",{"title":53,"path":54,"stem":55,"new":18,"type":19,"children":-1},"Button","\u002Fdocs\u002Fcomponents\u002Fbutton","docs\u002Fcomponents\u002Fbutton",{"title":57,"path":58,"stem":59,"new":18,"type":19,"children":-1},"Button Group","\u002Fdocs\u002Fcomponents\u002Fbutton-group","docs\u002Fcomponents\u002Fbutton-group",{"title":61,"path":62,"stem":63,"new":18,"type":19,"children":-1},"Calendar","\u002Fdocs\u002Fcomponents\u002Fcalendar","docs\u002Fcomponents\u002Fcalendar",{"title":65,"path":66,"stem":67,"new":18,"type":19,"children":-1},"Card","\u002Fdocs\u002Fcomponents\u002Fcard","docs\u002Fcomponents\u002Fcard",{"title":69,"path":70,"stem":71,"new":18,"type":19,"children":-1},"Carousel","\u002Fdocs\u002Fcomponents\u002Fcarousel","docs\u002Fcomponents\u002Fcarousel",{"title":73,"path":74,"stem":75,"new":18,"type":19,"children":-1},"Chart","\u002Fdocs\u002Fcomponents\u002Fchart","docs\u002Fcomponents\u002Fchart",{"title":77,"path":78,"stem":79,"new":18,"type":19,"children":-1},"Checkbox","\u002Fdocs\u002Fcomponents\u002Fcheckbox","docs\u002Fcomponents\u002Fcheckbox",{"title":81,"path":82,"stem":83,"new":18,"type":19,"children":-1},"Collapsible","\u002Fdocs\u002Fcomponents\u002Fcollapsible","docs\u002Fcomponents\u002Fcollapsible",{"title":85,"path":86,"stem":87,"new":18,"type":19,"children":-1},"Combobox","\u002Fdocs\u002Fcomponents\u002Fcombobox","docs\u002Fcomponents\u002Fcombobox",{"title":89,"path":90,"stem":91,"new":18,"type":19,"children":-1},"Command","\u002Fdocs\u002Fcomponents\u002Fcommand","docs\u002Fcomponents\u002Fcommand",{"title":93,"path":94,"stem":95,"new":18,"type":19,"children":-1},"Context Menu","\u002Fdocs\u002Fcomponents\u002Fcontext-menu","docs\u002Fcomponents\u002Fcontext-menu",{"title":97,"path":98,"stem":99,"new":18,"type":19,"children":-1},"Data Table","\u002Fdocs\u002Fcomponents\u002Fdata-table","docs\u002Fcomponents\u002Fdata-table",{"title":101,"path":102,"stem":103,"new":18,"type":19,"children":-1},"Date Picker","\u002Fdocs\u002Fcomponents\u002Fdate-picker","docs\u002Fcomponents\u002Fdate-picker",{"title":105,"path":106,"stem":107,"new":18,"type":19,"children":-1},"Dialog","\u002Fdocs\u002Fcomponents\u002Fdialog","docs\u002Fcomponents\u002Fdialog",{"title":109,"path":110,"stem":111,"new":18,"type":19,"children":-1},"Drawer","\u002Fdocs\u002Fcomponents\u002Fdrawer","docs\u002Fcomponents\u002Fdrawer",{"title":113,"path":114,"stem":115,"new":18,"type":19,"children":-1},"Dropdown Menu","\u002Fdocs\u002Fcomponents\u002Fdropdown-menu","docs\u002Fcomponents\u002Fdropdown-menu",{"title":117,"path":118,"stem":119,"new":18,"type":19,"children":-1},"Empty","\u002Fdocs\u002Fcomponents\u002Fempty","docs\u002Fcomponents\u002Fempty",{"title":121,"path":122,"stem":123,"new":18,"type":19,"children":-1},"Field","\u002Fdocs\u002Fcomponents\u002Ffield","docs\u002Fcomponents\u002Ffield",{"title":125,"path":126,"stem":127,"new":18,"type":19,"children":-1},"Form","\u002Fdocs\u002Fcomponents\u002Fform","docs\u002Fcomponents\u002Fform",{"title":129,"path":130,"stem":131,"new":18,"type":19,"children":-1},"Hover Card","\u002Fdocs\u002Fcomponents\u002Fhover-card","docs\u002Fcomponents\u002Fhover-card",{"title":133,"path":134,"stem":135,"new":18,"type":19,"children":-1},"Input","\u002Fdocs\u002Fcomponents\u002Finput","docs\u002Fcomponents\u002Finput",{"title":137,"path":138,"stem":139,"new":18,"type":19,"children":-1},"Input Group","\u002Fdocs\u002Fcomponents\u002Finput-group","docs\u002Fcomponents\u002Finput-group",{"title":141,"path":142,"stem":143,"new":18,"type":19,"children":-1},"Input OTP","\u002Fdocs\u002Fcomponents\u002Finput-otp","docs\u002Fcomponents\u002Finput-otp",{"title":145,"path":146,"stem":147,"new":18,"type":19,"children":-1},"Item","\u002Fdocs\u002Fcomponents\u002Fitem","docs\u002Fcomponents\u002Fitem",{"title":149,"path":150,"stem":151,"new":18,"type":19,"children":-1},"Kbd","\u002Fdocs\u002Fcomponents\u002Fkbd","docs\u002Fcomponents\u002Fkbd",{"title":153,"path":154,"stem":155,"new":18,"type":19,"children":-1},"Label","\u002Fdocs\u002Fcomponents\u002Flabel","docs\u002Fcomponents\u002Flabel",{"title":157,"path":158,"stem":159,"new":18,"type":19,"children":-1},"Marker","\u002Fdocs\u002Fcomponents\u002Fmarker","docs\u002Fcomponents\u002Fmarker",{"title":161,"path":162,"stem":163,"new":18,"type":19,"children":-1},"Menubar","\u002Fdocs\u002Fcomponents\u002Fmenubar","docs\u002Fcomponents\u002Fmenubar",{"title":165,"path":166,"stem":167,"new":18,"type":19,"children":-1},"Message","\u002Fdocs\u002Fcomponents\u002Fmessage","docs\u002Fcomponents\u002Fmessage",{"title":169,"path":170,"stem":171,"new":18,"type":19,"children":-1},"Message Scroller","\u002Fdocs\u002Fcomponents\u002Fmessage-scroller","docs\u002Fcomponents\u002Fmessage-scroller",{"title":173,"path":174,"stem":175,"new":18,"type":19,"children":-1},"Native Select","\u002Fdocs\u002Fcomponents\u002Fnative-select","docs\u002Fcomponents\u002Fnative-select",{"title":177,"path":178,"stem":179,"new":18,"type":19,"children":-1},"Navigation Menu","\u002Fdocs\u002Fcomponents\u002Fnavigation-menu","docs\u002Fcomponents\u002Fnavigation-menu",{"title":181,"path":182,"stem":183,"new":18,"type":19,"children":-1},"Number Field","\u002Fdocs\u002Fcomponents\u002Fnumber-field","docs\u002Fcomponents\u002Fnumber-field",{"title":185,"path":186,"stem":187,"new":18,"type":19,"children":-1},"Pagination","\u002Fdocs\u002Fcomponents\u002Fpagination","docs\u002Fcomponents\u002Fpagination",{"title":189,"path":190,"stem":191,"new":18,"type":19,"children":-1},"Pin Input","\u002Fdocs\u002Fcomponents\u002Fpin-input","docs\u002Fcomponents\u002Fpin-input",{"title":193,"path":194,"stem":195,"new":18,"type":19,"children":-1},"Popover","\u002Fdocs\u002Fcomponents\u002Fpopover","docs\u002Fcomponents\u002Fpopover",{"title":197,"path":198,"stem":199,"new":18,"type":19,"children":-1},"Progress","\u002Fdocs\u002Fcomponents\u002Fprogress","docs\u002Fcomponents\u002Fprogress",{"title":201,"path":202,"stem":203,"new":204,"type":19,"children":-1},"Questionnaire","\u002Fdocs\u002Fcomponents\u002Fquestionnaire","docs\u002Fcomponents\u002Fquestionnaire",true,{"title":206,"path":207,"stem":208,"new":18,"type":19,"children":-1},"Radio Group","\u002Fdocs\u002Fcomponents\u002Fradio-group","docs\u002Fcomponents\u002Fradio-group",{"title":210,"path":211,"stem":212,"new":18,"type":19,"children":-1},"Range Calendar","\u002Fdocs\u002Fcomponents\u002Frange-calendar","docs\u002Fcomponents\u002Frange-calendar",{"title":214,"path":215,"stem":216,"new":18,"type":19,"children":-1},"Resizable","\u002Fdocs\u002Fcomponents\u002Fresizable","docs\u002Fcomponents\u002Fresizable",{"title":218,"path":219,"stem":220,"new":18,"type":19,"children":-1},"Scroll Area","\u002Fdocs\u002Fcomponents\u002Fscroll-area","docs\u002Fcomponents\u002Fscroll-area",{"title":222,"path":223,"stem":224,"new":18,"type":19,"children":-1},"Select","\u002Fdocs\u002Fcomponents\u002Fselect","docs\u002Fcomponents\u002Fselect",{"title":226,"path":227,"stem":228,"new":18,"type":19,"children":-1},"Separator","\u002Fdocs\u002Fcomponents\u002Fseparator","docs\u002Fcomponents\u002Fseparator",{"title":230,"path":231,"stem":232,"new":18,"type":19,"children":-1},"Sheet","\u002Fdocs\u002Fcomponents\u002Fsheet","docs\u002Fcomponents\u002Fsheet",{"title":234,"path":235,"stem":236,"new":18,"type":19,"children":-1},"Sidebar","\u002Fdocs\u002Fcomponents\u002Fsidebar","docs\u002Fcomponents\u002Fsidebar",{"title":238,"path":239,"stem":240,"new":18,"type":19,"children":-1},"Skeleton","\u002Fdocs\u002Fcomponents\u002Fskeleton","docs\u002Fcomponents\u002Fskeleton",{"title":242,"path":243,"stem":244,"new":18,"type":19,"children":-1},"Slider","\u002Fdocs\u002Fcomponents\u002Fslider","docs\u002Fcomponents\u002Fslider",{"title":246,"path":247,"stem":248,"new":18,"type":19,"children":-1},"Sonner","\u002Fdocs\u002Fcomponents\u002Fsonner","docs\u002Fcomponents\u002Fsonner",{"title":250,"path":251,"stem":252,"new":18,"type":19,"children":-1},"Spinner","\u002Fdocs\u002Fcomponents\u002Fspinner","docs\u002Fcomponents\u002Fspinner",{"title":254,"path":255,"stem":256,"new":18,"type":19,"children":-1},"Stepper","\u002Fdocs\u002Fcomponents\u002Fstepper","docs\u002Fcomponents\u002Fstepper",{"title":258,"path":259,"stem":260,"new":18,"type":19,"children":-1},"Switch","\u002Fdocs\u002Fcomponents\u002Fswitch","docs\u002Fcomponents\u002Fswitch",{"title":262,"path":263,"stem":264,"new":18,"type":19,"children":-1},"Table","\u002Fdocs\u002Fcomponents\u002Ftable","docs\u002Fcomponents\u002Ftable",{"title":266,"path":267,"stem":268,"new":18,"type":19,"children":-1},"Tabs","\u002Fdocs\u002Fcomponents\u002Ftabs","docs\u002Fcomponents\u002Ftabs",{"title":270,"path":271,"stem":272,"new":18,"type":19,"children":-1},"Tags Input","\u002Fdocs\u002Fcomponents\u002Ftags-input","docs\u002Fcomponents\u002Ftags-input",{"title":274,"path":275,"stem":276,"new":18,"type":19,"children":-1},"Textarea","\u002Fdocs\u002Fcomponents\u002Ftextarea","docs\u002Fcomponents\u002Ftextarea",{"title":278,"path":279,"stem":280,"new":18,"type":19,"children":-1},"Toast","\u002Fdocs\u002Fcomponents\u002Ftoast","docs\u002Fcomponents\u002Ftoast",{"title":282,"path":283,"stem":284,"new":18,"type":19,"children":-1},"Toggle","\u002Fdocs\u002Fcomponents\u002Ftoggle","docs\u002Fcomponents\u002Ftoggle",{"title":286,"path":287,"stem":288,"new":18,"type":19,"children":-1},"Toggle Group","\u002Fdocs\u002Fcomponents\u002Ftoggle-group","docs\u002Fcomponents\u002Ftoggle-group",{"title":290,"path":291,"stem":292,"new":18,"type":19,"children":-1},"Tooltip","\u002Fdocs\u002Fcomponents\u002Ftooltip","docs\u002Fcomponents\u002Ftooltip",{"title":294,"path":295,"stem":296,"new":18,"type":19,"children":-1},"Typography","\u002Fdocs\u002Fcomponents\u002Ftypography","docs\u002Fcomponents\u002Ftypography","group",{"title":299,"path":300,"stem":301,"children":302,"new":18,"type":297},"Installation","\u002Fdocs\u002Finstallation","docs\u002F02.installation",[303,308,312,316,320],{"title":304,"path":305,"stem":306,"new":18,"type":307,"children":-1},"Vite","\u002Fdocs\u002Finstallation\u002Fvite","docs\u002Finstallation\u002F01.vite","page",{"title":309,"path":310,"stem":311,"new":18,"type":307,"children":-1},"Nuxt","\u002Fdocs\u002Finstallation\u002Fnuxt","docs\u002Finstallation\u002F02.nuxt",{"title":313,"path":314,"stem":315,"new":18,"type":307,"children":-1},"Astro","\u002Fdocs\u002Finstallation\u002Fastro","docs\u002Finstallation\u002F03.astro",{"title":317,"path":318,"stem":319,"new":18,"type":307,"children":-1},"Laravel","\u002Fdocs\u002Finstallation\u002Flaravel","docs\u002Finstallation\u002F04.laravel",{"title":321,"path":322,"stem":323,"new":18,"type":307,"children":-1},"Manual Installation","\u002Fdocs\u002Finstallation\u002Fmanual","docs\u002Finstallation\u002F05.manual",{"title":325,"path":326,"stem":327,"children":328,"new":18,"type":297},"Dark Mode","\u002Fdocs\u002Fdark-mode","docs\u002F05.dark-mode",[329,332,335,339],{"title":304,"path":330,"stem":331,"new":18,"type":307,"children":-1},"\u002Fdocs\u002Fdark-mode\u002Fvite","docs\u002Fdark-mode\u002F01.vite",{"title":309,"path":333,"stem":334,"new":18,"type":307,"children":-1},"\u002Fdocs\u002Fdark-mode\u002Fnuxt","docs\u002Fdark-mode\u002F02.nuxt",{"title":336,"path":337,"stem":338,"new":18,"type":307,"children":-1},"Vitepress","\u002Fdocs\u002Fdark-mode\u002Fvitepress","docs\u002Fdark-mode\u002F03.vitepress",{"title":313,"path":340,"stem":341,"new":18,"type":307,"children":-1},"\u002Fdocs\u002Fdark-mode\u002Fastro","docs\u002Fdark-mode\u002F04.astro",{"title":343,"path":344,"stem":345,"children":346,"new":18,"type":297},"Directory","\u002Fdocs\u002Fdirectory","docs\u002Fdirectory\u002Findex",[347],{"title":343,"path":344,"stem":345,"new":18,"type":307,"children":-1},{"title":349,"path":350,"stem":351,"children":352,"new":18,"type":297},"Forms","\u002Fdocs\u002Fforms","docs\u002Fforms",[353,357,361],{"title":354,"path":355,"stem":356,"new":18,"type":307,"children":-1},"VeeValidate","\u002Fdocs\u002Fforms\u002Fvee-validate","docs\u002Fforms\u002F01.vee-validate",{"title":358,"path":359,"stem":360,"new":18,"type":307,"children":-1},"TanStack Form","\u002Fdocs\u002Fforms\u002Ftanstack-form","docs\u002Fforms\u002F02.tanstack-form",{"title":362,"path":363,"stem":364,"new":18,"type":307,"children":-1},"Formisch","\u002Fdocs\u002Fforms\u002Fformisch","docs\u002Fforms\u002F03.formisch",{"title":366,"path":367,"stem":368,"children":369,"new":18,"type":297},"Registry","\u002Fdocs\u002Fregistry","docs\u002Fregistry\u002Findex",[370,371,375,379,383,387],{"title":366,"path":367,"stem":368,"new":18,"type":307,"children":-1},{"title":372,"path":373,"stem":374,"new":18,"type":307,"children":-1},"Examples","\u002Fdocs\u002Fregistry\u002Fexamples","docs\u002Fregistry\u002Fexamples",{"title":376,"path":377,"stem":378,"new":18,"type":307,"children":-1},"FAQ","\u002Fdocs\u002Fregistry\u002Ffaq","docs\u002Fregistry\u002Ffaq",{"title":380,"path":381,"stem":382,"new":18,"type":307,"children":-1},"Getting Started","\u002Fdocs\u002Fregistry\u002Fgetting-started","docs\u002Fregistry\u002Fgetting-started",{"title":384,"path":385,"stem":386,"new":18,"type":307,"children":-1},"registry-item.json","\u002Fdocs\u002Fregistry\u002Fregistry-item-json","docs\u002Fregistry\u002Fregistry-item-json",{"title":388,"path":389,"stem":390,"new":18,"type":307,"children":-1},"registry.json","\u002Fdocs\u002Fregistry\u002Fregistry-json","docs\u002Fregistry\u002Fregistry-json",{"title":392,"path":393,"stem":394,"children":395,"new":18,"type":297},"Utilities","\u002Fdocs\u002Futilities","docs\u002Futilities\u002Findex",[396,397,401],{"title":392,"path":393,"stem":394,"new":18,"type":307,"children":-1},{"title":398,"path":399,"stem":400,"new":18,"type":307,"children":-1},"scroll-fade","\u002Fdocs\u002Futilities\u002Fscroll-fade","docs\u002Futilities\u002Fscroll-fade",{"title":402,"path":403,"stem":404,"new":18,"type":307,"children":-1},"shimmer","\u002Fdocs\u002Futilities\u002Fshimmer","docs\u002Futilities\u002Fshimmer",{"path":6,"stem":7,"title":406,"type":297,"children":407},"Get Started",[408,412,419,423,427,433,437,441,445,449,453,457,461,465],{"title":409,"path":410,"stem":411,"new":18,"type":307,"children":-1},"Introduction","\u002Fdocs\u002Fintroduction","docs\u002F01.introduction",{"title":299,"path":300,"stem":301,"children":413,"new":18,"type":297},[414,415,416,417,418],{"title":304,"path":305,"stem":306,"new":18,"type":307,"children":-1},{"title":309,"path":310,"stem":311,"new":18,"type":307,"children":-1},{"title":313,"path":314,"stem":315,"new":18,"type":307,"children":-1},{"title":317,"path":318,"stem":319,"new":18,"type":307,"children":-1},{"title":321,"path":322,"stem":323,"new":18,"type":307,"children":-1},{"title":420,"path":421,"stem":422,"new":18,"type":307,"children":-1},"components.json","\u002Fdocs\u002Fcomponents-json","docs\u002F03.components-json",{"title":424,"path":425,"stem":426,"new":18,"type":307,"children":-1},"Theming","\u002Fdocs\u002Ftheming","docs\u002F04.theming",{"title":325,"path":326,"stem":327,"children":428,"new":18,"type":297},[429,430,431,432],{"title":304,"path":330,"stem":331,"new":18,"type":307,"children":-1},{"title":309,"path":333,"stem":334,"new":18,"type":307,"children":-1},{"title":336,"path":337,"stem":338,"new":18,"type":307,"children":-1},{"title":313,"path":340,"stem":341,"new":18,"type":307,"children":-1},{"title":434,"path":435,"stem":436,"new":18,"type":307,"children":-1},"CLI","\u002Fdocs\u002Fcli","docs\u002F06.cli",{"title":438,"path":439,"stem":440,"new":18,"type":307,"children":-1},"JavaScript","\u002Fdocs\u002Fjavascript","docs\u002F07.javascript",{"title":442,"path":443,"stem":444,"new":18,"type":307,"children":-1},"RTL","\u002Fdocs\u002Frtl","docs\u002F08.rtl",{"title":446,"path":447,"stem":448,"new":18,"type":307,"children":-1},"Figma","\u002Fdocs\u002Ffigma","docs\u002F09.figma",{"title":450,"path":451,"stem":452,"new":18,"type":307,"children":-1},"Changelog","\u002Fdocs\u002Fchangelog","docs\u002F10.changelog",{"title":454,"path":455,"stem":456,"new":18,"type":307,"children":-1},"Legacy Docs","\u002Fdocs\u002Flegacy","docs\u002F11.legacy",{"title":458,"path":459,"stem":460,"new":18,"type":307,"children":-1},"Skills","\u002Fdocs\u002Fskills","docs\u002Fskills",{"title":462,"path":463,"stem":464,"new":18,"type":307,"children":-1},"Typeset","\u002Fdocs\u002Ftypeset","docs\u002Ftypeset",{"title":392,"path":393,"stem":394,"children":466,"new":18,"type":297},[467,468,469],{"title":392,"path":393,"stem":394,"new":18,"type":307,"children":-1},{"title":398,"path":399,"stem":400,"new":18,"type":307,"children":-1},{"title":402,"path":403,"stem":404,"new":18,"type":307,"children":-1},{"repo":471},{"id":472,"name":473,"repo":474,"description":475,"createdAt":476,"updatedAt":477,"pushedAt":478,"stars":479,"watchers":479,"forks":479,"defaultBranch":480},1360880822,"v-design","v-stella\u002Fv-design","An open-source Vue design system and component registry.","2026-09-08T03:28:46Z","2026-09-09T08:39:14Z","2026-09-09T08:36:47Z",0,"dev",{"id":482,"title":402,"body":483,"description":933,"extension":934,"links":935,"meta":936,"navigation":204,"new":18,"path":403,"rawbody":937,"seo":938,"stem":404,"__hash__":939},"content\u002Fdocs\u002Futilities\u002Fshimmer.md",{"type":484,"value":485,"toc":918},"minimark",[486,490,494,510,516,526,529,537,541,704,710,718,725,742,749,753,759,762,766,779,782,786,799,802,805,811,815,823,826,830,839,843,851,854,858,863,866,870,891,899,903,906,909,915],[487,488],"component-preview",{"name":489},"ShimmerDemo",[491,492,299],"h2",{"id":493},"installation",[495,496,497,498,502,503,505,506,509],"p",{},"If your project was set up with ",[499,500,501],"code",{},"npx shadcn-vue@latest init",", you already have ",[499,504,402],{},". It ships with the ",[499,507,508],{},"shadcn-vue"," package, which the CLI imports in your global CSS file.",[495,511,512,513,515],{},"Otherwise, install the ",[499,514,508],{}," package:",[517,518,524],"pre",{"className":519,"code":521,"language":522,"meta":523},[520],"language-bash","npm install shadcn-vue\n","bash","",[499,525,521],{"__ignoreMap":523},[495,527,528],{},"Then import the shared utilities in your global CSS file:",[517,530,535],{"className":531,"code":533,"language":534,"meta":523},[532],"language-css","@import \"tailwindcss\";\n@import \"shadcn-vue\u002Ftailwind.css\";\n","css",[499,536,533],{"__ignoreMap":523},[491,538,540],{"id":539},"usage","Usage",[542,543,544,557],"table",{},[545,546,547],"thead",{},[548,549,550,554],"tr",{},[551,552,553],"th",{},"Class",[551,555,556],{},"Styles",[558,559,560,579,591,603,620,632,644,656,668,680,692],"tbody",{},[548,561,562,567],{},[563,564,565],"td",{},[499,566,402],{},[563,568,569,572,573,572,576],{},[499,570,571],{},"background-clip: text;"," ",[574,575],"br",{},[499,577,578],{},"animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;",[548,580,581,586],{},[563,582,583],{},[499,584,585],{},"shimmer-once",[563,587,588],{},[499,589,590],{},"animation-iteration-count: 1;",[548,592,593,598],{},[563,594,595],{},[499,596,597],{},"shimmer-reverse",[563,599,600],{},[499,601,602],{},"animation-direction: reverse;",[548,604,605,610],{},[563,606,607],{},[499,608,609],{},"shimmer-none",[563,611,612,572,615,572,617],{},[499,613,614],{},"--shimmer-image: none;",[574,616],{},[499,618,619],{},"--shimmer-text-fill: currentColor;",[548,621,622,627],{},[563,623,624],{},[499,625,626],{},"shimmer-color-\u003Ccolor>",[563,628,629],{},[499,630,631],{},"--shimmer-color: \u003Ccolor>;",[548,633,634,639],{},[563,635,636],{},[499,637,638],{},"shimmer-color-[\u003Cvalue>]",[563,640,641],{},[499,642,643],{},"--shimmer-color: \u003Cvalue>;",[548,645,646,651],{},[563,647,648],{},[499,649,650],{},"shimmer-color-\u003Ccolor>\u002F\u003Cpct>",[563,652,653],{},[499,654,655],{},"--shimmer-color: color-mix(in oklch, \u003Ccolor> \u003Cpct>, transparent);",[548,657,658,663],{},[563,659,660],{},[499,661,662],{},"shimmer-duration-\u003Cnumber>",[563,664,665],{},[499,666,667],{},"--shimmer-duration: calc(\u003Cnumber> * 1ms);",[548,669,670,675],{},[563,671,672],{},[499,673,674],{},"shimmer-spread-\u003Cnumber>",[563,676,677],{},[499,678,679],{},"--shimmer-spread: calc(var(--spacing) * \u003Cnumber>);",[548,681,682,687],{},[563,683,684],{},[499,685,686],{},"shimmer-spread-[\u003Cvalue>]",[563,688,689],{},[499,690,691],{},"--shimmer-spread: \u003Cvalue>;",[548,693,694,699],{},[563,695,696],{},[499,697,698],{},"shimmer-angle-\u003Cnumber>",[563,700,701],{},[499,702,703],{},"--shimmer-angle: calc(\u003Cnumber> * 1deg);",[495,705,706,707,709],{},"Add ",[499,708,402],{}," to a text element.",[517,711,716],{"className":712,"code":714,"language":715,"meta":523},[713],"language-tsx","\u003Cp class=\"shimmer text-muted-foreground\">Generating response&hellip;\u003C\u002Fp>\n","tsx",[499,717,714],{"__ignoreMap":523},[495,719,720,721,724],{},"The shimmer is built on ",[499,722,723],{},"currentColor",", so it adapts to the element:",[726,727,728,732,739],"ul",{},[729,730,731],"li",{},"The highlight is derived from the text color, with no configuration needed.",[729,733,734,735,738],{},"It works on any color, from ",[499,736,737],{},"text-muted-foreground"," to brand colors.",[729,740,741],{},"In dark mode, the highlight automatically brightens to stay visible.",[495,743,744,745,748],{},"The effect is pure CSS. The text is painted with ",[499,746,747],{},"background-clip: text",", and the highlight sweeps across it in a seamless loop.",[491,750,752],{"id":751},"color","Color",[495,754,755,756,758],{},"Use ",[499,757,626],{}," to set the highlight color explicitly. It accepts theme colors with an optional opacity modifier, or any arbitrary color value.",[487,760],{"name":761},"ShimmerColorDemo",[491,763,765],{"id":764},"duration","Duration",[495,767,755,768,770,771,774,775,778],{},[499,769,662],{}," to set the duration of one sweep in milliseconds. The default is ",[499,772,773],{},"2000",", i.e. ",[499,776,777],{},"2s",".",[487,780],{"name":781},"ShimmerDurationDemo",[491,783,785],{"id":784},"spread","Spread",[495,787,755,788,790,791,794,795,798],{},[499,789,674],{}," to set the width of the highlight band using the spacing scale. The default is ",[499,792,793],{},"calc(3ch + 40px)",": a fixed base plus a ",[499,796,797],{},"3ch"," term that scales with the font size.",[487,800],{"name":801},"ShimmerSpreadDemo",[495,803,804],{},"For one-off values, use an arbitrary length or percentage:",[517,806,809],{"className":807,"code":808,"language":715,"meta":523},[713],"\u003Cp class=\"shimmer shimmer-spread-[5rem]\">Generating response&hellip;\u003C\u002Fp>\n",[499,810,808],{"__ignoreMap":523},[491,812,814],{"id":813},"angle","Angle",[495,816,755,817,819,820,778],{},[499,818,698],{}," to set the tilt of the highlight band in degrees. The default is ",[499,821,822],{},"20",[487,824],{"name":825},"ShimmerAngleDemo",[491,827,829],{"id":828},"reverse","Reverse",[495,831,755,832,834,835,778],{},[499,833,597],{}," to sweep the highlight in the opposite direction. In RTL layouts the sweep already follows the reading direction. See ",[836,837,442],"a",{"href":838},"#rtl",[491,840,842],{"id":841},"play-once","Play Once",[495,844,755,845,847,848,850],{},[499,846,585],{}," to play a single sweep instead of looping, useful as a reveal when streaming completes. Pair it with ",[499,849,662],{}," to control how long the sweep takes.",[487,852],{"name":853},"ShimmerPlayOnceDemo",[491,855,857],{"id":856},"disabling-the-shimmer","Disabling the Shimmer",[495,859,755,860,862],{},[499,861,609],{}," to turn the effect off and render the text normally. It works in any class order, so the typical use is responsive or stateful:",[487,864],{"name":865},"ShimmerDisablingDemo",[491,867,869],{"id":868},"fallback","Fallback",[495,871,872,873,879,880,883,884,886,887,890],{},"The shimmer is built on modern color features, ",[836,874,878],{"href":875,"rel":876},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002FCSS_colors\u002FRelative_colors",[877],"nofollow","relative color syntax"," and ",[499,881,882],{},"color-mix()",", which are available in all current browsers. In older browsers without support, the highlight gradient is dropped and the text can render transparent. If you target older browsers, apply ",[499,885,402],{}," conditionally with a ",[499,888,889],{},"supports-*"," variant:",[517,892,897],{"className":893,"code":895,"language":896,"meta":523},[894],"language-vue","\u003Cp class=\"supports-[color:oklch(from_white_l_c_h)]:shimmer\">\n  Generating response&hellip;\n\u003C\u002Fp>\n","vue",[499,898,895],{"__ignoreMap":523},[491,900,902],{"id":901},"reduced-motion","Reduced Motion",[495,904,905],{},"When the user prefers reduced motion, the animation is disabled automatically and the text renders normally. There is nothing to configure.",[491,907,442],{"id":908},"rtl",[495,910,911,912,914],{},"The sweep follows the reading direction, left to right in LTR and right to left in RTL, with no extra classes. Use ",[499,913,597],{}," to flip the direction manually.",[487,916],{"name":917},"ShimmerRTLDemo",{"title":523,"searchDepth":919,"depth":919,"links":920},2,[921,922,923,924,925,926,927,928,929,930,931,932],{"id":493,"depth":919,"text":299},{"id":539,"depth":919,"text":540},{"id":751,"depth":919,"text":752},{"id":764,"depth":919,"text":765},{"id":784,"depth":919,"text":785},{"id":813,"depth":919,"text":814},{"id":828,"depth":919,"text":829},{"id":841,"depth":919,"text":842},{"id":856,"depth":919,"text":857},{"id":868,"depth":919,"text":869},{"id":901,"depth":919,"text":902},{"id":908,"depth":919,"text":442},"Utilities for adding a shimmer effect to text elements.","md",null,{},"---\ntitle: shimmer\ndescription: Utilities for adding a shimmer effect to text elements.\n---\n\n::component-preview\n---\nname: ShimmerDemo\n---\n::\n\n\n## Installation\n\nIf your project was set up with `npx shadcn-vue@latest init`, you already have `shimmer`. It ships with the `shadcn-vue` package, which the CLI imports in your global CSS file.\n\nOtherwise, install the `shadcn-vue` package:\n\n```bash\nnpm install shadcn-vue\n```\n\nThen import the shared utilities in your global CSS file:\n\n```css\n@import \"tailwindcss\";\n@import \"shadcn-vue\u002Ftailwind.css\";\n```\n\n\n## Usage\n\n| Class                         | Styles                                                                                               |\n| ----------------------------- | ---------------------------------------------------------------------------------------------------- |\n| `shimmer`                     | `background-clip: text;` \u003Cbr \u002F> `animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;` |\n| `shimmer-once`                | `animation-iteration-count: 1;`                                                                      |\n| `shimmer-reverse`             | `animation-direction: reverse;`                                                                      |\n| `shimmer-none`                | `--shimmer-image: none;` \u003Cbr \u002F> `--shimmer-text-fill: currentColor;`                                 |\n| `shimmer-color-\u003Ccolor>`       | `--shimmer-color: \u003Ccolor>;`                                                                          |\n| `shimmer-color-[\u003Cvalue>]`     | `--shimmer-color: \u003Cvalue>;`                                                                          |\n| `shimmer-color-\u003Ccolor>\u002F\u003Cpct>` | `--shimmer-color: color-mix(in oklch, \u003Ccolor> \u003Cpct>, transparent);`                                  |\n| `shimmer-duration-\u003Cnumber>`   | `--shimmer-duration: calc(\u003Cnumber> * 1ms);`                                                          |\n| `shimmer-spread-\u003Cnumber>`     | `--shimmer-spread: calc(var(--spacing) * \u003Cnumber>);`                                                 |\n| `shimmer-spread-[\u003Cvalue>]`    | `--shimmer-spread: \u003Cvalue>;`                                                                         |\n| `shimmer-angle-\u003Cnumber>`      | `--shimmer-angle: calc(\u003Cnumber> * 1deg);`                                                            |\n\nAdd `shimmer` to a text element.\n\n```tsx\n\u003Cp class=\"shimmer text-muted-foreground\">Generating response&hellip;\u003C\u002Fp>\n```\n\nThe shimmer is built on `currentColor`, so it adapts to the element:\n\n- The highlight is derived from the text color, with no configuration needed.\n- It works on any color, from `text-muted-foreground` to brand colors.\n- In dark mode, the highlight automatically brightens to stay visible.\n\nThe effect is pure CSS. The text is painted with `background-clip: text`, and the highlight sweeps across it in a seamless loop.\n\n\n## Color\n\nUse `shimmer-color-\u003Ccolor>` to set the highlight color explicitly. It accepts theme colors with an optional opacity modifier, or any arbitrary color value.\n\n::component-preview\n---\nname: ShimmerColorDemo\n---\n::\n\n\n## Duration\n\nUse `shimmer-duration-\u003Cnumber>` to set the duration of one sweep in milliseconds. The default is `2000`, i.e. `2s`.\n\n::component-preview\n---\nname: ShimmerDurationDemo\n---\n::\n\n\n## Spread\n\nUse `shimmer-spread-\u003Cnumber>` to set the width of the highlight band using the spacing scale. The default is `calc(3ch + 40px)`: a fixed base plus a `3ch` term that scales with the font size.\n\n::component-preview\n---\nname: ShimmerSpreadDemo\n---\n::\n\nFor one-off values, use an arbitrary length or percentage:\n\n```tsx\n\u003Cp class=\"shimmer shimmer-spread-[5rem]\">Generating response&hellip;\u003C\u002Fp>\n```\n\n\n## Angle\n\nUse `shimmer-angle-\u003Cnumber>` to set the tilt of the highlight band in degrees. The default is `20`.\n\n::component-preview\n---\nname: ShimmerAngleDemo\n---\n::\n\n\n## Reverse\n\nUse `shimmer-reverse` to sweep the highlight in the opposite direction. In RTL layouts the sweep already follows the reading direction. See [RTL](#rtl).\n\n\n## Play Once\n\nUse `shimmer-once` to play a single sweep instead of looping, useful as a reveal when streaming completes. Pair it with `shimmer-duration-\u003Cnumber>` to control how long the sweep takes.\n\n::component-preview\n---\nname: ShimmerPlayOnceDemo\n---\n::\n\n\n## Disabling the Shimmer\n\nUse `shimmer-none` to turn the effect off and render the text normally. It works in any class order, so the typical use is responsive or stateful:\n\n::component-preview\n---\nname: ShimmerDisablingDemo\n---\n::\n\n\n## Fallback\n\nThe shimmer is built on modern color features, [relative color syntax](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002FCSS_colors\u002FRelative_colors) and `color-mix()`, which are available in all current browsers. In older browsers without support, the highlight gradient is dropped and the text can render transparent. If you target older browsers, apply `shimmer` conditionally with a `supports-*` variant:\n\n```vue\n\u003Cp class=\"supports-[color:oklch(from_white_l_c_h)]:shimmer\">\n  Generating response&hellip;\n\u003C\u002Fp>\n```\n\n\n## Reduced Motion\n\nWhen the user prefers reduced motion, the animation is disabled automatically and the text renders normally. There is nothing to configure.\n\n\n## RTL\n\nThe sweep follows the reading direction, left to right in LTR and right to left in RTL, with no extra classes. Use `shimmer-reverse` to flip the direction manually.\n\n::component-preview\n---\nname: ShimmerRTLDemo\n---\n::\n",{"title":402,"description":933},"ygHzPh_6FndX6oHRDIC_ru4BBUgXNKtjDlqxpGH3sqM",[941,935],{"title":398,"path":399,"stem":400,"children":-1},1788943243584]