From f0f168376a4a9603d25d73a5f93d10081a885f02 Mon Sep 17 00:00:00 2001 From: Mark Motliuk Date: Tue, 24 Aug 2021 22:34:22 +0300 Subject: [PATCH] Lucide Flutter packging (#369) * Flutter plugin init * Updated readme --- README.md | 11 + packages/lucide-flutter/.gitignore | 75 +++ packages/lucide-flutter/CHANGELOG.md | 3 + packages/lucide-flutter/LICENSE | 15 + packages/lucide-flutter/README.md | 8 + packages/lucide-flutter/analysis_option.yaml | 18 + packages/lucide-flutter/assets/Lucide.ttf | Bin 0 -> 156456 bytes packages/lucide-flutter/example/README.md | 9 + packages/lucide-flutter/lib/lucide_icons.dart | 498 ++++++++++++++++++ .../lucide-flutter/lib/src/icon_data.dart | 10 + packages/lucide-flutter/pubspec.yaml | 29 + .../lucide-flutter/tool/generate_fonts.dart | 49 ++ 12 files changed, 725 insertions(+) create mode 100644 packages/lucide-flutter/.gitignore create mode 100644 packages/lucide-flutter/CHANGELOG.md create mode 100644 packages/lucide-flutter/LICENSE create mode 100644 packages/lucide-flutter/README.md create mode 100644 packages/lucide-flutter/analysis_option.yaml create mode 100644 packages/lucide-flutter/assets/Lucide.ttf create mode 100644 packages/lucide-flutter/example/README.md create mode 100644 packages/lucide-flutter/lib/lucide_icons.dart create mode 100644 packages/lucide-flutter/lib/src/icon_data.dart create mode 100644 packages/lucide-flutter/pubspec.yaml create mode 100644 packages/lucide-flutter/tool/generate_fonts.dart diff --git a/README.md b/README.md index 59f03bd38..178f8b6fc 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ Lucide is trying to expand the icon set as much as possible while staying faithf * [Preact](#preact) * [Figma](#figma) * [Laravel](#laravel) + * [Flutter](#flutter) * [Contributing](#contributing) * [Community](#community) * [License](#license) @@ -146,6 +147,16 @@ composer require mallardduck/blade-lucide-icons For more details, see the [documentation](https://github.com/mallardduck/blade-lucide-icons/blob/main/README.md). +### Flutter + +Implementation of Lucide icon library for Flutter applications. + +```sh +flutter pub add lucide_icons +``` + +For more details, see the [pub.dev](https://pub.dev/packages/lucide_icons). + ## Contributing For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/master/CONTRIBUTING.md). diff --git a/packages/lucide-flutter/.gitignore b/packages/lucide-flutter/.gitignore new file mode 100644 index 000000000..a247422ef --- /dev/null +++ b/packages/lucide-flutter/.gitignore @@ -0,0 +1,75 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +build/ + +# Android related +**/android/**/gradle-wrapper.jar +**/android/.gradle +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java + +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Flutter.podspec +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/ephemeral +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/Flutter/flutter_export_environment.sh +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 diff --git a/packages/lucide-flutter/CHANGELOG.md b/packages/lucide-flutter/CHANGELOG.md new file mode 100644 index 000000000..e4e2a88ce --- /dev/null +++ b/packages/lucide-flutter/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.15.28 + +* Initial release diff --git a/packages/lucide-flutter/LICENSE b/packages/lucide-flutter/LICENSE new file mode 100644 index 000000000..66cc02207 --- /dev/null +++ b/packages/lucide-flutter/LICENSE @@ -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. diff --git a/packages/lucide-flutter/README.md b/packages/lucide-flutter/README.md new file mode 100644 index 000000000..228758ba4 --- /dev/null +++ b/packages/lucide-flutter/README.md @@ -0,0 +1,8 @@ +# lucide_icons + +Lucide Icons ([lucide.dev](https://lucide.dev)) for Flutter. Visit the website for the full list of icons + +## Example +```dart +Icon(LucideIcons.activity); +``` diff --git a/packages/lucide-flutter/analysis_option.yaml b/packages/lucide-flutter/analysis_option.yaml new file mode 100644 index 000000000..2d010597c --- /dev/null +++ b/packages/lucide-flutter/analysis_option.yaml @@ -0,0 +1,18 @@ +include: package:lint/analysis_options.yaml + +linter: + rules: + omit_local_variable_types: true + avoid_classes_with_only_static_members: false + prefer_single_quotes: true + + file_names: false + + avoid_setters_without_getters: false + + sort_pub_dependencies: false + + prefer_relative_imports: true + + # only for debug + avoid_print: false diff --git a/packages/lucide-flutter/assets/Lucide.ttf b/packages/lucide-flutter/assets/Lucide.ttf new file mode 100644 index 0000000000000000000000000000000000000000..54550d9332b46d63790c4776a646909b7917cd7e GIT binary patch literal 156456 zcmdqK378z!buWIG+N-*{yLz9V>FMd2>7GrqZ`wwq6e~xucAkAI7n5=e_yrDogWCj9D+>ym8^VR~Z1_I&(*OAUImtCYWWK-w#{R1Bnd$g<=IDPNeNveGE7*6KP*3`}7{~n)UDRqEu%vGyJHmZ&o{3ySZnK*nBzW_&0h<|^`O6+Fb zlbKSrqd#2VMDOpsVDkaYNA=%d;7=cYnvJ4wTd9pctNvE8_di)$Z9j;=&(Qr?hUIWf ze}=G~V?G;-KeWf#Znd`?zd3dtyO!<6?=F0s``2K5FW``47vn?M=+8Dbh))LJEbf01 zy8zeH{(8QsCY{f+F0`aE zHD>`&#`*~3mP5GX-K!b~Su6z`#`76A1d$r@T6s z!#oWEE=^eJ`w|2@)irulfB{B6h~DmvTW0Y)jQ)KSzjTiUR>bdKb^e36a**v&XNFh< zd(?}I)jqXeRK3fxg8F3e*Twlhb?x0tPZ+|uFUB0uT*D+T8H+J;s(Z5g9(fA*?TEv439Heji zKeTL-qV^O2S8XdkrAD*|f7`#{Ed&zzY4EkPG_P^MKisDn^Il-g2d@f#048}gzAu57 zU4!pW8B3kSSQ_V}uY&aATy_NCZvpk*3*HkjRyYgaZ!lKeiSO4K>*&Pya(y&L!0i{HI>F?K5MaoYD8I~~v4 zw}>z9dq#loA;!+^!xz_`RmJxO#$Nw0V`pE=*f~F7Y(MVx28S_{FAkv1`8akVo_kS| zv5Rr}}}VJ2o+P%>#^GH-PVV8N2=& z#%?qiyBYiMLYrH0{x zj|yK&xaLRu8GGqz#(r`qWB-Z!|JO8QN6^Qk&oj=SW?VkT zxbY<8<~JC(AHLVzRLItd`IzItS3Hki1A50Z~An`XLd3^dk`XLC*vz|{i>@OU;P;4YY#BKP-J`^ z?!Sn>U@h?t&oaL8bBu4glkv?rGrr{;jBmyGw&L8jaeQ&zi4Q|0#I@VM!}!h*GrsF3 z#!q<$U-WS|w)cFE@x7mB{8St}{dC6nq3sz(e6fG#9>&kw$@uFXd~u(1`WWATJ>%!% z-sgUc@i*Mb_<1;g;4tIokKl{@T<~4SFGQaY8u;Sg7Y{IgDXzT?&%gXG#;?G!L%8>q zxYw1Ko2$@|t8whjX!ln1{cSHW{*DJ2f9K7NU$>v}8?ubwIL-J?mok1c+P(|NZo%_z z{Wjyb?P2_OjOpEI|DMk={ywz1<1EJS#J%2cF#ZAD?}G;zzxzqX?|m=hhp%D$zBP>B zkL?dV&-h1h{YNo|kE1Qt8UMsr8UG*GGydy1{{W7E62G6qvwq`h#y^eY4+e}sbQ0qa z-^TbO-(mdGuQC1^-1D*18Gn2e<4-)p_~#kpU-%Z|U;F{%U&2_PdW!MiLfbDt!1!Fynu@$oTUkjQ>@U@xR7B|K>5qzrCOFzdg+O-)&|5 z?=NNiJNW(I^Njx^uKy?8??v3>yPb@G57&L~CC2~d8OFc=4aWcNDaQXDZT|z;{9q^J zKf>=z`2F!A#(x4h{1o^7FZ>=Q9p+9ZpsxvmFL;_TUVs8~m9W>i50kR>`o@ef6Bxp?mhVf zCZ-QCF>?(Qvv|%t+RZ=3#HuP2s}GXih%u3_b06OeLB(dHk8?J*<_X(i-Ho2M?(5*r~Ylp(NdTWjP^xW*!6`aKAhB*c@w;+mC_V_vR;?{xQEO-vX2`BQ>EhUz=mGoI+cO^ z=tvvWDDJ8PjZ2&ay**mOoqSq$ubhvjmh-TDYf?LD!KSq zT0UiNGM74eq^rSgH`zV*vPrXyr0WA&C$tZi3SFw>yX-a?3`W2uK#bHv*jyH zFEA`tE33#Y)?@9zX`brUv9NuXGESIw(w>iLIx`H7TVygRZ!uouQu>8wN9L-t?Q>Ho zkB=3zfs4tx$?P^cSASkMAE&b`*?qsrd=T#c0*fdF>%fduK+p6?PYB(m3&ccC%W96r zL|kz#pTb{E(eN+2pk^u=OG>-)b5@ki)ru+>x>sPuIQh;~hN>ODt7a9 zW~)%(23BLCY&niqF8o64s$;Tepjet3c&!Udc!`;6y-_Xolzlhn`80KfOe3&28lFT) zXyyueBbhYv1;x?|1?jl7wj^vsFY-U<_pmbC#?GX9oLa?+FlBRK=G?CJ4iRISPR%TE zaG;orck|Vlk9B-4&W(v)G*$e340B~$ponWRGld+@7jgS;v>WER{pS7G^*ZSy=z3>F z+jhTgbahxJNf+SZ_umh`tF{seZYII6J4ziL0*rvq&K*_+9Rf=-IW)}g0!O2JeB7nm z1r3u=n>i2|Qy937Y3bYO8}jWZ$)v=+N*ziTIBEODL^9-t6v~xCX72P-grz0}+b{2#bVIRbEEV)P{+JsKzj?M&O#1~V zZ{uX&uv2q-@YLaX zNAO{z9;Ak*cC1VILz#|5G0N2U4V8P@%9xLZh6_9C+v2jQ%7Dgw>$AE_XL19>q8*tN4*%&g$>|>4mkl)98VFBO9 zU`5DaAoPI*-nL8#H5BiUXdoC>ttqfo^~gj6(#Ud@2(d8HSV?*I4}C~1Nl$!US_;3v zcwfUw=hZmH=Y{S28DRFx%_})N>`Hz}y67~{&}_9MgJ;`z5z9*2z=(SVZG^^=uN#S^ zuNI8ikv3Bh3?&~m&~|{E`>)(DY>)&%(sclXFj1Qo_8x?7y$M0Nm-_be zyFm1FsSnDoe@q`{t7`pgfV6c1RP~rXaErij(@o$V=)>XrXz#u&8^0hNUU44U`ta)W z@M}h^2YMo?2d`x!L`**)W@oU=TWdoNTr&*9eqt9OpLJ{iFG%NUe(0zotJG)`r-+-_ zYJp7=gVCSqB~nXgw0=Vr_WuN7De^26sO$Dyre#eH5eeh@vgt#i+X4j`Br(|{v8T=z zJ8%S?@dO*%joDG)cGtuy!U}xf@zK~CtRy^7KyPppVVI*0Crp7XNHg*ho^R#N!Hg8* z`Wv|2lSmCuS%y-ZrEhox^(MVdZK|A5_pn^JAiW#V9j|ZjZ@7UQjuV6#GjDbF4+zgo zhJj}~LgbQ(gliI0hIjMmpDBLSVAIgCPhsampL_>K|5R0Y6!uJpad|I zt_Yf}2Nu|1`M4s{0PaM7ZdU8;wnf{xCyWaw&J^;v z{Y>wWIq`iNtQcP6UvBqgI^9*RboKX)_0&Bn-Hj6i!{*9SGmA@;SqLN$i-w1Xhh!?- z(@1Rq^aV8m5^l434eNjAUl_b!3fUtIx>tUFF)q7&rL9fKfqt z*qv4;V~aw4Z%(eMs(-Y@yXIHgw^fH$z#7tR+k zn`et`dz0>T^YOej0o)}c21!K9m;n%zFr?>Z*3M1O%r<5Uxz$P}TKa9*Et2wI{sqbq zP?X~*NYGypN(h#TKplr_&4<597KWRIcYg-S# z6zBN_znBZhRHN~XTWAdJqcsFB;%{jmpLAs=3u&{}@5^8*T8Vva1=6N7)g9ffxR>Z{ zAs$R~Y+V5N7|-#JtSb&f7HEglQvZiyIJMw*0SrO+31j(Gv^u}NITNk9Y2n0S;KUk5 z+sUM*PUUPNE)A>NBVXv(0d_9O|y`a>wJ1VcrAbt|$#kkU(gAn#}Z3a`de zCp}mV1vaFAH@cN-v9gkcDaDx|j-qPKuGk$NuOFc!?uN;MVOtdQJ)Nl_?{}^U()sf6 zxkLF(+V3#(E=&+3bCC~>Cgls(KZ~zu_@Uoe!R;UcZ4G)98Ht*jM&H`*o+y`#Cia#+ zC%}sB-iHH2(cBqCe7WNlf>dX9&xzS67v@DV5k;B7^G2d574$;U0DE4$wxc8<$il+6 zqVBr&71GN~Ug}u87OWDICPyUDI({SH!1`%EwH?t1OvAUKQ=YMp2n=6`sl-`Wj+J)2?+hsa3GkFN_MNgjwmWe|53S=j;JI}? z7XT+Ehn@l(yylon0S3rh({cw)R$Qo?_yE3(XOJD49to;}Za6MqN7yUT55pts1|u`| z1Q&v^QCDH@#F+O2hacmYsWC$j4>@cm#L-E)9OH9Sgu%q5o49QMM4B2Q35iWptXz5R zwPwl$0$+PA5EuYZ5#Mb)OzLuHl280e$a5^TWdN|;M*2IIlf94E&!nr3tA3Uy+Q60Vehg-hu;&4)TQ z+ca5_F4r;w<5s#QH6mHk{x>skp0+R(NN%N-xgckCXW*SS%A2~PASDAh1ibRbP6@-c z=KrP_gs{v>Zf1gPnA~vk?%{5`o=6oYyK?!70ZSzOgzxm!$$UFfA6%1!;SO!PF5Fy8 zhMnC(P!9bJXfPx)Yhh+hOXOrGh>9!WtM%-hfR9fm46+#>G925r zY%Y8+H0pMvC!a}rBdPS(>9>xh5>XClW_7`G;U$t@Is?m_naQ0nlJ7u2R`kzp`VFJI zbKWNNMk-T|@`j>GdyhWFpF{-J6g!!n-!>x}eB|>a-I!QE%?_!P)7ttO+fJ3?6lWCX zX;KQvD*I@oF0-&!V3($El#{Zp=IYElLK>=j!7(eyHXjl^Y(C8#m2yr)s@MOj=e>~RK5j3SuvI%ThMP)J3p*7cC1T! zQk+qr<+hnHc^CeXf(~1#`FSC|WdDTSWslcGzuGTT)zwzP8m{OkR)(=tDU3Vf$hXDn zRYTBo`Oum*TqMERh0+%s#18y3Vh1MSe>fG361Yb4Z95u6!6HSK=mH@iA_CSaTy3hg zg^I{3a}Tg^yf!Mdn5s!Qc`SL-b;ZKkt}Y{K+lkK6M5QQ`CO>sk!49io#!KhLsi(rn zA|)SzuqTcz=@yu367LBN_<*^_i?WF+%EGR&q>8{1wW4uKyQSz7WtX3u zMaTu225fli5UQVkou?<%kq)(D~D4NdAe0 zJo2eeaVPL{Fd+Co;txETNhDxr+@HgPO2@nZGo*R-EE(UJh!*4*WQa9y*a221D>(n@vBIp2c01to+ zcoFzwvJZl1^S7x`l9-&!H@7()-b}P#S>=hMU#Hi_qc@DgStt2f(z}MpwKDTRj~!@U zvB3&#@s;|e<1yO$Rrp!``th=Ey}PYjKl(+wwF|;n>|u}PcF4?Z5jeRBoSbK`Yr{s6 zF!Bi!I@Wu^3tonflhru%sWAllt71Kfed-{Ollg78nGs=_5n}Rh-#a6+A)Ai!(UF1;gFVG$fsBI&gYFV5 z1qmXHpt7uySs%=@WtIjKk)>^F5`uz~8I_4BcJ?X4uEDX{*g=|Ee~$+`Y`cXras9Q1 z@_QMj$AS!;==qLLD=>R%+znwuGFEjbAXYC zQ!JAS()j!`_^pd$8SLaWNuvGmjte87Hg@cw`xpoMZ0{DWRqBc*T6nWws0@Zig({Gh_=Dmn0J9l z0zr07#1l8oZ69b`O#4Yz(SoaN+kP2nTez7F!9a;{umu$ntU^Nwy7sj3?p8sKP5fPw=UNG_~9^O)-LK8wnKCO+QRp37txeQjUy$ z1|nWzHMB!pGwQR?k(m&T8VX6c?GpUsAh(Yasm3OGUvjSV$xj*?#55A>gGhh!ldvS* zynp}xBmXqgr$AhpF{{`Ys8i=I8JVvubUzPfz{EtBDe>+)m;Nfz~w?s76=?-m(Cv%M; z$mQ)!cOD*9VVC6xJ|Igt&CQA08boZuhG96-G+7MEaOuI@hPVV95fe7)ACBeqtPG12 zwY43V<%0WjkWb6%Sl2UN3>&KgDF&hDST2+Q}-EfN!!;Po)ugb3R=(!3I^lw??geTCT4GMF?7XfZ@JTmc<8S7I$t!?O^F zDG(m~T=@MUlMX=YF>v3`!Fe0{q<4_6EAVTEc%b;r~wqDtkF~U=S9x!3I z^Y!g8OQT&@R4FWs0AP!`gsWg9Z5gZ?tR#;GbXR6%<=U83o83n~^Yh?pAkO?7{9pMa zST8%^!+*QN#5@D5C#9K;%xxgkYKI~hElee8C>G7@3Khv5s1GQ?o6u6DYEAn%=u(BE zq%v!pIwpV=m5wZ8lRgs%Cr?g&@BC`|fZ2(gox(fOq{sPfH1ugN&E^X}- zlT#XNOA9>{1y>FY3#R}!@6>uH>|Ae07&@i{?OIx1qtw$8^bUhOU`7Hc`RPxT^Q#Aq zox5HlsM}8H<6nqq9o^oeV5N3kegt-xi`ct=E-oK~$*+LNYDSc=mR5xJdift z_$5jEZ-OlQ-uRjXGA!(TrK_`)25tZO)E*Q)F}0AkJUfwEHQ`#RzF&^~TPnZepZSf@ zUDvRa*z4J)uv{ujNz4IyEf8?6;A`6nR)L~GaQ#AY!7P&933I4JiXdIX7Es|?EG1Ak z*aLX~@_hm7hXyp|n7l^aT)u1bdDqK0hGB)a+Zh;!n@zYPilQ7Pp>)CSh725DD3*$# zTcjITD%^3!8J`G~wULoplqoeFCmi9^iDYfXidq!WzMbp;&s)kBcDk#vM-n!^L6Rn>aCD#);q8?Obq zn%z8$R133KtjsiEoo(&shkAbb}a8p*xz0E*uDi9kU z6{IqesxLn;C+HBy3mxz*SWG-C6$A;Hygr`;yEZ1kPjQw2b0)}%IvW__7tt0cC}0A{ z3R)}mTt1&uh72DO_n_UFLNX7~Nwk`q(~6MM;TXe1*xrH2riXByXUs00vQ6Sv6gaOg zr3avw2o>2iG&DS{dL}&n6iaQu0_|FGNE!_oDr7FzlZ9OvP!W!SkWj=))G-l4hISIi1ax63fx33e z=OaN9X+H^B1msL37geivD$F67$gautyd3pZec$YY^V{%(>`JKP9}x*p=ItOfU9wXr z11R=>==zyxq6C||(X%6$5Qw#NxC1t11x6m#QKSQ|}}le zlcss9JP)m*>04eYNK_pj+;t&@2kumZMCgIL#C-W$@PHd2lh32>!DgBhox_E|X21;# zn)0~_%VG1;_)bh!3q^qGBvg4iP{>h;PFnrV{RG7G5Xb!cjj=Id^!NY;KLj_2C;Izg zw1Z7?Y;0^CHbNI^YW@8Pkm`*8kxXq|0iJCJ`dZkwEqR4O9>G&~_xFRHh8PrGF5DCr zb$|cv-O_ub9;cq82An1*Qh$;LF$au4gexAk7Q&L_a+h}ZP zM#>r@jR=8erinJHq3Myu3s>PFiPQahAusLQdgT9_b$Rb#FIkn*#WDN}3qC(XxPxP3gYL_4<@^KEg-u$D%Mp%Zc!e%R6%ZEX zvgOWV5$tw;=4cIT81Z0G) z;}t9B`3E$Ete>>q$fqJ6C5y)PlTJHL?W9vhZy+itt{R_TYKZ`^tdwiKFs z#*v-G@WFeGRKLkjF^fF|BHUkA4P?)Mz|Z4u=o!K+mw?i2$<`PBEYImG3ipC)`$CeI;DS?|Bc^ zP4gLnih*k1~yUn|eoG-e1-6_n!%HF&0oDMK{y1fsD?j3B?B@}O*Pp%?98vl~B*~}_ zH$*b>_}zxrkxunN_kan)^x^Z{I$D+_eQDGBop>JkDhmZ+S&o-5vz}RY1>)?z5X;q1 zJ&F|hjrH!P?eQjh-g?{|Cif`t3`kv(G*bv&fn9y*=+_ZX{SX_2hhmSmEJM{Lp@%+- zcM(MCqku|;U3+;HVgO4*K2fU(tf&PsLB4%kCpk|QNb8z`sM&7=i*(fLOoPA}CXBlg zLxaFWX-D#I19@FYTY}%-GVYNPmI!k5J#pA{L-`(VMdiY_ZP{9uZ{EVKho#8OZsy{| zZ4j+a6#U%~1UcVEq`?xWqLhT`JLl|o^FDSU4w4jtl_&PfAm{Es$MH?y=BEo|knb@3 zRAP8I$ohPs!NoJXVTbG<;CuHXE|UtuT6BPx0vu-c1A zhc~fzvHRI)*l)2vB+8=1Ds9*zIek=>Ine2lAS)2jNm&KfVn=T)1SSz4=!F$HGi_?` ztZqPjvwt?81YAJ-<}v%Pa9(BAX^DjvLGvc@6q4YEh%S0m?D5n6TJrjW3Y-*zqgoIT z09lD@2qfI6-Xcrdr&yB7JD_txpPIl{5OrWhfKMh9U_M9g(2iNHm>T@^L=$2s<`Lx; zc;z!*lyH+KS#zu+vOtitL05u+I_Z+7v^M1B9QjUr7ohFMo!}2bXF<(|z<@ACMJ}vl zfVHBZq?EDdA4G6>L;)zYnRF8gCq+qSmeF#SVuhj$OTJU@n&rF4o|OsDO(bcEA{C*Z z>hfgPwIcwI^h6A*-s(rQ7ev+I(~0@g3@qDw*jcb`EJZ#5EubqCa=c0m1hE{7WTFq* zRw?ejNt?0Tsjk&rsi`{0a)b)1fgF+h6FxN+lkoojCM`cE_8~}{P)u4u5Q~dM$j`Vb zj)&-}_S7z4#J`8CJuTzNG7TyH zEv8-?WKFP<;~;jOsOHKl&F{biOAX8GkdKRW;JW-V0fVuZ&C1W(z5(|}=5_mw=!Ilh z>V;b~J2X9$_23LnKnv#JLX|9nH<6+$WhR{nBG_nBi46QI-K2MNm#>&2KpA3JB1vgOc>S}}$Vw<8AoN|c8suYTYX5{#;o%Eq=!;>S7j&x@f zD*aUeA}AQdZ-zbLW10@>P<2IYFvw8o;208mXwhTTAHE zDqsurK{-zrZyEddTPk0d;}{_SDFlQ|sYg)CudenL;)_#2Uxz>MM^U&%TU#bGR)!J2wO}1O$mt?2N{9o9wp&+aGiWd!AwS`m9+%Ifx+2Z4bd_pCBul4i0FYP0(3xD zqUkxiMY4pN4rVRon4MX3>*~nP7nPq26-psb{|@+Y4RY#U@Zl?9>%5)a!+xDT2LAH< zYF?)lO@PjZ5rT&xo1|XTk`0t~ps$b~RjF0ztBCFyCgr!0fKuZdFUV5fg_ggb_&~$yRyKoV zA}2rlfqo}l7=V!V=%YmVYCTOI2GJ@a6puVYlGg}@w?g9gk#L%Wsq0mCPN6gKulO)d zWP!A=va^e1B3QtD;W;_jd|qYe{jhoFA+J!p1d4YdA8IXPP6(4oK2i9yWTXHJAuC#= z5)sa3`lpgkXqO}dEM}z*G}(-%pd@-%_{8KKQc~!H{U*s#>Jca@LRLUzD8nD;saVm{ zHmW;)=zg;!3N2BBzlNvau@i|<>vNIWheQV6Q(f9kV{wHE%5Ef9lq{kI6ifmjs~sja z#?g8M>p5N0yOu=;KdeWpNObSMg-JimB>YIo;#cD>qm-tAdsqd+$UI;bOV)ybH34cr zX`fCNru_D8vf#e)N~%UR05m*zzi?~{i?vC=YHjE8W-4W$Yr@d*=OXeGnb1d>iq;n9 z#9vzD73BC*7U>!AH(kwcV0W+&qYClT3{hl|nwMJjl~*_EDod-mB~TuRm8}+bES)Z2 z+7vj6nba({Z569RSx3HaXccH_34`!b*pFJb@^O+Dq4gzyrPbMrMOwDXmlZx}t=K0Z zc7&!8zQTHKTch9zR7=CG?0nUgw`@)RtYrw%u~|MtE$Y_V&mjyHX}zET6xBfWSH20I z>k-&Z&eS$FfL+UQYAH2yK9?fIns@+v5ZRqIaVOOkR8;z*Ru>nQY}|nbL_sU?(`Jn$zaP(_ieRCanu@L;cU0~<6UWD)^3|s(38M09P`?u%n@@^p( z*||$J?4MyT8%70=gA}8XnOhBubX<8Zo3~mKnTmet2w?&cm?6o5y`XLcfmSTt5VFdN z(CM|J8JQx1G1Vg-jTouQ8_maJA%x1W$~9}shPiNR;`_cZ1m$0U@)J$hffbnvcsj z+JI(P#mrVnzJu;Z)W$ZT$l&P^D#myde5p5~GA1a$=BQ*ERjifL zzwuECgG>DQ7;de31Exb^DWo#G0v{qDG)v3a^3o1@W0Cx<`FlHCZr`@gH+~bDDstu` z31N#OT;W4A%f%(8{4;no-2XXPK!YsO+q@*wf0meaZ%Q-<+E_IzGQl+jD^OS0jva+p z-Io6x2rC!S#8^B?HXs>QOX*TuI&!s=GpGh>#e}N zq?mRE@>O%IP{_bC)TrO1xHPg|N=9o-(VxuG|H3?74?2A^ydM<18{13^ZL~*Qbtv{b zg;fDkjVaIsxM@dKjFi@hlDTQ=&<882NraXiCxaSRlw!5E%1me@IVWr(R(f+&-9GXu zMQW5~LF?%iGcnvZFok$37$6WI(->Ig142k}_Y=Vk?2t&gMyUlS>In?^&0q_Wk&Ao< zhhMKL&F#0xl!k5!k^(GG7@#oYVBbc$Q%9UXgjJU>ZeNi^gf?W-`Nk0LW5H6i7Y-Jy zW2KMa57P`%ei`N%H@g$|As4otGD4vsmcq-r$bT1kA060HRV?9?t^o*0XqhB!5zwji z@=pr$iYvwjVH}q5LzDB=`9AD5D0?LMUM>z@F+PA)LU?En8OHaO?~7^|u(17UE%)?Beto*GUiMtiw9aDGP)!D&gP)@>44gwIiZPuP0N7t*Xza3bE8 z0ji_Pjrywzjv^ph?pFp!nvJ=(8U;$6Am}OREahmuVl`5f-T>rOZG!GfCR$lRNixgw zD=VX@Sja$%ICZW8#8hQtY%x&l$fx}r#n2`bg{A5Qo#h}3ll9SPM!u}hD3XkHp;40h zsC-)A+Crhcrd%kj?ei$FU8XjTuZi-xxG0Q_61gbq9YztD-tKa7sWicgOIBo~&?{Nu zMlSl0YJ=zl6y*XlLVznC0%s#7t)TV@YceajFeN<)UojRNtWC%WQeHCD*VEPUKuC=p8&f8hzrACR+Yj9oH=}BLV0ge8q(3W1 z>LwcXb5L4o&>V8t#r$4g!24lTu4r?K5(T4D8uV+wT_vvH407@=RdYa<&!FN0HqWVC z^_!*fE;9T;ab1Ofh#dia<fHS49%4A zTQBb~(HQ8?D-mx({&i>LbPAFHZi`{;#V{P)dF3jqDhrWo!%P}hAaS!E3dV8~;B**p zD&sjsVkniAYIUq5BvC2hii-Tih$c5QQ~C)O7!g%&P*2H;G)`J+%H*eWV4leRZazcc z%``*&MvSGbBixl6Q~TzKw+NEa@X?Zh5+jg^Lj%OY-lfU96TYc�V(53c&@0)wC01 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

NrFx3vLMnxg{;-e|uxZ>V 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 Qy_WXh+w`R^&VK8E0pJx=AOHXW literal 0 HcmV?d00001 diff --git a/packages/lucide-flutter/example/README.md b/packages/lucide-flutter/example/README.md new file mode 100644 index 000000000..ec110182a --- /dev/null +++ b/packages/lucide-flutter/example/README.md @@ -0,0 +1,9 @@ +```dart + +Icon(LucideIcons.activity); +Icon(LucideIcons.airplay); +// ... +// for full list see +// https://lucide.dev + +``` \ No newline at end of file diff --git a/packages/lucide-flutter/lib/lucide_icons.dart b/packages/lucide-flutter/lib/lucide_icons.dart new file mode 100644 index 000000000..6922657c8 --- /dev/null +++ b/packages/lucide-flutter/lib/lucide_icons.dart @@ -0,0 +1,498 @@ +library lucide_icons; + +import "package:flutter/widgets.dart"; +import "src/icon_data.dart"; + +// THIS FILE IS AUTOMATICALLY GENERATED! + +class LucideIcons { + static const IconData activity = const LucideIconData(0xf100); + static const IconData airplay = const LucideIconData(0xf101); + static const IconData alarmCheck = const LucideIconData(0xf102); + static const IconData alarmClock = const LucideIconData(0xf103); + static const IconData alarmMinus = const LucideIconData(0xf104); + static const IconData alarmPlus = const LucideIconData(0xf105); + static const IconData album = const LucideIconData(0xf106); + static const IconData alertCircle = const LucideIconData(0xf107); + static const IconData alertOctagon = const LucideIconData(0xf108); + static const IconData alertTriangle = const LucideIconData(0xf109); + static const IconData alignCenter = const LucideIconData(0xf10a); + static const IconData alignJustify = const LucideIconData(0xf10b); + static const IconData alignLeft = const LucideIconData(0xf10c); + static const IconData alignRight = const LucideIconData(0xf10d); + static const IconData anchor = const LucideIconData(0xf10e); + static const IconData aperture = const LucideIconData(0xf10f); + static const IconData archive = const LucideIconData(0xf110); + static const IconData arrowBigDown = const LucideIconData(0xf111); + static const IconData arrowBigLeft = const LucideIconData(0xf112); + static const IconData arrowBigRight = const LucideIconData(0xf113); + static const IconData arrowBigUp = const LucideIconData(0xf114); + static const IconData arrowDown = const LucideIconData(0xf115); + static const IconData arrowDownCircle = const LucideIconData(0xf116); + static const IconData arrowDownLeft = const LucideIconData(0xf117); + static const IconData arrowDownRight = const LucideIconData(0xf118); + static const IconData arrowLeft = const LucideIconData(0xf119); + static const IconData arrowLeftCircle = const LucideIconData(0xf11a); + static const IconData arrowRight = const LucideIconData(0xf11b); + static const IconData arrowRightCircle = const LucideIconData(0xf11c); + static const IconData arrowUp = const LucideIconData(0xf11d); + static const IconData arrowUpCircle = const LucideIconData(0xf11e); + static const IconData arrowUpLeft = const LucideIconData(0xf11f); + static const IconData arrowUpRight = const LucideIconData(0xf120); + static const IconData asterisk = const LucideIconData(0xf121); + static const IconData atSign = const LucideIconData(0xf122); + static const IconData award = const LucideIconData(0xf123); + static const IconData axe = const LucideIconData(0xf124); + static const IconData banknote = const LucideIconData(0xf125); + static const IconData barChart = const LucideIconData(0xf126); + static const IconData barChart2 = const LucideIconData(0xf127); + static const IconData battery = const LucideIconData(0xf128); + static const IconData batteryCharging = const LucideIconData(0xf129); + static const IconData batteryFull = const LucideIconData(0xf12a); + static const IconData batteryLow = const LucideIconData(0xf12b); + static const IconData batteryMedium = const LucideIconData(0xf12c); + static const IconData beaker = const LucideIconData(0xf12d); + static const IconData bell = const LucideIconData(0xf12e); + static const IconData bellMinus = const LucideIconData(0xf12f); + static const IconData bellOff = const LucideIconData(0xf130); + static const IconData bellPlus = const LucideIconData(0xf131); + static const IconData bellRing = const LucideIconData(0xf132); + static const IconData bike = const LucideIconData(0xf133); + static const IconData binary = const LucideIconData(0xf134); + static const IconData bitcoin = const LucideIconData(0xf135); + static const IconData bluetooth = const LucideIconData(0xf136); + static const IconData bluetoothConnected = const LucideIconData(0xf137); + static const IconData bluetoothOff = const LucideIconData(0xf138); + static const IconData bluetoothSearching = const LucideIconData(0xf139); + static const IconData bold = const LucideIconData(0xf13a); + static const IconData book = const LucideIconData(0xf13b); + static const IconData bookOpen = const LucideIconData(0xf13c); + static const IconData bookmark = const LucideIconData(0xf13d); + static const IconData bot = const LucideIconData(0xf13e); + static const IconData box = const LucideIconData(0xf13f); + static const IconData boxSelect = const LucideIconData(0xf140); + static const IconData briefcase = const LucideIconData(0xf141); + static const IconData brush = const LucideIconData(0xf142); + static const IconData bug = const LucideIconData(0xf143); + static const IconData building = const LucideIconData(0xf144); + static const IconData bus = const LucideIconData(0xf145); + static const IconData calculator = const LucideIconData(0xf146); + static const IconData calendar = const LucideIconData(0xf147); + static const IconData camera = const LucideIconData(0xf148); + static const IconData cameraOff = const LucideIconData(0xf149); + static const IconData car = const LucideIconData(0xf14a); + static const IconData cast = const LucideIconData(0xf14b); + static const IconData check = const LucideIconData(0xf14c); + static const IconData checkCircle = const LucideIconData(0xf14d); + static const IconData checkCircle2 = const LucideIconData(0xf14e); + static const IconData checkSquare = const LucideIconData(0xf14f); + static const IconData chevronDown = const LucideIconData(0xf150); + static const IconData chevronLeft = const LucideIconData(0xf151); + static const IconData chevronRight = const LucideIconData(0xf152); + static const IconData chevronUp = const LucideIconData(0xf153); + static const IconData chevronsDown = const LucideIconData(0xf154); + static const IconData chevronsDownUp = const LucideIconData(0xf155); + static const IconData chevronsLeft = const LucideIconData(0xf156); + static const IconData chevronsRight = const LucideIconData(0xf157); + static const IconData chevronsUp = const LucideIconData(0xf158); + static const IconData chevronsUpDown = const LucideIconData(0xf159); + static const IconData chrome = const LucideIconData(0xf15a); + static const IconData circle = const LucideIconData(0xf15b); + static const IconData circleSlashed = const LucideIconData(0xf15c); + static const IconData clipboard = const LucideIconData(0xf15d); + static const IconData clipboardCheck = const LucideIconData(0xf15e); + static const IconData clipboardCopy = const LucideIconData(0xf15f); + static const IconData clipboardList = const LucideIconData(0xf160); + static const IconData clipboardX = const LucideIconData(0xf161); + static const IconData clock = const LucideIconData(0xf162); + static const IconData cloud = const LucideIconData(0xf163); + static const IconData cloudDrizzle = const LucideIconData(0xf164); + static const IconData cloudFog = const LucideIconData(0xf165); + static const IconData cloudHail = const LucideIconData(0xf166); + static const IconData cloudLightning = const LucideIconData(0xf167); + static const IconData cloudMoon = const LucideIconData(0xf168); + static const IconData cloudOff = const LucideIconData(0xf169); + static const IconData cloudRain = const LucideIconData(0xf16a); + static const IconData cloudRainWind = const LucideIconData(0xf16b); + static const IconData cloudSnow = const LucideIconData(0xf16c); + static const IconData cloudSun = const LucideIconData(0xf16d); + static const IconData cloudy = const LucideIconData(0xf16e); + static const IconData clover = const LucideIconData(0xf16f); + static const IconData code = const LucideIconData(0xf170); + static const IconData code2 = const LucideIconData(0xf171); + static const IconData codepen = const LucideIconData(0xf172); + static const IconData codesandbox = const LucideIconData(0xf173); + static const IconData coffee = const LucideIconData(0xf174); + static const IconData coins = const LucideIconData(0xf175); + static const IconData columns = const LucideIconData(0xf176); + static const IconData command = const LucideIconData(0xf177); + static const IconData compass = const LucideIconData(0xf178); + static const IconData contact = const LucideIconData(0xf179); + static const IconData contrast = const LucideIconData(0xf17a); + static const IconData copy = const LucideIconData(0xf17b); + static const IconData copyleft = const LucideIconData(0xf17c); + static const IconData copyright = const LucideIconData(0xf17d); + static const IconData cornerDownLeft = const LucideIconData(0xf17e); + static const IconData cornerDownRight = const LucideIconData(0xf17f); + static const IconData cornerLeftDown = const LucideIconData(0xf180); + static const IconData cornerLeftUp = const LucideIconData(0xf181); + static const IconData cornerRightDown = const LucideIconData(0xf182); + static const IconData cornerRightUp = const LucideIconData(0xf183); + static const IconData cornerUpLeft = const LucideIconData(0xf184); + static const IconData cornerUpRight = const LucideIconData(0xf185); + static const IconData cpu = const LucideIconData(0xf186); + static const IconData creditCard = const LucideIconData(0xf187); + static const IconData crop = const LucideIconData(0xf188); + static const IconData cross = const LucideIconData(0xf189); + static const IconData crosshair = const LucideIconData(0xf18a); + static const IconData crown = const LucideIconData(0xf18b); + static const IconData currency = const LucideIconData(0xf18c); + static const IconData database = const LucideIconData(0xf18d); + static const IconData delete = const LucideIconData(0xf18e); + static const IconData disc = const LucideIconData(0xf18f); + static const IconData divide = const LucideIconData(0xf190); + static const IconData divideCircle = const LucideIconData(0xf191); + static const IconData divideSquare = const LucideIconData(0xf192); + static const IconData dollarSign = const LucideIconData(0xf193); + static const IconData download = const LucideIconData(0xf194); + static const IconData downloadCloud = const LucideIconData(0xf195); + static const IconData dribbble = const LucideIconData(0xf196); + static const IconData droplet = const LucideIconData(0xf197); + static const IconData droplets = const LucideIconData(0xf198); + static const IconData edit = const LucideIconData(0xf199); + static const IconData edit2 = const LucideIconData(0xf19a); + static const IconData edit3 = const LucideIconData(0xf19b); + static const IconData equal = const LucideIconData(0xf19c); + static const IconData equalNot = const LucideIconData(0xf19d); + static const IconData euro = const LucideIconData(0xf19e); + static const IconData expand = const LucideIconData(0xf19f); + static const IconData externalLink = const LucideIconData(0xf1a0); + static const IconData eye = const LucideIconData(0xf1a1); + static const IconData eyeOff = const LucideIconData(0xf1a2); + static const IconData facebook = const LucideIconData(0xf1a3); + static const IconData fastForward = const LucideIconData(0xf1a4); + static const IconData feather = const LucideIconData(0xf1a5); + static const IconData figma = const LucideIconData(0xf1a6); + static const IconData file = const LucideIconData(0xf1a7); + static const IconData fileCheck = const LucideIconData(0xf1a8); + static const IconData fileCheck2 = const LucideIconData(0xf1a9); + static const IconData fileCode = const LucideIconData(0xf1aa); + static const IconData fileDigit = const LucideIconData(0xf1ab); + static const IconData fileInput = const LucideIconData(0xf1ac); + static const IconData fileMinus = const LucideIconData(0xf1ad); + static const IconData fileMinus2 = const LucideIconData(0xf1ae); + static const IconData fileOutput = const LucideIconData(0xf1af); + static const IconData filePlus = const LucideIconData(0xf1b0); + static const IconData filePlus2 = const LucideIconData(0xf1b1); + static const IconData fileSearch = const LucideIconData(0xf1b2); + static const IconData fileText = const LucideIconData(0xf1b3); + static const IconData fileX = const LucideIconData(0xf1b4); + static const IconData fileX2 = const LucideIconData(0xf1b5); + static const IconData files = const LucideIconData(0xf1b6); + static const IconData film = const LucideIconData(0xf1b7); + static const IconData filter = const LucideIconData(0xf1b8); + static const IconData flag = const LucideIconData(0xf1b9); + static const IconData flame = const LucideIconData(0xf1ba); + static const IconData flashlight = const LucideIconData(0xf1bb); + static const IconData flashlightOff = const LucideIconData(0xf1bc); + static const IconData flaskConical = const LucideIconData(0xf1bd); + static const IconData flaskRound = const LucideIconData(0xf1be); + static const IconData folder = const LucideIconData(0xf1bf); + static const IconData folderMinus = const LucideIconData(0xf1c0); + static const IconData folderPlus = const LucideIconData(0xf1c1); + static const IconData formInput = const LucideIconData(0xf1c2); + static const IconData forward = const LucideIconData(0xf1c3); + static const IconData framer = const LucideIconData(0xf1c4); + static const IconData frown = const LucideIconData(0xf1c5); + static const IconData functionSquare = const LucideIconData(0xf1c6); + static const IconData gamepad = const LucideIconData(0xf1c7); + static const IconData gamepad2 = const LucideIconData(0xf1c8); + static const IconData gauge = const LucideIconData(0xf1c9); + static const IconData gavel = const LucideIconData(0xf1ca); + static const IconData ghost = const LucideIconData(0xf1cb); + static const IconData gift = const LucideIconData(0xf1cc); + static const IconData gitBranch = const LucideIconData(0xf1cd); + static const IconData gitBranchPlus = const LucideIconData(0xf1ce); + static const IconData gitCommit = const LucideIconData(0xf1cf); + static const IconData gitMerge = const LucideIconData(0xf1d0); + static const IconData gitPullRequest = const LucideIconData(0xf1d1); + static const IconData github = const LucideIconData(0xf1d2); + static const IconData gitlab = const LucideIconData(0xf1d3); + static const IconData glasses = const LucideIconData(0xf1d4); + static const IconData globe = const LucideIconData(0xf1d5); + static const IconData globe2 = const LucideIconData(0xf1d6); + static const IconData grab = const LucideIconData(0xf1d7); + static const IconData grid = const LucideIconData(0xf1d8); + static const IconData gripHorizontal = const LucideIconData(0xf1d9); + static const IconData gripVertical = const LucideIconData(0xf1da); + static const IconData hammer = const LucideIconData(0xf1db); + static const IconData hand = const LucideIconData(0xf1dc); + static const IconData handMetal = const LucideIconData(0xf1dd); + static const IconData hardDrive = const LucideIconData(0xf1de); + static const IconData hardHat = const LucideIconData(0xf1df); + static const IconData hash = const LucideIconData(0xf1e0); + static const IconData haze = const LucideIconData(0xf1e1); + static const IconData headphones = const LucideIconData(0xf1e2); + static const IconData heart = const LucideIconData(0xf1e3); + static const IconData helpCircle = const LucideIconData(0xf1e4); + static const IconData hexagon = const LucideIconData(0xf1e5); + static const IconData highlighter = const LucideIconData(0xf1e6); + static const IconData history = const LucideIconData(0xf1e7); + static const IconData home = const LucideIconData(0xf1e8); + static const IconData image = const LucideIconData(0xf1e9); + static const IconData imageMinus = const LucideIconData(0xf1ea); + static const IconData imageOff = const LucideIconData(0xf1eb); + static const IconData imagePlus = const LucideIconData(0xf1ec); + static const IconData import = const LucideIconData(0xf1ed); + static const IconData inbox = const LucideIconData(0xf1ee); + static const IconData indent = const LucideIconData(0xf1ef); + static const IconData indianRupee = const LucideIconData(0xf1f0); + static const IconData infinity = const LucideIconData(0xf1f1); + static const IconData info = const LucideIconData(0xf1f2); + static const IconData inspect = const LucideIconData(0xf1f3); + static const IconData instagram = const LucideIconData(0xf1f4); + static const IconData italic = const LucideIconData(0xf1f5); + static const IconData jerseyPound = const LucideIconData(0xf1f6); + static const IconData key = const LucideIconData(0xf1f7); + static const IconData languages = const LucideIconData(0xf1f8); + static const IconData laptop = const LucideIconData(0xf1f9); + static const IconData laptop2 = const LucideIconData(0xf1fa); + static const IconData lasso = const LucideIconData(0xf1fb); + static const IconData lassoSelect = const LucideIconData(0xf1fc); + static const IconData layers = const LucideIconData(0xf1fd); + static const IconData layout = const LucideIconData(0xf1fe); + static const IconData layoutDashboard = const LucideIconData(0xf1ff); + static const IconData layoutGrid = const LucideIconData(0xf200); + static const IconData layoutList = const LucideIconData(0xf201); + static const IconData layoutTemplate = const LucideIconData(0xf202); + static const IconData library = const LucideIconData(0xf203); + static const IconData lifeBuoy = const LucideIconData(0xf204); + static const IconData lightbulb = const LucideIconData(0xf205); + static const IconData lightbulbOff = const LucideIconData(0xf206); + static const IconData link = const LucideIconData(0xf207); + static const IconData link2 = const LucideIconData(0xf208); + static const IconData link2Off = const LucideIconData(0xf209); + static const IconData linkedin = const LucideIconData(0xf20a); + static const IconData list = const LucideIconData(0xf20b); + static const IconData listChecks = const LucideIconData(0xf20c); + static const IconData listOrdered = const LucideIconData(0xf20d); + static const IconData loader = const LucideIconData(0xf20e); + static const IconData loader2 = const LucideIconData(0xf20f); + static const IconData locate = const LucideIconData(0xf210); + static const IconData locateFixed = const LucideIconData(0xf211); + static const IconData lock = const LucideIconData(0xf212); + static const IconData logIn = const LucideIconData(0xf213); + static const IconData logOut = const LucideIconData(0xf214); + static const IconData mail = const LucideIconData(0xf215); + static const IconData map = const LucideIconData(0xf216); + static const IconData mapPin = const LucideIconData(0xf217); + static const IconData maximize = const LucideIconData(0xf218); + static const IconData maximize2 = const LucideIconData(0xf219); + static const IconData meh = const LucideIconData(0xf21a); + static const IconData menu = const LucideIconData(0xf21b); + static const IconData messageCircle = const LucideIconData(0xf21c); + static const IconData messageSquare = const LucideIconData(0xf21d); + static const IconData mic = const LucideIconData(0xf21e); + static const IconData micOff = const LucideIconData(0xf21f); + static const IconData minimize = const LucideIconData(0xf220); + static const IconData minimize2 = const LucideIconData(0xf221); + static const IconData minus = const LucideIconData(0xf222); + static const IconData minusCircle = const LucideIconData(0xf223); + static const IconData minusSquare = const LucideIconData(0xf224); + static const IconData monitor = const LucideIconData(0xf225); + static const IconData monitorOff = const LucideIconData(0xf226); + static const IconData monitorSpeaker = const LucideIconData(0xf227); + static const IconData moon = const LucideIconData(0xf228); + static const IconData moreHorizontal = const LucideIconData(0xf229); + static const IconData moreVertical = const LucideIconData(0xf22a); + static const IconData mountain = const LucideIconData(0xf22b); + static const IconData mountainSnow = const LucideIconData(0xf22c); + static const IconData mousePointer = const LucideIconData(0xf22d); + static const IconData mousePointer2 = const LucideIconData(0xf22e); + static const IconData mousePointerClick = const LucideIconData(0xf22f); + static const IconData move = const LucideIconData(0xf230); + static const IconData moveDiagonal = const LucideIconData(0xf231); + static const IconData moveDiagonal2 = const LucideIconData(0xf232); + static const IconData moveHorizontal = const LucideIconData(0xf233); + static const IconData moveVertical = const LucideIconData(0xf234); + static const IconData music = const LucideIconData(0xf235); + static const IconData navigation = const LucideIconData(0xf236); + static const IconData navigation2 = const LucideIconData(0xf237); + static const IconData network = const LucideIconData(0xf238); + static const IconData octagon = const LucideIconData(0xf239); + static const IconData option = const LucideIconData(0xf23a); + static const IconData outdent = const LucideIconData(0xf23b); + static const IconData package = const LucideIconData(0xf23c); + static const IconData palette = const LucideIconData(0xf23d); + static const IconData paperclip = const LucideIconData(0xf23e); + static const IconData pause = const LucideIconData(0xf23f); + static const IconData pauseCircle = const LucideIconData(0xf240); + static const IconData pauseOctagon = const LucideIconData(0xf241); + static const IconData penTool = const LucideIconData(0xf242); + static const IconData pencil = const LucideIconData(0xf243); + static const IconData percent = const LucideIconData(0xf244); + static const IconData personStanding = const LucideIconData(0xf245); + static const IconData phone = const LucideIconData(0xf246); + static const IconData phoneCall = const LucideIconData(0xf247); + static const IconData phoneForwarded = const LucideIconData(0xf248); + static const IconData phoneIncoming = const LucideIconData(0xf249); + static const IconData phoneMissed = const LucideIconData(0xf24a); + static const IconData phoneOff = const LucideIconData(0xf24b); + static const IconData phoneOutgoing = const LucideIconData(0xf24c); + static const IconData pieChart = const LucideIconData(0xf24d); + static const IconData pipette = const LucideIconData(0xf24e); + static const IconData plane = const LucideIconData(0xf24f); + static const IconData play = const LucideIconData(0xf250); + static const IconData playCircle = const LucideIconData(0xf251); + static const IconData plugZap = const LucideIconData(0xf252); + static const IconData plus = const LucideIconData(0xf253); + static const IconData plusCircle = const LucideIconData(0xf254); + static const IconData plusSquare = const LucideIconData(0xf255); + static const IconData pocket = const LucideIconData(0xf256); + static const IconData podcast = const LucideIconData(0xf257); + static const IconData pointer = const LucideIconData(0xf258); + static const IconData poundSterling = const LucideIconData(0xf259); + static const IconData power = const LucideIconData(0xf25a); + static const IconData powerOff = const LucideIconData(0xf25b); + static const IconData printer = const LucideIconData(0xf25c); + static const IconData qrCode = const LucideIconData(0xf25d); + static const IconData radio = const LucideIconData(0xf25e); + static const IconData radioReceiver = const LucideIconData(0xf25f); + static const IconData redo = const LucideIconData(0xf260); + static const IconData refreshCcw = const LucideIconData(0xf261); + static const IconData refreshCw = const LucideIconData(0xf262); + static const IconData regex = const LucideIconData(0xf263); + static const IconData repeat = const LucideIconData(0xf264); + static const IconData repeat1 = const LucideIconData(0xf265); + static const IconData reply = const LucideIconData(0xf266); + static const IconData replyAll = const LucideIconData(0xf267); + static const IconData rewind = const LucideIconData(0xf268); + static const IconData rotateCcw = const LucideIconData(0xf269); + static const IconData rotateCw = const LucideIconData(0xf26a); + static const IconData rss = const LucideIconData(0xf26b); + static const IconData ruler = const LucideIconData(0xf26c); + static const IconData russianRuble = const LucideIconData(0xf26d); + static const IconData save = const LucideIconData(0xf26e); + static const IconData scale = const LucideIconData(0xf26f); + static const IconData scissors = const LucideIconData(0xf270); + static const IconData screenShare = const LucideIconData(0xf271); + static const IconData screenShareOff = const LucideIconData(0xf272); + static const IconData search = const LucideIconData(0xf273); + static const IconData send = const LucideIconData(0xf274); + static const IconData separatorHorizontal = const LucideIconData(0xf275); + static const IconData separatorVertical = const LucideIconData(0xf276); + static const IconData server = const LucideIconData(0xf277); + static const IconData serverCrash = const LucideIconData(0xf278); + static const IconData serverOff = const LucideIconData(0xf279); + static const IconData settings = const LucideIconData(0xf27a); + static const IconData share = const LucideIconData(0xf27b); + static const IconData share2 = const LucideIconData(0xf27c); + static const IconData sheet = const LucideIconData(0xf27d); + static const IconData shield = const LucideIconData(0xf27e); + static const IconData shieldAlert = const LucideIconData(0xf27f); + static const IconData shieldCheck = const LucideIconData(0xf280); + static const IconData shieldClose = const LucideIconData(0xf281); + static const IconData shieldOff = const LucideIconData(0xf282); + static const IconData shirt = const LucideIconData(0xf283); + static const IconData shoppingBag = const LucideIconData(0xf284); + static const IconData shoppingCart = const LucideIconData(0xf285); + static const IconData shovel = const LucideIconData(0xf286); + static const IconData shrink = const LucideIconData(0xf287); + static const IconData shuffle = const LucideIconData(0xf288); + static const IconData sidebar = const LucideIconData(0xf289); + static const IconData sidebarClose = const LucideIconData(0xf28a); + static const IconData sidebarOpen = const LucideIconData(0xf28b); + static const IconData sigma = const LucideIconData(0xf28c); + static const IconData skipBack = const LucideIconData(0xf28d); + static const IconData skipForward = const LucideIconData(0xf28e); + static const IconData skull = const LucideIconData(0xf28f); + static const IconData slack = const LucideIconData(0xf290); + static const IconData slash = const LucideIconData(0xf291); + static const IconData sliders = const LucideIconData(0xf292); + static const IconData smartphone = const LucideIconData(0xf293); + static const IconData smartphoneCharging = const LucideIconData(0xf294); + static const IconData smile = const LucideIconData(0xf295); + static const IconData snowflake = const LucideIconData(0xf296); + static const IconData sortAsc = const LucideIconData(0xf297); + static const IconData sortDesc = const LucideIconData(0xf298); + static const IconData speaker = const LucideIconData(0xf299); + static const IconData sprout = const LucideIconData(0xf29a); + static const IconData square = const LucideIconData(0xf29b); + static const IconData star = const LucideIconData(0xf29c); + static const IconData starHalf = const LucideIconData(0xf29d); + static const IconData stopCircle = const LucideIconData(0xf29e); + static const IconData strikethrough = const LucideIconData(0xf29f); + static const IconData sun = const LucideIconData(0xf2a0); + static const IconData sunrise = const LucideIconData(0xf2a1); + static const IconData sunset = const LucideIconData(0xf2a2); + static const IconData swissFranc = const LucideIconData(0xf2a3); + static const IconData switchCamera = const LucideIconData(0xf2a4); + static const IconData table = const LucideIconData(0xf2a5); + static const IconData tablet = const LucideIconData(0xf2a6); + static const IconData tag = const LucideIconData(0xf2a7); + static const IconData target = const LucideIconData(0xf2a8); + static const IconData tent = const LucideIconData(0xf2a9); + static const IconData terminal = const LucideIconData(0xf2aa); + static const IconData terminalSquare = const LucideIconData(0xf2ab); + static const IconData thermometer = const LucideIconData(0xf2ac); + static const IconData thermometerSnowflake = const LucideIconData(0xf2ad); + static const IconData thermometerSun = const LucideIconData(0xf2ae); + static const IconData thumbsDown = const LucideIconData(0xf2af); + static const IconData thumbsUp = const LucideIconData(0xf2b0); + static const IconData ticket = const LucideIconData(0xf2b1); + static const IconData timer = const LucideIconData(0xf2b2); + static const IconData toggleLeft = const LucideIconData(0xf2b3); + static const IconData toggleRight = const LucideIconData(0xf2b4); + static const IconData tornado = const LucideIconData(0xf2b5); + static const IconData trash = const LucideIconData(0xf2b6); + static const IconData trash2 = const LucideIconData(0xf2b7); + static const IconData trello = const LucideIconData(0xf2b8); + static const IconData trendingDown = const LucideIconData(0xf2b9); + static const IconData trendingUp = const LucideIconData(0xf2ba); + static const IconData triangle = const LucideIconData(0xf2bb); + static const IconData truck = const LucideIconData(0xf2bc); + static const IconData tv = const LucideIconData(0xf2bd); + static const IconData tv2 = const LucideIconData(0xf2be); + static const IconData twitch = const LucideIconData(0xf2bf); + static const IconData twitter = const LucideIconData(0xf2c0); + static const IconData type = const LucideIconData(0xf2c1); + static const IconData umbrella = const LucideIconData(0xf2c2); + static const IconData underline = const LucideIconData(0xf2c3); + static const IconData undo = const LucideIconData(0xf2c4); + static const IconData unlink = const LucideIconData(0xf2c5); + static const IconData unlink2 = const LucideIconData(0xf2c6); + static const IconData unlock = const LucideIconData(0xf2c7); + static const IconData upload = const LucideIconData(0xf2c8); + static const IconData uploadCloud = const LucideIconData(0xf2c9); + static const IconData user = const LucideIconData(0xf2ca); + static const IconData userCheck = const LucideIconData(0xf2cb); + static const IconData userMinus = const LucideIconData(0xf2cc); + static const IconData userPlus = const LucideIconData(0xf2cd); + static const IconData userX = const LucideIconData(0xf2ce); + static const IconData users = const LucideIconData(0xf2cf); + static const IconData vibrate = const LucideIconData(0xf2d0); + static const IconData video = const LucideIconData(0xf2d1); + static const IconData videoOff = const LucideIconData(0xf2d2); + static const IconData view = const LucideIconData(0xf2d3); + static const IconData voicemail = const LucideIconData(0xf2d4); + static const IconData volume = const LucideIconData(0xf2d5); + static const IconData volume1 = const LucideIconData(0xf2d6); + static const IconData volume2 = const LucideIconData(0xf2d7); + static const IconData volumeX = const LucideIconData(0xf2d8); + static const IconData wallet = const LucideIconData(0xf2d9); + static const IconData watch = const LucideIconData(0xf2da); + static const IconData webcam = const LucideIconData(0xf2db); + static const IconData wifi = const LucideIconData(0xf2dc); + static const IconData wifiOff = const LucideIconData(0xf2dd); + static const IconData wind = const LucideIconData(0xf2de); + static const IconData wrench = const LucideIconData(0xf2df); + static const IconData x = const LucideIconData(0xf2e0); + static const IconData xCircle = const LucideIconData(0xf2e1); + static const IconData xOctagon = const LucideIconData(0xf2e2); + static const IconData xSquare = const LucideIconData(0xf2e3); + static const IconData youtube = const LucideIconData(0xf2e4); + static const IconData zap = const LucideIconData(0xf2e5); + static const IconData zapOff = const LucideIconData(0xf2e6); + static const IconData zoomIn = const LucideIconData(0xf2e7); + static const IconData zoomOut = const LucideIconData(0xf2e8); +} diff --git a/packages/lucide-flutter/lib/src/icon_data.dart b/packages/lucide-flutter/lib/src/icon_data.dart new file mode 100644 index 000000000..5ddfcb9e7 --- /dev/null +++ b/packages/lucide-flutter/lib/src/icon_data.dart @@ -0,0 +1,10 @@ +import 'package:flutter/widgets.dart'; + +class LucideIconData extends IconData { + const LucideIconData(int codePoint) + : super( + codePoint, + fontFamily: 'Lucide', + fontPackage: 'lucide_icons', + ); +} diff --git a/packages/lucide-flutter/pubspec.yaml b/packages/lucide-flutter/pubspec.yaml new file mode 100644 index 000000000..1699b1ba7 --- /dev/null +++ b/packages/lucide-flutter/pubspec.yaml @@ -0,0 +1,29 @@ +name: lucide_icons +description: Lucide icon pack for Flutter +version: 0.15.28 +homepage: https://lucide.dev +repository: https://github.com/lucide-icons/lucide + +environment: + sdk: ">=2.12.0 <3.0.0" + flutter: ">=1.17.0" + +dependencies: + flutter: + sdk: flutter + +dev_dependencies: + flutter_test: + sdk: flutter + + html: ^0.15.0 + recase: ^4.0.0 + + lint: ^1.5.3 + + +flutter: + fonts: + - family: Lucide + fonts: + - asset: assets/Lucide.ttf diff --git a/packages/lucide-flutter/tool/generate_fonts.dart b/packages/lucide-flutter/tool/generate_fonts.dart new file mode 100644 index 000000000..f30d437d7 --- /dev/null +++ b/packages/lucide-flutter/tool/generate_fonts.dart @@ -0,0 +1,49 @@ +import "dart:io"; + +import 'package:html/parser.dart' show parse; +import 'package:recase/recase.dart'; + +void main(List args) { + File fontsPreviewFile = File(args[0]); + + if (!fontsPreviewFile.existsSync()) { + print('lucide preview file not found'); + exit(0); + } + + String content = fontsPreviewFile.readAsStringSync(); + final c = parse(content); + final list = c.getElementsByClassName('glyph'); + + List generatedOutput = [ + "library lucide_icons;\n", + "import \"package:flutter/widgets.dart\";\n", + "import \"src/icon_data.dart\";\n\n", + "// THIS FILE IS AUTOMATICALLY GENERATED!\n\n", + "class LucideIcons {\n" + ]; + + for (final icon in list) { + final name = icon + .getElementsByClassName('class') + .first + .attributes['value']! + .replaceFirst('.icon-', ''); + final val = icon + .getElementsByClassName('point') + .first + .attributes['value']! + .replaceFirst('&#x', '') + .replaceFirst(';', ''); + + generatedOutput.add( + "static const IconData ${ReCase(name).camelCase} = const LucideIconData(0x$val);\n"); + + print('$val $name'); + } + + generatedOutput.add("}\n"); + + File output = File('./lib/lucide_icons.dart'); + output.writeAsStringSync(generatedOutput.join()); +}