@paradox-design/icon-set
v0.1.0
Published
Default icon set for Paradox Design System
Maintainers
Readme
@paradox-design/icon-set
The default icon set of Paradox Design System.
You do not install or import this package yourself — @paradox-design/icons depends on it,
and <pdx-icon> uses it out of the box. A client with their own icons replaces it
entirely with setIconSet() (see @paradox-design/icons);
thanks to lazy loading, none of our icons are downloaded then.
What is inside
import { iconNames, loaders } from '@paradox-design/icon-set';| Export | Description |
| ----------- | ------------------------------------------------------------- |
| iconNames | sorted list of icon names |
| loaders | name → () => Promise<svg> — one dynamic import() per icon |
| IconName | union type of all names |
The gallery of all icons is in Storybook: Components/Icon → Zestaw domyslny.
Names are ours
Icon names describe meaning, not shape: close, warning, success, trash.
The upstream name (e.g. Lucide x, triangle-alert) is recorded in sources.json.
Changing how warning looks never breaks the components that use it.
Adding an icon
Put
svg/<name>.svgin the package — drawn by hand or copied from a source with an allowed license. Name: lowercase words joined by-.Add an entry to
sources.json:"name": { "source": "lucide", "upstream": "original-name" }An icon of our own uses
"source": "paradox"(declare that source once).pnpm --filter @paradox-design/icon-set build.
The build fails when:
- an SVG has no
sources.jsonentry, or an entry has no SVG; - a source's license is not in
allowedLicenses(MIT,ISC,CC0-1.0), or its notice file is missing; - the SVG contains a script, styles,
foreignObject, a DTD, anon*handler,href, or a hard-coded color instead ofcurrentColor; viewBoxis not0 0 24 24.
The build cannot use the sanitizer from @paradox-design/icons — icons depends on this
package, so the reverse dependency would create a cycle. Validation here is structural
and deliberately stricter: a doubtful icon is rejected, not repaired.
Licenses
The package code is MIT. Icons taken from Lucide are ISC (Feather-derived ones also MIT);
the full notice ships in licenses/lucide.txt. Icons drawn by Paradox are covered by the
package license.
License
MIT © Paradox Software
