Compare commits

...

10 Commits

Author SHA1 Message Date
Kemie
b323bbd28e Add Cat & Dog (#825)
* Added cat & dog

* optimized svgs, tags

* updated cat & dog

refined icons to better meet design guidelines (2px gap)

* Update dog.svg

fixed ears

* Update tags.json

tags for dog

Co-authored-by: Karsa <contact@karsa.org>

* Update tags.json

tags for cat

Co-authored-by: Karsa <contact@karsa.org>

* reoptimized dog & cat svgs

* reoptimized svgs

* svg code formatting

* unmerge paths

* Update icons/cat.svg

* Update icons/dog.svg

Co-authored-by: Karsa <contact@karsa.org>
2022-10-27 08:13:26 +02:00
Wojciech Maj
514e88bbf9 Remove direct dependency on @emotion/core, @emotion/react, @emotion/styled (#849) 2022-10-27 08:11:57 +02:00
Sean van Zuidam
de6ed26152 ADD: missing key to loops (#856) 2022-10-27 08:11:05 +02:00
Wojciech Maj
b8cc9ea3c8 Update husky, automatically install husky on pnpm i (#847)
Fixes #836

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2022-10-26 08:50:19 +02:00
Wojciech Maj
cc2ac8bfcd Lazy load JSZip on Download all button click (#850) 2022-10-26 08:46:19 +02:00
Wojciech Maj
0e340a2679 Add lucide-react-native package to Header and main menu items (#845)
Fixes #841
2022-10-26 08:41:05 +02:00
Wojciech Maj
c15e3914a6 Fix version not bumped in lucide-react-native package.json (#840)
Fixes #839

…i think.
2022-10-26 08:36:57 +02:00
Wojciech Maj
ff81fbfd9a Don't use md4 in crypto.createHash (#843)
Fixes #842

Please review carefully - I don't fully understand how this hash is used and whether there are any implications of changing it.
2022-10-26 08:36:17 +02:00
Wojciech Maj
5317abb867 Add packageManager to package.json to allow usage with Corepack (#838) 2022-10-26 08:33:51 +02:00
Wojciech Maj
ac80b9e58f Update react-native-svg to ^13.0.0, allow react-native-svg ^13.0.0 as peerDependency (#837) 2022-10-26 08:33:17 +02:00
15 changed files with 111 additions and 188 deletions

View File

@@ -3,7 +3,7 @@ name: Release Packages
on:
push:
tags:
- "v*"
- 'v*'
workflow_dispatch:
inputs:
@@ -639,7 +639,7 @@ jobs:
mkdir lucide-font
pnpm build:outline-icons --outputDir=converted_icons && fontcustom compile "./converted_icons" -h -n "lucide" -o ./lucide-font -F
- name: "Upload to Artifacts"
- name: 'Upload to Artifacts'
uses: actions/upload-artifact@v1
with:
name: lucide-font
@@ -742,6 +742,7 @@ jobs:
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-react-native-package-json/package.json packages/lucide-react-native/package.json
mv lucide-vue-package-json/package.json packages/lucide-vue/package.json
mv lucide-preact-package-json/package.json packages/lucide-preact/package.json
mv lucide-svelte-package-json/package.json packages/lucide-svelte/package.json

18
icons/cat.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="M14 5.256A8.148 8.148 0 0 0 12 5a9.04 9.04 0 0 0-2 .227M20.098 10c.572 1.068.902 2.24.902 3.444C21 17.89 16.97 21 12 21s-9-3-9-7.556c0-1.251.288-2.41.792-3.444"/>
<path d="M3.75 10S2.11 3.58 3.5 3C4.89 2.42 8 3 9.781 5"/>
<path d="M20.172 10.002s1.64-6.42.25-7c-1.39-.58-4.5 0-6.282 2"/>
<path d="M8 14v.5"/>
<path d="M16 14v.5"/>
<path d="M11.25 16.25h1.5L12 17l-.75-.75Z"/>
</svg>

After

Width:  |  Height:  |  Size: 605 B

18
icons/dog.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="M10 5.172C10 3.782 8.423 2.679 6.5 3c-2.823.47-4.113 6.006-4 7 .08.703 1.725 1.722 3.656 1 1.261-.472 1.96-1.45 2.344-2.5"/>
<path d="M14.267 5.172c0-1.39 1.577-2.493 3.5-2.172 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5"/>
<path d="M8 14v.5"/>
<path d="M16 14v.5"/>
<path d="M11.25 16.25h1.5L12 17l-.75-.75Z"/>
<path d="M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444c0-1.061-.162-2.2-.493-3.309m-9.243-6.082A8.801 8.801 0 0 1 12 5c.78 0 1.5.108 2.161.306"/>
</svg>

After

Width:  |  Height:  |  Size: 764 B

View File

@@ -17,7 +17,8 @@
"generate:supersprite": "node ./scripts/generateSuperSVG.mjs",
"optimize": "node ./scripts/optimizeSvgs.mjs",
"addtags": "node ./scripts/addMissingKeysToTags.mjs",
"generate:changelog": "node ./scripts/generateChangelog.mjs"
"generate:changelog": "node ./scripts/generateChangelog.mjs",
"postinstall": "husky install"
},
"devDependencies": {
"@atomico/rollup-plugin-sizes": "^1.1.4",
@@ -39,7 +40,7 @@
"eslint-config-prettier": "^2.10.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-prettier": "^2.7.0",
"husky": "^4.3.8",
"husky": "^8.0.0",
"jest": "^28.1.3",
"lint-staged": "^10.5.4",
"minimist": "^1.2.6",
@@ -62,5 +63,6 @@
},
"lint-staged": {
"icons/*.svg": "node ./scripts/optimizeStagedSvgs.mjs"
}
},
"packageManager": "pnpm@7.14.0"
}

View File

@@ -13,7 +13,6 @@
"serve": "vite preview"
},
"dependencies": {
"@emotion/core": "^10.0.14",
"minimist": "^1.2.6",
"react": "^17.0.0",
"react-dom": "^17.0.0"

View File

@@ -6,7 +6,7 @@ Implementation of the lucide icon library for React Native applications.
## Installation
First, ensure that you have `react-native-svg@^12.0.0` installed. Then, install the package:
First, ensure that you have`react-native-svg@^12.0.0` or `react-native-svg@^13.0.0` installed. Then, install the package:
```sh
yarn add lucide-react-native
@@ -25,11 +25,11 @@ Each icon can be imported as a react component.
You can pass additional props to adjust the icon.
``` js
```js
import { Camera } from 'lucide-react-native';
const App = () => {
return <Camera color="red" size={48}/>
return <Camera color="red" size={48} />;
};
export default App;
@@ -37,19 +37,19 @@ export default App;
### Props
| name | type | default
| ------------ | -------- | --------
| `size` | *Number* | 24
| `color` | *String* | currentColor
| `strokeWidth`| *Number* | 2
| name | type | default |
| ------------- | -------- | ------------ |
| `size` | _Number_ | 24 |
| `color` | _String_ | currentColor |
| `strokeWidth` | _Number_ | 2 |
### Custom props
You can also pass custom props that will be added in the svg as attributes.
``` js
```js
const App = () => {
return <Camera fill="red"/>
return <Camera fill="red" />;
};
```
@@ -59,13 +59,13 @@ It is possible to create a generic icon component to load icons.
> :warning: The example below is importing all ES modules. This is **not** recommended when you using a bundler since your application build size will grow substantially.
``` js
```js
import * as icons from 'lucide-react-native';
const Icon = ({name, color, size}) => {
const Icon = ({ name, color, size }) => {
const LucideIcon = icons[name];
return <LucideIcon color={color} size={size} />
return <LucideIcon color={color} size={size} />;
};
export default Icon;

View File

@@ -19,7 +19,9 @@
"typings": "dist/lucide-react-native.d.ts",
"react-native": "dist/esm/lucide-react-native.js",
"sideEffects": false,
"files": ["dist"],
"files": [
"dist"
],
"scripts": {
"build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:bundles && pnpm build:types",
"copy:license": "cp ../../LICENSE ./LICENSE",
@@ -38,12 +40,12 @@
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-native": "^0.69.0",
"react-native-svg": "^12.0.0"
"react-native-svg": "^13.0.0"
},
"peerDependencies": {
"prop-types": "^15.7.2",
"react": "^16.5.1 || ^17.0.0 || ^18.0.0",
"react-native": ">=0.50.0",
"react-native-svg": "^12.0.0"
"react-native": "*",
"react-native-svg": "^12.0.0 || ^13.0.0"
}
}

173
pnpm-lock.yaml generated
View File

@@ -24,7 +24,7 @@ importers:
eslint-config-prettier: ^2.10.0
eslint-plugin-import: ^2.26.0
eslint-plugin-prettier: ^2.7.0
husky: ^4.3.8
husky: ^8.0.0
jest: ^28.1.3
lint-staged: ^10.5.4
minimist: ^1.2.6
@@ -59,7 +59,7 @@ importers:
eslint-config-prettier: 2.10.0_eslint@4.19.1
eslint-plugin-import: 2.26.0_eslint@4.19.1
eslint-plugin-prettier: 2.7.0_prettier@1.17.1
husky: 4.3.8
husky: 8.0.1
jest: 28.1.3
lint-staged: 10.5.4
minimist: 1.2.6
@@ -138,7 +138,6 @@ importers:
packages/lucide-figma:
specifiers:
'@emotion/core': ^10.0.14
'@figma/plugin-typings': ^1.36.0
'@types/react': ^17.0.0
'@types/react-dom': ^17.0.0
@@ -150,7 +149,6 @@ importers:
vite: ^2.6.4
vite-plugin-singlefile: ^0.5.1
dependencies:
'@emotion/core': 10.3.1_react@17.0.2
minimist: 1.2.6
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
@@ -200,7 +198,7 @@ importers:
react: ^18.0.0
react-dom: ^18.0.0
react-native: ^0.69.0
react-native-svg: ^12.0.0
react-native-svg: ^13.0.0
devDependencies:
'@testing-library/react': 11.2.7_zpnidt7m3osuk7shl3s4oenomq
babel-preset-react-app: 10.0.1
@@ -209,7 +207,7 @@ importers:
react: 18.0.0
react-dom: 18.0.0_react@18.0.0
react-native: 0.69.3_zfzkngtuypffuickx4fuv5ptvi
react-native-svg: 12.4.3_w3kncuvwqnzhwf3ziybn5l7dja
react-native-svg: 13.4.0_w3kncuvwqnzhwf3ziybn5l7dja
packages/lucide-solid:
specifiers:
@@ -304,8 +302,6 @@ importers:
site:
specifiers:
'@chakra-ui/react': 1.8.8
'@emotion/react': ^11
'@emotion/styled': ^11
'@mdx-js/loader': ^1.6.22
'@mdx-js/react': ^1.6.22
'@next/eslint-plugin-next': ^12.2.5
@@ -346,8 +342,6 @@ importers:
typescript: ^4.3.5
dependencies:
'@chakra-ui/react': 1.8.8_kmzl3anmvi2yu5ttixzemblrsq
'@emotion/react': 11.10.0_7zo56kuumdiaav2fjs2ysfihj4
'@emotion/styled': 11.10.0_gradirrgrhdgjyorcjqyna7b2e
'@mdx-js/loader': 1.6.22_react@17.0.2
'@mdx-js/react': 1.6.22_react@17.0.2
'@next/mdx': 11.1.4_6vwedlnwdegenaf6jioaeirvlu
@@ -5372,15 +5366,6 @@ packages:
stylis: 4.0.13
dev: false
/@emotion/cache/10.0.29:
resolution: {integrity: sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==}
dependencies:
'@emotion/sheet': 0.9.4
'@emotion/stylis': 0.8.5
'@emotion/utils': 0.11.3
'@emotion/weak-memoize': 0.2.5
dev: false
/@emotion/cache/11.10.2:
resolution: {integrity: sha512-GPR4PovENRvYDbCEnDRecPZYJzWdNMsM+Jn+13MC5uImVNbMyKwzv95DUHy5PDcgfPtKoDtfLU6emF1grrbQDg==}
dependencies:
@@ -5391,32 +5376,6 @@ packages:
stylis: 4.0.13
dev: false
/@emotion/core/10.3.1_react@17.0.2:
resolution: {integrity: sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==}
peerDependencies:
react: '>=16.3.0'
dependencies:
'@babel/runtime': 7.18.9
'@emotion/cache': 10.0.29
'@emotion/css': 10.0.27
'@emotion/serialize': 0.11.16
'@emotion/sheet': 0.9.4
'@emotion/utils': 0.11.3
react: 17.0.2
dev: false
/@emotion/css/10.0.27:
resolution: {integrity: sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==}
dependencies:
'@emotion/serialize': 0.11.16
'@emotion/utils': 0.11.3
babel-plugin-emotion: 10.2.2
dev: false
/@emotion/hash/0.8.0:
resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==}
dev: false
/@emotion/hash/0.9.0:
resolution: {integrity: sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==}
dev: false
@@ -5438,6 +5397,7 @@ packages:
/@emotion/memoize/0.7.4:
resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
dev: false
optional: true
/@emotion/memoize/0.8.0:
resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==}
@@ -5467,16 +5427,6 @@ packages:
react: 17.0.2
dev: false
/@emotion/serialize/0.11.16:
resolution: {integrity: sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==}
dependencies:
'@emotion/hash': 0.8.0
'@emotion/memoize': 0.7.4
'@emotion/unitless': 0.7.5
'@emotion/utils': 0.11.3
csstype: 2.6.20
dev: false
/@emotion/serialize/1.1.0:
resolution: {integrity: sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==}
dependencies:
@@ -5487,10 +5437,6 @@ packages:
csstype: 3.1.0
dev: false
/@emotion/sheet/0.9.4:
resolution: {integrity: sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==}
dev: false
/@emotion/sheet/1.2.0:
resolution: {integrity: sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==}
dev: false
@@ -5519,30 +5465,14 @@ packages:
react: 17.0.2
dev: false
/@emotion/stylis/0.8.5:
resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==}
dev: false
/@emotion/unitless/0.7.5:
resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==}
dev: false
/@emotion/unitless/0.8.0:
resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==}
dev: false
/@emotion/utils/0.11.3:
resolution: {integrity: sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==}
dev: false
/@emotion/utils/1.2.0:
resolution: {integrity: sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==}
dev: false
/@emotion/weak-memoize/0.2.5:
resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==}
dev: false
/@emotion/weak-memoize/0.3.0:
resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==}
dev: false
@@ -9105,21 +9035,6 @@ packages:
dependencies:
object.assign: 4.1.4
/babel-plugin-emotion/10.2.2:
resolution: {integrity: sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==}
dependencies:
'@babel/helper-module-imports': 7.18.6
'@emotion/hash': 0.8.0
'@emotion/memoize': 0.7.4
'@emotion/serialize': 0.11.16
babel-plugin-macros: 2.8.0
babel-plugin-syntax-jsx: 6.18.0
convert-source-map: 1.8.0
escape-string-regexp: 1.0.5
find-root: 1.1.0
source-map: 0.5.7
dev: false
/babel-plugin-extract-import-names/1.6.22:
resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==}
dependencies:
@@ -9181,14 +9096,6 @@ packages:
html-entities: 2.3.2
dev: true
/babel-plugin-macros/2.8.0:
resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==}
dependencies:
'@babel/runtime': 7.18.9
cosmiconfig: 6.0.0
resolve: 1.22.1
dev: false
/babel-plugin-macros/3.1.0:
resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
engines: {node: '>=10', npm: '>=6'}
@@ -9311,10 +9218,6 @@ packages:
'@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.13
dev: false
/babel-plugin-syntax-jsx/6.18.0:
resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==}
dev: false
/babel-plugin-syntax-trailing-function-commas/7.0.0-beta.0:
resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==}
dev: true
@@ -10309,10 +10212,6 @@ packages:
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
dev: true
/compare-versions/3.6.0:
resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==}
dev: true
/component-emitter/1.3.0:
resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==}
dev: true
@@ -10672,17 +10571,6 @@ packages:
parse-json: 4.0.0
dev: true
/cosmiconfig/6.0.0:
resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
engines: {node: '>=8'}
dependencies:
'@types/parse-json': 4.0.0
import-fresh: 3.3.0
parse-json: 5.2.0
path-type: 4.0.0
yaml: 1.10.2
dev: false
/cosmiconfig/7.0.1:
resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==}
engines: {node: '>=10'}
@@ -10958,6 +10846,7 @@ packages:
/csstype/2.6.20:
resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
dev: true
/csstype/3.0.9:
resolution: {integrity: sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==}
@@ -11334,7 +11223,7 @@ packages:
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
entities: 4.3.1
entities: 4.4.0
dev: true
/dom-walk/0.1.2:
@@ -11540,6 +11429,7 @@ packages:
/entities/4.3.1:
resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==}
engines: {node: '>=0.12'}
dev: false
/entities/4.4.0:
resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
@@ -13099,13 +12989,6 @@ packages:
locate-path: 6.0.0
path-exists: 4.0.0
/find-versions/4.0.0:
resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==}
engines: {node: '>=10'}
dependencies:
semver-regex: 3.1.4
dev: true
/flat-cache/1.3.4:
resolution: {integrity: sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==}
engines: {node: '>=0.10.0'}
@@ -13952,22 +13835,10 @@ packages:
ms: 2.1.3
dev: true
/husky/4.3.8:
resolution: {integrity: sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==}
engines: {node: '>=10'}
/husky/8.0.1:
resolution: {integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==}
engines: {node: '>=14'}
hasBin: true
requiresBuild: true
dependencies:
chalk: 4.1.2
ci-info: 2.0.0
compare-versions: 3.6.0
cosmiconfig: 7.0.1
find-versions: 4.0.0
opencollective-postinstall: 2.0.3
pkg-dir: 5.0.0
please-upgrade-node: 3.2.0
slash: 3.0.0
which-pm-runs: 1.1.0
dev: true
/iconv-lite/0.4.24:
@@ -17695,11 +17566,6 @@ packages:
is-wsl: 2.2.0
dev: true
/opencollective-postinstall/2.0.3:
resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==}
hasBin: true
dev: true
/optionator/0.8.3:
resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
engines: {node: '>= 0.8.0'}
@@ -18099,6 +17965,7 @@ packages:
engines: {node: '>=10'}
dependencies:
find-up: 5.0.0
dev: false
/please-upgrade-node/3.2.0:
resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==}
@@ -19393,11 +19260,11 @@ packages:
resolution: {integrity: sha512-+4JpbIx42zGTONhBTIXSyfyHICHC29VTvhkkoUOJAh/XHPEixpuBduYgf6Y4y9wsN1ARlQhBBoptTvXvAFQf5g==}
dev: true
/react-native-svg/12.4.3_w3kncuvwqnzhwf3ziybn5l7dja:
resolution: {integrity: sha512-8OF+vvXsI854YlHBOQkanNcyio+7oQO0nQsS/Noji2VmPoMnLiJiMaxmOD9RHxGkbbo7lzbYWdxVdNibjN/8IA==}
/react-native-svg/13.4.0_w3kncuvwqnzhwf3ziybn5l7dja:
resolution: {integrity: sha512-B3TwK+H0+JuRhYPzF21AgqMt4fjhCwDZ9QUtwNstT5XcslJBXC0FoTkdZo8IEb1Sv4suSqhZwlAY6lwOv3tHag==}
peerDependencies:
react: '*'
react-native: '>=0.50.0'
react-native: '*'
dependencies:
css-select: 5.1.0
css-tree: 1.1.3
@@ -20334,11 +20201,6 @@ packages:
semver: 5.7.1
dev: true
/semver-regex/3.1.4:
resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==}
engines: {node: '>=8'}
dev: true
/semver/5.7.1:
resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
hasBin: true
@@ -22776,11 +22638,6 @@ packages:
resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==}
dev: true
/which-pm-runs/1.1.0:
resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==}
engines: {node: '>=4'}
dev: true
/which/1.3.1:
resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
hasBin: true

