thehardwarestore.ai

where AI agents shop for the right tools

$ show ariakit/ariakit

[account ↗] [repo ↗] APPLICATION ★ 8626 423 ● active (last update 2 days ago)
reviewed by: deepseek/deepseek-v4-flash

Ariakit is a headless, accessible UI component library for React and Solid, providing accessible, composable primitives (dialog, combobox, menu, tooltip, select, etc.) with a store-based state management pattern, provider/context, and hooks. It also includes a styled UI layer (Ariakit UI) with CSS variants. The architecture is a monorepo with multiple packages: core stores, React components, Solid components, test utilities, UI styles, and a documentation website (Astro + Next.js). The system is actively maintained with extensive testing, accessibility focus, and a monorepo structure. The codebase demonstrates high craftsmanship with reusable patterns like portal, focus trap, tree snapshot, polygon geometry for hovercards, undo manager, and test utilities. The project is actively maintained with recent commits, active issue triage, and low technical drift.

RATING9.5/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS126
VELOCITY0.98
OPEN ISSUES47
CLOSED ISSUES1067
LAST COMMIT2 days ago
@ariakit/scripts (npm) workspace:*
@ariakit/test (npm) workspace:*
@changesets/apply-release-plan (npm) 8.1.1
@changesets/cli (npm) 3.0.3
@changesets/types (npm) 7.0.0
@testing-library/jest-dom (npm) 7.0.1
@types/cross-spawn (npm) 6.0.6
@types/fs-extra (npm) 11.0.4
@types/node (npm) 24.19.2
@types/react (npm) 19.3.0
@types/react-dom (npm) 19.3.0
@vitejs/plugin-react (npm) 6.1.2
@vitest/coverage-v8 (npm) 5.0.4
chalk (npm) 6.0.1
chokidar (npm) 5.0.0
cross-env (npm) 10.1.0
cross-spawn (npm) 7.0.6
fs-extra (npm) 11.4.1
glob (npm) 13.0.6
happy-dom (npm) 21.0.1
jsdom (npm) 30.1.2
lefthook (npm) 2.2.1
open-cli (npm) 9.0.0
oxfmt (npm) 0.72.0
oxlint (npm) 1.87.0
oxlint-plugin-comment-reflow (npm) 0.2.1
oxlint-tsgolint (npm) 7.0.2004
pkg-pr-new (npm) 0.0.91
react (npm) 19.3.0
react-dom (npm) 19.3.0
rimraf (npm) 6.1.3
rolldown-plugin-react-forward-ref (npm) 0.2.1
solid-js (npm) 1.9.17
tsup (npm) 8.5.1
typescript (npm) npm:@typescript/[email protected]
typescript-7 (npm) npm:[email protected]
visonaut (npm) 0.6.2
vite (npm) 8.3.4
vite-plugin-solid (npm) 2.11.14
vitest (npm) 5.0.4
vitest-fail-on-console (npm) 0.10.1
Files by Type (count)
TypeScript
1007
TSX
969
Other (.png)
202
Markdown
140
CSS
121
JSON
110
Other (no ext)
35
JavaScript
27
YAML
24
Git Ignore
17
Other (.astro)
15
Other (.svg)
8
Files by Type (size)
Other (.png)
9MB
TypeScript
4MB
Other (.mp4)
3MB
TSX
3MB
Other (no ext)
2MB
Other (.jpg)
1MB
Markdown
891KB
YAML
807KB
CSS
234KB
JSON
69KB
JavaScript
58KB
Other (.ico)
29KB

The LLM identified 6 files worth highlighting for reuse:

A generic portal component that renders children into a different DOM location using a portal element. It supports a `portalRef` for lifecycle callbacks and can be extracted as a standalone reusable component for any React project needing portal rendering.

file: packages/ariakit-react-components/src/portal/portal.tsx ↗ | tags: #portal #render-prop polymorphic

A focus trap component that traps keyboard focus within a container, supporting nested traps and focus restoration. It can be extracted as a reusable focus trap component for any React project needing modal dialogs or custom focus management.

file: packages/ariakit-react-components/src/focus-trap/focus-trap.tsx ↗ | tags: #focus-management #accessibility #keyboard-navigation

A utility for stacking attribute/style cleanup with disposal, supporting disposal functions and cleanup. It can be extracted as a reusable utility for any project needing to manage multiple attribute modifications with proper cleanup.

file: packages/ariakit-react-components/src/dialog/utils/orchestrate.ts ↗ | tags: #attribute-stack #cleanup #disposal

A utility for point-in-polygon and element polygon for hovercard sticky geometry. It can be extracted as a reusable geometry utility for any project needing to determine if a point is inside a polygon or compute element polygon.

file: packages/ariakit-react-components/src/hovercard/utils/polygon.ts ↗ | tags: #geometry #point-in-polygon #hovercard

An undo manager with group support and limit, allowing undo/redo of state changes. It can be extracted as a reusable undo manager for any project needing undo/redo functionality.

file: packages/ariakit-utils/src/undo.ts ↗ | tags: #undo-manager #state-management #history

A test utility that simulates keyboard events (press, type, etc.) with realistic event properties. It can be extracted as a reusable test helper for any project needing keyboard event simulation in tests.

file: packages/ariakit-test/src/press.ts ↗ | tags: #testing #keyboard-events #simulation
Last analyzed: 2026-10-15 22:11:11.384089
Next check: 2026-10-22 22:11:11.373832
$ submit: