Cleaning up folder structure, testing themes

This commit is contained in:
Ronan Berder
2025-04-30 20:45:03 +08:00
parent a2338873b5
commit ba71f2ea79
90 changed files with 478 additions and 433 deletions
+2 -3
View File
@@ -2,9 +2,8 @@ import eleventyLucideicons from "@grimlink/eleventy-plugin-lucide-icons";
import prettier from "prettier";
export default async function(eleventyConfig) {
eleventyConfig.setInputDirectory("./docs");
eleventyConfig.setServerPassthroughCopyBehavior("passthrough");
eleventyConfig.addPassthroughCopy({"./dist/basecoat.css": "./assets/styles.css"});
eleventyConfig.setInputDirectory("./docs/src");
eleventyConfig.addPassthroughCopy({"docs/src/assets": "assets"});
eleventyConfig.addPlugin(eleventyLucideicons);
eleventyConfig.addNunjucksAsyncFilter("prettyHtml", async (code, callback) => {
try {
-136
View File
@@ -1,136 +0,0 @@
:root {
--background: oklch(0.98 0.01 95.10);
--foreground: oklch(0.34 0.03 95.72);
--card: oklch(0.98 0.01 95.10);
--card-foreground: oklch(0.19 0.00 106.59);
--popover: oklch(1.00 0 0);
--popover-foreground: oklch(0.27 0.02 98.94);
--primary: oklch(0.62 0.14 39.04);
--primary-foreground: oklch(1.00 0 0);
--secondary: oklch(0.92 0.01 92.99);
--secondary-foreground: oklch(0.43 0.02 98.60);
--muted: oklch(0.93 0.02 90.24);
--muted-foreground: oklch(0.61 0.01 97.42);
--accent: oklch(0.92 0.01 92.99);
--accent-foreground: oklch(0.27 0.02 98.94);
--destructive: oklch(0.19 0.00 106.59);
--destructive-foreground: oklch(1.00 0 0);
--border: oklch(0.88 0.01 97.36);
--input: oklch(0.76 0.02 98.35);
--ring: oklch(0.59 0.17 253.06);
--chart-1: oklch(0.56 0.13 43.00);
--chart-2: oklch(0.69 0.16 290.41);
--chart-3: oklch(0.88 0.03 93.13);
--chart-4: oklch(0.88 0.04 298.18);
--chart-5: oklch(0.56 0.13 42.06);
--sidebar: oklch(0.97 0.01 98.88);
--sidebar-foreground: oklch(0.36 0.01 106.65);
--sidebar-primary: oklch(0.62 0.14 39.04);
--sidebar-primary-foreground: oklch(0.99 0 0);
--sidebar-accent: oklch(0.92 0.01 92.99);
--sidebar-accent-foreground: oklch(0.33 0 0);
--sidebar-border: oklch(0.94 0 0);
--sidebar-ring: oklch(0.77 0 0);
--radius: 0.5rem;
--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
--shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 4px 6px -1px hsl(0 0% 0% / 0.10);
--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 8px 10px -1px hsl(0 0% 0% / 0.10);
--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25);
}
.dark {
--background: oklch(0.27 0.00 106.64);
--foreground: oklch(0.81 0.01 93.01);
--card: oklch(0.27 0.00 106.64);
--card-foreground: oklch(0.98 0.01 95.10);
--popover: oklch(0.31 0.00 106.60);
--popover-foreground: oklch(0.92 0.00 106.48);
--primary: oklch(0.67 0.13 38.76);
--primary-foreground: oklch(1.00 0 0);
--secondary: oklch(0.98 0.01 95.10);
--secondary-foreground: oklch(0.31 0.00 106.60);
--muted: oklch(0.22 0.00 106.71);
--muted-foreground: oklch(0.77 0.02 99.07);
--accent: oklch(0.21 0.01 95.42);
--accent-foreground: oklch(0.97 0.01 98.88);
--destructive: oklch(0.64 0.21 25.33);
--destructive-foreground: oklch(1.00 0 0);
--border: oklch(0.36 0.01 106.89);
--input: oklch(0.43 0.01 100.22);
--ring: oklch(0.59 0.17 253.06);
--chart-1: oklch(0.56 0.13 43.00);
--chart-2: oklch(0.69 0.16 290.41);
--chart-3: oklch(0.21 0.01 95.42);
--chart-4: oklch(0.31 0.05 289.32);
--chart-5: oklch(0.56 0.13 42.06);
--sidebar: oklch(0.24 0.00 67.71);
--sidebar-foreground: oklch(0.81 0.01 93.01);
--sidebar-primary: oklch(0.33 0 0);
--sidebar-primary-foreground: oklch(0.99 0 0);
--sidebar-accent: oklch(0.17 0.00 106.62);
--sidebar-accent-foreground: oklch(0.81 0.01 93.01);
--sidebar-border: oklch(0.94 0 0);
--sidebar-ring: oklch(0.77 0 0);
--radius: 0.5rem;
--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
--shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 4px 6px -1px hsl(0 0% 0% / 0.10);
--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 8px 10px -1px hsl(0 0% 0% / 0.10);
--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25);
}
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-chart-1: var(--chart-1);
--color-chart-2: var(--chart-2);
--color-chart-3: var(--chart-3);
--color-chart-4: var(--chart-4);
--color-chart-5: var(--chart-5);
--color-sidebar: var(--sidebar);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar-primary: var(--sidebar-primary);
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
--color-sidebar-accent: var(--sidebar-accent);
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-ring: var(--sidebar-ring);
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
--shadow-2xs: var(--shadow-2xs);
--shadow-xs: var(--shadow-xs);
--shadow-sm: var(--shadow-sm);
--shadow: var(--shadow);
--shadow-md: var(--shadow-md);
--shadow-lg: var(--shadow-lg);
--shadow-xl: var(--shadow-xl);
--shadow-2xl: var(--shadow-2xl);
}
-4
View File
@@ -1,4 +0,0 @@
{
"title": "Basecoat",
"description": "Minimal CSS UI kit for vanilla HTML."
}
+4
View File
@@ -0,0 +1,4 @@
{
"title": "Basecoat",
"description": "shadcn/ui for the rest of us"
}
@@ -35,7 +35,7 @@
</div>
<div class="grid flex-1 text-left text-sm leading-tight">
<span class="truncate font-medium">Basecoat</span>
<span class="truncate text-xs">v0.0.1</span>
<span class="truncate text-xs">v0.1.0</span>
</div>
</a>
<div class="flex flex-col gap-2 px-2 text-sm">
+127 -128
View File
@@ -1,17 +1,18 @@
/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */
/*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter&display=swap");
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
:root, :host {
--font-sans: 'Inter var', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
--color-red-500: oklch(63.7% 0.237 25.331);
--font-sans: 'Inter';
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
--font-mono: 'JetBrains Mono';
--color-amber-50: oklch(98.7% 0.022 95.277);
--color-amber-100: oklch(96.2% 0.059 95.617);
--color-amber-900: oklch(41.4% 0.112 45.904);
--color-amber-950: oklch(27.9% 0.077 45.635);
--color-green-50: oklch(98.2% 0.018 155.826);
--color-green-500: oklch(72.3% 0.219 149.579);
--color-green-600: oklch(62.7% 0.194 149.214);
--color-green-900: oklch(39.3% 0.095 152.535);
--color-green-950: oklch(26.6% 0.065 152.934);
@@ -442,20 +443,6 @@
.min-h-\[350px\] {
min-height: 350px;
}
.scrollbar {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
&::-webkit-scrollbar {
width: var(--scrollbar-width);
}
&::-webkit-scrollbar-track {
background: var(--scrollbar-track);
}
&::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb);
border-radius: var(--scrollbar-radius);
}
}
.w-1\/2 {
width: calc(1/2 * 100%);
}
@@ -879,7 +866,7 @@
color: var(--color-sidebar-foreground);
}
.text-sidebar-foreground\/70 {
color: color-mix(in srgb, var(--sidebar-foreground) 70%, transparent);
color: var(--color-sidebar-foreground);
@supports (color: color-mix(in lab, red, red)) {
color: color-mix(in oklab, var(--color-sidebar-foreground) 70%, transparent);
}
@@ -1052,7 +1039,7 @@
.hover\:bg-accent\/50 {
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--accent) 50%, transparent);
background-color: var(--color-accent);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);
}
@@ -1062,7 +1049,7 @@
.hover\:bg-destructive\/10 {
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--destructive) 10%, transparent);
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);
}
@@ -1113,7 +1100,7 @@
}
.focus\:bg-destructive\/10 {
&:focus {
background-color: color-mix(in srgb, var(--destructive) 10%, transparent);
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);
}
@@ -1154,7 +1141,7 @@
}
.focus-visible\:ring-ring\/50 {
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -1254,45 +1241,45 @@
}
}
.dark\:border-amber-950 {
&:where(.dark, .dark *) {
&:is(.dark *) {
border-color: var(--color-amber-950);
}
}
.dark\:bg-amber-950 {
&:where(.dark, .dark *) {
&:is(.dark *) {
background-color: var(--color-amber-950);
}
}
.dark\:text-amber-100 {
&:where(.dark, .dark *) {
&:is(.dark *) {
color: var(--color-amber-100);
}
}
.dark\:checked\:border-blue-700 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:checked {
border-color: var(--color-blue-700);
}
}
}
.dark\:checked\:bg-blue-600 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:checked {
background-color: var(--color-blue-600);
}
}
}
.dark\:checked\:bg-blue-700 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:checked {
background-color: var(--color-blue-700);
}
}
}
.dark\:checked\:bg-input\/30 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:checked {
background-color: color-mix(in srgb, var(--input) 30%, transparent);
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
}
@@ -1300,7 +1287,7 @@
}
}
.dark\:checked\:before\:bg-primary {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:checked {
&::before {
content: var(--tw-content);
@@ -1310,10 +1297,10 @@
}
}
.dark\:hover\:bg-destructive\/20 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--destructive) 20%, transparent);
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
@@ -1322,9 +1309,9 @@
}
}
.dark\:focus\:bg-destructive\/20 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:focus {
background-color: color-mix(in srgb, var(--destructive) 20%, transparent);
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
@@ -1332,28 +1319,28 @@
}
}
.dark\:has-\[input\[type\=\'checkbox\'\]\:checked\]\:border-blue-900 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:has(*:is(input[type='checkbox']:checked)) {
border-color: var(--color-blue-900);
}
}
}
.dark\:has-\[input\[type\=\'checkbox\'\]\:checked\]\:bg-blue-950 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:has(*:is(input[type='checkbox']:checked)) {
background-color: var(--color-blue-950);
}
}
}
.dark\:has-\[input\[type\=\'radio\'\]\:checked\]\:border-green-900 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:has(*:is(input[type='radio']:checked)) {
border-color: var(--color-green-900);
}
}
}
.dark\:has-\[input\[type\=\'radio\'\]\:checked\]\:bg-green-950 {
&:where(.dark, .dark *) {
&:is(.dark *) {
&:has(*:is(input[type='radio']:checked)) {
background-color: var(--color-green-950);
}
@@ -1710,7 +1697,7 @@
@layer base {
* {
border-color: var(--color-border);
outline-color: color-mix(in srgb, var(--ring) 50%, transparent);
outline-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
outline-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -1725,8 +1712,20 @@
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
}
@layer utilities {
.scrollbar {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
&::-webkit-scrollbar {
width: var(--scrollbar-width);
}
&::-webkit-scrollbar-track {
background: var(--scrollbar-track);
}
&::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb);
border-radius: var(--scrollbar-radius);
}
}
[x-cloak] {
display: none !important;
}
@@ -1851,7 +1850,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -1866,14 +1865,14 @@
border-color: var(--color-destructive);
}
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
@@ -1934,14 +1933,14 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--primary) 90%, transparent);
background-color: var(--color-primary);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);
}
}
}
&[aria-pressed='true'] {
background-color: color-mix(in srgb, var(--primary) 90%, transparent);
background-color: var(--color-primary);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);
}
@@ -1953,7 +1952,7 @@
--tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
&:hover, &[aria-pressed='true'] {
background-color: color-mix(in srgb, var(--secondary) 80%, transparent);
background-color: var(--color-secondary);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);
}
@@ -1965,11 +1964,11 @@
background-color: var(--color-background);
--tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
&:where(.dark, .dark *) {
&:is(.dark *) {
border-color: var(--color-input);
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--input) 30%, transparent);
&:is(.dark *) {
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
}
@@ -1977,8 +1976,8 @@
&:hover, &[aria-pressed='true'] {
background-color: var(--color-accent);
color: var(--color-accent-foreground);
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--accent) 50%, transparent);
&:is(.dark *) {
background-color: var(--color-accent);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);
}
@@ -1989,8 +1988,8 @@
&:hover, &[aria-pressed='true'] {
background-color: var(--color-accent);
color: var(--color-accent-foreground);
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--accent) 50%, transparent);
&:is(.dark *) {
background-color: var(--color-accent);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);
}
@@ -2014,32 +2013,32 @@
--tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--destructive) 60%, transparent);
&:is(.dark *) {
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
}
}
&:hover, &[aria-pressed='true'] {
background-color: color-mix(in srgb, var(--destructive) 90%, transparent);
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--destructive) 50%, transparent);
&:is(.dark *) {
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);
}
@@ -2077,7 +2076,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -2086,14 +2085,14 @@
border-color: var(--color-destructive);
}
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
@@ -2114,7 +2113,7 @@
a& {
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--primary) 90%, transparent);
background-color: var(--color-primary);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);
}
@@ -2129,7 +2128,7 @@
a& {
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--secondary) 90%, transparent);
background-color: var(--color-secondary);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-secondary) 90%, transparent);
}
@@ -2142,20 +2141,20 @@
background-color: var(--color-destructive);
color: var(--color-white);
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--destructive) 60%, transparent);
&:is(.dark *) {
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
@@ -2164,7 +2163,7 @@
a& {
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--destructive) 90%, transparent);
background-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);
}
@@ -2274,7 +2273,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -2289,25 +2288,25 @@
border-color: var(--color-destructive);
}
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--input) 30%, transparent);
&:is(.dark *) {
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&:checked {
background-color: var(--color-primary);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
@@ -2585,8 +2584,8 @@
font-size: var(--text-sm);
line-height: var(--tw-leading, var(--text-sm--line-height));
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--input) 30%, transparent);
&:is(.dark *) {
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
}
@@ -2599,7 +2598,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -2608,14 +2607,14 @@
border-color: var(--color-destructive);
}
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
@@ -2944,7 +2943,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -2959,20 +2958,20 @@
border-color: var(--color-destructive);
}
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--input) 30%, transparent);
&:is(.dark *) {
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
@@ -3032,7 +3031,7 @@
background-color: var(--color-background);
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -3058,7 +3057,7 @@
background-color: var(--color-background);
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -3084,7 +3083,7 @@
background-color: var(--color-background);
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -3140,7 +3139,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -3155,30 +3154,30 @@
border-color: var(--color-destructive);
}
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--input) 30%, transparent);
&:is(.dark *) {
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--input) 50%, transparent);
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 50%, transparent);
}
}
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
@@ -3217,7 +3216,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -3232,13 +3231,13 @@
&:checked {
background-color: var(--color-primary);
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--input) 80%, transparent);
&:is(.dark *) {
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 80%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&:checked {
background-color: var(--color-primary);
}
@@ -3280,7 +3279,7 @@
content: var(--tw-content);
background-color: var(--color-background);
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&::before {
content: var(--tw-content);
background-color: var(--color-foreground);
@@ -3292,7 +3291,7 @@
margin-inline-start: calc(var(--spacing) * 3.5);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&:checked {
&::before {
content: var(--tw-content);
@@ -3323,7 +3322,7 @@
tfoot {
border-top-style: var(--tw-border-style);
border-top-width: 1px;
background-color: color-mix(in srgb, var(--muted) 50%, transparent);
background-color: var(--color-muted);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
}
@@ -3344,7 +3343,7 @@
transition-duration: var(--tw-duration, var(--default-transition-duration));
&:hover {
@media (hover: hover) {
background-color: color-mix(in srgb, var(--muted) 50%, transparent);
background-color: var(--color-muted);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
}
@@ -3433,7 +3432,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -3451,7 +3450,7 @@
&:disabled {
opacity: 50%;
}
&:where(.dark, .dark *) {
&:is(.dark *) {
color: var(--color-muted-foreground);
}
& svg {
@@ -3468,16 +3467,16 @@
background-color: var(--color-background);
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
&:where(.dark, .dark *) {
&:is(.dark *) {
border-color: var(--color-input);
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--input) 30%, transparent);
&:is(.dark *) {
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
color: var(--color-foreground);
}
}
@@ -3523,7 +3522,7 @@
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
&:focus-visible {
--tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent);
--tw-ring-color: var(--color-ring);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
}
@@ -3538,7 +3537,7 @@
border-color: var(--color-destructive);
}
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
}
@@ -3547,15 +3546,15 @@
font-size: var(--text-sm);
line-height: var(--tw-leading, var(--text-sm--line-height));
}
&:where(.dark, .dark *) {
background-color: color-mix(in srgb, var(--input) 30%, transparent);
&:is(.dark *) {
background-color: var(--color-input);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
}
}
&:where(.dark, .dark *) {
&:is(.dark *) {
&[aria-invalid="true"] {
--tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent);
--tw-ring-color: var(--color-destructive);
@supports (color: color-mix(in lab, red, red)) {
--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
}
+1 -1
View File
@@ -1,5 +1,5 @@
---
layout: layouts/base.njk
layout: layouts/page.njk
---
What is it?
+13
View File
@@ -0,0 +1,13 @@
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter&display=swap");
@import "tailwindcss";
@source './src/**/*.njk';
@import "basecoat";
@theme {
--font-sans: 'Inter';
--font-mono: 'JetBrains Mono';
}
/* @import "./theme.css"; */
+146
View File
@@ -0,0 +1,146 @@
:root {
--background: oklch(0.94 0.02 345.70);
--foreground: oklch(0.47 0 0);
--card: oklch(0.95 0.05 86.89);
--card-foreground: oklch(0.47 0 0);
--popover: oklch(1.00 0 0);
--popover-foreground: oklch(0.47 0 0);
--primary: oklch(0.62 0.18 348.14);
--primary-foreground: oklch(1.00 0 0);
--secondary: oklch(0.81 0.07 198.19);
--secondary-foreground: oklch(0.32 0 0);
--muted: oklch(0.88 0.05 212.10);
--muted-foreground: oklch(0.58 0 0);
--accent: oklch(0.92 0.08 87.67);
--accent-foreground: oklch(0.32 0 0);
--destructive: oklch(0.71 0.17 21.96);
--destructive-foreground: oklch(1.00 0 0);
--border: oklch(0.62 0.18 348.14);
--input: oklch(0.92 0 0);
--ring: oklch(0.70 0.16 350.75);
--chart-1: oklch(0.70 0.16 350.75);
--chart-2: oklch(0.82 0.08 212.09);
--chart-3: oklch(0.92 0.08 87.67);
--chart-4: oklch(0.80 0.11 348.18);
--chart-5: oklch(0.62 0.19 353.91);
--sidebar: oklch(0.91 0.04 343.09);
--sidebar-foreground: oklch(0.32 0 0);
--sidebar-primary: oklch(0.66 0.21 354.31);
--sidebar-primary-foreground: oklch(1.00 0 0);
--sidebar-accent: oklch(0.82 0.11 346.02);
--sidebar-accent-foreground: oklch(0.32 0 0);
--sidebar-border: oklch(0.95 0.03 307.17);
--sidebar-ring: oklch(0.66 0.21 354.31);
--font-sans: Poppins, sans-serif;
--font-serif: Lora, serif;
--font-mono: Fira Code, monospace;
--radius: 0.4rem;
--shadow-2xs: 3px 3px 0px 0px hsl(325.78 58.18% 56.86% / 0.50);
--shadow-xs: 3px 3px 0px 0px hsl(325.78 58.18% 56.86% / 0.50);
--shadow-sm: 3px 3px 0px 0px hsl(325.78 58.18% 56.86% / 1.00), 3px 1px 2px -1px hsl(325.78 58.18% 56.86% / 1.00);
--shadow: 3px 3px 0px 0px hsl(325.78 58.18% 56.86% / 1.00), 3px 1px 2px -1px hsl(325.78 58.18% 56.86% / 1.00);
--shadow-md: 3px 3px 0px 0px hsl(325.78 58.18% 56.86% / 1.00), 3px 2px 4px -1px hsl(325.78 58.18% 56.86% / 1.00);
--shadow-lg: 3px 3px 0px 0px hsl(325.78 58.18% 56.86% / 1.00), 3px 4px 6px -1px hsl(325.78 58.18% 56.86% / 1.00);
--shadow-xl: 3px 3px 0px 0px hsl(325.78 58.18% 56.86% / 1.00), 3px 8px 10px -1px hsl(325.78 58.18% 56.86% / 1.00);
--shadow-2xl: 3px 3px 0px 0px hsl(325.78 58.18% 56.86% / 2.50);
}
.dark {
--background: oklch(0.25 0.03 234.16);
--foreground: oklch(0.93 0.02 349.08);
--card: oklch(0.29 0.03 233.54);
--card-foreground: oklch(0.93 0.02 349.08);
--popover: oklch(0.29 0.03 233.54);
--popover-foreground: oklch(0.93 0.02 349.08);
--primary: oklch(0.92 0.08 87.67);
--primary-foreground: oklch(0.25 0.03 234.16);
--secondary: oklch(0.78 0.08 4.13);
--secondary-foreground: oklch(0.25 0.03 234.16);
--muted: oklch(0.27 0.01 255.58);
--muted-foreground: oklch(0.78 0.08 4.13);
--accent: oklch(0.67 0.10 356.98);
--accent-foreground: oklch(0.93 0.02 349.08);
--destructive: oklch(0.67 0.18 350.36);
--destructive-foreground: oklch(0.25 0.03 234.16);
--border: oklch(0.39 0.04 242.22);
--input: oklch(0.31 0.03 232.00);
--ring: oklch(0.70 0.09 201.87);
--chart-1: oklch(0.70 0.09 201.87);
--chart-2: oklch(0.78 0.08 4.13);
--chart-3: oklch(0.67 0.10 356.98);
--chart-4: oklch(0.44 0.07 217.08);
--chart-5: oklch(0.27 0.01 255.58);
--sidebar: oklch(0.23 0.03 235.97);
--sidebar-foreground: oklch(0.97 0.00 264.54);
--sidebar-primary: oklch(0.66 0.21 354.31);
--sidebar-primary-foreground: oklch(1.00 0 0);
--sidebar-accent: oklch(0.82 0.11 346.02);
--sidebar-accent-foreground: oklch(0.28 0.03 256.85);
--sidebar-border: oklch(0.37 0.03 259.73);
--sidebar-ring: oklch(0.66 0.21 354.31);
--font-sans: Poppins, sans-serif;
--font-serif: Lora, serif;
--font-mono: Fira Code, monospace;
--radius: 0.4rem;
--shadow-2xs: 3px 3px 0px 0px hsl(206.15 28.06% 27.25% / 0.50);
--shadow-xs: 3px 3px 0px 0px hsl(206.15 28.06% 27.25% / 0.50);
--shadow-sm: 3px 3px 0px 0px hsl(206.15 28.06% 27.25% / 1.00), 3px 1px 2px -1px hsl(206.15 28.06% 27.25% / 1.00);
--shadow: 3px 3px 0px 0px hsl(206.15 28.06% 27.25% / 1.00), 3px 1px 2px -1px hsl(206.15 28.06% 27.25% / 1.00);
--shadow-md: 3px 3px 0px 0px hsl(206.15 28.06% 27.25% / 1.00), 3px 2px 4px -1px hsl(206.15 28.06% 27.25% / 1.00);
--shadow-lg: 3px 3px 0px 0px hsl(206.15 28.06% 27.25% / 1.00), 3px 4px 6px -1px hsl(206.15 28.06% 27.25% / 1.00);
--shadow-xl: 3px 3px 0px 0px hsl(206.15 28.06% 27.25% / 1.00), 3px 8px 10px -1px hsl(206.15 28.06% 27.25% / 1.00);
--shadow-2xl: 3px 3px 0px 0px hsl(206.15 28.06% 27.25% / 2.50);
}
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-chart-1: var(--chart-1);
--color-chart-2: var(--chart-2);
--color-chart-3: var(--chart-3);
--color-chart-4: var(--chart-4);
--color-chart-5: var(--chart-5);
--color-sidebar: var(--sidebar);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar-primary: var(--sidebar-primary);
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
--color-sidebar-accent: var(--sidebar-accent);
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-ring: var(--sidebar-ring);
--font-sans: var(--font-sans);
--font-mono: var(--font-mono);
--font-serif: var(--font-serif);
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
--shadow-2xs: var(--shadow-2xs);
--shadow-xs: var(--shadow-xs);
--shadow-sm: var(--shadow-sm);
--shadow: var(--shadow);
--shadow-md: var(--shadow-md);
--shadow-lg: var(--shadow-lg);
--shadow-xl: var(--shadow-xl);
--shadow-2xl: var(--shadow-2xl);
}
+151 -133
View File
@@ -1,9 +1,13 @@
{
"name": "basecoat",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "basecoat",
"version": "0.1.0",
"license": "MIT",
"devDependencies": {
"@11ty/eleventy": "^3.0.0",
"@grimlink/eleventy-plugin-lucide-icons": "^2.1.4",
@@ -125,9 +129,9 @@
}
},
"node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-2.0.1.tgz",
"integrity": "sha512-hicG0vPyqfLvgHJQLtoh3XAj6wUbLX4yY2se8bQLdhCIcxK46mt4zDpgcrYVP3Sjx4HPifQOdwRfOEECoUcyXQ==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-2.0.5.tgz",
"integrity": "sha512-onKf5DMcS5Ebs5z40XfTFVu1IWFd6ILmtQE9kpduBNKLdA5SnC22JUREMaFzRpvXSo5PnOvlttSpfyh7EDkqag==",
"dev": true,
"license": "MIT",
"engines": {
@@ -139,12 +143,13 @@
}
},
"node_modules/@11ty/eleventy-plugin-bundle": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-3.0.1.tgz",
"integrity": "sha512-mskptUoN7PY+rv7DCH3ZwnvMc9aFBGEHHBjmlu+WGde6ySaa43qsLqjseX6RRijDILxp3EiYQ9XnDmmsSnoqIw==",
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-3.0.6.tgz",
"integrity": "sha512-wlEIMa1SEe6HE6ZyREEnPQiTw72337a2MPkyn0D1IzrqHrKU9euB17mv27LnnnyKvMJamCCqtU0985F5yyDL8g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@11ty/eleventy-utils": "^2.0.2",
"debug": "^4.4.0",
"posthtml-match-helper": "^2.0.3"
},
@@ -156,6 +161,20 @@
"url": "https://opencollective.com/11ty"
}
},
"node_modules/@11ty/eleventy-plugin-bundle/node_modules/@11ty/eleventy-utils": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-2.0.5.tgz",
"integrity": "sha512-onKf5DMcS5Ebs5z40XfTFVu1IWFd6ILmtQE9kpduBNKLdA5SnC22JUREMaFzRpvXSo5PnOvlttSpfyh7EDkqag==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/11ty"
}
},
"node_modules/@11ty/eleventy-utils": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-1.0.3.tgz",
@@ -641,64 +660,65 @@
}
},
"node_modules/@tailwindcss/cli": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/cli/-/cli-4.1.3.tgz",
"integrity": "sha512-irQW1LhBCi8O7OPrDVTyo6IZFqUDukGkcqOIxoU9d7zSOxU5LZQ1EB1KA981xmZpPIIfaowgdia8FSxaQrBonQ==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/cli/-/cli-4.1.4.tgz",
"integrity": "sha512-gP05Qihh+cZ2FqD5fa0WJXx3KEk2YWUYv/RBKAyiOg0V4vYVDr/xlLc0sacpnVEXM45BVUR9U2hsESufYs6YTA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@parcel/watcher": "^2.5.1",
"@tailwindcss/node": "4.1.3",
"@tailwindcss/oxide": "4.1.3",
"@tailwindcss/node": "4.1.4",
"@tailwindcss/oxide": "4.1.4",
"enhanced-resolve": "^5.18.1",
"mri": "^1.2.0",
"picocolors": "^1.1.1",
"tailwindcss": "4.1.3"
"tailwindcss": "4.1.4"
},
"bin": {
"tailwindcss": "dist/index.mjs"
}
},
"node_modules/@tailwindcss/node": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.3.tgz",
"integrity": "sha512-H/6r6IPFJkCfBJZ2dKZiPJ7Ueb2wbL592+9bQEl2r73qbX6yGnmQVIfiUvDRB2YI0a3PWDrzUwkvQx1XW1bNkA==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.4.tgz",
"integrity": "sha512-MT5118zaiO6x6hNA04OWInuAiP1YISXql8Z+/Y8iisV5nuhM8VXlyhRuqc2PEviPszcXI66W44bCIk500Oolhw==",
"dev": true,
"license": "MIT",
"dependencies": {
"enhanced-resolve": "^5.18.1",
"jiti": "^2.4.2",
"lightningcss": "1.29.2",
"tailwindcss": "4.1.3"
"tailwindcss": "4.1.4"
}
},
"node_modules/@tailwindcss/oxide": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.3.tgz",
"integrity": "sha512-t16lpHCU7LBxDe/8dCj9ntyNpXaSTAgxWm1u2XQP5NiIu4KGSyrDJJRlK9hJ4U9yJxx0UKCVI67MJWFNll5mOQ==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.4.tgz",
"integrity": "sha512-p5wOpXyOJx7mKh5MXh5oKk+kqcz8T+bA3z/5VWWeQwFrmuBItGwz8Y2CHk/sJ+dNb9B0nYFfn0rj/cKHZyjahQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 10"
},
"optionalDependencies": {
"@tailwindcss/oxide-android-arm64": "4.1.3",
"@tailwindcss/oxide-darwin-arm64": "4.1.3",
"@tailwindcss/oxide-darwin-x64": "4.1.3",
"@tailwindcss/oxide-freebsd-x64": "4.1.3",
"@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.3",
"@tailwindcss/oxide-linux-arm64-gnu": "4.1.3",
"@tailwindcss/oxide-linux-arm64-musl": "4.1.3",
"@tailwindcss/oxide-linux-x64-gnu": "4.1.3",
"@tailwindcss/oxide-linux-x64-musl": "4.1.3",
"@tailwindcss/oxide-win32-arm64-msvc": "4.1.3",
"@tailwindcss/oxide-win32-x64-msvc": "4.1.3"
"@tailwindcss/oxide-android-arm64": "4.1.4",
"@tailwindcss/oxide-darwin-arm64": "4.1.4",
"@tailwindcss/oxide-darwin-x64": "4.1.4",
"@tailwindcss/oxide-freebsd-x64": "4.1.4",
"@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.4",
"@tailwindcss/oxide-linux-arm64-gnu": "4.1.4",
"@tailwindcss/oxide-linux-arm64-musl": "4.1.4",
"@tailwindcss/oxide-linux-x64-gnu": "4.1.4",
"@tailwindcss/oxide-linux-x64-musl": "4.1.4",
"@tailwindcss/oxide-wasm32-wasi": "4.1.4",
"@tailwindcss/oxide-win32-arm64-msvc": "4.1.4",
"@tailwindcss/oxide-win32-x64-msvc": "4.1.4"
}
},
"node_modules/@tailwindcss/oxide-android-arm64": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.3.tgz",
"integrity": "sha512-cxklKjtNLwFl3mDYw4XpEfBY+G8ssSg9ADL4Wm6//5woi3XGqlxFsnV5Zb6v07dxw1NvEX2uoqsxO/zWQsgR+g==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.4.tgz",
"integrity": "sha512-xMMAe/SaCN/vHfQYui3fqaBDEXMu22BVwQ33veLc8ep+DNy7CWN52L+TTG9y1K397w9nkzv+Mw+mZWISiqhmlA==",
"cpu": [
"arm64"
],
@@ -713,9 +733,9 @@
}
},
"node_modules/@tailwindcss/oxide-darwin-arm64": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.3.tgz",
"integrity": "sha512-mqkf2tLR5VCrjBvuRDwzKNShRu99gCAVMkVsaEOFvv6cCjlEKXRecPu9DEnxp6STk5z+Vlbh1M5zY3nQCXMXhw==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.4.tgz",
"integrity": "sha512-JGRj0SYFuDuAGilWFBlshcexev2hOKfNkoX+0QTksKYq2zgF9VY/vVMq9m8IObYnLna0Xlg+ytCi2FN2rOL0Sg==",
"cpu": [
"arm64"
],
@@ -730,9 +750,9 @@
}
},
"node_modules/@tailwindcss/oxide-darwin-x64": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.3.tgz",
"integrity": "sha512-7sGraGaWzXvCLyxrc7d+CCpUN3fYnkkcso3rCzwUmo/LteAl2ZGCDlGvDD8Y/1D3ngxT8KgDj1DSwOnNewKhmg==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.4.tgz",
"integrity": "sha512-sdDeLNvs3cYeWsEJ4H1DvjOzaGios4QbBTNLVLVs0XQ0V95bffT3+scptzYGPMjm7xv4+qMhCDrkHwhnUySEzA==",
"cpu": [
"x64"
],
@@ -747,9 +767,9 @@
}
},
"node_modules/@tailwindcss/oxide-freebsd-x64": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.3.tgz",
"integrity": "sha512-E2+PbcbzIReaAYZe997wb9rId246yDkCwAakllAWSGqe6VTg9hHle67hfH6ExjpV2LSK/siRzBUs5wVff3RW9w==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.4.tgz",
"integrity": "sha512-VHxAqxqdghM83HslPhRsNhHo91McsxRJaEnShJOMu8mHmEj9Ig7ToHJtDukkuLWLzLboh2XSjq/0zO6wgvykNA==",
"cpu": [
"x64"
],
@@ -764,9 +784,9 @@
}
},
"node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.3.tgz",
"integrity": "sha512-GvfbJ8wjSSjbLFFE3UYz4Eh8i4L6GiEYqCtA8j2Zd2oXriPuom/Ah/64pg/szWycQpzRnbDiJozoxFU2oJZyfg==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.4.tgz",
"integrity": "sha512-OTU/m/eV4gQKxy9r5acuesqaymyeSCnsx1cFto/I1WhPmi5HDxX1nkzb8KYBiwkHIGg7CTfo/AcGzoXAJBxLfg==",
"cpu": [
"arm"
],
@@ -781,9 +801,9 @@
}
},
"node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.3.tgz",
"integrity": "sha512-35UkuCWQTeG9BHcBQXndDOrpsnt3Pj9NVIB4CgNiKmpG8GnCNXeMczkUpOoqcOhO6Cc/mM2W7kaQ/MTEENDDXg==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.4.tgz",
"integrity": "sha512-hKlLNvbmUC6z5g/J4H+Zx7f7w15whSVImokLPmP6ff1QqTVE+TxUM9PGuNsjHvkvlHUtGTdDnOvGNSEUiXI1Ww==",
"cpu": [
"arm64"
],
@@ -798,9 +818,9 @@
}
},
"node_modules/@tailwindcss/oxide-linux-arm64-musl": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.3.tgz",
"integrity": "sha512-dm18aQiML5QCj9DQo7wMbt1Z2tl3Giht54uVR87a84X8qRtuXxUqnKQkRDK5B4bCOmcZ580lF9YcoMkbDYTXHQ==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.4.tgz",
"integrity": "sha512-X3As2xhtgPTY/m5edUtddmZ8rCruvBvtxYLMw9OsZdH01L2gS2icsHRwxdU0dMItNfVmrBezueXZCHxVeeb7Aw==",
"cpu": [
"arm64"
],
@@ -815,9 +835,9 @@
}
},
"node_modules/@tailwindcss/oxide-linux-x64-gnu": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.3.tgz",
"integrity": "sha512-LMdTmGe/NPtGOaOfV2HuO7w07jI3cflPrVq5CXl+2O93DCewADK0uW1ORNAcfu2YxDUS035eY2W38TxrsqngxA==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.4.tgz",
"integrity": "sha512-2VG4DqhGaDSmYIu6C4ua2vSLXnJsb/C9liej7TuSO04NK+JJJgJucDUgmX6sn7Gw3Cs5ZJ9ZLrnI0QRDOjLfNQ==",
"cpu": [
"x64"
],
@@ -832,9 +852,9 @@
}
},
"node_modules/@tailwindcss/oxide-linux-x64-musl": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.3.tgz",
"integrity": "sha512-aalNWwIi54bbFEizwl1/XpmdDrOaCjRFQRgtbv9slWjmNPuJJTIKPHf5/XXDARc9CneW9FkSTqTbyvNecYAEGw==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.4.tgz",
"integrity": "sha512-v+mxVgH2kmur/X5Mdrz9m7TsoVjbdYQT0b4Z+dr+I4RvreCNXyCFELZL/DO0M1RsidZTrm6O1eMnV6zlgEzTMQ==",
"cpu": [
"x64"
],
@@ -848,10 +868,40 @@
"node": ">= 10"
}
},
"node_modules/@tailwindcss/oxide-wasm32-wasi": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.4.tgz",
"integrity": "sha512-2TLe9ir+9esCf6Wm+lLWTMbgklIjiF0pbmDnwmhR9MksVOq+e8aP3TSsXySnBDDvTTVd/vKu1aNttEGj3P6l8Q==",
"bundleDependencies": [
"@napi-rs/wasm-runtime",
"@emnapi/core",
"@emnapi/runtime",
"@tybys/wasm-util",
"@emnapi/wasi-threads",
"tslib"
],
"cpu": [
"wasm32"
],
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"@emnapi/core": "^1.4.0",
"@emnapi/runtime": "^1.4.0",
"@emnapi/wasi-threads": "^1.0.1",
"@napi-rs/wasm-runtime": "^0.2.8",
"@tybys/wasm-util": "^0.9.0",
"tslib": "^2.8.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.3.tgz",
"integrity": "sha512-PEj7XR4OGTGoboTIAdXicKuWl4EQIjKHKuR+bFy9oYN7CFZo0eu74+70O4XuERX4yjqVZGAkCdglBODlgqcCXg==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.4.tgz",
"integrity": "sha512-VlnhfilPlO0ltxW9/BgfLI5547PYzqBMPIzRrk4W7uupgCt8z6Trw/tAj6QUtF2om+1MH281Pg+HHUJoLesmng==",
"cpu": [
"arm64"
],
@@ -866,9 +916,9 @@
}
},
"node_modules/@tailwindcss/oxide-win32-x64-msvc": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.3.tgz",
"integrity": "sha512-T8gfxECWDBENotpw3HR9SmNiHC9AOJdxs+woasRZ8Q/J4VHN0OMs7F+4yVNZ9EVN26Wv6mZbK0jv7eHYuLJLwA==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.4.tgz",
"integrity": "sha512-+7S63t5zhYjslUGb8NcgLpFXD+Kq1F/zt5Xv5qTv7HaFTG/DHyHD9GA6ieNAxhgyA4IcKa/zy7Xx4Oad2/wuhw==",
"cpu": [
"x64"
],
@@ -929,13 +979,16 @@
}
},
"node_modules/ansi-styles": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=12"
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
@@ -1115,22 +1168,6 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/chalk/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/chalk/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -1201,22 +1238,6 @@
"node": ">=8"
}
},
"node_modules/cliui/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/cliui/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -1570,9 +1591,9 @@
}
},
"node_modules/esm-import-transformer": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/esm-import-transformer/-/esm-import-transformer-3.0.2.tgz",
"integrity": "sha512-PgvO0wro44lTDM9pYeeOIfpS0lGF80jA+rjT7sBd3b07rxv1AxeNMEI5kSCqRKke2W6SPEz17W3kHOLjaiD7Cw==",
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/esm-import-transformer/-/esm-import-transformer-3.0.3.tgz",
"integrity": "sha512-Wj9kBIA9vKZRYAQzhe229M7wmWb2f3vTu86CkszZUy2/iiVCYljXm/EkwJtWKc0vup30WHhxbm3rpkysBKczxQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2384,9 +2405,9 @@
}
},
"node_modules/lightningcss/node_modules/detect-libc": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
"integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -2633,9 +2654,9 @@
"license": "BSD-3-Clause"
},
"node_modules/morphdom": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/morphdom/-/morphdom-2.7.4.tgz",
"integrity": "sha512-ATTbWMgGa+FaMU3FhnFYB6WgulCqwf6opOll4CBzmVDTLvPMmUPrEv8CudmLPK0MESa64+6B89fWOxP3+YIlxQ==",
"version": "2.7.5",
"resolved": "https://registry.npmjs.org/morphdom/-/morphdom-2.7.5.tgz",
"integrity": "sha512-z6bfWFMra7kBqDjQGHud1LSXtq5JJC060viEkQFMBX6baIecpkNr2Ywrn2OQfWP3rXiNFQRPoFjD8/TvJcWcDg==",
"dev": true,
"license": "MIT"
},
@@ -2664,15 +2685,15 @@
"license": "MIT"
},
"node_modules/node-retrieve-globals": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/node-retrieve-globals/-/node-retrieve-globals-6.0.0.tgz",
"integrity": "sha512-VoEp6WMN/JcbBrJr6LnFE11kdzpKiBKNPFrHCEK2GgFWtiYpeL85WgcZpZFFnWxAU0O65+b+ipQAy4Oxy/+Pdg==",
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/node-retrieve-globals/-/node-retrieve-globals-6.0.1.tgz",
"integrity": "sha512-j0DeFuZ/Wg3VlklfbxUgZF/mdHMTEiEipBb3q0SpMMbHaV3AVfoUQF8UGxh1s/yjqO0TgRZd4Pi/x2yRqoQ4Eg==",
"dev": true,
"license": "MIT",
"dependencies": {
"acorn": "^8.1.3",
"acorn-walk": "^8.3.2",
"esm-import-transformer": "^3.0.2"
"acorn": "^8.14.1",
"acorn-walk": "^8.3.4",
"esm-import-transformer": "^3.0.3"
}
},
"node_modules/normalize-path": {
@@ -3330,9 +3351,9 @@
}
},
"node_modules/tailwindcss": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.3.tgz",
"integrity": "sha512-2Q+rw9vy1WFXu5cIxlvsabCwhU2qUwodGq03ODhLJ0jW4ek5BUtoCsnLB0qG+m8AHgEsSJcJGDSDe06FXlP74g==",
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.4.tgz",
"integrity": "sha512-1ZIUqtPITFbv/DxRmDr5/agPqJwF69d24m9qmM1939TJehgY539CtzeZRjbLt5G6fSy/7YqqYsfvoTEw9xUI2A==",
"dev": true,
"license": "MIT"
},
@@ -3473,22 +3494,6 @@
"node": ">=8"
}
},
"node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -3524,6 +3529,19 @@
"node": ">=8"
}
},
"node_modules/wrap-ansi/node_modules/ansi-styles": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/ws": {
"version": "8.18.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz",
+18 -4
View File
@@ -1,11 +1,25 @@
{
"name": "basecoat",
"version": "0.1.0",
"description": "shadcn/ui for the rest of us",
"type": "module",
"files": ["src"],
"exports": "./src/basecoat.css",
"keywords": ["tailwind", "tailwindcss", "css", "components"],
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/hunvreus/basecoat.git"
},
"bugs": {
"url": "https://github.com/hunvreus/basecoat/issues"
},
"homepage": "https://github.com/hunvreus/basecoat#readme",
"scripts": {
"css:dev": "tailwindcss -i ./dist/basecoat.tailwind.css -o ./dist/basecoat.css --watch",
"css:build": "tailwindcss -i ./dist/basecoat.tailwind.css -o ./dist/basecoat.css --minify",
"css:dev": "tailwindcss -i ./docs/styles.css -o ./docs/src/assets/styles.css --watch",
"eleventy:serve": "eleventy --serve",
"dev": "concurrently \"npm:css:dev\" \"npm:eleventy:serve\"",
"build": "npm run css:build & eleventy"
"build": "tailwindcss -i ./docs/styles.css -o ./docs/src/assets/styles.css --minify && eleventy"
},
"devDependencies": {
"@11ty/eleventy": "^3.0.0",
@@ -15,4 +29,4 @@
"prettier": "^3.5.3",
"tailwindcss": "^4.1.3"
}
}
}
+15 -21
View File
@@ -1,5 +1,3 @@
@import "tailwindcss";
@custom-variant dark (&:is(.dark *));
:root {
@@ -121,8 +119,8 @@
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-ring: var(--sidebar-ring);
--font-sans: 'Inter var', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
/* --font-sans: 'Inter var', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; */
}
@layer base {
@@ -135,25 +133,21 @@
body {
@apply bg-background text-foreground overscroll-none antialiased;
}
}
.scrollbar {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
@utility scrollbar {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
&::-webkit-scrollbar {
width: var(--scrollbar-width);
&::-webkit-scrollbar {
width: var(--scrollbar-width);
}
&::-webkit-scrollbar-track {
background: var(--scrollbar-track);
}
&::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb);
border-radius: var(--scrollbar-radius);
}
}
&::-webkit-scrollbar-track {
background: var(--scrollbar-track);
}
&::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb);
border-radius: var(--scrollbar-radius);
}
}
@layer utilities {
/* Alpine.js */
[x-cloak] {
display: none !important;
-2
View File
File diff suppressed because one or more lines are too long