Skip to content
Back to skills

Lynx Ui Tab Group

ASecurity

`@lynx-js/lynx-ui-tab-group` provides composable tab-navigation primitives: `TabsRoot`, `TabsBar`, `TabsItem`, `TabsIndicator`, and the optional swipeable `TabsPanel`.

  • 119 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 21, 2026
design

Security analysis

A100/100

Pro scans all 19 files and shows the line behind each finding

Scanned October 1, 2026

npx -y skills add lynx-family/lynx-ui --skill lynx-ui-tab-group --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lynx Ui Tab Group?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lynx Ui Tab Group
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lynx-family-lynx-ui-tab-group/badge)](https://www.skillsdirectory.com/skills/lynx-family-lynx-ui-tab-group)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# lynx-ui TabGroup SKILL

## Core Capabilities

`@lynx-js/lynx-ui-tab-group` provides composable tab-navigation primitives: `TabsRoot`, `TabsBar`, `TabsItem`, `TabsIndicator`, and the optional swipeable `TabsPanel`.

## Minimal Usable Example

```tsx
import { TabsBar, TabsIndicator, TabsItem, TabsPanel, TabsRoot } from '@lynx-js/lynx-ui'

const tabs = ['Home', 'Profile']

<TabsRoot>
  <TabsBar data={tabs} renderTabItem={item => (
    <TabsItem>
      <text>{item}</text>
    </TabsItem>
  )}>
    <TabsIndicator />
  </TabsBar>
  <TabsPanel data={pages} getItemKey={page => page.id}>
    {page => <Page page={page} />}
  </TabsPanel>
</TabsRoot>
```

`TabsPanel` is optional. It uses ViewPager's data and render-function contract
and creates native page items internally. Omit it when coordinating content
elsewhere through `onTabChanged`.

## Recommended Prompt Formula

Describe the tab-navigation scenario, the tab data and stable keys, the desired
layout and visual treatment, and whether content should use the synchronized
`TabsPanel` or be coordinated through callbacks.

## Best Practices

- Provide `getTabKey` with a stable, unique value when tabs can be inserted, removed, or reordered.
- Render `TabsIndicator` as a child of `TabsBar`.
- Use `TabsPanel` for synchronized swipeable content, or `onTabChanged` to coordinate content rendered elsewhere.
- Configure `indicatorAnimation` on `TabsRoot` for custom indicator motion.

Files in this skill

  • CHANGELOG.md111 B
  • LICENSE11.1 KB
  • README.md1.1 KB
  • README_zh.md1.1 KB
  • SKILL.md1 KB
  • docs/README.mdx481 B
  • docs/README.zh.mdx463 B
  • package.json1.2 KB
  • rslib.config.ts338 B
  • src/TabsBar.tsx1.7 KB
  • src/TabsContext.tsx1.6 KB
  • src/TabsIndicator.tsx4.3 KB
  • src/TabsItem.tsx2.9 KB
  • src/TabsRoot.tsx3.2 KB
  • src/index.css156 B
  • src/index.tsx506 B
  • src/types/index.docs.ts5.2 KB
  • src/types/index.ts224 B
  • src/utils/tabsIndicatorAnimation.ts2.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.