brd-phosphor-strokes-icons
v0.1.10
Published
Phosphor stroke-light icon components for React with Lucide-style imports, tree-shaking, and dynamic loading.
Readme
@brd-ui-kit/phosphor-strokes-icons
Phosphor stroke icon components for React, packaged with a Lucide-like import model:
- static icon imports for maximum tree-shaking
- optional by-name API
- optional dynamic loading API
Install
npm i @brd-ui-kit/phosphor-strokes-iconsPeer dependency:
react^18 || ^19
Usage
1) Static imports (recommended)
import { Gear, User } from "@brd-ui-kit/phosphor-strokes-icons";
export function Example() {
return (
<div>
<Gear size={24} />
<User size={20} strokeWidth={1.5} />
</div>
);
}You can also import a single icon subpath:
import { Gear } from "@brd-ui-kit/phosphor-strokes-icons/icons/Gear";2) By-name API
import { Icon } from "@brd-ui-kit/phosphor-strokes-icons/by-name";
export function Example() {
return <Icon name="gear" size={24} />;
}3) Dynamic loading
import { loadIconByName } from "@brd-ui-kit/phosphor-strokes-icons/dynamic";
export async function getIcon() {
const IconComponent = await loadIconByName("gear");
return IconComponent;
}Props
Each icon component supports standard SVG props plus:
size?: string | numbercolor?: stringstrokeWidth?: string | numberabsoluteStrokeWidth?: boolean
Defaults:
size = 24color = "currentColor"strokeWidth = 1.5absoluteStrokeWidth = true
size can be number (px) or CSS length string ("1rem", "24px").
Scripts
npm run generate— generate icon components fromsrc/raw-svgnpm run check— TypeScript validationnpm run build— generate + tsup buildnpm run pack:dry— inspect npm package before publish
Publish Checklist
npm run checknpm run buildnpm run pack:drynpm loginnpm publish --access public
