Controls render icons through the jig-icon control and a registry of semantic icon
slots, so you can swap the whole icon set in one place — or override a single glyph on
one control.
An icon value is an Iconify icon object (or { icon, scale }):
import tablerUser from '@iconify/icons-tabler/user';<jig-icon [icon]="icon" />
Controls that render a glyph expose icon-prefixed inputs to override the default for
that slot — iconClose, iconDropdown, iconFilter, iconChecked, and so on. Pass an
icon value to replace just that one:
<jig-select [iconDropdown]="myChevron" />Controls with defaultIcon slots need a registry. The quickest path is
withDefaultIcons(), which registers the built-in Tabler set covering all 45 semantic
slots (dialog-close, dropdown-toggle, checkbox-checked, sort-ascending, …):
import { withDefaultIcons } from '@awdlab/jig/default-icons';
provideJigControls({ theme: { preset: nova } }, withDefaultIcons());This is why @iconify/icons-tabler is an optional peer — it's only pulled in by this
feature.
To use a different icon set, provide a full registry with withCustomIcons(). It expects a
value for every semantic slot:
import { withCustomIcons, type JigCustomIconRegistry } from '@awdlab/jig/icon';
const icons: JigCustomIconRegistry = {
'dialog-close': myClose,
'dropdown-toggle': myChevron,
/* …all slots… */
};
provideJigControls({ theme: { preset: nova } }, withCustomIcons(icons));Include either withDefaultIcons() or withCustomIcons() — a defaultIcon slot with no
registry throws at render.
See the Icon component page for the full jig-icon API.
jig