### Installation Instructions Source: https://inspira-ui.com/docs/en/getting-started/contribution Provide CLI and manual installation methods for components. ```markdown ## Install using CLI ::InstallationCli{componentId="your-component-folder-name"} :: ## Install Manually Copy and paste the following code in the same folder ::code-group :CodeViewerTab{label="YourComponent.vue" language="vue" componentName="YourComponent" type="ui" id="your-component-folder-name"} :CodeViewerTab{filename="YourComponent2.vue" language="vue" componentName="YourComponent2" type="ui" id="your-component-folder-name"} :: ``` -------------------------------- ### Include Installation Instructions Source: https://inspira-ui.com/docs/en/getting-started/contribution Provide both CLI and manual installation methods for the component. ```markdown ## Install using CLI ::InstallationCli{componentId="your-component-folder-name"} :: ## Install Manually Copy and paste the following code ::CodeViewer{filename="YourComponent.vue" language="vue" componentName="YourComponent" type="ui" id="your-component-folder-name"} :: ``` -------------------------------- ### Full Component Documentation Example Source: https://inspira-ui.com/docs/en/getting-started/contribution A complete example of a single-file component documentation page. ```markdown --- title: Text Hover Effect description: A text hover effect that animates and outlines gradient on hover, as seen on x.ai --- ::ComponentLoader{label="Preview" componentName="TextHoverEffectDemo" type="examples"} :: ::alert{type="warning"} This component uses the `nuxt-only` syntax with the ``. If you are not using Nuxt, you can simply remove it. :: ## Install using CLI ::InstallationCli{componentId="text-hover-effect"} :: ## Install Manually Copy and paste the following code ::CodeViewer{filename="TextHoverEffect.vue" language="vue" componentName="TextHoverEffect" type="ui" id="text-hover-effect"} :: ## API | Prop Name | Type | Default | Description | | ------------- | -------- | -------- | --------------------------------------------------------- | | `text` | `string` | Required | The text to be displayed with the hover effect. | | `duration` | `number` | `200` | The duration of the mask transition animation in seconds. | | `strokeWidth` | `number` | `0.75` | The width of the text stroke. | | `opacity` | `number` | `null` | The opacity of the text. | ``` -------------------------------- ### Test component installation via CLI Source: https://inspira-ui.com/docs/en/getting-started/contribution Use this command to verify component installation from a local registry URL after building. ```bash npx shadcn-vue@latest add "https://localhost:3000/r/" ``` -------------------------------- ### Install project dependencies Source: https://inspira-ui.com/docs/en/getting-started/contribution Run this command in the project root to install all required dependencies using pnpm. ```bash pnpm install ``` -------------------------------- ### Infinite Grid Implementation Source: https://inspira-ui.com/docs/en/components/visualization/infinite-grid Demonstrates the setup of card data, configuration options, and the template structure for the Infinite Grid component. ```vue ``` -------------------------------- ### Install Inspira UI dependencies Source: https://inspira-ui.com/docs/en/getting-started/installation Install the required supporting libraries for Inspira UI using your preferred package manager. ```bash npm install @vueuse/core motion-v tw-animate-css @inspira-ui/plugins ``` ```bash pnpm install @vueuse/core motion-v tw-animate-css @inspira-ui/plugins ``` ```bash bun add @vueuse/core motion-v tw-animate-css @inspira-ui/plugins ``` ```bash yarn add @vueuse/core motion-v tw-animate-css @inspira-ui/plugins ``` -------------------------------- ### Implement Glare Card Component Source: https://inspira-ui.com/docs/en/components/cards/glare-card Usage example for the GlareCard component with configurable tone properties. ```vue ``` -------------------------------- ### Implement Multi-Step Loader in Vue Source: https://inspira-ui.com/docs/en/components/miscellaneous/multi-step-loader Demonstrates the setup of a Multi-Step Loader component using Vue 3 Composition API, including configuration for both simple and async loading modes. ```vue   ``` -------------------------------- ### Implement Animated Tooltip in Vue Source: https://inspira-ui.com/docs/en/components/miscellaneous/animated-tooltip Demonstrates how to use the AnimatedTooltip component with a list of user objects in a Vue 3 setup script. ```vue ``` -------------------------------- ### Photo Gallery Component Usage Source: https://inspira-ui.com/docs/en/components/miscellaneous/photo-gallery Demonstrates how to define image items and pass them to the PhotoGallery component using Vue 3 script setup. ```vue ``` -------------------------------- ### Implement Lens Component in Vue Source: https://inspira-ui.com/docs/en/components/miscellaneous/lens Usage example for the Lens component, demonstrating how to wrap content and handle hover states. ```vue    ``` -------------------------------- ### Implement Letter Pullup Component Source: https://inspira-ui.com/docs/en/components/text-animations/letter-pullup Usage example for the LetterPullup component, demonstrating how to pass words and delay props. ```vue ``` -------------------------------- ### Text Reveal Component Usage Source: https://inspira-ui.com/docs/en/components/text-animations/text-reveal Example implementation of the TextReveal component in a Vue file, demonstrating prop configuration for duration, delay, and stagger. ```vue ``` -------------------------------- ### Implement Image Trail Cursor in Vue Source: https://inspira-ui.com/docs/en/components/cursors/image-trail-cursor Usage example for the Image Trail Cursor component, demonstrating how to pass an array of image URLs and a variant prop. ```vue ``` -------------------------------- ### Bending Gallery Component Usage Source: https://inspira-ui.com/docs/en/components/visualization/bending-gallery Example implementation of the BendingGallery component in a Vue 3 setup using TypeScript. ```vue ``` -------------------------------- ### Component Preview Loader Source: https://inspira-ui.com/docs/en/getting-started/contribution Use this syntax to include a preview section for a component variant. ```markdown ::ComponentLoader{label="Preview" componentName="ComponentVariantDemo" type="examples" id="your-component-folder-name"} :: ``` -------------------------------- ### Display Component Preview Source: https://inspira-ui.com/docs/en/getting-started/contribution Use the ComponentLoader to render a live preview of the component. ```markdown ::ComponentLoader{label="Preview" componentName="YourComponentDemo" type="examples" id="your-component-folder-name"} :: ``` -------------------------------- ### Implement VanishingInput Component Source: https://inspira-ui.com/docs/en/components/input-and-forms/placeholders-and-vanish-input Usage example for the VanishingInput component in a Vue application, including custom placeholder configuration. ```vue    ``` -------------------------------- ### Implement Link Preview in Vue Source: https://inspira-ui.com/docs/en/components/miscellaneous/link-preview Demonstrates how to use the LinkPreview component with custom URLs and optional width/height props. ```vue ``` -------------------------------- ### Define Multi-File Front Matter Source: https://inspira-ui.com/docs/en/getting-started/contribution Use this template for documentation pages covering a group of components. ```yaml --- title: Your Components Group Title description: A brief description of what this group of components does. --- ``` -------------------------------- ### Define Globe Arc Data Source: https://inspira-ui.com/docs/en/components/visualization/github-globe An array of objects defining the start and end coordinates, arc altitude, and color for globe connections. ```typescript endLat: 35.6762, endLng: 139.6503, arcAlt: 0.1, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 6, startLat: 22.3193, startLng: 114.1694, endLat: 51.5072, endLng: -0.1276, arcAlt: 0.3, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 7, startLat: -19.885592, startLng: -43.951191, endLat: -15.595412, endLng: -56.05918, arcAlt: 0.1, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 7, startLat: 48.8566, startLng: -2.3522, endLat: 52.52, endLng: 13.405, arcAlt: 0.1, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 7, startLat: 52.52, startLng: 13.405, endLat: 34.0522, endLng: -118.2437, arcAlt: 0.2, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 8, startLat: -8.833221, startLng: 13.264837, endLat: -33.936138, endLng: 18.436529, arcAlt: 0.2, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 8, startLat: 49.2827, startLng: -123.1207, endLat: 52.3676, endLng: 4.9041, arcAlt: 0.2, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 8, startLat: 1.3521, startLng: 103.8198, endLat: 40.7128, endLng: -74.006, arcAlt: 0.5, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 9, startLat: 51.5072, startLng: -0.1276, endLat: 34.0522, endLng: -118.2437, arcAlt: 0.2, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 9, startLat: 22.3193, startLng: 114.1694, endLat: -22.9068, endLng: -43.1729, arcAlt: 0.7, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 9, startLat: 1.3521, startLng: 103.8198, endLat: -34.6037, endLng: -58.3816, arcAlt: 0.5, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 10, startLat: -22.9068, startLng: -43.1729, endLat: 28.6139, endLng: 77.209, arcAlt: 0.7, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 10, startLat: 34.0522, startLng: -118.2437, endLat: 31.2304, endLng: 121.4737, arcAlt: 0.3, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 10, startLat: -6.2088, startLng: 106.8456, endLat: 52.3676, endLng: 4.9041, arcAlt: 0.3, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 11, startLat: 41.9028, startLng: 12.4964, endLat: 34.0522, endLng: -118.2437, arcAlt: 0.2, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 11, startLat: -6.2088, startLng: 106.8456, endLat: 31.2304, endLng: 121.4737, arcAlt: 0.2, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 11, startLat: 22.3193, startLng: 114.1694, endLat: 1.3521, endLng: 103.8198, arcAlt: 0.2, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 12, startLat: 34.0522, startLng: -118.2437, endLat: 37.7749, endLng: -122.4194, arcAlt: 0.1, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 12, startLat: 35.6762, startLng: 139.6503, endLat: 22.3193, endLng: 114.1694, arcAlt: 0.2, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 12, startLat: 22.3193, startLng: 114.1694, endLat: 34.0522, endLng: -118.2437, arcAlt: 0.3, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 13, startLat: 52.52, startLng: 13.405, endLat: 22.3193, endLng: 114.1694, arcAlt: 0.3, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 13, startLat: 11.986597, startLng: 8.571831, endLat: 35.6762, endLng: 139.6503, arcAlt: 0.3, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 13, startLat: -22.9068, startLng: -43.1729, endLat: -34.6037, endLng: -58.3816, arcAlt: 0.1, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, }, { order: 14, startLat: -33.936138, startLng: 18.436529, endLat: 21.395643, endLng: 39.883798, arcAlt: 0.3, color: colors[Math.floor(Math.random() * (colors.length - 1))] as string, },]; ``` -------------------------------- ### Book Component Usage Source: https://inspira-ui.com/docs/en/components/miscellaneous/book Demonstrates how to implement the Book component with its available props and sub-components like BookHeader, BookTitle, and BookDescription. ```vue    ``` -------------------------------- ### Implement Meteors Component in Vue Source: https://inspira-ui.com/docs/en/components/special-effects/meteors Usage example of the Meteors component within a Vue template, including props configuration and layout structure. ```vue ``` -------------------------------- ### Define API Documentation Table Source: https://inspira-ui.com/docs/en/getting-started/contribution List all component props in a table format. ```markdown ## API | Prop Name | Type | Default | Description | | --------- | --------- | ------- | ------------------------------ | | `prop1` | `string` | `''` | Description of prop1. | | `prop2` | `number` | `0` | Description of prop2. | | `prop2` | `?number` | `0` | Description of prop2 optional. | ``` -------------------------------- ### Define YAML Front Matter Source: https://inspira-ui.com/docs/en/getting-started/contribution Use this template at the beginning of your component documentation file. ```yaml --- title: Your Component Title description: A brief description of what your component does. --- ```