├── .gitignore
├── LICENSE
├── README.md
├── app
├── [components]
│ └── [category]
│ │ ├── [collection]
│ │ └── page.jsx
│ │ └── page.jsx
├── about
│ └── [slug]
│ │ └── page.jsx
├── api
│ └── search
│ │ └── route.js
├── blog
│ ├── [slug]
│ │ └── page.jsx
│ └── page.jsx
├── favicon.ico
├── layout.jsx
├── not-found.jsx
├── page.jsx
├── robots.js
└── sitemap.js
├── eslint.config.js
├── jsconfig.json
├── next.config.js
├── package.json
├── postcss.config.js
├── prettier.config.js
├── public
├── components
│ ├── application
│ │ ├── alerts
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ └── 3.html
│ │ ├── badges
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ ├── 4.html
│ │ │ ├── 5-dark.html
│ │ │ └── 5.html
│ │ ├── breadcrumbs
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ ├── 4.html
│ │ │ ├── 5-dark.html
│ │ │ └── 5.html
│ │ ├── button-groups
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ └── 3.html
│ │ ├── checkboxes
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ └── 3.html
│ │ ├── details-list
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ └── 4.html
│ │ ├── dividers
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ ├── 4.html
│ │ │ ├── 5-dark.html
│ │ │ ├── 5.html
│ │ │ ├── 6-dark.html
│ │ │ └── 6.html
│ │ ├── dropdown
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ └── 3.html
│ │ ├── file-uploaders
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ └── 2.html
│ │ ├── filters
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ └── 2.html
│ │ ├── grids
│ │ │ ├── 1.html
│ │ │ ├── 10.html
│ │ │ ├── 2.html
│ │ │ ├── 3.html
│ │ │ ├── 4.html
│ │ │ ├── 5.html
│ │ │ ├── 6.html
│ │ │ ├── 7.html
│ │ │ ├── 8.html
│ │ │ └── 9.html
│ │ ├── inputs
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ └── 4.html
│ │ ├── media
│ │ │ ├── 1.html
│ │ │ ├── 2.html
│ │ │ ├── 3.html
│ │ │ ├── 4.html
│ │ │ ├── 5.html
│ │ │ ├── 6.html
│ │ │ ├── 7.html
│ │ │ └── 8.html
│ │ ├── modals
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ ├── 4.html
│ │ │ ├── 5-dark.html
│ │ │ ├── 5.html
│ │ │ ├── 6-dark.html
│ │ │ └── 6.html
│ │ ├── pagination
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ └── 3.html
│ │ ├── quantity-inputs
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ └── 4.html
│ │ ├── radio-groups
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ └── 3.html
│ │ ├── selects
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ └── 3.html
│ │ ├── side-menu
│ │ │ ├── 1.html
│ │ │ ├── 2.html
│ │ │ └── 3.html
│ │ ├── stats
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ ├── 4.html
│ │ │ ├── 5-dark.html
│ │ │ ├── 5.html
│ │ │ ├── 6-dark.html
│ │ │ └── 6.html
│ │ ├── steps
│ │ │ ├── 1.html
│ │ │ ├── 2.html
│ │ │ ├── 3.html
│ │ │ ├── 4.html
│ │ │ ├── 5.html
│ │ │ └── 6.html
│ │ ├── tables
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ ├── 4.html
│ │ │ ├── 5-dark.html
│ │ │ └── 5.html
│ │ ├── textareas
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ └── 3.html
│ │ ├── timelines
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ └── 3.html
│ │ ├── toggles
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ └── 4.html
│ │ └── vertical-menu
│ │ │ ├── 1-dark.html
│ │ │ ├── 1.html
│ │ │ ├── 2-dark.html
│ │ │ ├── 2.html
│ │ │ ├── 3-dark.html
│ │ │ ├── 3.html
│ │ │ ├── 4-dark.html
│ │ │ ├── 4.html
│ │ │ ├── 5-dark.html
│ │ │ ├── 5.html
│ │ │ ├── 6-dark.html
│ │ │ ├── 6.html
│ │ │ ├── 7-dark.html
│ │ │ ├── 7.html
│ │ │ ├── 8-dark.html
│ │ │ ├── 8.html
│ │ │ ├── 9-dark.html
│ │ │ └── 9.html
│ └── marketing
│ │ ├── announcements
│ │ ├── 1.html
│ │ ├── 2.html
│ │ ├── 3.html
│ │ ├── 4.html
│ │ ├── 5.html
│ │ └── 6.html
│ │ ├── banners
│ │ ├── 1-dark.html
│ │ ├── 1.html
│ │ ├── 2-dark.html
│ │ ├── 2.html
│ │ ├── 3-dark.html
│ │ └── 3.html
│ │ ├── blog-cards
│ │ ├── 1-dark.html
│ │ ├── 1.html
│ │ ├── 2-dark.html
│ │ ├── 2.html
│ │ ├── 3-dark.html
│ │ ├── 3.html
│ │ ├── 4-dark.html
│ │ ├── 4.html
│ │ ├── 5-dark.html
│ │ ├── 5.html
│ │ ├── 6-dark.html
│ │ ├── 6.html
│ │ └── 7.html
│ │ ├── buttons
│ │ ├── 1.html
│ │ ├── 10.html
│ │ ├── 11.html
│ │ ├── 12.html
│ │ ├── 2.html
│ │ ├── 3.html
│ │ ├── 4.html
│ │ ├── 5.html
│ │ ├── 6.html
│ │ ├── 7.html
│ │ ├── 8.html
│ │ └── 9.html
│ │ ├── cards
│ │ ├── 1.html
│ │ ├── 10.html
│ │ ├── 2.html
│ │ ├── 3.html
│ │ ├── 4.html
│ │ ├── 5.html
│ │ ├── 6.html
│ │ ├── 7.html
│ │ ├── 8.html
│ │ └── 9.html
│ │ ├── carts
│ │ ├── 1.html
│ │ ├── 2.html
│ │ └── 3.html
│ │ ├── ctas
│ │ ├── 1-dark.html
│ │ ├── 1.html
│ │ ├── 2-dark.html
│ │ ├── 2.html
│ │ ├── 3-dark.html
│ │ ├── 3.html
│ │ ├── 4.html
│ │ └── 5.html
│ │ ├── faqs
│ │ ├── 1-dark.html
│ │ ├── 1.html
│ │ ├── 2-dark.html
│ │ ├── 2.html
│ │ ├── 3-dark.html
│ │ ├── 3.html
│ │ ├── 4-dark.html
│ │ ├── 4.html
│ │ ├── 5-dark.html
│ │ └── 5.html
│ │ ├── footers
│ │ ├── 1-dark.html
│ │ ├── 1.html
│ │ ├── 10-dark.html
│ │ ├── 10.html
│ │ ├── 11-dark.html
│ │ ├── 11.html
│ │ ├── 12-dark.html
│ │ ├── 12.html
│ │ ├── 13-dark.html
│ │ ├── 13.html
│ │ ├── 2-dark.html
│ │ ├── 2.html
│ │ ├── 3-dark.html
│ │ ├── 3.html
│ │ ├── 4-dark.html
│ │ ├── 4.html
│ │ ├── 5-dark.html
│ │ ├── 5.html
│ │ ├── 6-dark.html
│ │ ├── 6.html
│ │ ├── 7-dark.html
│ │ ├── 7.html
│ │ ├── 8-dark.html
│ │ ├── 8.html
│ │ ├── 9-dark.html
│ │ └── 9.html
│ │ ├── headers
│ │ ├── 1-dark.html
│ │ ├── 1.html
│ │ ├── 2-dark.html
│ │ ├── 2.html
│ │ ├── 3-dark.html
│ │ ├── 3.html
│ │ ├── 4-dark.html
│ │ └── 4.html
│ │ ├── pricing
│ │ ├── 1.html
│ │ └── 2.html
│ │ ├── product-cards
│ │ ├── 1.html
│ │ ├── 10.html
│ │ ├── 2.html
│ │ ├── 3.html
│ │ ├── 4.html
│ │ ├── 5.html
│ │ ├── 6.html
│ │ ├── 7.html
│ │ ├── 8.html
│ │ └── 9.html
│ │ ├── product-collections
│ │ ├── 1.html
│ │ ├── 2.html
│ │ ├── 3.html
│ │ ├── 4.html
│ │ ├── 5.html
│ │ └── 6.html
│ │ ├── sections
│ │ ├── 1.html
│ │ ├── 2.html
│ │ ├── 3.html
│ │ └── 4.html
│ │ └── stats
│ │ ├── 1-dark.html
│ │ ├── 1.html
│ │ ├── 2-dark.html
│ │ ├── 2.html
│ │ ├── 3-dark.html
│ │ └── 3.html
└── og.jpg
├── src
├── components
│ ├── Ads.jsx
│ ├── BlogCard.jsx
│ ├── BlogGrid.jsx
│ ├── BrandLogo.jsx
│ ├── ButtonStyle.jsx
│ ├── CollectionCard.jsx
│ ├── CollectionGrid.jsx
│ ├── CollectionList.jsx
│ ├── ComponentPreview.jsx
│ ├── Container.jsx
│ ├── Footer.jsx
│ ├── GithubSocial.jsx
│ ├── Header.jsx
│ ├── HeaderBanner.jsx
│ ├── HeaderMenu.jsx
│ ├── HeaderMenuLinks.jsx
│ ├── HeroBanner.jsx
│ ├── MdxRemoteRender.jsx
│ ├── PreviewBreakpoint.jsx
│ ├── PreviewCode.jsx
│ ├── PreviewCopy.jsx
│ ├── PreviewCreator.jsx
│ ├── PreviewIframe.jsx
│ ├── PreviewPlugins.jsx
│ ├── PreviewRtl.jsx
│ ├── PreviewTitle.jsx
│ ├── PreviewType.jsx
│ ├── PreviewView.jsx
│ ├── Search.jsx
│ └── UspList.jsx
├── data
│ ├── categories
│ │ ├── application.mdx
│ │ └── marketing.mdx
│ ├── components
│ │ ├── application
│ │ │ ├── alerts.mdx
│ │ │ ├── badges.mdx
│ │ │ ├── breadcrumbs.mdx
│ │ │ ├── button-groups.mdx
│ │ │ ├── checkboxes.mdx
│ │ │ ├── details-list.mdx
│ │ │ ├── dividers.mdx
│ │ │ ├── dropdown.mdx
│ │ │ ├── file-uploaders.mdx
│ │ │ ├── filters.mdx
│ │ │ ├── grids.mdx
│ │ │ ├── inputs.mdx
│ │ │ ├── media.mdx
│ │ │ ├── modals.mdx
│ │ │ ├── pagination.mdx
│ │ │ ├── quantity-inputs.mdx
│ │ │ ├── radio-groups.mdx
│ │ │ ├── selects.mdx
│ │ │ ├── side-menu.mdx
│ │ │ ├── stats.mdx
│ │ │ ├── steps.mdx
│ │ │ ├── tables.mdx
│ │ │ ├── textareas.mdx
│ │ │ ├── timelines.mdx
│ │ │ ├── toggles.mdx
│ │ │ └── vertical-menu.mdx
│ │ └── marketing
│ │ │ ├── announcements.mdx
│ │ │ ├── banners.mdx
│ │ │ ├── blog-cards.mdx
│ │ │ ├── buttons.mdx
│ │ │ ├── cards.mdx
│ │ │ ├── carts.mdx
│ │ │ ├── ctas.mdx
│ │ │ ├── faqs.mdx
│ │ │ ├── footers.mdx
│ │ │ ├── headers.mdx
│ │ │ ├── pricing.mdx
│ │ │ ├── product-cards.mdx
│ │ │ ├── product-collections.mdx
│ │ │ └── sections.mdx
│ ├── pages
│ │ ├── acknowledgements.mdx
│ │ └── faqs.mdx
│ └── posts
│ │ ├── animated-border-gradient-with-tailwindcss.mdx
│ │ ├── animation-duration-delay-with-tailwindcss.mdx
│ │ ├── highlight-hover-effect-with-tailwindcss.mdx
│ │ ├── how-to-clean-up-tailwindcss-code.mdx
│ │ ├── how-to-contribute.mdx
│ │ ├── how-to-write-better-containers-in-tailwindcss.mdx
│ │ ├── how-to-write-better-tailwindcss.mdx
│ │ ├── move-to-tailwindcss-without-breaking-changes.mdx
│ │ └── remove-number-input-spinners-with-tailwindcss.mdx
├── styles
│ ├── components.css
│ ├── prism.css
│ └── site.css
└── utils
│ ├── db.js
│ └── transformers.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # next.js
7 | /.next/
8 | /out/
9 |
10 | # vercel
11 | .vercel
12 |
13 | # production
14 | /build
15 |
16 | # misc
17 | .DS_Store
18 | *.pem
19 |
20 | # debug
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | # local env files
26 | .env*
27 |
28 | # css
29 | /public/*.css
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Mark Mead
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/app/about/[slug]/page.jsx:
--------------------------------------------------------------------------------
1 | import { promises as fs } from 'node:fs'
2 |
3 | import { getAboutPage, formatSlug, pagesDir } from '@util/db'
4 |
5 | import Container from '@component/Container'
6 | import MdxRemoteRender from '@component/MdxRemoteRender'
7 |
8 | export const dynamic = 'force-static'
9 |
10 | export async function generateStaticParams() {
11 | const pageFiles = await fs.readdir(pagesDir)
12 | const staticParams = []
13 |
14 | for (const pageFile of pageFiles) {
15 | if (!pageFile.endsWith('.mdx')) {
16 | continue
17 | }
18 |
19 | staticParams.push({ slug: formatSlug(pageFile) })
20 | }
21 |
22 | return staticParams
23 | }
24 |
25 | export async function generateMetadata({ params }) {
26 | const { pageData } = await getAboutPage(params)
27 |
28 | return {
29 | title: `${pageData.title} | HyperUI`,
30 | description: pageData.description,
31 | alternates: {
32 | canonical: `/about/${params.slug}`,
33 | },
34 | }
35 | }
36 |
37 | export default async function Page({ params }) {
38 | const { pageData, pageContent } = await getAboutPage(params)
39 |
40 | return (
41 |
42 |
43 | {pageData.title}
44 |
45 |
46 |
47 |
48 | )
49 | }
50 |
--------------------------------------------------------------------------------
/app/api/search/route.js:
--------------------------------------------------------------------------------
1 | import { NextResponse } from 'next/server'
2 |
3 | import { getComponents } from '@util/db'
4 |
5 | export async function GET() {
6 | try {
7 | const componentsByCategory = await getComponents()
8 |
9 | const flatCollections = componentsByCategory.flatMap(({ componentItems, categoryTitle }) =>
10 | componentItems.map((componentItem) => ({
11 | ...componentItem,
12 | categoryTitle,
13 | }))
14 | )
15 |
16 | return NextResponse.json({ collections: flatCollections })
17 | } catch {
18 | return NextResponse.json({ error: 'Failed to load collections' }, { status: 500 })
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/app/blog/page.jsx:
--------------------------------------------------------------------------------
1 | import { getPosts } from '@util/db'
2 |
3 | import BlogGrid from '@component/BlogGrid'
4 | import Container from '@component/Container'
5 | import HeroBanner from '@component/HeroBanner'
6 |
7 | export const metadata = {
8 | title: 'Tailwind CSS Blog | HyperUI',
9 | description: 'Tips and tricks for using Tailwind CSS in your projects.',
10 | alternates: {
11 | canonical: '/blog',
12 | },
13 | }
14 |
15 | export const dynamic = 'force-static'
16 |
17 | export default async function Page() {
18 | const blogPosts = await getPosts()
19 |
20 | return (
21 | <>
22 |
23 | Dive into this collection of Tailwind CSS insights that make development less painful and
24 | more fun. Whether you're just starting out or have battle scars from countless projects,
25 | there's something here to make your CSS life easier.
26 |
27 |
28 |
29 |
30 |
31 | >
32 | )
33 | }
34 |
--------------------------------------------------------------------------------
/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/markmead/hyperui/4f9463efa5e92b300c45e0841901eaf99b9a45c7/app/favicon.ico
--------------------------------------------------------------------------------
/app/not-found.jsx:
--------------------------------------------------------------------------------
1 | export const metadata = {
2 | title: '404 | HyperUI',
3 | description: "Uh-oh! It appears this page doesn't exist.",
4 | }
5 |
6 | export default function Custom404() {
7 | return (
8 |
9 |
404 | Not Found
10 |
11 | )
12 | }
13 |
--------------------------------------------------------------------------------
/app/page.jsx:
--------------------------------------------------------------------------------
1 | import { getComponents } from '@util/db'
2 |
3 | import Container from '@component/Container'
4 | import HeroBanner from '@component/HeroBanner'
5 | import CollectionGrid from '@component/CollectionGrid'
6 |
7 | export const metadata = {
8 | alternates: {
9 | canonical: '/',
10 | },
11 | }
12 |
13 | export default async function Page() {
14 | const componentsByCategory = await getComponents()
15 |
16 | return (
17 | <>
18 |
19 | HyperUI is a collection of free Tailwind CSS components that can be used in your next
20 | project. With a range of components, you can build your next marketing website, admin
21 | dashboard, eCommerce store and much more.
22 |
23 |
24 |
25 |
26 | {componentsByCategory.map(({ categoryTitle, componentItems = [] }) => {
27 | return (
28 |
29 |
30 | {categoryTitle} Components
31 |
32 |
33 |
34 |
35 | )
36 | })}
37 |
38 |
39 | >
40 | )
41 | }
42 |
--------------------------------------------------------------------------------
/app/robots.js:
--------------------------------------------------------------------------------
1 | export default function robots() {
2 | return {
3 | rules: {
4 | userAgent: '*',
5 | allow: '/',
6 | },
7 | sitemap: 'https://www.hyperui.dev/sitemap.xml',
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import { FlatCompat } from '@eslint/eslintrc'
2 |
3 | import js from '@eslint/js'
4 | import pluginReact from 'eslint-plugin-react'
5 |
6 | const compat = new FlatCompat({
7 | baseDirectory: import.meta.dirname,
8 | })
9 |
10 | export default [
11 | { ignores: ['.next', 'node_modules'] },
12 |
13 | js.configs.recommended,
14 | pluginReact.configs.flat.recommended,
15 |
16 | ...compat.config({
17 | extends: ['next'],
18 | }),
19 | ]
20 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2020",
4 | "baseUrl": ".",
5 | "paths": {
6 | "@component/*": ["src/components/*"],
7 | "@style/*": ["src/styles/*"],
8 | "@util/*": ["src/utils/*"]
9 | },
10 | "plugins": [
11 | {
12 | "name": "next"
13 | }
14 | ]
15 | },
16 | "include": ["**/*.js", "**/*.jsx"],
17 | "exclude": ["node_modules"]
18 | }
19 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | export default {
3 | reactStrictMode: true,
4 | transpilePackages: ['next-mdx-remote'],
5 | redirects: async () => {
6 | return [
7 | {
8 | source: '/components/application-ui',
9 | destination: '/components/application',
10 | permanent: true,
11 | },
12 | {
13 | source: '/components/application-ui/:slug',
14 | destination: '/components/application/:slug',
15 | permanent: true,
16 | },
17 | ]
18 | },
19 | }
20 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hyperui",
3 | "type": "module",
4 | "scripts": {
5 | "dev": "next dev --turbopack",
6 | "build": "next build",
7 | "postbuild": "yarn css --minify",
8 | "lint": "next lint --fix",
9 | "format": "prettier . --write",
10 | "css": "npx @tailwindcss/cli -i ./src/styles/components.css -o ./public/components.css"
11 | },
12 | "dependencies": {
13 | "next": "15.3.3",
14 | "react": "19.1.0",
15 | "react-dom": "19.1.0"
16 | },
17 | "devDependencies": {
18 | "@next/eslint-plugin-next": "15.3.3",
19 | "@tailwindcss/cli": "^4.1.8",
20 | "@tailwindcss/forms": "^0.5.10",
21 | "@tailwindcss/postcss": "^4.1.8",
22 | "@tailwindcss/typography": "^0.5.16",
23 | "@typescript-eslint/parser": "^8.33.0",
24 | "eslint": "9.28.0",
25 | "eslint-config-next": "15.3.3",
26 | "eslint-plugin-react": "^7.37.5",
27 | "fast-glob": "^3.3.3",
28 | "next-mdx-remote": "^5.0.0",
29 | "postcss": "^8.5.4",
30 | "prettier": "^3.5.3",
31 | "prettier-plugin-tailwindcss": "^0.6.12",
32 | "prismjs": "^1.30.0",
33 | "react-intersection-observer": "^9.16.0",
34 | "react-use": "^17.6.0",
35 | "rehype-external-links": "^3.0.0",
36 | "remark": "^15.0.1",
37 | "remark-html": "^16.0.1",
38 | "tailwindcss": "^4.1.8",
39 | "typescript": "^5.8.3"
40 | },
41 | "packageManager": "yarn@1.22.22"
42 | }
43 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | '@tailwindcss/postcss': {},
4 | },
5 | }
6 |
--------------------------------------------------------------------------------
/prettier.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | semi: false,
3 | tabWidth: 2,
4 | useTabs: false,
5 | printWidth: 100,
6 | singleQuote: true,
7 | bracketSpacing: true,
8 | jsxSingleQuote: false,
9 | bracketSameLine: false,
10 | trailingComma: 'es5',
11 | arrowParens: 'always',
12 | quoteProps: 'as-needed',
13 | plugins: ['prettier-plugin-tailwindcss'],
14 | }
15 |
--------------------------------------------------------------------------------
/public/components/application/alerts/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
17 |
18 |
19 |
Changes saved
20 |
21 |
Your product changes have been saved.
22 |
23 |
24 |
29 | Dismiss popup
30 |
31 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/public/components/application/alerts/3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
Something went wrong
12 |
13 |
14 |
15 | Lorem ipsum dolor sit amet consectetur, adipisicing elit. Nemo quasi assumenda numquam deserunt
16 | consectetur autem nihil quos debitis dolor culpa.
17 |
18 |
19 |
--------------------------------------------------------------------------------
/public/components/application/badges/1-dark.html:
--------------------------------------------------------------------------------
1 |
4 | Live
5 |
6 |
7 |
10 | Live
11 |
12 |
--------------------------------------------------------------------------------
/public/components/application/badges/1.html:
--------------------------------------------------------------------------------
1 |
2 | Live
3 |
4 |
5 |
8 | Live
9 |
10 |
--------------------------------------------------------------------------------
/public/components/application/badges/2-dark.html:
--------------------------------------------------------------------------------
1 |
4 |
12 |
17 |
18 |
19 | Euro
20 |
21 |
22 |
25 |
33 |
38 |
39 |
40 | Euro
41 |
42 |
--------------------------------------------------------------------------------
/public/components/application/badges/2.html:
--------------------------------------------------------------------------------
1 |
4 |
12 |
17 |
18 |
19 | Euro
20 |
21 |
22 |
25 |
33 |
38 |
39 |
40 | Euro
41 |
42 |
--------------------------------------------------------------------------------
/public/components/application/badges/3.html:
--------------------------------------------------------------------------------
1 |
4 | Euro
5 |
6 |
9 | Remove badge
10 |
11 |
19 |
20 |
21 |
22 |
23 |
24 |
27 | Euro
28 |
29 |
32 | Remove badge
33 |
34 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/public/components/application/badges/4-dark.html:
--------------------------------------------------------------------------------
1 |
4 |
12 |
17 |
18 |
19 |
20 |
23 |
31 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/public/components/application/badges/4.html:
--------------------------------------------------------------------------------
1 |
4 |
12 |
17 |
18 |
19 |
20 |
23 |
31 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/public/components/application/breadcrumbs/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Home
5 |
6 |
7 |
8 |
14 |
19 |
20 |
21 |
22 |
23 | Category
24 |
25 |
26 |
27 |
33 |
38 |
39 |
40 |
41 |
42 | Product
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/public/components/application/breadcrumbs/3-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Home
6 |
7 |
8 |
9 |
10 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Category
25 |
26 |
27 |
28 |
29 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | Product
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/public/components/application/breadcrumbs/3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Home
5 |
6 |
7 |
8 |
16 |
17 |
18 |
19 |
20 |
21 | Category
22 |
23 |
24 |
25 |
33 |
34 |
35 |
36 |
37 |
38 | Product
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/public/components/application/breadcrumbs/5-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 | Home
11 |
12 |
13 |
14 |
15 |
18 |
19 |
20 |
24 | Category
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public/components/application/breadcrumbs/5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 | Home
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 | Category
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/public/components/application/button-groups/1-dark.html:
--------------------------------------------------------------------------------
1 |
4 |
8 | Edit
9 |
10 |
11 |
15 | View
16 |
17 |
18 |
22 | Delete
23 |
24 |
25 |
--------------------------------------------------------------------------------
/public/components/application/button-groups/1.html:
--------------------------------------------------------------------------------
1 |
4 |
8 | Edit
9 |
10 |
11 |
15 | View
16 |
17 |
18 |
22 | Delete
23 |
24 |
25 |
--------------------------------------------------------------------------------
/public/components/application/button-groups/3-dark.html:
--------------------------------------------------------------------------------
1 |
4 |
8 | Edit
9 |
10 |
11 |
16 |
24 |
29 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/public/components/application/button-groups/3.html:
--------------------------------------------------------------------------------
1 |
4 |
8 | Edit
9 |
10 |
11 |
16 |
24 |
29 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/public/components/application/checkboxes/1-dark.html:
--------------------------------------------------------------------------------
1 |
2 | Checkboxes
3 |
4 |
5 |
6 |
11 |
12 | Option 1
13 |
14 |
15 |
16 |
21 |
22 | Option 2
23 |
24 |
25 |
26 |
31 |
32 | Option 3
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/public/components/application/checkboxes/1.html:
--------------------------------------------------------------------------------
1 |
2 | Checkboxes
3 |
4 |
5 |
6 |
7 |
8 | Option 1
9 |
10 |
11 |
12 |
13 |
14 | Option 2
15 |
16 |
17 |
18 |
19 |
20 | Option 3
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/public/components/application/dividers/1-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Title goes here
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/public/components/application/dividers/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Title goes here
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/public/components/application/dividers/2-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Title goes here
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/public/components/application/dividers/2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Title goes here
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/public/components/application/dividers/3-dark.html:
--------------------------------------------------------------------------------
1 |
2 | Title goes here
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/public/components/application/dividers/3.html:
--------------------------------------------------------------------------------
1 |
2 | Title goes here
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/public/components/application/dividers/4-dark.html:
--------------------------------------------------------------------------------
1 |
2 | Title goes here
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/public/components/application/dividers/4.html:
--------------------------------------------------------------------------------
1 |
2 | Title goes here
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/public/components/application/dividers/5-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Title goes here
5 |
6 |
--------------------------------------------------------------------------------
/public/components/application/dividers/5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Title goes here
5 |
6 |
--------------------------------------------------------------------------------
/public/components/application/dividers/6-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Title goes here
5 |
6 |
--------------------------------------------------------------------------------
/public/components/application/dividers/6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Title goes here
5 |
6 |
--------------------------------------------------------------------------------
/public/components/application/file-uploaders/1-dark.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
Upload your file(s)
7 |
8 |
16 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/public/components/application/file-uploaders/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Upload your file(s)
4 |
5 |
13 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public/components/application/file-uploaders/2-dark.html:
--------------------------------------------------------------------------------
1 |
5 |
13 |
18 |
19 |
20 | Upload your file(s)
21 |
22 |
25 | Browse files
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/public/components/application/file-uploaders/2.html:
--------------------------------------------------------------------------------
1 |
5 |
13 |
18 |
19 |
20 | Upload your file(s)
21 |
22 |
25 | Browse files
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/public/components/application/grids/1.html:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/components/application/grids/10.html:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/components/application/grids/2.html:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/components/application/grids/3.html:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/components/application/grids/4.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/components/application/grids/5.html:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/components/application/grids/6.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/components/application/grids/7.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/components/application/grids/8.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/components/application/grids/9.html:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/components/application/inputs/1-dark.html:
--------------------------------------------------------------------------------
1 |
2 | Email
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/public/components/application/inputs/1.html:
--------------------------------------------------------------------------------
1 |
2 | Email
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/public/components/application/inputs/2-dark.html:
--------------------------------------------------------------------------------
1 |
2 | Email
3 |
4 |
5 |
10 |
11 |
14 |
22 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/public/components/application/inputs/2.html:
--------------------------------------------------------------------------------
1 |
2 | Email
3 |
4 |
5 |
10 |
11 |
12 |
20 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public/components/application/inputs/3-dark.html:
--------------------------------------------------------------------------------
1 |
2 | Search
3 |
4 |
5 |
10 |
11 |
12 |
17 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/public/components/application/inputs/3.html:
--------------------------------------------------------------------------------
1 |
2 | Search
3 |
4 |
5 |
10 |
11 |
12 |
17 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/public/components/application/inputs/4-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 | Email
13 |
14 |
15 |
--------------------------------------------------------------------------------
/public/components/application/inputs/4.html:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 | Email
13 |
14 |
15 |
--------------------------------------------------------------------------------
/public/components/application/media/1.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Title goes here
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptas distinctio
13 | nesciunt quas non animi.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public/components/application/media/2.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Title goes here
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptas distinctio
13 | nesciunt quas non animi.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public/components/application/media/3.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Title goes here
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptas distinctio
13 | nesciunt quas non animi.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public/components/application/media/4.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Title goes here
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptas distinctio
13 | nesciunt quas non animi.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public/components/application/media/5.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Title goes here
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptas distinctio
13 | nesciunt quas non animi.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public/components/application/media/6.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Title goes here
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptas distinctio
13 | nesciunt quas non animi.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public/components/application/media/7.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Title goes here
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptas distinctio
13 | nesciunt quas non animi.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public/components/application/media/8.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Title goes here
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptas distinctio
13 | nesciunt quas non animi.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public/components/application/modals/1-dark.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 | Modal Title
10 |
11 |
12 |
13 |
14 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, nisi eu
15 | consectetur. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public/components/application/modals/1.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
Modal Title
9 |
10 |
11 |
12 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, nisi eu
13 | consectetur. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/public/components/application/modals/2.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
Modal Title
10 |
11 |
16 |
23 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, nisi eu
36 | consectetur. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/public/components/application/modals/3-dark.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 | Modal Title
10 |
11 |
12 |
13 |
14 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, nisi eu
15 | consectetur. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
16 |
17 |
18 |
19 |
20 |
24 | Cancel
25 |
26 |
27 |
31 | Done
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/public/components/application/modals/3.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
Modal Title
9 |
10 |
11 |
12 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, nisi eu
13 | consectetur. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
14 |
15 |
16 |
17 |
18 |
22 | Cancel
23 |
24 |
25 |
29 | Done
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/public/components/application/pagination/3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
14 |
19 |
20 |
21 |
22 |
23 | 2/12
24 |
25 |
26 |
31 |
37 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/public/components/application/quantity-inputs/1-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
Quantity
3 |
4 |
5 |
9 | −
10 |
11 |
12 |
18 |
19 |
23 | +
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/public/components/application/quantity-inputs/1.html:
--------------------------------------------------------------------------------
1 |
2 |
Quantity
3 |
4 |
5 |
6 | −
7 |
8 |
9 |
15 |
16 |
17 | +
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public/components/application/quantity-inputs/2-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
Quantity
3 |
4 |
5 |
9 | −
10 |
11 |
12 |
18 |
19 |
23 | +
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/public/components/application/quantity-inputs/2.html:
--------------------------------------------------------------------------------
1 |
2 |
Quantity
3 |
4 |
5 |
6 | −
7 |
8 |
9 |
15 |
16 |
17 | +
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public/components/application/quantity-inputs/3-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
Quantity
3 |
4 |
5 |
9 | −
10 |
11 |
12 |
18 |
19 |
23 | +
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/public/components/application/quantity-inputs/3.html:
--------------------------------------------------------------------------------
1 |
2 |
Quantity
3 |
4 |
5 |
6 | −
7 |
8 |
9 |
15 |
16 |
17 | +
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public/components/application/quantity-inputs/4-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
Quantity
3 |
4 |
5 |
9 | −
10 |
11 |
12 |
18 |
19 |
23 | +
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/public/components/application/quantity-inputs/4.html:
--------------------------------------------------------------------------------
1 |
2 |
Quantity
3 |
4 |
5 |
6 | −
7 |
8 |
9 |
15 |
16 |
17 | +
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public/components/application/radio-groups/1.html:
--------------------------------------------------------------------------------
1 |
2 | Delivery
3 |
4 |
5 |
9 | Standard
10 |
11 | Free
12 |
13 |
21 |
22 |
23 |
24 |
25 |
29 | Next Day
30 |
31 | £9.99
32 |
33 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/public/components/application/selects/1-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Headliner
4 |
5 |
10 | Please select
11 | John Mayer
12 | Stevie Ray Vaughn
13 | Jimi Hendrix
14 | B.B King
15 | Albert King
16 | Buddy Guy
17 | Eric Clapton
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public/components/application/selects/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Headliner
4 |
5 |
10 | Please select
11 | John Mayer
12 | Stevie Ray Vaughn
13 | Jimi Hendrix
14 | B.B King
15 | Albert King
16 | Buddy Guy
17 | Eric Clapton
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public/components/application/selects/2-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Headliner
4 |
5 |
10 | Please select
11 |
12 |
13 | Albert King
14 |
15 |
16 |
17 | B.B King
18 | Buddy Guy
19 |
20 |
21 |
22 | Eric Clapton
23 |
24 |
25 |
26 | John Mayer
27 | Jimi Hendrix
28 |
29 |
30 |
31 | Stevie Ray Vaughn
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/public/components/application/selects/2.html:
--------------------------------------------------------------------------------
1 |
2 | Headliner
3 |
4 |
9 | Please select
10 |
11 |
12 | Albert King
13 |
14 |
15 |
16 | B.B King
17 | Buddy Guy
18 |
19 |
20 |
21 | Eric Clapton
22 |
23 |
24 |
25 | John Mayer
26 | Jimi Hendrix
27 |
28 |
29 |
30 | Stevie Ray Vaughn
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/public/components/application/selects/3-dark.html:
--------------------------------------------------------------------------------
1 |
2 | Headliner
3 |
4 |
5 |
12 |
13 |
16 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | John Mayer
31 | Stevie Ray Vaughn
32 | Jimi Hendrix
33 | B.B King
34 | Albert King
35 | Buddy Guy
36 | Eric Clapton
37 |
38 |
39 |
--------------------------------------------------------------------------------
/public/components/application/selects/3.html:
--------------------------------------------------------------------------------
1 |
2 | Headliner
3 |
4 |
5 |
12 |
13 |
14 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | John Mayer
29 | Stevie Ray Vaughn
30 | Jimi Hendrix
31 | B.B King
32 | Albert King
33 | Buddy Guy
34 | Eric Clapton
35 |
36 |
37 |
--------------------------------------------------------------------------------
/public/components/application/steps/2.html:
--------------------------------------------------------------------------------
1 |
2 |
Steps
3 |
4 |
5 |
2/3 - Address
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/public/components/application/steps/4.html:
--------------------------------------------------------------------------------
1 |
2 |
Steps
3 |
4 |
5 |
6 |
7 |
8 |
14 |
19 |
20 |
21 |
22 |
23 |
24 | 2
25 |
26 | Address
27 |
28 |
29 |
30 |
33 | 3
34 |
35 |
36 | Payment
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/public/components/application/steps/6.html:
--------------------------------------------------------------------------------
1 |
2 |
Steps
3 |
4 |
7 |
8 |
9 | 1
10 |
11 | Details
12 |
13 |
14 |
15 |
18 | 2
19 |
20 |
21 | Address
22 |
23 |
24 |
25 | 3
26 |
27 | Payment
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/public/components/application/textareas/1-dark.html:
--------------------------------------------------------------------------------
1 |
2 | Notes
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/public/components/application/textareas/1.html:
--------------------------------------------------------------------------------
1 |
2 | Notes
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/public/components/application/textareas/2-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Notes
4 |
5 |
8 |
13 |
14 |
15 |
19 | Clear
20 |
21 |
22 |
26 | Save
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/public/components/application/textareas/2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Notes
4 |
5 |
8 |
13 |
14 |
15 |
19 | Clear
20 |
21 |
22 |
26 | Save
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/public/components/application/textareas/3-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Notes
4 |
5 |
10 |
11 |
12 |
13 |
17 | Clear
18 |
19 |
20 |
24 | Save
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/application/textareas/3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Notes
4 |
5 |
10 |
11 |
12 |
13 |
17 | Clear
18 |
19 |
20 |
24 | Save
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/application/toggles/1-dark.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/public/components/application/toggles/1.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/public/components/application/toggles/2-dark.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
10 |
18 |
19 |
20 |
21 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/public/components/application/toggles/2.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
10 |
18 |
19 |
20 |
21 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/public/components/application/toggles/3-dark.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
12 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/public/components/application/toggles/3.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/public/components/application/toggles/4-dark.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/public/components/application/toggles/4.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/public/components/application/vertical-menu/1-dark.html:
--------------------------------------------------------------------------------
1 |
47 |
--------------------------------------------------------------------------------
/public/components/application/vertical-menu/1.html:
--------------------------------------------------------------------------------
1 |
44 |
--------------------------------------------------------------------------------
/public/components/marketing/announcements/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Lorem, ipsum dolor
4 | sit amet consectetur
5 |
6 |
7 |
--------------------------------------------------------------------------------
/public/components/marketing/announcements/2.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | Lorem, ipsum dolor
8 | sit amet consectetur
9 |
10 |
11 |
16 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/marketing/announcements/3.html:
--------------------------------------------------------------------------------
1 |
4 |
5 | Lorem, ipsum dolor
6 | sit amet consectetur
7 |
8 |
9 |
--------------------------------------------------------------------------------
/public/components/marketing/announcements/4.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | Lorem, ipsum dolor
8 | sit amet consectetur
9 |
10 |
11 |
16 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/marketing/announcements/5.html:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/components/marketing/announcements/6.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | Lorem, ipsum dolor
9 | sit amet consectetur
10 |
11 |
12 |
17 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/public/components/marketing/banners/1-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Understand user flow and
6 | increase
7 | conversions
8 |
9 |
10 |
11 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque, nisi. Natus, provident
12 | accusamus impedit minima harum corporis iusto.
13 |
14 |
15 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/public/components/marketing/banners/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Understand user flow and
6 | increase
7 | conversions
8 |
9 |
10 |
11 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque, nisi. Natus, provident
12 | accusamus impedit minima harum corporis iusto.
13 |
14 |
15 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/public/components/marketing/banners/2-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Understand user flow and
6 | increase
7 | conversions
8 |
9 |
10 |
11 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque, nisi. Natus, provident
12 | accusamus impedit minima harum corporis iusto.
13 |
14 |
15 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/public/components/marketing/banners/2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Understand user flow and
6 | increase
7 | conversions
8 |
9 |
10 |
11 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque, nisi. Natus, provident
12 | accusamus impedit minima harum corporis iusto.
13 |
14 |
15 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/1-dark.html:
--------------------------------------------------------------------------------
1 |
4 |
9 |
10 |
11 |
12 | 10th Oct 2022
13 |
14 |
15 |
16 |
17 | How to position your furniture for positivity
18 |
19 |
20 |
21 |
22 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae dolores, possimus
23 | pariatur animi temporibus nesciunt praesentium dolore sed nulla ipsum eveniet corporis quidem,
24 | mollitia itaque minus soluta, voluptates neque explicabo tempora nisi culpa eius atque
25 | dignissimos. Molestias explicabo corporis voluptatem?
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/1.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10th Oct 2022
10 |
11 |
12 | How to position your furniture for positivity
13 |
14 |
15 |
16 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae dolores, possimus
17 | pariatur animi temporibus nesciunt praesentium dolore sed nulla ipsum eveniet corporis quidem,
18 | mollitia itaque minus soluta, voluptates neque explicabo tempora nisi culpa eius atque
19 | dignissimos. Molestias explicabo corporis voluptatem?
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/2-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 | Finding the Journey to Mordor
12 |
13 |
14 |
15 |
16 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae dolores, possimus
17 | pariatur animi temporibus nesciunt praesentium dolore sed nulla ipsum eveniet corporis quidem,
18 | mollitia itaque minus soluta, voluptates neque explicabo tempora nisi culpa eius atque
19 | dignissimos. Molestias explicabo corporis voluptatem?
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/2.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 | Finding the Journey to Mordor
11 |
12 |
13 |
14 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae dolores, possimus
15 | pariatur animi temporibus nesciunt praesentium dolore sed nulla ipsum eveniet corporis quidem,
16 | mollitia itaque minus soluta, voluptates neque explicabo tempora nisi culpa eius atque
17 | dignissimos. Molestias explicabo corporis voluptatem?
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/3-dark.html:
--------------------------------------------------------------------------------
1 |
4 |
9 |
10 |
32 |
33 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/3.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
30 |
31 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/4-dark.html:
--------------------------------------------------------------------------------
1 |
4 |
5 | 10th Oct 2022
6 |
7 |
8 |
9 |
10 | How to center an element using JavaScript and jQuery
11 |
12 |
13 |
14 |
15 |
18 | Snippet
19 |
20 |
21 |
24 | JavaScript
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/4.html:
--------------------------------------------------------------------------------
1 |
2 | 10th Oct 2022
3 |
4 |
5 |
6 | How to center an element using JavaScript and jQuery
7 |
8 |
9 |
10 |
11 |
14 | Snippet
15 |
16 |
17 |
20 | JavaScript
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/public/components/marketing/blog-cards/7.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
10th Oct 2022
11 |
12 |
13 | How to position your furniture for positivity
14 |
15 |
16 |
17 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae dolores, possimus
18 | pariatur animi temporibus nesciunt praesentium dolore sed nulla ipsum eveniet corporis
19 | quidem, mollitia itaque minus soluta, voluptates neque explicabo tempora nisi culpa eius
20 | atque dignissimos. Molestias explicabo corporis voluptatem?
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/1.html:
--------------------------------------------------------------------------------
1 |
5 | Download
6 |
7 |
8 |
12 | Download
13 |
14 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/12.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
9 | Download
10 |
11 |
12 |
13 |
17 |
18 |
21 | Download
22 |
23 |
24 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/2.html:
--------------------------------------------------------------------------------
1 |
5 | Download
6 |
7 |
14 |
20 |
21 |
22 |
23 |
27 | Download
28 |
29 |
36 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/3.html:
--------------------------------------------------------------------------------
1 |
5 |
6 | Download
7 |
8 |
9 |
10 |
11 |
12 |
16 |
19 | Download
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/4.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
11 | Download
12 |
13 |
20 |
26 |
27 |
28 |
29 |
33 | Download
34 |
35 |
42 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/5.html:
--------------------------------------------------------------------------------
1 |
5 |
8 |
9 | Download
10 |
11 |
12 |
13 |
14 |
18 |
21 |
22 | Download
23 |
24 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/7.html:
--------------------------------------------------------------------------------
1 |
5 | Download
6 |
7 |
8 |
12 | Download
13 |
14 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | Download
8 |
9 |
10 |
11 |
12 |
16 | Download
17 |
18 |
19 |
20 |
21 |
25 | Download
26 |
27 |
28 |
29 |
30 |
34 | Download
35 |
36 |
--------------------------------------------------------------------------------
/public/components/marketing/buttons/9.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
9 | Download
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
23 | Download
24 |
25 |
26 |
--------------------------------------------------------------------------------
/public/components/marketing/cards/2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 | How I built my first website with Nuxt, Tailwind CSS and Vercel
14 |
15 |
16 |
By John Doe
17 |
18 |
19 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. At velit illum provident a, ipsa
20 | maiores deleniti consectetur nobis et eaque.
21 |
22 |
23 |
24 |
25 |
26 |
27 |
Published on
28 |
29 | 31/06/2025
30 |
31 |
32 |
33 |
Reading time
34 |
35 | 12 minutes
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/public/components/marketing/cards/3.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | Lorem, ipsum dolor.
9 |
10 |
11 | Lorem ipsum dolor sit amet consectetur, adipisicing elit. Magni reiciendis sequi ipsam incidunt.
12 |
13 |
14 |
--------------------------------------------------------------------------------
/public/components/marketing/cards/4.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Developer
10 |
11 |
Tony Wayne
12 |
13 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/public/components/marketing/cards/8.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
Company Name
10 |
11 |
12 |
13 |
Branding / Signage
14 |
15 |
16 |
--------------------------------------------------------------------------------
/public/components/marketing/ctas/1-dark.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Lorem, ipsum dolor sit amet consectetur adipisicing elit
6 |
7 |
8 |
9 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Et, egestas tempus tellus etiam
10 | sed. Quam a scelerisque amet ullamcorper eu enim et fermentum, augue. Aliquet amet volutpat
11 | quisque ut interdum tincidunt duis.
12 |
13 |
14 |
22 |
23 |
24 |
25 |
30 |
31 |
--------------------------------------------------------------------------------
/public/components/marketing/ctas/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Lorem, ipsum dolor sit amet consectetur adipisicing elit
6 |
7 |
8 |
9 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Et, egestas tempus tellus etiam
10 | sed. Quam a scelerisque amet ullamcorper eu enim et fermentum, augue. Aliquet amet volutpat
11 | quisque ut interdum tincidunt duis.
12 |
13 |
14 |
22 |
23 |
24 |
25 |
30 |
31 |
--------------------------------------------------------------------------------
/public/components/marketing/ctas/3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Lorem, ipsum dolor sit amet consectetur adipisicing elit
6 |
7 |
8 |
9 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Et, egestas tempus tellus etiam
10 | sed. Quam a scelerisque amet ullamcorper eu enim et fermentum, augue. Aliquet amet volutpat
11 | quisque ut interdum tincidunt duis.
12 |
13 |
14 |
22 |
23 |
24 |
25 |
30 |
31 |
--------------------------------------------------------------------------------
/public/components/marketing/ctas/4.html:
--------------------------------------------------------------------------------
1 |
24 |
--------------------------------------------------------------------------------
/public/components/marketing/product-cards/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
14 |
15 |
16 |
17 |
18 | Limited Edition Sports Trainer
19 |
20 |
21 |
$189.99
22 |
23 |
24 |
--------------------------------------------------------------------------------
/public/components/marketing/product-cards/2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
14 |
15 |
16 |
17 |
18 | Limited Edition Sports Trainer
19 |
20 |
21 |
22 |
$189.99
23 |
24 |
6 Colors
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/marketing/product-cards/3.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 | Small Headphones
12 |
13 |
14 |
15 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi nobis, quia soluta quisquam
16 | voluptatem nemo.
17 |
18 |
19 |
20 |
$299
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public/components/marketing/product-cards/4.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 | Simple Watch
11 |
12 |
13 |
$150
14 |
15 |
16 |
--------------------------------------------------------------------------------
/public/components/marketing/product-cards/7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
14 |
15 |
16 |
17 |
18 | Small Headphones
19 |
20 |
21 |
22 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Omnis quibusdam ab maiores placeat
23 | odio id?
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/public/components/marketing/product-cards/8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
14 |
15 |
16 |
17 |
Skinny Jeans Blue
18 |
19 |
20 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos sequi dicta impedit
21 | aperiam ipsum!
22 |
23 |
24 |
27 | Shop Now
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/public/components/marketing/product-cards/9.html:
--------------------------------------------------------------------------------
1 |
2 |
5 | Save 10%
6 |
7 |
8 |
13 |
14 |
15 |
Aloe Vera
16 |
17 |
18 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Amet officia rem vel voluptatum in
19 | eum vitae aliquid at sed dignissimos.
20 |
21 |
22 |
25 | Learn More
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public/components/marketing/sections/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Lorem ipsum dolor sit amet consectetur adipisicing elit.
8 |
9 |
10 |
11 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Tenetur doloremque saepe
12 | architecto maiores repudiandae amet perferendis repellendus, reprehenderit voluptas
13 | sequi.
14 |
15 |
16 |
17 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/marketing/sections/2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Lorem ipsum dolor sit amet consectetur adipisicing elit.
8 |
9 |
10 |
11 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Tenetur doloremque saepe
12 | architecto maiores repudiandae amet perferendis repellendus, reprehenderit voluptas
13 | sequi.
14 |
15 |
16 |
17 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/marketing/sections/3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 | Lorem ipsum dolor sit amet consectetur adipisicing elit.
16 |
17 |
18 |
19 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Tenetur doloremque saepe
20 | architecto maiores repudiandae amet perferendis repellendus, reprehenderit voluptas
21 | sequi.
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/components/marketing/sections/4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Lorem ipsum dolor sit amet consectetur adipisicing elit.
7 |
8 |
9 |
10 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Tenetur doloremque saepe
11 | architecto maiores repudiandae amet perferendis repellendus, reprehenderit voluptas sequi.
12 |
13 |
14 |
15 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public/og.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/markmead/hyperui/4f9463efa5e92b300c45e0841901eaf99b9a45c7/public/og.jpg
--------------------------------------------------------------------------------
/src/components/Ads.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import { useEffect } from 'react'
4 | import { usePathname } from 'next/navigation'
5 |
6 | export default function Ads() {
7 | const routerPathname = usePathname()
8 |
9 | useEffect(() => {
10 | loadAd()
11 | }, [routerPathname])
12 |
13 | function loadAd() {
14 | if (document.getElementById('EthicalAds')) {
15 | window && window.ethicalads && window.ethicalads.reload()
16 |
17 | return
18 | }
19 |
20 | const newScript = document.createElement('script')
21 |
22 | newScript.src = 'https://media.ethicalads.io/media/client/ethicalads.min.js'
23 | newScript.async = true
24 | newScript.id = 'EthicalAds'
25 |
26 | document.body.appendChild(newScript)
27 | }
28 |
29 | return (
30 |
37 | )
38 | }
39 |
--------------------------------------------------------------------------------
/src/components/BlogCard.jsx:
--------------------------------------------------------------------------------
1 | import Link from 'next/link'
2 |
3 | export default function BlogCard({ blogPost }) {
4 | return (
5 |
6 |
7 |
8 | {blogPost.emoji}
9 |
10 |
11 |
12 |
13 | {blogPost.title}
14 |
15 |
16 |
17 |
{blogPost.date}
18 |
19 |
20 | )
21 | }
22 |
--------------------------------------------------------------------------------
/src/components/BlogGrid.jsx:
--------------------------------------------------------------------------------
1 | import BlogCard from '@component/BlogCard'
2 |
3 | export default function BlogGrid({ blogPosts }) {
4 | return (
5 |
6 | {blogPosts.map((blogPost, postIndex) => (
7 |
8 |
9 |
10 | ))}
11 |
12 | )
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/BrandLogo.jsx:
--------------------------------------------------------------------------------
1 | import Link from 'next/link'
2 |
3 | export default function BrandLogo({ fontSize = 'text-sm' }) {
4 | return (
5 |
6 |
7 | HyperUI
8 |
9 |
10 | 🚀
11 |
12 |
13 |
14 | )
15 | }
16 |
--------------------------------------------------------------------------------
/src/components/ButtonStyle.jsx:
--------------------------------------------------------------------------------
1 | export default function ButtonStyle({ buttonEmoji, buttonText, buttonActive = false }) {
2 | return (
3 |
6 |
7 | {buttonEmoji}
8 |
9 |
10 | {buttonText}
11 |
12 | )
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/CollectionGrid.jsx:
--------------------------------------------------------------------------------
1 | import CollectionCard from '@component/CollectionCard'
2 |
3 | export default function CollectionGrid({ componentItems }) {
4 | return (
5 |
6 | {componentItems.map((componentData, componentIndex) => (
7 |
8 |
9 |
10 | ))}
11 |
12 | )
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/CollectionList.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import ComponentPreview from '@component/ComponentPreview'
4 |
5 | export default function CollectionList({ componentsData }) {
6 | return (
7 |
8 |
9 | {componentsData.map((componentData) => (
10 |
11 |
12 |
13 | ))}
14 |
15 |
16 | )
17 | }
18 |
--------------------------------------------------------------------------------
/src/components/Container.jsx:
--------------------------------------------------------------------------------
1 | export default function Container({ children, id, classNames }) {
2 | return (
3 |
4 | {children}
5 |
6 | )
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/GithubSocial.jsx:
--------------------------------------------------------------------------------
1 | export default function GithubSocial() {
2 | return (
3 |
9 | GitHub
10 |
11 |
12 |
13 | 11k
14 |
15 | )
16 | }
17 |
18 | function IconGithub() {
19 | return (
20 |
21 |
26 |
27 | )
28 | }
29 |
--------------------------------------------------------------------------------
/src/components/HeaderBanner.jsx:
--------------------------------------------------------------------------------
1 | import Container from '@component/Container'
2 |
3 | export default function HeaderBanner() {
4 | return (
5 |
21 | )
22 | }
23 |
--------------------------------------------------------------------------------
/src/components/HeaderMenu.jsx:
--------------------------------------------------------------------------------
1 | import MenuLinks from '@component/HeaderMenuLinks'
2 |
3 | export default function HeaderMenu({ showMenu, handleSetShowMenu, menuLinks }) {
4 | return (
5 |
6 |
handleSetShowMenu(!showMenu)} className="text-gray-900">
7 |
8 |
9 | Toggle menu
10 |
11 |
12 | {showMenu && (
13 |
14 |
19 |
20 | )}
21 |
22 | )
23 | }
24 |
25 | function IconMenu() {
26 | return (
27 |
35 |
36 |
37 | )
38 | }
39 |
--------------------------------------------------------------------------------
/src/components/HeaderMenuLinks.jsx:
--------------------------------------------------------------------------------
1 | import Link from 'next/link'
2 |
3 | export default function HeaderMenuLinks({ menuLinks, navClass = '', ulClass = '' }) {
4 | return (
5 |
6 |
7 | {menuLinks.map(({ href, title }) => {
8 | return (
9 |
10 |
14 | {title}
15 |
16 |
17 | )
18 | })}
19 |
20 |
21 | )
22 | }
23 |
--------------------------------------------------------------------------------
/src/components/HeroBanner.jsx:
--------------------------------------------------------------------------------
1 | import Container from '@component/Container'
2 | import UspList from '@component/UspList'
3 |
4 | export default function HeroBanner({ children, subtitle, title }) {
5 | return (
6 |
7 |
8 |
9 |
{subtitle}
10 |
11 | {title}
12 |
13 |
14 |
15 |
{children}
16 |
17 |
18 |
19 |
20 |
21 | )
22 | }
23 |
--------------------------------------------------------------------------------
/src/components/MdxRemoteRender.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import { MDXRemote } from 'next-mdx-remote'
4 |
5 | export default function MdxContent({ mdxSource, mdxComponents = {}, mdxScope = {} }) {
6 | return
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/PreviewBreakpoint.jsx:
--------------------------------------------------------------------------------
1 | import ButtonStyle from '@component/ButtonStyle'
2 |
3 | export default function PreviewBreakpoint({
4 | breakpointActive,
5 | breakpointEmoji,
6 | handleSetPreviewWidth,
7 | breakpointWidth,
8 | breakpointText,
9 | }) {
10 | return (
11 | handleSetPreviewWidth(breakpointWidth)}>
12 |
17 |
18 | )
19 | }
20 |
--------------------------------------------------------------------------------
/src/components/PreviewCode.jsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from 'react'
2 |
3 | import Prism from 'prismjs'
4 |
5 | import 'prismjs/components/prism-jsx.min'
6 |
7 | export default function PreviewCode({ componentCode = '', codeType = 'html' }) {
8 | const [prismClass, setPrismClass] = useState('language-html')
9 |
10 | useEffect(() => Prism.highlightAll(), [componentCode])
11 |
12 | useEffect(() => {
13 | codeType === 'html' && setPrismClass('language-html')
14 | codeType === 'vue' && setPrismClass('language-html')
15 | codeType === 'jsx' && setPrismClass('language-jsx')
16 | }, [codeType])
17 |
18 | return (
19 |
20 | {componentCode}
21 |
22 | )
23 | }
24 |
--------------------------------------------------------------------------------
/src/components/PreviewCopy.jsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 |
3 | import { useCopyToClipboard } from 'react-use'
4 |
5 | import ButtonStyle from '@component/ButtonStyle'
6 |
7 | export default function PreviewCopy({ componentCode = '' }) {
8 | const [buttonText, setButtonText] = useState('Copy')
9 | const [buttonEmoji, setButtonEmoji] = useState('📋')
10 | const [copyStatus, copyToClipboard] = useCopyToClipboard()
11 |
12 | function handleCopyToClipboard() {
13 | copyToClipboard(componentCode)
14 |
15 | if (copyStatus.error) {
16 | setButtonText('Error')
17 | setButtonEmoji('🚨')
18 |
19 | return
20 | }
21 |
22 | setButtonText('Copied')
23 | setButtonEmoji('🎉')
24 |
25 | setTimeout(() => {
26 | setButtonText('Copy')
27 | setButtonEmoji('📋')
28 | }, 3000)
29 | }
30 |
31 | return (
32 |
33 |
34 |
35 | )
36 | }
37 |
--------------------------------------------------------------------------------
/src/components/PreviewCreator.jsx:
--------------------------------------------------------------------------------
1 | export default function PreviewCreator({ creatorGithub }) {
2 | return (
3 |
16 | )
17 | }
18 |
--------------------------------------------------------------------------------
/src/components/PreviewIframe.jsx:
--------------------------------------------------------------------------------
1 | export default function PreviewIframe({
2 | componentHtml,
3 | componentTitle,
4 | previewWidth = '100%',
5 | previewHeight = 'h-[400px] lg:h-[600px]',
6 | previewDark = false,
7 | refIframe,
8 | }) {
9 | const iframeTheme = previewDark ? 'bg-gray-900' : 'bg-white'
10 |
11 | return (
12 |
20 | )
21 | }
22 |
--------------------------------------------------------------------------------
/src/components/PreviewPlugins.jsx:
--------------------------------------------------------------------------------
1 | export default function PreviewPlugins({ componentPlugins }) {
2 | return (
3 |
4 |
5 | Plugins:{' '}
6 | {componentPlugins.map((componentPlugin, pluginIndex) => (
7 |
8 |
14 | {componentPlugin}
15 |
16 |
17 | {pluginIndex < componentPlugins.length - 1 && ', '}
18 |
19 | ))}
20 |
21 |
22 | )
23 | }
24 |
--------------------------------------------------------------------------------
/src/components/PreviewRtl.jsx:
--------------------------------------------------------------------------------
1 | import ButtonStyle from '@component/ButtonStyle'
2 |
3 | export default function PreviewRtl({ isRtl, handleSetIsRtl }) {
4 | return (
5 | handleSetIsRtl(!isRtl)}>
6 |
7 |
8 | )
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/PreviewTitle.jsx:
--------------------------------------------------------------------------------
1 | export default function PreviewTitle({ componentTitle, componentHash }) {
2 | return (
3 |
15 | )
16 | }
17 |
--------------------------------------------------------------------------------
/src/components/PreviewType.jsx:
--------------------------------------------------------------------------------
1 | export default function PreviewType({ componentId, codeType, handleSetCodeType }) {
2 | return (
3 |
4 |
5 | Code Type
6 |
7 |
8 | handleSetCodeType(e.target.value)}
12 | className="h-10 rounded-md border-none pl-3 font-medium shadow-sm ring ring-gray-300"
13 | >
14 | HTML
15 | JSX
16 | Vue
17 |
18 |
19 | )
20 | }
21 |
--------------------------------------------------------------------------------
/src/components/PreviewView.jsx:
--------------------------------------------------------------------------------
1 | import ButtonStyle from '@component/ButtonStyle'
2 |
3 | export default function PreviewView({ showPreview, handleSetShowPreview }) {
4 | return (
5 | handleSetShowPreview(!showPreview)}>
6 |
10 |
11 | )
12 | }
13 |
--------------------------------------------------------------------------------
/src/components/UspList.jsx:
--------------------------------------------------------------------------------
1 | export default function UspList() {
2 | const uspItems = ['No install', 'No config', 'No setup']
3 |
4 | return (
5 |
6 | {uspItems.map((uspItem, itemIndex) => (
7 |
8 |
9 | ✅
10 |
11 |
12 | {uspItem}
13 |
14 | ))}
15 |
16 | )
17 | }
18 |
--------------------------------------------------------------------------------
/src/data/categories/application.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Application
3 | subtitle: Free Tailwind CSS Application Components
4 | description: Working on an CMS, eCommerce platform or admin hub? HyperUI has a growing
5 | range of application Tailwind CSS components, that will help you build an
6 | accessible, responsive application for your next project.
7 | emoji: 🤖
8 | ---
9 |
--------------------------------------------------------------------------------
/src/data/categories/marketing.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Marketing
3 | subtitle: Free Tailwind CSS Marketing Components
4 | description: Build your next marketing website with ease through the use of Tailwind CSS
5 | and HyperUI components. These components are not exclusive to marketing
6 | websites, but they will help you rapidly build your next marketing website.
7 | emoji: 📣
8 | ---
9 |
--------------------------------------------------------------------------------
/src/data/components/application/alerts.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Alerts
3 | description: Selection of responsive Alert components for Tailwind CSS v4 applications.
4 | These notification elements display important messages, warnings, success
5 | feedback, and error alerts with customizable styles.
6 | emoji: 📣
7 | wrapper: h-[400px]
8 | container: p-6 max-w-md mx-auto
9 | terms:
10 | - alert
11 | - notification
12 | - message
13 | components:
14 | - { title: 'Base', dark: true }
15 | - { title: 'Base with actions', dark: true }
16 | - { title: 'Standout' }
17 | ---
18 |
19 | # Alert Components
20 |
21 | {frontmatter.description}
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/data/components/application/badges.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Badges
3 | description: Responsive badge and tag components for Tailwind CSS v4. These customizable UI elements include base badges, icon badges, dismissible badges, and themed variations—ideal for notifications, statuses, and labels in web applications and dashboards. Optimized for SEO and accessibility.
4 | emoji: 🥁
5 | wrapper: h-[200px]
6 | container: p-6 flex flex-wrap justify-center gap-4
7 | terms:
8 | - badge
9 | - notification
10 | - status
11 | components:
12 | - { title: 'Base', dark: true }
13 | - { title: 'Base with icon', dark: true }
14 | - { title: 'Base with dismiss', dark: true }
15 | - { title: 'Icon', dark: true }
16 | - { title: 'Themed with icon', dark: true }
17 | ---
18 |
19 | # Badge Components
20 |
21 | {frontmatter.description}
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/data/components/application/breadcrumbs.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Breadcrumbs
3 | description: Breadcrumb components built with Tailwind CSS v4. These responsive navigation breadcrumbs help users track their location within websites and applications. Perfect for ecommerce, dashboards, and multi-level navigation. Customizable with dividers and icons, optimized for SEO and accessibility.
4 | emoji: 🍞
5 | wrapper: h-[200px]
6 | container: p-6 flex justify-center
7 | terms:
8 | - breadcrumb
9 | - navigation
10 | - link
11 | components:
12 | - { title: 'Base', dark: true }
13 | - { title: 'Base with home icon', dark: true }
14 | - { title: 'Slash divider', dark: true, creator: mohdahsanrazakhan }
15 | - { title: 'Slash divider with home icon', dark: true, creator: mohdahsanrazakhan }
16 | - { title: 'Grouped with chevron divider', dark: true }
17 | ---
18 |
19 | # Breadcrumb Components
20 |
21 | {frontmatter.description}
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/data/components/application/button-groups.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Button Groups
3 | description: Discover responsive button group components built with Tailwind CSS v4. These customizable UI elements are perfect for web applications, dashboards, and admin panels, supporting action buttons, icon buttons, tabbed navigation, and toggle controls. Optimized for accessibility, SEO, and mobile usability.
4 | emoji: 👆
5 | wrapper: h-[200px]
6 | container: p-6 flex justify-center
7 | terms:
8 | - button
9 | - group
10 | - action
11 | components:
12 | - { title: 'Base', dark: true }
13 | - { title: 'Icons', dark: true }
14 | - { title: 'Main and secondary', dark: true }
15 | ---
16 |
17 | # Button Group Components
18 |
19 | {frontmatter.description}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/data/components/application/checkboxes.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Checkboxes
3 | description: Accessible checkbox components built with Tailwind CSS v4. Includes styled checkboxes with labels, descriptions, and responsive designs for forms, settings, and user interfaces. Optimized for SEO, accessibility, and mobile usability.
4 | emoji: ✅
5 | wrapper: h-[400px]
6 | container: p-6 max-w-lg mx-auto
7 | terms:
8 | - checkbox
9 | - input
10 | - form
11 | components:
12 | - { title: 'Base', dark: true, plugins: ['@tailwindcss/forms'] }
13 | - { title: 'Described', dark: true, plugins: ['@tailwindcss/forms'] }
14 | - { title: 'Described with divide', dark: true, plugins: ['@tailwindcss/forms'] }
15 | ---
16 |
17 | # Checkbox Components
18 |
19 | {frontmatter.description}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/data/components/application/details-list.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Details Lists
3 | description: Responsive and customizable details list components for displaying structured data. Built with Tailwind CSS v4, these lists feature striped rows, borders, and dark mode support for modern web applications and dashboards. Optimized for SEO, accessibility, and mobile usability.
4 | emoji: 🪪
5 | container: p-6 max-w-3xl mx-auto
6 | terms:
7 | - data
8 | - details
9 | - list
10 | components:
11 | - { title: 'Base', dark: true }
12 | - { title: 'Striped', dark: true }
13 | - { title: 'Bordered', dark: true }
14 | - { title: 'Striped and bordered', dark: true }
15 | ---
16 |
17 | # Details List Components
18 |
19 | {frontmatter.description}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/data/components/application/dividers.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Dividers
3 | description: Selection of layout Dividers components created with Tailwind CSS v4. These
4 | responsive horizontal dividers include basic, gradient, and aligned styles for
5 | separating content sections in your web applications and UI designs.
6 | emoji: 🗡️
7 | wrapper: h-[200px]
8 | container: p-6 max-w-3xl mx-auto
9 | terms:
10 | - divider
11 | - layout
12 | - separator
13 | components:
14 | - { title: 'Base', dark: true }
15 | - { title: 'Gradient', dark: true }
16 | - { title: 'Left align', dark: true }
17 | - { title: 'Left align gradient', dark: true }
18 | - { title: 'Right align', dark: true }
19 | - { title: 'Right align gradient', dark: true }
20 | ---
21 |
22 | # Divider Components
23 |
24 | {frontmatter.description}
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/data/components/application/dropdown.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Dropdowns
3 | description: Application UI dropdown components built with Tailwind CSS v4. These responsive, customizable dropdown menus are ideal for navigation, filters, settings, and user actions in modern web applications. Enhance user experience and SEO with accessible, mobile-friendly dropdowns.
4 | emoji: 💧
5 | container: p-6 max-w-sm mx-auto flex justify-center
6 | terms:
7 | - dropdown
8 | - menu
9 | - navigation
10 | components:
11 | - { title: 'Base', dark: true }
12 | - { title: 'Divided', dark: true }
13 | - { title: 'Grouped', dark: true }
14 | ---
15 |
16 | # Dropdown Components
17 |
18 | {frontmatter.description}
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/data/components/application/file-uploaders.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: File Uploaders
3 | description: File uploader components built with Tailwind CSS v4. These responsive, accessible uploaders support drag-and-drop, previews, and progress indicators for modern web applications. Optimized for usability and accessibility.
4 | emoji: 📤
5 | container: p-6 max-w-md mx-auto
6 | terms:
7 | - file
8 | - form
9 | - upload
10 | tag: new
11 | components:
12 | - { title: 'Base', dark: true }
13 | - { title: 'Base with button', dark: true }
14 | ---
15 |
16 | # File Uploader Components
17 |
18 | {frontmatter.description}
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/data/components/application/filters.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Filters
3 | description: Filter components for web applications built with Tailwind CSS v4. These responsive, customizable UI filters help users sort, search, and refine content. Ideal for ecommerce, dashboards, data tables, and search results. Optimized for accessibility, SEO, and mobile usability.
4 | emoji: 🎛️
5 | wrapper: h-[400px]
6 | container: p-6 max-w-md mx-auto
7 | terms:
8 | - filter
9 | - search
10 | - sort
11 | components:
12 | - { title: 'Dropdown', dark: true, plugins: ['@tailwindcss/forms'] }
13 | - { title: 'Accordion', dark: true, plugins: ['@tailwindcss/forms'] }
14 | ---
15 |
16 | # Filter Components
17 |
18 |
19 | These components were originally part of the eCommerce category but have since moved.
20 |
21 |
22 | {frontmatter.description}
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/data/components/application/grids.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Grids
3 | description: Responsive grid layouts and grid systems created with Tailwind CSS v4 for modern web applications. Flexible, SEO-optimized grid components for dashboards, admin panels, and content organization with customizable columns and rows. Perfect for responsive design and CSS grid implementation.
4 | emoji: 📦
5 | wrapper: h-[400px]
6 | container: p-6
7 | terms:
8 | - grid
9 | - layout
10 | - columns
11 | components:
12 | - { title: '1x1' }
13 | - { title: '1x2' }
14 | - { title: '2x1' }
15 | - { title: '1x1x1' }
16 | - { title: '1x1x1x1' }
17 | - { title: '1x1x2' }
18 | - { title: '2x1x1' }
19 | - { title: '1x2x1' }
20 | - { title: 'Sidebar left' }
21 | - { title: 'Sidebar right' }
22 | ---
23 |
24 | # Grid Components
25 |
26 | {frontmatter.description}
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/data/components/application/inputs.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Inputs
3 | description: Form input components crafted with Tailwind CSS v4. Responsive text fields,
4 | search boxes, and form controls optimized for web applications. Customizable
5 | input elements with various styles including icons and floating labels for
6 | modern UI design.
7 | emoji: 🔌
8 | wrapper: h-[200px]
9 | container: p-6 max-w-sm mx-auto
10 | terms:
11 | - input
12 | - form
13 | - field
14 | components:
15 | - { title: 'Base', dark: true, plugins: ['@tailwindcss/forms'] }
16 | - { title: 'Base with icon', dark: true, plugins: ['@tailwindcss/forms'] }
17 | - { title: 'Base with button', dark: true, plugins: ['@tailwindcss/forms'] }
18 | - { title: 'Floating label', dark: true, plugins: ['@tailwindcss/forms'] }
19 | ---
20 |
21 | # Input Components
22 |
23 | {frontmatter.description}
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/data/components/application/media.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Media
3 | description: Responsive media and avatar components for modern web interfaces, built with Tailwind CSS v4. Perfect for user profiles, image galleries, and content cards. These customizable, SEO-friendly layouts support flexible alignment and accessibility for any application.
4 | emoji: 🌆
5 | wrapper: h-[400px]
6 | container: p-6 max-w-md mx-auto
7 | terms:
8 | - media
9 | - avatar
10 | - image
11 | components:
12 | - { title: 'Left align top' }
13 | - { title: 'Left align center' }
14 | - { title: 'Left align bottom' }
15 | - { title: 'Left align stretch' }
16 | - { title: 'Right align top' }
17 | - { title: 'Right align center' }
18 | - { title: 'Right align bottom' }
19 | - { title: 'Right align stretch' }
20 | ---
21 |
22 | # Media Components
23 |
24 | {frontmatter.description}
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/data/components/application/modals.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Modals
3 | description: Accessible modal components built with Tailwind CSS v4. Includes simple modals, close buttons, and action modals for web applications. Responsive, customizable, and optimized for SEO, accessibility, and user experience.
4 | emoji: 🗯️
5 | tag: updated
6 | terms:
7 | - modal
8 | - dialog
9 | - popup
10 | components:
11 | - { title: 'Base', dark: true }
12 | - { title: 'Base with close', dark: true }
13 | - { title: 'Actions', dark: true }
14 | - { title: 'Actions with close', dark: true }
15 | - { title: 'Input', dark: true }
16 | - { title: 'Input with close', dark: true }
17 | ---
18 |
19 | # Modal Components
20 |
21 | {frontmatter.description}
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/data/components/application/pagination.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Pagination
3 | description: Responsive pagination components designed with Tailwind CSS v4. Perfect for page navigation in web applications, dashboards, and data tables. Features numbered links, previous/next buttons, and more. Optimized for SEO, accessibility, and mobile usability.
4 | emoji: 🔢
5 | wrapper: h-[200px]
6 | container: p-6 flex justify-center
7 | terms:
8 | - pagination
9 | - navigation
10 | - page
11 | components:
12 | - { title: 'Navigation', dark: true }
13 | - { title: 'Input', dark: true, plugins: ['@tailwindcss/forms'] }
14 | - { title: 'X/Y', dark: true }
15 | ---
16 |
17 | # Pagination Components
18 |
19 | {frontmatter.description}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/data/components/application/quantity-inputs.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Quantity Inputs
3 | description: Quantity input components built with Tailwind CSS v4. These responsive, customizable number inputs are ideal for ecommerce, order forms, and shopping carts. Optimized for accessibility, SEO, and mobile usability.
4 | emoji: ➕
5 | wrapper: h-[200px]
6 | container: p-6 flex justify-center
7 | terms:
8 | - input
9 | - quantity
10 | - ecommerce
11 | components:
12 | - { title: 'Base with plus and minus buttons', dark: true, plugins: ['@tailwindcss/forms'] }
13 | - {
14 | title: 'Base with plus and minus buttons, no spinners in the input',
15 | dark: true,
16 | plugins: ['@tailwindcss/forms'],
17 | }
18 | - { title: 'Base with plus and minus buttons, no spinners in the input and text
19 | centered', dark: true, plugins: ['@tailwindcss/forms'] }
20 | - { title: 'Bordered with plus and minus buttons', dark: true, plugins: ['@tailwindcss/forms'] }
21 | ---
22 |
23 | # Quantity Input Components
24 |
25 |
26 | These components were originally part of the eCommerce category but have since moved.
27 |
28 |
29 | {frontmatter.description}
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/data/components/application/radio-groups.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Radio Groups
3 | description: Radio group components built with Tailwind CSS v4. These responsive, customizable radio inputs are perfect for forms, settings, and user preferences in web applications. Optimized for accessibility, SEO, and mobile usability.
4 | emoji: 📻
5 | wrapper: h-[400px]
6 | container: p-6 max-w-lg mx-auto
7 | terms:
8 | - radio
9 | - group
10 | - form
11 | components:
12 | - { title: 'Base', dark: true }
13 | - { title: 'Base with input', dark: true, plugins: ['@tailwindcss/forms'] }
14 | - { title: 'Color variant' }
15 | ---
16 |
17 | # Radio Group Components
18 |
19 | {frontmatter.description}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/data/components/application/selects.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Selects
3 | description: Versatile and customizable select components built with Tailwind CSS v4. These responsive dropdown menus and form selects are perfect for filtering data, user preferences, and form controls in modern web applications. Optimized for accessibility, SEO, and mobile usability.
4 | emoji: 📣
5 | wrapper: h-[400px]
6 | container: p-6 max-w-xs mx-auto
7 | terms:
8 | - select
9 | - dropdown
10 | - filter
11 | components:
12 | - { title: 'Base', dark: true, plugins: ['@tailwindcss/forms'] }
13 | - { title: 'Option groups', dark: true, plugins: ['@tailwindcss/forms'] }
14 | - { title: 'Datalist', dark: true, plugins: ['@tailwindcss/forms'] }
15 | ---
16 |
17 | # Select Components
18 |
19 |
20 | These use the native `` elements. In the future, we should be able to apply a more custom look and feel. Based on [Google I/O CSS Update](https://developer.chrome.com/blog/whats-new-css-ui-2023/#selectmenu).
21 |
22 |
23 | {frontmatter.description}
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/data/components/application/side-menu.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Side Menu
3 | description: Application UI side menu components built with Tailwind CSS v4. These responsive, customizable navigation menus are perfect for dashboards, admin panels, and web applications. Enhance user experience and SEO with accessible, mobile-friendly side navigation.
4 | emoji: 🎮
5 | wrapper: h-[400px]
6 | container: max-w-xs
7 | terms:
8 | - navigation
9 | - menu
10 | - sidebar
11 | components:
12 | - { title: 'Logo, links with accordion menu and profile details' }
13 | - { title: 'Icon, links with tooltips and logout action' }
14 | - { title: 'Multi layout with icon, links with tooltips, logout action and links
15 | with accordion menu' }
16 | ---
17 |
18 | # Side Menu Components
19 |
20 | {frontmatter.description}
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/data/components/application/stats.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Stats
3 | description: Stats components built with Tailwind CSS v4. These responsive, SEO-friendly stat blocks are perfect for dashboards, admin panels, and analytics pages. Easily display key metrics, growth indicators, and performance data with customizable, accessible UI elements.
4 | emoji: 📊
5 | wrapper: h-[400px]
6 | container: p-6 max-w-lg mx-auto flex flex-col gap-4
7 | terms:
8 | - stats
9 | - analytics
10 | - metric
11 | components:
12 | - { title: 'Title, value, from value and themed growth stat', dark: true }
13 | - { title: 'Title, value, icon and themed growth stat', dark: true }
14 | - { title: 'Title, value and themed growth stat', dark: true }
15 | - { title: 'Title, value and icon', dark: true }
16 | - { title: 'Title, value and themed growth stat, stacked style', dark: true }
17 | - { title: 'Title, value, icon and themed growth stat, stacked style', dark: true }
18 | ---
19 |
20 | # Stat Components
21 |
22 | {frontmatter.description}
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/data/components/application/steps.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Steps
3 | description: Step components built with Tailwind CSS v4. These responsive, customizable step indicators are perfect for onboarding, progress tracking, and multi-step forms in web applications. Optimized for accessibility, SEO, and mobile usability.
4 | emoji: 🪜
5 | wrapper: h-[200px]
6 | container: p-6 max-w-3xl mx-auto
7 | terms:
8 | - step
9 | - progress
10 | - indicator
11 | components:
12 | - { title: 'Title, icon and progress bar' }
13 | - { title: 'Title, step/total and progress bar' }
14 | - { title: 'Title, check icon and progress bar' }
15 | - { title: 'Title, step and closed completed steps, with highlighted current step' }
16 | - { title: 'Grouped with title and description, with highlighted current step' }
17 | - { title: 'Timeline with title, with highlighted current step' }
18 | ---
19 |
20 | # Step Components
21 |
22 | {frontmatter.description}
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/data/components/application/tables.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Tables
3 | description: Explore a comprehensive collection of responsive table components built with Tailwind CSS v4. These customizable tables are perfect for displaying data in dashboards, admin panels, and web applications. Features include bordered, striped, and sticky header tables, all optimized for SEO, accessibility, and mobile devices.
4 | emoji: 🍽
5 | wrapper: h-[400px]
6 | container: p-6 max-w-3xl mx-auto
7 | terms:
8 | - table
9 | - data
10 | - dashboard
11 | components:
12 | - { title: 'Base', dark: true }
13 | - { title: 'Bordered', dark: true }
14 | - { title: 'Striped', dark: true }
15 | - { title: 'Sticky headings', dark: true }
16 | - { title: 'Sticky first column', dark: true }
17 | ---
18 |
19 | # Table Components
20 |
21 | {frontmatter.description}
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/data/components/application/textareas.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Textareas
3 | description: Responsive textarea components for forms and user input fields created with Tailwind CSS v4. These customizable, accessible text input areas are ideal for web applications, contact forms, comment sections, and feedback forms. Optimized for SEO and mobile usability.
4 | emoji: 🔌
5 | wrapper: h-[400px]
6 | container: p-6 max-w-lg mx-auto
7 | terms:
8 | - textarea
9 | - input
10 | - form
11 | components:
12 | - { title: 'Base', dark: true, plugins: ['@tailwindcss/forms'] }
13 | - { title: 'Actions inside', dark: true, plugins: ['@tailwindcss/forms'] }
14 | - { title: 'Actions outside', dark: true, plugins: ['@tailwindcss/forms'] }
15 | ---
16 |
17 | # Textarea Components
18 |
19 | {frontmatter.description}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/data/components/application/timelines.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Timelines
3 | description: Timeline components built with Tailwind CSS v4. Perfect for visualizing project roadmaps, company histories, event sequences, and progress tracking. Responsive, accessible, and easy to customize for any use case.
4 | emoji: 🕒
5 | tag: new
6 | terms:
7 | - timeline
8 | - history
9 | - roadmap
10 | components:
11 | - { title: 'Vertical', dark: true, container: max-w-xl mx-auto p-6 }
12 | - { title: 'Vertical with middle line', dark: true, container: max-w-xl mx-auto p-6 }
13 | - { title: 'Horizontal', dark: true, container: max-w-5xl mx-auto p-6 }
14 | ---
15 |
16 | # Timeline Components
17 |
18 | {frontmatter.description}
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/data/components/application/toggles.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Toggles
3 | description: Application UI toggle components built with Tailwind CSS v4. These responsive, customizable toggles are perfect for forms, settings, and user preferences in modern web applications. Enhance accessibility, SEO, and mobile usability with these interactive UI elements.
4 | emoji: 🎚
5 | wrapper: h-[200px]
6 | container: p-6 flex justify-center
7 | terms:
8 | - toggle
9 | - switch
10 | - accessibility
11 | components:
12 | - { title: 'Base', creator: 'Aniket1026', dark: true, plugins: ['@tailwindcss/forms'] }
13 | - { title: 'Base with icon', creator: 'Aniket1026', dark: true, plugins: ['@tailwindcss/forms'] }
14 | - { title: 'Material', creator: 'GlintonLiao', dark: true, plugins: ['@tailwindcss/forms'] }
15 | - { title: 'Apple', creator: 'GlintonLiao', dark: true, plugins: ['@tailwindcss/forms'] }
16 | ---
17 |
18 | # Toggle Components
19 |
20 | {frontmatter.description}
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/data/components/application/vertical-menu.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Vertical Menu
3 | description: Application UI Vertical Menu components created with Tailwind CSS
4 | emoji: 🍟
5 | container: p-6 max-w-sm mx-auto
6 | terms:
7 | - menu
8 | - navigation
9 | - sidebar
10 | components:
11 | - { title: 'Base with highlighted active link', dark: true }
12 | - { title: 'Base with badge and highlighted active link', dark: true }
13 | - { title: 'Base with icon and highlighted active link', dark: true }
14 | - { title: 'Base with badge, icon and highlighted active link', dark: true }
15 | - { title: 'Base with icon and highlighted active link, color with left border', dark: true }
16 | - { title: 'Accordion menu and highlighted active link', dark: true }
17 | - { title: 'Accordion menu with icon and highlighted active link', dark: true }
18 | - { title: 'Base with divided sections and highlighted active link', dark: true }
19 | - { title: 'Base with grouped sections with title and highlighted active link', dark: true }
20 | ---
21 |
22 | # Vertical Menu Components
23 |
24 | {frontmatter.description}
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/data/components/marketing/announcements.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Announcements
3 | description: Discover announcement components built with Tailwind CSS v4. These responsive, accessible banners and notification bars are perfect for marketing websites, SaaS products, and eCommerce stores. Easily highlight updates, promotions, or important messages with customizable UI elements optimized for SEO and user engagement.
4 | emoji: 📣
5 | wrapper: h-[200px]
6 | terms:
7 | - announcement
8 | - banner
9 | - notification
10 | components:
11 | - { title: 'Base' }
12 | - { title: 'Base wth dismiss' }
13 | - { title: 'Fixed' }
14 | - { title: 'Fixed with dismiss' }
15 | - { title: 'Floating' }
16 | - { title: 'Floating with dismiss' }
17 | ---
18 |
19 | # Announcement Components
20 |
21 | {frontmatter.description}
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/data/components/marketing/banners.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Banners
3 | description: Responsive, customizable banner and hero section components for marketing websites. Built with Tailwind CSS v4, these banner designs feature clean layouts, flexible content areas, and mobile-friendly interfaces. Perfect for landing pages, promotional announcements, and website headers that drive user engagement and conversion.
4 | emoji: 🏴☠️
5 | terms:
6 | - banner
7 | - hero
8 | - promotion
9 | components:
10 | - { title: 'Center', dark: true }
11 | - { title: 'Left', dark: true }
12 | - { title: 'Left with image', dark: true }
13 | ---
14 |
15 | # Banner Components
16 |
17 | {frontmatter.description}
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/data/components/marketing/blog-cards.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Blog Cards
3 | description: Blog card components created with Tailwind CSS
4 | emoji: 📰
5 | container: p-6 max-w-md mx-auto
6 | terms:
7 | - blog
8 | - card
9 | - post
10 | components:
11 | - { title: 'Bordered with image, date, title and excerpt, shadow on hover', dark: true }
12 | - { title: 'Floating image with title and excerpt', dark: true }
13 | - { title: 'Bordered with image, title, excerpt and call to action', dark: true }
14 | - { title: 'Gradient border with date, title and tags, animated gradient on hover', dark: true }
15 | - { title: 'Bordered with icon, title, excerpt and call to action, shadow on hover', dark: true }
16 | - {
17 | title: 'Artistic with rotated date, image, title, excerpt and call to action, shadow on hover',
18 | dark: true,
19 | }
20 | - { title: 'Background image with overlay containing date, title and excerpt' }
21 | ---
22 |
23 | # Blog Card Components
24 |
25 | {frontmatter.description}
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/data/components/marketing/buttons.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Buttons
3 | description: Button components created with Tailwind CSS
4 | emoji: 👆
5 | wrapper: h-[200px]
6 | container: p-6 flex flex-wrap justify-center gap-4
7 | terms:
8 | - button
9 | - action
10 | - cta
11 | components:
12 | - { title: 'Base, solid and bordered' }
13 | - { title: 'Base with icon, solid and bordered' }
14 | - { title: 'Gradient border, rounded and pill' }
15 | - { title: 'Icon, solid and bordered' }
16 | - { title: 'Drop shadow, hide shadow and show shadow on hover' }
17 | - { title: 'Base with icon on hover, solid, bordered and icon left/right' }
18 | - { title: 'Base with shadow and expand on hover, solid and bordered' }
19 | - { title: 'Base with rotate and expand on hover, solid, outline and rotate left/right' }
20 | - { title: 'Artistic with offset background, background moves in and out on hover' }
21 | - { title: 'Highlighted border which expands on hover, left, right, bottom and left' }
22 | - { title: 'Large with emphasized icon, solid and bordered' }
23 | - { title: 'Reveal hidden static border on hover, solid and bordered' }
24 | ---
25 |
26 | # Button Components
27 |
28 | {frontmatter.description}
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/data/components/marketing/cards.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Cards
3 | description: Explore a variety of card components designed with Tailwind CSS v4. These responsive, SEO-friendly cards are ideal for showcasing content, products, blog posts, and user profiles on modern marketing websites and applications. Fully customizable for any project.
4 | emoji: 🃏
5 | container: p-6 max-w-md mx-auto
6 | terms:
7 | - card
8 | - content
9 | - profile
10 | components:
11 | - { title: 'Title, author, avatar, excerpt, published date and reading time' }
12 | - { title: 'Title, author, avatar, excerpt, published date and reading time' }
13 | - { title: 'Stacked with Large Image and Content' }
14 | - { title: 'Darkened Background with Content on Hover' }
15 | - { title: 'Bordered with Content on Hover' }
16 | - { title: 'Bordered with Image, Price, Content and Details' }
17 | - { title: 'Image, Name, with Social Links and Project Links' }
18 | - { title: 'Shaped with Image and Content' }
19 | - { title: 'Podcast Post' }
20 | - { title: 'Forum Post' }
21 | ---
22 |
23 | # Card Components
24 |
25 | {frontmatter.description}
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/data/components/marketing/carts.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Carts
3 | description: Cart components crafted with Tailwind CSS v4 for eCommerce and online stores. These responsive, accessible shopping cart UIs are fully customizable and optimized for seamless checkout experiences, mobile usability, and SEO best practices.
4 | emoji: 🛒
5 | terms:
6 | - cart
7 | - ecommerce
8 | - checkout
9 | components:
10 | - { title: 'Popup', container: 'p-6 flex justify-end' }
11 | - {
12 | title: 'Popup with actions',
13 | container: 'p-6 flex justify-end',
14 | plugins: ['@tailwindcss/forms'],
15 | }
16 | - { title: 'Page', plugins: ['@tailwindcss/forms'] }
17 | ---
18 |
19 | # Cart Components
20 |
21 |
22 | These components were originally part of the eCommerce category but have since moved.
23 |
24 |
25 | {frontmatter.description}
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/data/components/marketing/ctas.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: CTAs
3 | description: CTA components created with Tailwind CSS
4 | emoji: 👋
5 | terms:
6 | - cta
7 | - marketing
8 | - signup
9 | components:
10 | - { title: 'Base with content and call to action on the left, image on the right', dark: true }
11 | - { title: 'Newsletter sign up form with centered content and form', dark: true }
12 | - {
13 | title: 'Base with content can call to action on the left, offset image on the right',
14 | dark: true,
15 | }
16 | - { title: 'Overlay image with left aligned content and call to action' }
17 | - { title: 'Content and call to action in block color on the left, grid of images on the right' }
18 | ---
19 |
20 | # CTA Components
21 |
22 | {frontmatter.description}
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/data/components/marketing/faqs.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: FAQs
3 | description: Selection of FAQ components created with Tailwind CSS v4, featuring responsive design, interactive toggles, and customizable styling. Perfect for websites, landing pages, and knowledge bases to improve user experience and SEO through structured question-answer formats.
4 | emoji: 🤔
5 | container: max-w-3xl mx-auto p-6
6 | terms:
7 | - faq
8 | - questions
9 | - support
10 | components:
11 | - { title: 'Base with chevrons', dark: true }
12 | - { title: 'Base with plus/minus', dark: true }
13 | - { title: 'Divided with chevrons', dark: true }
14 | - { title: 'Divided with plus/minus', dark: true }
15 | - { title: 'Background', dark: true }
16 | ---
17 |
18 | # FAQ Components
19 |
20 | {frontmatter.description}
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/data/components/marketing/headers.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Header
3 | description: Header components designed with Tailwind CSS v4 for marketing websites and web applications. These responsive, SEO-optimized headers feature navigation, branding, and call-to-action layouts, making them perfect for landing pages, SaaS, and eCommerce projects.
4 | emoji: 🗺
5 | wrapper: h-[400px]
6 | terms:
7 | - header
8 | - navigation
9 | - cta
10 | components:
11 | - { title: 'Icon and links on the left, call to actions on the right', dark: true }
12 | - { title: 'Icon on the left, links in the middle and call to actions on the right', dark: true }
13 | - { title: 'Icon on the left, links and call to actions on the right', dark: true }
14 | - { title: 'Icon on the left, links and user dropdown on the right', dark: true }
15 | ---
16 |
17 | # Header Components
18 |
19 | {frontmatter.description}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/data/components/marketing/pricing.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Pricing
3 | description: Pricing components built with Tailwind CSS v4. These responsive, customizable pricing tables and plan layouts are ideal for SaaS, eCommerce, and service websites. Improve conversions and SEO with clear, accessible pricing options for your users.
4 | emoji: 💰
5 | terms:
6 | - pricing
7 | - plan
8 | - subscription
9 | components:
10 | - { title: 'Options with tier, price, features and call to action with highlighted option' }
11 | - { title: 'Options with tier, description, price, call to action and features' }
12 | ---
13 |
14 | # Pricing Components
15 |
16 | {frontmatter.description}
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/data/components/marketing/product-cards.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Product Cards
3 | description: Product card components built with Tailwind CSS v4. These responsive, SEO-friendly cards are perfect for showcasing products in eCommerce stores, landing pages, and marketing sites. Easily customizable for any brand or catalog.
4 | emoji: 🙋♀️
5 | container: p-6 max-w-md mx-auto
6 | terms:
7 | - product
8 | - card
9 | - ecommerce
10 | components:
11 | - { title: 'Product with image, title and price' }
12 | - { title: 'Product with image, title, price and variant count' }
13 | - { title: 'Product with image, title, price and description' }
14 | - { title: 'Product with rounded image, title and price' }
15 | - { title: 'Product with image, title, price and variant options' }
16 | - { title: 'Product with image, title, price, tag, wishlist and call to action' }
17 | - { title: 'Collection with image, title and description' }
18 | - { title: 'Collection with image, title, description and call to action' }
19 | - { title: 'Collection with image, title, description, offer and call to action' }
20 | - { title: 'Product with image, title, price, wishlist and call to actions' }
21 | ---
22 |
23 | # Product Card Components
24 |
25 |
26 | These components were originally part of the eCommerce category but have since moved.
27 |
28 |
29 | {frontmatter.description}
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/data/components/marketing/product-collections.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Product Collections
3 | description: Product collection components built with Tailwind CSS v4. These responsive, customizable layouts are ideal for displaying product groups, categories, and featured items in eCommerce and marketing websites. Optimized for SEO and user experience.
4 | emoji: 🛍
5 | terms:
6 | - product
7 | - collection
8 | - ecommerce
9 | components:
10 | - { title: 'Simple' }
11 | - { title: 'Simple with Centered Title' }
12 | - { title: 'Sort & Layout' }
13 | - { title: 'Pagination' }
14 | - { title: 'Filtering (Dropdown)' }
15 | - { title: 'Filtering (Side)' }
16 | ---
17 |
18 | # Product Collection Components
19 |
20 |
21 | These components were originally part of the eCommerce category but have since moved.
22 |
23 |
24 | {frontmatter.description}
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/data/components/marketing/sections.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Sections
3 | description: Section components created with Tailwind CSS v4. These responsive, SEO-optimized layouts are perfect for building content blocks, feature sections, and landing page segments for marketing websites and web applications.
4 | emoji: 🧱
5 | terms:
6 | - section
7 | - feature
8 | - layout
9 | components:
10 | - { title: 'Content with image, 1/2 grid' }
11 | - { title: 'Content with image, 2/3 grid' }
12 | - { title: 'Content with image, 3/2 grid' }
13 | - { title: 'Content with image, vertical split' }
14 | ---
15 |
16 | # Section Components
17 |
18 | {frontmatter.description}
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/data/pages/acknowledgements.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Project Acknowledgements
3 | description: Highlighting specific tools and libraries that contributed to the creation of HyperUI.
4 | ---
5 |
6 | This list does not include all of the tools and libraries used to create HyperUI, but it does highlight those that may otherwise go unnoticed, despite their significant contribution to the project.
7 |
8 | - [Rehype](https://github.com/rehypejs)
9 | - [PrismJS](https://github.com/PrismJS/prism)
10 | - [React Use](https://github.com/streamich/react-use)
11 | - [Next MDX Remote](https://github.com/hashicorp/next-mdx-remote)
12 | - [Prettier (Tailwind CSS)](https://github.com/tailwindlabs/prettier-plugin-tailwindcss)
13 | - [React Intersection Observer](https://github.com/thebuilder/react-intersection-observer)
14 |
--------------------------------------------------------------------------------
/src/data/posts/move-to-tailwindcss-without-breaking-changes.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Moving to Tailwind CSS from Bootstrap? Use a Prefix (v3)
3 | description: Having issues when moving your existing Bootstrap project to Tailwind CSS? There might be an easy solution for that.
4 | date: 10/25/2022
5 | emoji: 😅
6 | ---
7 |
8 | I've heard the line...
9 |
10 | > I'm moving to Tailwind CSS but it's been difficult as it breaks Bootstrap
11 |
12 | ...at least three times. It's not a lot, but when the solution is a single line of code, it seems significant.
13 |
14 | So, what's the magical line? You ask.
15 |
16 | ```
17 | prefix: 'tw-'
18 | ```
19 |
20 | That's it. Now classes like `flex` will be `tw-flex`. If you don't like `tw-`, don't use it. You can set the prefix to anything you want, even `help-` 🤷♂️
21 |
22 | However, sometimes you might still encounter issues. This is likely due to conflicts between Tailwind CSS and Bootstrap normalize CSS. You can resolve this by disabling one.
23 |
24 | I usually disable the Tailwind CSS normalize because I want to keep the styles close to the Bootstrap implementation while transitioning.
25 |
26 | _I know that's a little backwards, but you have to keep the clients happy!_
27 |
28 | To disable the Tailwind CSS normalize, you can easily comment it out.
29 |
30 | ```
31 | /* @tailwind base; */
32 | @tailwind components;
33 | @tailwind utilities;
34 | ```
35 |
36 | You can [read more about prefix](https://tailwindcss.com/docs/configuration#prefix) on the Tailwind CSS website.
37 |
--------------------------------------------------------------------------------
/src/styles/components.css:
--------------------------------------------------------------------------------
1 | @import 'tailwindcss' source(none);
2 | @plugin '@tailwindcss/forms';
3 |
4 | @source '../../public/components';
5 |
6 | @custom-variant dark (&:where(.dark, .dark *));
7 |
8 | @theme {
9 | --font-sans:
10 | var(--font-inter), ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
11 | 'Segoe UI Symbol', 'Noto Color Emoji';
12 | }
13 |
14 | @layer base {
15 | *,
16 | ::after,
17 | ::before,
18 | ::backdrop,
19 | ::file-selector-button {
20 | border-color: var(--color-gray-200, currentColor);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/styles/prism.css:
--------------------------------------------------------------------------------
1 | pre[class*='language-'] {
2 | border-radius: var(--radius-md) !important;
3 | background-color: var(--color-gray-900) !important;
4 | padding: --spacing(4) !important;
5 | margin: 0 !important;
6 | }
7 |
8 | .token:is(.property, .tag, .constant, .symbol, .deleted) {
9 | color: var(--color-red-400) !important;
10 | }
11 |
12 | .token:is(.selector, .attr-name, .string, .char, .builtin, .inserted) {
13 | color: var(--color-yellow-400) !important;
14 | }
15 |
16 | .token:is(.atrule, .attr-value, .function, .class-name) {
17 | color: var(--color-green-400) !important;
18 | }
19 |
20 | .token:is(.comment, .prolog, .doctype, .cdata) {
21 | color: var(--color-gray-400) !important;
22 | }
23 |
24 | .token:is(.operator, .entity, .url, .variable) {
25 | color: var(--color-white) !important;
26 | }
27 |
28 | .token:is(.boolean, .number) {
29 | color: var(--color-purple-400) !important;
30 | }
31 |
32 | .token.keyword {
33 | color: var(--color-cyan-400) !important;
34 | }
35 |
--------------------------------------------------------------------------------
/src/styles/site.css:
--------------------------------------------------------------------------------
1 | @import './prism.css' layer(base);
2 |
3 | @import 'tailwindcss';
4 | @plugin '@tailwindcss/forms';
5 | @plugin '@tailwindcss/typography';
6 |
7 | @theme {
8 | --font-sans:
9 | var(--font-inter), ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
10 | 'Segoe UI Symbol', 'Noto Color Emoji';
11 | }
12 |
13 | @layer base {
14 | *,
15 | ::after,
16 | ::before,
17 | ::backdrop,
18 | ::file-selector-button {
19 | border-color: var(--color-gray-200, currentColor);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------