diff --git a/.changeset/white-outline-tabs.md b/.changeset/white-outline-tabs.md new file mode 100644 index 00000000..3504c13d --- /dev/null +++ b/.changeset/white-outline-tabs.md @@ -0,0 +1,7 @@ +--- +"@tailor-platform/app-shell": patch +--- + +Button `outline` now has a transparent background (like Input) instead of `--background`, and no shadow, so it no longer shows up as a slightly gray fill on white surfaces such as `Card`. The `cream` and `bloom` themes no longer need their own transparent override for outline buttons, so those rules are removed. + +Tabs `capsule` uses a translucent black track (`bg-black/5`) instead of `--background`, and the active capsule tab uses `--card` (white in light mode, a slightly lighter `bg-input/60` in dark mode) instead of a tinted `bg-primary/10`, so it no longer follows the theme colour. diff --git a/packages/core/__snapshots__/src__components__button__button.test.tsx.snap b/packages/core/__snapshots__/src__components__button__button.test.tsx.snap index c172b731..35133987 100644 --- a/packages/core/__snapshots__/src__components__button__button.test.tsx.snap +++ b/packages/core/__snapshots__/src__components__button__button.test.tsx.snap @@ -16,7 +16,7 @@ exports[`Button > snapshots > large size 1`] = `""`; -exports[`Button > snapshots > outline variant 1`] = `""`; +exports[`Button > snapshots > outline variant 1`] = `""`; exports[`Button > snapshots > secondary variant 1`] = `""`; diff --git a/packages/core/__snapshots__/src__components__tabs__tabs.test.tsx.snap b/packages/core/__snapshots__/src__components__tabs__tabs.test.tsx.snap index b0c937d6..ef132212 100644 --- a/packages/core/__snapshots__/src__components__tabs__tabs.test.tsx.snap +++ b/packages/core/__snapshots__/src__components__tabs__tabs.test.tsx.snap @@ -1,14 +1,14 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Tabs > snapshots > capsule variant 1`] = `"
Content 1
"`; +exports[`Tabs > snapshots > capsule variant 1`] = `"
Content 1
"`; -exports[`Tabs > snapshots > capsule variant with icon-only tabs (square) 1`] = `"
Table content
"`; +exports[`Tabs > snapshots > capsule variant with icon-only tabs (square) 1`] = `"
Table content
"`; -exports[`Tabs > snapshots > capsule variant with lg size 1`] = `"
Content 1
"`; +exports[`Tabs > snapshots > capsule variant with lg size 1`] = `"
Content 1
"`; -exports[`Tabs > snapshots > capsule variant with sm size 1`] = `"
Content 1
"`; +exports[`Tabs > snapshots > capsule variant with sm size 1`] = `"
Content 1
"`; -exports[`Tabs > snapshots > capsule variant with xs size 1`] = `"
Content 1
"`; +exports[`Tabs > snapshots > capsule variant with xs size 1`] = `"
Content 1
"`; exports[`Tabs > snapshots > default tabs 1`] = `"
Content 1
"`; diff --git a/packages/core/src/assets/themes/bloom.css b/packages/core/src/assets/themes/bloom.css index 2835473a..4c158d4b 100644 --- a/packages/core/src/assets/themes/bloom.css +++ b/packages/core/src/assets/themes/bloom.css @@ -146,15 +146,9 @@ html background-color: transparent; } -html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"], html [data-slot="data-table-filter-chip"] { background-color: transparent; transition: background-color 0.12s ease, color 0.12s ease; } - -html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"]:hover:not(:disabled) { - background-color: var(--accent); - color: var(--accent-foreground); -} diff --git a/packages/core/src/assets/themes/cream.css b/packages/core/src/assets/themes/cream.css index 3d582870..43a9290f 100644 --- a/packages/core/src/assets/themes/cream.css +++ b/packages/core/src/assets/themes/cream.css @@ -146,15 +146,9 @@ html background-color: transparent; } -html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"], html [data-slot="data-table-filter-chip"] { background-color: transparent; transition: background-color 0.12s ease, color 0.12s ease; } - -html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"]:hover:not(:disabled) { - background-color: var(--accent); - color: var(--accent-foreground); -} diff --git a/packages/core/src/components/button/button.tsx b/packages/core/src/components/button/button.tsx index a99167cb..2ff243ac 100644 --- a/packages/core/src/components/button/button.tsx +++ b/packages/core/src/components/button/button.tsx @@ -16,7 +16,7 @@ const buttonVariants = cva( destructive: "astw:bg-destructive astw:text-white astw:shadow-xs astw:hover:bg-destructive/90 astw:focus-visible:ring-destructive/20 astw:dark:focus-visible:ring-destructive/40 astw:dark:bg-destructive/60", outline: - "astw:border astw:border-border astw:bg-background astw:shadow-xs astw:hover:bg-accent astw:hover:text-accent-foreground astw:dark:bg-input/30 astw:dark:border-input astw:dark:hover:bg-input/50", + "astw:border astw:border-border astw:bg-transparent astw:hover:bg-accent astw:hover:text-accent-foreground astw:dark:bg-input/30 astw:dark:border-input astw:dark:hover:bg-input/50", secondary: "astw:bg-secondary astw:text-secondary-foreground astw:shadow-xs astw:hover:bg-secondary/80", ghost: diff --git a/packages/core/src/components/tabs/tabs.tsx b/packages/core/src/components/tabs/tabs.tsx index f240f966..a5657bed 100644 --- a/packages/core/src/components/tabs/tabs.tsx +++ b/packages/core/src/components/tabs/tabs.tsx @@ -9,14 +9,14 @@ type TabsSize = "xs" | "sm" | "default" | "lg"; const LIST_VARIANT_CLASSES: Record = { line: "astw:h-9 astw:gap-2", - capsule: "astw:gap-0.5 astw:rounded-md astw:bg-background astw:dark:bg-input/30 astw:p-1", + capsule: "astw:gap-0.5 astw:rounded-md astw:bg-black/5 astw:dark:bg-input/30 astw:p-1", default: "astw:text-muted-foreground astw:h-9 astw:gap-1", }; const TAB_VARIANT_CLASSES: Record = { line: "astw:px-3 astw:py-1.5 astw:-mb-px astw:border-b-2 astw:border-transparent astw:data-active:border-primary astw:data-active:text-foreground", capsule: - "astw:rounded-md astw:px-3 astw:has-[>svg:only-child]:px-0 astw:[&_svg:not([class*='size-'])]:size-4 astw:data-active:bg-primary/10 astw:data-active:text-primary astw:data-active:shadow-sm", + "astw:rounded-md astw:px-3 astw:has-[>svg:only-child]:px-0 astw:[&_svg:not([class*='size-'])]:size-4 astw:data-active:bg-card astw:dark:data-active:bg-input/60 astw:data-active:text-primary astw:data-active:shadow-sm", default: "astw:rounded-md astw:px-3 astw:py-1 astw:data-active:bg-primary/10 astw:data-active:text-primary", };