Compare commits

...

22 Commits

Author SHA1 Message Date
Yashu Mittal
859577768c add power-on icon (#185)
* add power-on icon

* v2 design for power-on icon

* Rename power-on.svg to plug-zap.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-23 22:56:46 +02:00
Yashu Mittal
606b6b2b22 add desktop icon (#217)
* add desktop icon

* Rename desktop.svg to monitor-speaker.svg

* Update monitor-speaker.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-23 22:54:56 +02:00
Lucide Bot
10749409f1 📦 Bump lucide package versions to 2021-04-23 20:50:35 +00:00
Yashu Mittal
77727bc40c add ticket icon (#220) 2021-04-23 22:45:32 +02:00
dependabot[bot]
59fe65b705 Bump ssri from 6.0.1 to 6.0.2 in /site (#295)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-22 20:57:31 +02:00
dependabot[bot]
5e0d287cda Bump ssri from 6.0.1 to 6.0.2 in /packages/lucide-figma (#294)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-22 20:57:11 +02:00
Eric Fennis
910b2432ce Fix workflow for angular 2021-04-22 20:54:16 +02:00
Eric Fennis
3b05f0e574 Merge branch 'master' of github.com:lucide-icons/lucide 2021-04-22 20:49:31 +02:00
Eric Fennis
62e5aae150 Merge branch 'lucide-angular-fix-structure' 2021-04-22 20:47:56 +02:00
SMAH1
2dbf8ffaa3 Add workflow for release lucide-angular (#282) 2021-04-21 23:47:44 +02:00
Eric Fennis
938f7efeba Merge branch 'master' of github.com:lucide-icons/lucide 2021-04-20 00:00:18 +02:00
Eric Fennis
4c42ebfcff add move command 2021-04-19 23:41:15 +02:00
Eric Fennis
3348c1050d readme changes 2021-04-17 23:16:34 +02:00
Eric Fennis
d0f26f4110 minor fixes 2021-04-17 23:11:59 +02:00
Eric Fennis
b450764c68 Add new version 2021-04-17 22:22:02 +02:00
Eric Fennis
b71ae1e055 simplify exports 2021-04-17 22:00:21 +02:00
Eric Fennis
35d41c1763 Move files 2021-04-17 01:09:23 +02:00
Eric Fennis
7cdabd67be add styling 2021-04-14 23:49:43 +02:00
Eric Fennis
0922e72e3d move files 2021-04-14 23:43:47 +02:00
Eric Fennis
f2582af4a3 fix tsconfig 2021-04-14 23:02:35 +02:00
Eric Fennis
61124e4619 Fix link 2021-04-14 22:15:35 +02:00
Eric Fennis
770d5a7557 Format directories 2021-04-11 19:04:24 +02:00
44 changed files with 307 additions and 278 deletions

View File

@@ -137,14 +137,57 @@ jobs:
name: lucide-vue-package-json name: lucide-vue-package-json
path: packages/lucide-vue/package.json path: packages/lucide-vue/package.json
lucide-angular:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
needs: pre-build
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ${{ needs.pre-build.outputs.YARN_CACHE_DIR }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn --pure-lockfile
- name: Set Auth Token
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
- name: Set package.json version lucide
run: yarn workspace lucide-angular version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
- name: Build
run: yarn workspace lucide-angular build
- name: Test
run: yarn workspace lucide-angular test:headless
- name: Publish
run: yarn workspace lucide-angular publish dist
- name: Upload package.json
uses: actions/upload-artifact@v2
with:
path: packages/lucide-angular/package.json
upload-package-jsons: upload-package-jsons:
if: github.repository == 'lucide-icons/lucide' if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [lucide, lucide-react, lucide-vue] needs: [lucide, lucide-react, lucide-vue, lucide-angular]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/download-artifact@v2 - uses: actions/download-artifact@v2
- name: Commit package.jsons
run: |
mv lucide-package-json/package.json packages/lucide/package.json
mv lucide-react-package-json/package.json packages/lucide-react/package.json
mv lucide-vue-package-json/package.json packages/lucide-vue/package.json
- name: Commit package.jsons - name: Commit package.jsons
run: | run: |
git add packages/*/package.json git add packages/*/package.json

1
.gitignore vendored
View File

@@ -10,3 +10,4 @@ coverage
stats stats
*.log *.log
packages/**/src/icons/*.js packages/**/src/icons/*.js
packages/**/src/icons/*.ts

View File

@@ -93,7 +93,7 @@ yarn add lucide-angular
npm install lucide-angular npm install lucide-angular
``` ```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-angular/projects/lucide-angular#lucide-angular). For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/packages/lucide-angular#lucide-angular).
### Figma ### Figma

17
icons/monitor-speaker.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5.5 20H8" />
<path d="M17 9h.01" />
<rect x="12" y="4" width="10" height="16" rx="2" />
<path d="M8 6H4a2 2 0 00-2 2v6a2 2 0 002 2h4" />
<circle cx="17" cy="15" r="1" />
</svg>

After

Width:  |  Height:  |  Size: 398 B

18
icons/plug-zap.svg Normal file
View File

@@ -0,0 +1,18 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M13 2l-2 2.5h3L12 7" />
<path d="M12 22v-3" />
<path d="M10 13v-2.5" />
<path d="M10 12.5v-2" />
<path d="M14 12.5v-2" />
<path d="M16 15a2 2 0 00-2-2h-4a2 2 0 00-2 2v2a2 2 0 002 2h4a2 2 0 002-2v-2z" />
</svg>

After

Width:  |  Height:  |  Size: 432 B

18
icons/ticket.svg Normal file
View File

@@ -0,0 +1,18 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 9V7a2 2 0 012-2h14a2 2 0 012 2v2M3 15v2a2 2 0 002 2h14a2 2 0 002-2v-2" />
<path d="M21 15a3 3 0 110-6" />
<path d="M3 15a3 3 0 100-6" />
<path d="M13 5v2" />
<path d="M13 17v2" />
<path d="M13 11v2" />
</svg>

After

Width:  |  Height:  |  Size: 434 B

View File

@@ -48,4 +48,4 @@ Thumbs.db
#npm-yarn #npm-yarn
package-lock.json package-lock.json
yarn.lock src/createElement.js

View File

@@ -0,0 +1,15 @@
ISC License
Copyright (c) 2020, Lucide Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@@ -22,9 +22,9 @@ There are three ways for use this library.
After install `lucide-angular` change content of file `app.component.html` and `app.component.ts`. After install `lucide-angular` change content of file `app.component.html` and `app.component.ts`.
``` xml ``` html
<!-- app.component.html --> <!-- app.component.html -->
<div id="ico"></div> <div id="lucide-icon"></div>
``` ```
``` js ``` js
@@ -39,13 +39,16 @@ import { Activity } from 'lucide-angular/icons';
templateUrl: './app.component.html', templateUrl: './app.component.html',
styleUrls: ['./app.component.css'] styleUrls: ['./app.component.css']
}) })
export class AppComponent implements OnInit {
export class AppComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
const div = document.getElementById('ico'); const div = document.getElementById('lucide-icon');
const elm = createElement(Activity); const elm = createElement(Activity);
elm.setAttribute('color', 'red'); // or set `width`, `height`, `fill`, `stroke-width`, ... elm.setAttribute('color', 'red'); // or set `width`, `height`, `fill`, `stroke-width`, ...
div.appendChild(elm);
if (div) {
div.appendChild(elm);
}
} }
} }
``` ```
@@ -61,8 +64,7 @@ import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module'; import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component'; import { AppComponent } from './app.component';
import { LucideAngularModule } from 'lucide-angular'; import { LucideAngularModule, AlarmCheck, Edit } from 'lucide-angular';
import { AlarmCheck, Edit } from 'lucide-angular/icons'; // or import other icons
@NgModule({ @NgModule({
declarations: [ declarations: [
@@ -79,37 +81,12 @@ import { AlarmCheck, Edit } from 'lucide-angular/icons'; // or import other ico
export class AppModule { } export class AppModule { }
``` ```
``` css ``` html
/* app.component.css */
.myicon {
/* Be sure to set these values */
width: 48px;
height: 48px;
/* or other properties like `color`, `fill`, `stroke-width` */
}
```
``` xml
<!-- app.component.html --> <!-- app.component.html -->
<lucide-icon name="alarm-check" class="myicon"></lucide-icon> <lucide-icon name="alarm-check" class="myicon"></lucide-icon>
<lucide-icon name="edit" class="myicon"></lucide-icon> <lucide-icon name="edit" class="myicon"></lucide-icon>
``` ```
``` js
// app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
}
```
### Method 3: User __Tag__ with __img__ property ### Method 3: User __Tag__ with __img__ property
After install `lucide-angular` change content of file `app.component.html`, `app.component.ts`, `app.component.css` and `app.module.ts`. After install `lucide-angular` change content of file `app.component.html`, `app.component.ts`, `app.component.css` and `app.module.ts`.
@@ -138,16 +115,6 @@ import { LucideAngularModule } from 'lucide-angular';
export class AppModule { } export class AppModule { }
``` ```
``` css
/* app.component.css */
.myicon {
/* Be sure to set these values */
width: 48px;
height: 48px;
/* or other properties like `color`, `fill`, `stroke-width` */
}
```
``` xml ``` xml
<!-- app.component.html --> <!-- app.component.html -->
<lucide-icon [img]="ico1" class="myicon"></lucide-icon> <lucide-icon [img]="ico1" class="myicon"></lucide-icon>
@@ -157,13 +124,14 @@ export class AppModule { }
``` js ``` js
// app.component.ts // app.component.ts
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { Airplay, Circle } from 'lucide-angular/icons'; import { Airplay, Circle } from 'lucide-angular';
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
templateUrl: './app.component.html', templateUrl: './app.component.html',
styleUrls: ['./app.component.css'] styleUrls: ['./app.component.css']
}) })
export class AppComponent { export class AppComponent {
ico1 = Airplay; ico1 = Airplay;
ico2 = Circle; ico2 = Circle;
@@ -175,6 +143,7 @@ export class AppComponent {
### Import all icons ### Import all icons
In `Method 2`: import all icons in `app.module.ts` by: In `Method 2`: import all icons in `app.module.ts` by:
``` js ``` js
... ...
import { icons } from 'lucide-angular/icons'; import { icons } from 'lucide-angular/icons';
@@ -182,10 +151,13 @@ import { icons } from 'lucide-angular/icons';
LucideAngularModule.pick(icons) LucideAngularModule.pick(icons)
.... ....
``` ```
### Tags ### Tags
You can use the following tags instead of `lucide-icon`: You can use the following tags instead of `lucide-icon`:
* lucide-angular
* i-lucide - lucide-angular
* span-lucide - i-lucide
- span-lucide
All of the above are the same All of the above are the same

View File

@@ -1,40 +1,40 @@
{ {
"$schema": "./node_modules/@angular/cli/lib/config/schema.json", "$schema": "../../node_modules/@angular/cli/lib/config/schema.json",
"version": 1, "version": 1,
"newProjectRoot": "projects", "newProjectRoot": "",
"projects": { "projects": {
"lucide-angular": { "lucide-angular": {
"projectType": "library", "projectType": "library",
"root": "projects/lucide-angular", "root": "",
"sourceRoot": "projects/lucide-angular/src", "sourceRoot": "src",
"prefix": "lib", "prefix": "lib",
"architect": { "architect": {
"build": { "build": {
"builder": "@angular-devkit/build-angular:ng-packagr", "builder": "@angular-devkit/build-angular:ng-packagr",
"options": { "options": {
"tsConfig": "projects/lucide-angular/tsconfig.lib.json", "tsConfig": "tsconfig.lib.json",
"project": "projects/lucide-angular/ng-package.json" "project": "ng-package.json"
}, },
"configurations": { "configurations": {
"production": { "production": {
"tsConfig": "projects/lucide-angular/tsconfig.lib.prod.json" "tsConfig": "tsconfig.lib.prod.json"
} }
} }
}, },
"test": { "test": {
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular-devkit/build-angular:karma",
"options": { "options": {
"main": "projects/lucide-angular/src/test.ts", "main": "src/test.ts",
"tsConfig": "projects/lucide-angular/tsconfig.spec.json", "tsConfig": "tsconfig.spec.json",
"karmaConfig": "projects/lucide-angular/karma.conf.js" "karmaConfig": "karma.conf.js"
} }
}, },
"lint": { "lint": {
"builder": "@angular-devkit/build-angular:tslint", "builder": "@angular-devkit/build-angular:tslint",
"options": { "options": {
"tsConfig": [ "tsConfig": [
"projects/lucide-angular/tsconfig.lib.json", "tsconfig.lib.json",
"projects/lucide-angular/tsconfig.spec.json" "tsconfig.spec.json"
], ],
"exclude": [ "exclude": [
"**/node_modules/**" "**/node_modules/**"

View File

@@ -1,8 +1,9 @@
/* eslint-disable import/no-extraneous-dependencies, global-require, func-names */
// Karma configuration file, see link for more information // Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html // https://karma-runner.github.io/1.0/config/configuration-file.html
process.env.CHROME_BIN = require('puppeteer').executablePath(); process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function (config) { module.exports = function(config) {
config.set({ config.set({
basePath: '', basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'], frameworks: ['jasmine', '@angular-devkit/build-angular'],
@@ -11,7 +12,7 @@ module.exports = function (config) {
require('karma-chrome-launcher'), require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'), require('karma-jasmine-html-reporter'),
require('karma-coverage'), require('karma-coverage'),
require('@angular-devkit/build-angular/plugins/karma') require('@angular-devkit/build-angular/plugins/karma'),
], ],
client: { client: {
jasmine: { jasmine: {
@@ -20,18 +21,15 @@ module.exports = function (config) {
// for example, you can disable the random execution with `random: false` // for example, you can disable the random execution with `random: false`
// or set a specific seed with `seed: 4321` // or set a specific seed with `seed: 4321`
}, },
clearContext: false // leave Jasmine Spec Runner output visible in browser clearContext: false, // leave Jasmine Spec Runner output visible in browser
}, },
jasmineHtmlReporter: { jasmineHtmlReporter: {
suppressAll: true // removes the duplicated traces suppressAll: true, // removes the duplicated traces
}, },
coverageReporter: { coverageReporter: {
dir: require('path').join(__dirname, '../../coverage/lucide-angular'), dir: require('path').join(__dirname, '../../coverage/lucide-angular'),
subdir: '.', subdir: '.',
reporters: [ reporters: [{ type: 'html' }, { type: 'text-summary' }],
{ type: 'html' },
{ type: 'text-summary' }
]
}, },
reporters: ['progress', 'kjhtml'], reporters: ['progress', 'kjhtml'],
port: 9876, port: 9876,
@@ -42,10 +40,10 @@ module.exports = function (config) {
customLaunchers: { customLaunchers: {
ChromeHeadlessCI: { ChromeHeadlessCI: {
base: 'ChromeHeadless', base: 'ChromeHeadless',
flags: ['--no-sandbox'] flags: ['--no-sandbox'],
} },
}, },
singleRun: false, singleRun: false,
restartOnFileChange: true restartOnFileChange: true,
}); });
}; };

View File

@@ -0,0 +1,7 @@
{
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"dest": "dist",
"lib": {
"entryFile": "src/index.ts"
}
}

View File

@@ -1,7 +1,7 @@
{ {
"name": "lucide-angular", "name": "lucide-angular",
"description": "Lucide Angular package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.", "description": "Lucide Angular package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.15.0", "version": "0.15.1-beta.1",
"author": "SMAH1", "author": "SMAH1",
"license": "ISC", "license": "ISC",
"homepage": "https://lucide.dev", "homepage": "https://lucide.dev",
@@ -9,7 +9,7 @@
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/lucide-icons/lucide.git", "url": "https://github.com/lucide-icons/lucide.git",
"directory": "packages/lucide-vue" "directory": "packages/lucide-angular"
}, },
"keywords": [ "keywords": [
"Lucide", "Lucide",
@@ -22,26 +22,29 @@
"Font Awesome" "Font Awesome"
], ],
"scripts": { "scripts": {
"build": "yarn clean && yarn build:js && yarn build:icons && yarn build:iconsindex && yarn build:ng", "build": "yarn clean && yarn build:icons && yarn build:ng",
"clean": "rm -rf dist && rm -rf projects/lucide-angular/build", "clean": "rm -rf dist && rm -rf ./src/icons/*.ts",
"build:js": "mkdir -p projects/lucide-angular/build && cp -av ../lucide/src/createElement.js projects/lucide-angular/build/", "build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-angular/src --templateSrc=../packages/lucide-angular/scripts/exportTemplate --iconFileExtention=.ts --exportFileName=index.ts",
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-angular/projects/lucide-angular/build --templateSrc=../packages/lucide-angular/scripts/exportTemplate && for f in projects/lucide-angular/build/icons/*.js; do mv -- \"$f\" \"${f%.js}.ts\"; done",
"build:iconsindex": "yarn --cwd ../../ babel-node packages/lucide-angular/scripts/buildIconsIndex.js",
"build:ng": "ng build --prod", "build:ng": "ng build --prod",
"test:headless": "ng test --no-watch --no-progress --browsers=ChromeHeadlessCI", "test:headless": "ng test --no-watch --no-progress --browsers=ChromeHeadlessCI",
"test": "ng test", "test": "ng test",
"lint": "ng lint", "lint": "ng lint",
"e2e": "ng e2e" "e2e": "ng e2e",
"postinstall": "ngcc"
}, },
"dependencies": { "dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/common": "^11.2.6",
"@angular/core": "^11.2.6"
},
"devDependencies": {
"@angular/common": "~11.2.6", "@angular/common": "~11.2.6",
"@angular/compiler": "~11.2.6", "@angular/compiler": "~11.2.6",
"@angular/core": "~11.2.6", "@angular/core": "~11.2.6",
"@angular/platform-browser": "~11.2.6", "@angular/platform-browser": "~11.2.6",
"@angular/platform-browser-dynamic": "~11.2.6", "@angular/platform-browser-dynamic": "~11.2.6",
"tslib": "^2.0.0"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.1102.5", "@angular-devkit/build-angular": "~0.1102.5",
"@angular/cli": "~11.2.5", "@angular/cli": "~11.2.5",
"@angular/compiler-cli": "~11.2.6", "@angular/compiler-cli": "~11.2.6",

View File

@@ -1,4 +0,0 @@
export * from './build/icons-index';
import * as icons from './build/icons-index';
export { icons };

View File

@@ -1,7 +0,0 @@
{
"ngPackage": {
"lib": {
"entryFile": "../icons-index.ts"
}
}
}

View File

@@ -1,4 +0,0 @@
export * from './src/lib/lucide-angular.component';
export * from './src/lib/lucide-angular.module';
export * from './lucide';

View File

@@ -1,10 +0,0 @@
export type IconNode = readonly [string, object];
export type IconData = readonly [string, object, IconNode[] ];
export declare const icons: { [key: string]: IconData };
import { default as createElementTmp } from './build/createElement';
export function createElement(ico: IconData): HTMLElement {
return createElementTmp(ico as any);
}

View File

@@ -1,7 +0,0 @@
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/lucide-angular",
"lib": {
"entryFile": "./lib-index.ts"
}
}

View File

@@ -1,31 +0,0 @@
{
"name": "lucide-angular",
"description": "Lucide Angular package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.15.0",
"author": "SMAH1",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",
"repository": {
"type": "git",
"url": "https://github.com/lucide-icons/lucide.git",
"directory": "packages/lucide-vue"
},
"keywords": [
"Lucide",
"Angular",
"Feather",
"Icons",
"Icon",
"Feather Icons",
"Fontawesome",
"Font Awesome"
],
"peerDependencies": {
"@angular/common": "^11.2.6",
"@angular/core": "^11.2.6"
},
"dependencies": {
"tslib": "^2.0.0"
}
}

View File

@@ -1,17 +0,0 @@
{
"extends": "../../tslint.json",
"rules": {
"directive-selector": [
true,
"attribute",
"lib",
"camelCase"
],
"component-selector": [
true,
"element",
"",
"kebab-case"
]
}
}

View File

@@ -1,39 +0,0 @@
import path from 'path';
import {
writeFile,
resetFile,
appendFile,
readSvgDirectory,
} from '../../../scripts/helpers';
const TARGET_DIR = path.join(__dirname, '../projects/lucide-angular/build');
const ICONS_DIR = path.resolve(__dirname, '../../../icons');
const TYPES_FILE_NAME = 'icons-index.ts';
// Generates header of d.ts file include some types and functions
const typeDefinitions = `\
export type IconNode = readonly [string, object];
export type IconData = readonly [string, object, IconNode[] ];
export declare const icons: { [key: string]: IconData };
// Generated icons
`;
resetFile(TYPES_FILE_NAME, TARGET_DIR);
writeFile(typeDefinitions, TYPES_FILE_NAME, TARGET_DIR);
const svgFiles = readSvgDirectory(ICONS_DIR);
svgFiles.forEach(svgFile => {
const kebab = path.basename(svgFile, '.svg');
appendFile(
`export * from './icons/${kebab}';\n`,
TYPES_FILE_NAME,
TARGET_DIR,
);
});
console.log(`Generated ${TYPES_FILE_NAME} file with`, svgFiles.length, 'icons');

View File

@@ -1,10 +1,12 @@
export default ({ componentName, children }) => ` export default ({ componentName, children }) => `
import { IconData } from '../../lucide'; import { IconData } from './types';
import defaultAttributes from '../../default-attributes'; import defaultAttributes from './constants/default-attributes';
export const ${componentName}: IconData = [ const ${componentName}: IconData = [
'svg', 'svg',
defaultAttributes, defaultAttributes,
${JSON.stringify(children)} ${JSON.stringify(children)}
]; ];
export default ${componentName};
`; `;

View File

@@ -0,0 +1,26 @@
import { IconData } from '../icons/types'
/**
* Creates a new SVGElement from icon node
* @param {string} tag
* @param {object} attrs
* @param {array} children
* @returns {SVGElement}
*/
export const createElement = ([tag, attrs, children = []]: IconData): SVGElement => {
const element = document.createElementNS('http://www.w3.org/2000/svg', tag);
Object.keys(attrs).forEach(name => {
element.setAttribute(name, attrs[name]);
});
if (children.length) {
children.forEach((child: IconData) => {
const childElement = createElement(child);
element.appendChild(childElement);
});
}
return element;
};

View File

@@ -0,0 +1,8 @@
{
"ngPackage": {
"dest": "dist",
"lib": {
"entryFile": "./index.ts"
}
}
}

View File

@@ -0,0 +1,3 @@
export type IconNode = readonly [string, object];
export type IconData = readonly [string, object, IconNode[]? ];
export type Icons = { [key: string]: IconData }

View File

@@ -0,0 +1,7 @@
import * as icons from './icons';
export * from './lib/lucide-angular.component';
export * from './lib/lucide-angular.module';
export * from './helpers/create-element';
export * from './icons';
export { icons };

View File

@@ -1,3 +1,3 @@
export class Icons { export class Icons {
constructor(private icons: object) {} constructor(private icons: object) {}
} }

View File

@@ -1,6 +1,5 @@
import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing';
import { LucideAngularModule } from './lucide-angular.module'; import { LucideAngularModule } from './lucide-angular.module';
import { LucideAngularComponent } from './lucide-angular.component'; import { LucideAngularComponent } from './lucide-angular.component';
describe('LucideAngularComponent', () => { describe('LucideAngularComponent', () => {

View File

@@ -1,6 +1,7 @@
import { Component, ElementRef, Input, Inject, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core'; import { Component, ElementRef, Input, Inject, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
import { Icons } from './icons.provider'; import { Icons } from './icons.provider';
import { createElement, IconData } from '../../lucide'; import { IconData } from '../icons/types';
import { createElement } from '../helpers/create-element';
@Component({ @Component({
selector: 'lucide-angular, lucide-icon, i-lucide, span-lucide', selector: 'lucide-angular, lucide-icon, i-lucide, span-lucide',
@@ -9,13 +10,16 @@ import { createElement, IconData } from '../../lucide';
:host { :host {
display: inline-block; display: inline-block;
fill: none; fill: none;
stroke: inherit; stroke: currentColor;
stroke-width: inherit; stroke-width: 2;
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
width: 24px;
height: 24px;
} }
`] `]
}) })
export class LucideAngularComponent implements OnChanges { export class LucideAngularComponent implements OnChanges {
@Input() name!: string; @Input() name!: string;
@Input() img!: IconData; @Input() img!: IconData;

View File

@@ -1,12 +1,15 @@
import { NgModule, ModuleWithProviders, Optional } from '@angular/core'; import { NgModule, ModuleWithProviders, Optional } from '@angular/core';
import { LucideAngularComponent } from './lucide-angular.component'; import { LucideAngularComponent } from './lucide-angular.component';
import { Icons } from './icons.provider'; import { Icons } from './icons.provider';
import { IconData } from '../../lucide'; import { IconData } from '../icons/types';
@NgModule({ @NgModule({
declarations: [LucideAngularComponent], declarations: [LucideAngularComponent],
imports: [
],
exports: [LucideAngularComponent] exports: [LucideAngularComponent]
}) })
export class LucideAngularModule { export class LucideAngularModule {
constructor(@Optional() private icons: Icons) { constructor(@Optional() private icons: Icons) {
if (!this.icons) { if (!this.icons) {

View File

@@ -9,12 +9,13 @@
"downlevelIteration": true, "downlevelIteration": true,
"emitDecoratorMetadata": true, "emitDecoratorMetadata": true,
"experimentalDecorators": true, "experimentalDecorators": true,
"allowJs": true,
"paths": { "paths": {
"lucide-angular": [ "lucide-angular": [
"dist/lucide-angular/lucide-angular", "dist"
"dist/lucide-angular" ],
] "lucide-angular/*": [
"dist/*"
],
}, },
"moduleResolution": "node", "moduleResolution": "node",
"importHelpers": true, "importHelpers": true,

View File

@@ -1,8 +1,8 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */ /* To learn more about this file see: https://angular.io/config/tsconfig. */
{ {
"extends": "../../tsconfig.json", "extends": "./tsconfig.json",
"compilerOptions": { "compilerOptions": {
"outDir": "../../out-tsc/lib", "outDir": "./out-tsc/lib",
"target": "es2015", "target": "es2015",
"declaration": true, "declaration": true,
"declarationMap": true, "declarationMap": true,
@@ -17,7 +17,8 @@
"angularCompilerOptions": { "angularCompilerOptions": {
"skipTemplateCodegen": true, "skipTemplateCodegen": true,
"strictMetadataEmit": true, "strictMetadataEmit": true,
"enableResourceInlining": true "enableResourceInlining": true,
"fullTemplateTypeCheck": true
}, },
"exclude": [ "exclude": [
"src/test.ts", "src/test.ts",

View File

@@ -1,8 +1,8 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */ /* To learn more about this file see: https://angular.io/config/tsconfig. */
{ {
"extends": "../../tsconfig.json", "extends": "./tsconfig.json",
"compilerOptions": { "compilerOptions": {
"outDir": "../../out-tsc/spec", "outDir": "./out-tsc/spec",
"types": [ "types": [
"jasmine" "jasmine"
] ]

View File

@@ -16,6 +16,18 @@
"deprecation": { "deprecation": {
"severity": "warning" "severity": "warning"
}, },
"directive-selector": [
true,
"attribute",
"lib",
"camelCase"
],
"component-selector": [
true,
"element",
"",
"kebab-case"
],
"eofline": true, "eofline": true,
"import-blacklist": [ "import-blacklist": [
true, true,

View File

@@ -2077,13 +2077,13 @@ lru-cache@^5.1.1:
dependencies: dependencies:
yallist "^3.0.2" yallist "^3.0.2"
lucide-react@^0.13.0: lucide-react@^0.15.1:
version "0.13.0" version "0.15.5"
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.13.0.tgz#7bcc60f85c207b9eed6f4a6c713dfdcb5928d2b3" resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.15.5.tgz#694cfe1f6bbc6e736199785c58cc7f8dcfc14309"
integrity sha512-4BmILrkeydq8YhHjDRe9qKd42nsog77ZW/bgqy3A56d9pV5v3/2a2gK8qDbAAwpYZva+MIhOTRWpJW8BgtQGUA== integrity sha512-iCplw/CRck/E5gA5YGGASBm6qvMZfvqtPE+ew75dSz50+LDKEbNhu9wy1s6HC1A6isgvVCeED9mqtdzd0x2RmA==
dependencies: dependencies:
prop-types "^15.7.2" prop-types "^15.7.2"
react "^17.0.1" react "^16.5.1"
make-dir@^2.0.0: make-dir@^2.0.0:
version "2.1.0" version "2.1.0"
@@ -2723,7 +2723,7 @@ react-is@^16.8.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react@^16.8.6: react@^16.5.1, react@^16.8.6:
version "16.14.0" version "16.14.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d"
integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==
@@ -2732,14 +2732,6 @@ react@^16.8.6:
object-assign "^4.1.1" object-assign "^4.1.1"
prop-types "^15.6.2" prop-types "^15.6.2"
react@^17.0.1:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
version "2.3.7" version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
@@ -3084,9 +3076,9 @@ split-string@^3.0.1, split-string@^3.0.2:
extend-shallow "^3.0.0" extend-shallow "^3.0.0"
ssri@^6.0.1: ssri@^6.0.1:
version "6.0.1" version "6.0.2"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
dependencies: dependencies:
figgy-pudding "^3.5.1" figgy-pudding "^3.5.1"

View File

@@ -1,7 +1,7 @@
{ {
"name": "lucide-react", "name": "lucide-react",
"description": "Lucide React package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.", "description": "Lucide React package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.15.1", "version": "0.15.6",
"license": "ISC", "license": "ISC",
"homepage": "https://lucide.dev", "homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues", "bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -1,6 +1,6 @@
{ {
"name": "lucide-vue", "name": "lucide-vue",
"version": "0.15.1", "version": "0.15.6",
"author": "Eric Fennis", "author": "Eric Fennis",
"description": "Lucide Vue Package", "description": "Lucide Vue Package",
"license": "ISC", "license": "ISC",

View File

@@ -1,7 +1,7 @@
{ {
"name": "lucide", "name": "lucide",
"description": "Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.", "description": "Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.15.1", "version": "0.15.6",
"license": "ISC", "license": "ISC",
"homepage": "https://lucide.dev", "homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues", "bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -4,7 +4,7 @@ import path from 'path';
import prettier from 'prettier'; import prettier from 'prettier';
import { toPascalCase } from '../helpers'; import { toPascalCase } from '../helpers';
export default function(iconNodes, outputDirectory, template, { showLog = true }) { export default function({ iconNodes, outputDirectory, template, showLog = true, iconFileExtention = '.js' }) {
const icons = Object.keys(iconNodes); const icons = Object.keys(iconNodes);
const iconsDistDirectory = path.join(outputDirectory, `icons`); const iconsDistDirectory = path.join(outputDirectory, `icons`);
@@ -13,7 +13,7 @@ export default function(iconNodes, outputDirectory, template, { showLog = true }
} }
icons.forEach(iconName => { icons.forEach(iconName => {
const location = path.join(iconsDistDirectory, `${iconName}.js`); const location = path.join(iconsDistDirectory, `${iconName}${iconFileExtention}`);
const componentName = toPascalCase(iconName); const componentName = toPascalCase(iconName);
let { children } = iconNodes[iconName]; let { children } = iconNodes[iconName];

View File

@@ -12,22 +12,38 @@ const cliArguments = getArgumentOptions(process.argv.slice(2));
const ICONS_DIR = path.resolve(__dirname, '../icons'); const ICONS_DIR = path.resolve(__dirname, '../icons');
const OUTPUT_DIR = path.resolve(__dirname, cliArguments.output || '../build'); const OUTPUT_DIR = path.resolve(__dirname, cliArguments.output || '../build');
const SRC_DIR = path.resolve(__dirname, '../src');
if (!fs.existsSync(OUTPUT_DIR)) { if (!fs.existsSync(OUTPUT_DIR)) {
fs.mkdirSync(OUTPUT_DIR); fs.mkdirSync(OUTPUT_DIR);
} }
const {
renderUniqueKey = false,
templateSrc = './templates/defaultIconFileTemplate',
silent = false,
iconFileExtention = '.js',
exportFileName = 'index.js',
} = cliArguments;
const svgFiles = readSvgDirectory(ICONS_DIR); const svgFiles = readSvgDirectory(ICONS_DIR);
const icons = renderIconsObject(svgFiles, ICONS_DIR, cliArguments.renderUniqueKey); const icons = renderIconsObject(svgFiles, ICONS_DIR, renderUniqueKey);
const defaultIconFileTemplate = './templates/defaultIconFileTemplate';
// eslint-disable-next-line import/no-dynamic-require // eslint-disable-next-line import/no-dynamic-require
const iconFileTemplate = require(cliArguments.templateSrc || defaultIconFileTemplate).default; const iconFileTemplate = require(templateSrc).default;
// Generates iconsNodes files for each icon // Generates iconsNodes files for each icon
generateIconFiles(icons, OUTPUT_DIR, iconFileTemplate, { showLog: !cliArguments.silent }); generateIconFiles({
iconNodes: icons,
outputDirectory: OUTPUT_DIR,
template: iconFileTemplate,
showLog: !silent,
iconFileExtention,
});
// Generates entry files for the compiler filled with icons exports // Generates entry files for the compiler filled with icons exports
generateExportsFile(path.join(SRC_DIR, 'icons/index.js'), path.join(OUTPUT_DIR, 'icons'), icons); generateExportsFile(
path.join(OUTPUT_DIR, 'icons', exportFileName),
path.join(OUTPUT_DIR, 'icons'),
icons,
);

View File

@@ -3843,11 +3843,6 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
fuse.js@^6.0.4:
version "6.4.4"
resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-6.4.4.tgz#68b92aad73f2a00980c34afaf5a727761c314c3b"
integrity sha512-tw9+6zGBerQG207qz4r9TJRA4xhVWiB/4UTA8cw8b2X5v7t94YbgxZ0/9ey9X7268D28HKHlWn10Q0s+kHe+xw==
gauge@~2.7.3: gauge@~2.7.3:
version "2.7.4" version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -5211,13 +5206,13 @@ lru-cache@^5.1.1:
dependencies: dependencies:
yallist "^3.0.2" yallist "^3.0.2"
lucide-react@^0.11.0: lucide-react@0.14.0:
version "0.11.0" version "0.14.0"
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.11.0.tgz#fafe14ac757d25efb3a751b229485bfd4f21b37f" resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.14.0.tgz#2cc897379cb399d7a58d4d1005a4a6b1b5d40892"
integrity sha512-grt4lPHj3lrFHoYIArYoHP8XEEJ+QL+oZruAGGmqGWthaxe51P2mE/9eUHdFEXTv8DBHCg3NDOY2Q6QMbIgblg== integrity sha512-4dKiKn9bwLEfK0F7hNtMyxXpPTM68Y4GLbFJ2JpgBZ9B/V3MbKtvN4z8zIkysLJsjcscwvzULizE7Efmp+yx3w==
dependencies: dependencies:
prop-types "^15.7.2" prop-types "^15.7.2"
react "^17.0.1" react "^16.5.1"
lz-string@^1.4.4: lz-string@^1.4.4:
version "1.4.4" version "1.4.4"
@@ -5752,11 +5747,6 @@ object-keys@^1.0.12, object-keys@^1.1.1:
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
object-path@0.11.5:
version "0.11.5"
resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.5.tgz#d4e3cf19601a5140a55a16ad712019a9c50b577a"
integrity sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==
object-visit@^1.0.0: object-visit@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
@@ -6459,7 +6449,7 @@ react-test-renderer@^16.13.1:
react-is "^16.8.6" react-is "^16.8.6"
scheduler "^0.19.1" scheduler "^0.19.1"
react@^16.13.1: react@^16.13.1, react@^16.5.1:
version "16.14.0" version "16.14.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d"
integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==
@@ -6468,14 +6458,6 @@ react@^16.13.1:
object-assign "^4.1.1" object-assign "^4.1.1"
prop-types "^15.6.2" prop-types "^15.6.2"
react@^17.0.1:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
reactcss@^1.2.0: reactcss@^1.2.0:
version "1.2.3" version "1.2.3"
resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd"
@@ -7125,9 +7107,9 @@ sshpk@^1.7.0:
tweetnacl "~0.14.0" tweetnacl "~0.14.0"
ssri@^6.0.1: ssri@^6.0.1:
version "6.0.1" version "6.0.2"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
dependencies: dependencies:
figgy-pudding "^3.5.1" figgy-pudding "^3.5.1"