From 108398cb134be56b9f092d4f319bd70db31e3911 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 30 Jul 2026 20:57:42 +0200 Subject: [PATCH] (feat): improve secret and tensamin theme --- package.json | 2 +- src/theme/presets.ts | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index e7c20f7..2f0c12c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@methanium/ui", - "version": "0.0.17", + "version": "0.0.18", "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts", diff --git a/src/theme/presets.ts b/src/theme/presets.ts index f9868d9..0dbd60f 100644 --- a/src/theme/presets.ts +++ b/src/theme/presets.ts @@ -126,7 +126,7 @@ export const BUILT_IN_THEMES = defineThemes([ background-color: color-mix(in oklch, var(--secondary) 86%, var(--secondary-foreground)); } :root[data-theme="tensamin"] [data-slot="button"][data-variant="subtleDefault"], -:root[data-theme="tensamin"] [data-slot][data-variant="destructive"] { +:root[data-theme="tensamin"] [data-slot]:not([data-slot="select-item"])[data-variant="destructive"] { background-clip: border-box; border-color: transparent; box-shadow: var(--tensamin-outline-shadow); @@ -135,7 +135,7 @@ export const BUILT_IN_THEMES = defineThemes([ background-color: color-mix(in oklch, var(--primary) 10%, transparent); box-shadow: var(--tensamin-subtle-shadow); } -:root[data-theme="tensamin"] [data-slot][data-variant="destructive"] { +:root[data-theme="tensamin"] [data-slot]:not([data-slot="select-item"])[data-variant="destructive"] { background-color: color-mix(in oklch, var(--background) 86%, var(--destructive)); box-shadow: var(--tensamin-destructive-shadow); color: var(--destructive); @@ -144,15 +144,15 @@ export const BUILT_IN_THEMES = defineThemes([ background-color: color-mix(in oklch, var(--primary) 10%, transparent); background-image: linear-gradient(var(--tensamin-outline-hover), var(--tensamin-outline-hover)); } -:root[data-theme="tensamin"] [data-slot][data-variant="destructive"]:is(:hover, :focus, [aria-expanded="true"], [data-highlighted]) { +:root[data-theme="tensamin"] [data-slot]:not([data-slot="select-item"])[data-variant="destructive"]:is(:hover, :focus, [aria-expanded="true"], [data-highlighted]) { background-color: color-mix(in oklch, var(--background) 76%, var(--destructive)); } :root[data-theme="tensamin"] [data-slot="button"][data-variant="subtleDefault"]:active, -:root[data-theme="tensamin"] [data-slot][data-variant="destructive"]:active { +:root[data-theme="tensamin"] [data-slot]:not([data-slot="select-item"])[data-variant="destructive"]:active { background-image: linear-gradient(var(--tensamin-outline-pressed), var(--tensamin-outline-pressed)); } :root[data-theme="tensamin"] [data-slot="button"][data-variant="subtleDefault"]:focus-visible, -:root[data-theme="tensamin"] [data-slot][data-variant="destructive"]:focus-visible { +:root[data-theme="tensamin"] [data-slot]:not([data-slot="select-item"])[data-variant="destructive"]:focus-visible { outline: 2px solid var(--ring); outline-offset: 2.5px; } @@ -619,11 +619,18 @@ export const BUILT_IN_THEMES = defineThemes([ :root[data-theme="secret"] [data-slot="card"] { background: var(--card); } -:root[data-theme="secret"] :where([data-slot="button"], [data-slot="badge"], [data-slot="toggle"])[data-variant="outline"] { +:root[data-theme="secret"] :where([data-slot="button"][data-variant="outline"], [data-slot="button"][data-variant="link"], [data-slot="badge"][data-variant="outline"], [data-slot="toggle"][data-variant="outline"]) { background-color: var(--secondary); border-color: transparent; color: var(--secondary-foreground); } +:root[data-theme="secret"] [data-slot="button"][data-variant="link"] { + background-image: none; +} +:root[data-theme="secret"] [data-slot="button"][data-variant="link"]:hover { + background-color: var(--secondary); + background-image: none; +} :root[data-theme="secret"] [data-slot="button"][data-variant="outline"]:hover { background-color: color-mix(in srgb, #5e244e 82%, #24120c 18%); border-color: transparent; @@ -642,7 +649,7 @@ export const BUILT_IN_THEMES = defineThemes([ background-color: color-mix(in srgb, var(--secondary) 82%, #fffaf2 18%); border-color: transparent; } -:root.dark[data-theme="secret"] :where([data-slot="button"], [data-slot="badge"], [data-slot="toggle"])[data-variant="outline"] { +:root.dark[data-theme="secret"] :where([data-slot="button"][data-variant="outline"], [data-slot="button"][data-variant="link"], [data-slot="badge"][data-variant="outline"], [data-slot="toggle"][data-variant="outline"]) { background-color: #5e244e; border-color: transparent; color: #ffe8b4;