Docs Components Examples
Carousel
<Carousel autoplay animationDuration="1500" showBullets perView="3">
<img src="slide1.jpg" alt="Slide 1" />
<img src="slide2.jpg" alt="Slide 2" />
<img src="slide3.jpg" alt="Slide 3" />
</Carousel>
This example demonstrates how to use the Carousel
component with the following props:
autoplay
: Enables autoplay for the carousel.animationDuration="1500"
: Sets the animation duration to 1500 milliseconds.showControls
: Shows the previous and next controls for the carousel.showBullets
: Shows the bullet navigation for the carousel.perView="3"
: Displays three slides at a time in the carousel.
Inside the Carousel
component, you can place any content you want to display as slides. In this example, we’re using <img>
elements with source paths to slide1.jpg
, slide2.jpg
, and slide3.jpg
.
Callouts
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fermentum dapibus diam lacinia curabitur nullam habitasse etiam. Aliquam dolor nostra himenaeos ullamcorper duis venenatis laoreet. Netus dictum hac donec risus adipiscing tempus ultrices. Vivamus eros volutpat suscipit mi a lacus volutpat.
Dolor semper vehicula cras convallis id sociosqu lacus. At ligula porta habitasse nunc ridiculus odio litora. Vestibulum suscipit nisi urna montes conubia fringilla nascetur. Turpis rutrum nunc ad elementum molestie interdum curae. Integer euismod mi luctus proin habitant interdum proin.
Litora dui mus cum condimentum mus eget suscipit. Tellus phasellus duis phasellus elementum vitae pretium et. Netus habitasse tincidunt semper nullam sociosqu nisl mollis. Est hendrerit nulla ante fusce faucibus convallis vulputate. Metus imperdiet fusce id rhoncus urna ridiculus sem.
<Callout type="success" title="title" emoji='🦆' collapsible>
- The type comes with a color scheme and default emoji
- "title" is optional
- "emoji" is optional
- "collapsible" is only added when the collapsible feature is wanted
</Callout>
undefined or unsupported type
default to this color scheme
this is a default callout
this is a example callout
this is a note callout
this is a abstract callout
this is a info callout
this is a tip callout
this is a success callout
this is a question callout
this is a warning callout
this is a error callout
this is a danger callout
this is a bug callout
this is a quote callout
<Callout type="success" title="title" emoji='🦆'>
- The type comes with a color scheme and default emoji
- "title" is optional
- "emoji" is optional
- "collapsible" is only added when the collapsible feature is wanted
</Callout>
Option Table
Key | Type | Description | Example |
---|---|---|---|
EXAMPLE | boolean | This is an example. | EXAMPLE=true |
<OptionTable
options={[
['EXAMPLE', 'boolean', 'This is an example.','EXAMPLE=true'],
]}
/>
File Tree
- main.js
- package.json
<FileTree.Folder>
: Represents a folder. It can hold nested Folder or File components.<FileTree.File>
: Represents a file. This component only requires a name prop, which determines the file name displayed in the UI.name
: This determines the name of the file or folder as displayed in the UI.defaultOpen
: This shows the initial state of a Folder. If it is set to true, the Folder will be expanded when first rendered.open
: If this prop is passed to a Folder, it will always be open regardless of user interaction. This is useful when you want to maintain certain sections of the file tree exposed.active
: When this prop is used in a File, the file name will be highlighted. This is handy when you want to show users which file is currently active or selected.
<FileTree>
<FileTree.Folder name="src" defaultOpen>
<FileTree.File name="main.js" active />
<FileTree.Folder name="components">
<FileTree.File name="Header.js" />
<FileTree.File name="Footer.js" />
</FileTree.Folder>
</FileTree.Folder>
<FileTree.File name="package.json" />
</FileTree>
Cards
import { Code } from '@/components/svg/'
;<Cards>
<Cards.Card icon={<Code />} title="Code" href="/" />
</Cards>
import { Code } from '@/components/svg/'
;<Cards.Card icon={<Code />} title="Code" href="/" />
Default Button
Open ecosystem.Ai’s website in a new tab:
Open ecosystem.Ai’s website in the current tab:
And here’s a button with Alert:
<Button onClick={() => window.open("https://ecosystem.ai", '_blank')}>🪶 ecosystem.ai</Button>
{' '}
<Button onClick={() => window.open('https://ecosystem.ai', '_self')}>🪶 ecosystem.ai</Button>
<Button className="my-extra-class" onClick={() => alert('This is an Alert')}>
⚠️ Alert Button
</Button>
Features
This example showcases the usage of the <Features>
and <Feature>
components for displaying feature sections. The <Feature>
component can be customized with different props such as href
for linking, medium
or large
for size, lightOnly
for light mode only, and centered
for centering the content.
The provided code includes a mix of Markdown content and the <Features>
section. Inside the <Features>
section, there are four <Feature>
components with different configurations to demonstrate different use cases.
import { Feature, Features } from '@/components/features'
;<Features>
<Feature href="https://example.com">This is a feature with a link.</Feature>
<Feature medium lightOnly>
This is a medium "lightOnly" feature occupying two spaces.
</Feature>
<Feature large centered>
This is a large feature with "centered" attribute.
</Feature>
<Feature large>![](/images/banner.png)</Feature>
</Features>
Simple Tabs
React is a JavaScript library for building user interfaces.
Vue is a progressive JavaScript framework for building user interfaces.
Angular is a platform for building mobile and desktop web applications.
<Tabs items={['React', 'Vue', 'Angular']}>
<Tabs.Tab>
**React** is a JavaScript library for building user interfaces.
</Tabs.Tab>
<Tabs.Tab>
**Vue** is a progressive JavaScript framework for building user interfaces.
</Tabs.Tab>
<Tabs.Tab>
**Angular** is a platform for building mobile and desktop web applications.
</Tabs.Tab>
</Tabs>
In this example, we have a single <Tabs>
component with three tabs: “React”, “Vue”, and “Angular”. Each tab contains a brief description of the respective technology.
The items
prop on the <Tabs>
component is an array of strings that represents the labels for each tab. The content for each tab is placed inside the corresponding <Tabs.Tab>
component.
This demonstrates a straightforward usage of the <Tabs>
component without any nesting.
Nested Tabs
This example demonstrates how to create nested tabs using the <Tabs>
and <Tabs.Tab>
components. The outer <Tabs>
component has two tabs: “Fruit” and “Vegetable”. Inside each of these tabs, there are nested tabs for specific fruits and vegetables.
The items
prop on the <Tabs>
component is an array of strings that represents the labels for each tab. The content for each tab is placed inside the corresponding <Tabs.Tab>
component.
Apple is a fruit.
Orange is a fruit.
Carrot is a vegetable.
Broccoli is a vegetable.
<Tabs items={['A', 'B']}>
<Tabs.Tab>
<Tabs items={['1a', '2a']}>
<Tabs.Tab>
**Content for 1a**
</Tabs.Tab>
<Tabs.Tab>
**Content for 2a**
</Tabs.Tab>
</Tabs>
</Tabs.Tab>
<Tabs.Tab>
<Tabs items={['1b', '2b']}>
<Tabs.Tab>
**Content for 1b**
</Tabs.Tab>
<Tabs.Tab>
**Content for 2b**
</Tabs.Tab>
</Tabs>
</Tabs.Tab>
</Tabs>
Video
<video
muted
autoPlay
playsInline
controls
>
<source src="/videos/example.mp4" />
</video>
Steps
<Steps>- Step 1: example - Step 2: example - Step 3: example - Step 4: example</Steps>