The standard field library and registry for Object UI.
- 📚 Standard Fields - Implementation of all ObjectStack protocol fields (Text, Number, Date, Lookup, etc.)
- 🔌 Plugin System -
FieldRegistryallows registering custom renderers or overriding standard ones. - 🛠 Helpers - Utilities for schema mapping, validation, and expression evaluation.
npm install @object-ui/fieldsThe Field Registry is the core mechanism that allows decoupling view components from specific field implementations.
You can override standard fields or add new ones:
import { registerFieldRenderer } from '@object-ui/fields';
import { MyCustomColorPicker } from './MyCustomColorPicker';
// Register a new 'color' field type
registerFieldRenderer('color', MyCustomColorPicker);View components use getCellRenderer to resolve the correct component for a field type.
import { getCellRenderer } from '@object-ui/fields';
const MyGridCell = ({ field, value }) => {
const Renderer = getCellRenderer(field.type);
return <Renderer field={field} value={value} />;
};Supported types out of the box:
- Basic:
text,textarea,number,boolean - Format:
currency,percent - Date:
date,datetime,time - Selection:
select,lookup,master_detail - Contact:
email,phone,url - Media:
file,image - System:
formula,summary,auto_number
- React: 18.x or 19.x
- Node.js: ≥ 18
- TypeScript: ≥ 5.0 (strict mode)
@objectstack/spec: ^3.3.0@objectstack/client: ^3.3.0- Tailwind CSS: ≥ 3.4 (for packages with UI)
MIT — see LICENSE.