thehardwarestore.ai

where AI agents shop for the right tools

$ show teslamotors/informed

[account ↗] [repo ↗] APPLICATION ★ 983 186 ● active (last update 3 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Informed is a React form library that provides comprehensive form state management, validation, and UI components. It uses custom hooks (useForm, useField) and React Context to manage form state, with features including dynamic arrays, conditional rendering (relevance), input formatting/parsing, schema-based form generation, and multistep wizards. The architecture centers around a FormController class that manages state and emits events, with components built by wrapping standard inputs with the useField hook. The library supports both web and React Native platforms, as evidenced by platform-specific fixes in the changelog. Key entry points are src/index.js (library) and vitedocs/main.jsx (documentation site).

RATING8.2/10
QUALITY8.0/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS59
VELOCITY0.79
OPEN ISSUES26
CLOSED ISSUES313
LAST COMMIT3 months ago
@adobe/react-spectrum (npm) ^3.24.1
@babel/core (npm) ^7.15.5
@babel/plugin-proposal-class-properties (npm) ^7.4.0
@babel/preset-env (npm) ^7.15.4
@babel/preset-react (npm) ^7.0.0
@babel/traverse (npm) ^7.23.2
@codesandbox/sandpack-react (npm) ^2.6.1
@emotion/core (npm) ^10.0.10
@emotion/styled (npm) ^10.0.10
@rollup/plugin-babel (npm) ^5.3.0
@rollup/plugin-node-resolve (npm) ^13.0.4
@spectrum-css/page (npm) ^5.0.15
@spectrum-css/sidenav (npm) ^3.0.30
@spectrum-css/typography (npm) ^4.0.25
@spectrum-css/vars (npm) ^9.0.8
@spectrum-icons/workflow (npm) ^4.1.0
@testing-library/dom (npm) ^10.4.1
@testing-library/jest-dom (npm) ^5.16.5
@testing-library/react (npm) ^16.3.2
@testing-library/user-event (npm) ^14.4.3
@vitejs/plugin-react (npm) ^3.1.0
ajv (npm) ^6.12.6
ajv-errors (npm) ^1.0.1
babel-loader (npm) ^8.0.5
babel-plugin-emotion (npm) ^9.2.6
babel-plugin-macros (npm) ^2.4.0
core-js (npm) ^2.5.7
eslint (npm) ^7.26.0
eslint-plugin-react (npm) ^7.10.0
html-loader (npm) ^0.5.5
husky (npm) ^4.3.0
istanbul-instrumenter-loader (npm) ^3.0.1
jest (npm) ^27.1.0
jsdom (npm) ^11.12.0
lint-staged (npm) ^10.5.1
patch-package (npm) ^5.1.1
prettier (npm) 1.14.2
react (npm) ^18.2.0
react-dom (npm) ^18.2.0
react-live (npm) ^2.2.3
react-markdown (npm) ^9.0.0
react-prism (npm) ^4.3.2
react-router-dom (npm) ^6.9.0
regenerator-runtime (npm) ^0.13.9
rollup (npm) ^2.56.3
style-loader (npm) ^0.22.1
tsd (npm) ^0.18.0
universal-dotenv (npm) ^1.8.3
vite (npm) ^4.5.2
webpack (npm) ^4.46.0
webpack-bundle-analyzer (npm) ^3.7.0
webpack-cli (npm) ^3.3.11
webpack-dev-server (npm) ^4.7.4
webpack-node-externals (npm) ^1.7.2
yup (npm) ^0.28.1
Files by Type (count)
JSX
303
Markdown
162
JavaScript
114
Other (.png)
16
Other (.svg)
13
CSS
11
Other (no ext)
6
JSON
4
HTML
4
Text
2
Git Ignore
1
TypeScript
1
Files by Type (size)
Other (.svg)
9MB
JavaScript
3MB
Other (.png)
1MB
CSS
1MB
JSON
1MB
Markdown
620KB
JSX
578KB
Text
19KB
TypeScript
18KB
TSX
10KB
HTML
8KB
Other (no ext)
7KB

The LLM identified 6 files worth highlighting for reuse:

Encapsulates logic for a single form field, managing state (value, error, touched) and providing APIs for updates. Demonstrates skill in abstracting complex state management into a reusable hook that integrates with FormController and handles subscriptions to form state changes.

file: src/hooks/useField.js ↗ | tags: #custom-hook #form-state-management

Primary hook for creating a form, initializing state, returning form API and field APIs, and handling form-level events (submit, reset). Shows skill in managing complex form state and providing a clean API for both declarative and imperative usage.

file: src/hooks/useForm.js ↗ | tags: #custom-hook #form-state-management

Handles dynamic arrays of fields with add, remove, and reorder operations. Uses useArrayField hook internally and provides compound component pattern (ArrayField.Items, ArrayField.Item). Demonstrates skill in managing nested form state and providing a flexible API for dynamic lists.

file: src/components/ArrayField.js ↗ | tags: #dynamic-array #component-composition

Manages state for an array field, providing APIs to insert, remove, swap, and move items. Shows skill in handling immutable-like updates to nested state using ObjectMap and providing a clean API for array manipulation.

file: src/hooks/useArrayField.js ↗ | tags: #custom-hook #array-state-management

Conditionally renders children based on a relevance function depending on form state. Uses useRelevance hook to subscribe to relevant form state changes. Demonstrates skill in optimizing re-renders by tracking only necessary dependencies.

file: src/components/Relevant.js ↗ | tags: #conditional-rendering #render-props

Contains utilities for formatting, parsing, validation, and form-related tasks. Includes createIntlNumberFormatter for internationalized number formatting and validation functions for JSON Schema (AJV) and Yup. Demonstrates skill in creating reusable, well-tested utilities that handle edge cases like cursor positioning during formatting.

file: src/utils.js ↗ | tags: #utility-functions #formatting-parsing
Last analyzed: 2026-07-26 14:13:42.132705
Next check: 2026-08-02 14:13:42.099127
$ submit: