@nice2dev/ui-core
v1.0.15
Published
Nice2Dev UI Core — Types, hooks, i18n, a11y, datasource, theme, animations, icons and responsive utilities
Maintainers
Readme
@nice2dev/ui-core
Framework-agnostic component contracts — pure TypeScript types, validation logic, and state utilities powering cross-framework adapters (Angular, Vue, Web Components, Blazor).
Features
- Component Contracts — TypeScript interfaces for 30+ component types (buttons, forms, data display, navigation, overlays, charts, planning, layout)
- Validation Engine —
validateField()with 10 rule types: required, minLength, maxLength, min, max, pattern, email, url, custom - State Utilities —
createTabsState(),ToastManager,toggleAccordion(),calculatePaneSizes() - Data Helpers —
multiSort(),applyFilters(),paginate(),filterOptions(),groupOptions(),flattenTree(),searchTree() - Display Styles — animation tokens, responsive breakpoints, theme contracts, i18n types, DataSource abstraction
- Zero Dependencies — pure TypeScript, no runtime framework dependency
Installation
npm install @nice2dev/ui-coreUsage
import {
type ButtonProps,
type TextInputProps,
type DataGridProps,
validateField,
multiSort,
applyFilters,
paginate,
ToastManager,
createTabsState,
} from '@nice2dev/ui-core';
// Validate a form field
const errors = validateField('email', '[email protected]', [
{ type: 'required' },
{ type: 'email' },
]);
// Manage toast notifications
const toasts = new ToastManager();
toasts.subscribe((list) => console.log('Toasts:', list));
toasts.add({ message: 'Saved!', severity: 'success' });Component Categories
| Category | Types | |----------|-------| | Buttons | Button, ButtonGroup, DropDownButton, IconButton, SpeedDial | | Form Controls | TextInput, NumberInput, Select, Checkbox, Toggle, Slider, DatePicker, TextArea, Autocomplete, ColorPicker, FileUpload | | Data Display | DataGrid (sort, filter, paginate), Badge, Progress, Avatar | | Navigation | Tabs, Breadcrumb, Accordion, Menu, Drawer | | Overlays | Modal, Alert, Toast, Popover, Tooltip | | Charts | 17 chart types with series, axis, legend contracts | | Planning | Scheduler, Gantt | | Tree & Layout | TreeView, Splitter |
License
MIT © NiceToDev
