├── .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 | Angular Remix Icon 3 |

4 |

Angular Remix Icon

5 |

6 | angular 7 | 8 | License: Apache License 2.0 9 | 10 | 11 | Twitter: Adithya Sreyaj 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 | ![Angular Remix Icon](https://raw.githubusercontent.com/adisreyaj/angular-remix-icon/master/remix-icon-example.png) 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 |
2 |
3 | 4 |
5 |
6 | 7 | 8 | 9 |
10 |
11 |
12 | Angular Remix Icon 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 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 51 | 52 | 53 | 54 | 55 |
PreviewIcon NameIcon Import Name
35 | 36 | home-2-fillRiHome2Fill
42 | 43 | mail-unread-lineRiMailUnreadLine
49 | 50 | send-plane-fillRiSendPlaneFill
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 | Angular Remix Icon 3 |

4 |

Angular Remix Icon

5 |

6 | angular 7 | 8 | License: Apache License 2.0 9 | 10 | 11 | Twitter: Adithya Sreyaj 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 | ![Angular Remix Icon](https://raw.githubusercontent.com/adisreyaj/angular-remix-icon/master/remix-icon-example.png) 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 | --------------------------------------------------------------------------------