@ngstarter-ui/components
v21.0.58
Published
NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel
Downloads
8,143
Maintainers
Readme
NgStarter UI
NgStarter UI is an Angular component kit for admin panels and product dashboards. The
component package is published as @ngstarter-ui/components and is organized around
secondary entry points such as @ngstarter-ui/components/button,
@ngstarter-ui/components/dialog, and @ngstarter-ui/components/table.
Installation
For a new Angular 21 project, create the app with SCSS and add NgStarter UI:
npx @angular/cli@21 new project-name --style=scss
cd project-name
npx ng add @ngstarter-ui/componentsFor an existing Angular 21 app, run the same schematic from your project root:
npx ng add @ngstarter-ui/componentsThe ng add schematic also creates NgStarter Codex guidance in AGENTS.md and installs a local
Codex skill at .codex/skills/ngstarter-ui by default. To skip that setup, run:
npx ng add @ngstarter-ui/components --codex-skill=falseIf NgStarter UI is already installed and you only want to add or refresh the Codex skill, run:
npx ng generate @ngstarter-ui/components:codex-skillNgStarter components are standalone Angular components. Import each component from its secondary entry point:
import { Button } from '@ngstarter-ui/components/button';
import { Dialog } from '@ngstarter-ui/components/dialog';
import { Input } from '@ngstarter-ui/components/input';Theming
Import one theme stylesheet once in your app styles:
@use '@ngstarter-ui/components/styles/themes/default';Other presets are available for faster admin styling:
@use '@ngstarter-ui/components/styles/themes/modern';
@use '@ngstarter-ui/components/styles/themes/compact';Themes are driven by --ngs-* design tokens. The main layers are:
- primitive tokens: spacing, radius, font sizes, shadows
- semantic tokens:
--ngs-color-primary,--ngs-color-surface,--ngs-color-danger - component tokens:
--ngs-button-height,--ngs-field-radius,--ngs-table-row-height
You can switch theme, density, radius, and color scheme at runtime:
import { provideNgsTheme } from '@ngstarter-ui/components/core';
export const appConfig = {
providers: [
provideNgsTheme({
theme: 'modern',
colorScheme: 'auto',
density: 'compact',
radius: 'small',
primaryColor: '#155eef',
}),
],
};For user preferences or tenant branding, inject ThemeManagerService:
themeManager.setTheme('modern');
themeManager.setDensity('spacious');
themeManager.setRadius('large');
themeManager.setPrimaryColor('#7c3aed');
themeManager.changeColorScheme('dark');The same values can be controlled with document attributes:
<html data-ngs-theme="modern" data-ngs-density="compact" data-ngs-radius="small">Component Demos
The documentation site includes live demos and API examples for each component:
Forms
- Autocomplete
- Button
- Button Toggle
- Checkbox
- Country Select
- Currency Select
- Date Format Select
- Inline Text Edit
- Input
- Input Mask
- Input Validator
- Number Input
- Password Strength
- Phone Input
- Pin Input
- Radio
- Segmented
- Select
- Slide Toggle
- Timezone Select
Navigation
Data, Layout, And Libraries
Components
- Action Required
- Alert
- Announcement
- Avatar
- Badge
- Block Loader
- Bottom Sheet
- Card
- Card Overlay
- Carousel
- Chips
- Code Highlighter
- Color Picker
- Color Switcher
- Command Bar
- Comment Editor
- Comparison Slider
- Confirm
- Content Fade
- Cookie Popup
- Crop
- Datepicker
- Dialog
- Divider
- Drawer
- Emoji Picker
- Empty State
- Expand
- Expansion Panel
- Filter Builder
- Gauge
- Grid
- Guided Tour
- Icon
- Image Placeholder
- Image Resizer
- Image Viewer
- Image Zoom Viewer
- Incidents
- Kbd
- Layout
- List
- Marquee
- Menu
- Notifications
- Paginator
- Panel
- Popover
- Progress Bar
- Progress Spinner
- Resizable Container
- Screen Loader
- Sidenav
- Signature Pad
- Skeleton
- Slider
- Snack Bar
- Split Pane
- Stepper
- Suggestions
- Table
- Tabs
- Text Editor
- Thumbnail Maker
- Tiles
- Timeline
- Timepicker
- Toolbar
- Tooltip
- Tree
- Upload
- Video Viewer
