diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8dda347..3ceea18 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
# Changelog
-## Unreleased
+## [Unreleased]
+
+### Fixed
+
+- Prevented Escape from dismissing an enclosing dialog while closing an open Combobox popup.
+- Fixed long Tooltip text clipping instead of showing an ellipsis across all style packs.
## [1.0.2] - 2026-07-06
diff --git a/site/src/docs/components/combobox.mdx b/site/src/docs/components/combobox.mdx
index 04864be..1611ec0 100644
--- a/site/src/docs/components/combobox.mdx
+++ b/site/src/docs/components/combobox.mdx
@@ -85,6 +85,8 @@ Combobox is input-first. The visible input filters the list; the hidden input st
+Pressing Escape in the input closes an open suggestions popup without dismissing an enclosing dialog. Once the popup is closed, press Escape again to dismiss the dialog.
+
### HTML structure
diff --git a/site/src/docs/components/tooltip.mdx b/site/src/docs/components/tooltip.mdx
index 17f1ef8..4359275 100644
--- a/site/src/docs/components/tooltip.mdx
+++ b/site/src/docs/components/tooltip.mdx
@@ -53,6 +53,14 @@ Basecoat tooltips are CSS-only and text-only. This intentionally differs from sh
Default
+### Long text
+
+Tooltips stay on one line and truncate with an ellipsis when the text exceeds the maximum width. This intentionally differs from shadcn/ui's multiline tooltip content.
+
+
+Hover
+
+
### Sides
diff --git a/src/css/components/tooltip.css b/src/css/components/tooltip.css
index c07341c..ee54ac6 100644
--- a/src/css/components/tooltip.css
+++ b/src/css/components/tooltip.css
@@ -4,7 +4,7 @@
@apply relative;
&:before {
- @apply absolute z-[60] w-fit max-w-xs origin-(--transform-origin) scale-95 truncate invisible opacity-0 transition-all pointer-events-none content-[attr(data-tooltip)];
+ @apply absolute block z-[60] w-fit max-w-xs origin-(--transform-origin) scale-95 truncate invisible opacity-0 transition-all pointer-events-none content-[attr(data-tooltip)];
}
&:hover:before {
diff --git a/src/css/styles/luma.css b/src/css/styles/luma.css
index b40dab9..a96fb2e 100644
--- a/src/css/styles/luma.css
+++ b/src/css/styles/luma.css
@@ -1324,7 +1324,7 @@
/* Tooltip */
[data-tooltip]::before {
- @apply bg-foreground text-background inline-flex items-center gap-1.5 rounded-xl px-3 py-1.5 text-xs has-[.kbd]:pe-1.5 [&_.kbd]:relative [&_.kbd]:isolate [&_.kbd]:z-50 [&_.kbd]:rounded-lg;
+ @apply bg-foreground text-background rounded-xl px-3 py-1.5 text-xs;
}
[data-tooltip][data-arrow]::after {
diff --git a/src/css/styles/lyra.css b/src/css/styles/lyra.css
index 87edda1..7c583c8 100644
--- a/src/css/styles/lyra.css
+++ b/src/css/styles/lyra.css
@@ -1327,7 +1327,7 @@
/* Tooltip */
[data-tooltip]::before {
- @apply bg-foreground text-background inline-flex items-center gap-1.5 rounded-none px-3 py-1.5 text-xs has-[.kbd]:pe-1.5 [&_.kbd]:relative [&_.kbd]:isolate [&_.kbd]:z-50 [&_.kbd]:rounded-none;
+ @apply bg-foreground text-background rounded-none px-3 py-1.5 text-xs;
}
[data-tooltip][data-arrow]::after {
diff --git a/src/css/styles/maia.css b/src/css/styles/maia.css
index 9aeb95a..4122462 100644
--- a/src/css/styles/maia.css
+++ b/src/css/styles/maia.css
@@ -1312,7 +1312,7 @@
/* Tooltip */
[data-tooltip]::before {
- @apply bg-foreground text-background inline-flex items-center gap-1.5 rounded-2xl px-3 py-1.5 text-xs has-[.kbd]:pe-1.5 [&_.kbd]:relative [&_.kbd]:isolate [&_.kbd]:z-50 [&_.kbd]:rounded-4xl;
+ @apply bg-foreground text-background rounded-2xl px-3 py-1.5 text-xs;
}
[data-tooltip][data-arrow]::after {
diff --git a/src/css/styles/mira.css b/src/css/styles/mira.css
index 8af2956..556d648 100644
--- a/src/css/styles/mira.css
+++ b/src/css/styles/mira.css
@@ -1321,7 +1321,7 @@
/* Tooltip */
[data-tooltip]::before {
- @apply bg-foreground text-background inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-[.kbd]:pe-1.5 [&_.kbd]:relative [&_.kbd]:isolate [&_.kbd]:z-50 [&_.kbd]:rounded-sm;
+ @apply bg-foreground text-background rounded-md px-3 py-1.5 text-xs;
}
[data-tooltip][data-arrow]::after {
diff --git a/src/css/styles/nova.css b/src/css/styles/nova.css
index cc2eb33..74d8a27 100644
--- a/src/css/styles/nova.css
+++ b/src/css/styles/nova.css
@@ -1335,7 +1335,7 @@
/* Tooltip */
[data-tooltip]::before {
- @apply bg-foreground text-background inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-[.kbd]:pe-1.5 [&_.kbd]:relative [&_.kbd]:isolate [&_.kbd]:z-50 [&_.kbd]:rounded-sm;
+ @apply bg-foreground text-background rounded-md px-3 py-1.5 text-xs;
}
[data-tooltip][data-arrow]::after {
diff --git a/src/css/styles/rhea.css b/src/css/styles/rhea.css
index 66a55d9..e83b7d1 100644
--- a/src/css/styles/rhea.css
+++ b/src/css/styles/rhea.css
@@ -1329,7 +1329,7 @@
/* Tooltip */
[data-tooltip]::before {
- @apply bg-foreground text-background inline-flex items-center gap-1.5 rounded-xl px-3 py-1.5 text-xs has-[.kbd]:pe-1.5 [&_.kbd]:relative [&_.kbd]:isolate [&_.kbd]:z-50 [&_.kbd]:rounded-lg;
+ @apply bg-foreground text-background rounded-xl px-3 py-1.5 text-xs;
}
[data-tooltip][data-arrow]::after {
diff --git a/src/css/styles/sera.css b/src/css/styles/sera.css
index 2200961..dc04e2f 100644
--- a/src/css/styles/sera.css
+++ b/src/css/styles/sera.css
@@ -1345,7 +1345,7 @@
/* Tooltip */
[data-tooltip]::before {
- @apply bg-foreground text-background inline-flex items-center gap-1.5 rounded-none px-3 py-1.5 text-xs has-[.kbd]:pe-1.5 [&_.kbd]:relative [&_.kbd]:isolate [&_.kbd]:z-50 [&_.kbd]:rounded-none;
+ @apply bg-foreground text-background rounded-none px-3 py-1.5 text-xs;
}
[data-tooltip][data-arrow]::after {
diff --git a/src/css/styles/vega.css b/src/css/styles/vega.css
index 6c16e71..63f2630 100644
--- a/src/css/styles/vega.css
+++ b/src/css/styles/vega.css
@@ -1334,7 +1334,7 @@
/* Tooltip */
[data-tooltip]::before {
- @apply bg-foreground text-background inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-[.kbd]:pe-1.5 [&_.kbd]:relative [&_.kbd]:isolate [&_.kbd]:z-50 [&_.kbd]:rounded-sm;
+ @apply bg-foreground text-background rounded-md px-3 py-1.5 text-xs;
}
[data-tooltip][data-arrow]::after {
diff --git a/src/js/combobox.js b/src/js/combobox.js
index 10f727c..5976b75 100644
--- a/src/js/combobox.js
+++ b/src/js/combobox.js
@@ -390,7 +390,11 @@
}
if (event.key === 'Escape') {
- root.close(true);
+ if (isOpen) {
+ event.preventDefault();
+ event.stopPropagation();
+ root.close(true);
+ }
return;
}