@protong/ui
v0.6.0
Published
ProtoNg — a scalable, accessible, dependency-free UI component library for Angular. 80+ standalone components built on signals and zoneless change detection.
Maintainers
Readme
@protong/ui
ProtoNg — a scalable, accessible, dependency-free UI component library for Angular. 80+ standalone components built from scratch on the latest Angular: signals, zoneless change detection, OnPush everywhere, typed inputs/outputs, light & dark themes via one CSS-variable layer.
Install
npm install @protong/uiPeer dependencies: @angular/common, @angular/core, @angular/platform-browser,
@angular/router (v22+). Nothing else — zero runtime dependencies.
Theme
The components style themselves through a single CSS-variable layer. Import the
bundled theme once (e.g. in src/styles.css):
@import '@protong/ui/theme.css';
@import '@protong/ui/utilities.css'; /* proto-* utility classes (flex, spacing, text, gradients…) */utilities.css is optional for the components themselves, but required when you
copy templates from the ProtoNg site — they are built with proto-* utilities.
Dark mode is one attribute away: <html data-theme="dark">. Rebrand by
overriding the variables (--brand-500, --surface-0, --radius-md, …).
Use
Every component is standalone — import what you need, where you need it:
import { Component } from '@angular/core';
import { Button, Input, Card } from '@protong/ui';
@Component({
selector: 'app-demo',
imports: [Button, Input, Card],
template: `
<proto-card padding="lg">
<proto-input label="Email" placeholder="[email protected]" />
<proto-button variant="primary" icon="rocket">Ship faster</proto-button>
</proto-card>
`,
})
export class Demo {}What's inside
- Forms — Input, Textarea, Select, MultiSelect, Autocomplete, Checkbox, Switch, RadioGroup, SelectButton, ToggleButton, Slider, Rating, Knob, DatePicker, Password, InputNumber, InputMask, InputOtp, ColorPicker, CascadeSelect, TreeSelect, Upload, Editor…
- Data — DataTable, TreeTable, Tree, DataView, OrderList, PickList, VirtualScroller, Pagination, Timeline, OrgChart, Chart…
- Overlays — Dialog, DynamicDialog, ConfirmDialog, ConfirmPopup, Drawer, Popover, Tooltip, BlockUi…
- Menus — Menu, Menubar, MegaMenu, TieredMenu, PanelMenu, ContextMenu, Dock, Breadcrumbs, SpeedDial, SplitButton…
- Layout & misc — Card, Panel, Fieldset, Tabs, Accordion, Stepper, Toolbar, Splitter, ScrollPanel, Carousel, Galleria, Image, ImageCompare, Avatar, Badge, Tag, Chip, Alert, Toast, Progress, Skeleton, Spinner, MeterGroup, Terminal, Icon (the complete Lucide set — 1,997 icons)…
- Services & utilities —
ToastService,ConfirmService,DialogService,FilterService(10 match modes),cx()class-name builder, plus a set of DOM directives (AutoFocus, FocusTrap, Ripple, StyleClass, AnimateOnScroll, KeyFilter…).
Docs
Full documentation, live examples and a visual page builder live in the ProtoNg repository.
License
MIT
