├── .editorconfig
├── .gitignore
├── .npmignore
├── .prettierrc
├── LICENSE.md
├── README.md
├── angular-remix-icon.png
├── angular-remix-icon.svg
├── angular.json
├── package-lock.json
├── package.json
├── projects
├── angular-remix-icon-demo
│ ├── e2e
│ │ ├── protractor.conf.js
│ │ ├── src
│ │ │ ├── app.e2e-spec.ts
│ │ │ └── app.po.ts
│ │ └── tsconfig.json
│ ├── karma.conf.js
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.html
│ │ │ ├── app.component.scss
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ └── app.config.ts
│ │ ├── assets
│ │ │ ├── .gitkeep
│ │ │ ├── angular-remix-icon-full.svg
│ │ │ ├── angular-remix-icon.svg
│ │ │ ├── github.svg
│ │ │ └── npm.svg
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.scss
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.spec.json
│ └── tslint.json
└── angular-remix-icon
│ ├── README.md
│ ├── karma.conf.js
│ ├── ng-package.json
│ ├── package.json
│ ├── src
│ ├── lib
│ │ ├── angular-remix-icon.component.spec.ts
│ │ ├── angular-remix-icon.component.ts
│ │ ├── angular-remix-icon.module.ts
│ │ ├── icon-names.ts
│ │ ├── icons.ts
│ │ ├── provider.ts
│ │ └── utils
│ │ │ └── utils.ts
│ ├── public-api.ts
│ └── test.ts
│ ├── tsconfig.lib.json
│ ├── tsconfig.lib.prod.json
│ ├── tsconfig.spec.json
│ └── tslint.json
├── remix-icon-example.png
├── scripts
├── generate.ts
└── template
│ ├── icon-name.tpl
│ └── icon.tpl
├── tsconfig.json
└── tslint.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # compiled output
4 | /dist
5 | /tmp
6 | /out-tsc
7 | # Only exists if Bazel was run
8 | /bazel-out
9 |
10 | # dependencies
11 | /node_modules
12 |
13 | # profiling files
14 | chrome-profiler-events*.json
15 | speed-measure-plugin*.json
16 |
17 | # IDEs and editors
18 | /.idea
19 | .project
20 | .classpath
21 | .c9/
22 | *.launch
23 | .settings/
24 | *.sublime-workspace
25 |
26 | # IDE - VSCode
27 | .vscode/*
28 | !.vscode/settings.json
29 | !.vscode/tasks.json
30 | !.vscode/launch.json
31 | !.vscode/extensions.json
32 | .history/*
33 |
34 | # misc
35 | /.angular/cache
36 | /.sass-cache
37 | /connect.lock
38 | /coverage
39 | /libpeerconnection.log
40 | npm-debug.log
41 | yarn-error.log
42 | testem.log
43 | /typings
44 |
45 | # System Files
46 | .DS_Store
47 | Thumbs.db
48 | *.log
49 |
50 | .vscode
51 | scripts/*.js
52 |
53 | #Icons TS files
54 | **/lib/icons
55 |
56 | **/*.tgz
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | lib/icons/**/*.d.ts
2 | **/*.map
3 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "all"
4 | }
5 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright 2020 Adithya Sreyaj
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Angular Remix Icon
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | > Use Remix Icons in your angular application
16 |
17 | Wrapper for using remix icons in your angular application.
18 | All the icons are injected as svgs and you can apply color and sizes to them with ease.
19 |
20 | ### Usage
21 |
22 | _1. Install the package_
23 |
24 | ```sh
25 | npm install angular-remix-icon
26 | ```
27 |
28 | _2. Import the module to `App Module`_
29 |
30 | ```ts
31 | import { RemixIconModule } from "angular-remix-icon";
32 | ```
33 |
34 | _3. Import Required Icons_
35 |
36 | For the library to work, the required icons needs to be configured first
37 |
38 | ```ts
39 | ...
40 | import {
41 | RiAncientGateFill,
42 | RiHome2Fill,
43 | RemixIconModule,
44 | } from 'angular-remix-icon';
45 |
46 | // Configure the required icons before hand
47 | const icons = {
48 | RiAncientGateFill,
49 | RiHome2Fill,
50 | };
51 |
52 | @NgModule({
53 | imports: [
54 | BrowserModule,
55 | RemixIconModule.configure(icons),
56 | ],
57 | ...
58 | })
59 | export class AppModule {}
60 | ```
61 |
62 | You can get the name from the [Remix Icon](https://remixicon.com) website
63 |
64 | 
65 |
66 | The required icons can be imported as see above. For eg: If you need the `home-3-line`, You have to import the corresponding Icon:
67 |
68 | ```ts
69 | import { RiHome3Line } from "angular-remix-icon";
70 | ```
71 |
72 | _4. Use in template_
73 |
74 | You can now start using the icons like so:
75 |
76 | ```html
77 |
78 | ```
79 |
80 | ### Styling
81 |
82 | If you want change color or size of the icons,
83 |
84 | ```html
85 |
86 | ```
87 |
88 | or
89 |
90 | ```css
91 | .blue-icon {
92 | color: blue;
93 | }
94 | .large-icon {
95 | width: 30px;
96 | height: 30px;
97 | }
98 | ```
99 |
100 | ```html
101 |
102 | ```
103 |
104 |
105 | ## Versions
106 |
107 | | Angular | Angular Remix Icon |
108 | |-----------|--------------------|
109 | | \>= v18 | v8 |
110 | | v16 & v17 | v6 |
111 | | v15 | v5 |
112 | | v14 | v4 |
113 | | v13 | v3 |
114 | | v12 | v2 |
115 |
116 | `v8` we switched to signal input for icons.
117 |
118 | ## 🤝 Contributing
119 |
120 | Contributions, issues and feature requests are welcome.
121 | Feel free to check [issues page](https://github.com/adisreyaj/angular-remix-icon/issues) if you want to contribute.
122 |
123 | ## Author
124 |
125 | 👤 **Adithya Sreyaj**
126 |
127 | - Twitter: [@AdiSreyaj](https://twitter.com/AdiSreyaj)
128 | - Github: [@adisreyaj](https://github.com/adisreyaj)
129 |
130 | ## 👍🏼 Show your support
131 |
132 | Please ⭐️ this repository if this project helped you!
133 |
134 | ## 📝 License
135 |
136 | Copyright © 2020 [Adithya Sreyaj](https://github.com/adisreyaj).
137 |
138 | This project is [Apache License 2.0](https://github.com/adisreyaj/angular-remix-icon/blob/master/LICENSE.md) licensed.
139 |
--------------------------------------------------------------------------------
/angular-remix-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adisreyaj/angular-remix-icon/9d44bea49adbf861d4de3897c919b3892b119ed3/angular-remix-icon.png
--------------------------------------------------------------------------------
/angular-remix-icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/angular.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3 | "version": 1,
4 | "newProjectRoot": "projects",
5 | "projects": {
6 | "angular-remix-icon": {
7 | "projectType": "library",
8 | "root": "projects/angular-remix-icon",
9 | "sourceRoot": "projects/angular-remix-icon/src",
10 | "prefix": "rmx",
11 | "architect": {
12 | "build": {
13 | "builder": "@angular-devkit/build-angular:ng-packagr",
14 | "options": {
15 | "tsConfig": "projects/angular-remix-icon/tsconfig.lib.json",
16 | "project": "projects/angular-remix-icon/ng-package.json"
17 | },
18 | "configurations": {
19 | "production": {
20 | "tsConfig": "projects/angular-remix-icon/tsconfig.lib.prod.json"
21 | }
22 | }
23 | },
24 | "test": {
25 | "builder": "@angular-devkit/build-angular:karma",
26 | "options": {
27 | "main": "projects/angular-remix-icon/src/test.ts",
28 | "tsConfig": "projects/angular-remix-icon/tsconfig.spec.json",
29 | "karmaConfig": "projects/angular-remix-icon/karma.conf.js"
30 | }
31 | }
32 | }
33 | },
34 | "angular-remix-icon-demo": {
35 | "projectType": "application",
36 | "schematics": {
37 | "@schematics/angular:component": {
38 | "style": "scss"
39 | }
40 | },
41 | "root": "projects/angular-remix-icon-demo",
42 | "sourceRoot": "projects/angular-remix-icon-demo/src",
43 | "prefix": "app",
44 | "architect": {
45 | "build": {
46 | "builder": "@angular-devkit/build-angular:application",
47 | "options": {
48 | "outputPath": {
49 | "base": "dist/angular-remix-icon-demo"
50 | },
51 | "index": "projects/angular-remix-icon-demo/src/index.html",
52 | "polyfills": [
53 | "projects/angular-remix-icon-demo/src/polyfills.ts"
54 | ],
55 | "tsConfig": "projects/angular-remix-icon-demo/tsconfig.app.json",
56 | "assets": [
57 | "projects/angular-remix-icon-demo/src/favicon.ico",
58 | "projects/angular-remix-icon-demo/src/assets"
59 | ],
60 | "styles": [
61 | "projects/angular-remix-icon-demo/src/styles.scss"
62 | ],
63 | "scripts": [],
64 | "extractLicenses": false,
65 | "sourceMap": true,
66 | "optimization": false,
67 | "namedChunks": true,
68 | "browser": "projects/angular-remix-icon-demo/src/main.ts"
69 | },
70 | "configurations": {
71 | "production": {
72 | "fileReplacements": [
73 | {
74 | "replace": "projects/angular-remix-icon-demo/src/environments/environment.ts",
75 | "with": "projects/angular-remix-icon-demo/src/environments/environment.prod.ts"
76 | }
77 | ],
78 | "optimization": true,
79 | "outputHashing": "all",
80 | "sourceMap": false,
81 | "namedChunks": false,
82 | "extractLicenses": true,
83 | "budgets": [
84 | {
85 | "type": "initial",
86 | "maximumWarning": "2mb",
87 | "maximumError": "5mb"
88 | },
89 | {
90 | "type": "anyComponentStyle",
91 | "maximumWarning": "6kb",
92 | "maximumError": "10kb"
93 | }
94 | ]
95 | }
96 | }
97 | },
98 | "serve": {
99 | "builder": "@angular-devkit/build-angular:dev-server",
100 | "options": {
101 | "buildTarget": "angular-remix-icon-demo:build"
102 | },
103 | "configurations": {
104 | "production": {
105 | "buildTarget": "angular-remix-icon-demo:build:production"
106 | }
107 | }
108 | },
109 | "extract-i18n": {
110 | "builder": "@angular-devkit/build-angular:extract-i18n",
111 | "options": {
112 | "buildTarget": "angular-remix-icon-demo:build"
113 | }
114 | },
115 | "test": {
116 | "builder": "@angular-devkit/build-angular:karma",
117 | "options": {
118 | "main": "projects/angular-remix-icon-demo/src/test.ts",
119 | "polyfills": "projects/angular-remix-icon-demo/src/polyfills.ts",
120 | "tsConfig": "projects/angular-remix-icon-demo/tsconfig.spec.json",
121 | "karmaConfig": "projects/angular-remix-icon-demo/karma.conf.js",
122 | "assets": [
123 | "projects/angular-remix-icon-demo/src/favicon.ico",
124 | "projects/angular-remix-icon-demo/src/assets"
125 | ],
126 | "styles": [
127 | "projects/angular-remix-icon-demo/src/styles.scss"
128 | ],
129 | "scripts": []
130 | }
131 | },
132 | "e2e": {
133 | "builder": "@angular-devkit/build-angular:protractor",
134 | "options": {
135 | "protractorConfig": "projects/angular-remix-icon-demo/e2e/protractor.conf.js",
136 | "devServerTarget": "angular-remix-icon-demo:serve"
137 | },
138 | "configurations": {
139 | "production": {
140 | "devServerTarget": "angular-remix-icon-demo:serve:production"
141 | }
142 | }
143 | }
144 | }
145 | }
146 | },
147 | "cli": {
148 | "analytics": false
149 | }
150 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-remix-icon",
3 | "version": "7.1.0",
4 | "scripts": {
5 | "ng": "ng",
6 | "start": "ng serve",
7 | "build": "ng build",
8 | "test": "ng test",
9 | "lint": "ng lint",
10 | "e2e": "ng e2e",
11 | "prepublish": "npm run build:lib",
12 | "generate": "tsc scripts/generate.ts && node scripts/generate.js",
13 | "build:lib": "npm run generate && ng build angular-remix-icon --configuration production",
14 | "publish": "npm publish ./dist/angular-remix-icon"
15 | },
16 | "private": false,
17 | "dependencies": {
18 | "@angular/animations": "^18.2.1",
19 | "@angular/common": "^18.2.1",
20 | "@angular/compiler": "^18.2.1",
21 | "@angular/core": "^18.2.1",
22 | "@angular/forms": "^18.2.1",
23 | "@angular/platform-browser": "^18.2.1",
24 | "@angular/platform-browser-dynamic": "^18.2.1",
25 | "@angular/router": "^18.2.1",
26 | "rxjs": "~6.6.0",
27 | "tslib": "^2.3.1",
28 | "zone.js": "~0.14.10"
29 | },
30 | "devDependencies": {
31 | "@angular-devkit/build-angular": "^18.2.1",
32 | "@angular/cli": "^18.2.1",
33 | "@angular/compiler-cli": "^18.2.1",
34 | "@types/del": "^4.0.0",
35 | "@types/estree": "^0.0.51",
36 | "@types/fs-extra": "^9.0.2",
37 | "@types/jasmine": "~3.6.0",
38 | "@types/jasminewd2": "~2.0.3",
39 | "@types/node": "^20.3.0",
40 | "@types/uppercamelcase": "^3.0.0",
41 | "codelyzer": "^6.0.0",
42 | "del": "^6.0.0",
43 | "fs-extra": "^9.0.1",
44 | "jasmine-core": "~3.6.0",
45 | "jasmine-spec-reporter": "~5.0.0",
46 | "karma": "~6.3.2",
47 | "karma-chrome-launcher": "~3.1.0",
48 | "karma-coverage-istanbul-reporter": "~3.0.2",
49 | "karma-jasmine": "~4.0.0",
50 | "karma-jasmine-html-reporter": "^1.5.0",
51 | "ng-packagr": "^18.2.1",
52 | "nodemon": "^2.0.6",
53 | "prettier": "^3.1.0",
54 | "protractor": "~7.0.0",
55 | "remixicon": "^4.3.0",
56 | "ts-node": "~8.3.0",
57 | "tslint": "~6.1.0",
58 | "typescript": "5.5.4",
59 | "uppercamelcase": "^3.0.0"
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/e2e/protractor.conf.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 | // Protractor configuration file, see link for more information
3 | // https://github.com/angular/protractor/blob/master/lib/config.ts
4 |
5 | const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter');
6 |
7 | /**
8 | * @type { import("protractor").Config }
9 | */
10 | exports.config = {
11 | allScriptsTimeout: 11000,
12 | specs: [
13 | './src/**/*.e2e-spec.ts'
14 | ],
15 | capabilities: {
16 | browserName: 'chrome'
17 | },
18 | directConnect: true,
19 | baseUrl: 'http://localhost:4200/',
20 | framework: 'jasmine',
21 | jasmineNodeOpts: {
22 | showColors: true,
23 | defaultTimeoutInterval: 30000,
24 | print: function() {}
25 | },
26 | onPrepare() {
27 | require('ts-node').register({
28 | project: require('path').join(__dirname, './tsconfig.json')
29 | });
30 | jasmine.getEnv().addReporter(new SpecReporter({
31 | spec: {
32 | displayStacktrace: StacktraceOption.PRETTY
33 | }
34 | }));
35 | }
36 | };
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/e2e/src/app.e2e-spec.ts:
--------------------------------------------------------------------------------
1 | import { AppPage } from './app.po';
2 | import { browser, logging } from 'protractor';
3 |
4 | describe('workspace-project App', () => {
5 | let page: AppPage;
6 |
7 | beforeEach(() => {
8 | page = new AppPage();
9 | });
10 |
11 | it('should display welcome message', () => {
12 | page.navigateTo();
13 | expect(page.getTitleText()).toEqual('angular-remix-icon-demo app is running!');
14 | });
15 |
16 | afterEach(async () => {
17 | // Assert that there are no errors emitted from the browser
18 | const logs = await browser.manage().logs().get(logging.Type.BROWSER);
19 | expect(logs).not.toContain(jasmine.objectContaining({
20 | level: logging.Level.SEVERE,
21 | } as logging.Entry));
22 | });
23 | });
24 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/e2e/src/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, by, element } from 'protractor';
2 |
3 | export class AppPage {
4 | navigateTo(): Promise {
5 | return browser.get(browser.baseUrl) as Promise;
6 | }
7 |
8 | getTitleText(): Promise {
9 | return element(by.css('app-root .content span')).getText() as Promise;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "../../../tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "../../../out-tsc/e2e",
6 | "module": "commonjs",
7 | "target": "es2018",
8 | "types": [
9 | "jasmine",
10 | "jasminewd2",
11 | "node"
12 | ]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Karma configuration file, see link for more information
2 | // https://karma-runner.github.io/1.0/config/configuration-file.html
3 |
4 | module.exports = function (config) {
5 | config.set({
6 | basePath: '',
7 | frameworks: ['jasmine', '@angular-devkit/build-angular'],
8 | plugins: [
9 | require('karma-jasmine'),
10 | require('karma-chrome-launcher'),
11 | require('karma-jasmine-html-reporter'),
12 | require('karma-coverage-istanbul-reporter'),
13 | require('@angular-devkit/build-angular/plugins/karma')
14 | ],
15 | client: {
16 | clearContext: false // leave Jasmine Spec Runner output visible in browser
17 | },
18 | coverageIstanbulReporter: {
19 | dir: require('path').join(__dirname, '../../coverage/angular-remix-icon-demo'),
20 | reports: ['html', 'lcovonly', 'text-summary'],
21 | fixWebpackSourcePaths: true
22 | },
23 | reporters: ['progress', 'kjhtml'],
24 | port: 9876,
25 | colors: true,
26 | logLevel: config.LOG_INFO,
27 | autoWatch: true,
28 | browsers: ['Chrome'],
29 | singleRun: false,
30 | restartOnFileChange: true
31 | });
32 | };
33 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
A simple wrapper for Angular which enabled you to use Remix Icons in your project.
15 |
16 | All the icons are injected as
17 | SVGs.
18 | Only the icons you configured will be bundled with your code.
19 |
20 |
21 |
22 | Examples
23 |
24 |
25 |
26 |
27 | Preview
28 | Icon Name
29 | Icon Import Name
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | home-2-fill
38 | RiHome2Fill
39 |
40 |
41 |
42 |
43 |
44 | mail-unread-line
45 | RiMailUnreadLine
46 |
47 |
48 |
49 |
50 |
51 | send-plane-fill
52 | RiSendPlaneFill
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/app/app.component.scss:
--------------------------------------------------------------------------------
1 | .header {
2 | display: flex;
3 | justify-content: space-between;
4 | align-items: center;
5 | border-bottom: 1px solid #eee;
6 | height: 70px;
7 | padding: 0 1rem;
8 | &__logo {
9 | height: 50px;
10 | }
11 |
12 | &__actions {
13 | display: grid;
14 | gap: 1rem;
15 | grid-template-columns: repeat(3, minmax(0, 1fr));
16 | color: #808080;
17 | }
18 | &-button{
19 | cursor: pointer;
20 | width: 22px;
21 | height: 22px;
22 | &:hover{
23 | color: #0071FF;
24 | }
25 | }
26 | }
27 |
28 |
29 | main{
30 | max-width: 700px;
31 | padding: 0 1rem;
32 | margin: 0 auto;
33 | text-align: center;
34 | }
35 | footer{
36 | display: flex;
37 | padding: 1rem;
38 | flex-direction: column;
39 | align-items: center;
40 | .btn{
41 | cursor: pointer;
42 | border:none;
43 | padding: 0.5rem 1.5rem;
44 | border-radius: 0.2rem;
45 | display: flex;
46 | justify-content: center;
47 | align-items: center;
48 | color: #fff;
49 | font-weight: 600;
50 | img{
51 | width: 24px;
52 | height: 24px;
53 | margin-right: 1rem;
54 | }
55 | }
56 | .btn.npm{
57 | background-color: #CB3837;
58 | }
59 | .btn.github{
60 | background-color: #181717;
61 | }
62 | }
63 | .footer__actions {
64 | display: grid;
65 | gap: 1rem;
66 | grid-template-columns: repeat(2, minmax(0, 1fr));
67 | color: #808080;
68 | }
69 |
70 | table {border-collapse:collapse;border-color:#ccc;border-spacing:0;margin:0px auto;}
71 | table td{background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px;color:#333;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;}
72 | table th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;border-width:1px;color:#333;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
73 | table th{background-color:#ecf4ff;text-align:left;vertical-align:top;font-weight: bold;}
74 | table td{text-align:left;vertical-align:top;font-weight: 600;}
75 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/app/app.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { TestBed } from '@angular/core/testing';
2 | import { RouterTestingModule } from '@angular/router/testing';
3 | import { AppComponent } from './app.component';
4 |
5 | describe('AppComponent', () => {
6 | beforeEach(async () => {
7 | await TestBed.configureTestingModule({
8 | imports: [
9 | RouterTestingModule
10 | ],
11 | declarations: [
12 | AppComponent
13 | ],
14 | }).compileComponents();
15 | });
16 |
17 | it('should create the app', () => {
18 | const fixture = TestBed.createComponent(AppComponent);
19 | const app = fixture.componentInstance;
20 | expect(app).toBeTruthy();
21 | });
22 |
23 | it(`should have as title 'angular-remix-icon-demo'`, () => {
24 | const fixture = TestBed.createComponent(AppComponent);
25 | const app = fixture.componentInstance;
26 | expect(app.title).toEqual('angular-remix-icon-demo');
27 | });
28 |
29 | it('should render title', () => {
30 | const fixture = TestBed.createComponent(AppComponent);
31 | fixture.detectChanges();
32 | const compiled = fixture.nativeElement;
33 | expect(compiled.querySelector('.content span').textContent).toContain('angular-remix-icon-demo app is running!');
34 | });
35 | });
36 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { AngularRemixIconComponent } from 'angular-remix-icon';
3 |
4 | @Component({
5 | selector: 'app-root',
6 | templateUrl: './app.component.html',
7 | styleUrls: ['./app.component.scss'],
8 | imports: [AngularRemixIconComponent],
9 | standalone: true,
10 | })
11 | export class AppComponent {}
12 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/app/app.config.ts:
--------------------------------------------------------------------------------
1 | import { ApplicationConfig } from '@angular/core';
2 | import {
3 | provideRemixIcon,
4 | RiChat3Fill,
5 | RiHome2Fill,
6 | RiMailUnreadLine,
7 | RiNotification2Fill,
8 | RiSendPlaneFill,
9 | RiSettings3Fill,
10 | } from 'angular-remix-icon';
11 |
12 | const ICONS = {
13 | RiNotification2Fill,
14 | RiChat3Fill,
15 | RiSettings3Fill,
16 | RiHome2Fill,
17 | RiMailUnreadLine,
18 | RiSendPlaneFill,
19 | };
20 | export const APP_CONFIG: ApplicationConfig = {
21 | providers: [provideRemixIcon(ICONS)],
22 | };
23 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adisreyaj/angular-remix-icon/9d44bea49adbf861d4de3897c919b3892b119ed3/projects/angular-remix-icon-demo/src/assets/.gitkeep
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/assets/angular-remix-icon-full.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/assets/angular-remix-icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/assets/github.svg:
--------------------------------------------------------------------------------
1 | GitHub icon
2 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/assets/npm.svg:
--------------------------------------------------------------------------------
1 | NPM icon
2 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | // This file can be replaced during build by using the `fileReplacements` array.
2 | // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
3 | // The list of file replacements can be found in `angular.json`.
4 |
5 | export const environment = {
6 | production: false
7 | };
8 |
9 | /*
10 | * For easier debugging in development mode, you can import the following file
11 | * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
12 | *
13 | * This import should be commented out in production mode because it will have a negative impact
14 | * on performance if an error is thrown.
15 | */
16 | // import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
17 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adisreyaj/angular-remix-icon/9d44bea49adbf861d4de3897c919b3892b119ed3/projects/angular-remix-icon-demo/src/favicon.ico
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Angular Remix Icon Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrapApplication } from '@angular/platform-browser';
2 | import { AppComponent } from './app/app.component';
3 | import { APP_CONFIG } from './app/app.config';
4 |
5 | bootstrapApplication(AppComponent, APP_CONFIG).catch((err) =>
6 | console.error(err)
7 | );
8 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/polyfills.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * This file includes polyfills needed by Angular and is loaded before the app.
3 | * You can add your own extra polyfills to this file.
4 | *
5 | * This file is divided into 2 sections:
6 | * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
7 | * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
8 | * file.
9 | *
10 | * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
11 | * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
12 | * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
13 | *
14 | * Learn more in https://angular.io/guide/browser-support
15 | */
16 |
17 | /***************************************************************************************************
18 | * BROWSER POLYFILLS
19 | */
20 |
21 | /**
22 | * By default, zone.js will patch all possible macroTask and DomEvents
23 | * user can disable parts of macroTask/DomEvents patch by setting following flags
24 | * because those flags need to be set before `zone.js` being loaded, and webpack
25 | * will put import in the top of bundle, so user need to create a separate file
26 | * in this directory (for example: zone-flags.ts), and put the following flags
27 | * into that file, and then add the following code before importing zone.js.
28 | * import './zone-flags';
29 | *
30 | * The flags allowed in zone-flags.ts are listed here.
31 | *
32 | * The following flags will work for all browsers.
33 | *
34 | * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
35 | * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
36 | * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
37 | *
38 | * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
39 | * with the following flag, it will bypass `zone.js` patch for IE/Edge
40 | *
41 | * (window as any).__Zone_enable_cross_context_check = true;
42 | *
43 | */
44 |
45 | /***************************************************************************************************
46 | * Zone JS is required by default for Angular itself.
47 | */
48 | import 'zone.js'; // Included with Angular CLI.
49 |
50 |
51 | /***************************************************************************************************
52 | * APPLICATION IMPORTS
53 | */
54 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/styles.scss:
--------------------------------------------------------------------------------
1 |
2 | body,html{
3 | padding: 0;margin: 0;
4 | font-family: 'Source Sans Pro', sans-serif;
5 | }
6 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting(), {
14 | teardown: { destroyAfterEach: false }
15 | }
16 | );
17 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "../../tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "../../out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "../../tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "../../out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon-demo/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tslint.json",
3 | "rules": {
4 | "directive-selector": [
5 | true,
6 | "attribute",
7 | "app",
8 | "camelCase"
9 | ],
10 | "component-selector": [
11 | true,
12 | "element",
13 | "app",
14 | "kebab-case"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Angular Remix Icon
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | > Use Remix Icons in your angular application
16 |
17 | Wrapper for using remix icons in your angular application.
18 | All the icons are injected as svgs and you can apply color and sizes to them with ease.
19 |
20 | ### Usage
21 |
22 | _1. Install the package_
23 |
24 | ```sh
25 | npm install angular-remix-icon
26 | ```
27 |
28 | _2. Import the module to `App Module`_
29 |
30 | ```ts
31 | import { RemixIconModule } from "angular-remix-icon";
32 | ```
33 |
34 | _3. Import Required Icons_
35 |
36 | For the library to work, the required icons needs to be configured first
37 |
38 | ```ts
39 | ...
40 | import {
41 | RiAncientGateFill,
42 | RiHome2Fill,
43 | RemixIconModule,
44 | } from 'angular-remix-icon';
45 |
46 | // Configure the required icons before hand
47 | const icons = {
48 | RiAncientGateFill,
49 | RiHome2Fill,
50 | };
51 |
52 | @NgModule({
53 | imports: [
54 | BrowserModule,
55 | RemixIconModule.configure(icons),
56 | ],
57 | ...
58 | })
59 | export class AppModule {}
60 | ```
61 |
62 | You can get the name from the [Remix Icon](https://remixicon.com) website
63 |
64 | 
65 |
66 | The required icons can be imported as see above. For eg: If you need the `home-3-line`, You have to import the corresponding Icon:
67 |
68 | ```ts
69 | import { RiHome3Line } from "angular-remix-icon";
70 | ```
71 |
72 | _4. Use in template_
73 |
74 | You can now start using the icons like so:
75 |
76 | ```html
77 |
78 | ```
79 |
80 | ### Styling
81 |
82 | If you want change color or size of the icons,
83 |
84 | ```html
85 |
86 | ```
87 |
88 | or
89 |
90 | ```css
91 | .blue-icon {
92 | color: blue;
93 | }
94 | .large-icon {
95 | width: 30px;
96 | height: 30px;
97 | }
98 | ```
99 |
100 | ```html
101 |
102 | ```
103 |
104 | ## Versions
105 |
106 | | Angular | Angular Remix Icon |
107 | |-----------|--------------------|
108 | | \>= v18 | v8 |
109 | | v16 & v17 | v6 |
110 | | v15 | v5 |
111 | | v14 | v4 |
112 | | v13 | v3 |
113 | | v12 | v2 |
114 |
115 | `v8` we switched to signal input for icons.
116 |
117 | ## 🤝 Contributing
118 |
119 | Contributions, issues and feature requests are welcome.
120 | Feel free to check [issues page](https://github.com/adisreyaj/angular-remix-icon/issues) if you want to contribute.
121 |
122 | ## Author
123 |
124 | 👤 **Adithya Sreyaj**
125 |
126 | - Twitter: [@AdiSreyaj](https://twitter.com/AdiSreyaj)
127 | - Github: [@adisreyaj](https://github.com/adisreyaj)
128 |
129 | ## 👍🏼 Show your support
130 |
131 | Please ⭐️ this repository if this project helped you!
132 |
133 | ## 📝 License
134 |
135 | Copyright © 2020 [Adithya Sreyaj](https://github.com/adisreyaj).
136 |
137 | This project is [Apache License 2.0](https://github.com/adisreyaj/angular-remix-icon/blob/master/LICENSE.md) licensed.
138 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Karma configuration file, see link for more information
2 | // https://karma-runner.github.io/1.0/config/configuration-file.html
3 |
4 | module.exports = function (config) {
5 | config.set({
6 | basePath: '',
7 | frameworks: ['jasmine', '@angular-devkit/build-angular'],
8 | plugins: [
9 | require('karma-jasmine'),
10 | require('karma-chrome-launcher'),
11 | require('karma-jasmine-html-reporter'),
12 | require('karma-coverage-istanbul-reporter'),
13 | require('@angular-devkit/build-angular/plugins/karma')
14 | ],
15 | client: {
16 | clearContext: false // leave Jasmine Spec Runner output visible in browser
17 | },
18 | coverageIstanbulReporter: {
19 | dir: require('path').join(__dirname, '../../coverage/angular-remix-icon'),
20 | reports: ['html', 'lcovonly', 'text-summary'],
21 | fixWebpackSourcePaths: true
22 | },
23 | reporters: ['progress', 'kjhtml'],
24 | port: 9876,
25 | colors: true,
26 | logLevel: config.LOG_INFO,
27 | autoWatch: true,
28 | browsers: ['Chrome'],
29 | singleRun: false,
30 | restartOnFileChange: true
31 | });
32 | };
33 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/ng-package.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3 | "dest": "../../dist/angular-remix-icon",
4 | "lib": {
5 | "entryFile": "src/public-api.ts"
6 | }
7 | }
--------------------------------------------------------------------------------
/projects/angular-remix-icon/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-remix-icon",
3 | "version": "8.0.0",
4 | "author": {
5 | "name": "Adithya Sreyaj",
6 | "email": "adi.sreyaj@gmail.com",
7 | "url": "https://adi.so"
8 | },
9 | "description": "A simple component that would allow you to use remix icon in Angular",
10 | "keywords": [
11 | "angular",
12 | "icons",
13 | "remix icon",
14 | "angular remix icon"
15 | ],
16 | "license": "MIT",
17 | "bugs": {
18 | "url": "https://github.com/adisreyaj/angular-remix-icon/issues"
19 | },
20 | "homepage": "https://github.com/adisreyaj/angular-remix-icon/",
21 | "peerDependencies": {
22 | "@angular/common": ">=18.0.0",
23 | "@angular/core": ">=18.0.0"
24 | },
25 | "dependencies": {
26 | "tslib": "^2.3.0"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/src/lib/angular-remix-icon.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed } from '@angular/core/testing';
2 |
3 | import { AngularRemixIconComponent } from './angular-remix-icon.component';
4 |
5 | describe('AngularRemixIconComponent', () => {
6 | let component: AngularRemixIconComponent;
7 | let fixture: ComponentFixture;
8 |
9 | beforeEach(async () => {
10 | await TestBed.configureTestingModule({
11 | declarations: [ AngularRemixIconComponent ]
12 | })
13 | .compileComponents();
14 | });
15 |
16 | beforeEach(() => {
17 | fixture = TestBed.createComponent(AngularRemixIconComponent);
18 | component = fixture.componentInstance;
19 | fixture.detectChanges();
20 | });
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 | });
26 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/src/lib/angular-remix-icon.component.ts:
--------------------------------------------------------------------------------
1 | import {
2 | ChangeDetectorRef,
3 | Component,
4 | ElementRef,
5 | HostBinding,
6 | inject,
7 | input,
8 | Input,
9 | OnChanges,
10 | SimpleChanges,
11 | } from '@angular/core';
12 | import { IconName } from './icon-names';
13 | import { SELECTED_ICONS } from './provider';
14 | import { upperCamelCase } from './utils/utils';
15 |
16 | @Component({
17 | selector: 'rmx-icon',
18 | template: ` `,
19 | styles: [
20 | `
21 | :host {
22 | display: block;
23 | width: 24px;
24 | height: 24px;
25 | fill: currentColor;
26 | }
27 | `,
28 | ],
29 | standalone: true,
30 | })
31 | export class AngularRemixIconComponent implements OnChanges {
32 | public name = input.required();
33 |
34 | private readonly elem: ElementRef = inject(ElementRef);
35 | private readonly changeDetector: ChangeDetectorRef =
36 | inject(ChangeDetectorRef);
37 |
38 | private readonly icons: Record = inject(SELECTED_ICONS, {
39 | skipSelf: true,
40 | });
41 |
42 | @HostBinding('class')
43 | public get classes(): string {
44 | return `rmx-icon rmx-icon-${this.name()}`;
45 | }
46 |
47 | ngOnChanges(changes: SimpleChanges): void {
48 | const svg =
49 | this.icons[`Ri${upperCamelCase(this.name())}`] || '';
50 | if (!svg) {
51 | console.warn(`Icon not found: ${this.name()}\n`);
52 | }
53 | this.elem.nativeElement.innerHTML = svg;
54 | this.changeDetector.markForCheck();
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/src/lib/angular-remix-icon.module.ts:
--------------------------------------------------------------------------------
1 | import { ModuleWithProviders, NgModule } from '@angular/core';
2 |
3 | import { AngularRemixIconComponent } from './angular-remix-icon.component';
4 | import { SELECTED_ICONS } from './provider';
5 |
6 | /**
7 | * @deprecated - Use the new `provideRemixIcon` function instead.
8 | */
9 | @NgModule({
10 | imports: [AngularRemixIconComponent],
11 | exports: [AngularRemixIconComponent],
12 | })
13 | export class RemixIconModule {
14 | /**
15 | * Configure the icons that needs to be made available for
16 | * user in the application.
17 | *
18 | * @param icons - Object
19 | */
20 | static configure(
21 | icons: Record,
22 | ): ModuleWithProviders {
23 | return {
24 | ngModule: RemixIconModule,
25 | providers: [{ provide: SELECTED_ICONS, multi: false, useValue: icons }],
26 | };
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/src/lib/icon-names.ts:
--------------------------------------------------------------------------------
1 | export type IconName = 'arrow-down-circle-fill'
2 | | 'arrow-down-circle-line'
3 | | 'arrow-down-double-fill'
4 | | 'arrow-down-double-line'
5 | | 'arrow-down-fill'
6 | | 'arrow-down-line'
7 | | 'arrow-down-s-fill'
8 | | 'arrow-down-s-line'
9 | | 'arrow-down-wide-fill'
10 | | 'arrow-down-wide-line'
11 | | 'arrow-drop-down-fill'
12 | | 'arrow-drop-down-line'
13 | | 'arrow-drop-left-fill'
14 | | 'arrow-drop-left-line'
15 | | 'arrow-drop-right-fill'
16 | | 'arrow-drop-right-line'
17 | | 'arrow-drop-up-fill'
18 | | 'arrow-drop-up-line'
19 | | 'arrow-go-back-fill'
20 | | 'arrow-go-back-line'
21 | | 'arrow-go-forward-fill'
22 | | 'arrow-go-forward-line'
23 | | 'arrow-left-circle-fill'
24 | | 'arrow-left-circle-line'
25 | | 'arrow-left-double-fill'
26 | | 'arrow-left-double-line'
27 | | 'arrow-left-down-fill'
28 | | 'arrow-left-down-line'
29 | | 'arrow-left-fill'
30 | | 'arrow-left-line'
31 | | 'arrow-left-right-fill'
32 | | 'arrow-left-right-line'
33 | | 'arrow-left-s-fill'
34 | | 'arrow-left-s-line'
35 | | 'arrow-left-up-fill'
36 | | 'arrow-left-up-line'
37 | | 'arrow-left-wide-fill'
38 | | 'arrow-left-wide-line'
39 | | 'arrow-right-circle-fill'
40 | | 'arrow-right-circle-line'
41 | | 'arrow-right-double-fill'
42 | | 'arrow-right-double-line'
43 | | 'arrow-right-down-fill'
44 | | 'arrow-right-down-line'
45 | | 'arrow-right-fill'
46 | | 'arrow-right-line'
47 | | 'arrow-right-s-fill'
48 | | 'arrow-right-s-line'
49 | | 'arrow-right-up-fill'
50 | | 'arrow-right-up-line'
51 | | 'arrow-right-wide-fill'
52 | | 'arrow-right-wide-line'
53 | | 'arrow-turn-back-fill'
54 | | 'arrow-turn-back-line'
55 | | 'arrow-turn-forward-fill'
56 | | 'arrow-turn-forward-line'
57 | | 'arrow-up-circle-fill'
58 | | 'arrow-up-circle-line'
59 | | 'arrow-up-double-fill'
60 | | 'arrow-up-double-line'
61 | | 'arrow-up-down-fill'
62 | | 'arrow-up-down-line'
63 | | 'arrow-up-fill'
64 | | 'arrow-up-line'
65 | | 'arrow-up-s-fill'
66 | | 'arrow-up-s-line'
67 | | 'arrow-up-wide-fill'
68 | | 'arrow-up-wide-line'
69 | | 'collapse-diagonal-2-fill'
70 | | 'collapse-diagonal-2-line'
71 | | 'collapse-diagonal-fill'
72 | | 'collapse-diagonal-line'
73 | | 'collapse-horizontal-fill'
74 | | 'collapse-horizontal-line'
75 | | 'collapse-vertical-fill'
76 | | 'collapse-vertical-line'
77 | | 'contract-left-fill'
78 | | 'contract-left-line'
79 | | 'contract-left-right-fill'
80 | | 'contract-left-right-line'
81 | | 'contract-right-fill'
82 | | 'contract-right-line'
83 | | 'contract-up-down-fill'
84 | | 'contract-up-down-line'
85 | | 'corner-down-left-fill'
86 | | 'corner-down-left-line'
87 | | 'corner-down-right-fill'
88 | | 'corner-down-right-line'
89 | | 'corner-left-down-fill'
90 | | 'corner-left-down-line'
91 | | 'corner-left-up-fill'
92 | | 'corner-left-up-line'
93 | | 'corner-right-down-fill'
94 | | 'corner-right-down-line'
95 | | 'corner-right-up-fill'
96 | | 'corner-right-up-line'
97 | | 'corner-up-left-double-fill'
98 | | 'corner-up-left-double-line'
99 | | 'corner-up-left-fill'
100 | | 'corner-up-left-line'
101 | | 'corner-up-right-double-fill'
102 | | 'corner-up-right-double-line'
103 | | 'corner-up-right-fill'
104 | | 'corner-up-right-line'
105 | | 'drag-move-2-fill'
106 | | 'drag-move-2-line'
107 | | 'drag-move-fill'
108 | | 'drag-move-line'
109 | | 'expand-diagonal-2-fill'
110 | | 'expand-diagonal-2-line'
111 | | 'expand-diagonal-fill'
112 | | 'expand-diagonal-line'
113 | | 'expand-diagonal-s-2-fill'
114 | | 'expand-diagonal-s-2-line'
115 | | 'expand-diagonal-s-fill'
116 | | 'expand-diagonal-s-line'
117 | | 'expand-height-fill'
118 | | 'expand-height-line'
119 | | 'expand-horizontal-fill'
120 | | 'expand-horizontal-line'
121 | | 'expand-horizontal-s-fill'
122 | | 'expand-horizontal-s-line'
123 | | 'expand-left-fill'
124 | | 'expand-left-line'
125 | | 'expand-left-right-fill'
126 | | 'expand-left-right-line'
127 | | 'expand-right-fill'
128 | | 'expand-right-line'
129 | | 'expand-up-down-fill'
130 | | 'expand-up-down-line'
131 | | 'expand-vertical-fill'
132 | | 'expand-vertical-line'
133 | | 'expand-vertical-s-fill'
134 | | 'expand-vertical-s-line'
135 | | 'expand-width-fill'
136 | | 'expand-width-line'
137 | | 'scroll-to-bottom-fill'
138 | | 'scroll-to-bottom-line'
139 | | 'skip-down-fill'
140 | | 'skip-down-line'
141 | | 'skip-left-fill'
142 | | 'skip-left-line'
143 | | 'skip-right-fill'
144 | | 'skip-right-line'
145 | | 'skip-up-fill'
146 | | 'skip-up-line'
147 | | 'ancient-gate-fill'
148 | | 'ancient-gate-line'
149 | | 'ancient-pavilion-fill'
150 | | 'ancient-pavilion-line'
151 | | 'bank-fill'
152 | | 'bank-line'
153 | | 'building-2-fill'
154 | | 'building-2-line'
155 | | 'building-3-fill'
156 | | 'building-3-line'
157 | | 'building-4-fill'
158 | | 'building-4-line'
159 | | 'building-fill'
160 | | 'building-line'
161 | | 'community-fill'
162 | | 'community-line'
163 | | 'government-fill'
164 | | 'government-line'
165 | | 'home-2-fill'
166 | | 'home-2-line'
167 | | 'home-3-fill'
168 | | 'home-3-line'
169 | | 'home-4-fill'
170 | | 'home-4-line'
171 | | 'home-5-fill'
172 | | 'home-5-line'
173 | | 'home-6-fill'
174 | | 'home-6-line'
175 | | 'home-7-fill'
176 | | 'home-7-line'
177 | | 'home-8-fill'
178 | | 'home-8-line'
179 | | 'home-fill'
180 | | 'home-gear-fill'
181 | | 'home-gear-line'
182 | | 'home-heart-fill'
183 | | 'home-heart-line'
184 | | 'home-line'
185 | | 'home-office-fill'
186 | | 'home-office-line'
187 | | 'home-smile-2-fill'
188 | | 'home-smile-2-line'
189 | | 'home-smile-fill'
190 | | 'home-smile-line'
191 | | 'home-wifi-fill'
192 | | 'home-wifi-line'
193 | | 'hospital-fill'
194 | | 'hospital-line'
195 | | 'hotel-fill'
196 | | 'hotel-line'
197 | | 'school-fill'
198 | | 'school-line'
199 | | 'store-2-fill'
200 | | 'store-2-line'
201 | | 'store-3-fill'
202 | | 'store-3-line'
203 | | 'store-fill'
204 | | 'store-line'
205 | | 'tent-fill'
206 | | 'tent-line'
207 | | 'advertisement-fill'
208 | | 'advertisement-line'
209 | | 'archive-2-fill'
210 | | 'archive-2-line'
211 | | 'archive-drawer-fill'
212 | | 'archive-drawer-line'
213 | | 'archive-fill'
214 | | 'archive-line'
215 | | 'archive-stack-fill'
216 | | 'archive-stack-line'
217 | | 'at-fill'
218 | | 'at-line'
219 | | 'attachment-fill'
220 | | 'attachment-line'
221 | | 'award-fill'
222 | | 'award-line'
223 | | 'bar-chart-2-fill'
224 | | 'bar-chart-2-line'
225 | | 'bar-chart-box-fill'
226 | | 'bar-chart-box-line'
227 | | 'bar-chart-fill'
228 | | 'bar-chart-grouped-fill'
229 | | 'bar-chart-grouped-line'
230 | | 'bar-chart-horizontal-fill'
231 | | 'bar-chart-horizontal-line'
232 | | 'bar-chart-line'
233 | | 'bookmark-2-fill'
234 | | 'bookmark-2-line'
235 | | 'bookmark-3-fill'
236 | | 'bookmark-3-line'
237 | | 'bookmark-fill'
238 | | 'bookmark-line'
239 | | 'briefcase-2-fill'
240 | | 'briefcase-2-line'
241 | | 'briefcase-3-fill'
242 | | 'briefcase-3-line'
243 | | 'briefcase-4-fill'
244 | | 'briefcase-4-line'
245 | | 'briefcase-5-fill'
246 | | 'briefcase-5-line'
247 | | 'briefcase-fill'
248 | | 'briefcase-line'
249 | | 'bubble-chart-fill'
250 | | 'bubble-chart-line'
251 | | 'calculator-fill'
252 | | 'calculator-line'
253 | | 'calendar-2-fill'
254 | | 'calendar-2-line'
255 | | 'calendar-check-fill'
256 | | 'calendar-check-line'
257 | | 'calendar-close-fill'
258 | | 'calendar-close-line'
259 | | 'calendar-event-fill'
260 | | 'calendar-event-line'
261 | | 'calendar-fill'
262 | | 'calendar-line'
263 | | 'calendar-schedule-fill'
264 | | 'calendar-schedule-line'
265 | | 'calendar-todo-fill'
266 | | 'calendar-todo-line'
267 | | 'cloud-fill'
268 | | 'cloud-line'
269 | | 'cloud-off-fill'
270 | | 'cloud-off-line'
271 | | 'copyleft-fill'
272 | | 'copyleft-line'
273 | | 'copyright-fill'
274 | | 'copyright-line'
275 | | 'creative-commons-by-fill'
276 | | 'creative-commons-by-line'
277 | | 'creative-commons-fill'
278 | | 'creative-commons-line'
279 | | 'creative-commons-nc-fill'
280 | | 'creative-commons-nc-line'
281 | | 'creative-commons-nd-fill'
282 | | 'creative-commons-nd-line'
283 | | 'creative-commons-sa-fill'
284 | | 'creative-commons-sa-line'
285 | | 'creative-commons-zero-fill'
286 | | 'creative-commons-zero-line'
287 | | 'customer-service-2-fill'
288 | | 'customer-service-2-line'
289 | | 'customer-service-fill'
290 | | 'customer-service-line'
291 | | 'donut-chart-fill'
292 | | 'donut-chart-line'
293 | | 'flag-2-fill'
294 | | 'flag-2-line'
295 | | 'flag-fill'
296 | | 'flag-line'
297 | | 'global-fill'
298 | | 'global-line'
299 | | 'honour-fill'
300 | | 'honour-line'
301 | | 'id-card-fill'
302 | | 'id-card-line'
303 | | 'inbox-2-fill'
304 | | 'inbox-2-line'
305 | | 'inbox-archive-fill'
306 | | 'inbox-archive-line'
307 | | 'inbox-fill'
308 | | 'inbox-line'
309 | | 'inbox-unarchive-fill'
310 | | 'inbox-unarchive-line'
311 | | 'line-chart-fill'
312 | | 'line-chart-line'
313 | | 'links-fill'
314 | | 'links-line'
315 | | 'mail-add-fill'
316 | | 'mail-add-line'
317 | | 'mail-check-fill'
318 | | 'mail-check-line'
319 | | 'mail-close-fill'
320 | | 'mail-close-line'
321 | | 'mail-download-fill'
322 | | 'mail-download-line'
323 | | 'mail-fill'
324 | | 'mail-forbid-fill'
325 | | 'mail-forbid-line'
326 | | 'mail-line'
327 | | 'mail-lock-fill'
328 | | 'mail-lock-line'
329 | | 'mail-open-fill'
330 | | 'mail-open-line'
331 | | 'mail-send-fill'
332 | | 'mail-send-line'
333 | | 'mail-settings-fill'
334 | | 'mail-settings-line'
335 | | 'mail-star-fill'
336 | | 'mail-star-line'
337 | | 'mail-unread-fill'
338 | | 'mail-unread-line'
339 | | 'mail-volume-fill'
340 | | 'mail-volume-line'
341 | | 'medal-2-fill'
342 | | 'medal-2-line'
343 | | 'medal-fill'
344 | | 'medal-line'
345 | | 'megaphone-fill'
346 | | 'megaphone-line'
347 | | 'pass-expired-fill'
348 | | 'pass-expired-line'
349 | | 'pass-pending-fill'
350 | | 'pass-pending-line'
351 | | 'pass-valid-fill'
352 | | 'pass-valid-line'
353 | | 'pie-chart-2-fill'
354 | | 'pie-chart-2-line'
355 | | 'pie-chart-box-fill'
356 | | 'pie-chart-box-line'
357 | | 'pie-chart-fill'
358 | | 'pie-chart-line'
359 | | 'presentation-fill'
360 | | 'presentation-line'
361 | | 'printer-cloud-fill'
362 | | 'printer-cloud-line'
363 | | 'printer-fill'
364 | | 'printer-line'
365 | | 'profile-fill'
366 | | 'profile-line'
367 | | 'projector-2-fill'
368 | | 'projector-2-line'
369 | | 'projector-fill'
370 | | 'projector-line'
371 | | 'record-mail-fill'
372 | | 'record-mail-line'
373 | | 'registered-fill'
374 | | 'registered-line'
375 | | 'reply-all-fill'
376 | | 'reply-all-line'
377 | | 'reply-fill'
378 | | 'reply-line'
379 | | 'send-plane-2-fill'
380 | | 'send-plane-2-line'
381 | | 'send-plane-fill'
382 | | 'send-plane-line'
383 | | 'seo-fill'
384 | | 'seo-line'
385 | | 'service-fill'
386 | | 'service-line'
387 | | 'shake-hands-fill'
388 | | 'shake-hands-line'
389 | | 'slideshow-2-fill'
390 | | 'slideshow-2-line'
391 | | 'slideshow-3-fill'
392 | | 'slideshow-3-line'
393 | | 'slideshow-4-fill'
394 | | 'slideshow-4-line'
395 | | 'slideshow-fill'
396 | | 'slideshow-line'
397 | | 'stack-fill'
398 | | 'stack-line'
399 | | 'trademark-fill'
400 | | 'trademark-line'
401 | | 'triangular-flag-fill'
402 | | 'triangular-flag-line'
403 | | 'verified-badge-fill'
404 | | 'verified-badge-line'
405 | | 'window-2-fill'
406 | | 'window-2-line'
407 | | 'window-fill'
408 | | 'window-line'
409 | | 'chat-1-fill'
410 | | 'chat-1-line'
411 | | 'chat-2-fill'
412 | | 'chat-2-line'
413 | | 'chat-3-fill'
414 | | 'chat-3-line'
415 | | 'chat-4-fill'
416 | | 'chat-4-line'
417 | | 'chat-check-fill'
418 | | 'chat-check-line'
419 | | 'chat-delete-fill'
420 | | 'chat-delete-line'
421 | | 'chat-download-fill'
422 | | 'chat-download-line'
423 | | 'chat-follow-up-fill'
424 | | 'chat-follow-up-line'
425 | | 'chat-forward-fill'
426 | | 'chat-forward-line'
427 | | 'chat-heart-fill'
428 | | 'chat-heart-line'
429 | | 'chat-history-fill'
430 | | 'chat-history-line'
431 | | 'chat-new-fill'
432 | | 'chat-new-line'
433 | | 'chat-off-fill'
434 | | 'chat-off-line'
435 | | 'chat-poll-fill'
436 | | 'chat-poll-line'
437 | | 'chat-private-fill'
438 | | 'chat-private-line'
439 | | 'chat-quote-fill'
440 | | 'chat-quote-line'
441 | | 'chat-search-fill'
442 | | 'chat-search-line'
443 | | 'chat-settings-fill'
444 | | 'chat-settings-line'
445 | | 'chat-smile-2-fill'
446 | | 'chat-smile-2-line'
447 | | 'chat-smile-3-fill'
448 | | 'chat-smile-3-line'
449 | | 'chat-smile-fill'
450 | | 'chat-smile-line'
451 | | 'chat-thread-fill'
452 | | 'chat-thread-line'
453 | | 'chat-unread-fill'
454 | | 'chat-unread-line'
455 | | 'chat-upload-fill'
456 | | 'chat-upload-line'
457 | | 'chat-voice-fill'
458 | | 'chat-voice-line'
459 | | 'discuss-fill'
460 | | 'discuss-line'
461 | | 'emoji-sticker-fill'
462 | | 'emoji-sticker-line'
463 | | 'feedback-fill'
464 | | 'feedback-line'
465 | | 'message-2-fill'
466 | | 'message-2-line'
467 | | 'message-3-fill'
468 | | 'message-3-line'
469 | | 'message-fill'
470 | | 'message-line'
471 | | 'question-answer-fill'
472 | | 'question-answer-line'
473 | | 'questionnaire-fill'
474 | | 'questionnaire-line'
475 | | 'speak-fill'
476 | | 'speak-line'
477 | | 'video-chat-fill'
478 | | 'video-chat-line'
479 | | 'align-item-bottom-fill'
480 | | 'align-item-bottom-line'
481 | | 'align-item-horizontal-center-fill'
482 | | 'align-item-horizontal-center-line'
483 | | 'align-item-left-fill'
484 | | 'align-item-left-line'
485 | | 'align-item-right-fill'
486 | | 'align-item-right-line'
487 | | 'align-item-top-fill'
488 | | 'align-item-top-line'
489 | | 'align-item-vertical-center-fill'
490 | | 'align-item-vertical-center-line'
491 | | 'anticlockwise-2-fill'
492 | | 'anticlockwise-2-line'
493 | | 'anticlockwise-fill'
494 | | 'anticlockwise-line'
495 | | 'artboard-2-fill'
496 | | 'artboard-2-line'
497 | | 'artboard-fill'
498 | | 'artboard-line'
499 | | 'ball-pen-fill'
500 | | 'ball-pen-line'
501 | | 'blur-off-fill'
502 | | 'blur-off-line'
503 | | 'brush-2-fill'
504 | | 'brush-2-line'
505 | | 'brush-3-fill'
506 | | 'brush-3-line'
507 | | 'brush-4-fill'
508 | | 'brush-4-line'
509 | | 'brush-fill'
510 | | 'brush-line'
511 | | 'circle-fill'
512 | | 'circle-line'
513 | | 'clockwise-2-fill'
514 | | 'clockwise-2-line'
515 | | 'clockwise-fill'
516 | | 'clockwise-line'
517 | | 'collage-fill'
518 | | 'collage-line'
519 | | 'color-filter-fill'
520 | | 'color-filter-line'
521 | | 'compasses-2-fill'
522 | | 'compasses-2-line'
523 | | 'compasses-fill'
524 | | 'compasses-line'
525 | | 'contrast-2-fill'
526 | | 'contrast-2-line'
527 | | 'contrast-drop-2-fill'
528 | | 'contrast-drop-2-line'
529 | | 'contrast-drop-fill'
530 | | 'contrast-drop-line'
531 | | 'contrast-fill'
532 | | 'contrast-line'
533 | | 'crop-2-fill'
534 | | 'crop-2-line'
535 | | 'crop-fill'
536 | | 'crop-line'
537 | | 'crosshair-2-fill'
538 | | 'crosshair-2-line'
539 | | 'crosshair-fill'
540 | | 'crosshair-line'
541 | | 'drag-drop-fill'
542 | | 'drag-drop-line'
543 | | 'drop-fill'
544 | | 'drop-line'
545 | | 'edit-2-fill'
546 | | 'edit-2-line'
547 | | 'edit-box-fill'
548 | | 'edit-box-line'
549 | | 'edit-circle-fill'
550 | | 'edit-circle-line'
551 | | 'edit-fill'
552 | | 'edit-line'
553 | | 'eraser-fill'
554 | | 'eraser-line'
555 | | 'flip-horizontal-2-fill'
556 | | 'flip-horizontal-2-line'
557 | | 'flip-horizontal-fill'
558 | | 'flip-horizontal-line'
559 | | 'flip-vertical-2-fill'
560 | | 'flip-vertical-2-line'
561 | | 'flip-vertical-fill'
562 | | 'flip-vertical-line'
563 | | 'focus-2-fill'
564 | | 'focus-2-line'
565 | | 'focus-3-fill'
566 | | 'focus-3-line'
567 | | 'focus-fill'
568 | | 'focus-line'
569 | | 'grid-fill'
570 | | 'grid-line'
571 | | 'hammer-fill'
572 | | 'hammer-line'
573 | | 'hexagon-fill'
574 | | 'hexagon-line'
575 | | 'ink-bottle-fill'
576 | | 'ink-bottle-line'
577 | | 'input-method-fill'
578 | | 'input-method-line'
579 | | 'layout-2-fill'
580 | | 'layout-2-line'
581 | | 'layout-3-fill'
582 | | 'layout-3-line'
583 | | 'layout-4-fill'
584 | | 'layout-4-line'
585 | | 'layout-5-fill'
586 | | 'layout-5-line'
587 | | 'layout-6-fill'
588 | | 'layout-6-line'
589 | | 'layout-bottom-2-fill'
590 | | 'layout-bottom-2-line'
591 | | 'layout-bottom-fill'
592 | | 'layout-bottom-line'
593 | | 'layout-column-fill'
594 | | 'layout-column-line'
595 | | 'layout-fill'
596 | | 'layout-grid-2-fill'
597 | | 'layout-grid-2-line'
598 | | 'layout-grid-fill'
599 | | 'layout-grid-line'
600 | | 'layout-horizontal-fill'
601 | | 'layout-horizontal-line'
602 | | 'layout-left-2-fill'
603 | | 'layout-left-2-line'
604 | | 'layout-left-fill'
605 | | 'layout-left-line'
606 | | 'layout-line'
607 | | 'layout-masonry-fill'
608 | | 'layout-masonry-line'
609 | | 'layout-right-2-fill'
610 | | 'layout-right-2-line'
611 | | 'layout-right-fill'
612 | | 'layout-right-line'
613 | | 'layout-row-fill'
614 | | 'layout-row-line'
615 | | 'layout-top-2-fill'
616 | | 'layout-top-2-line'
617 | | 'layout-top-fill'
618 | | 'layout-top-line'
619 | | 'layout-vertical-fill'
620 | | 'layout-vertical-line'
621 | | 'magic-fill'
622 | | 'magic-line'
623 | | 'mark-pen-fill'
624 | | 'mark-pen-line'
625 | | 'markup-fill'
626 | | 'markup-line'
627 | | 'octagon-fill'
628 | | 'octagon-line'
629 | | 'paint-brush-fill'
630 | | 'paint-brush-line'
631 | | 'paint-fill'
632 | | 'paint-line'
633 | | 'palette-fill'
634 | | 'palette-line'
635 | | 'pantone-fill'
636 | | 'pantone-line'
637 | | 'pen-nib-fill'
638 | | 'pen-nib-line'
639 | | 'pencil-fill'
640 | | 'pencil-line'
641 | | 'pencil-ruler-2-fill'
642 | | 'pencil-ruler-2-line'
643 | | 'pencil-ruler-fill'
644 | | 'pencil-ruler-line'
645 | | 'pentagon-fill'
646 | | 'pentagon-line'
647 | | 'quill-pen-fill'
648 | | 'quill-pen-line'
649 | | 'rectangle-fill'
650 | | 'rectangle-line'
651 | | 'ruler-2-fill'
652 | | 'ruler-2-line'
653 | | 'ruler-fill'
654 | | 'ruler-line'
655 | | 'scissors-2-fill'
656 | | 'scissors-2-line'
657 | | 'scissors-cut-fill'
658 | | 'scissors-cut-line'
659 | | 'scissors-fill'
660 | | 'scissors-line'
661 | | 'screenshot-2-fill'
662 | | 'screenshot-2-line'
663 | | 'screenshot-fill'
664 | | 'screenshot-line'
665 | | 'shadow-fill'
666 | | 'shadow-line'
667 | | 'shape-2-fill'
668 | | 'shape-2-line'
669 | | 'shape-fill'
670 | | 'shape-line'
671 | | 'shapes-fill'
672 | | 'shapes-line'
673 | | 'sip-fill'
674 | | 'sip-line'
675 | | 'slice-fill'
676 | | 'slice-line'
677 | | 'square-fill'
678 | | 'square-line'
679 | | 't-box-fill'
680 | | 't-box-line'
681 | | 'table-alt-fill'
682 | | 'table-alt-line'
683 | | 'table-fill'
684 | | 'table-line'
685 | | 'tools-fill'
686 | | 'tools-line'
687 | | 'triangle-fill'
688 | | 'triangle-line'
689 | | 'braces-fill'
690 | | 'braces-line'
691 | | 'brackets-fill'
692 | | 'brackets-line'
693 | | 'bug-2-fill'
694 | | 'bug-2-line'
695 | | 'bug-fill'
696 | | 'bug-line'
697 | | 'code-box-fill'
698 | | 'code-box-line'
699 | | 'code-fill'
700 | | 'code-line'
701 | | 'code-s-fill'
702 | | 'code-s-line'
703 | | 'code-s-slash-fill'
704 | | 'code-s-slash-line'
705 | | 'command-fill'
706 | | 'command-line'
707 | | 'css3-fill'
708 | | 'css3-line'
709 | | 'cursor-fill'
710 | | 'cursor-line'
711 | | 'git-branch-fill'
712 | | 'git-branch-line'
713 | | 'git-close-pull-request-fill'
714 | | 'git-close-pull-request-line'
715 | | 'git-commit-fill'
716 | | 'git-commit-line'
717 | | 'git-fork-fill'
718 | | 'git-fork-line'
719 | | 'git-merge-fill'
720 | | 'git-merge-line'
721 | | 'git-pr-draft-fill'
722 | | 'git-pr-draft-line'
723 | | 'git-pull-request-fill'
724 | | 'git-pull-request-line'
725 | | 'git-repository-commits-fill'
726 | | 'git-repository-commits-line'
727 | | 'git-repository-fill'
728 | | 'git-repository-line'
729 | | 'git-repository-private-fill'
730 | | 'git-repository-private-line'
731 | | 'html5-fill'
732 | | 'html5-line'
733 | | 'javascript-fill'
734 | | 'javascript-line'
735 | | 'parentheses-fill'
736 | | 'parentheses-line'
737 | | 'puzzle-2-fill'
738 | | 'puzzle-2-line'
739 | | 'puzzle-fill'
740 | | 'puzzle-line'
741 | | 'terminal-box-fill'
742 | | 'terminal-box-line'
743 | | 'terminal-fill'
744 | | 'terminal-line'
745 | | 'terminal-window-fill'
746 | | 'terminal-window-line'
747 | | 'airplay-fill'
748 | | 'airplay-line'
749 | | 'barcode-box-fill'
750 | | 'barcode-box-line'
751 | | 'barcode-fill'
752 | | 'barcode-line'
753 | | 'base-station-fill'
754 | | 'base-station-line'
755 | | 'battery-2-charge-fill'
756 | | 'battery-2-charge-line'
757 | | 'battery-2-fill'
758 | | 'battery-2-line'
759 | | 'battery-charge-fill'
760 | | 'battery-charge-line'
761 | | 'battery-fill'
762 | | 'battery-line'
763 | | 'battery-low-fill'
764 | | 'battery-low-line'
765 | | 'battery-saver-fill'
766 | | 'battery-saver-line'
767 | | 'battery-share-fill'
768 | | 'battery-share-line'
769 | | 'bluetooth-connect-fill'
770 | | 'bluetooth-connect-line'
771 | | 'bluetooth-fill'
772 | | 'bluetooth-line'
773 | | 'cast-fill'
774 | | 'cast-line'
775 | | 'cellphone-fill'
776 | | 'cellphone-line'
777 | | 'computer-fill'
778 | | 'computer-line'
779 | | 'cpu-fill'
780 | | 'cpu-line'
781 | | 'dashboard-2-fill'
782 | | 'dashboard-2-line'
783 | | 'dashboard-3-fill'
784 | | 'dashboard-3-line'
785 | | 'database-2-fill'
786 | | 'database-2-line'
787 | | 'database-fill'
788 | | 'database-line'
789 | | 'device-fill'
790 | | 'device-line'
791 | | 'device-recover-fill'
792 | | 'device-recover-line'
793 | | 'dual-sim-1-fill'
794 | | 'dual-sim-1-line'
795 | | 'dual-sim-2-fill'
796 | | 'dual-sim-2-line'
797 | | 'fingerprint-2-fill'
798 | | 'fingerprint-2-line'
799 | | 'fingerprint-fill'
800 | | 'fingerprint-line'
801 | | 'gamepad-fill'
802 | | 'gamepad-line'
803 | | 'gps-fill'
804 | | 'gps-line'
805 | | 'gradienter-fill'
806 | | 'gradienter-line'
807 | | 'hard-drive-2-fill'
808 | | 'hard-drive-2-line'
809 | | 'hard-drive-3-fill'
810 | | 'hard-drive-3-line'
811 | | 'hard-drive-fill'
812 | | 'hard-drive-line'
813 | | 'hotspot-fill'
814 | | 'hotspot-line'
815 | | 'install-fill'
816 | | 'install-line'
817 | | 'instance-fill'
818 | | 'instance-line'
819 | | 'keyboard-box-fill'
820 | | 'keyboard-box-line'
821 | | 'keyboard-fill'
822 | | 'keyboard-line'
823 | | 'mac-fill'
824 | | 'mac-line'
825 | | 'macbook-fill'
826 | | 'macbook-line'
827 | | 'mobile-download-fill'
828 | | 'mobile-download-line'
829 | | 'mouse-fill'
830 | | 'mouse-line'
831 | | 'phone-fill'
832 | | 'phone-find-fill'
833 | | 'phone-find-line'
834 | | 'phone-line'
835 | | 'phone-lock-fill'
836 | | 'phone-lock-line'
837 | | 'qr-code-fill'
838 | | 'qr-code-line'
839 | | 'qr-scan-2-fill'
840 | | 'qr-scan-2-line'
841 | | 'qr-scan-fill'
842 | | 'qr-scan-line'
843 | | 'radar-fill'
844 | | 'radar-line'
845 | | 'ram-2-fill'
846 | | 'ram-2-line'
847 | | 'ram-fill'
848 | | 'ram-line'
849 | | 'remote-control-2-fill'
850 | | 'remote-control-2-line'
851 | | 'remote-control-fill'
852 | | 'remote-control-line'
853 | | 'restart-fill'
854 | | 'restart-line'
855 | | 'rfid-fill'
856 | | 'rfid-line'
857 | | 'rotate-lock-fill'
858 | | 'rotate-lock-line'
859 | | 'router-fill'
860 | | 'router-line'
861 | | 'rss-fill'
862 | | 'rss-line'
863 | | 'save-2-fill'
864 | | 'save-2-line'
865 | | 'save-3-fill'
866 | | 'save-3-line'
867 | | 'save-fill'
868 | | 'save-line'
869 | | 'scan-2-fill'
870 | | 'scan-2-line'
871 | | 'scan-fill'
872 | | 'scan-line'
873 | | 'sd-card-fill'
874 | | 'sd-card-line'
875 | | 'sd-card-mini-fill'
876 | | 'sd-card-mini-line'
877 | | 'sensor-fill'
878 | | 'sensor-line'
879 | | 'server-fill'
880 | | 'server-line'
881 | | 'shut-down-fill'
882 | | 'shut-down-line'
883 | | 'signal-wifi-1-fill'
884 | | 'signal-wifi-1-line'
885 | | 'signal-wifi-2-fill'
886 | | 'signal-wifi-2-line'
887 | | 'signal-wifi-3-fill'
888 | | 'signal-wifi-3-line'
889 | | 'signal-wifi-error-fill'
890 | | 'signal-wifi-error-line'
891 | | 'signal-wifi-fill'
892 | | 'signal-wifi-line'
893 | | 'signal-wifi-off-fill'
894 | | 'signal-wifi-off-line'
895 | | 'sim-card-2-fill'
896 | | 'sim-card-2-line'
897 | | 'sim-card-fill'
898 | | 'sim-card-line'
899 | | 'smartphone-fill'
900 | | 'smartphone-line'
901 | | 'tablet-fill'
902 | | 'tablet-line'
903 | | 'tv-2-fill'
904 | | 'tv-2-line'
905 | | 'tv-fill'
906 | | 'tv-line'
907 | | 'u-disk-fill'
908 | | 'u-disk-line'
909 | | 'uninstall-fill'
910 | | 'uninstall-line'
911 | | 'usb-fill'
912 | | 'usb-line'
913 | | 'wifi-fill'
914 | | 'wifi-line'
915 | | 'wifi-off-fill'
916 | | 'wifi-off-line'
917 | | 'wireless-charging-fill'
918 | | 'wireless-charging-line'
919 | | 'article-fill'
920 | | 'article-line'
921 | | 'bill-fill'
922 | | 'bill-line'
923 | | 'book-2-fill'
924 | | 'book-2-line'
925 | | 'book-3-fill'
926 | | 'book-3-line'
927 | | 'book-fill'
928 | | 'book-line'
929 | | 'book-marked-fill'
930 | | 'book-marked-line'
931 | | 'book-open-fill'
932 | | 'book-open-line'
933 | | 'book-read-fill'
934 | | 'book-read-line'
935 | | 'booklet-fill'
936 | | 'booklet-line'
937 | | 'clipboard-fill'
938 | | 'clipboard-line'
939 | | 'contacts-book-2-fill'
940 | | 'contacts-book-2-line'
941 | | 'contacts-book-3-fill'
942 | | 'contacts-book-3-line'
943 | | 'contacts-book-fill'
944 | | 'contacts-book-line'
945 | | 'contacts-book-upload-fill'
946 | | 'contacts-book-upload-line'
947 | | 'contract-fill'
948 | | 'contract-line'
949 | | 'draft-fill'
950 | | 'draft-line'
951 | | 'file-2-fill'
952 | | 'file-2-line'
953 | | 'file-3-fill'
954 | | 'file-3-line'
955 | | 'file-4-fill'
956 | | 'file-4-line'
957 | | 'file-add-fill'
958 | | 'file-add-line'
959 | | 'file-chart-2-fill'
960 | | 'file-chart-2-line'
961 | | 'file-chart-fill'
962 | | 'file-chart-line'
963 | | 'file-check-fill'
964 | | 'file-check-line'
965 | | 'file-close-fill'
966 | | 'file-close-line'
967 | | 'file-cloud-fill'
968 | | 'file-cloud-line'
969 | | 'file-code-fill'
970 | | 'file-code-line'
971 | | 'file-copy-2-fill'
972 | | 'file-copy-2-line'
973 | | 'file-copy-fill'
974 | | 'file-copy-line'
975 | | 'file-damage-fill'
976 | | 'file-damage-line'
977 | | 'file-download-fill'
978 | | 'file-download-line'
979 | | 'file-edit-fill'
980 | | 'file-edit-line'
981 | | 'file-excel-2-fill'
982 | | 'file-excel-2-line'
983 | | 'file-excel-fill'
984 | | 'file-excel-line'
985 | | 'file-fill'
986 | | 'file-forbid-fill'
987 | | 'file-forbid-line'
988 | | 'file-gif-fill'
989 | | 'file-gif-line'
990 | | 'file-history-fill'
991 | | 'file-history-line'
992 | | 'file-hwp-fill'
993 | | 'file-hwp-line'
994 | | 'file-image-fill'
995 | | 'file-image-line'
996 | | 'file-info-fill'
997 | | 'file-info-line'
998 | | 'file-line'
999 | | 'file-list-2-fill'
1000 | | 'file-list-2-line'
1001 | | 'file-list-3-fill'
1002 | | 'file-list-3-line'
1003 | | 'file-list-fill'
1004 | | 'file-list-line'
1005 | | 'file-lock-fill'
1006 | | 'file-lock-line'
1007 | | 'file-marked-fill'
1008 | | 'file-marked-line'
1009 | | 'file-music-fill'
1010 | | 'file-music-line'
1011 | | 'file-paper-2-fill'
1012 | | 'file-paper-2-line'
1013 | | 'file-paper-fill'
1014 | | 'file-paper-line'
1015 | | 'file-pdf-2-fill'
1016 | | 'file-pdf-2-line'
1017 | | 'file-pdf-fill'
1018 | | 'file-pdf-line'
1019 | | 'file-ppt-2-fill'
1020 | | 'file-ppt-2-line'
1021 | | 'file-ppt-fill'
1022 | | 'file-ppt-line'
1023 | | 'file-reduce-fill'
1024 | | 'file-reduce-line'
1025 | | 'file-search-fill'
1026 | | 'file-search-line'
1027 | | 'file-settings-fill'
1028 | | 'file-settings-line'
1029 | | 'file-shield-2-fill'
1030 | | 'file-shield-2-line'
1031 | | 'file-shield-fill'
1032 | | 'file-shield-line'
1033 | | 'file-shred-fill'
1034 | | 'file-shred-line'
1035 | | 'file-text-fill'
1036 | | 'file-text-line'
1037 | | 'file-transfer-fill'
1038 | | 'file-transfer-line'
1039 | | 'file-unknow-fill'
1040 | | 'file-unknow-line'
1041 | | 'file-upload-fill'
1042 | | 'file-upload-line'
1043 | | 'file-user-fill'
1044 | | 'file-user-line'
1045 | | 'file-video-fill'
1046 | | 'file-video-line'
1047 | | 'file-warning-fill'
1048 | | 'file-warning-line'
1049 | | 'file-word-2-fill'
1050 | | 'file-word-2-line'
1051 | | 'file-word-fill'
1052 | | 'file-word-line'
1053 | | 'file-zip-fill'
1054 | | 'file-zip-line'
1055 | | 'folder-2-fill'
1056 | | 'folder-2-line'
1057 | | 'folder-3-fill'
1058 | | 'folder-3-line'
1059 | | 'folder-4-fill'
1060 | | 'folder-4-line'
1061 | | 'folder-5-fill'
1062 | | 'folder-5-line'
1063 | | 'folder-6-fill'
1064 | | 'folder-6-line'
1065 | | 'folder-add-fill'
1066 | | 'folder-add-line'
1067 | | 'folder-chart-2-fill'
1068 | | 'folder-chart-2-line'
1069 | | 'folder-chart-fill'
1070 | | 'folder-chart-line'
1071 | | 'folder-check-fill'
1072 | | 'folder-check-line'
1073 | | 'folder-close-fill'
1074 | | 'folder-close-line'
1075 | | 'folder-cloud-fill'
1076 | | 'folder-cloud-line'
1077 | | 'folder-download-fill'
1078 | | 'folder-download-line'
1079 | | 'folder-fill'
1080 | | 'folder-forbid-fill'
1081 | | 'folder-forbid-line'
1082 | | 'folder-history-fill'
1083 | | 'folder-history-line'
1084 | | 'folder-image-fill'
1085 | | 'folder-image-line'
1086 | | 'folder-info-fill'
1087 | | 'folder-info-line'
1088 | | 'folder-keyhole-fill'
1089 | | 'folder-keyhole-line'
1090 | | 'folder-line'
1091 | | 'folder-lock-fill'
1092 | | 'folder-lock-line'
1093 | | 'folder-music-fill'
1094 | | 'folder-music-line'
1095 | | 'folder-open-fill'
1096 | | 'folder-open-line'
1097 | | 'folder-received-fill'
1098 | | 'folder-received-line'
1099 | | 'folder-reduce-fill'
1100 | | 'folder-reduce-line'
1101 | | 'folder-settings-fill'
1102 | | 'folder-settings-line'
1103 | | 'folder-shared-fill'
1104 | | 'folder-shared-line'
1105 | | 'folder-shield-2-fill'
1106 | | 'folder-shield-2-line'
1107 | | 'folder-shield-fill'
1108 | | 'folder-shield-line'
1109 | | 'folder-transfer-fill'
1110 | | 'folder-transfer-line'
1111 | | 'folder-unknow-fill'
1112 | | 'folder-unknow-line'
1113 | | 'folder-upload-fill'
1114 | | 'folder-upload-line'
1115 | | 'folder-user-fill'
1116 | | 'folder-user-line'
1117 | | 'folder-video-fill'
1118 | | 'folder-video-line'
1119 | | 'folder-warning-fill'
1120 | | 'folder-warning-line'
1121 | | 'folder-zip-fill'
1122 | | 'folder-zip-line'
1123 | | 'folders-fill'
1124 | | 'folders-line'
1125 | | 'keynote-fill'
1126 | | 'keynote-line'
1127 | | 'markdown-fill'
1128 | | 'markdown-line'
1129 | | 'news-fill'
1130 | | 'news-line'
1131 | | 'newspaper-fill'
1132 | | 'newspaper-line'
1133 | | 'numbers-fill'
1134 | | 'numbers-line'
1135 | | 'pages-fill'
1136 | | 'pages-line'
1137 | | 'receipt-fill'
1138 | | 'receipt-line'
1139 | | 'sticky-note-2-fill'
1140 | | 'sticky-note-2-line'
1141 | | 'sticky-note-add-fill'
1142 | | 'sticky-note-add-line'
1143 | | 'sticky-note-fill'
1144 | | 'sticky-note-line'
1145 | | 'survey-fill'
1146 | | 'survey-line'
1147 | | 'task-fill'
1148 | | 'task-line'
1149 | | 'todo-fill'
1150 | | 'todo-line'
1151 | | 'a-b'
1152 | | 'ai-generate'
1153 | | 'align-bottom'
1154 | | 'align-center'
1155 | | 'align-justify'
1156 | | 'align-left'
1157 | | 'align-right'
1158 | | 'align-top'
1159 | | 'align-vertically'
1160 | | 'asterisk'
1161 | | 'attachment-2'
1162 | | 'bold'
1163 | | 'bring-forward'
1164 | | 'bring-to-front'
1165 | | 'calendar-view'
1166 | | 'carousel-view'
1167 | | 'code-block'
1168 | | 'code-view'
1169 | | 'delete-column'
1170 | | 'delete-row'
1171 | | 'double-quotes-l'
1172 | | 'double-quotes-r'
1173 | | 'draggable'
1174 | | 'dropdown-list'
1175 | | 'emphasis-cn'
1176 | | 'emphasis'
1177 | | 'english-input'
1178 | | 'flow-chart'
1179 | | 'focus-mode'
1180 | | 'font-color'
1181 | | 'font-family'
1182 | | 'font-mono'
1183 | | 'font-sans-serif'
1184 | | 'font-sans'
1185 | | 'font-size-2'
1186 | | 'font-size'
1187 | | 'format-clear'
1188 | | 'formula'
1189 | | 'functions'
1190 | | 'gallery-view-2'
1191 | | 'gallery-view'
1192 | | 'h-1'
1193 | | 'h-2'
1194 | | 'h-3'
1195 | | 'h-4'
1196 | | 'h-5'
1197 | | 'h-6'
1198 | | 'hand'
1199 | | 'hashtag'
1200 | | 'heading'
1201 | | 'indent-decrease'
1202 | | 'indent-increase'
1203 | | 'info-i'
1204 | | 'input-cursor-move'
1205 | | 'input-field'
1206 | | 'insert-column-left'
1207 | | 'insert-column-right'
1208 | | 'insert-row-bottom'
1209 | | 'insert-row-top'
1210 | | 'italic'
1211 | | 'kanban-view-2'
1212 | | 'kanban-view'
1213 | | 'line-height'
1214 | | 'link-m'
1215 | | 'link-unlink-m'
1216 | | 'link-unlink'
1217 | | 'link'
1218 | | 'list-check-2'
1219 | | 'list-check-3'
1220 | | 'list-check'
1221 | | 'list-indefinite'
1222 | | 'list-ordered-2'
1223 | | 'list-ordered'
1224 | | 'list-radio'
1225 | | 'list-unordered'
1226 | | 'list-view'
1227 | | 'merge-cells-horizontal'
1228 | | 'merge-cells-vertical'
1229 | | 'mind-map'
1230 | | 'node-tree'
1231 | | 'number-0'
1232 | | 'number-1'
1233 | | 'number-2'
1234 | | 'number-3'
1235 | | 'number-4'
1236 | | 'number-5'
1237 | | 'number-6'
1238 | | 'number-7'
1239 | | 'number-8'
1240 | | 'number-9'
1241 | | 'omega'
1242 | | 'organization-chart'
1243 | | 'overline'
1244 | | 'page-separator'
1245 | | 'paragraph'
1246 | | 'pinyin-input'
1247 | | 'question-mark'
1248 | | 'quote-text'
1249 | | 'rounded-corner'
1250 | | 'send-backward'
1251 | | 'send-to-back'
1252 | | 'separator'
1253 | | 'single-quotes-l'
1254 | | 'single-quotes-r'
1255 | | 'sketching'
1256 | | 'slash-commands-2'
1257 | | 'slash-commands'
1258 | | 'slideshow-view'
1259 | | 'sort-alphabet-asc'
1260 | | 'sort-alphabet-desc'
1261 | | 'sort-asc'
1262 | | 'sort-desc'
1263 | | 'sort-number-asc'
1264 | | 'sort-number-desc'
1265 | | 'space'
1266 | | 'split-cells-horizontal'
1267 | | 'split-cells-vertical'
1268 | | 'square-root'
1269 | | 'stacked-view'
1270 | | 'strikethrough-2'
1271 | | 'strikethrough'
1272 | | 'subscript-2'
1273 | | 'subscript'
1274 | | 'superscript-2'
1275 | | 'superscript'
1276 | | 'table-2'
1277 | | 'table-3'
1278 | | 'table-view'
1279 | | 'text-block'
1280 | | 'text-direction-l'
1281 | | 'text-direction-r'
1282 | | 'text-snippet'
1283 | | 'text-spacing'
1284 | | 'text-wrap'
1285 | | 'text'
1286 | | 'timeline-view'
1287 | | 'translate-2'
1288 | | 'translate'
1289 | | 'underline'
1290 | | 'wubi-input'
1291 | | '24-hours-fill'
1292 | | '24-hours-line'
1293 | | 'auction-fill'
1294 | | 'auction-line'
1295 | | 'bank-card-2-fill'
1296 | | 'bank-card-2-line'
1297 | | 'bank-card-fill'
1298 | | 'bank-card-line'
1299 | | 'bit-coin-fill'
1300 | | 'bit-coin-line'
1301 | | 'bnb-fill'
1302 | | 'bnb-line'
1303 | | 'btc-fill'
1304 | | 'btc-line'
1305 | | 'cash-fill'
1306 | | 'cash-line'
1307 | | 'coin-fill'
1308 | | 'coin-line'
1309 | | 'coins-fill'
1310 | | 'coins-line'
1311 | | 'copper-coin-fill'
1312 | | 'copper-coin-line'
1313 | | 'copper-diamond-fill'
1314 | | 'copper-diamond-line'
1315 | | 'coupon-2-fill'
1316 | | 'coupon-2-line'
1317 | | 'coupon-3-fill'
1318 | | 'coupon-3-line'
1319 | | 'coupon-4-fill'
1320 | | 'coupon-4-line'
1321 | | 'coupon-5-fill'
1322 | | 'coupon-5-line'
1323 | | 'coupon-fill'
1324 | | 'coupon-line'
1325 | | 'currency-fill'
1326 | | 'currency-line'
1327 | | 'discount-percent-fill'
1328 | | 'discount-percent-line'
1329 | | 'eth-fill'
1330 | | 'eth-line'
1331 | | 'exchange-2-fill'
1332 | | 'exchange-2-line'
1333 | | 'exchange-box-fill'
1334 | | 'exchange-box-line'
1335 | | 'exchange-cny-fill'
1336 | | 'exchange-cny-line'
1337 | | 'exchange-dollar-fill'
1338 | | 'exchange-dollar-line'
1339 | | 'exchange-fill'
1340 | | 'exchange-funds-fill'
1341 | | 'exchange-funds-line'
1342 | | 'exchange-line'
1343 | | 'funds-box-fill'
1344 | | 'funds-box-line'
1345 | | 'funds-fill'
1346 | | 'funds-line'
1347 | | 'gift-2-fill'
1348 | | 'gift-2-line'
1349 | | 'gift-fill'
1350 | | 'gift-line'
1351 | | 'hand-coin-fill'
1352 | | 'hand-coin-line'
1353 | | 'hand-heart-fill'
1354 | | 'hand-heart-line'
1355 | | 'increase-decrease-fill'
1356 | | 'increase-decrease-line'
1357 | | 'money-cny-box-fill'
1358 | | 'money-cny-box-line'
1359 | | 'money-cny-circle-fill'
1360 | | 'money-cny-circle-line'
1361 | | 'money-dollar-box-fill'
1362 | | 'money-dollar-box-line'
1363 | | 'money-dollar-circle-fill'
1364 | | 'money-dollar-circle-line'
1365 | | 'money-euro-box-fill'
1366 | | 'money-euro-box-line'
1367 | | 'money-euro-circle-fill'
1368 | | 'money-euro-circle-line'
1369 | | 'money-pound-box-fill'
1370 | | 'money-pound-box-line'
1371 | | 'money-pound-circle-fill'
1372 | | 'money-pound-circle-line'
1373 | | 'money-rupee-circle-fill'
1374 | | 'money-rupee-circle-line'
1375 | | 'nft-fill'
1376 | | 'nft-line'
1377 | | 'p2p-fill'
1378 | | 'p2p-line'
1379 | | 'percent-fill'
1380 | | 'percent-line'
1381 | | 'price-tag-2-fill'
1382 | | 'price-tag-2-line'
1383 | | 'price-tag-3-fill'
1384 | | 'price-tag-3-line'
1385 | | 'price-tag-fill'
1386 | | 'price-tag-line'
1387 | | 'red-packet-fill'
1388 | | 'red-packet-line'
1389 | | 'refund-2-fill'
1390 | | 'refund-2-line'
1391 | | 'refund-fill'
1392 | | 'refund-line'
1393 | | 'safe-2-fill'
1394 | | 'safe-2-line'
1395 | | 'safe-fill'
1396 | | 'safe-line'
1397 | | 'secure-payment-fill'
1398 | | 'secure-payment-line'
1399 | | 'shopping-bag-2-fill'
1400 | | 'shopping-bag-2-line'
1401 | | 'shopping-bag-3-fill'
1402 | | 'shopping-bag-3-line'
1403 | | 'shopping-bag-4-fill'
1404 | | 'shopping-bag-4-line'
1405 | | 'shopping-bag-fill'
1406 | | 'shopping-bag-line'
1407 | | 'shopping-basket-2-fill'
1408 | | 'shopping-basket-2-line'
1409 | | 'shopping-basket-fill'
1410 | | 'shopping-basket-line'
1411 | | 'shopping-cart-2-fill'
1412 | | 'shopping-cart-2-line'
1413 | | 'shopping-cart-fill'
1414 | | 'shopping-cart-line'
1415 | | 'stock-fill'
1416 | | 'stock-line'
1417 | | 'swap-2-fill'
1418 | | 'swap-2-line'
1419 | | 'swap-3-fill'
1420 | | 'swap-3-line'
1421 | | 'swap-box-fill'
1422 | | 'swap-box-line'
1423 | | 'swap-fill'
1424 | | 'swap-line'
1425 | | 'ticket-2-fill'
1426 | | 'ticket-2-line'
1427 | | 'ticket-fill'
1428 | | 'ticket-line'
1429 | | 'token-swap-fill'
1430 | | 'token-swap-line'
1431 | | 'trophy-fill'
1432 | | 'trophy-line'
1433 | | 'vip-crown-2-fill'
1434 | | 'vip-crown-2-line'
1435 | | 'vip-crown-fill'
1436 | | 'vip-crown-line'
1437 | | 'vip-diamond-fill'
1438 | | 'vip-diamond-line'
1439 | | 'vip-fill'
1440 | | 'vip-line'
1441 | | 'wallet-2-fill'
1442 | | 'wallet-2-line'
1443 | | 'wallet-3-fill'
1444 | | 'wallet-3-line'
1445 | | 'wallet-fill'
1446 | | 'wallet-line'
1447 | | 'water-flash-fill'
1448 | | 'water-flash-line'
1449 | | 'xrp-fill'
1450 | | 'xrp-line'
1451 | | 'xtz-fill'
1452 | | 'xtz-line'
1453 | | 'beer-fill'
1454 | | 'beer-line'
1455 | | 'bowl-fill'
1456 | | 'bowl-line'
1457 | | 'bread-fill'
1458 | | 'bread-line'
1459 | | 'cake-2-fill'
1460 | | 'cake-2-line'
1461 | | 'cake-3-fill'
1462 | | 'cake-3-line'
1463 | | 'cake-fill'
1464 | | 'cake-line'
1465 | | 'cup-fill'
1466 | | 'cup-line'
1467 | | 'drinks-2-fill'
1468 | | 'drinks-2-line'
1469 | | 'drinks-fill'
1470 | | 'drinks-line'
1471 | | 'goblet-2-fill'
1472 | | 'goblet-2-line'
1473 | | 'goblet-fill'
1474 | | 'goblet-line'
1475 | | 'knife-blood-fill'
1476 | | 'knife-blood-line'
1477 | | 'knife-fill'
1478 | | 'knife-line'
1479 | | 'restaurant-2-fill'
1480 | | 'restaurant-2-line'
1481 | | 'restaurant-fill'
1482 | | 'restaurant-line'
1483 | | 'aed-electrodes-fill'
1484 | | 'aed-electrodes-line'
1485 | | 'aed-fill'
1486 | | 'aed-line'
1487 | | 'brain-2-fill'
1488 | | 'brain-2-line'
1489 | | 'brain-fill'
1490 | | 'brain-line'
1491 | | 'capsule-fill'
1492 | | 'capsule-line'
1493 | | 'dislike-fill'
1494 | | 'dislike-line'
1495 | | 'dna-fill'
1496 | | 'dna-line'
1497 | | 'dossier-fill'
1498 | | 'dossier-line'
1499 | | 'dropper-fill'
1500 | | 'dropper-line'
1501 | | 'empathize-fill'
1502 | | 'empathize-line'
1503 | | 'first-aid-kit-fill'
1504 | | 'first-aid-kit-line'
1505 | | 'flask-fill'
1506 | | 'flask-line'
1507 | | 'hand-sanitizer-fill'
1508 | | 'hand-sanitizer-line'
1509 | | 'health-book-fill'
1510 | | 'health-book-line'
1511 | | 'heart-2-fill'
1512 | | 'heart-2-line'
1513 | | 'heart-3-fill'
1514 | | 'heart-3-line'
1515 | | 'heart-add-2-fill'
1516 | | 'heart-add-2-line'
1517 | | 'heart-add-fill'
1518 | | 'heart-add-line'
1519 | | 'heart-fill'
1520 | | 'heart-line'
1521 | | 'heart-pulse-fill'
1522 | | 'heart-pulse-line'
1523 | | 'hearts-fill'
1524 | | 'hearts-line'
1525 | | 'infrared-thermometer-fill'
1526 | | 'infrared-thermometer-line'
1527 | | 'lungs-fill'
1528 | | 'lungs-line'
1529 | | 'medicine-bottle-fill'
1530 | | 'medicine-bottle-line'
1531 | | 'mental-health-fill'
1532 | | 'mental-health-line'
1533 | | 'microscope-fill'
1534 | | 'microscope-line'
1535 | | 'nurse-fill'
1536 | | 'nurse-line'
1537 | | 'psychotherapy-fill'
1538 | | 'psychotherapy-line'
1539 | | 'pulse-fill'
1540 | | 'pulse-line'
1541 | | 'rest-time-fill'
1542 | | 'rest-time-line'
1543 | | 'stethoscope-fill'
1544 | | 'stethoscope-line'
1545 | | 'surgical-mask-fill'
1546 | | 'surgical-mask-line'
1547 | | 'syringe-fill'
1548 | | 'syringe-line'
1549 | | 'test-tube-fill'
1550 | | 'test-tube-line'
1551 | | 'thermometer-fill'
1552 | | 'thermometer-line'
1553 | | 'virus-fill'
1554 | | 'virus-line'
1555 | | 'zzz-fill'
1556 | | 'zzz-line'
1557 | | 'alibaba-cloud-fill'
1558 | | 'alibaba-cloud-line'
1559 | | 'alipay-fill'
1560 | | 'alipay-line'
1561 | | 'amazon-fill'
1562 | | 'amazon-line'
1563 | | 'android-fill'
1564 | | 'android-line'
1565 | | 'angularjs-fill'
1566 | | 'angularjs-line'
1567 | | 'app-store-fill'
1568 | | 'app-store-line'
1569 | | 'apple-fill'
1570 | | 'apple-line'
1571 | | 'baidu-fill'
1572 | | 'baidu-line'
1573 | | 'bard-fill'
1574 | | 'bard-line'
1575 | | 'behance-fill'
1576 | | 'behance-line'
1577 | | 'bilibili-fill'
1578 | | 'bilibili-line'
1579 | | 'blender-fill'
1580 | | 'blender-line'
1581 | | 'blogger-fill'
1582 | | 'blogger-line'
1583 | | 'bluesky-fill'
1584 | | 'bluesky-line'
1585 | | 'bootstrap-fill'
1586 | | 'bootstrap-line'
1587 | | 'centos-fill'
1588 | | 'centos-line'
1589 | | 'chrome-fill'
1590 | | 'chrome-line'
1591 | | 'codepen-fill'
1592 | | 'codepen-line'
1593 | | 'copilot-fill'
1594 | | 'copilot-line'
1595 | | 'coreos-fill'
1596 | | 'coreos-line'
1597 | | 'dingding-fill'
1598 | | 'dingding-line'
1599 | | 'discord-fill'
1600 | | 'discord-line'
1601 | | 'disqus-fill'
1602 | | 'disqus-line'
1603 | | 'douban-fill'
1604 | | 'douban-line'
1605 | | 'dribbble-fill'
1606 | | 'dribbble-line'
1607 | | 'drive-fill'
1608 | | 'drive-line'
1609 | | 'dropbox-fill'
1610 | | 'dropbox-line'
1611 | | 'edge-fill'
1612 | | 'edge-line'
1613 | | 'edge-new-fill'
1614 | | 'edge-new-line'
1615 | | 'evernote-fill'
1616 | | 'evernote-line'
1617 | | 'facebook-box-fill'
1618 | | 'facebook-box-line'
1619 | | 'facebook-circle-fill'
1620 | | 'facebook-circle-line'
1621 | | 'facebook-fill'
1622 | | 'facebook-line'
1623 | | 'finder-fill'
1624 | | 'finder-line'
1625 | | 'firebase-fill'
1626 | | 'firebase-line'
1627 | | 'firefox-fill'
1628 | | 'firefox-line'
1629 | | 'flickr-fill'
1630 | | 'flickr-line'
1631 | | 'flutter-fill'
1632 | | 'flutter-line'
1633 | | 'friendica-fill'
1634 | | 'friendica-line'
1635 | | 'gatsby-fill'
1636 | | 'gatsby-line'
1637 | | 'gemini-fill'
1638 | | 'gemini-line'
1639 | | 'github-fill'
1640 | | 'github-line'
1641 | | 'gitlab-fill'
1642 | | 'gitlab-line'
1643 | | 'google-fill'
1644 | | 'google-line'
1645 | | 'google-play-fill'
1646 | | 'google-play-line'
1647 | | 'honor-of-kings-fill'
1648 | | 'honor-of-kings-line'
1649 | | 'ie-fill'
1650 | | 'ie-line'
1651 | | 'instagram-fill'
1652 | | 'instagram-line'
1653 | | 'invision-fill'
1654 | | 'invision-line'
1655 | | 'java-fill'
1656 | | 'java-line'
1657 | | 'kakao-talk-fill'
1658 | | 'kakao-talk-line'
1659 | | 'kick-fill'
1660 | | 'kick-line'
1661 | | 'line-fill'
1662 | | 'line-line'
1663 | | 'linkedin-box-fill'
1664 | | 'linkedin-box-line'
1665 | | 'linkedin-fill'
1666 | | 'linkedin-line'
1667 | | 'mastercard-fill'
1668 | | 'mastercard-line'
1669 | | 'mastodon-fill'
1670 | | 'mastodon-line'
1671 | | 'medium-fill'
1672 | | 'medium-line'
1673 | | 'messenger-fill'
1674 | | 'messenger-line'
1675 | | 'meta-fill'
1676 | | 'meta-line'
1677 | | 'microsoft-fill'
1678 | | 'microsoft-line'
1679 | | 'microsoft-loop-fill'
1680 | | 'microsoft-loop-line'
1681 | | 'mini-program-fill'
1682 | | 'mini-program-line'
1683 | | 'netease-cloud-music-fill'
1684 | | 'netease-cloud-music-line'
1685 | | 'netflix-fill'
1686 | | 'netflix-line'
1687 | | 'nextjs-fill'
1688 | | 'nextjs-line'
1689 | | 'nodejs-fill'
1690 | | 'nodejs-line'
1691 | | 'notion-fill'
1692 | | 'notion-line'
1693 | | 'npmjs-fill'
1694 | | 'npmjs-line'
1695 | | 'open-source-fill'
1696 | | 'open-source-line'
1697 | | 'openai-fill'
1698 | | 'openai-line'
1699 | | 'openbase-fill'
1700 | | 'openbase-line'
1701 | | 'opera-fill'
1702 | | 'opera-line'
1703 | | 'patreon-fill'
1704 | | 'patreon-line'
1705 | | 'paypal-fill'
1706 | | 'paypal-line'
1707 | | 'pinterest-fill'
1708 | | 'pinterest-line'
1709 | | 'pixelfed-fill'
1710 | | 'pixelfed-line'
1711 | | 'playstation-fill'
1712 | | 'playstation-line'
1713 | | 'product-hunt-fill'
1714 | | 'product-hunt-line'
1715 | | 'qq-fill'
1716 | | 'qq-line'
1717 | | 'reactjs-fill'
1718 | | 'reactjs-line'
1719 | | 'reddit-fill'
1720 | | 'reddit-line'
1721 | | 'remix-run-fill'
1722 | | 'remix-run-line'
1723 | | 'remixicon-fill'
1724 | | 'remixicon-line'
1725 | | 'safari-fill'
1726 | | 'safari-line'
1727 | | 'skype-fill'
1728 | | 'skype-line'
1729 | | 'slack-fill'
1730 | | 'slack-line'
1731 | | 'snapchat-fill'
1732 | | 'snapchat-line'
1733 | | 'soundcloud-fill'
1734 | | 'soundcloud-line'
1735 | | 'spectrum-fill'
1736 | | 'spectrum-line'
1737 | | 'spotify-fill'
1738 | | 'spotify-line'
1739 | | 'stack-overflow-fill'
1740 | | 'stack-overflow-line'
1741 | | 'stackshare-fill'
1742 | | 'stackshare-line'
1743 | | 'steam-fill'
1744 | | 'steam-line'
1745 | | 'supabase-fill'
1746 | | 'supabase-line'
1747 | | 'svelte-fill'
1748 | | 'svelte-line'
1749 | | 'switch-fill'
1750 | | 'switch-line'
1751 | | 'tailwind-css-fill'
1752 | | 'tailwind-css-line'
1753 | | 'taobao-fill'
1754 | | 'taobao-line'
1755 | | 'telegram-2-fill'
1756 | | 'telegram-2-line'
1757 | | 'telegram-fill'
1758 | | 'telegram-line'
1759 | | 'threads-fill'
1760 | | 'threads-line'
1761 | | 'tiktok-fill'
1762 | | 'tiktok-line'
1763 | | 'trello-fill'
1764 | | 'trello-line'
1765 | | 'tumblr-fill'
1766 | | 'tumblr-line'
1767 | | 'twitch-fill'
1768 | | 'twitch-line'
1769 | | 'twitter-fill'
1770 | | 'twitter-line'
1771 | | 'twitter-x-fill'
1772 | | 'twitter-x-line'
1773 | | 'ubuntu-fill'
1774 | | 'ubuntu-line'
1775 | | 'unsplash-fill'
1776 | | 'unsplash-line'
1777 | | 'vimeo-fill'
1778 | | 'vimeo-line'
1779 | | 'visa-fill'
1780 | | 'visa-line'
1781 | | 'vk-fill'
1782 | | 'vk-line'
1783 | | 'vuejs-fill'
1784 | | 'vuejs-line'
1785 | | 'webhook-fill'
1786 | | 'webhook-line'
1787 | | 'wechat-2-fill'
1788 | | 'wechat-2-line'
1789 | | 'wechat-channels-fill'
1790 | | 'wechat-channels-line'
1791 | | 'wechat-fill'
1792 | | 'wechat-line'
1793 | | 'wechat-pay-fill'
1794 | | 'wechat-pay-line'
1795 | | 'weibo-fill'
1796 | | 'weibo-line'
1797 | | 'whatsapp-fill'
1798 | | 'whatsapp-line'
1799 | | 'windows-fill'
1800 | | 'windows-line'
1801 | | 'wordpress-fill'
1802 | | 'wordpress-line'
1803 | | 'xbox-fill'
1804 | | 'xbox-line'
1805 | | 'xing-fill'
1806 | | 'xing-line'
1807 | | 'youtube-fill'
1808 | | 'youtube-line'
1809 | | 'yuque-fill'
1810 | | 'yuque-line'
1811 | | 'zcool-fill'
1812 | | 'zcool-line'
1813 | | 'zhihu-fill'
1814 | | 'zhihu-line'
1815 | | 'anchor-fill'
1816 | | 'anchor-line'
1817 | | 'barricade-fill'
1818 | | 'barricade-line'
1819 | | 'bike-fill'
1820 | | 'bike-line'
1821 | | 'bus-2-fill'
1822 | | 'bus-2-line'
1823 | | 'bus-fill'
1824 | | 'bus-line'
1825 | | 'bus-wifi-fill'
1826 | | 'bus-wifi-line'
1827 | | 'car-fill'
1828 | | 'car-line'
1829 | | 'car-washing-fill'
1830 | | 'car-washing-line'
1831 | | 'caravan-fill'
1832 | | 'caravan-line'
1833 | | 'charging-pile-2-fill'
1834 | | 'charging-pile-2-line'
1835 | | 'charging-pile-fill'
1836 | | 'charging-pile-line'
1837 | | 'china-railway-fill'
1838 | | 'china-railway-line'
1839 | | 'compass-2-fill'
1840 | | 'compass-2-line'
1841 | | 'compass-3-fill'
1842 | | 'compass-3-line'
1843 | | 'compass-4-fill'
1844 | | 'compass-4-line'
1845 | | 'compass-discover-fill'
1846 | | 'compass-discover-line'
1847 | | 'compass-fill'
1848 | | 'compass-line'
1849 | | 'direction-fill'
1850 | | 'direction-line'
1851 | | 'e-bike-2-fill'
1852 | | 'e-bike-2-line'
1853 | | 'e-bike-fill'
1854 | | 'e-bike-line'
1855 | | 'earth-fill'
1856 | | 'earth-line'
1857 | | 'flight-land-fill'
1858 | | 'flight-land-line'
1859 | | 'flight-takeoff-fill'
1860 | | 'flight-takeoff-line'
1861 | | 'footprint-fill'
1862 | | 'footprint-line'
1863 | | 'gas-station-fill'
1864 | | 'gas-station-line'
1865 | | 'globe-fill'
1866 | | 'globe-line'
1867 | | 'guide-fill'
1868 | | 'guide-line'
1869 | | 'hotel-bed-fill'
1870 | | 'hotel-bed-line'
1871 | | 'lifebuoy-fill'
1872 | | 'lifebuoy-line'
1873 | | 'luggage-cart-fill'
1874 | | 'luggage-cart-line'
1875 | | 'luggage-deposit-fill'
1876 | | 'luggage-deposit-line'
1877 | | 'map-2-fill'
1878 | | 'map-2-line'
1879 | | 'map-fill'
1880 | | 'map-line'
1881 | | 'map-pin-2-fill'
1882 | | 'map-pin-2-line'
1883 | | 'map-pin-3-fill'
1884 | | 'map-pin-3-line'
1885 | | 'map-pin-4-fill'
1886 | | 'map-pin-4-line'
1887 | | 'map-pin-5-fill'
1888 | | 'map-pin-5-line'
1889 | | 'map-pin-add-fill'
1890 | | 'map-pin-add-line'
1891 | | 'map-pin-fill'
1892 | | 'map-pin-line'
1893 | | 'map-pin-range-fill'
1894 | | 'map-pin-range-line'
1895 | | 'map-pin-time-fill'
1896 | | 'map-pin-time-line'
1897 | | 'map-pin-user-fill'
1898 | | 'map-pin-user-line'
1899 | | 'motorbike-fill'
1900 | | 'motorbike-line'
1901 | | 'navigation-fill'
1902 | | 'navigation-line'
1903 | | 'oil-fill'
1904 | | 'oil-line'
1905 | | 'parking-box-fill'
1906 | | 'parking-box-line'
1907 | | 'parking-fill'
1908 | | 'parking-line'
1909 | | 'passport-fill'
1910 | | 'passport-line'
1911 | | 'pin-distance-fill'
1912 | | 'pin-distance-line'
1913 | | 'plane-fill'
1914 | | 'plane-line'
1915 | | 'planet-fill'
1916 | | 'planet-line'
1917 | | 'police-car-fill'
1918 | | 'police-car-line'
1919 | | 'pushpin-2-fill'
1920 | | 'pushpin-2-line'
1921 | | 'pushpin-fill'
1922 | | 'pushpin-line'
1923 | | 'riding-fill'
1924 | | 'riding-line'
1925 | | 'road-map-fill'
1926 | | 'road-map-line'
1927 | | 'roadster-fill'
1928 | | 'roadster-line'
1929 | | 'rocket-2-fill'
1930 | | 'rocket-2-line'
1931 | | 'rocket-fill'
1932 | | 'rocket-line'
1933 | | 'route-fill'
1934 | | 'route-line'
1935 | | 'run-fill'
1936 | | 'run-line'
1937 | | 'sailboat-fill'
1938 | | 'sailboat-line'
1939 | | 'ship-2-fill'
1940 | | 'ship-2-line'
1941 | | 'ship-fill'
1942 | | 'ship-line'
1943 | | 'signal-tower-fill'
1944 | | 'signal-tower-line'
1945 | | 'signpost-fill'
1946 | | 'signpost-line'
1947 | | 'space-ship-fill'
1948 | | 'space-ship-line'
1949 | | 'steering-2-fill'
1950 | | 'steering-2-line'
1951 | | 'steering-fill'
1952 | | 'steering-line'
1953 | | 'subway-fill'
1954 | | 'subway-line'
1955 | | 'subway-wifi-fill'
1956 | | 'subway-wifi-line'
1957 | | 'suitcase-2-fill'
1958 | | 'suitcase-2-line'
1959 | | 'suitcase-3-fill'
1960 | | 'suitcase-3-line'
1961 | | 'suitcase-fill'
1962 | | 'suitcase-line'
1963 | | 'takeaway-fill'
1964 | | 'takeaway-line'
1965 | | 'taxi-fill'
1966 | | 'taxi-line'
1967 | | 'taxi-wifi-fill'
1968 | | 'taxi-wifi-line'
1969 | | 'time-zone-fill'
1970 | | 'time-zone-line'
1971 | | 'traffic-light-fill'
1972 | | 'traffic-light-line'
1973 | | 'train-fill'
1974 | | 'train-line'
1975 | | 'train-wifi-fill'
1976 | | 'train-wifi-line'
1977 | | 'treasure-map-fill'
1978 | | 'treasure-map-line'
1979 | | 'truck-fill'
1980 | | 'truck-line'
1981 | | 'unpin-fill'
1982 | | 'unpin-line'
1983 | | 'walk-fill'
1984 | | 'walk-line'
1985 | | '4k-fill'
1986 | | '4k-line'
1987 | | 'album-fill'
1988 | | 'album-line'
1989 | | 'aspect-ratio-fill'
1990 | | 'aspect-ratio-line'
1991 | | 'broadcast-fill'
1992 | | 'broadcast-line'
1993 | | 'camera-2-fill'
1994 | | 'camera-2-line'
1995 | | 'camera-3-fill'
1996 | | 'camera-3-line'
1997 | | 'camera-fill'
1998 | | 'camera-lens-fill'
1999 | | 'camera-lens-line'
2000 | | 'camera-line'
2001 | | 'camera-off-fill'
2002 | | 'camera-off-line'
2003 | | 'camera-switch-fill'
2004 | | 'camera-switch-line'
2005 | | 'clapperboard-fill'
2006 | | 'clapperboard-line'
2007 | | 'closed-captioning-fill'
2008 | | 'closed-captioning-line'
2009 | | 'disc-fill'
2010 | | 'disc-line'
2011 | | 'dv-fill'
2012 | | 'dv-line'
2013 | | 'dvd-fill'
2014 | | 'dvd-line'
2015 | | 'eject-fill'
2016 | | 'eject-line'
2017 | | 'equalizer-2-fill'
2018 | | 'equalizer-2-line'
2019 | | 'equalizer-3-fill'
2020 | | 'equalizer-3-line'
2021 | | 'equalizer-fill'
2022 | | 'equalizer-line'
2023 | | 'film-fill'
2024 | | 'film-line'
2025 | | 'forward-10-fill'
2026 | | 'forward-10-line'
2027 | | 'forward-15-fill'
2028 | | 'forward-15-line'
2029 | | 'forward-30-fill'
2030 | | 'forward-30-line'
2031 | | 'forward-5-fill'
2032 | | 'forward-5-line'
2033 | | 'forward-end-fill'
2034 | | 'forward-end-line'
2035 | | 'forward-end-mini-fill'
2036 | | 'forward-end-mini-line'
2037 | | 'fullscreen-exit-fill'
2038 | | 'fullscreen-exit-line'
2039 | | 'fullscreen-fill'
2040 | | 'fullscreen-line'
2041 | | 'gallery-fill'
2042 | | 'gallery-line'
2043 | | 'gallery-upload-fill'
2044 | | 'gallery-upload-line'
2045 | | 'hd-fill'
2046 | | 'hd-line'
2047 | | 'headphone-fill'
2048 | | 'headphone-line'
2049 | | 'hq-fill'
2050 | | 'hq-line'
2051 | | 'image-2-fill'
2052 | | 'image-2-line'
2053 | | 'image-add-fill'
2054 | | 'image-add-line'
2055 | | 'image-circle-fill'
2056 | | 'image-circle-line'
2057 | | 'image-edit-fill'
2058 | | 'image-edit-line'
2059 | | 'image-fill'
2060 | | 'image-line'
2061 | | 'landscape-fill'
2062 | | 'landscape-line'
2063 | | 'live-fill'
2064 | | 'live-line'
2065 | | 'memories-fill'
2066 | | 'memories-line'
2067 | | 'mic-2-fill'
2068 | | 'mic-2-line'
2069 | | 'mic-fill'
2070 | | 'mic-line'
2071 | | 'mic-off-fill'
2072 | | 'mic-off-line'
2073 | | 'movie-2-fill'
2074 | | 'movie-2-line'
2075 | | 'movie-fill'
2076 | | 'movie-line'
2077 | | 'music-2-fill'
2078 | | 'music-2-line'
2079 | | 'music-fill'
2080 | | 'music-line'
2081 | | 'mv-fill'
2082 | | 'mv-line'
2083 | | 'notification-2-fill'
2084 | | 'notification-2-line'
2085 | | 'notification-3-fill'
2086 | | 'notification-3-line'
2087 | | 'notification-4-fill'
2088 | | 'notification-4-line'
2089 | | 'notification-fill'
2090 | | 'notification-line'
2091 | | 'notification-off-fill'
2092 | | 'notification-off-line'
2093 | | 'order-play-fill'
2094 | | 'order-play-line'
2095 | | 'pause-circle-fill'
2096 | | 'pause-circle-line'
2097 | | 'pause-fill'
2098 | | 'pause-large-fill'
2099 | | 'pause-large-line'
2100 | | 'pause-line'
2101 | | 'pause-mini-fill'
2102 | | 'pause-mini-line'
2103 | | 'phone-camera-fill'
2104 | | 'phone-camera-line'
2105 | | 'picture-in-picture-2-fill'
2106 | | 'picture-in-picture-2-line'
2107 | | 'picture-in-picture-exit-fill'
2108 | | 'picture-in-picture-exit-line'
2109 | | 'picture-in-picture-fill'
2110 | | 'picture-in-picture-line'
2111 | | 'play-circle-fill'
2112 | | 'play-circle-line'
2113 | | 'play-fill'
2114 | | 'play-large-fill'
2115 | | 'play-large-line'
2116 | | 'play-line'
2117 | | 'play-list-2-fill'
2118 | | 'play-list-2-line'
2119 | | 'play-list-add-fill'
2120 | | 'play-list-add-line'
2121 | | 'play-list-fill'
2122 | | 'play-list-line'
2123 | | 'play-mini-fill'
2124 | | 'play-mini-line'
2125 | | 'play-reverse-fill'
2126 | | 'play-reverse-large-fill'
2127 | | 'play-reverse-large-line'
2128 | | 'play-reverse-line'
2129 | | 'play-reverse-mini-fill'
2130 | | 'play-reverse-mini-line'
2131 | | 'polaroid-2-fill'
2132 | | 'polaroid-2-line'
2133 | | 'polaroid-fill'
2134 | | 'polaroid-line'
2135 | | 'radio-2-fill'
2136 | | 'radio-2-line'
2137 | | 'radio-fill'
2138 | | 'radio-line'
2139 | | 'record-circle-fill'
2140 | | 'record-circle-line'
2141 | | 'repeat-2-fill'
2142 | | 'repeat-2-line'
2143 | | 'repeat-fill'
2144 | | 'repeat-line'
2145 | | 'repeat-one-fill'
2146 | | 'repeat-one-line'
2147 | | 'replay-10-fill'
2148 | | 'replay-10-line'
2149 | | 'replay-15-fill'
2150 | | 'replay-15-line'
2151 | | 'replay-30-fill'
2152 | | 'replay-30-line'
2153 | | 'replay-5-fill'
2154 | | 'replay-5-line'
2155 | | 'rewind-fill'
2156 | | 'rewind-line'
2157 | | 'rewind-mini-fill'
2158 | | 'rewind-mini-line'
2159 | | 'rewind-start-fill'
2160 | | 'rewind-start-line'
2161 | | 'rewind-start-mini-fill'
2162 | | 'rewind-start-mini-line'
2163 | | 'rhythm-fill'
2164 | | 'rhythm-line'
2165 | | 'shuffle-fill'
2166 | | 'shuffle-line'
2167 | | 'skip-back-fill'
2168 | | 'skip-back-line'
2169 | | 'skip-back-mini-fill'
2170 | | 'skip-back-mini-line'
2171 | | 'skip-forward-fill'
2172 | | 'skip-forward-line'
2173 | | 'skip-forward-mini-fill'
2174 | | 'skip-forward-mini-line'
2175 | | 'slow-down-fill'
2176 | | 'slow-down-line'
2177 | | 'sound-module-fill'
2178 | | 'sound-module-line'
2179 | | 'speaker-2-fill'
2180 | | 'speaker-2-line'
2181 | | 'speaker-3-fill'
2182 | | 'speaker-3-line'
2183 | | 'speaker-fill'
2184 | | 'speaker-line'
2185 | | 'speed-fill'
2186 | | 'speed-line'
2187 | | 'speed-mini-fill'
2188 | | 'speed-mini-line'
2189 | | 'speed-up-fill'
2190 | | 'speed-up-line'
2191 | | 'stop-circle-fill'
2192 | | 'stop-circle-line'
2193 | | 'stop-fill'
2194 | | 'stop-large-fill'
2195 | | 'stop-large-line'
2196 | | 'stop-line'
2197 | | 'stop-mini-fill'
2198 | | 'stop-mini-line'
2199 | | 'surround-sound-fill'
2200 | | 'surround-sound-line'
2201 | | 'tape-fill'
2202 | | 'tape-line'
2203 | | 'video-add-fill'
2204 | | 'video-add-line'
2205 | | 'video-download-fill'
2206 | | 'video-download-line'
2207 | | 'video-fill'
2208 | | 'video-line'
2209 | | 'video-off-fill'
2210 | | 'video-off-line'
2211 | | 'video-on-fill'
2212 | | 'video-on-line'
2213 | | 'video-upload-fill'
2214 | | 'video-upload-line'
2215 | | 'vidicon-2-fill'
2216 | | 'vidicon-2-line'
2217 | | 'vidicon-fill'
2218 | | 'vidicon-line'
2219 | | 'voiceprint-fill'
2220 | | 'voiceprint-line'
2221 | | 'volume-down-fill'
2222 | | 'volume-down-line'
2223 | | 'volume-mute-fill'
2224 | | 'volume-mute-line'
2225 | | 'volume-off-vibrate-fill'
2226 | | 'volume-off-vibrate-line'
2227 | | 'volume-up-fill'
2228 | | 'volume-up-line'
2229 | | 'volume-vibrate-fill'
2230 | | 'volume-vibrate-line'
2231 | | 'webcam-fill'
2232 | | 'webcam-line'
2233 | | 'armchair-fill'
2234 | | 'armchair-line'
2235 | | 'basketball-fill'
2236 | | 'basketball-line'
2237 | | 'bell-fill'
2238 | | 'bell-line'
2239 | | 'billiards-fill'
2240 | | 'billiards-line'
2241 | | 'book-shelf-fill'
2242 | | 'book-shelf-line'
2243 | | 'box-1-fill'
2244 | | 'box-1-line'
2245 | | 'box-2-fill'
2246 | | 'box-2-line'
2247 | | 'box-3-fill'
2248 | | 'box-3-line'
2249 | | 'boxing-fill'
2250 | | 'boxing-line'
2251 | | 'cactus-fill'
2252 | | 'cactus-line'
2253 | | 'candle-fill'
2254 | | 'candle-line'
2255 | | 'character-recognition-fill'
2256 | | 'character-recognition-line'
2257 | | 'cross-fill'
2258 | | 'cross-line'
2259 | | 'dice-1-fill'
2260 | | 'dice-1-line'
2261 | | 'dice-2-fill'
2262 | | 'dice-2-line'
2263 | | 'dice-3-fill'
2264 | | 'dice-3-line'
2265 | | 'dice-4-fill'
2266 | | 'dice-4-line'
2267 | | 'dice-5-fill'
2268 | | 'dice-5-line'
2269 | | 'dice-6-fill'
2270 | | 'dice-6-line'
2271 | | 'dice-fill'
2272 | | 'dice-line'
2273 | | 'door-closed-fill'
2274 | | 'door-closed-line'
2275 | | 'door-fill'
2276 | | 'door-line'
2277 | | 'door-lock-box-fill'
2278 | | 'door-lock-box-line'
2279 | | 'door-lock-fill'
2280 | | 'door-lock-line'
2281 | | 'door-open-fill'
2282 | | 'door-open-line'
2283 | | 'flower-fill'
2284 | | 'flower-line'
2285 | | 'football-fill'
2286 | | 'football-line'
2287 | | 'fridge-fill'
2288 | | 'fridge-line'
2289 | | 'game-fill'
2290 | | 'game-line'
2291 | | 'glasses-2-fill'
2292 | | 'glasses-2-line'
2293 | | 'glasses-fill'
2294 | | 'glasses-line'
2295 | | 'goggles-fill'
2296 | | 'goggles-line'
2297 | | 'golf-ball-fill'
2298 | | 'golf-ball-line'
2299 | | 'graduation-cap-fill'
2300 | | 'graduation-cap-line'
2301 | | 'handbag-fill'
2302 | | 'handbag-line'
2303 | | 'infinity-fill'
2304 | | 'infinity-line'
2305 | | 'key-2-fill'
2306 | | 'key-2-line'
2307 | | 'key-fill'
2308 | | 'key-line'
2309 | | 'leaf-fill'
2310 | | 'leaf-line'
2311 | | 'lightbulb-fill'
2312 | | 'lightbulb-flash-fill'
2313 | | 'lightbulb-flash-line'
2314 | | 'lightbulb-line'
2315 | | 'outlet-2-fill'
2316 | | 'outlet-2-line'
2317 | | 'outlet-fill'
2318 | | 'outlet-line'
2319 | | 'ping-pong-fill'
2320 | | 'ping-pong-line'
2321 | | 'plant-fill'
2322 | | 'plant-line'
2323 | | 'plug-2-fill'
2324 | | 'plug-2-line'
2325 | | 'plug-fill'
2326 | | 'plug-line'
2327 | | 'police-badge-fill'
2328 | | 'police-badge-line'
2329 | | 'recycle-fill'
2330 | | 'recycle-line'
2331 | | 'reserved-fill'
2332 | | 'reserved-line'
2333 | | 'scales-2-fill'
2334 | | 'scales-2-line'
2335 | | 'scales-3-fill'
2336 | | 'scales-3-line'
2337 | | 'scales-fill'
2338 | | 'scales-line'
2339 | | 'seedling-fill'
2340 | | 'seedling-line'
2341 | | 'shirt-fill'
2342 | | 'shirt-line'
2343 | | 'sofa-fill'
2344 | | 'sofa-line'
2345 | | 'stairs-fill'
2346 | | 'stairs-line'
2347 | | 'sword-fill'
2348 | | 'sword-line'
2349 | | 't-shirt-2-fill'
2350 | | 't-shirt-2-line'
2351 | | 't-shirt-air-fill'
2352 | | 't-shirt-air-line'
2353 | | 't-shirt-fill'
2354 | | 't-shirt-line'
2355 | | 'tooth-fill'
2356 | | 'tooth-line'
2357 | | 'tree-fill'
2358 | | 'tree-line'
2359 | | 'umbrella-fill'
2360 | | 'umbrella-line'
2361 | | 'voice-recognition-fill'
2362 | | 'voice-recognition-line'
2363 | | 'weight-fill'
2364 | | 'weight-line'
2365 | | 'wheelchair-fill'
2366 | | 'wheelchair-line'
2367 | | 'add-box-fill'
2368 | | 'add-box-line'
2369 | | 'add-circle-fill'
2370 | | 'add-circle-line'
2371 | | 'add-fill'
2372 | | 'add-large-fill'
2373 | | 'add-large-line'
2374 | | 'add-line'
2375 | | 'alarm-fill'
2376 | | 'alarm-line'
2377 | | 'alarm-warning-fill'
2378 | | 'alarm-warning-line'
2379 | | 'alert-fill'
2380 | | 'alert-line'
2381 | | 'apps-2-add-fill'
2382 | | 'apps-2-add-line'
2383 | | 'apps-2-fill'
2384 | | 'apps-2-line'
2385 | | 'apps-fill'
2386 | | 'apps-line'
2387 | | 'check-double-fill'
2388 | | 'check-double-line'
2389 | | 'check-fill'
2390 | | 'check-line'
2391 | | 'checkbox-blank-circle-fill'
2392 | | 'checkbox-blank-circle-line'
2393 | | 'checkbox-blank-fill'
2394 | | 'checkbox-blank-line'
2395 | | 'checkbox-circle-fill'
2396 | | 'checkbox-circle-line'
2397 | | 'checkbox-fill'
2398 | | 'checkbox-indeterminate-fill'
2399 | | 'checkbox-indeterminate-line'
2400 | | 'checkbox-line'
2401 | | 'checkbox-multiple-blank-fill'
2402 | | 'checkbox-multiple-blank-line'
2403 | | 'checkbox-multiple-fill'
2404 | | 'checkbox-multiple-line'
2405 | | 'close-circle-fill'
2406 | | 'close-circle-line'
2407 | | 'close-fill'
2408 | | 'close-large-fill'
2409 | | 'close-large-line'
2410 | | 'close-line'
2411 | | 'dashboard-fill'
2412 | | 'dashboard-horizontal-fill'
2413 | | 'dashboard-horizontal-line'
2414 | | 'dashboard-line'
2415 | | 'delete-back-2-fill'
2416 | | 'delete-back-2-line'
2417 | | 'delete-back-fill'
2418 | | 'delete-back-line'
2419 | | 'delete-bin-2-fill'
2420 | | 'delete-bin-2-line'
2421 | | 'delete-bin-3-fill'
2422 | | 'delete-bin-3-line'
2423 | | 'delete-bin-4-fill'
2424 | | 'delete-bin-4-line'
2425 | | 'delete-bin-5-fill'
2426 | | 'delete-bin-5-line'
2427 | | 'delete-bin-6-fill'
2428 | | 'delete-bin-6-line'
2429 | | 'delete-bin-7-fill'
2430 | | 'delete-bin-7-line'
2431 | | 'delete-bin-fill'
2432 | | 'delete-bin-line'
2433 | | 'divide-fill'
2434 | | 'divide-line'
2435 | | 'download-2-fill'
2436 | | 'download-2-line'
2437 | | 'download-cloud-2-fill'
2438 | | 'download-cloud-2-line'
2439 | | 'download-cloud-fill'
2440 | | 'download-cloud-line'
2441 | | 'download-fill'
2442 | | 'download-line'
2443 | | 'equal-fill'
2444 | | 'equal-line'
2445 | | 'error-warning-fill'
2446 | | 'error-warning-line'
2447 | | 'export-fill'
2448 | | 'export-line'
2449 | | 'external-link-fill'
2450 | | 'external-link-line'
2451 | | 'eye-2-fill'
2452 | | 'eye-2-line'
2453 | | 'eye-close-fill'
2454 | | 'eye-close-line'
2455 | | 'eye-fill'
2456 | | 'eye-line'
2457 | | 'eye-off-fill'
2458 | | 'eye-off-line'
2459 | | 'filter-2-fill'
2460 | | 'filter-2-line'
2461 | | 'filter-3-fill'
2462 | | 'filter-3-line'
2463 | | 'filter-fill'
2464 | | 'filter-line'
2465 | | 'filter-off-fill'
2466 | | 'filter-off-line'
2467 | | 'find-replace-fill'
2468 | | 'find-replace-line'
2469 | | 'forbid-2-fill'
2470 | | 'forbid-2-line'
2471 | | 'forbid-fill'
2472 | | 'forbid-line'
2473 | | 'function-add-fill'
2474 | | 'function-add-line'
2475 | | 'function-fill'
2476 | | 'function-line'
2477 | | 'history-fill'
2478 | | 'history-line'
2479 | | 'hourglass-2-fill'
2480 | | 'hourglass-2-line'
2481 | | 'hourglass-fill'
2482 | | 'hourglass-line'
2483 | | 'import-fill'
2484 | | 'import-line'
2485 | | 'indeterminate-circle-fill'
2486 | | 'indeterminate-circle-line'
2487 | | 'information-2-fill'
2488 | | 'information-2-line'
2489 | | 'information-fill'
2490 | | 'information-line'
2491 | | 'information-off-fill'
2492 | | 'information-off-line'
2493 | | 'list-settings-fill'
2494 | | 'list-settings-line'
2495 | | 'loader-2-fill'
2496 | | 'loader-2-line'
2497 | | 'loader-3-fill'
2498 | | 'loader-3-line'
2499 | | 'loader-4-fill'
2500 | | 'loader-4-line'
2501 | | 'loader-5-fill'
2502 | | 'loader-5-line'
2503 | | 'loader-fill'
2504 | | 'loader-line'
2505 | | 'lock-2-fill'
2506 | | 'lock-2-line'
2507 | | 'lock-fill'
2508 | | 'lock-line'
2509 | | 'lock-password-fill'
2510 | | 'lock-password-line'
2511 | | 'lock-star-fill'
2512 | | 'lock-star-line'
2513 | | 'lock-unlock-fill'
2514 | | 'lock-unlock-line'
2515 | | 'login-box-fill'
2516 | | 'login-box-line'
2517 | | 'login-circle-fill'
2518 | | 'login-circle-line'
2519 | | 'logout-box-fill'
2520 | | 'logout-box-line'
2521 | | 'logout-box-r-fill'
2522 | | 'logout-box-r-line'
2523 | | 'logout-circle-fill'
2524 | | 'logout-circle-line'
2525 | | 'logout-circle-r-fill'
2526 | | 'logout-circle-r-line'
2527 | | 'loop-left-fill'
2528 | | 'loop-left-line'
2529 | | 'loop-right-fill'
2530 | | 'loop-right-line'
2531 | | 'menu-2-fill'
2532 | | 'menu-2-line'
2533 | | 'menu-3-fill'
2534 | | 'menu-3-line'
2535 | | 'menu-4-fill'
2536 | | 'menu-4-line'
2537 | | 'menu-5-fill'
2538 | | 'menu-5-line'
2539 | | 'menu-add-fill'
2540 | | 'menu-add-line'
2541 | | 'menu-fill'
2542 | | 'menu-fold-2-fill'
2543 | | 'menu-fold-2-line'
2544 | | 'menu-fold-3-fill'
2545 | | 'menu-fold-3-line'
2546 | | 'menu-fold-4-fill'
2547 | | 'menu-fold-4-line'
2548 | | 'menu-fold-fill'
2549 | | 'menu-fold-line'
2550 | | 'menu-line'
2551 | | 'menu-search-fill'
2552 | | 'menu-search-line'
2553 | | 'menu-unfold-2-fill'
2554 | | 'menu-unfold-2-line'
2555 | | 'menu-unfold-3-fill'
2556 | | 'menu-unfold-3-line'
2557 | | 'menu-unfold-4-fill'
2558 | | 'menu-unfold-4-line'
2559 | | 'menu-unfold-fill'
2560 | | 'menu-unfold-line'
2561 | | 'more-2-fill'
2562 | | 'more-2-line'
2563 | | 'more-fill'
2564 | | 'more-line'
2565 | | 'notification-badge-fill'
2566 | | 'notification-badge-line'
2567 | | 'progress-1-fill'
2568 | | 'progress-1-line'
2569 | | 'progress-2-fill'
2570 | | 'progress-2-line'
2571 | | 'progress-3-fill'
2572 | | 'progress-3-line'
2573 | | 'progress-4-fill'
2574 | | 'progress-4-line'
2575 | | 'progress-5-fill'
2576 | | 'progress-5-line'
2577 | | 'progress-6-fill'
2578 | | 'progress-6-line'
2579 | | 'progress-7-fill'
2580 | | 'progress-7-line'
2581 | | 'progress-8-fill'
2582 | | 'progress-8-line'
2583 | | 'prohibited-2-fill'
2584 | | 'prohibited-2-line'
2585 | | 'prohibited-fill'
2586 | | 'prohibited-line'
2587 | | 'question-fill'
2588 | | 'question-line'
2589 | | 'radio-button-fill'
2590 | | 'radio-button-line'
2591 | | 'refresh-fill'
2592 | | 'refresh-line'
2593 | | 'reset-left-fill'
2594 | | 'reset-left-line'
2595 | | 'reset-right-fill'
2596 | | 'reset-right-line'
2597 | | 'search-2-fill'
2598 | | 'search-2-line'
2599 | | 'search-eye-fill'
2600 | | 'search-eye-line'
2601 | | 'search-fill'
2602 | | 'search-line'
2603 | | 'settings-2-fill'
2604 | | 'settings-2-line'
2605 | | 'settings-3-fill'
2606 | | 'settings-3-line'
2607 | | 'settings-4-fill'
2608 | | 'settings-4-line'
2609 | | 'settings-5-fill'
2610 | | 'settings-5-line'
2611 | | 'settings-6-fill'
2612 | | 'settings-6-line'
2613 | | 'settings-fill'
2614 | | 'settings-line'
2615 | | 'share-2-fill'
2616 | | 'share-2-line'
2617 | | 'share-box-fill'
2618 | | 'share-box-line'
2619 | | 'share-circle-fill'
2620 | | 'share-circle-line'
2621 | | 'share-fill'
2622 | | 'share-forward-2-fill'
2623 | | 'share-forward-2-line'
2624 | | 'share-forward-box-fill'
2625 | | 'share-forward-box-line'
2626 | | 'share-forward-fill'
2627 | | 'share-forward-line'
2628 | | 'share-line'
2629 | | 'shield-check-fill'
2630 | | 'shield-check-line'
2631 | | 'shield-cross-fill'
2632 | | 'shield-cross-line'
2633 | | 'shield-fill'
2634 | | 'shield-flash-fill'
2635 | | 'shield-flash-line'
2636 | | 'shield-keyhole-fill'
2637 | | 'shield-keyhole-line'
2638 | | 'shield-line'
2639 | | 'shield-star-fill'
2640 | | 'shield-star-line'
2641 | | 'shield-user-fill'
2642 | | 'shield-user-line'
2643 | | 'side-bar-fill'
2644 | | 'side-bar-line'
2645 | | 'sidebar-fold-fill'
2646 | | 'sidebar-fold-line'
2647 | | 'sidebar-unfold-fill'
2648 | | 'sidebar-unfold-line'
2649 | | 'spam-2-fill'
2650 | | 'spam-2-line'
2651 | | 'spam-3-fill'
2652 | | 'spam-3-line'
2653 | | 'spam-fill'
2654 | | 'spam-line'
2655 | | 'star-fill'
2656 | | 'star-half-fill'
2657 | | 'star-half-line'
2658 | | 'star-half-s-fill'
2659 | | 'star-half-s-line'
2660 | | 'star-line'
2661 | | 'star-s-fill'
2662 | | 'star-s-line'
2663 | | 'subtract-fill'
2664 | | 'subtract-line'
2665 | | 'thumb-down-fill'
2666 | | 'thumb-down-line'
2667 | | 'thumb-up-fill'
2668 | | 'thumb-up-line'
2669 | | 'time-fill'
2670 | | 'time-line'
2671 | | 'timer-2-fill'
2672 | | 'timer-2-line'
2673 | | 'timer-fill'
2674 | | 'timer-flash-fill'
2675 | | 'timer-flash-line'
2676 | | 'timer-line'
2677 | | 'toggle-fill'
2678 | | 'toggle-line'
2679 | | 'upload-2-fill'
2680 | | 'upload-2-line'
2681 | | 'upload-cloud-2-fill'
2682 | | 'upload-cloud-2-line'
2683 | | 'upload-cloud-fill'
2684 | | 'upload-cloud-line'
2685 | | 'upload-fill'
2686 | | 'upload-line'
2687 | | 'zoom-in-fill'
2688 | | 'zoom-in-line'
2689 | | 'zoom-out-fill'
2690 | | 'zoom-out-line'
2691 | | 'account-box-fill'
2692 | | 'account-box-line'
2693 | | 'account-circle-fill'
2694 | | 'account-circle-line'
2695 | | 'account-pin-box-fill'
2696 | | 'account-pin-box-line'
2697 | | 'account-pin-circle-fill'
2698 | | 'account-pin-circle-line'
2699 | | 'admin-fill'
2700 | | 'admin-line'
2701 | | 'aliens-fill'
2702 | | 'aliens-line'
2703 | | 'bear-smile-fill'
2704 | | 'bear-smile-line'
2705 | | 'body-scan-fill'
2706 | | 'body-scan-line'
2707 | | 'contacts-fill'
2708 | | 'contacts-line'
2709 | | 'criminal-fill'
2710 | | 'criminal-line'
2711 | | 'emotion-2-fill'
2712 | | 'emotion-2-line'
2713 | | 'emotion-fill'
2714 | | 'emotion-happy-fill'
2715 | | 'emotion-happy-line'
2716 | | 'emotion-laugh-fill'
2717 | | 'emotion-laugh-line'
2718 | | 'emotion-line'
2719 | | 'emotion-normal-fill'
2720 | | 'emotion-normal-line'
2721 | | 'emotion-sad-fill'
2722 | | 'emotion-sad-line'
2723 | | 'emotion-unhappy-fill'
2724 | | 'emotion-unhappy-line'
2725 | | 'genderless-fill'
2726 | | 'genderless-line'
2727 | | 'ghost-2-fill'
2728 | | 'ghost-2-line'
2729 | | 'ghost-fill'
2730 | | 'ghost-line'
2731 | | 'ghost-smile-fill'
2732 | | 'ghost-smile-line'
2733 | | 'group-2-fill'
2734 | | 'group-2-line'
2735 | | 'group-3-fill'
2736 | | 'group-3-line'
2737 | | 'group-fill'
2738 | | 'group-line'
2739 | | 'men-fill'
2740 | | 'men-line'
2741 | | 'mickey-fill'
2742 | | 'mickey-line'
2743 | | 'open-arm-fill'
2744 | | 'open-arm-line'
2745 | | 'parent-fill'
2746 | | 'parent-line'
2747 | | 'robot-2-fill'
2748 | | 'robot-2-line'
2749 | | 'robot-3-fill'
2750 | | 'robot-3-line'
2751 | | 'robot-fill'
2752 | | 'robot-line'
2753 | | 'skull-2-fill'
2754 | | 'skull-2-line'
2755 | | 'skull-fill'
2756 | | 'skull-line'
2757 | | 'spy-fill'
2758 | | 'spy-line'
2759 | | 'star-smile-fill'
2760 | | 'star-smile-line'
2761 | | 'team-fill'
2762 | | 'team-line'
2763 | | 'travesti-fill'
2764 | | 'travesti-line'
2765 | | 'user-2-fill'
2766 | | 'user-2-line'
2767 | | 'user-3-fill'
2768 | | 'user-3-line'
2769 | | 'user-4-fill'
2770 | | 'user-4-line'
2771 | | 'user-5-fill'
2772 | | 'user-5-line'
2773 | | 'user-6-fill'
2774 | | 'user-6-line'
2775 | | 'user-add-fill'
2776 | | 'user-add-line'
2777 | | 'user-fill'
2778 | | 'user-follow-fill'
2779 | | 'user-follow-line'
2780 | | 'user-forbid-fill'
2781 | | 'user-forbid-line'
2782 | | 'user-heart-fill'
2783 | | 'user-heart-line'
2784 | | 'user-line'
2785 | | 'user-location-fill'
2786 | | 'user-location-line'
2787 | | 'user-minus-fill'
2788 | | 'user-minus-line'
2789 | | 'user-received-2-fill'
2790 | | 'user-received-2-line'
2791 | | 'user-received-fill'
2792 | | 'user-received-line'
2793 | | 'user-search-fill'
2794 | | 'user-search-line'
2795 | | 'user-settings-fill'
2796 | | 'user-settings-line'
2797 | | 'user-shared-2-fill'
2798 | | 'user-shared-2-line'
2799 | | 'user-shared-fill'
2800 | | 'user-shared-line'
2801 | | 'user-smile-fill'
2802 | | 'user-smile-line'
2803 | | 'user-star-fill'
2804 | | 'user-star-line'
2805 | | 'user-unfollow-fill'
2806 | | 'user-unfollow-line'
2807 | | 'user-voice-fill'
2808 | | 'user-voice-line'
2809 | | 'women-fill'
2810 | | 'women-line'
2811 | | 'blaze-fill'
2812 | | 'blaze-line'
2813 | | 'celsius-fill'
2814 | | 'celsius-line'
2815 | | 'cloud-windy-fill'
2816 | | 'cloud-windy-line'
2817 | | 'cloudy-2-fill'
2818 | | 'cloudy-2-line'
2819 | | 'cloudy-fill'
2820 | | 'cloudy-line'
2821 | | 'drizzle-fill'
2822 | | 'drizzle-line'
2823 | | 'earthquake-fill'
2824 | | 'earthquake-line'
2825 | | 'fahrenheit-fill'
2826 | | 'fahrenheit-line'
2827 | | 'fire-fill'
2828 | | 'fire-line'
2829 | | 'flashlight-fill'
2830 | | 'flashlight-line'
2831 | | 'flood-fill'
2832 | | 'flood-line'
2833 | | 'foggy-fill'
2834 | | 'foggy-line'
2835 | | 'hail-fill'
2836 | | 'hail-line'
2837 | | 'haze-2-fill'
2838 | | 'haze-2-line'
2839 | | 'haze-fill'
2840 | | 'haze-line'
2841 | | 'heavy-showers-fill'
2842 | | 'heavy-showers-line'
2843 | | 'meteor-fill'
2844 | | 'meteor-line'
2845 | | 'mist-fill'
2846 | | 'mist-line'
2847 | | 'moon-clear-fill'
2848 | | 'moon-clear-line'
2849 | | 'moon-cloudy-fill'
2850 | | 'moon-cloudy-line'
2851 | | 'moon-fill'
2852 | | 'moon-foggy-fill'
2853 | | 'moon-foggy-line'
2854 | | 'moon-line'
2855 | | 'rainbow-fill'
2856 | | 'rainbow-line'
2857 | | 'rainy-fill'
2858 | | 'rainy-line'
2859 | | 'shining-2-fill'
2860 | | 'shining-2-line'
2861 | | 'shining-fill'
2862 | | 'shining-line'
2863 | | 'showers-fill'
2864 | | 'showers-line'
2865 | | 'snowflake-fill'
2866 | | 'snowflake-line'
2867 | | 'snowy-fill'
2868 | | 'snowy-line'
2869 | | 'sparkling-2-fill'
2870 | | 'sparkling-2-line'
2871 | | 'sparkling-fill'
2872 | | 'sparkling-line'
2873 | | 'sun-cloudy-fill'
2874 | | 'sun-cloudy-line'
2875 | | 'sun-fill'
2876 | | 'sun-foggy-fill'
2877 | | 'sun-foggy-line'
2878 | | 'sun-line'
2879 | | 'temp-cold-fill'
2880 | | 'temp-cold-line'
2881 | | 'temp-hot-fill'
2882 | | 'temp-hot-line'
2883 | | 'thunderstorms-fill'
2884 | | 'thunderstorms-line'
2885 | | 'tornado-fill'
2886 | | 'tornado-line'
2887 | | 'typhoon-fill'
2888 | | 'typhoon-line'
2889 | | 'water-percent-fill'
2890 | | 'water-percent-line'
2891 | | 'windy-fill'
2892 | | 'windy-line';
2893 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/src/lib/provider.ts:
--------------------------------------------------------------------------------
1 | import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
2 |
3 | export const provideRemixIcon = (icons: Record) => {
4 | return makeEnvironmentProviders([
5 | {
6 | provide: SELECTED_ICONS,
7 | multi: false,
8 | useValue: icons,
9 | },
10 | ]);
11 | };
12 |
13 | export const SELECTED_ICONS = new InjectionToken>(
14 | 'Selected Icons',
15 | );
16 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/src/lib/utils/utils.ts:
--------------------------------------------------------------------------------
1 | export function upperCamelCase(str: string): string {
2 | return str
3 | .toLowerCase()
4 | .replace(/(?:^\w|[A-Z]|\b\w)/g, (firstLetter) => firstLetter.toUpperCase())
5 | .replace(/[-_]/g, '');
6 | }
7 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/src/public-api.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Public API Surface of angular-remix-icon
3 | */
4 |
5 | export * from './lib/angular-remix-icon.component';
6 | export * from './lib/angular-remix-icon.module';
7 | export * from './lib/icons';
8 |
9 | export * from './lib/provider';
10 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js';
4 | import 'zone.js/testing';
5 | import { getTestBed } from '@angular/core/testing';
6 | import {
7 | BrowserDynamicTestingModule,
8 | platformBrowserDynamicTesting
9 | } from '@angular/platform-browser-dynamic/testing';
10 |
11 | // First, initialize the Angular testing environment.
12 | getTestBed().initTestEnvironment(
13 | BrowserDynamicTestingModule,
14 | platformBrowserDynamicTesting(), {
15 | teardown: { destroyAfterEach: false }
16 | }
17 | );
18 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/tsconfig.lib.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../../out-tsc/lib",
5 | "declaration": true,
6 | "declarationMap": true,
7 | "inlineSources": true,
8 | "types": []
9 | },
10 | "exclude": [
11 | "src/test.ts",
12 | "**/*.spec.ts"
13 | ]
14 | }
--------------------------------------------------------------------------------
/projects/angular-remix-icon/tsconfig.lib.prod.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.lib.json",
3 | "compilerOptions": {
4 | "declarationMap": false,
5 | "inlineSources": false,
6 | "inlineSourceMap": false
7 | },
8 | "angularCompilerOptions": {
9 | "compilationMode": "partial"
10 | }
11 | }
--------------------------------------------------------------------------------
/projects/angular-remix-icon/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "../../tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "../../out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts"
12 | ],
13 | "include": [
14 | "**/*.spec.ts",
15 | "**/*.d.ts"
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/projects/angular-remix-icon/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tslint.json",
3 | "rules": {
4 | "directive-selector": [
5 | true,
6 | "attribute",
7 | "rmx",
8 | "camelCase"
9 | ],
10 | "component-selector": [
11 | true,
12 | "element",
13 | "rmx",
14 | "kebab-case"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/remix-icon-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adisreyaj/angular-remix-icon/9d44bea49adbf861d4de3897c919b3892b119ed3/remix-icon-example.png
--------------------------------------------------------------------------------
/scripts/generate.ts:
--------------------------------------------------------------------------------
1 | import * as del from 'del';
2 | import * as fs from 'fs-extra';
3 | import * as upperCamelCase from 'uppercamelcase';
4 |
5 | const iconsSourceFolder = './node_modules/remixicon/icons';
6 | const iconsDestinationFolder = './projects/angular-remix-icon/src/lib/icons';
7 | const indexFile = './projects/angular-remix-icon/src/lib/icons.ts';
8 | const indexTypeFile = './projects/angular-remix-icon/src/lib/icon-names.ts';
9 | const iconTsTemplate = fs.readFileSync(
10 | `${__dirname}/template/icon.tpl`,
11 | 'utf-8'
12 | );
13 | const iconNameTypeTsTemplate = fs.readFileSync(
14 | `${__dirname}/template/icon-name.tpl`,
15 | 'utf-8'
16 | );
17 |
18 | (async () => {
19 | const readCategories = () => {
20 | return fs.readdirSync(iconsSourceFolder);
21 | };
22 |
23 | const readIconsInCategory = (category: string) => {
24 | const iconsFiles = fs.readdirSync(`${iconsSourceFolder}/${category}`);
25 | return iconsFiles;
26 | };
27 |
28 | const removeExtension = (str: string) => {
29 | return str.substr(0, str.lastIndexOf('.'));
30 | };
31 |
32 | const extractIconFileContent = (filePath: string) => {
33 | return fs.readFileSync(filePath);
34 | };
35 |
36 | await del(`${iconsDestinationFolder}`, {force: true});
37 | await del(`${iconsDestinationFolder}/**/*`, {force: true});
38 | await del(`${indexFile}`, {force: true});
39 | await del(`${indexTypeFile}`, {force: true});
40 |
41 | fs.mkdirSync(`${iconsDestinationFolder}`);
42 | const categories = readCategories();
43 |
44 | const iconNames: string[] = [];
45 | categories.forEach((category) => {
46 | fs.mkdirSync(`${iconsDestinationFolder}/${category}`);
47 | const iconsInCategory = readIconsInCategory(category);
48 | iconsInCategory.forEach((icon) => {
49 | const iconName = removeExtension(icon);
50 | const exportName = upperCamelCase(iconName);
51 | const content = extractIconFileContent(
52 | `${iconsSourceFolder}/${category}/${icon}`
53 | );
54 |
55 | // Extract the paths from between the svg tags
56 | const [_, payload] = String(content)
57 | .replace(/\n|\r/g, '')
58 | .match(/^]+?>(.+)<\/svg>$/);
59 |
60 | const output = iconTsTemplate
61 | .replace(/__EXPORT_NAME__/g, `Ri${exportName}`)
62 | .replace(/__PATHS__/, payload);
63 | console.log('WRITING...', `${category}/${iconName}`);
64 | fs.writeFileSync(
65 | `${iconsDestinationFolder}/${category}/${iconName}.ts`,
66 | output,
67 | 'utf-8'
68 | );
69 |
70 | fs.appendFileSync(
71 | indexFile,
72 | `export { Ri${exportName} } from './icons/${category}/${iconName}';\n`
73 | );
74 |
75 | iconNames.push(iconName);
76 | });
77 | });
78 |
79 | const iconNamesForTSType = iconNames.reduce((result, next) => {
80 | if (!result) {
81 | return `\'${next}\'`;
82 | }
83 | return result + `\n | \'${next}\'`;
84 | }, '');
85 |
86 | const typeString = iconNameTypeTsTemplate
87 | .replace(/__ICON_NAMES__/g, iconNamesForTSType);
88 |
89 | console.log('WRITING...', `${indexTypeFile}`);
90 |
91 | fs.writeFileSync(indexTypeFile, typeString);
92 | })();
93 |
--------------------------------------------------------------------------------
/scripts/template/icon-name.tpl:
--------------------------------------------------------------------------------
1 | export type IconName = __ICON_NAMES__;
2 |
--------------------------------------------------------------------------------
/scripts/template/icon.tpl:
--------------------------------------------------------------------------------
1 | export const __EXPORT_NAME__:string = `__PATHS__ `;
2 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "baseUrl": "./",
5 | "outDir": "./dist/out-tsc",
6 | "forceConsistentCasingInFileNames": true,
7 | "esModuleInterop": true,
8 | "strict": true,
9 | "noImplicitOverride": true,
10 | "noPropertyAccessFromIndexSignature": true,
11 | "noImplicitReturns": true,
12 | "noFallthroughCasesInSwitch": true,
13 | "sourceMap": true,
14 | "inlineSources": false,
15 | "inlineSourceMap": false,
16 | "paths": {
17 | "angular-remix-icon": [
18 | "dist/angular-remix-icon/angular-remix-icon",
19 | "dist/angular-remix-icon"
20 | ],
21 | "test": [
22 | "dist/test/test",
23 | "dist/test"
24 | ]
25 | },
26 | "declaration": false,
27 | "experimentalDecorators": true,
28 | "moduleResolution": "node",
29 | "importHelpers": true,
30 | "target": "ES2022",
31 | "module": "es2020",
32 | "lib": [
33 | "es2020",
34 | "dom"
35 | ],
36 | "useDefineForClassFields": false
37 | },
38 | "angularCompilerOptions": {
39 | "enableI18nLegacyMessageIdFormat": false,
40 | "strictInjectionParameters": true,
41 | "strictInputAccessModifiers": true,
42 | "strictTemplates": true
43 | }
44 | }
--------------------------------------------------------------------------------
/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "tslint:recommended",
3 | "rulesDirectory": [
4 | "codelyzer"
5 | ],
6 | "rules": {
7 | "align": {
8 | "options": [
9 | "parameters",
10 | "statements"
11 | ]
12 | },
13 | "array-type": false,
14 | "arrow-return-shorthand": true,
15 | "curly": true,
16 | "deprecation": {
17 | "severity": "warning"
18 | },
19 | "eofline": true,
20 | "import-blacklist": [
21 | true,
22 | "rxjs/Rx"
23 | ],
24 | "import-spacing": true,
25 | "indent": {
26 | "options": [
27 | "spaces"
28 | ]
29 | },
30 | "max-classes-per-file": false,
31 | "max-line-length": [
32 | true,
33 | 140
34 | ],
35 | "member-ordering": [
36 | true,
37 | {
38 | "order": [
39 | "static-field",
40 | "instance-field",
41 | "static-method",
42 | "instance-method"
43 | ]
44 | }
45 | ],
46 | "no-console": [
47 | true,
48 | "debug",
49 | "info",
50 | "time",
51 | "timeEnd",
52 | "trace"
53 | ],
54 | "no-empty": false,
55 | "no-inferrable-types": [
56 | true,
57 | "ignore-params"
58 | ],
59 | "no-non-null-assertion": true,
60 | "no-redundant-jsdoc": true,
61 | "no-switch-case-fall-through": true,
62 | "no-var-requires": false,
63 | "object-literal-key-quotes": [
64 | true,
65 | "as-needed"
66 | ],
67 | "quotemark": [
68 | true,
69 | "single"
70 | ],
71 | "semicolon": {
72 | "options": [
73 | "always"
74 | ]
75 | },
76 | "space-before-function-paren": {
77 | "options": {
78 | "anonymous": "never",
79 | "asyncArrow": "always",
80 | "constructor": "never",
81 | "method": "never",
82 | "named": "never"
83 | }
84 | },
85 | "typedef": [
86 | true,
87 | "call-signature"
88 | ],
89 | "typedef-whitespace": {
90 | "options": [
91 | {
92 | "call-signature": "nospace",
93 | "index-signature": "nospace",
94 | "parameter": "nospace",
95 | "property-declaration": "nospace",
96 | "variable-declaration": "nospace"
97 | },
98 | {
99 | "call-signature": "onespace",
100 | "index-signature": "onespace",
101 | "parameter": "onespace",
102 | "property-declaration": "onespace",
103 | "variable-declaration": "onespace"
104 | }
105 | ]
106 | },
107 | "variable-name": {
108 | "options": [
109 | "ban-keywords",
110 | "check-format",
111 | "allow-pascal-case"
112 | ]
113 | },
114 | "whitespace": {
115 | "options": [
116 | "check-branch",
117 | "check-decl",
118 | "check-operator",
119 | "check-separator",
120 | "check-type",
121 | "check-typecast"
122 | ]
123 | },
124 | "component-class-suffix": true,
125 | "contextual-lifecycle": true,
126 | "directive-class-suffix": true,
127 | "no-conflicting-lifecycle": true,
128 | "no-host-metadata-property": true,
129 | "no-input-rename": true,
130 | "no-inputs-metadata-property": true,
131 | "no-output-native": true,
132 | "no-output-on-prefix": true,
133 | "no-output-rename": true,
134 | "no-outputs-metadata-property": true,
135 | "template-banana-in-box": true,
136 | "template-no-negated-async": true,
137 | "use-lifecycle-interface": true,
138 | "use-pipe-transform-interface": true
139 | }
140 | }
141 |
--------------------------------------------------------------------------------