--- import { illustrationSvg } from '@shared/lib/svg' import DefaultLayout from '@shared/layouts/DefaultLayout.astro' import Icon from '@ui/Icon.astro' import CardStamp from '@ui/CardStamp.astro' import Card from '@ui/Card.astro' import CardBody from '@ui/CardBody.astro' import Prose from '@ui/Prose.astro' import CaptureScript from '@shared/components/CaptureScript.astro' import freeIllustrations from '@data/free-illustrations.json' import illustrationsList from '@data/illustrations.json' import siteData from '@data/site.json' import { requireIndex } from '@shared/lib/array' import PageTitle from '@ui/PageTitle.astro' import DocsLink from '@ui/DocsLink.astro' const autodark = (freeIllustrations as { autodark: Record }).autodark const autodarkEntries = Object.entries(autodark) const firstIllustration = autodarkEntries.length ? requireIndex(autodarkEntries, autodarkEntries.length - 1)[1] : '' const withClass = (svg: string) => illustrationSvg(svg, { classes: 'w-100 h-auto' }) const colors = siteData.colors as Record const skinColors = siteData.skinColors as Record const colorEntries = Object.values(colors) const skinEntries = Object.values(skinColors) const skinFirst = requireIndex(skinEntries, 0) const buyLink = (siteData.illustrations as { buy_link: string }).buy_link const moreCount = illustrationsList.length - 4 const illustrationsData = Object.fromEntries(autodarkEntries.map(([key, svg]) => [key, { svg: withClass(svg) }])) ---
Primary color
{ colorEntries.map((color) => (
)) }
Skin color
{ skinEntries.map((color, i) => (
)) }
Select SVG illustration
{ autodarkEntries.map(([key, svg], i) => (
)) }
{moreCount} more SVG Illustrations

Tabler Illustrations

Access a wide range of SVG illustrations for various projects. Effortlessly customize any illustration to align perfectly with your chosen color scheme!
{ illustrationsList.map((illustration) => ( )) }