An icon font library featuring Material icons and custom icons for QuestionPro. This package generates a web font from SVG icons and provides the corresponding CSS for usage in web applications.
- Material Symbols: Includes icons from Google's Material Design Symbols (grad200 fill1 wight400 size24px).
- Custom Icons: Allows you to include custom SVG icons by placing them in the appropriate folders.
- Web Font: The icons are bundled as a web font for easy inclusion in web projects.
- CSS Integration: The package generates a CSS file to easily style and use the icons.
You can install the package using npm or yarn:
npm install @npm-questionpro/wick-ui-icon
# or
pnpm add @npm-questionpro/wick-ui-icon
# or
yarn add @npm-questionpro/wick-ui-icon
-
CSS Integration: To use the icons in your project, include the
wu-icon.css
file in your HTML/Globals CSS/Main ts/tsx/js/jsx:<link rel="stylesheet" href="@npm-questionpro/wick-ui-icon/dist/wu-icon.css" />
@import url("@npm-questionpro/wick-ui-icon/dist/wu-icon.css");
import "@npm-questionpro/wick-ui-icon/dist/wu-icon.css";
-
Font Classes: After including the CSS file, you can use the icons by adding the corresponding class to an element. For example:
<i className="wm-home"></i> <span className="wc-logo"></span>
The class names follow the format
wc-{icon-name}
. Material icons will be prefixed withwm-
, custom icons withwc-
, production icons withwp-
.
-
svg/
: Place your custom SVG icons in this folder. The folder structure will determine the icon name prefix.- For custom icons, upload all the svg files to icomoon and then download generated svgs. Put them in
custom
folder.
- For custom icons, upload all the svg files to icomoon and then download generated svgs. Put them in
-
dist/
: Contains the generated font and CSS file. -
material-design-icons/
: Clone and update the Material Design icons repository using the provided scripts.
To generate the icon font and CSS file from the SVG icons, run:
npm run build
To release a new version, use the following commands:
-
Patch release:
npm run release:patch
-
Minor release:
npm run release:minor
-
Major release:
npm run release:major
You can clone or update the Material Design icons using the following scripts:
-
Clone Material Design Icons. This will take a lot of time, so it's recommended to do it only once:
npm run mat:clone
-
Update Material Design Icons and rebuild:
npm run mat:update
- Node.js (v18 or later)
- pnpm (for managing dependencies)
To develop locally, you can modify the SVG icons in the svg/
directory and run the build command to regenerate the font and CSS.
During the build process, unnecessary files (like LESS, SCSS, and HTML files) will be removed to ensure a clean output.