View File

@@ -16,8 +16,6 @@
},
"dependencies": {
"@chakra-ui/react": "1.8.8",
"@emotion/react": "^11",
"@emotion/styled": "^11",
"@mdx-js/loader": "^1.6.22",
"@mdx-js/react": "^1.6.22",
"@next/mdx": "^11.0.0",

View File

@@ -1,6 +1,5 @@
import { Button, Flex, Link, WrapItem, Text, Wrap, Heading } from '@chakra-ui/react';
import download from 'downloadjs';
import JSZip from 'jszip';
import { Download, Github } from 'lucide-react';
import NextLink from 'next/link';
import { IconCustomizerDrawer } from './IconCustomizerDrawer';
@@ -20,6 +19,8 @@ import { IconEntity } from '../types';
type IconContent = [icon: string, src:string];
async function generateZip(icons: IconContent[]) {
const JSZip = (await import('jszip')).default
const zip = new JSZip();
const addingZipPromises = icons.map(([name, src]) =>
@@ -73,6 +74,12 @@ const Header = ({ data }: HeaderProps) => {
href: '/docs/lucide-react',
label: 'Lucide documentation for React',
},
{
name: 'lucide-react-native',
Logo: ReactLogo,
href: '/docs/lucide-react-native',
label: 'Lucide documentation for React Native',
},
{
name: 'lucide-vue',
Logo: VueLogo,

View File

@@ -87,7 +87,7 @@ const Package = ({ name, description, icon, shields, source, documentation }: Pa
<Text mb={3}>{description}</Text>
<ButtonGroup spacing={2}>
{shields.map(({ alt, src, href }, index) => (
<Link href={href} passHref>
<Link key={index} href={href} passHref>
<a target="_blank">
{/* eslint-disable-next-line @next/next/no-img-element */}
<img {...{ alt, src }} key={index} />

View File

@@ -76,6 +76,10 @@ const docsMenuTree = [
title: 'Lucide React',
href: 'lucide-react'
},
{
title: 'Lucide React Native',
href: 'lucide-react-native'
},
{
title: 'Lucide Vue',
href: 'lucide-vue'

View File

@@ -11,7 +11,7 @@ const IGNORE_COMMIT_MESSAGES = ['fork', 'optimize'];
function getContentHashOfFile(path) {
return new Promise((resolve, reject) => {
const hash = crypto.createHash('md4');
const hash = crypto.createHash('sha256');
const stream = fs.createReadStream(path);
stream.on('error', err => reject(err));
stream.on('data', chunk => hash.update(chunk));

View File

@@ -23,14 +23,18 @@ const PackagesPage = ({ packages, thirdPartyPackages }: PackagesPageProps): JSX.
Packages
</Heading>
<Stack spacing={8} align="center">
{packages.length ? packages.map(packageItem => <Package {...packageItem} />) : null}
{packages.length
? packages.map((packageItem) => <Package key={packageItem.name} {...packageItem} />)
: null}
</Stack>
<Heading as="h1" marginBottom={6} marginTop={12} textAlign="center">
Third party packages
</Heading>
<Stack spacing={8} marginBottom={6} align="center">
{thirdPartyPackages.length ? thirdPartyPackages.map(packageItem => <Package {...packageItem} />) : null}
{thirdPartyPackages.length
? thirdPartyPackages.map((packageItem) => (<Package key={packageItem.name} {...packageItem} />))
: null}
</Stack>
</Layout>
</HeadingNavigationProvider>

View File

@@ -763,6 +763,12 @@
"chromecast",
"airplay"
],
"cat": [
"animal",
"pet",
"kitten",
"feline"
],
"check": [
"done"
],
@@ -1326,6 +1332,13 @@
"calculate",
"maths"
],
"dog": [
"animal",
"pet",
"puppy",
"hound",
"canine"
],
"dollar-sign": [
"currency",
"money",