├── public ├── og-card.png └── twjson │ └── v0.7.4.json ├── src ├── app │ ├── favicon.ico │ ├── globals.css │ ├── page.tsx │ ├── layout.tsx │ └── icon.svg ├── utils │ ├── index.ts │ └── types.ts └── components │ ├── Footer.tsx │ ├── Toast.tsx │ ├── MasonryCard.tsx │ ├── ThemeSwitch.tsx │ ├── MasonryLayout.tsx │ ├── Header.tsx │ ├── TwCard.tsx │ ├── SearchInput.tsx │ └── Icons.tsx ├── postcss.config.mjs ├── next.config.ts ├── README.md ├── .gitignore ├── tsconfig.json ├── package.json ├── crawler.js ├── .github └── workflows │ └── deploy.yml └── pnpm-lock.yaml /public/og-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pk504b/tailwind-cheatsheet/HEAD/public/og-card.png -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pk504b/tailwind-cheatsheet/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | const config = { 2 | plugins: ["@tailwindcss/postcss"], 3 | }; 4 | 5 | export default config; 6 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next"; 2 | 3 | const nextConfig: NextConfig = { 4 | output: "export", 5 | basePath: "", 6 | images: { 7 | unoptimized: true, 8 | }, 9 | }; 10 | 11 | export default nextConfig; 12 | -------------------------------------------------------------------------------- /src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export const twVersions = ["v4.1", "v3.4.17", "v2.2.16", "v1.9.0", "v0.7.4"]; 2 | 3 | export async function loadTwJson(version: string) { 4 | const res = await fetch(`/twjson/${version}.json`); 5 | const data = await res.json(); 6 | return data; 7 | } -------------------------------------------------------------------------------- /src/utils/types.ts: -------------------------------------------------------------------------------- 1 | export interface TwJson { 2 | title: string; 3 | children: TwSection[]; 4 | } 5 | 6 | export interface TwSection { 7 | title: string; 8 | url: string; 9 | description: string; 10 | table: TwClassEntry[]; 11 | } 12 | 13 | export interface TwClassEntry { 14 | class: string; 15 | properties: string; 16 | value: string; 17 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tailwind Cheatsheet 2 | 3 | [Tailwind Cheatsheet](https://tailwindcss.504b.cc/) is a quick reference for Tailwind CSS classes. 4 | 5 | Built with Next.js and Tailwind CSS. 6 | 7 | ## Features 8 | 9 | - Quick reference for Tailwind CSS classes 10 | - Search and filter functionality 11 | - Masonry layout for displaying Tailwind CSS classes 12 | - Dark mode support 13 | - Copy to clipboard 14 | 15 | -------------------------------------------------------------------------------- /src/components/Footer.tsx: -------------------------------------------------------------------------------- 1 | export default function Footer() { 2 | return ( 3 | 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /src/components/Toast.tsx: -------------------------------------------------------------------------------- 1 | interface ToastProps { 2 | copied: string; 3 | toastVisible: boolean; 4 | }; 5 | 6 | export default function Toast({ copied, toastVisible }: ToastProps) { 7 | 8 | return ( 9 | <> 10 | {toastVisible && ( 11 |
14 | Copied .{copied} 15 |
16 | )} 17 | 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.* 7 | .yarn/* 8 | !.yarn/patches 9 | !.yarn/plugins 10 | !.yarn/releases 11 | !.yarn/versions 12 | 13 | # testing 14 | /coverage 15 | 16 | # next.js 17 | /.next/ 18 | /out/ 19 | 20 | # production 21 | /build 22 | 23 | # misc 24 | .DS_Store 25 | *.pem 26 | 27 | # debug 28 | npm-debug.log* 29 | yarn-debug.log* 30 | yarn-error.log* 31 | .pnpm-debug.log* 32 | 33 | # env files (can opt-in for committing if needed) 34 | .env* 35 | 36 | # vercel 37 | .vercel 38 | 39 | # typescript 40 | *.tsbuildinfo 41 | next-env.d.ts 42 | -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | @custom-variant dark (&:where(.dark, .dark *)); 3 | 4 | @layer utilities { 5 | .scrollbar::-webkit-scrollbar { 6 | width: 4px; 7 | /* height: 20%; */ 8 | } 9 | 10 | .scrollbar::-webkit-scrollbar-track { 11 | border-radius: 100vh; 12 | background: #ebcaca; 13 | } 14 | 15 | .scrollbar::-webkit-scrollbar-thumb { 16 | border-radius: 100vh; 17 | background: #615e5e; 18 | } 19 | 20 | @media (prefers-color-scheme: dark) { 21 | .scrollbar::-webkit-scrollbar-track { 22 | background: #615e5e; 23 | } 24 | 25 | .scrollbar::-webkit-scrollbar-thumb { 26 | background: #ebcaca; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "noEmit": true, 9 | "esModuleInterop": true, 10 | "module": "esnext", 11 | "moduleResolution": "bundler", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "jsx": "preserve", 15 | "incremental": true, 16 | "plugins": [ 17 | { 18 | "name": "next" 19 | } 20 | ], 21 | "paths": { 22 | "@/*": ["./src/*"] 23 | } 24 | }, 25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 | "exclude": ["node_modules"] 27 | } 28 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwind-cheatsheet", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev --turbopack", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@next/third-parties": "^15.4.6", 13 | "next": "15.4.6", 14 | "react": "19.1.0", 15 | "react-dom": "19.1.0", 16 | "react-loading-skeleton": "^3.5.0", 17 | "react-plock": "^3.5.1" 18 | }, 19 | "devDependencies": { 20 | "@tailwindcss/postcss": "^4", 21 | "@types/node": "^20", 22 | "@types/react": "^19", 23 | "@types/react-dom": "^19", 24 | "prop-types": "^15.8.1", 25 | "tailwindcss": "^4", 26 | "typescript": "^5" 27 | }, 28 | "packageManager": "pnpm@10.12.1+sha512.f0dda8580f0ee9481c5c79a1d927b9164f2c478e90992ad268bbb2465a736984391d6333d2c327913578b2804af33474ca554ba29c04a8b13060a717675ae3ac" 29 | } 30 | -------------------------------------------------------------------------------- /src/components/MasonryCard.tsx: -------------------------------------------------------------------------------- 1 | import { TwJson } from "@/utils/types"; 2 | import Header from "./Header"; 3 | // import Footer from "./Footer"; 4 | import TwCard from "./TwCard"; 5 | 6 | interface Props { 7 | idx: number; 8 | item: TwJson; 9 | currTw: string; 10 | setCurrTw: (currTw: string) => void; 11 | } 12 | 13 | export default function MasonryCard({ idx, item, currTw, setCurrTw }: Props) { 14 | if (item.title === "header") { 15 | return
; 16 | } 17 | 18 | if (item.title === "ad") { 19 | return ( 20 |
21 | 22 | Tailwind CSS in your browser? 23 | 24 |
25 | ); 26 | } 27 | 28 | return ( 29 | <> 30 | 31 | 32 | ); 33 | } 34 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import { useState, useEffect } from "react"; 4 | import MasonryLayout from "@/components/MasonryLayout"; 5 | import { loadTwJson, twVersions } from "@/utils"; 6 | import Toast from "@/components/Toast"; 7 | import { TwJson } from "@/utils/types"; 8 | import Footer from "@/components/Footer"; 9 | 10 | export default function Home() { 11 | const [currTw, setCurrTw] = useState(twVersions[0]); 12 | const [jsonData, setJsonData] = useState([]); 13 | 14 | useEffect(() => { 15 | (async () => { 16 | const data = await loadTwJson(currTw); 17 | setJsonData(data); 18 | })(); 19 | }, [currTw]); 20 | 21 | return ( 22 | <> 23 |
24 |
25 | 26 |
27 |
28 |
29 | 30 | 31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /src/components/ThemeSwitch.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from "react"; 2 | import { Moon, Sun } from "./Icons"; 3 | 4 | export default function ThemeSwitch() { 5 | const [theme, setTheme] = useState("dark"); 6 | 7 | useEffect(() => { 8 | const stored = localStorage.getItem("theme"); 9 | if (stored) { 10 | setTheme(stored); 11 | document.documentElement.classList.toggle("dark", stored === "dark"); 12 | } 13 | }, []); 14 | 15 | return ( 16 |
17 | 32 |
33 | ); 34 | } 35 | -------------------------------------------------------------------------------- /src/components/MasonryLayout.tsx: -------------------------------------------------------------------------------- 1 | import { Masonry } from 'react-plock'; 2 | import MasonryCard from "./MasonryCard"; 3 | import { TwJson } from "@/utils/types"; 4 | import Skeleton from 'react-loading-skeleton' 5 | import 'react-loading-skeleton/dist/skeleton.css' 6 | import { useMemo } from 'react'; 7 | 8 | interface Props { 9 | currTw: string; 10 | setCurrTw: (currTw: string) => void; 11 | twJson: TwJson[]; 12 | } 13 | 14 | const MasonryConfig = { 15 | columns: [1, 2, 3, 4], 16 | gap: [20, 20, 20, 20], 17 | media: [640, 768, 1024, 1280], 18 | useBalancedLayout: true, 19 | } 20 | 21 | export default function MasonryLayout({ currTw, setCurrTw, twJson }: Props) { 22 | 23 | const skeletonItems = useMemo(() => { 24 | return Array.from({ length: 10 }, () => ({ 25 | height: Math.random() * 100 + 200, 26 | })); 27 | }, []); 28 | 29 | if (!twJson || twJson.length === 0) { 30 | return ( 31 | 34 | 40 | } 41 | config={MasonryConfig} 42 | /> 43 | ) 44 | } 45 | 46 | return ( 47 | } 55 | /> 56 | ) 57 | } -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import "./globals.css"; 3 | import { GoogleAnalytics } from '@next/third-parties/google'; 4 | 5 | export const metadata: Metadata = { 6 | title: "Tailwind CSS Cheatsheet", 7 | description: "A quick reference guide to learn Tailwind CSS. Easily browse and search through all Tailwind utility classes and CSS properties on a single page.", 8 | keywords: ["cheat", "sheet", "cheatsheet", "tailwind", "css", "classes", "utilities", "v4", "spa", "single page", "html", "javascript"], 9 | openGraph: { 10 | type: "website", 11 | url: "https://tailwindcss.504b.cc/", 12 | title: "Tailwind CSS Cheatsheet", 13 | description: "A quick reference guide to learn Tailwind CSS. Easily browse and search through all Tailwind utility classes and CSS properties on a single page.", 14 | siteName: "Tailwind CSS Cheatsheet", 15 | images: [ 16 | { 17 | url: "https://tailwindcss.504b.cc/og-card.png", 18 | width: 600, 19 | height: 315, 20 | }, 21 | ], 22 | locale: "en-US", 23 | }, 24 | twitter: { 25 | card: "summary_large_image", 26 | title: "Tailwind CSS Cheatsheet", 27 | description: "A quick reference guide to learn Tailwind CSS. Easily browse and search through all Tailwind utility classes and CSS properties on a single page.", 28 | images: [ 29 | { 30 | url: "https://tailwindcss.504b.cc/og-card.png", 31 | width: 600, 32 | height: 315, 33 | }, 34 | ], 35 | } 36 | }; 37 | 38 | export default function RootLayout({ 39 | children, 40 | }: Readonly<{ 41 | children: React.ReactNode; 42 | }>) { 43 | return ( 44 | 45 | 46 | 47 | 48 | 49 | 50 | {children} 51 | 52 | 53 | ); 54 | } 55 | -------------------------------------------------------------------------------- /src/app/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/components/Header.tsx: -------------------------------------------------------------------------------- 1 | import { twVersions } from "@/utils"; 2 | import ThemeSwitch from "./ThemeSwitch"; 3 | import { useState } from "react"; 4 | import SearchInput from "./SearchInput"; 5 | import { Coffee, Compress, Expand, Github } from "./Icons"; 6 | 7 | interface Props { 8 | currTw: string; 9 | setCurrTw: (currTw: string) => void; 10 | } 11 | 12 | export default function Header({ currTw, setCurrTw }: Props) { 13 | const [expanded, setExpanded] = useState(false); 14 | 15 | return ( 16 |
17 |
18 |
19 |
20 | 21 | Tailwind CSS   22 | 30 | 31 |
32 | Cheatsheet 33 |
34 |
35 | 36 | 37 | 38 | 44 | 45 | 46 | 47 |
48 |
49 |
50 | 51 | 69 |
70 |
71 |
72 | ) 73 | } -------------------------------------------------------------------------------- /src/components/TwCard.tsx: -------------------------------------------------------------------------------- 1 | import Toast from "./Toast" 2 | import { useState } from "react" 3 | import { TwSection } from "@/utils/types"; 4 | import { CaretUpDown, Tailwindcss } from "./Icons"; 5 | 6 | interface Props { 7 | idx: number; 8 | title: string; 9 | children: TwSection[]; 10 | } 11 | 12 | export default function TwCard({ idx, title, children }: Props) { 13 | const [copied, setCopied] = useState(""); 14 | const [toastVisible, setToastVisible] = useState(false); 15 | 16 | return ( 17 | <> 18 |
19 |

{title}

20 | {children.map((b, i) => 21 |
{ 24 | const detailsEl = e.target as HTMLDetailsElement; 25 | const twLink = detailsEl.querySelector(".tw-link"); 26 | detailsEl.open ? twLink?.classList.replace("hidden", "flex") : twLink?.classList.replace("flex", "hidden"); 27 | }} 28 | > 29 | 30 |

{b.title}

31 | 32 |
33 | 38 | 39 | Docs 40 | 41 | 42 |
43 |
44 | 45 |
46 |

{b.description}

47 |
48 | 49 | 50 | {b.table.map((c, j) => 51 | { 52 | navigator.clipboard.writeText(c.class) 53 | setCopied(c.class) 54 | setToastVisible(true) 55 | setTimeout(() => { 56 | setToastVisible(false) 57 | }, 1500); 58 | }}> 59 | 60 | 61 | 62 | 63 | )} 64 | 65 |
.{c.class}{c.properties}{c.value}
66 |
67 |
68 |
69 | )} 70 |
71 | 72 | 73 | ) 74 | } -------------------------------------------------------------------------------- /src/components/SearchInput.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useEffect, useRef, useState } from "react"; 4 | 5 | export default function SearchInput() { 6 | const searchInputRef = useRef(null); 7 | const kbdRef = useRef(null); 8 | const [query, setQuery] = useState(""); 9 | 10 | // Handle Ctrl+K 11 | useEffect(() => { 12 | const handleKeyDown = (event: KeyboardEvent) => { 13 | if ((event.ctrlKey || event.metaKey) && event.key === "k") { 14 | event.preventDefault(); 15 | searchInputRef.current?.focus(); 16 | searchInputRef.current?.select(); 17 | } 18 | 19 | if (event.key === "Escape") { 20 | event.preventDefault(); 21 | setQuery(""); 22 | } 23 | }; 24 | 25 | window.addEventListener("keydown", handleKeyDown); 26 | 27 | return () => { 28 | window.removeEventListener("keydown", handleKeyDown); // Cleanup 29 | }; 30 | }, []); 31 | 32 | // Highlight search results 33 | useEffect(() => { 34 | const details = document.querySelectorAll("details"); 35 | details.forEach((el) => { 36 | const searchables = el.querySelectorAll(".searchable"); 37 | 38 | // Remove previous highlights 39 | searchables.forEach((node) => { 40 | const originalText = node.getAttribute("data-original-text"); 41 | originalText 42 | ? (node.innerHTML = originalText) 43 | : node.setAttribute("data-original-text", node.innerHTML); 44 | }); 45 | 46 | if (query === "") { 47 | el.classList.remove("hidden"); 48 | el.open = false; 49 | } else if (query.length >= 3) { 50 | const searchableText = Array.from(searchables) 51 | .map((node) => node.textContent || "") 52 | .join(" ") 53 | .toLowerCase(); 54 | 55 | const matches = searchableText.includes(query.toLowerCase()); 56 | matches ? el.classList.remove("hidden") : el.classList.add("hidden"); 57 | const h3Text = el.querySelector("h3")?.textContent?.toLowerCase() || ""; 58 | el.open = matches && !h3Text.includes("color"); 59 | 60 | // Apply highlighting only to visible elements 61 | if (matches) { 62 | searchables.forEach((node) => { 63 | const text = node.textContent; 64 | const regex = new RegExp(`(${query})`, "gi"); 65 | const highlighted = text.replace(regex, `$1`); 66 | node.innerHTML = highlighted; 67 | }); 68 | } 69 | } 70 | }); 71 | }, [query]); 72 | 73 | return ( 74 |
75 | { 78 | kbdRef.current?.classList.replace("opacity-100", "opacity-0"); 79 | searchInputRef.current?.select(); 80 | }} 81 | onBlur={() => 82 | kbdRef.current?.classList.replace("opacity-0", "opacity-100") 83 | } 84 | type="text" 85 | className="w-full bg-transparent focus:outline-none text-sm border-2 border-sky-500 px-2 py-2 rounded-md flex justify-center items-center gap-2" 86 | placeholder="Search..." 87 | value={query} 88 | onChange={(e) => setQuery(e.target.value)} 89 | /> 90 | 91 | 95 | ⌘ K 96 | 97 |
98 | ); 99 | } 100 | -------------------------------------------------------------------------------- /crawler.js: -------------------------------------------------------------------------------- 1 | import * as cheerio from 'cheerio'; 2 | import fs from 'fs'; 3 | 4 | const crawlTWDocs = async (docsUrl, filename) => { 5 | const jsonData = []; 6 | 7 | // Extract url from Nav 8 | try { 9 | const baseUrl = new URL(docsUrl).origin; 10 | 11 | const response = await fetch(docsUrl); 12 | const html = await response.text(); 13 | 14 | const $ = cheerio.load(html); 15 | 16 | $('nav h3').each((i, el) => { // 'nav#nav p' for v0, 'nav#nav h5' for the rest versions, 'nav h3' for v4 17 | const sectionTitle = $(el).text().trim(); 18 | const sectionItems = []; 19 | 20 | $(el) 21 | .next('ul') 22 | .find('li a') 23 | .each((j, link) => { 24 | const itemTitle = $(link).text().trim(); 25 | // const itemUrl = $(link).attr('href'); // v0 26 | const itemUrl = `${baseUrl}${$(link).attr('href')}`; // rest versions 27 | sectionItems.push({ 28 | title: itemTitle, 29 | url: itemUrl, 30 | }); 31 | }); 32 | 33 | jsonData.push({ 34 | title: sectionTitle, 35 | children: sectionItems, 36 | }); 37 | }); 38 | console.log('Navigation extracted'); 39 | } catch (error) { 40 | console.error('Error extracting navigation :', error); 41 | } 42 | 43 | // Extract each page in the Nav 44 | try { 45 | for (const section of jsonData) { 46 | for (const child of section.children) { 47 | console.log('Now crawling :', child.url); 48 | try { 49 | const response = await fetch(child.url); 50 | const html = await response.text(); 51 | const $ = cheerio.load(html); 52 | 53 | // Get description 54 | const description = $('div.px-4 p[data-description="true"]').text().trim(); 55 | // const description = $('header#header p.mt-2').text().trim(); // v3 56 | // const description = $('div#content-wrapper p:first').text().trim(); // v2 57 | // const description = $('div#content-wrapper div.text-xl').first().text().trim(); // v0 58 | 59 | // Get table 60 | const table = []; 61 | $('table tbody tr').each((i, row) => { 62 | const className = $(row).find('td:nth-child(1)').text().trim(); 63 | const properties = $(row).find('td:nth-child(2)').text().trim(); 64 | const value = $(row).find('td:nth-child(2) span:first-child').text().trim(); 65 | 66 | table.push({ class: className, properties, value }); 67 | }); 68 | 69 | // Add the extracted data to the child object 70 | child.description = description; 71 | child.table = table; 72 | } catch (err) { 73 | console.error(`Error crawling : ${child.url}`, err.message); 74 | } 75 | } 76 | } 77 | fs.writeFileSync(`${filename}.json`, JSON.stringify(jsonData, null, 2), 'utf-8'); 78 | console.log(`Full site extracted and saved to ${filename}.json`); 79 | } catch (error) { 80 | console.error('Error extracting full site :', error.message); 81 | } 82 | } 83 | 84 | crawlTWDocs('https://tailwindcss.com/docs/installation/using-vite', 'v4.1'); -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | # Sample workflow for building and deploying a Next.js site to GitHub Pages 2 | # 3 | # To get started with Next.js see: https://nextjs.org/docs/getting-started 4 | # 5 | name: Deploy Next.js site to Pages 6 | 7 | on: 8 | # Runs on pushes targeting the default branch 9 | push: 10 | branches: ["main"] 11 | 12 | # Allows you to run this workflow manually from the Actions tab 13 | workflow_dispatch: 14 | 15 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 16 | permissions: 17 | contents: read 18 | pages: write 19 | id-token: write 20 | 21 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. 22 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. 23 | concurrency: 24 | group: "pages" 25 | cancel-in-progress: false 26 | 27 | jobs: 28 | # Build job 29 | build: 30 | runs-on: ubuntu-latest 31 | steps: 32 | - name: Checkout 33 | uses: actions/checkout@v4 34 | 35 | - name: Detect package manager 36 | id: detect-package-manager 37 | run: | 38 | if [ -f "${{ github.workspace }}/yarn.lock" ]; then 39 | echo "manager=yarn" >> $GITHUB_OUTPUT 40 | echo "command=install" >> $GITHUB_OUTPUT 41 | echo "runner=yarn" >> $GITHUB_OUTPUT 42 | exit 0 43 | elif [ -f "${{ github.workspace }}/pnpm-lock.yaml" ]; then 44 | echo "manager=pnpm" >> $GITHUB_OUTPUT 45 | echo "command=install" >> $GITHUB_OUTPUT 46 | echo "runner=pnpm" >> $GITHUB_OUTPUT 47 | npm install -g pnpm 48 | exit 0 49 | elif [ -f "${{ github.workspace }}/package.json" ]; then 50 | echo "manager=npm" >> $GITHUB_OUTPUT 51 | echo "command=ci" >> $GITHUB_OUTPUT 52 | echo "runner=npx --no-install" >> $GITHUB_OUTPUT 53 | exit 0 54 | else 55 | echo "Unable to determine package manager" 56 | exit 1 57 | fi 58 | 59 | - name: Setup Node 60 | uses: actions/setup-node@v4 61 | with: 62 | node-version: "lts/*" 63 | cache: ${{ steps.detect-package-manager.outputs.manager }} 64 | 65 | - name: Setup Pages 66 | uses: actions/configure-pages@v4 67 | 68 | - name: Restore cache 69 | uses: actions/cache@v4 70 | with: 71 | path: | 72 | .next/cache 73 | # Generate a new cache whenever packages or source files change. 74 | key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} 75 | # If source files changed but packages didn't, rebuild from a prior cache. 76 | restore-keys: | 77 | ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}- 78 | 79 | - name: Install dependencies 80 | run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} 81 | 82 | - name: Build with Next.js 83 | run: ${{ steps.detect-package-manager.outputs.runner }} next build 84 | 85 | - name: Upload artifact 86 | uses: actions/upload-pages-artifact@v3 87 | with: 88 | path: ./out 89 | 90 | # Deployment job 91 | deploy: 92 | environment: 93 | name: github-pages 94 | url: ${{ steps.deployment.outputs.page_url }} 95 | runs-on: ubuntu-latest 96 | needs: build 97 | steps: 98 | - name: Deploy to GitHub Pages 99 | id: deployment 100 | uses: actions/deploy-pages@v4 -------------------------------------------------------------------------------- /src/components/Icons.tsx: -------------------------------------------------------------------------------- 1 | 2 | // line-md:coffee-half-empty-twotone-loop 3 | export const Coffee = (props: React.SVGProps) => ( 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | ) 27 | 28 | // ri:github-fill 29 | export const Github = (props: React.SVGProps) => ( 30 | 31 | 32 | 33 | ) 34 | 35 | // material-symbols:compress 36 | export const Compress = (props: React.SVGProps) => ( 37 | 38 | 39 | 40 | ) 41 | 42 | // material-symbols:expand 43 | export const Expand = (props: React.SVGProps) => ( 44 | 45 | 46 | 47 | ) 48 | // twemoji:sun 49 | export const Sun = (props: React.SVGProps) => ( 50 | 51 | 52 | 53 | 54 | ) 55 | // tabler:moon-filled 56 | export const Moon = (props: React.SVGProps) => ( 57 | 58 | 59 | 60 | ) 61 | 62 | // devicon:tailwindcss 63 | export const Tailwindcss = (props: React.SVGProps) => ( 64 | 65 | 66 | 67 | ) 68 | 69 | // ph:caret-up-down-fill 70 | export const CaretUpDown = (props: React.SVGProps) => ( 71 | 72 | 73 | 74 | ) -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@next/third-parties': 12 | specifier: ^15.4.6 13 | version: 15.5.6(next@15.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) 14 | next: 15 | specifier: 15.4.6 16 | version: 15.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 17 | react: 18 | specifier: 19.1.0 19 | version: 19.1.0 20 | react-dom: 21 | specifier: 19.1.0 22 | version: 19.1.0(react@19.1.0) 23 | react-loading-skeleton: 24 | specifier: ^3.5.0 25 | version: 3.5.0(react@19.1.0) 26 | react-plock: 27 | specifier: ^3.5.1 28 | version: 3.6.1(react@19.1.0) 29 | devDependencies: 30 | '@tailwindcss/postcss': 31 | specifier: ^4 32 | version: 4.1.17 33 | '@types/node': 34 | specifier: ^20 35 | version: 20.19.24 36 | '@types/react': 37 | specifier: ^19 38 | version: 19.2.2 39 | '@types/react-dom': 40 | specifier: ^19 41 | version: 19.2.2(@types/react@19.2.2) 42 | prop-types: 43 | specifier: ^15.8.1 44 | version: 15.8.1 45 | tailwindcss: 46 | specifier: ^4 47 | version: 4.1.17 48 | typescript: 49 | specifier: ^5 50 | version: 5.9.3 51 | 52 | packages: 53 | 54 | '@alloc/quick-lru@5.2.0': 55 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 56 | engines: {node: '>=10'} 57 | 58 | '@emnapi/runtime@1.7.0': 59 | resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==} 60 | 61 | '@img/colour@1.0.0': 62 | resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} 63 | engines: {node: '>=18'} 64 | 65 | '@img/sharp-darwin-arm64@0.34.5': 66 | resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} 67 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 68 | cpu: [arm64] 69 | os: [darwin] 70 | 71 | '@img/sharp-darwin-x64@0.34.5': 72 | resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} 73 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 74 | cpu: [x64] 75 | os: [darwin] 76 | 77 | '@img/sharp-libvips-darwin-arm64@1.2.4': 78 | resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} 79 | cpu: [arm64] 80 | os: [darwin] 81 | 82 | '@img/sharp-libvips-darwin-x64@1.2.4': 83 | resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} 84 | cpu: [x64] 85 | os: [darwin] 86 | 87 | '@img/sharp-libvips-linux-arm64@1.2.4': 88 | resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} 89 | cpu: [arm64] 90 | os: [linux] 91 | 92 | '@img/sharp-libvips-linux-arm@1.2.4': 93 | resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} 94 | cpu: [arm] 95 | os: [linux] 96 | 97 | '@img/sharp-libvips-linux-ppc64@1.2.4': 98 | resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} 99 | cpu: [ppc64] 100 | os: [linux] 101 | 102 | '@img/sharp-libvips-linux-riscv64@1.2.4': 103 | resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} 104 | cpu: [riscv64] 105 | os: [linux] 106 | 107 | '@img/sharp-libvips-linux-s390x@1.2.4': 108 | resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} 109 | cpu: [s390x] 110 | os: [linux] 111 | 112 | '@img/sharp-libvips-linux-x64@1.2.4': 113 | resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} 114 | cpu: [x64] 115 | os: [linux] 116 | 117 | '@img/sharp-libvips-linuxmusl-arm64@1.2.4': 118 | resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} 119 | cpu: [arm64] 120 | os: [linux] 121 | 122 | '@img/sharp-libvips-linuxmusl-x64@1.2.4': 123 | resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} 124 | cpu: [x64] 125 | os: [linux] 126 | 127 | '@img/sharp-linux-arm64@0.34.5': 128 | resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} 129 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 130 | cpu: [arm64] 131 | os: [linux] 132 | 133 | '@img/sharp-linux-arm@0.34.5': 134 | resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} 135 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 136 | cpu: [arm] 137 | os: [linux] 138 | 139 | '@img/sharp-linux-ppc64@0.34.5': 140 | resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} 141 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 142 | cpu: [ppc64] 143 | os: [linux] 144 | 145 | '@img/sharp-linux-riscv64@0.34.5': 146 | resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} 147 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 148 | cpu: [riscv64] 149 | os: [linux] 150 | 151 | '@img/sharp-linux-s390x@0.34.5': 152 | resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} 153 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 154 | cpu: [s390x] 155 | os: [linux] 156 | 157 | '@img/sharp-linux-x64@0.34.5': 158 | resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} 159 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 160 | cpu: [x64] 161 | os: [linux] 162 | 163 | '@img/sharp-linuxmusl-arm64@0.34.5': 164 | resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} 165 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 166 | cpu: [arm64] 167 | os: [linux] 168 | 169 | '@img/sharp-linuxmusl-x64@0.34.5': 170 | resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} 171 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 172 | cpu: [x64] 173 | os: [linux] 174 | 175 | '@img/sharp-wasm32@0.34.5': 176 | resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} 177 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 178 | cpu: [wasm32] 179 | 180 | '@img/sharp-win32-arm64@0.34.5': 181 | resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} 182 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 183 | cpu: [arm64] 184 | os: [win32] 185 | 186 | '@img/sharp-win32-ia32@0.34.5': 187 | resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} 188 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 189 | cpu: [ia32] 190 | os: [win32] 191 | 192 | '@img/sharp-win32-x64@0.34.5': 193 | resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} 194 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 195 | cpu: [x64] 196 | os: [win32] 197 | 198 | '@jridgewell/gen-mapping@0.3.13': 199 | resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} 200 | 201 | '@jridgewell/remapping@2.3.5': 202 | resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} 203 | 204 | '@jridgewell/resolve-uri@3.1.2': 205 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 206 | engines: {node: '>=6.0.0'} 207 | 208 | '@jridgewell/sourcemap-codec@1.5.5': 209 | resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 210 | 211 | '@jridgewell/trace-mapping@0.3.31': 212 | resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} 213 | 214 | '@next/env@15.4.6': 215 | resolution: {integrity: sha512-yHDKVTcHrZy/8TWhj0B23ylKv5ypocuCwey9ZqPyv4rPdUdRzpGCkSi03t04KBPyU96kxVtUqx6O3nE1kpxASQ==} 216 | 217 | '@next/swc-darwin-arm64@15.4.6': 218 | resolution: {integrity: sha512-667R0RTP4DwxzmrqTs4Lr5dcEda9OxuZsVFsjVtxVMVhzSpo6nLclXejJVfQo2/g7/Z9qF3ETDmN3h65mTjpTQ==} 219 | engines: {node: '>= 10'} 220 | cpu: [arm64] 221 | os: [darwin] 222 | 223 | '@next/swc-darwin-x64@15.4.6': 224 | resolution: {integrity: sha512-KMSFoistFkaiQYVQQnaU9MPWtp/3m0kn2Xed1Ces5ll+ag1+rlac20sxG+MqhH2qYWX1O2GFOATQXEyxKiIscg==} 225 | engines: {node: '>= 10'} 226 | cpu: [x64] 227 | os: [darwin] 228 | 229 | '@next/swc-linux-arm64-gnu@15.4.6': 230 | resolution: {integrity: sha512-PnOx1YdO0W7m/HWFeYd2A6JtBO8O8Eb9h6nfJia2Dw1sRHoHpNf6lN1U4GKFRzRDBi9Nq2GrHk9PF3Vmwf7XVw==} 231 | engines: {node: '>= 10'} 232 | cpu: [arm64] 233 | os: [linux] 234 | 235 | '@next/swc-linux-arm64-musl@15.4.6': 236 | resolution: {integrity: sha512-XBbuQddtY1p5FGPc2naMO0kqs4YYtLYK/8aPausI5lyOjr4J77KTG9mtlU4P3NwkLI1+OjsPzKVvSJdMs3cFaw==} 237 | engines: {node: '>= 10'} 238 | cpu: [arm64] 239 | os: [linux] 240 | 241 | '@next/swc-linux-x64-gnu@15.4.6': 242 | resolution: {integrity: sha512-+WTeK7Qdw82ez3U9JgD+igBAP75gqZ1vbK6R8PlEEuY0OIe5FuYXA4aTjL811kWPf7hNeslD4hHK2WoM9W0IgA==} 243 | engines: {node: '>= 10'} 244 | cpu: [x64] 245 | os: [linux] 246 | 247 | '@next/swc-linux-x64-musl@15.4.6': 248 | resolution: {integrity: sha512-XP824mCbgQsK20jlXKrUpZoh/iO3vUWhMpxCz8oYeagoiZ4V0TQiKy0ASji1KK6IAe3DYGfj5RfKP6+L2020OQ==} 249 | engines: {node: '>= 10'} 250 | cpu: [x64] 251 | os: [linux] 252 | 253 | '@next/swc-win32-arm64-msvc@15.4.6': 254 | resolution: {integrity: sha512-FxrsenhUz0LbgRkNWx6FRRJIPe/MI1JRA4W4EPd5leXO00AZ6YU8v5vfx4MDXTvN77lM/EqsE3+6d2CIeF5NYg==} 255 | engines: {node: '>= 10'} 256 | cpu: [arm64] 257 | os: [win32] 258 | 259 | '@next/swc-win32-x64-msvc@15.4.6': 260 | resolution: {integrity: sha512-T4ufqnZ4u88ZheczkBTtOF+eKaM14V8kbjud/XrAakoM5DKQWjW09vD6B9fsdsWS2T7D5EY31hRHdta7QKWOng==} 261 | engines: {node: '>= 10'} 262 | cpu: [x64] 263 | os: [win32] 264 | 265 | '@next/third-parties@15.5.6': 266 | resolution: {integrity: sha512-B1BLvEi7edGERNN0njxpiqbqkp3zAZ69eJ5C0vwj/XINRzcC25b9MCqxbSHq094d306H65UnlhEkBv+a8c74iA==} 267 | peerDependencies: 268 | next: ^13.0.0 || ^14.0.0 || ^15.0.0 269 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 270 | 271 | '@swc/helpers@0.5.15': 272 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} 273 | 274 | '@tailwindcss/node@4.1.17': 275 | resolution: {integrity: sha512-csIkHIgLb3JisEFQ0vxr2Y57GUNYh447C8xzwj89U/8fdW8LhProdxvnVH6U8M2Y73QKiTIH+LWbK3V2BBZsAg==} 276 | 277 | '@tailwindcss/oxide-android-arm64@4.1.17': 278 | resolution: {integrity: sha512-BMqpkJHgOZ5z78qqiGE6ZIRExyaHyuxjgrJ6eBO5+hfrfGkuya0lYfw8fRHG77gdTjWkNWEEm+qeG2cDMxArLQ==} 279 | engines: {node: '>= 10'} 280 | cpu: [arm64] 281 | os: [android] 282 | 283 | '@tailwindcss/oxide-darwin-arm64@4.1.17': 284 | resolution: {integrity: sha512-EquyumkQweUBNk1zGEU/wfZo2qkp/nQKRZM8bUYO0J+Lums5+wl2CcG1f9BgAjn/u9pJzdYddHWBiFXJTcxmOg==} 285 | engines: {node: '>= 10'} 286 | cpu: [arm64] 287 | os: [darwin] 288 | 289 | '@tailwindcss/oxide-darwin-x64@4.1.17': 290 | resolution: {integrity: sha512-gdhEPLzke2Pog8s12oADwYu0IAw04Y2tlmgVzIN0+046ytcgx8uZmCzEg4VcQh+AHKiS7xaL8kGo/QTiNEGRog==} 291 | engines: {node: '>= 10'} 292 | cpu: [x64] 293 | os: [darwin] 294 | 295 | '@tailwindcss/oxide-freebsd-x64@4.1.17': 296 | resolution: {integrity: sha512-hxGS81KskMxML9DXsaXT1H0DyA+ZBIbyG/sSAjWNe2EDl7TkPOBI42GBV3u38itzGUOmFfCzk1iAjDXds8Oh0g==} 297 | engines: {node: '>= 10'} 298 | cpu: [x64] 299 | os: [freebsd] 300 | 301 | '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.17': 302 | resolution: {integrity: sha512-k7jWk5E3ldAdw0cNglhjSgv501u7yrMf8oeZ0cElhxU6Y2o7f8yqelOp3fhf7evjIS6ujTI3U8pKUXV2I4iXHQ==} 303 | engines: {node: '>= 10'} 304 | cpu: [arm] 305 | os: [linux] 306 | 307 | '@tailwindcss/oxide-linux-arm64-gnu@4.1.17': 308 | resolution: {integrity: sha512-HVDOm/mxK6+TbARwdW17WrgDYEGzmoYayrCgmLEw7FxTPLcp/glBisuyWkFz/jb7ZfiAXAXUACfyItn+nTgsdQ==} 309 | engines: {node: '>= 10'} 310 | cpu: [arm64] 311 | os: [linux] 312 | 313 | '@tailwindcss/oxide-linux-arm64-musl@4.1.17': 314 | resolution: {integrity: sha512-HvZLfGr42i5anKtIeQzxdkw/wPqIbpeZqe7vd3V9vI3RQxe3xU1fLjss0TjyhxWcBaipk7NYwSrwTwK1hJARMg==} 315 | engines: {node: '>= 10'} 316 | cpu: [arm64] 317 | os: [linux] 318 | 319 | '@tailwindcss/oxide-linux-x64-gnu@4.1.17': 320 | resolution: {integrity: sha512-M3XZuORCGB7VPOEDH+nzpJ21XPvK5PyjlkSFkFziNHGLc5d6g3di2McAAblmaSUNl8IOmzYwLx9NsE7bplNkwQ==} 321 | engines: {node: '>= 10'} 322 | cpu: [x64] 323 | os: [linux] 324 | 325 | '@tailwindcss/oxide-linux-x64-musl@4.1.17': 326 | resolution: {integrity: sha512-k7f+pf9eXLEey4pBlw+8dgfJHY4PZ5qOUFDyNf7SI6lHjQ9Zt7+NcscjpwdCEbYi6FI5c2KDTDWyf2iHcCSyyQ==} 327 | engines: {node: '>= 10'} 328 | cpu: [x64] 329 | os: [linux] 330 | 331 | '@tailwindcss/oxide-wasm32-wasi@4.1.17': 332 | resolution: {integrity: sha512-cEytGqSSoy7zK4JRWiTCx43FsKP/zGr0CsuMawhH67ONlH+T79VteQeJQRO/X7L0juEUA8ZyuYikcRBf0vsxhg==} 333 | engines: {node: '>=14.0.0'} 334 | cpu: [wasm32] 335 | bundledDependencies: 336 | - '@napi-rs/wasm-runtime' 337 | - '@emnapi/core' 338 | - '@emnapi/runtime' 339 | - '@tybys/wasm-util' 340 | - '@emnapi/wasi-threads' 341 | - tslib 342 | 343 | '@tailwindcss/oxide-win32-arm64-msvc@4.1.17': 344 | resolution: {integrity: sha512-JU5AHr7gKbZlOGvMdb4722/0aYbU+tN6lv1kONx0JK2cGsh7g148zVWLM0IKR3NeKLv+L90chBVYcJ8uJWbC9A==} 345 | engines: {node: '>= 10'} 346 | cpu: [arm64] 347 | os: [win32] 348 | 349 | '@tailwindcss/oxide-win32-x64-msvc@4.1.17': 350 | resolution: {integrity: sha512-SKWM4waLuqx0IH+FMDUw6R66Hu4OuTALFgnleKbqhgGU30DY20NORZMZUKgLRjQXNN2TLzKvh48QXTig4h4bGw==} 351 | engines: {node: '>= 10'} 352 | cpu: [x64] 353 | os: [win32] 354 | 355 | '@tailwindcss/oxide@4.1.17': 356 | resolution: {integrity: sha512-F0F7d01fmkQhsTjXezGBLdrl1KresJTcI3DB8EkScCldyKp3Msz4hub4uyYaVnk88BAS1g5DQjjF6F5qczheLA==} 357 | engines: {node: '>= 10'} 358 | 359 | '@tailwindcss/postcss@4.1.17': 360 | resolution: {integrity: sha512-+nKl9N9mN5uJ+M7dBOOCzINw94MPstNR/GtIhz1fpZysxL/4a+No64jCBD6CPN+bIHWFx3KWuu8XJRrj/572Dw==} 361 | 362 | '@types/node@20.19.24': 363 | resolution: {integrity: sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==} 364 | 365 | '@types/react-dom@19.2.2': 366 | resolution: {integrity: sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==} 367 | peerDependencies: 368 | '@types/react': ^19.2.0 369 | 370 | '@types/react@19.2.2': 371 | resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==} 372 | 373 | caniuse-lite@1.0.30001754: 374 | resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} 375 | 376 | client-only@0.0.1: 377 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 378 | 379 | csstype@3.1.3: 380 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 381 | 382 | detect-libc@2.1.2: 383 | resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} 384 | engines: {node: '>=8'} 385 | 386 | enhanced-resolve@5.18.3: 387 | resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} 388 | engines: {node: '>=10.13.0'} 389 | 390 | graceful-fs@4.2.11: 391 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 392 | 393 | jiti@2.6.1: 394 | resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} 395 | hasBin: true 396 | 397 | js-tokens@4.0.0: 398 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 399 | 400 | lightningcss-android-arm64@1.30.2: 401 | resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} 402 | engines: {node: '>= 12.0.0'} 403 | cpu: [arm64] 404 | os: [android] 405 | 406 | lightningcss-darwin-arm64@1.30.2: 407 | resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} 408 | engines: {node: '>= 12.0.0'} 409 | cpu: [arm64] 410 | os: [darwin] 411 | 412 | lightningcss-darwin-x64@1.30.2: 413 | resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} 414 | engines: {node: '>= 12.0.0'} 415 | cpu: [x64] 416 | os: [darwin] 417 | 418 | lightningcss-freebsd-x64@1.30.2: 419 | resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} 420 | engines: {node: '>= 12.0.0'} 421 | cpu: [x64] 422 | os: [freebsd] 423 | 424 | lightningcss-linux-arm-gnueabihf@1.30.2: 425 | resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} 426 | engines: {node: '>= 12.0.0'} 427 | cpu: [arm] 428 | os: [linux] 429 | 430 | lightningcss-linux-arm64-gnu@1.30.2: 431 | resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} 432 | engines: {node: '>= 12.0.0'} 433 | cpu: [arm64] 434 | os: [linux] 435 | 436 | lightningcss-linux-arm64-musl@1.30.2: 437 | resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} 438 | engines: {node: '>= 12.0.0'} 439 | cpu: [arm64] 440 | os: [linux] 441 | 442 | lightningcss-linux-x64-gnu@1.30.2: 443 | resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} 444 | engines: {node: '>= 12.0.0'} 445 | cpu: [x64] 446 | os: [linux] 447 | 448 | lightningcss-linux-x64-musl@1.30.2: 449 | resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} 450 | engines: {node: '>= 12.0.0'} 451 | cpu: [x64] 452 | os: [linux] 453 | 454 | lightningcss-win32-arm64-msvc@1.30.2: 455 | resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} 456 | engines: {node: '>= 12.0.0'} 457 | cpu: [arm64] 458 | os: [win32] 459 | 460 | lightningcss-win32-x64-msvc@1.30.2: 461 | resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} 462 | engines: {node: '>= 12.0.0'} 463 | cpu: [x64] 464 | os: [win32] 465 | 466 | lightningcss@1.30.2: 467 | resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} 468 | engines: {node: '>= 12.0.0'} 469 | 470 | loose-envify@1.4.0: 471 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 472 | hasBin: true 473 | 474 | magic-string@0.30.21: 475 | resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} 476 | 477 | nanoid@3.3.11: 478 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 479 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 480 | hasBin: true 481 | 482 | next@15.4.6: 483 | resolution: {integrity: sha512-us++E/Q80/8+UekzB3SAGs71AlLDsadpFMXVNM/uQ0BMwsh9m3mr0UNQIfjKed8vpWXsASe+Qifrnu1oLIcKEQ==} 484 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} 485 | hasBin: true 486 | peerDependencies: 487 | '@opentelemetry/api': ^1.1.0 488 | '@playwright/test': ^1.51.1 489 | babel-plugin-react-compiler: '*' 490 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 491 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 492 | sass: ^1.3.0 493 | peerDependenciesMeta: 494 | '@opentelemetry/api': 495 | optional: true 496 | '@playwright/test': 497 | optional: true 498 | babel-plugin-react-compiler: 499 | optional: true 500 | sass: 501 | optional: true 502 | 503 | object-assign@4.1.1: 504 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 505 | engines: {node: '>=0.10.0'} 506 | 507 | picocolors@1.1.1: 508 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 509 | 510 | postcss@8.4.31: 511 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 512 | engines: {node: ^10 || ^12 || >=14} 513 | 514 | postcss@8.5.6: 515 | resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 516 | engines: {node: ^10 || ^12 || >=14} 517 | 518 | prop-types@15.8.1: 519 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 520 | 521 | react-dom@19.1.0: 522 | resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} 523 | peerDependencies: 524 | react: ^19.1.0 525 | 526 | react-is@16.13.1: 527 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 528 | 529 | react-loading-skeleton@3.5.0: 530 | resolution: {integrity: sha512-gxxSyLbrEAdXTKgfbpBEFZCO/P153DnqSCQau2+o6lNy1jgMRr2MmRmOzMmyrwSaSYLRB8g7b0waYPmUjz7IhQ==} 531 | peerDependencies: 532 | react: '>=16.8.0' 533 | 534 | react-plock@3.6.1: 535 | resolution: {integrity: sha512-6THvSeSnPTfBBc2tLGKkZnXbTDvFyOIWD+NnUkMYYRMQmYjYgHcdrRaC25Q4DxYCi5+dDTkGN6jQvJn40FkYGA==} 536 | peerDependencies: 537 | react: ^18.2.0 || ^19.0.0 538 | 539 | react@19.1.0: 540 | resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} 541 | engines: {node: '>=0.10.0'} 542 | 543 | scheduler@0.26.0: 544 | resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} 545 | 546 | semver@7.7.3: 547 | resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} 548 | engines: {node: '>=10'} 549 | hasBin: true 550 | 551 | sharp@0.34.5: 552 | resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} 553 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 554 | 555 | source-map-js@1.2.1: 556 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 557 | engines: {node: '>=0.10.0'} 558 | 559 | styled-jsx@5.1.6: 560 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} 561 | engines: {node: '>= 12.0.0'} 562 | peerDependencies: 563 | '@babel/core': '*' 564 | babel-plugin-macros: '*' 565 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' 566 | peerDependenciesMeta: 567 | '@babel/core': 568 | optional: true 569 | babel-plugin-macros: 570 | optional: true 571 | 572 | tailwindcss@4.1.17: 573 | resolution: {integrity: sha512-j9Ee2YjuQqYT9bbRTfTZht9W/ytp5H+jJpZKiYdP/bpnXARAuELt9ofP0lPnmHjbga7SNQIxdTAXCmtKVYjN+Q==} 574 | 575 | tapable@2.3.0: 576 | resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} 577 | engines: {node: '>=6'} 578 | 579 | third-party-capital@1.0.20: 580 | resolution: {integrity: sha512-oB7yIimd8SuGptespDAZnNkzIz+NWaJCu2RMsbs4Wmp9zSDUM8Nhi3s2OOcqYuv3mN4hitXc8DVx+LyUmbUDiA==} 581 | 582 | tslib@2.8.1: 583 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 584 | 585 | typescript@5.9.3: 586 | resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 587 | engines: {node: '>=14.17'} 588 | hasBin: true 589 | 590 | undici-types@6.21.0: 591 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 592 | 593 | snapshots: 594 | 595 | '@alloc/quick-lru@5.2.0': {} 596 | 597 | '@emnapi/runtime@1.7.0': 598 | dependencies: 599 | tslib: 2.8.1 600 | optional: true 601 | 602 | '@img/colour@1.0.0': 603 | optional: true 604 | 605 | '@img/sharp-darwin-arm64@0.34.5': 606 | optionalDependencies: 607 | '@img/sharp-libvips-darwin-arm64': 1.2.4 608 | optional: true 609 | 610 | '@img/sharp-darwin-x64@0.34.5': 611 | optionalDependencies: 612 | '@img/sharp-libvips-darwin-x64': 1.2.4 613 | optional: true 614 | 615 | '@img/sharp-libvips-darwin-arm64@1.2.4': 616 | optional: true 617 | 618 | '@img/sharp-libvips-darwin-x64@1.2.4': 619 | optional: true 620 | 621 | '@img/sharp-libvips-linux-arm64@1.2.4': 622 | optional: true 623 | 624 | '@img/sharp-libvips-linux-arm@1.2.4': 625 | optional: true 626 | 627 | '@img/sharp-libvips-linux-ppc64@1.2.4': 628 | optional: true 629 | 630 | '@img/sharp-libvips-linux-riscv64@1.2.4': 631 | optional: true 632 | 633 | '@img/sharp-libvips-linux-s390x@1.2.4': 634 | optional: true 635 | 636 | '@img/sharp-libvips-linux-x64@1.2.4': 637 | optional: true 638 | 639 | '@img/sharp-libvips-linuxmusl-arm64@1.2.4': 640 | optional: true 641 | 642 | '@img/sharp-libvips-linuxmusl-x64@1.2.4': 643 | optional: true 644 | 645 | '@img/sharp-linux-arm64@0.34.5': 646 | optionalDependencies: 647 | '@img/sharp-libvips-linux-arm64': 1.2.4 648 | optional: true 649 | 650 | '@img/sharp-linux-arm@0.34.5': 651 | optionalDependencies: 652 | '@img/sharp-libvips-linux-arm': 1.2.4 653 | optional: true 654 | 655 | '@img/sharp-linux-ppc64@0.34.5': 656 | optionalDependencies: 657 | '@img/sharp-libvips-linux-ppc64': 1.2.4 658 | optional: true 659 | 660 | '@img/sharp-linux-riscv64@0.34.5': 661 | optionalDependencies: 662 | '@img/sharp-libvips-linux-riscv64': 1.2.4 663 | optional: true 664 | 665 | '@img/sharp-linux-s390x@0.34.5': 666 | optionalDependencies: 667 | '@img/sharp-libvips-linux-s390x': 1.2.4 668 | optional: true 669 | 670 | '@img/sharp-linux-x64@0.34.5': 671 | optionalDependencies: 672 | '@img/sharp-libvips-linux-x64': 1.2.4 673 | optional: true 674 | 675 | '@img/sharp-linuxmusl-arm64@0.34.5': 676 | optionalDependencies: 677 | '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 678 | optional: true 679 | 680 | '@img/sharp-linuxmusl-x64@0.34.5': 681 | optionalDependencies: 682 | '@img/sharp-libvips-linuxmusl-x64': 1.2.4 683 | optional: true 684 | 685 | '@img/sharp-wasm32@0.34.5': 686 | dependencies: 687 | '@emnapi/runtime': 1.7.0 688 | optional: true 689 | 690 | '@img/sharp-win32-arm64@0.34.5': 691 | optional: true 692 | 693 | '@img/sharp-win32-ia32@0.34.5': 694 | optional: true 695 | 696 | '@img/sharp-win32-x64@0.34.5': 697 | optional: true 698 | 699 | '@jridgewell/gen-mapping@0.3.13': 700 | dependencies: 701 | '@jridgewell/sourcemap-codec': 1.5.5 702 | '@jridgewell/trace-mapping': 0.3.31 703 | 704 | '@jridgewell/remapping@2.3.5': 705 | dependencies: 706 | '@jridgewell/gen-mapping': 0.3.13 707 | '@jridgewell/trace-mapping': 0.3.31 708 | 709 | '@jridgewell/resolve-uri@3.1.2': {} 710 | 711 | '@jridgewell/sourcemap-codec@1.5.5': {} 712 | 713 | '@jridgewell/trace-mapping@0.3.31': 714 | dependencies: 715 | '@jridgewell/resolve-uri': 3.1.2 716 | '@jridgewell/sourcemap-codec': 1.5.5 717 | 718 | '@next/env@15.4.6': {} 719 | 720 | '@next/swc-darwin-arm64@15.4.6': 721 | optional: true 722 | 723 | '@next/swc-darwin-x64@15.4.6': 724 | optional: true 725 | 726 | '@next/swc-linux-arm64-gnu@15.4.6': 727 | optional: true 728 | 729 | '@next/swc-linux-arm64-musl@15.4.6': 730 | optional: true 731 | 732 | '@next/swc-linux-x64-gnu@15.4.6': 733 | optional: true 734 | 735 | '@next/swc-linux-x64-musl@15.4.6': 736 | optional: true 737 | 738 | '@next/swc-win32-arm64-msvc@15.4.6': 739 | optional: true 740 | 741 | '@next/swc-win32-x64-msvc@15.4.6': 742 | optional: true 743 | 744 | '@next/third-parties@15.5.6(next@15.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': 745 | dependencies: 746 | next: 15.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 747 | react: 19.1.0 748 | third-party-capital: 1.0.20 749 | 750 | '@swc/helpers@0.5.15': 751 | dependencies: 752 | tslib: 2.8.1 753 | 754 | '@tailwindcss/node@4.1.17': 755 | dependencies: 756 | '@jridgewell/remapping': 2.3.5 757 | enhanced-resolve: 5.18.3 758 | jiti: 2.6.1 759 | lightningcss: 1.30.2 760 | magic-string: 0.30.21 761 | source-map-js: 1.2.1 762 | tailwindcss: 4.1.17 763 | 764 | '@tailwindcss/oxide-android-arm64@4.1.17': 765 | optional: true 766 | 767 | '@tailwindcss/oxide-darwin-arm64@4.1.17': 768 | optional: true 769 | 770 | '@tailwindcss/oxide-darwin-x64@4.1.17': 771 | optional: true 772 | 773 | '@tailwindcss/oxide-freebsd-x64@4.1.17': 774 | optional: true 775 | 776 | '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.17': 777 | optional: true 778 | 779 | '@tailwindcss/oxide-linux-arm64-gnu@4.1.17': 780 | optional: true 781 | 782 | '@tailwindcss/oxide-linux-arm64-musl@4.1.17': 783 | optional: true 784 | 785 | '@tailwindcss/oxide-linux-x64-gnu@4.1.17': 786 | optional: true 787 | 788 | '@tailwindcss/oxide-linux-x64-musl@4.1.17': 789 | optional: true 790 | 791 | '@tailwindcss/oxide-wasm32-wasi@4.1.17': 792 | optional: true 793 | 794 | '@tailwindcss/oxide-win32-arm64-msvc@4.1.17': 795 | optional: true 796 | 797 | '@tailwindcss/oxide-win32-x64-msvc@4.1.17': 798 | optional: true 799 | 800 | '@tailwindcss/oxide@4.1.17': 801 | optionalDependencies: 802 | '@tailwindcss/oxide-android-arm64': 4.1.17 803 | '@tailwindcss/oxide-darwin-arm64': 4.1.17 804 | '@tailwindcss/oxide-darwin-x64': 4.1.17 805 | '@tailwindcss/oxide-freebsd-x64': 4.1.17 806 | '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.17 807 | '@tailwindcss/oxide-linux-arm64-gnu': 4.1.17 808 | '@tailwindcss/oxide-linux-arm64-musl': 4.1.17 809 | '@tailwindcss/oxide-linux-x64-gnu': 4.1.17 810 | '@tailwindcss/oxide-linux-x64-musl': 4.1.17 811 | '@tailwindcss/oxide-wasm32-wasi': 4.1.17 812 | '@tailwindcss/oxide-win32-arm64-msvc': 4.1.17 813 | '@tailwindcss/oxide-win32-x64-msvc': 4.1.17 814 | 815 | '@tailwindcss/postcss@4.1.17': 816 | dependencies: 817 | '@alloc/quick-lru': 5.2.0 818 | '@tailwindcss/node': 4.1.17 819 | '@tailwindcss/oxide': 4.1.17 820 | postcss: 8.5.6 821 | tailwindcss: 4.1.17 822 | 823 | '@types/node@20.19.24': 824 | dependencies: 825 | undici-types: 6.21.0 826 | 827 | '@types/react-dom@19.2.2(@types/react@19.2.2)': 828 | dependencies: 829 | '@types/react': 19.2.2 830 | 831 | '@types/react@19.2.2': 832 | dependencies: 833 | csstype: 3.1.3 834 | 835 | caniuse-lite@1.0.30001754: {} 836 | 837 | client-only@0.0.1: {} 838 | 839 | csstype@3.1.3: {} 840 | 841 | detect-libc@2.1.2: {} 842 | 843 | enhanced-resolve@5.18.3: 844 | dependencies: 845 | graceful-fs: 4.2.11 846 | tapable: 2.3.0 847 | 848 | graceful-fs@4.2.11: {} 849 | 850 | jiti@2.6.1: {} 851 | 852 | js-tokens@4.0.0: {} 853 | 854 | lightningcss-android-arm64@1.30.2: 855 | optional: true 856 | 857 | lightningcss-darwin-arm64@1.30.2: 858 | optional: true 859 | 860 | lightningcss-darwin-x64@1.30.2: 861 | optional: true 862 | 863 | lightningcss-freebsd-x64@1.30.2: 864 | optional: true 865 | 866 | lightningcss-linux-arm-gnueabihf@1.30.2: 867 | optional: true 868 | 869 | lightningcss-linux-arm64-gnu@1.30.2: 870 | optional: true 871 | 872 | lightningcss-linux-arm64-musl@1.30.2: 873 | optional: true 874 | 875 | lightningcss-linux-x64-gnu@1.30.2: 876 | optional: true 877 | 878 | lightningcss-linux-x64-musl@1.30.2: 879 | optional: true 880 | 881 | lightningcss-win32-arm64-msvc@1.30.2: 882 | optional: true 883 | 884 | lightningcss-win32-x64-msvc@1.30.2: 885 | optional: true 886 | 887 | lightningcss@1.30.2: 888 | dependencies: 889 | detect-libc: 2.1.2 890 | optionalDependencies: 891 | lightningcss-android-arm64: 1.30.2 892 | lightningcss-darwin-arm64: 1.30.2 893 | lightningcss-darwin-x64: 1.30.2 894 | lightningcss-freebsd-x64: 1.30.2 895 | lightningcss-linux-arm-gnueabihf: 1.30.2 896 | lightningcss-linux-arm64-gnu: 1.30.2 897 | lightningcss-linux-arm64-musl: 1.30.2 898 | lightningcss-linux-x64-gnu: 1.30.2 899 | lightningcss-linux-x64-musl: 1.30.2 900 | lightningcss-win32-arm64-msvc: 1.30.2 901 | lightningcss-win32-x64-msvc: 1.30.2 902 | 903 | loose-envify@1.4.0: 904 | dependencies: 905 | js-tokens: 4.0.0 906 | 907 | magic-string@0.30.21: 908 | dependencies: 909 | '@jridgewell/sourcemap-codec': 1.5.5 910 | 911 | nanoid@3.3.11: {} 912 | 913 | next@15.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): 914 | dependencies: 915 | '@next/env': 15.4.6 916 | '@swc/helpers': 0.5.15 917 | caniuse-lite: 1.0.30001754 918 | postcss: 8.4.31 919 | react: 19.1.0 920 | react-dom: 19.1.0(react@19.1.0) 921 | styled-jsx: 5.1.6(react@19.1.0) 922 | optionalDependencies: 923 | '@next/swc-darwin-arm64': 15.4.6 924 | '@next/swc-darwin-x64': 15.4.6 925 | '@next/swc-linux-arm64-gnu': 15.4.6 926 | '@next/swc-linux-arm64-musl': 15.4.6 927 | '@next/swc-linux-x64-gnu': 15.4.6 928 | '@next/swc-linux-x64-musl': 15.4.6 929 | '@next/swc-win32-arm64-msvc': 15.4.6 930 | '@next/swc-win32-x64-msvc': 15.4.6 931 | sharp: 0.34.5 932 | transitivePeerDependencies: 933 | - '@babel/core' 934 | - babel-plugin-macros 935 | 936 | object-assign@4.1.1: {} 937 | 938 | picocolors@1.1.1: {} 939 | 940 | postcss@8.4.31: 941 | dependencies: 942 | nanoid: 3.3.11 943 | picocolors: 1.1.1 944 | source-map-js: 1.2.1 945 | 946 | postcss@8.5.6: 947 | dependencies: 948 | nanoid: 3.3.11 949 | picocolors: 1.1.1 950 | source-map-js: 1.2.1 951 | 952 | prop-types@15.8.1: 953 | dependencies: 954 | loose-envify: 1.4.0 955 | object-assign: 4.1.1 956 | react-is: 16.13.1 957 | 958 | react-dom@19.1.0(react@19.1.0): 959 | dependencies: 960 | react: 19.1.0 961 | scheduler: 0.26.0 962 | 963 | react-is@16.13.1: {} 964 | 965 | react-loading-skeleton@3.5.0(react@19.1.0): 966 | dependencies: 967 | react: 19.1.0 968 | 969 | react-plock@3.6.1(react@19.1.0): 970 | dependencies: 971 | react: 19.1.0 972 | 973 | react@19.1.0: {} 974 | 975 | scheduler@0.26.0: {} 976 | 977 | semver@7.7.3: 978 | optional: true 979 | 980 | sharp@0.34.5: 981 | dependencies: 982 | '@img/colour': 1.0.0 983 | detect-libc: 2.1.2 984 | semver: 7.7.3 985 | optionalDependencies: 986 | '@img/sharp-darwin-arm64': 0.34.5 987 | '@img/sharp-darwin-x64': 0.34.5 988 | '@img/sharp-libvips-darwin-arm64': 1.2.4 989 | '@img/sharp-libvips-darwin-x64': 1.2.4 990 | '@img/sharp-libvips-linux-arm': 1.2.4 991 | '@img/sharp-libvips-linux-arm64': 1.2.4 992 | '@img/sharp-libvips-linux-ppc64': 1.2.4 993 | '@img/sharp-libvips-linux-riscv64': 1.2.4 994 | '@img/sharp-libvips-linux-s390x': 1.2.4 995 | '@img/sharp-libvips-linux-x64': 1.2.4 996 | '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 997 | '@img/sharp-libvips-linuxmusl-x64': 1.2.4 998 | '@img/sharp-linux-arm': 0.34.5 999 | '@img/sharp-linux-arm64': 0.34.5 1000 | '@img/sharp-linux-ppc64': 0.34.5 1001 | '@img/sharp-linux-riscv64': 0.34.5 1002 | '@img/sharp-linux-s390x': 0.34.5 1003 | '@img/sharp-linux-x64': 0.34.5 1004 | '@img/sharp-linuxmusl-arm64': 0.34.5 1005 | '@img/sharp-linuxmusl-x64': 0.34.5 1006 | '@img/sharp-wasm32': 0.34.5 1007 | '@img/sharp-win32-arm64': 0.34.5 1008 | '@img/sharp-win32-ia32': 0.34.5 1009 | '@img/sharp-win32-x64': 0.34.5 1010 | optional: true 1011 | 1012 | source-map-js@1.2.1: {} 1013 | 1014 | styled-jsx@5.1.6(react@19.1.0): 1015 | dependencies: 1016 | client-only: 0.0.1 1017 | react: 19.1.0 1018 | 1019 | tailwindcss@4.1.17: {} 1020 | 1021 | tapable@2.3.0: {} 1022 | 1023 | third-party-capital@1.0.20: {} 1024 | 1025 | tslib@2.8.1: {} 1026 | 1027 | typescript@5.9.3: {} 1028 | 1029 | undici-types@6.21.0: {} 1030 | -------------------------------------------------------------------------------- /public/twjson/v0.7.4.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "title": "Layout", 4 | "children": [ 5 | { 6 | "title": "Container", 7 | "url": "https://tailwindcss-v0.netlify.app//docs/container", 8 | "description": "A component for fixing an element's width to the current breakpoint.", 9 | "table": [ 10 | { 11 | "class": "container", 12 | "properties": "none", 13 | "value": "width: 100%;" 14 | }, 15 | { 16 | "class": "", 17 | "properties": "sm (576px)", 18 | "value": "max-width: 576px;" 19 | }, 20 | { 21 | "class": "", 22 | "properties": "md (768px)", 23 | "value": "max-width: 768px;" 24 | }, 25 | { 26 | "class": "", 27 | "properties": "lg (992px)", 28 | "value": "max-width: 992px;" 29 | }, 30 | { 31 | "class": "", 32 | "properties": "xl (1200px)", 33 | "value": "max-width: 1200px;" 34 | } 35 | ] 36 | }, 37 | { 38 | "title": "Display", 39 | "url": "https://tailwindcss-v0.netlify.app//docs/display", 40 | "description": "Utilities for controlling the display box type of an element.", 41 | "table": [ 42 | { 43 | "class": "block", 44 | "properties": "display: block;", 45 | "value": "" 46 | }, 47 | { 48 | "class": "inline-block", 49 | "properties": "display: inline-block;", 50 | "value": "" 51 | }, 52 | { 53 | "class": "inline", 54 | "properties": "display: inline;", 55 | "value": "" 56 | }, 57 | { 58 | "class": "table", 59 | "properties": "display: table;", 60 | "value": "" 61 | }, 62 | { 63 | "class": "table-row", 64 | "properties": "display: table-row;", 65 | "value": "" 66 | }, 67 | { 68 | "class": "table-cell", 69 | "properties": "display: table-cell;", 70 | "value": "" 71 | }, 72 | { 73 | "class": "hidden", 74 | "properties": "display: none;", 75 | "value": "" 76 | }, 77 | { 78 | "class": "flex", 79 | "properties": "display: flex;", 80 | "value": "" 81 | }, 82 | { 83 | "class": "inline-flex", 84 | "properties": "display: inline-flex;", 85 | "value": "" 86 | } 87 | ] 88 | }, 89 | { 90 | "title": "Floats", 91 | "url": "https://tailwindcss-v0.netlify.app//docs/floats", 92 | "description": "Utilities for controlling the wrapping of content around an element.", 93 | "table": [ 94 | { 95 | "class": "float-right", 96 | "properties": "float: right;", 97 | "value": "" 98 | }, 99 | { 100 | "class": "float-left", 101 | "properties": "float: left;", 102 | "value": "" 103 | }, 104 | { 105 | "class": "float-none", 106 | "properties": "float: none;", 107 | "value": "" 108 | }, 109 | { 110 | "class": "clearfix", 111 | "properties": "&::after {\n  content: \"\";\n  display: table;\n  clear: both;\n}", 112 | "value": "" 113 | } 114 | ] 115 | }, 116 | { 117 | "title": "Object Fit", 118 | "url": "https://tailwindcss-v0.netlify.app//docs/object-fit", 119 | "description": "Utilities for controlling the element's respond to the height and width of its content box.", 120 | "table": [ 121 | { 122 | "class": "object-contain", 123 | "properties": "object-fit: contain;", 124 | "value": "" 125 | }, 126 | { 127 | "class": "object-cover", 128 | "properties": "object-fit: cover;", 129 | "value": "" 130 | }, 131 | { 132 | "class": "object-fill", 133 | "properties": "object-fit: fill;", 134 | "value": "" 135 | }, 136 | { 137 | "class": "object-none", 138 | "properties": "object-fit: none;", 139 | "value": "" 140 | }, 141 | { 142 | "class": "object-scale-down", 143 | "properties": "object-fit: scale-down;", 144 | "value": "" 145 | } 146 | ] 147 | }, 148 | { 149 | "title": "Object Position", 150 | "url": "https://tailwindcss-v0.netlify.app//docs/object-position", 151 | "description": "Utilities for controlling the element's respond to the height and width of its content box.", 152 | "table": [ 153 | { 154 | "class": "object-bottom", 155 | "properties": "object-position: bottom;", 156 | "value": "" 157 | }, 158 | { 159 | "class": "object-center", 160 | "properties": "object-position: center;", 161 | "value": "" 162 | }, 163 | { 164 | "class": "object-left", 165 | "properties": "object-position: left;", 166 | "value": "" 167 | }, 168 | { 169 | "class": "object-left-bottom", 170 | "properties": "object-position: left bottom;", 171 | "value": "" 172 | }, 173 | { 174 | "class": "object-left-top", 175 | "properties": "object-position: left top;", 176 | "value": "" 177 | }, 178 | { 179 | "class": "object-right", 180 | "properties": "object-position: right;", 181 | "value": "" 182 | }, 183 | { 184 | "class": "object-right-bottom", 185 | "properties": "object-position: right bottom;", 186 | "value": "" 187 | }, 188 | { 189 | "class": "object-right-top", 190 | "properties": "object-position: right top;", 191 | "value": "" 192 | }, 193 | { 194 | "class": "object-top", 195 | "properties": "object-position: top;", 196 | "value": "" 197 | } 198 | ] 199 | }, 200 | { 201 | "title": "Overflow", 202 | "url": "https://tailwindcss-v0.netlify.app//docs/overflow", 203 | "description": "Utilities for controlling how an element handles content that is too large for the container.", 204 | "table": [ 205 | { 206 | "class": "overflow-auto", 207 | "properties": "overflow: auto;", 208 | "value": "" 209 | }, 210 | { 211 | "class": "overflow-hidden", 212 | "properties": "overflow: hidden;", 213 | "value": "" 214 | }, 215 | { 216 | "class": "overflow-visible", 217 | "properties": "overflow: visible;", 218 | "value": "" 219 | }, 220 | { 221 | "class": "overflow-scroll", 222 | "properties": "overflow: scroll;", 223 | "value": "" 224 | }, 225 | { 226 | "class": "overflow-x-auto", 227 | "properties": "overflow-x: auto;", 228 | "value": "" 229 | }, 230 | { 231 | "class": "overflow-y-auto", 232 | "properties": "overflow-y: auto;", 233 | "value": "" 234 | }, 235 | { 236 | "class": "overflow-x-hidden", 237 | "properties": "overflow-x: hidden;", 238 | "value": "" 239 | }, 240 | { 241 | "class": "overflow-y-hidden", 242 | "properties": "overflow-y: hidden;", 243 | "value": "" 244 | }, 245 | { 246 | "class": "overflow-x-visible", 247 | "properties": "overflow-x: visible;", 248 | "value": "" 249 | }, 250 | { 251 | "class": "overflow-y-visible", 252 | "properties": "overflow-y: visible;", 253 | "value": "" 254 | }, 255 | { 256 | "class": "overflow-x-scroll", 257 | "properties": "overflow-x: scroll;", 258 | "value": "" 259 | }, 260 | { 261 | "class": "overflow-y-scroll", 262 | "properties": "overflow-y: scroll;", 263 | "value": "" 264 | }, 265 | { 266 | "class": "scrolling-touch", 267 | "properties": "-webkit-overflow-scrolling: touch;", 268 | "value": "" 269 | }, 270 | { 271 | "class": "scrolling-auto", 272 | "properties": "-webkit-overflow-scrolling: auto;", 273 | "value": "" 274 | } 275 | ] 276 | }, 277 | { 278 | "title": "Position", 279 | "url": "https://tailwindcss-v0.netlify.app//docs/positioning", 280 | "description": "Utilities for controlling how an element is positioned in the DOM.", 281 | "table": [ 282 | { 283 | "class": "static", 284 | "properties": "position: static;", 285 | "value": "" 286 | }, 287 | { 288 | "class": "fixed", 289 | "properties": "position: fixed;", 290 | "value": "" 291 | }, 292 | { 293 | "class": "absolute", 294 | "properties": "position: absolute;", 295 | "value": "" 296 | }, 297 | { 298 | "class": "relative", 299 | "properties": "position: relative;", 300 | "value": "" 301 | }, 302 | { 303 | "class": "sticky", 304 | "properties": "position: sticky;", 305 | "value": "" 306 | }, 307 | { 308 | "class": "pin-t", 309 | "properties": "top: 0;", 310 | "value": "" 311 | }, 312 | { 313 | "class": "pin-r", 314 | "properties": "right: 0;", 315 | "value": "" 316 | }, 317 | { 318 | "class": "pin-b", 319 | "properties": "bottom: 0;", 320 | "value": "" 321 | }, 322 | { 323 | "class": "pin-l", 324 | "properties": "left: 0;", 325 | "value": "" 326 | }, 327 | { 328 | "class": "pin-y", 329 | "properties": "top: 0;\nbottom: 0;", 330 | "value": "" 331 | }, 332 | { 333 | "class": "pin-x", 334 | "properties": "right: 0;\nleft: 0;", 335 | "value": "" 336 | }, 337 | { 338 | "class": "pin", 339 | "properties": "top: 0;\nright: 0;\nbottom: 0;\nleft: 0;", 340 | "value": "" 341 | }, 342 | { 343 | "class": "pin-none", 344 | "properties": "top: auto;\nright: auto;\nbottom: auto;\nleft: auto;", 345 | "value": "" 346 | } 347 | ] 348 | }, 349 | { 350 | "title": "Visibility", 351 | "url": "https://tailwindcss-v0.netlify.app//docs/visibility", 352 | "description": "Utilities for controlling the visibility of an element.", 353 | "table": [ 354 | { 355 | "class": "visible", 356 | "properties": "visibility: visible;", 357 | "value": "" 358 | }, 359 | { 360 | "class": "invisible", 361 | "properties": "visibility: hidden;", 362 | "value": "" 363 | } 364 | ] 365 | }, 366 | { 367 | "title": "Z-Index", 368 | "url": "https://tailwindcss-v0.netlify.app//docs/z-index", 369 | "description": "Utilities for controlling the stack order of an element.", 370 | "table": [ 371 | { 372 | "class": "z-0", 373 | "properties": "z-index: 0;", 374 | "value": "" 375 | }, 376 | { 377 | "class": "z-10", 378 | "properties": "z-index: 10;", 379 | "value": "" 380 | }, 381 | { 382 | "class": "z-20", 383 | "properties": "z-index: 20;", 384 | "value": "" 385 | }, 386 | { 387 | "class": "z-30", 388 | "properties": "z-index: 30;", 389 | "value": "" 390 | }, 391 | { 392 | "class": "z-40", 393 | "properties": "z-index: 40;", 394 | "value": "" 395 | }, 396 | { 397 | "class": "z-50", 398 | "properties": "z-index: 50;", 399 | "value": "" 400 | }, 401 | { 402 | "class": "z-auto", 403 | "properties": "z-index: auto;", 404 | "value": "" 405 | } 406 | ] 407 | } 408 | ] 409 | }, 410 | { 411 | "title": "Typography", 412 | "children": [ 413 | { 414 | "title": "Color", 415 | "url": "https://tailwindcss-v0.netlify.app//docs/text-color", 416 | "description": "Utilities for controlling the text color of an element.", 417 | "table": [ 418 | { 419 | "class": "text-transparent", 420 | "properties": "color: transparent;", 421 | "value": "" 422 | }, 423 | { 424 | "class": "text-black", 425 | "properties": "color: #22292f;", 426 | "value": "" 427 | }, 428 | { 429 | "class": "text-grey-darkest", 430 | "properties": "color: #3d4852;", 431 | "value": "" 432 | }, 433 | { 434 | "class": "text-grey-darker", 435 | "properties": "color: #606f7b;", 436 | "value": "" 437 | }, 438 | { 439 | "class": "text-grey-dark", 440 | "properties": "color: #8795a1;", 441 | "value": "" 442 | }, 443 | { 444 | "class": "text-grey", 445 | "properties": "color: #b8c2cc;", 446 | "value": "" 447 | }, 448 | { 449 | "class": "text-grey-light", 450 | "properties": "color: #dae1e7;", 451 | "value": "" 452 | }, 453 | { 454 | "class": "text-grey-lighter", 455 | "properties": "color: #f1f5f8;", 456 | "value": "" 457 | }, 458 | { 459 | "class": "text-grey-lightest", 460 | "properties": "color: #f8fafc;", 461 | "value": "" 462 | }, 463 | { 464 | "class": "text-white", 465 | "properties": "color: #ffffff;", 466 | "value": "" 467 | }, 468 | { 469 | "class": "text-red-darkest", 470 | "properties": "color: #3b0d0c;", 471 | "value": "" 472 | }, 473 | { 474 | "class": "text-red-darker", 475 | "properties": "color: #621b18;", 476 | "value": "" 477 | }, 478 | { 479 | "class": "text-red-dark", 480 | "properties": "color: #cc1f1a;", 481 | "value": "" 482 | }, 483 | { 484 | "class": "text-red", 485 | "properties": "color: #e3342f;", 486 | "value": "" 487 | }, 488 | { 489 | "class": "text-red-light", 490 | "properties": "color: #ef5753;", 491 | "value": "" 492 | }, 493 | { 494 | "class": "text-red-lighter", 495 | "properties": "color: #f9acaa;", 496 | "value": "" 497 | }, 498 | { 499 | "class": "text-red-lightest", 500 | "properties": "color: #fcebea;", 501 | "value": "" 502 | }, 503 | { 504 | "class": "text-orange-darkest", 505 | "properties": "color: #462a16;", 506 | "value": "" 507 | }, 508 | { 509 | "class": "text-orange-darker", 510 | "properties": "color: #613b1f;", 511 | "value": "" 512 | }, 513 | { 514 | "class": "text-orange-dark", 515 | "properties": "color: #de751f;", 516 | "value": "" 517 | }, 518 | { 519 | "class": "text-orange", 520 | "properties": "color: #f6993f;", 521 | "value": "" 522 | }, 523 | { 524 | "class": "text-orange-light", 525 | "properties": "color: #faad63;", 526 | "value": "" 527 | }, 528 | { 529 | "class": "text-orange-lighter", 530 | "properties": "color: #fcd9b6;", 531 | "value": "" 532 | }, 533 | { 534 | "class": "text-orange-lightest", 535 | "properties": "color: #fff5eb;", 536 | "value": "" 537 | }, 538 | { 539 | "class": "text-yellow-darkest", 540 | "properties": "color: #453411;", 541 | "value": "" 542 | }, 543 | { 544 | "class": "text-yellow-darker", 545 | "properties": "color: #684f1d;", 546 | "value": "" 547 | }, 548 | { 549 | "class": "text-yellow-dark", 550 | "properties": "color: #f2d024;", 551 | "value": "" 552 | }, 553 | { 554 | "class": "text-yellow", 555 | "properties": "color: #ffed4a;", 556 | "value": "" 557 | }, 558 | { 559 | "class": "text-yellow-light", 560 | "properties": "color: #fff382;", 561 | "value": "" 562 | }, 563 | { 564 | "class": "text-yellow-lighter", 565 | "properties": "color: #fff9c2;", 566 | "value": "" 567 | }, 568 | { 569 | "class": "text-yellow-lightest", 570 | "properties": "color: #fcfbeb;", 571 | "value": "" 572 | }, 573 | { 574 | "class": "text-green-darkest", 575 | "properties": "color: #0f2f21;", 576 | "value": "" 577 | }, 578 | { 579 | "class": "text-green-darker", 580 | "properties": "color: #1a4731;", 581 | "value": "" 582 | }, 583 | { 584 | "class": "text-green-dark", 585 | "properties": "color: #1f9d55;", 586 | "value": "" 587 | }, 588 | { 589 | "class": "text-green", 590 | "properties": "color: #38c172;", 591 | "value": "" 592 | }, 593 | { 594 | "class": "text-green-light", 595 | "properties": "color: #51d88a;", 596 | "value": "" 597 | }, 598 | { 599 | "class": "text-green-lighter", 600 | "properties": "color: #a2f5bf;", 601 | "value": "" 602 | }, 603 | { 604 | "class": "text-green-lightest", 605 | "properties": "color: #e3fcec;", 606 | "value": "" 607 | }, 608 | { 609 | "class": "text-teal-darkest", 610 | "properties": "color: #0d3331;", 611 | "value": "" 612 | }, 613 | { 614 | "class": "text-teal-darker", 615 | "properties": "color: #20504f;", 616 | "value": "" 617 | }, 618 | { 619 | "class": "text-teal-dark", 620 | "properties": "color: #38a89d;", 621 | "value": "" 622 | }, 623 | { 624 | "class": "text-teal", 625 | "properties": "color: #4dc0b5;", 626 | "value": "" 627 | }, 628 | { 629 | "class": "text-teal-light", 630 | "properties": "color: #64d5ca;", 631 | "value": "" 632 | }, 633 | { 634 | "class": "text-teal-lighter", 635 | "properties": "color: #a0f0ed;", 636 | "value": "" 637 | }, 638 | { 639 | "class": "text-teal-lightest", 640 | "properties": "color: #e8fffe;", 641 | "value": "" 642 | }, 643 | { 644 | "class": "text-blue-darkest", 645 | "properties": "color: #12283a;", 646 | "value": "" 647 | }, 648 | { 649 | "class": "text-blue-darker", 650 | "properties": "color: #1c3d5a;", 651 | "value": "" 652 | }, 653 | { 654 | "class": "text-blue-dark", 655 | "properties": "color: #2779bd;", 656 | "value": "" 657 | }, 658 | { 659 | "class": "text-blue", 660 | "properties": "color: #3490dc;", 661 | "value": "" 662 | }, 663 | { 664 | "class": "text-blue-light", 665 | "properties": "color: #6cb2eb;", 666 | "value": "" 667 | }, 668 | { 669 | "class": "text-blue-lighter", 670 | "properties": "color: #bcdefa;", 671 | "value": "" 672 | }, 673 | { 674 | "class": "text-blue-lightest", 675 | "properties": "color: #eff8ff;", 676 | "value": "" 677 | }, 678 | { 679 | "class": "text-indigo-darkest", 680 | "properties": "color: #191e38;", 681 | "value": "" 682 | }, 683 | { 684 | "class": "text-indigo-darker", 685 | "properties": "color: #2f365f;", 686 | "value": "" 687 | }, 688 | { 689 | "class": "text-indigo-dark", 690 | "properties": "color: #5661b3;", 691 | "value": "" 692 | }, 693 | { 694 | "class": "text-indigo", 695 | "properties": "color: #6574cd;", 696 | "value": "" 697 | }, 698 | { 699 | "class": "text-indigo-light", 700 | "properties": "color: #7886d7;", 701 | "value": "" 702 | }, 703 | { 704 | "class": "text-indigo-lighter", 705 | "properties": "color: #b2b7ff;", 706 | "value": "" 707 | }, 708 | { 709 | "class": "text-indigo-lightest", 710 | "properties": "color: #e6e8ff;", 711 | "value": "" 712 | }, 713 | { 714 | "class": "text-purple-darkest", 715 | "properties": "color: #21183c;", 716 | "value": "" 717 | }, 718 | { 719 | "class": "text-purple-darker", 720 | "properties": "color: #382b5f;", 721 | "value": "" 722 | }, 723 | { 724 | "class": "text-purple-dark", 725 | "properties": "color: #794acf;", 726 | "value": "" 727 | }, 728 | { 729 | "class": "text-purple", 730 | "properties": "color: #9561e2;", 731 | "value": "" 732 | }, 733 | { 734 | "class": "text-purple-light", 735 | "properties": "color: #a779e9;", 736 | "value": "" 737 | }, 738 | { 739 | "class": "text-purple-lighter", 740 | "properties": "color: #d6bbfc;", 741 | "value": "" 742 | }, 743 | { 744 | "class": "text-purple-lightest", 745 | "properties": "color: #f3ebff;", 746 | "value": "" 747 | }, 748 | { 749 | "class": "text-pink-darkest", 750 | "properties": "color: #451225;", 751 | "value": "" 752 | }, 753 | { 754 | "class": "text-pink-darker", 755 | "properties": "color: #6f213f;", 756 | "value": "" 757 | }, 758 | { 759 | "class": "text-pink-dark", 760 | "properties": "color: #eb5286;", 761 | "value": "" 762 | }, 763 | { 764 | "class": "text-pink", 765 | "properties": "color: #f66d9b;", 766 | "value": "" 767 | }, 768 | { 769 | "class": "text-pink-light", 770 | "properties": "color: #fa7ea8;", 771 | "value": "" 772 | }, 773 | { 774 | "class": "text-pink-lighter", 775 | "properties": "color: #ffbbca;", 776 | "value": "" 777 | }, 778 | { 779 | "class": "text-pink-lightest", 780 | "properties": "color: #ffebef;", 781 | "value": "" 782 | } 783 | ] 784 | }, 785 | { 786 | "title": "Font Family", 787 | "url": "https://tailwindcss-v0.netlify.app//docs/fonts", 788 | "description": "Utilities for controlling the font family of an element.", 789 | "table": [ 790 | { 791 | "class": "font-sans", 792 | "properties": "font-family: system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;", 793 | "value": "" 794 | }, 795 | { 796 | "class": "font-serif", 797 | "properties": "font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, Bitstream Vera Serif, Liberation Serif, Georgia, serif;", 798 | "value": "" 799 | }, 800 | { 801 | "class": "font-mono", 802 | "properties": "font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;", 803 | "value": "" 804 | } 805 | ] 806 | }, 807 | { 808 | "title": "Font Size", 809 | "url": "https://tailwindcss-v0.netlify.app//docs/text-sizing", 810 | "description": "Utilities for controlling the font size of an element.", 811 | "table": [ 812 | { 813 | "class": "text-xs", 814 | "properties": "font-size: .75rem;", 815 | "value": "" 816 | }, 817 | { 818 | "class": "text-sm", 819 | "properties": "font-size: .875rem;", 820 | "value": "" 821 | }, 822 | { 823 | "class": "text-base", 824 | "properties": "font-size: 1rem;", 825 | "value": "" 826 | }, 827 | { 828 | "class": "text-lg", 829 | "properties": "font-size: 1.125rem;", 830 | "value": "" 831 | }, 832 | { 833 | "class": "text-xl", 834 | "properties": "font-size: 1.25rem;", 835 | "value": "" 836 | }, 837 | { 838 | "class": "text-2xl", 839 | "properties": "font-size: 1.5rem;", 840 | "value": "" 841 | }, 842 | { 843 | "class": "text-3xl", 844 | "properties": "font-size: 1.875rem;", 845 | "value": "" 846 | }, 847 | { 848 | "class": "text-4xl", 849 | "properties": "font-size: 2.25rem;", 850 | "value": "" 851 | }, 852 | { 853 | "class": "text-5xl", 854 | "properties": "font-size: 3rem;", 855 | "value": "" 856 | } 857 | ] 858 | }, 859 | { 860 | "title": "Font Weight", 861 | "url": "https://tailwindcss-v0.netlify.app//docs/font-weight", 862 | "description": "Utilities for controlling the font weight of an element.", 863 | "table": [ 864 | { 865 | "class": "font-hairline", 866 | "properties": "font-weight: 100;", 867 | "value": "" 868 | }, 869 | { 870 | "class": "font-thin", 871 | "properties": "font-weight: 200;", 872 | "value": "" 873 | }, 874 | { 875 | "class": "font-light", 876 | "properties": "font-weight: 300;", 877 | "value": "" 878 | }, 879 | { 880 | "class": "font-normal", 881 | "properties": "font-weight: 400;", 882 | "value": "" 883 | }, 884 | { 885 | "class": "font-medium", 886 | "properties": "font-weight: 500;", 887 | "value": "" 888 | }, 889 | { 890 | "class": "font-semibold", 891 | "properties": "font-weight: 600;", 892 | "value": "" 893 | }, 894 | { 895 | "class": "font-bold", 896 | "properties": "font-weight: 700;", 897 | "value": "" 898 | }, 899 | { 900 | "class": "font-extrabold", 901 | "properties": "font-weight: 800;", 902 | "value": "" 903 | }, 904 | { 905 | "class": "font-black", 906 | "properties": "font-weight: 900;", 907 | "value": "" 908 | } 909 | ] 910 | }, 911 | { 912 | "title": "Letter Spacing", 913 | "url": "https://tailwindcss-v0.netlify.app//docs/letter-spacing", 914 | "description": "Utilities for controlling the tracking (letter spacing) of an element.", 915 | "table": [ 916 | { 917 | "class": "tracking-tight", 918 | "properties": "letter-spacing: -0.05em;", 919 | "value": "" 920 | }, 921 | { 922 | "class": "tracking-normal", 923 | "properties": "letter-spacing: 0;", 924 | "value": "" 925 | }, 926 | { 927 | "class": "tracking-wide", 928 | "properties": "letter-spacing: 0.05em;", 929 | "value": "" 930 | } 931 | ] 932 | }, 933 | { 934 | "title": "Line Height", 935 | "url": "https://tailwindcss-v0.netlify.app//docs/line-height", 936 | "description": "Utilities for controlling the leading (line height) of an element.", 937 | "table": [ 938 | { 939 | "class": "leading-none", 940 | "properties": "line-height: 1;", 941 | "value": "" 942 | }, 943 | { 944 | "class": "leading-tight", 945 | "properties": "line-height: 1.25;", 946 | "value": "" 947 | }, 948 | { 949 | "class": "leading-normal", 950 | "properties": "line-height: 1.5;", 951 | "value": "" 952 | }, 953 | { 954 | "class": "leading-loose", 955 | "properties": "line-height: 2;", 956 | "value": "" 957 | } 958 | ] 959 | }, 960 | { 961 | "title": "Lists", 962 | "url": "https://tailwindcss-v0.netlify.app//docs/lists", 963 | "description": "Utilities for controlling list styles.", 964 | "table": [ 965 | { 966 | "class": "list-reset", 967 | "properties": "list-style: none; padding: 0;", 968 | "value": "" 969 | } 970 | ] 971 | }, 972 | { 973 | "title": "Style & Decoration", 974 | "url": "https://tailwindcss-v0.netlify.app//docs/text-style", 975 | "description": "Utilities for controlling the style of text.", 976 | "table": [ 977 | { 978 | "class": "italic", 979 | "properties": "font-style: italic;", 980 | "value": "" 981 | }, 982 | { 983 | "class": "roman", 984 | "properties": "font-style: normal;", 985 | "value": "" 986 | }, 987 | { 988 | "class": "uppercase", 989 | "properties": "text-transform: uppercase;", 990 | "value": "" 991 | }, 992 | { 993 | "class": "lowercase", 994 | "properties": "text-transform: lowercase;", 995 | "value": "" 996 | }, 997 | { 998 | "class": "capitalize", 999 | "properties": "text-transform: capitalize;", 1000 | "value": "" 1001 | }, 1002 | { 1003 | "class": "normal-case", 1004 | "properties": "text-transform: none;", 1005 | "value": "" 1006 | }, 1007 | { 1008 | "class": "underline", 1009 | "properties": "text-decoration: underline;", 1010 | "value": "" 1011 | }, 1012 | { 1013 | "class": "line-through", 1014 | "properties": "text-decoration: line-through;", 1015 | "value": "" 1016 | }, 1017 | { 1018 | "class": "no-underline", 1019 | "properties": "text-decoration: none;", 1020 | "value": "" 1021 | }, 1022 | { 1023 | "class": "antialiased", 1024 | "properties": "-webkit-font-smoothing: antialiased;\n-moz-osx-font-smoothing: grayscale;", 1025 | "value": "" 1026 | }, 1027 | { 1028 | "class": "subpixel-antialiased", 1029 | "properties": "-webkit-font-smoothing: auto;\n-moz-osx-font-smoothing: auto;", 1030 | "value": "" 1031 | } 1032 | ] 1033 | }, 1034 | { 1035 | "title": "Text Alignment", 1036 | "url": "https://tailwindcss-v0.netlify.app//docs/text-alignment", 1037 | "description": "Utilities for controlling the alignment of text.", 1038 | "table": [ 1039 | { 1040 | "class": "text-left", 1041 | "properties": "text-align: left;", 1042 | "value": "" 1043 | }, 1044 | { 1045 | "class": "text-center", 1046 | "properties": "text-align: center;", 1047 | "value": "" 1048 | }, 1049 | { 1050 | "class": "text-right", 1051 | "properties": "text-align: right;", 1052 | "value": "" 1053 | }, 1054 | { 1055 | "class": "text-justify", 1056 | "properties": "text-align: justify;", 1057 | "value": "" 1058 | } 1059 | ] 1060 | }, 1061 | { 1062 | "title": "Vertical Alignment", 1063 | "url": "https://tailwindcss-v0.netlify.app//docs/vertical-alignment", 1064 | "description": "Utilities for controlling the vertical alignment of an inline or table-cell box.", 1065 | "table": [ 1066 | { 1067 | "class": "align-baseline", 1068 | "properties": "vertical-align: baseline;", 1069 | "value": "" 1070 | }, 1071 | { 1072 | "class": "align-top", 1073 | "properties": "vertical-align: top;", 1074 | "value": "" 1075 | }, 1076 | { 1077 | "class": "align-middle", 1078 | "properties": "vertical-align: middle;", 1079 | "value": "" 1080 | }, 1081 | { 1082 | "class": "align-bottom", 1083 | "properties": "vertical-align: bottom;", 1084 | "value": "" 1085 | }, 1086 | { 1087 | "class": "align-text-top", 1088 | "properties": "vertical-align: text-top;", 1089 | "value": "" 1090 | }, 1091 | { 1092 | "class": "align-text-bottom", 1093 | "properties": "vertical-align: text-bottom;", 1094 | "value": "" 1095 | } 1096 | ] 1097 | }, 1098 | { 1099 | "title": "Whitespace & Wrapping", 1100 | "url": "https://tailwindcss-v0.netlify.app//docs/whitespace-and-wrapping", 1101 | "description": "Utilities for controlling the whitespace and wrapping of an element.", 1102 | "table": [ 1103 | { 1104 | "class": "whitespace-normal", 1105 | "properties": "white-space: normal;", 1106 | "value": "" 1107 | }, 1108 | { 1109 | "class": "whitespace-no-wrap", 1110 | "properties": "white-space: nowrap;", 1111 | "value": "" 1112 | }, 1113 | { 1114 | "class": "whitespace-pre", 1115 | "properties": "white-space: pre;", 1116 | "value": "" 1117 | }, 1118 | { 1119 | "class": "whitespace-pre-line", 1120 | "properties": "white-space: pre-line;", 1121 | "value": "" 1122 | }, 1123 | { 1124 | "class": "whitespace-pre-wrap", 1125 | "properties": "white-space: pre-wrap;", 1126 | "value": "" 1127 | }, 1128 | { 1129 | "class": "break-words", 1130 | "properties": "word-wrap: break-word;", 1131 | "value": "" 1132 | }, 1133 | { 1134 | "class": "break-normal", 1135 | "properties": "word-wrap: normal;", 1136 | "value": "" 1137 | }, 1138 | { 1139 | "class": "truncate", 1140 | "properties": "overflow: hidden;\ntext-overflow: ellipsis;\nwhite-space: nowrap", 1141 | "value": "" 1142 | } 1143 | ] 1144 | } 1145 | ] 1146 | }, 1147 | { 1148 | "title": "Backgrounds", 1149 | "children": [ 1150 | { 1151 | "title": "Background Attachment", 1152 | "url": "https://tailwindcss-v0.netlify.app//docs/background-attachment", 1153 | "description": "Utilities for controlling how a background image behaves when scrolling.", 1154 | "table": [ 1155 | { 1156 | "class": "bg-fixed", 1157 | "properties": "background-attachment: fixed;", 1158 | "value": "" 1159 | }, 1160 | { 1161 | "class": "bg-local", 1162 | "properties": "background-attachment: local;", 1163 | "value": "" 1164 | }, 1165 | { 1166 | "class": "bg-scroll", 1167 | "properties": "background-attachment: scroll;", 1168 | "value": "" 1169 | } 1170 | ] 1171 | }, 1172 | { 1173 | "title": "Background Color", 1174 | "url": "https://tailwindcss-v0.netlify.app//docs/background-color", 1175 | "description": "Utilities for controlling an element's background color.", 1176 | "table": [ 1177 | { 1178 | "class": "bg-transparent", 1179 | "properties": "background-color: transparent;", 1180 | "value": "" 1181 | }, 1182 | { 1183 | "class": "bg-black", 1184 | "properties": "background-color: #22292f;", 1185 | "value": "" 1186 | }, 1187 | { 1188 | "class": "bg-grey-darkest", 1189 | "properties": "background-color: #3d4852;", 1190 | "value": "" 1191 | }, 1192 | { 1193 | "class": "bg-grey-darker", 1194 | "properties": "background-color: #606f7b;", 1195 | "value": "" 1196 | }, 1197 | { 1198 | "class": "bg-grey-dark", 1199 | "properties": "background-color: #8795a1;", 1200 | "value": "" 1201 | }, 1202 | { 1203 | "class": "bg-grey", 1204 | "properties": "background-color: #b8c2cc;", 1205 | "value": "" 1206 | }, 1207 | { 1208 | "class": "bg-grey-light", 1209 | "properties": "background-color: #dae1e7;", 1210 | "value": "" 1211 | }, 1212 | { 1213 | "class": "bg-grey-lighter", 1214 | "properties": "background-color: #f1f5f8;", 1215 | "value": "" 1216 | }, 1217 | { 1218 | "class": "bg-grey-lightest", 1219 | "properties": "background-color: #f8fafc;", 1220 | "value": "" 1221 | }, 1222 | { 1223 | "class": "bg-white", 1224 | "properties": "background-color: #ffffff;", 1225 | "value": "" 1226 | }, 1227 | { 1228 | "class": "bg-red-darkest", 1229 | "properties": "background-color: #3b0d0c;", 1230 | "value": "" 1231 | }, 1232 | { 1233 | "class": "bg-red-darker", 1234 | "properties": "background-color: #621b18;", 1235 | "value": "" 1236 | }, 1237 | { 1238 | "class": "bg-red-dark", 1239 | "properties": "background-color: #cc1f1a;", 1240 | "value": "" 1241 | }, 1242 | { 1243 | "class": "bg-red", 1244 | "properties": "background-color: #e3342f;", 1245 | "value": "" 1246 | }, 1247 | { 1248 | "class": "bg-red-light", 1249 | "properties": "background-color: #ef5753;", 1250 | "value": "" 1251 | }, 1252 | { 1253 | "class": "bg-red-lighter", 1254 | "properties": "background-color: #f9acaa;", 1255 | "value": "" 1256 | }, 1257 | { 1258 | "class": "bg-red-lightest", 1259 | "properties": "background-color: #fcebea;", 1260 | "value": "" 1261 | }, 1262 | { 1263 | "class": "bg-orange-darkest", 1264 | "properties": "background-color: #462a16;", 1265 | "value": "" 1266 | }, 1267 | { 1268 | "class": "bg-orange-darker", 1269 | "properties": "background-color: #613b1f;", 1270 | "value": "" 1271 | }, 1272 | { 1273 | "class": "bg-orange-dark", 1274 | "properties": "background-color: #de751f;", 1275 | "value": "" 1276 | }, 1277 | { 1278 | "class": "bg-orange", 1279 | "properties": "background-color: #f6993f;", 1280 | "value": "" 1281 | }, 1282 | { 1283 | "class": "bg-orange-light", 1284 | "properties": "background-color: #faad63;", 1285 | "value": "" 1286 | }, 1287 | { 1288 | "class": "bg-orange-lighter", 1289 | "properties": "background-color: #fcd9b6;", 1290 | "value": "" 1291 | }, 1292 | { 1293 | "class": "bg-orange-lightest", 1294 | "properties": "background-color: #fff5eb;", 1295 | "value": "" 1296 | }, 1297 | { 1298 | "class": "bg-yellow-darkest", 1299 | "properties": "background-color: #453411;", 1300 | "value": "" 1301 | }, 1302 | { 1303 | "class": "bg-yellow-darker", 1304 | "properties": "background-color: #684f1d;", 1305 | "value": "" 1306 | }, 1307 | { 1308 | "class": "bg-yellow-dark", 1309 | "properties": "background-color: #f2d024;", 1310 | "value": "" 1311 | }, 1312 | { 1313 | "class": "bg-yellow", 1314 | "properties": "background-color: #ffed4a;", 1315 | "value": "" 1316 | }, 1317 | { 1318 | "class": "bg-yellow-light", 1319 | "properties": "background-color: #fff382;", 1320 | "value": "" 1321 | }, 1322 | { 1323 | "class": "bg-yellow-lighter", 1324 | "properties": "background-color: #fff9c2;", 1325 | "value": "" 1326 | }, 1327 | { 1328 | "class": "bg-yellow-lightest", 1329 | "properties": "background-color: #fcfbeb;", 1330 | "value": "" 1331 | }, 1332 | { 1333 | "class": "bg-green-darkest", 1334 | "properties": "background-color: #0f2f21;", 1335 | "value": "" 1336 | }, 1337 | { 1338 | "class": "bg-green-darker", 1339 | "properties": "background-color: #1a4731;", 1340 | "value": "" 1341 | }, 1342 | { 1343 | "class": "bg-green-dark", 1344 | "properties": "background-color: #1f9d55;", 1345 | "value": "" 1346 | }, 1347 | { 1348 | "class": "bg-green", 1349 | "properties": "background-color: #38c172;", 1350 | "value": "" 1351 | }, 1352 | { 1353 | "class": "bg-green-light", 1354 | "properties": "background-color: #51d88a;", 1355 | "value": "" 1356 | }, 1357 | { 1358 | "class": "bg-green-lighter", 1359 | "properties": "background-color: #a2f5bf;", 1360 | "value": "" 1361 | }, 1362 | { 1363 | "class": "bg-green-lightest", 1364 | "properties": "background-color: #e3fcec;", 1365 | "value": "" 1366 | }, 1367 | { 1368 | "class": "bg-teal-darkest", 1369 | "properties": "background-color: #0d3331;", 1370 | "value": "" 1371 | }, 1372 | { 1373 | "class": "bg-teal-darker", 1374 | "properties": "background-color: #20504f;", 1375 | "value": "" 1376 | }, 1377 | { 1378 | "class": "bg-teal-dark", 1379 | "properties": "background-color: #38a89d;", 1380 | "value": "" 1381 | }, 1382 | { 1383 | "class": "bg-teal", 1384 | "properties": "background-color: #4dc0b5;", 1385 | "value": "" 1386 | }, 1387 | { 1388 | "class": "bg-teal-light", 1389 | "properties": "background-color: #64d5ca;", 1390 | "value": "" 1391 | }, 1392 | { 1393 | "class": "bg-teal-lighter", 1394 | "properties": "background-color: #a0f0ed;", 1395 | "value": "" 1396 | }, 1397 | { 1398 | "class": "bg-teal-lightest", 1399 | "properties": "background-color: #e8fffe;", 1400 | "value": "" 1401 | }, 1402 | { 1403 | "class": "bg-blue-darkest", 1404 | "properties": "background-color: #12283a;", 1405 | "value": "" 1406 | }, 1407 | { 1408 | "class": "bg-blue-darker", 1409 | "properties": "background-color: #1c3d5a;", 1410 | "value": "" 1411 | }, 1412 | { 1413 | "class": "bg-blue-dark", 1414 | "properties": "background-color: #2779bd;", 1415 | "value": "" 1416 | }, 1417 | { 1418 | "class": "bg-blue", 1419 | "properties": "background-color: #3490dc;", 1420 | "value": "" 1421 | }, 1422 | { 1423 | "class": "bg-blue-light", 1424 | "properties": "background-color: #6cb2eb;", 1425 | "value": "" 1426 | }, 1427 | { 1428 | "class": "bg-blue-lighter", 1429 | "properties": "background-color: #bcdefa;", 1430 | "value": "" 1431 | }, 1432 | { 1433 | "class": "bg-blue-lightest", 1434 | "properties": "background-color: #eff8ff;", 1435 | "value": "" 1436 | }, 1437 | { 1438 | "class": "bg-indigo-darkest", 1439 | "properties": "background-color: #191e38;", 1440 | "value": "" 1441 | }, 1442 | { 1443 | "class": "bg-indigo-darker", 1444 | "properties": "background-color: #2f365f;", 1445 | "value": "" 1446 | }, 1447 | { 1448 | "class": "bg-indigo-dark", 1449 | "properties": "background-color: #5661b3;", 1450 | "value": "" 1451 | }, 1452 | { 1453 | "class": "bg-indigo", 1454 | "properties": "background-color: #6574cd;", 1455 | "value": "" 1456 | }, 1457 | { 1458 | "class": "bg-indigo-light", 1459 | "properties": "background-color: #7886d7;", 1460 | "value": "" 1461 | }, 1462 | { 1463 | "class": "bg-indigo-lighter", 1464 | "properties": "background-color: #b2b7ff;", 1465 | "value": "" 1466 | }, 1467 | { 1468 | "class": "bg-indigo-lightest", 1469 | "properties": "background-color: #e6e8ff;", 1470 | "value": "" 1471 | }, 1472 | { 1473 | "class": "bg-purple-darkest", 1474 | "properties": "background-color: #21183c;", 1475 | "value": "" 1476 | }, 1477 | { 1478 | "class": "bg-purple-darker", 1479 | "properties": "background-color: #382b5f;", 1480 | "value": "" 1481 | }, 1482 | { 1483 | "class": "bg-purple-dark", 1484 | "properties": "background-color: #794acf;", 1485 | "value": "" 1486 | }, 1487 | { 1488 | "class": "bg-purple", 1489 | "properties": "background-color: #9561e2;", 1490 | "value": "" 1491 | }, 1492 | { 1493 | "class": "bg-purple-light", 1494 | "properties": "background-color: #a779e9;", 1495 | "value": "" 1496 | }, 1497 | { 1498 | "class": "bg-purple-lighter", 1499 | "properties": "background-color: #d6bbfc;", 1500 | "value": "" 1501 | }, 1502 | { 1503 | "class": "bg-purple-lightest", 1504 | "properties": "background-color: #f3ebff;", 1505 | "value": "" 1506 | }, 1507 | { 1508 | "class": "bg-pink-darkest", 1509 | "properties": "background-color: #451225;", 1510 | "value": "" 1511 | }, 1512 | { 1513 | "class": "bg-pink-darker", 1514 | "properties": "background-color: #6f213f;", 1515 | "value": "" 1516 | }, 1517 | { 1518 | "class": "bg-pink-dark", 1519 | "properties": "background-color: #eb5286;", 1520 | "value": "" 1521 | }, 1522 | { 1523 | "class": "bg-pink", 1524 | "properties": "background-color: #f66d9b;", 1525 | "value": "" 1526 | }, 1527 | { 1528 | "class": "bg-pink-light", 1529 | "properties": "background-color: #fa7ea8;", 1530 | "value": "" 1531 | }, 1532 | { 1533 | "class": "bg-pink-lighter", 1534 | "properties": "background-color: #ffbbca;", 1535 | "value": "" 1536 | }, 1537 | { 1538 | "class": "bg-pink-lightest", 1539 | "properties": "background-color: #ffebef;", 1540 | "value": "" 1541 | } 1542 | ] 1543 | }, 1544 | { 1545 | "title": "Background Position", 1546 | "url": "https://tailwindcss-v0.netlify.app//docs/background-position", 1547 | "description": "Utilities for controlling the position of an element's background image.", 1548 | "table": [ 1549 | { 1550 | "class": "bg-bottom", 1551 | "properties": "background-position: bottom;", 1552 | "value": "" 1553 | }, 1554 | { 1555 | "class": "bg-center", 1556 | "properties": "background-position: center;", 1557 | "value": "" 1558 | }, 1559 | { 1560 | "class": "bg-left", 1561 | "properties": "background-position: left;", 1562 | "value": "" 1563 | }, 1564 | { 1565 | "class": "bg-left-bottom", 1566 | "properties": "background-position: left bottom;", 1567 | "value": "" 1568 | }, 1569 | { 1570 | "class": "bg-left-top", 1571 | "properties": "background-position: left top;", 1572 | "value": "" 1573 | }, 1574 | { 1575 | "class": "bg-right", 1576 | "properties": "background-position: right;", 1577 | "value": "" 1578 | }, 1579 | { 1580 | "class": "bg-right-bottom", 1581 | "properties": "background-position: right bottom;", 1582 | "value": "" 1583 | }, 1584 | { 1585 | "class": "bg-right-top", 1586 | "properties": "background-position: right top;", 1587 | "value": "" 1588 | }, 1589 | { 1590 | "class": "bg-top", 1591 | "properties": "background-position: top;", 1592 | "value": "" 1593 | } 1594 | ] 1595 | }, 1596 | { 1597 | "title": "Background Repeat", 1598 | "url": "https://tailwindcss-v0.netlify.app//docs/background-repeat", 1599 | "description": "Utilities for controlling the repetition of an element's background image.", 1600 | "table": [ 1601 | { 1602 | "class": "bg-repeat", 1603 | "properties": "background-repeat: repeat;", 1604 | "value": "" 1605 | }, 1606 | { 1607 | "class": "bg-no-repeat", 1608 | "properties": "background-repeat: no-repeat;", 1609 | "value": "" 1610 | }, 1611 | { 1612 | "class": "bg-repeat-x", 1613 | "properties": "background-repeat: repeat-x;", 1614 | "value": "" 1615 | }, 1616 | { 1617 | "class": "bg-repeat-y", 1618 | "properties": "background-repeat: repeat-y;", 1619 | "value": "" 1620 | } 1621 | ] 1622 | }, 1623 | { 1624 | "title": "Background Size", 1625 | "url": "https://tailwindcss-v0.netlify.app//docs/background-size", 1626 | "description": "Utilities for controlling the background size of an element's background image.", 1627 | "table": [ 1628 | { 1629 | "class": "bg-auto", 1630 | "properties": "background-size: auto;", 1631 | "value": "" 1632 | }, 1633 | { 1634 | "class": "bg-cover", 1635 | "properties": "background-size: cover;", 1636 | "value": "" 1637 | }, 1638 | { 1639 | "class": "bg-contain", 1640 | "properties": "background-size: contain;", 1641 | "value": "" 1642 | } 1643 | ] 1644 | } 1645 | ] 1646 | }, 1647 | { 1648 | "title": "Borders", 1649 | "children": [ 1650 | { 1651 | "title": "Border Color", 1652 | "url": "https://tailwindcss-v0.netlify.app//docs/border-color", 1653 | "description": "Utilities for controlling the color of an element's borders.", 1654 | "table": [ 1655 | { 1656 | "class": "border-transparent", 1657 | "properties": "border-color: transparent;", 1658 | "value": "" 1659 | }, 1660 | { 1661 | "class": "border-black", 1662 | "properties": "border-color: #22292f;", 1663 | "value": "" 1664 | }, 1665 | { 1666 | "class": "border-grey-darkest", 1667 | "properties": "border-color: #3d4852;", 1668 | "value": "" 1669 | }, 1670 | { 1671 | "class": "border-grey-darker", 1672 | "properties": "border-color: #606f7b;", 1673 | "value": "" 1674 | }, 1675 | { 1676 | "class": "border-grey-dark", 1677 | "properties": "border-color: #8795a1;", 1678 | "value": "" 1679 | }, 1680 | { 1681 | "class": "border-grey", 1682 | "properties": "border-color: #b8c2cc;", 1683 | "value": "" 1684 | }, 1685 | { 1686 | "class": "border-grey-light", 1687 | "properties": "border-color: #dae1e7;", 1688 | "value": "" 1689 | }, 1690 | { 1691 | "class": "border-grey-lighter", 1692 | "properties": "border-color: #f1f5f8;", 1693 | "value": "" 1694 | }, 1695 | { 1696 | "class": "border-grey-lightest", 1697 | "properties": "border-color: #f8fafc;", 1698 | "value": "" 1699 | }, 1700 | { 1701 | "class": "border-white", 1702 | "properties": "border-color: #ffffff;", 1703 | "value": "" 1704 | }, 1705 | { 1706 | "class": "border-red-darkest", 1707 | "properties": "border-color: #3b0d0c;", 1708 | "value": "" 1709 | }, 1710 | { 1711 | "class": "border-red-darker", 1712 | "properties": "border-color: #621b18;", 1713 | "value": "" 1714 | }, 1715 | { 1716 | "class": "border-red-dark", 1717 | "properties": "border-color: #cc1f1a;", 1718 | "value": "" 1719 | }, 1720 | { 1721 | "class": "border-red", 1722 | "properties": "border-color: #e3342f;", 1723 | "value": "" 1724 | }, 1725 | { 1726 | "class": "border-red-light", 1727 | "properties": "border-color: #ef5753;", 1728 | "value": "" 1729 | }, 1730 | { 1731 | "class": "border-red-lighter", 1732 | "properties": "border-color: #f9acaa;", 1733 | "value": "" 1734 | }, 1735 | { 1736 | "class": "border-red-lightest", 1737 | "properties": "border-color: #fcebea;", 1738 | "value": "" 1739 | }, 1740 | { 1741 | "class": "border-orange-darkest", 1742 | "properties": "border-color: #462a16;", 1743 | "value": "" 1744 | }, 1745 | { 1746 | "class": "border-orange-darker", 1747 | "properties": "border-color: #613b1f;", 1748 | "value": "" 1749 | }, 1750 | { 1751 | "class": "border-orange-dark", 1752 | "properties": "border-color: #de751f;", 1753 | "value": "" 1754 | }, 1755 | { 1756 | "class": "border-orange", 1757 | "properties": "border-color: #f6993f;", 1758 | "value": "" 1759 | }, 1760 | { 1761 | "class": "border-orange-light", 1762 | "properties": "border-color: #faad63;", 1763 | "value": "" 1764 | }, 1765 | { 1766 | "class": "border-orange-lighter", 1767 | "properties": "border-color: #fcd9b6;", 1768 | "value": "" 1769 | }, 1770 | { 1771 | "class": "border-orange-lightest", 1772 | "properties": "border-color: #fff5eb;", 1773 | "value": "" 1774 | }, 1775 | { 1776 | "class": "border-yellow-darkest", 1777 | "properties": "border-color: #453411;", 1778 | "value": "" 1779 | }, 1780 | { 1781 | "class": "border-yellow-darker", 1782 | "properties": "border-color: #684f1d;", 1783 | "value": "" 1784 | }, 1785 | { 1786 | "class": "border-yellow-dark", 1787 | "properties": "border-color: #f2d024;", 1788 | "value": "" 1789 | }, 1790 | { 1791 | "class": "border-yellow", 1792 | "properties": "border-color: #ffed4a;", 1793 | "value": "" 1794 | }, 1795 | { 1796 | "class": "border-yellow-light", 1797 | "properties": "border-color: #fff382;", 1798 | "value": "" 1799 | }, 1800 | { 1801 | "class": "border-yellow-lighter", 1802 | "properties": "border-color: #fff9c2;", 1803 | "value": "" 1804 | }, 1805 | { 1806 | "class": "border-yellow-lightest", 1807 | "properties": "border-color: #fcfbeb;", 1808 | "value": "" 1809 | }, 1810 | { 1811 | "class": "border-green-darkest", 1812 | "properties": "border-color: #0f2f21;", 1813 | "value": "" 1814 | }, 1815 | { 1816 | "class": "border-green-darker", 1817 | "properties": "border-color: #1a4731;", 1818 | "value": "" 1819 | }, 1820 | { 1821 | "class": "border-green-dark", 1822 | "properties": "border-color: #1f9d55;", 1823 | "value": "" 1824 | }, 1825 | { 1826 | "class": "border-green", 1827 | "properties": "border-color: #38c172;", 1828 | "value": "" 1829 | }, 1830 | { 1831 | "class": "border-green-light", 1832 | "properties": "border-color: #51d88a;", 1833 | "value": "" 1834 | }, 1835 | { 1836 | "class": "border-green-lighter", 1837 | "properties": "border-color: #a2f5bf;", 1838 | "value": "" 1839 | }, 1840 | { 1841 | "class": "border-green-lightest", 1842 | "properties": "border-color: #e3fcec;", 1843 | "value": "" 1844 | }, 1845 | { 1846 | "class": "border-teal-darkest", 1847 | "properties": "border-color: #0d3331;", 1848 | "value": "" 1849 | }, 1850 | { 1851 | "class": "border-teal-darker", 1852 | "properties": "border-color: #20504f;", 1853 | "value": "" 1854 | }, 1855 | { 1856 | "class": "border-teal-dark", 1857 | "properties": "border-color: #38a89d;", 1858 | "value": "" 1859 | }, 1860 | { 1861 | "class": "border-teal", 1862 | "properties": "border-color: #4dc0b5;", 1863 | "value": "" 1864 | }, 1865 | { 1866 | "class": "border-teal-light", 1867 | "properties": "border-color: #64d5ca;", 1868 | "value": "" 1869 | }, 1870 | { 1871 | "class": "border-teal-lighter", 1872 | "properties": "border-color: #a0f0ed;", 1873 | "value": "" 1874 | }, 1875 | { 1876 | "class": "border-teal-lightest", 1877 | "properties": "border-color: #e8fffe;", 1878 | "value": "" 1879 | }, 1880 | { 1881 | "class": "border-blue-darkest", 1882 | "properties": "border-color: #12283a;", 1883 | "value": "" 1884 | }, 1885 | { 1886 | "class": "border-blue-darker", 1887 | "properties": "border-color: #1c3d5a;", 1888 | "value": "" 1889 | }, 1890 | { 1891 | "class": "border-blue-dark", 1892 | "properties": "border-color: #2779bd;", 1893 | "value": "" 1894 | }, 1895 | { 1896 | "class": "border-blue", 1897 | "properties": "border-color: #3490dc;", 1898 | "value": "" 1899 | }, 1900 | { 1901 | "class": "border-blue-light", 1902 | "properties": "border-color: #6cb2eb;", 1903 | "value": "" 1904 | }, 1905 | { 1906 | "class": "border-blue-lighter", 1907 | "properties": "border-color: #bcdefa;", 1908 | "value": "" 1909 | }, 1910 | { 1911 | "class": "border-blue-lightest", 1912 | "properties": "border-color: #eff8ff;", 1913 | "value": "" 1914 | }, 1915 | { 1916 | "class": "border-indigo-darkest", 1917 | "properties": "border-color: #191e38;", 1918 | "value": "" 1919 | }, 1920 | { 1921 | "class": "border-indigo-darker", 1922 | "properties": "border-color: #2f365f;", 1923 | "value": "" 1924 | }, 1925 | { 1926 | "class": "border-indigo-dark", 1927 | "properties": "border-color: #5661b3;", 1928 | "value": "" 1929 | }, 1930 | { 1931 | "class": "border-indigo", 1932 | "properties": "border-color: #6574cd;", 1933 | "value": "" 1934 | }, 1935 | { 1936 | "class": "border-indigo-light", 1937 | "properties": "border-color: #7886d7;", 1938 | "value": "" 1939 | }, 1940 | { 1941 | "class": "border-indigo-lighter", 1942 | "properties": "border-color: #b2b7ff;", 1943 | "value": "" 1944 | }, 1945 | { 1946 | "class": "border-indigo-lightest", 1947 | "properties": "border-color: #e6e8ff;", 1948 | "value": "" 1949 | }, 1950 | { 1951 | "class": "border-purple-darkest", 1952 | "properties": "border-color: #21183c;", 1953 | "value": "" 1954 | }, 1955 | { 1956 | "class": "border-purple-darker", 1957 | "properties": "border-color: #382b5f;", 1958 | "value": "" 1959 | }, 1960 | { 1961 | "class": "border-purple-dark", 1962 | "properties": "border-color: #794acf;", 1963 | "value": "" 1964 | }, 1965 | { 1966 | "class": "border-purple", 1967 | "properties": "border-color: #9561e2;", 1968 | "value": "" 1969 | }, 1970 | { 1971 | "class": "border-purple-light", 1972 | "properties": "border-color: #a779e9;", 1973 | "value": "" 1974 | }, 1975 | { 1976 | "class": "border-purple-lighter", 1977 | "properties": "border-color: #d6bbfc;", 1978 | "value": "" 1979 | }, 1980 | { 1981 | "class": "border-purple-lightest", 1982 | "properties": "border-color: #f3ebff;", 1983 | "value": "" 1984 | }, 1985 | { 1986 | "class": "border-pink-darkest", 1987 | "properties": "border-color: #451225;", 1988 | "value": "" 1989 | }, 1990 | { 1991 | "class": "border-pink-darker", 1992 | "properties": "border-color: #6f213f;", 1993 | "value": "" 1994 | }, 1995 | { 1996 | "class": "border-pink-dark", 1997 | "properties": "border-color: #eb5286;", 1998 | "value": "" 1999 | }, 2000 | { 2001 | "class": "border-pink", 2002 | "properties": "border-color: #f66d9b;", 2003 | "value": "" 2004 | }, 2005 | { 2006 | "class": "border-pink-light", 2007 | "properties": "border-color: #fa7ea8;", 2008 | "value": "" 2009 | }, 2010 | { 2011 | "class": "border-pink-lighter", 2012 | "properties": "border-color: #ffbbca;", 2013 | "value": "" 2014 | }, 2015 | { 2016 | "class": "border-pink-lightest", 2017 | "properties": "border-color: #ffebef;", 2018 | "value": "" 2019 | } 2020 | ] 2021 | }, 2022 | { 2023 | "title": "Border Style", 2024 | "url": "https://tailwindcss-v0.netlify.app//docs/border-style", 2025 | "description": "Utilities for controlling the style of an element's borders.", 2026 | "table": [ 2027 | { 2028 | "class": "border-solid", 2029 | "properties": "border-style: solid;", 2030 | "value": "" 2031 | }, 2032 | { 2033 | "class": "border-dashed", 2034 | "properties": "border-style: dashed;", 2035 | "value": "" 2036 | }, 2037 | { 2038 | "class": "border-dotted", 2039 | "properties": "border-style: dotted;", 2040 | "value": "" 2041 | }, 2042 | { 2043 | "class": "border-none", 2044 | "properties": "border-style: none;", 2045 | "value": "" 2046 | } 2047 | ] 2048 | }, 2049 | { 2050 | "title": "Border Width", 2051 | "url": "https://tailwindcss-v0.netlify.app//docs/border-width", 2052 | "description": "Utilities for controlling the width of an element's borders.", 2053 | "table": [] 2054 | }, 2055 | { 2056 | "title": "Border Radius", 2057 | "url": "https://tailwindcss-v0.netlify.app//docs/border-radius", 2058 | "description": "Utilities for controlling the border radius of an element.", 2059 | "table": [ 2060 | { 2061 | "class": "rounded-none", 2062 | "properties": "border-radius: 0;", 2063 | "value": "" 2064 | }, 2065 | { 2066 | "class": "rounded-sm", 2067 | "properties": "border-radius: .125rem;", 2068 | "value": "" 2069 | }, 2070 | { 2071 | "class": "rounded", 2072 | "properties": "border-radius: .25rem;", 2073 | "value": "" 2074 | }, 2075 | { 2076 | "class": "rounded-lg", 2077 | "properties": "border-radius: .5rem;", 2078 | "value": "" 2079 | }, 2080 | { 2081 | "class": "rounded-full", 2082 | "properties": "border-radius: 9999px;", 2083 | "value": "" 2084 | }, 2085 | { 2086 | "class": "rounded-t-none", 2087 | "properties": "border-top-left-radius: 0;\nborder-top-right-radius: 0;", 2088 | "value": "" 2089 | }, 2090 | { 2091 | "class": "rounded-r-none", 2092 | "properties": "border-top-right-radius: 0;\nborder-bottom-right-radius: 0;", 2093 | "value": "" 2094 | }, 2095 | { 2096 | "class": "rounded-b-none", 2097 | "properties": "border-bottom-right-radius: 0;\nborder-bottom-left-radius: 0;", 2098 | "value": "" 2099 | }, 2100 | { 2101 | "class": "rounded-l-none", 2102 | "properties": "border-top-left-radius: 0;\nborder-bottom-left-radius: 0;", 2103 | "value": "" 2104 | }, 2105 | { 2106 | "class": "rounded-t-sm", 2107 | "properties": "border-top-left-radius: .125rem;\nborder-top-right-radius: .125rem;", 2108 | "value": "" 2109 | }, 2110 | { 2111 | "class": "rounded-r-sm", 2112 | "properties": "border-top-right-radius: .125rem;\nborder-bottom-right-radius: .125rem;", 2113 | "value": "" 2114 | }, 2115 | { 2116 | "class": "rounded-b-sm", 2117 | "properties": "border-bottom-right-radius: .125rem;\nborder-bottom-left-radius: .125rem;", 2118 | "value": "" 2119 | }, 2120 | { 2121 | "class": "rounded-l-sm", 2122 | "properties": "border-top-left-radius: .125rem;\nborder-bottom-left-radius: .125rem;", 2123 | "value": "" 2124 | }, 2125 | { 2126 | "class": "rounded-t", 2127 | "properties": "border-top-left-radius: .25rem;\nborder-top-right-radius: .25rem;", 2128 | "value": "" 2129 | }, 2130 | { 2131 | "class": "rounded-r", 2132 | "properties": "border-top-right-radius: .25rem;\nborder-bottom-right-radius: .25rem;", 2133 | "value": "" 2134 | }, 2135 | { 2136 | "class": "rounded-b", 2137 | "properties": "border-bottom-right-radius: .25rem;\nborder-bottom-left-radius: .25rem;", 2138 | "value": "" 2139 | }, 2140 | { 2141 | "class": "rounded-l", 2142 | "properties": "border-top-left-radius: .25rem;\nborder-bottom-left-radius: .25rem;", 2143 | "value": "" 2144 | }, 2145 | { 2146 | "class": "rounded-t-lg", 2147 | "properties": "border-top-left-radius: .5rem;\nborder-top-right-radius: .5rem;", 2148 | "value": "" 2149 | }, 2150 | { 2151 | "class": "rounded-r-lg", 2152 | "properties": "border-top-right-radius: .5rem;\nborder-bottom-right-radius: .5rem;", 2153 | "value": "" 2154 | }, 2155 | { 2156 | "class": "rounded-b-lg", 2157 | "properties": "border-bottom-right-radius: .5rem;\nborder-bottom-left-radius: .5rem;", 2158 | "value": "" 2159 | }, 2160 | { 2161 | "class": "rounded-l-lg", 2162 | "properties": "border-top-left-radius: .5rem;\nborder-bottom-left-radius: .5rem;", 2163 | "value": "" 2164 | }, 2165 | { 2166 | "class": "rounded-t-full", 2167 | "properties": "border-top-left-radius: 9999px;\nborder-top-right-radius: 9999px;", 2168 | "value": "" 2169 | }, 2170 | { 2171 | "class": "rounded-r-full", 2172 | "properties": "border-top-right-radius: 9999px;\nborder-bottom-right-radius: 9999px;", 2173 | "value": "" 2174 | }, 2175 | { 2176 | "class": "rounded-b-full", 2177 | "properties": "border-bottom-right-radius: 9999px;\nborder-bottom-left-radius: 9999px;", 2178 | "value": "" 2179 | }, 2180 | { 2181 | "class": "rounded-l-full", 2182 | "properties": "border-top-left-radius: 9999px;\nborder-bottom-left-radius: 9999px;", 2183 | "value": "" 2184 | }, 2185 | { 2186 | "class": "rounded-tl-none", 2187 | "properties": "border-top-left-radius: 0;", 2188 | "value": "" 2189 | }, 2190 | { 2191 | "class": "rounded-tr-none", 2192 | "properties": "border-top-right-radius: 0;", 2193 | "value": "" 2194 | }, 2195 | { 2196 | "class": "rounded-br-none", 2197 | "properties": "border-bottom-right-radius: 0;", 2198 | "value": "" 2199 | }, 2200 | { 2201 | "class": "rounded-bl-none", 2202 | "properties": "border-bottom-left-radius: 0;", 2203 | "value": "" 2204 | }, 2205 | { 2206 | "class": "rounded-tl-sm", 2207 | "properties": "border-top-left-radius: .125rem;", 2208 | "value": "" 2209 | }, 2210 | { 2211 | "class": "rounded-tr-sm", 2212 | "properties": "border-top-right-radius: .125rem;", 2213 | "value": "" 2214 | }, 2215 | { 2216 | "class": "rounded-br-sm", 2217 | "properties": "border-bottom-right-radius: .125rem;", 2218 | "value": "" 2219 | }, 2220 | { 2221 | "class": "rounded-bl-sm", 2222 | "properties": "border-bottom-left-radius: .125rem;", 2223 | "value": "" 2224 | }, 2225 | { 2226 | "class": "rounded-tl", 2227 | "properties": "border-top-left-radius: .25rem;", 2228 | "value": "" 2229 | }, 2230 | { 2231 | "class": "rounded-tr", 2232 | "properties": "border-top-right-radius: .25rem;", 2233 | "value": "" 2234 | }, 2235 | { 2236 | "class": "rounded-br", 2237 | "properties": "border-bottom-right-radius: .25rem;", 2238 | "value": "" 2239 | }, 2240 | { 2241 | "class": "rounded-bl", 2242 | "properties": "border-bottom-left-radius: .25rem;", 2243 | "value": "" 2244 | }, 2245 | { 2246 | "class": "rounded-tl-lg", 2247 | "properties": "border-top-left-radius: .5rem;", 2248 | "value": "" 2249 | }, 2250 | { 2251 | "class": "rounded-tr-lg", 2252 | "properties": "border-top-right-radius: .5rem;", 2253 | "value": "" 2254 | }, 2255 | { 2256 | "class": "rounded-br-lg", 2257 | "properties": "border-bottom-right-radius: .5rem;", 2258 | "value": "" 2259 | }, 2260 | { 2261 | "class": "rounded-bl-lg", 2262 | "properties": "border-bottom-left-radius: .5rem;", 2263 | "value": "" 2264 | }, 2265 | { 2266 | "class": "rounded-tl-full", 2267 | "properties": "border-top-left-radius: 9999px;", 2268 | "value": "" 2269 | }, 2270 | { 2271 | "class": "rounded-tr-full", 2272 | "properties": "border-top-right-radius: 9999px;", 2273 | "value": "" 2274 | }, 2275 | { 2276 | "class": "rounded-br-full", 2277 | "properties": "border-bottom-right-radius: 9999px;", 2278 | "value": "" 2279 | }, 2280 | { 2281 | "class": "rounded-bl-full", 2282 | "properties": "border-bottom-left-radius: 9999px;", 2283 | "value": "" 2284 | } 2285 | ] 2286 | } 2287 | ] 2288 | }, 2289 | { 2290 | "title": "Flexbox", 2291 | "children": [ 2292 | { 2293 | "title": "Display", 2294 | "url": "https://tailwindcss-v0.netlify.app//docs/flexbox-display", 2295 | "description": "Utilities for creating flex containers.", 2296 | "table": [ 2297 | { 2298 | "class": "flex", 2299 | "properties": "display: flex;", 2300 | "value": "" 2301 | }, 2302 | { 2303 | "class": "inline-flex", 2304 | "properties": "display: inline-flex;", 2305 | "value": "" 2306 | } 2307 | ] 2308 | }, 2309 | { 2310 | "title": "Flex Direction", 2311 | "url": "https://tailwindcss-v0.netlify.app//docs/flexbox-direction", 2312 | "description": "Utilities for controlling the direction of flex items.", 2313 | "table": [ 2314 | { 2315 | "class": "flex-row", 2316 | "properties": "flex-direction: row;", 2317 | "value": "" 2318 | }, 2319 | { 2320 | "class": "flex-row-reverse", 2321 | "properties": "flex-direction: row-reverse;", 2322 | "value": "" 2323 | }, 2324 | { 2325 | "class": "flex-col", 2326 | "properties": "flex-direction: column;", 2327 | "value": "" 2328 | }, 2329 | { 2330 | "class": "flex-col-reverse", 2331 | "properties": "flex-direction: column-reverse;", 2332 | "value": "" 2333 | } 2334 | ] 2335 | }, 2336 | { 2337 | "title": "Flex Wrapping", 2338 | "url": "https://tailwindcss-v0.netlify.app//docs/flexbox-wrapping", 2339 | "description": "Utilities for controlling how flex items wrap.", 2340 | "table": [ 2341 | { 2342 | "class": "flex-no-wrap", 2343 | "properties": "flex-wrap: nowrap;", 2344 | "value": "" 2345 | }, 2346 | { 2347 | "class": "flex-wrap", 2348 | "properties": "flex-wrap: wrap;", 2349 | "value": "" 2350 | }, 2351 | { 2352 | "class": "flex-wrap-reverse", 2353 | "properties": "flex-wrap: wrap-reverse;", 2354 | "value": "" 2355 | } 2356 | ] 2357 | }, 2358 | { 2359 | "title": "Align Items", 2360 | "url": "https://tailwindcss-v0.netlify.app//docs/flexbox-align-items", 2361 | "description": "Utilities for controlling how flex items are positioned along a container's cross axis.", 2362 | "table": [ 2363 | { 2364 | "class": "items-stretch", 2365 | "properties": "align-items: stretch;", 2366 | "value": "" 2367 | }, 2368 | { 2369 | "class": "items-start", 2370 | "properties": "align-items: flex-start;", 2371 | "value": "" 2372 | }, 2373 | { 2374 | "class": "items-center", 2375 | "properties": "align-items: center;", 2376 | "value": "" 2377 | }, 2378 | { 2379 | "class": "items-end", 2380 | "properties": "align-items: flex-end;", 2381 | "value": "" 2382 | }, 2383 | { 2384 | "class": "items-baseline", 2385 | "properties": "align-items: baseline;", 2386 | "value": "" 2387 | } 2388 | ] 2389 | }, 2390 | { 2391 | "title": "Align Content", 2392 | "url": "https://tailwindcss-v0.netlify.app//docs/flexbox-align-content", 2393 | "description": "Utilities for controlling how lines are positioned in multi-line flex containers.", 2394 | "table": [ 2395 | { 2396 | "class": "content-start", 2397 | "properties": "align-content: flex-start;", 2398 | "value": "" 2399 | }, 2400 | { 2401 | "class": "content-center", 2402 | "properties": "align-content: center;", 2403 | "value": "" 2404 | }, 2405 | { 2406 | "class": "content-end", 2407 | "properties": "align-content: flex-end;", 2408 | "value": "" 2409 | }, 2410 | { 2411 | "class": "content-between", 2412 | "properties": "align-content: space-between;", 2413 | "value": "" 2414 | }, 2415 | { 2416 | "class": "content-around", 2417 | "properties": "align-content: space-around;", 2418 | "value": "" 2419 | } 2420 | ] 2421 | }, 2422 | { 2423 | "title": "Align Self", 2424 | "url": "https://tailwindcss-v0.netlify.app//docs/flexbox-align-self", 2425 | "description": "Utilities for controlling how an individual flex item is positioned along its container's cross axis.", 2426 | "table": [ 2427 | { 2428 | "class": "self-auto", 2429 | "properties": "align-self: auto;", 2430 | "value": "" 2431 | }, 2432 | { 2433 | "class": "self-start", 2434 | "properties": "align-self: flex-start;", 2435 | "value": "" 2436 | }, 2437 | { 2438 | "class": "self-center", 2439 | "properties": "align-self: center;", 2440 | "value": "" 2441 | }, 2442 | { 2443 | "class": "self-end", 2444 | "properties": "align-self: flex-end;", 2445 | "value": "" 2446 | }, 2447 | { 2448 | "class": "self-stretch", 2449 | "properties": "align-self: stretch;", 2450 | "value": "" 2451 | } 2452 | ] 2453 | }, 2454 | { 2455 | "title": "Justify Content", 2456 | "url": "https://tailwindcss-v0.netlify.app//docs/flexbox-justify-content", 2457 | "description": "Utilities for controlling how flex items are positioned along a container's main axis.", 2458 | "table": [ 2459 | { 2460 | "class": "justify-start", 2461 | "properties": "justify-content: flex-start;", 2462 | "value": "" 2463 | }, 2464 | { 2465 | "class": "justify-center", 2466 | "properties": "justify-content: center;", 2467 | "value": "" 2468 | }, 2469 | { 2470 | "class": "justify-end", 2471 | "properties": "justify-content: flex-end;", 2472 | "value": "" 2473 | }, 2474 | { 2475 | "class": "justify-between", 2476 | "properties": "justify-content: space-between;", 2477 | "value": "" 2478 | }, 2479 | { 2480 | "class": "justify-around", 2481 | "properties": "justify-content: space-around;", 2482 | "value": "" 2483 | } 2484 | ] 2485 | }, 2486 | { 2487 | "title": "Flex, Grow, & Shrink", 2488 | "url": "https://tailwindcss-v0.netlify.app//docs/flexbox-flex-grow-shrink", 2489 | "description": "Utilities for controlling how flex items grow and shrink.", 2490 | "table": [ 2491 | { 2492 | "class": "flex-initial", 2493 | "properties": "flex: initial;", 2494 | "value": "" 2495 | }, 2496 | { 2497 | "class": "flex-1", 2498 | "properties": "flex: 1;", 2499 | "value": "" 2500 | }, 2501 | { 2502 | "class": "flex-auto", 2503 | "properties": "flex: auto;", 2504 | "value": "" 2505 | }, 2506 | { 2507 | "class": "flex-none", 2508 | "properties": "flex: none;", 2509 | "value": "" 2510 | }, 2511 | { 2512 | "class": "flex-grow", 2513 | "properties": "flex-grow: 1;", 2514 | "value": "" 2515 | }, 2516 | { 2517 | "class": "flex-shrink", 2518 | "properties": "flex-shrink: 1;", 2519 | "value": "" 2520 | }, 2521 | { 2522 | "class": "flex-no-grow", 2523 | "properties": "flex-grow: 0;", 2524 | "value": "" 2525 | }, 2526 | { 2527 | "class": "flex-no-shrink", 2528 | "properties": "flex-shrink: 0;", 2529 | "value": "" 2530 | } 2531 | ] 2532 | } 2533 | ] 2534 | }, 2535 | { 2536 | "title": "Spacing", 2537 | "children": [ 2538 | { 2539 | "title": "Margin & Padding", 2540 | "url": "https://tailwindcss-v0.netlify.app//docs/spacing", 2541 | "description": "Utilities for controlling an element's padding and margin.", 2542 | "table": [] 2543 | } 2544 | ] 2545 | }, 2546 | { 2547 | "title": "Sizing", 2548 | "children": [ 2549 | { 2550 | "title": "Width", 2551 | "url": "https://tailwindcss-v0.netlify.app//docs/width", 2552 | "description": "Utilities for setting the width of an element", 2553 | "table": [ 2554 | { 2555 | "class": "w-1", 2556 | "properties": "width: 0.25rem;", 2557 | "value": "" 2558 | }, 2559 | { 2560 | "class": "w-2", 2561 | "properties": "width: 0.5rem;", 2562 | "value": "" 2563 | }, 2564 | { 2565 | "class": "w-3", 2566 | "properties": "width: 0.75rem;", 2567 | "value": "" 2568 | }, 2569 | { 2570 | "class": "w-4", 2571 | "properties": "width: 1rem;", 2572 | "value": "" 2573 | }, 2574 | { 2575 | "class": "w-6", 2576 | "properties": "width: 1.5rem;", 2577 | "value": "" 2578 | }, 2579 | { 2580 | "class": "w-8", 2581 | "properties": "width: 2rem;", 2582 | "value": "" 2583 | }, 2584 | { 2585 | "class": "w-10", 2586 | "properties": "width: 2.5rem;", 2587 | "value": "" 2588 | }, 2589 | { 2590 | "class": "w-12", 2591 | "properties": "width: 3rem;", 2592 | "value": "" 2593 | }, 2594 | { 2595 | "class": "w-16", 2596 | "properties": "width: 4rem;", 2597 | "value": "" 2598 | }, 2599 | { 2600 | "class": "w-24", 2601 | "properties": "width: 6rem;", 2602 | "value": "" 2603 | }, 2604 | { 2605 | "class": "w-32", 2606 | "properties": "width: 8rem;", 2607 | "value": "" 2608 | }, 2609 | { 2610 | "class": "w-48", 2611 | "properties": "width: 12rem;", 2612 | "value": "" 2613 | }, 2614 | { 2615 | "class": "w-64", 2616 | "properties": "width: 16rem;", 2617 | "value": "" 2618 | }, 2619 | { 2620 | "class": "w-auto", 2621 | "properties": "width: auto;", 2622 | "value": "" 2623 | }, 2624 | { 2625 | "class": "w-px", 2626 | "properties": "width: 1px;", 2627 | "value": "" 2628 | }, 2629 | { 2630 | "class": "w-1/2", 2631 | "properties": "width: 50%;", 2632 | "value": "" 2633 | }, 2634 | { 2635 | "class": "w-1/3", 2636 | "properties": "width: 33.33333%;", 2637 | "value": "" 2638 | }, 2639 | { 2640 | "class": "w-2/3", 2641 | "properties": "width: 66.66667%;", 2642 | "value": "" 2643 | }, 2644 | { 2645 | "class": "w-1/4", 2646 | "properties": "width: 25%;", 2647 | "value": "" 2648 | }, 2649 | { 2650 | "class": "w-3/4", 2651 | "properties": "width: 75%;", 2652 | "value": "" 2653 | }, 2654 | { 2655 | "class": "w-1/5", 2656 | "properties": "width: 20%;", 2657 | "value": "" 2658 | }, 2659 | { 2660 | "class": "w-2/5", 2661 | "properties": "width: 40%;", 2662 | "value": "" 2663 | }, 2664 | { 2665 | "class": "w-3/5", 2666 | "properties": "width: 60%;", 2667 | "value": "" 2668 | }, 2669 | { 2670 | "class": "w-4/5", 2671 | "properties": "width: 80%;", 2672 | "value": "" 2673 | }, 2674 | { 2675 | "class": "w-1/6", 2676 | "properties": "width: 16.66667%;", 2677 | "value": "" 2678 | }, 2679 | { 2680 | "class": "w-5/6", 2681 | "properties": "width: 83.33333%;", 2682 | "value": "" 2683 | }, 2684 | { 2685 | "class": "w-full", 2686 | "properties": "width: 100%;", 2687 | "value": "" 2688 | }, 2689 | { 2690 | "class": "w-screen", 2691 | "properties": "width: 100vw;", 2692 | "value": "" 2693 | } 2694 | ] 2695 | }, 2696 | { 2697 | "title": "Min-Width", 2698 | "url": "https://tailwindcss-v0.netlify.app//docs/min-width", 2699 | "description": "Utilities for setting the minimum width of an element", 2700 | "table": [ 2701 | { 2702 | "class": "min-w-0", 2703 | "properties": "min-width: 0;", 2704 | "value": "" 2705 | }, 2706 | { 2707 | "class": "min-w-full", 2708 | "properties": "min-width: 100%;", 2709 | "value": "" 2710 | } 2711 | ] 2712 | }, 2713 | { 2714 | "title": "Max-Width", 2715 | "url": "https://tailwindcss-v0.netlify.app//docs/max-width", 2716 | "description": "Utilities for setting the maximum width of an element", 2717 | "table": [ 2718 | { 2719 | "class": "max-w-xs", 2720 | "properties": "max-width: 20rem;", 2721 | "value": "" 2722 | }, 2723 | { 2724 | "class": "max-w-sm", 2725 | "properties": "max-width: 30rem;", 2726 | "value": "" 2727 | }, 2728 | { 2729 | "class": "max-w-md", 2730 | "properties": "max-width: 40rem;", 2731 | "value": "" 2732 | }, 2733 | { 2734 | "class": "max-w-lg", 2735 | "properties": "max-width: 50rem;", 2736 | "value": "" 2737 | }, 2738 | { 2739 | "class": "max-w-xl", 2740 | "properties": "max-width: 60rem;", 2741 | "value": "" 2742 | }, 2743 | { 2744 | "class": "max-w-2xl", 2745 | "properties": "max-width: 70rem;", 2746 | "value": "" 2747 | }, 2748 | { 2749 | "class": "max-w-3xl", 2750 | "properties": "max-width: 80rem;", 2751 | "value": "" 2752 | }, 2753 | { 2754 | "class": "max-w-4xl", 2755 | "properties": "max-width: 90rem;", 2756 | "value": "" 2757 | }, 2758 | { 2759 | "class": "max-w-5xl", 2760 | "properties": "max-width: 100rem;", 2761 | "value": "" 2762 | }, 2763 | { 2764 | "class": "max-w-full", 2765 | "properties": "max-width: 100%;", 2766 | "value": "" 2767 | } 2768 | ] 2769 | }, 2770 | { 2771 | "title": "Height", 2772 | "url": "https://tailwindcss-v0.netlify.app//docs/height", 2773 | "description": "Utilities for setting the height of an element", 2774 | "table": [ 2775 | { 2776 | "class": "h-1", 2777 | "properties": "height: 0.25rem;", 2778 | "value": "" 2779 | }, 2780 | { 2781 | "class": "h-2", 2782 | "properties": "height: 0.5rem;", 2783 | "value": "" 2784 | }, 2785 | { 2786 | "class": "h-3", 2787 | "properties": "height: 0.75rem;", 2788 | "value": "" 2789 | }, 2790 | { 2791 | "class": "h-4", 2792 | "properties": "height: 1rem;", 2793 | "value": "" 2794 | }, 2795 | { 2796 | "class": "h-6", 2797 | "properties": "height: 1.5rem;", 2798 | "value": "" 2799 | }, 2800 | { 2801 | "class": "h-8", 2802 | "properties": "height: 2rem;", 2803 | "value": "" 2804 | }, 2805 | { 2806 | "class": "h-10", 2807 | "properties": "height: 2.5rem;", 2808 | "value": "" 2809 | }, 2810 | { 2811 | "class": "h-12", 2812 | "properties": "height: 3rem;", 2813 | "value": "" 2814 | }, 2815 | { 2816 | "class": "h-16", 2817 | "properties": "height: 4rem;", 2818 | "value": "" 2819 | }, 2820 | { 2821 | "class": "h-24", 2822 | "properties": "height: 6rem;", 2823 | "value": "" 2824 | }, 2825 | { 2826 | "class": "h-32", 2827 | "properties": "height: 8rem;", 2828 | "value": "" 2829 | }, 2830 | { 2831 | "class": "h-48", 2832 | "properties": "height: 12rem;", 2833 | "value": "" 2834 | }, 2835 | { 2836 | "class": "h-64", 2837 | "properties": "height: 16rem;", 2838 | "value": "" 2839 | }, 2840 | { 2841 | "class": "h-auto", 2842 | "properties": "height: auto;", 2843 | "value": "" 2844 | }, 2845 | { 2846 | "class": "h-px", 2847 | "properties": "height: 1px;", 2848 | "value": "" 2849 | }, 2850 | { 2851 | "class": "h-full", 2852 | "properties": "height: 100%;", 2853 | "value": "" 2854 | }, 2855 | { 2856 | "class": "h-screen", 2857 | "properties": "height: 100vh;", 2858 | "value": "" 2859 | } 2860 | ] 2861 | }, 2862 | { 2863 | "title": "Min-Height", 2864 | "url": "https://tailwindcss-v0.netlify.app//docs/min-height", 2865 | "description": "Utilities for setting the minimum height of an element", 2866 | "table": [ 2867 | { 2868 | "class": "min-h-0", 2869 | "properties": "min-height: 0;", 2870 | "value": "" 2871 | }, 2872 | { 2873 | "class": "min-h-full", 2874 | "properties": "min-height: 100%;", 2875 | "value": "" 2876 | }, 2877 | { 2878 | "class": "min-h-screen", 2879 | "properties": "min-height: 100vh;", 2880 | "value": "" 2881 | } 2882 | ] 2883 | }, 2884 | { 2885 | "title": "Max-Height", 2886 | "url": "https://tailwindcss-v0.netlify.app//docs/max-height", 2887 | "description": "Utilities for setting the maximum height of an element", 2888 | "table": [ 2889 | { 2890 | "class": "max-h-full", 2891 | "properties": "max-height: 100%;", 2892 | "value": "" 2893 | }, 2894 | { 2895 | "class": "max-h-screen", 2896 | "properties": "max-height: 100vh;", 2897 | "value": "" 2898 | } 2899 | ] 2900 | } 2901 | ] 2902 | }, 2903 | { 2904 | "title": "Tables", 2905 | "children": [ 2906 | { 2907 | "title": "Border Collapse", 2908 | "url": "https://tailwindcss-v0.netlify.app//docs/border-collapse", 2909 | "description": "Utilities for controlling whether table borders should collapse or be separated.", 2910 | "table": [ 2911 | { 2912 | "class": "border-collapse", 2913 | "properties": "border-collapse: collapse;", 2914 | "value": "" 2915 | }, 2916 | { 2917 | "class": "border-separate", 2918 | "properties": "border-collapse: separate;", 2919 | "value": "" 2920 | } 2921 | ] 2922 | }, 2923 | { 2924 | "title": "Table Layout", 2925 | "url": "https://tailwindcss-v0.netlify.app//docs/table-layout", 2926 | "description": "Utilities for controlling the table layout algorithm.", 2927 | "table": [ 2928 | { 2929 | "class": "table-auto", 2930 | "properties": "table-layout: auto;", 2931 | "value": "" 2932 | }, 2933 | { 2934 | "class": "table-fixed", 2935 | "properties": "table-layout: fixed;", 2936 | "value": "" 2937 | } 2938 | ] 2939 | } 2940 | ] 2941 | }, 2942 | { 2943 | "title": "Effects", 2944 | "children": [ 2945 | { 2946 | "title": "Box Shadow", 2947 | "url": "https://tailwindcss-v0.netlify.app//docs/shadows", 2948 | "description": "Utilities for controlling the box shadow of an element.", 2949 | "table": [ 2950 | { 2951 | "class": "shadow", 2952 | "properties": "box-shadow: 0 2px 4px 0 rgba(0,0,0,0.10);", 2953 | "value": "" 2954 | }, 2955 | { 2956 | "class": "shadow-md", 2957 | "properties": "box-shadow: 0 4px 8px 0 rgba(0,0,0,0.12),\n 0 2px 4px 0 rgba(0,0,0,0.08);", 2958 | "value": "" 2959 | }, 2960 | { 2961 | "class": "shadow-lg", 2962 | "properties": "box-shadow: 0 15px 30px 0 rgba(0,0,0,0.11),\n 0 5px 15px 0 rgba(0,0,0,0.08);", 2963 | "value": "" 2964 | }, 2965 | { 2966 | "class": "shadow-inner", 2967 | "properties": "box-shadow: inset 0 2px 4px 0 rgba(0,0,0,0.06);", 2968 | "value": "" 2969 | }, 2970 | { 2971 | "class": "shadow-outline", 2972 | "properties": "box-shadow: 0 0 0 3px rgba(52,144,220,0.5);", 2973 | "value": "" 2974 | }, 2975 | { 2976 | "class": "shadow-none", 2977 | "properties": "box-shadow: none;", 2978 | "value": "" 2979 | } 2980 | ] 2981 | }, 2982 | { 2983 | "title": "Opacity", 2984 | "url": "https://tailwindcss-v0.netlify.app//docs/opacity", 2985 | "description": "Utilities for controlling the opacity of an element.", 2986 | "table": [ 2987 | { 2988 | "class": "opacity-100", 2989 | "properties": "opacity: 1;", 2990 | "value": "" 2991 | }, 2992 | { 2993 | "class": "opacity-75", 2994 | "properties": "opacity: .75;", 2995 | "value": "" 2996 | }, 2997 | { 2998 | "class": "opacity-50", 2999 | "properties": "opacity: .5;", 3000 | "value": "" 3001 | }, 3002 | { 3003 | "class": "opacity-25", 3004 | "properties": "opacity: .25;", 3005 | "value": "" 3006 | }, 3007 | { 3008 | "class": "opacity-0", 3009 | "properties": "opacity: 0;", 3010 | "value": "" 3011 | } 3012 | ] 3013 | } 3014 | ] 3015 | }, 3016 | { 3017 | "title": "Interactivity", 3018 | "children": [ 3019 | { 3020 | "title": "Appearance", 3021 | "url": "https://tailwindcss-v0.netlify.app//docs/appearance", 3022 | "description": "Utilities for suppressing native form control styling.", 3023 | "table": [ 3024 | { 3025 | "class": "appearance-none", 3026 | "properties": "appearance: none;", 3027 | "value": "" 3028 | } 3029 | ] 3030 | }, 3031 | { 3032 | "title": "Cursor", 3033 | "url": "https://tailwindcss-v0.netlify.app//docs/cursor", 3034 | "description": "Utilities for controlling the cursor style when hovering over an element.", 3035 | "table": [ 3036 | { 3037 | "class": "cursor-auto", 3038 | "properties": "cursor: auto;", 3039 | "value": "" 3040 | }, 3041 | { 3042 | "class": "cursor-default", 3043 | "properties": "cursor: default;", 3044 | "value": "" 3045 | }, 3046 | { 3047 | "class": "cursor-pointer", 3048 | "properties": "cursor: pointer;", 3049 | "value": "" 3050 | }, 3051 | { 3052 | "class": "cursor-wait", 3053 | "properties": "cursor: wait;", 3054 | "value": "" 3055 | }, 3056 | { 3057 | "class": "cursor-move", 3058 | "properties": "cursor: move;", 3059 | "value": "" 3060 | }, 3061 | { 3062 | "class": "cursor-not-allowed", 3063 | "properties": "cursor: not-allowed;", 3064 | "value": "" 3065 | } 3066 | ] 3067 | }, 3068 | { 3069 | "title": "Outline", 3070 | "url": "https://tailwindcss-v0.netlify.app//docs/outline", 3071 | "description": "Utilities for controlling an element's outline.", 3072 | "table": [ 3073 | { 3074 | "class": "outline-none", 3075 | "properties": "outline: 0;", 3076 | "value": "" 3077 | } 3078 | ] 3079 | }, 3080 | { 3081 | "title": "Pointer Events", 3082 | "url": "https://tailwindcss-v0.netlify.app//docs/pointer-events", 3083 | "description": "Utilities for controlling whether an element responds to pointer events.", 3084 | "table": [ 3085 | { 3086 | "class": "pointer-events-none", 3087 | "properties": "pointer-events: none;", 3088 | "value": "" 3089 | }, 3090 | { 3091 | "class": "pointer-events-auto", 3092 | "properties": "pointer-events: auto;", 3093 | "value": "" 3094 | } 3095 | ] 3096 | }, 3097 | { 3098 | "title": "Resize", 3099 | "url": "https://tailwindcss-v0.netlify.app//docs/resize", 3100 | "description": "Utilities for controlling how an element can be resized.", 3101 | "table": [ 3102 | { 3103 | "class": "resize-none", 3104 | "properties": "resize: none;", 3105 | "value": "" 3106 | }, 3107 | { 3108 | "class": "resize", 3109 | "properties": "resize: both;", 3110 | "value": "" 3111 | }, 3112 | { 3113 | "class": "resize-y", 3114 | "properties": "resize: vertical;", 3115 | "value": "" 3116 | }, 3117 | { 3118 | "class": "resize-x", 3119 | "properties": "resize: horizontal;", 3120 | "value": "" 3121 | } 3122 | ] 3123 | }, 3124 | { 3125 | "title": "User Select", 3126 | "url": "https://tailwindcss-v0.netlify.app//docs/user-select", 3127 | "description": "Utilities for controlling whether the user can select text in an element.", 3128 | "table": [ 3129 | { 3130 | "class": "select-none", 3131 | "properties": "user-select: none;", 3132 | "value": "" 3133 | }, 3134 | { 3135 | "class": "select-text", 3136 | "properties": "user-select: text;", 3137 | "value": "" 3138 | } 3139 | ] 3140 | } 3141 | ] 3142 | }, 3143 | { 3144 | "title": "SVG", 3145 | "children": [ 3146 | { 3147 | "title": "Fill & Stroke", 3148 | "url": "https://tailwindcss-v0.netlify.app//docs/svg", 3149 | "description": "Utilities for styling SVG elements.", 3150 | "table": [ 3151 | { 3152 | "class": "fill-current", 3153 | "properties": "fill: currentColor;", 3154 | "value": "" 3155 | }, 3156 | { 3157 | "class": "stroke-current", 3158 | "properties": "stroke: currentColor;", 3159 | "value": "" 3160 | } 3161 | ] 3162 | } 3163 | ] 3164 | } 3165 | ] --------------------------------------------------------------------------------