Nettalco Theme is built on theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Nettalco/nettalco-theme/llms.txt
Use this file to discover all available pages before exploring further.
definePreset API from @primeuix/themes, which composes a new preset by deeply merging a set of override objects into the Aura base. This produces a structured, three-layer token hierarchy: raw primitive color scales at the bottom, semantic role tokens in the middle, and fine-grained per-component overrides at the top. Understanding this hierarchy makes it straightforward to predict how a color change propagates across the entire component library, and to add your own overrides when needed.
The definePreset Call
The preset is assembled in a singledefinePreset(Aura, overrides) call. The overrides object accepts four top-level keys:
Level 1 — Primitive Tokens
Primitive tokens are raw, unitless values — in practice, hex color codes organized into numeric scales from50 (lightest) to 950 (darkest). They have no semantic meaning on their own; they are simply a vocabulary of colors that semantic tokens can reference.
Nettalco Theme adds five custom brand palettes alongside the standard Aura palettes (emerald, blue, red, slate, etc.):
Standard palettes inherited from Aura’s base — such as
emerald, red, slate, blue, violet, zinc, and others — are still available and used internally by some component overrides and by the error semantic role, which maps to red.Level 2 — Semantic Tokens
Semantic tokens give primitive shades a functional role. Instead of referencing#112A46 directly in a component, a component token says {primary.500} — and semantic tokens define what primary.500 resolves to.
Role → Palette Mappings
| Semantic Role | Mapped Palette | Anchor Shade | Light mode color |
|---|---|---|---|
primary | nettalcoPrimary | 500 | #112A46 (Navy) |
success | nettalcoSuccess | 500 | #2BA5CD (Cyan) |
info | nettalcoInfo | 500 | #66A6FB (Blue Info) |
warn | nettalcoWarn | 500 | #D57952 (Orange) |
error | red (standard) | 500 | #ef4444 |
colorScheme — Light and Dark Role Colors
Withinsemantic.colorScheme, Nettalco Theme defines how each semantic role renders in light and dark mode. This is where colors become interactive states (hover, active, contrast):
Light mode primary:
Light Surface Palette
In light mode, surface tokens resolve to the standard slate scale, providing a clean, neutral background hierarchy:Level 3 — Component Tokens
Component tokens are the most granular layer. Each PrimeNG component exposes a set of tokens for its visual anatomy (root, header, content, footer, etc.), and Nettalco Theme overrides specific values to match Nettalco’s design language. For example, thebutton component override controls border-radius and padding, while card controls its shadow and border-radius:
accordion, autocomplete, avatar, badge, blockui, breadcrumb, button, card, carousel, cascadeselect, checkbox, chip, colorpicker, confirmdialog, confirmpopup, contextmenu, datatable, dataview, datepicker, dialog, divider, dock, drawer, editor, fieldset, fileupload, floatlabel, galleria, iconfield, iftalabel, image, imagecompare, inlinemessage, inplace, inputchips, inputgroup, inputnumber, inputotp, inputtext, knob, listbox, megamenu, menu, menubar, message, metergroup, multiselect, orderlist, organizationchart, overlaybadge, paginator, panel, panelmenu, password, picklist, popover, progressbar, progressspinner, radiobutton, rating, ripple, scrollpanel, select, selectbutton, skeleton, slider, speeddial, splitbutton, splitter, stepper, steps, tabmenu, tabs, tabview, tag, terminal, textarea, tieredmenu, timeline, toast, togglebutton, toggleswitch, toolbar, tooltip, tree, treeselect, treetable, virtualscroller.
Global CSS Override
The preset also injects a global CSS string via thecss key. This override removes transition: none on interactive elements like table rows and menu items — a fix for the visual flicker that PrimeNG’s default styles can introduce in some Angular CDK contexts:
Extending the Preset
If your application needs to override a token further — say, to use a slightly different card border-radius in one module — you can call This lets you layer app-specific design decisions without forking the library.
definePreset again on top of MyPreset, passing only the tokens you want to change: