` | Grid container that stacks direct `Tabs.Panel` children |
+| `Tabs.Panel` | `
` | `role="tabpanel"`; hidden when inactive |
All parts accept `xstyle`. Parts other than `Tabs.Root` also accept a `render` prop for polymorphic
rendering and standard HTML attributes. `Tabs.Root` renders a column container inside the primitive's
context provider so the list and panels stack regardless of the surrounding layout.
-The selection indicator uses a short CSS transition and disables its motion when the user prefers
-reduced motion.
+The underline under the selected tab is `.cl-tabs-indicator`. Style that class to restyle the
+selection. It slides between tabs where the browser supports animating CSS anchor positioning, and
+sits still under the selected tab elsewhere or when the user prefers reduced motion.
`Tabs.Panels` places its direct panels in one grid cell. Pair it with force-mounted panels and the
tabs primitive's transition attributes when a theme needs to animate outgoing and incoming panels.
diff --git a/packages/swingset/src/stories/tabs.component.stories.tsx b/packages/swingset/src/stories/tabs.component.stories.tsx
index 4d982bffc67..967aee97215 100644
--- a/packages/swingset/src/stories/tabs.component.stories.tsx
+++ b/packages/swingset/src/stories/tabs.component.stories.tsx
@@ -18,7 +18,6 @@ export function Default() {
Account
Security
Notifications
-
Manage your account details.
diff --git a/packages/swingset/src/stories/tabs.mdx b/packages/swingset/src/stories/tabs.mdx
index b06dc1f2eb2..4ac877c489a 100644
--- a/packages/swingset/src/stories/tabs.mdx
+++ b/packages/swingset/src/stories/tabs.mdx
@@ -4,7 +4,7 @@ import * as TabsStories from './tabs.stories';
A set of layered sections where one panel is shown at a time, selected from a row of tabs.
It is a **headless** primitive: it supplies behavior, active-tab
-state, roving-tabindex keyboard navigation, an optional position-tracking indicator, and
+state, roving-tabindex keyboard navigation, an optional indicator element, and
ARIA wiring, but ships **no styles** — you bring your own CSS by targeting the `data-*`
attributes each part emits.
@@ -57,7 +57,7 @@ const [value, setValue] = useState('tab1');
| `Tabs.Tab` | `