steeze-ui / icons Goto Github PK
View Code? Open in Web Editor NEWEffortless Icon Packs & Components for Svelte, React, Vue and more..
License: MIT License
Effortless Icon Packs & Components for Svelte, React, Vue and more..
License: MIT License
It appears as though Feather is dead and the community has moved to Lucide. Per Lucide,
Community-run fork of Feather Icons, open for anyone to contribute icons.
It began after growing disaffection with the Feather Icons project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
Lucide is trying to expand the icon set as much as possible while staying faithful to the original simplistic design language. We do this as a community of devs and designers and hope that you'll join us!
Why choose Lucide over Feather Icons
- More icons to work with: Lucide already has hundreds of icons more than Feather does.
- Official librairies and integrations with popular frameworks and design tools.
- Well maintained code base.
- Active community, regularly growing and improving the set.
It would be lovely to replace the Feather icon pack in Steeze with the Lucide version.
I must say it's a great library!
Could you export the IconSource
type to use in our components?
It was just released
It's planned but I see no activity. Can I help in some way?
HeroIcons released a new theme 'micro'
so that should be added to. Happy to contribute a PR with these updates: https://heroicons.com/micro
Hi! Using Svelte 3.44.0 (with SvelteKit and TypeScript), tried to use this library I have successfully used in the past but it keeps failing with the following error (looks like a duplicate of #14 but I manage to reproduce it over and over):
Unknown file extension ".svelte" for /home/dreamscached/.../project/node_modules/@steeze-ui/svelte-icon/Icon.svelte
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".svelte" for /home/dreamscached/.../project/node_modules/@steeze-ui/svelte-icon/Icon.svelte
at new NodeError (node:internal/errors:372:5)
at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:76:11)
at defaultGetFormat (node:internal/modules/esm/get_format:118:38)
at defaultLoad (node:internal/modules/esm/load:21:20)
at ESMLoader.load (node:internal/modules/esm/loader:407:26)
at ESMLoader.moduleProvider (node:internal/modules/esm/loader:326:22)
at new ModuleJob (node:internal/modules/esm/module_job:66:26)
at ESMLoader.#createModuleJob (node:internal/modules/esm/loader:345:17)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:304:34)
at async ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:82:21)
Basically:
npm create svelte@latest
npm i -D @steeze-ui/icons
.svelte
file:
<script lang="ts">
import { Icon } from "@steeze-ui/svelte-icon"
import { Sun } from "@steeze-ui/heroicons"
</script>
<div class="w-screen">
<div class="flex flex-row-reverse w-full">
<button class="rounded-full">
<Icon src="{Sun}" theme="solid" class="color-gray-900" />
</button>
</div>
</div>
I'd do it myself, but I can't seem to understand how exactly can I add a new builder. When I install the dependencies of the monoreop with pnpm, I can't run the template builder sveltekit app - perhaps I'm missing some steps?
"Material Icons / Material Symbols
These are two different official icon sets from Google, using the same underlying designs. Material Icons is the classic set, while Material Symbols was introduced in April 2022, built on variable font technology."
Sources:
https://github.com/google/material-design-icons
https://fonts.google.com/icons
I think the Phosphor icon pack could be updated to v ^2.1 https://github.com/steeze-ui/icons/blob/main/packages/builders/phosphor-icons/package.json#L33.
Thanks ππ»
Made an attempt to migrate our Sveltekit project from svelte-hero-icons
Installed @steeze-ui/svelte-icon
and @steeze-ui/heroicons
, followed the instructions and got
(I tried with deps in devDependencies
and dependencies
)
Uncaught (in promise) SyntaxError: The requested module '/node_modules/.vite/deps/@steeze-ui_heroicons.js?v=4ed4dd65' does not provide an export named 'Logout' (at index.svelte? [sm]:6:12)
Given the following Svelte component:
<script>
import { Icon } from '@steeze-ui/svelte-icon';
import { UserCircle } from '@steeze-ui/heroicons';
</script>
<Icon src={UserCircle} class="color-red" size="24" />
<Icon src={UserCircle} class="color-green" size="24" theme="solid" />
<Icon src={UserCircle} class="color-blue" size="24" theme="outline" />
The red and green icons are output. But blue icon is not. My expectation would be for the blue icon to output using the default theme. Alternatively, warn the user.
The terminal outputs this warning when the @steeze-ui/[email protected] package is installed:
[vite-plugin-svelte] WARNING: The following packages use a svelte resolve configuration in package.json that has conflicting results and is going to cause problems future.
@steeze-ui/[email protected]
Please see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#conflicts-in-svelte-resolve for details.
I think the Icon needs to be added to the index.d.ts in order to fix this issue for svelte with typescript.
Happy to contribute this PR if there's interest: https://github.com/aaronfagan/svg-credit-card-payment-icons
Hey! I'm having trouble importing the icons in my solidjs projects.
Steps to reproduce:
yarn create solid # then y to everything
yarn add @steeze-ui/heroicons
yarn add -D @steeze-ui/solid-icon
Then import the icons as such in index.tsx
import { Icon } from "@steeze-ui/solid-icon";
import { Eye } from "@steeze-ui/heroicons";
import { Title } from "solid-start";
import Counter from "~/components/Counter";
export default function Home() {
return (
<main>
<Title>Hello World</Title>
<h1 class="text-3xl font-bold underline">Hello world!</h1>
<Counter />
<p>
Visit{" "}
<a href="https://start.solidjs.com" target="_blank">
start.solidjs.com
</a>{" "}
to learn how to build SolidStart apps.
</p>
<Icon src={Eye} theme="solid" class="color-gray-900" />
</main>
);
}
And I receive this error when running yarn dev
:
@steeze-ui/solid-icon doesn't appear to be written in CJS, but also doesn't appear to be a valid ES module (i.e. it doesn't have "type": "module" or an .mjs extension for the entry point). Please contact the package author to fix.
(node:2004606) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
I'd appreciate some help getting it to work though, thank you!
I'm only after the icons, not the components. I install like....
pnpm i @steeze-ui/svelte-icon
dependencies:
+ @steeze-ui/svelte-icon 1.5.0
devDependencies:
+ @steeze-ui/components 1.2.0
βWARNβ Issues with peer dependencies found
.
βββ¬ @steeze-ui/components 1.2.0
βββ β unmet peer svelte@">= ^3.46.3": found 4.2.0
Looks like they are in node_modules though.
Build failed with 1 error:
node_modules/vite/dist/node/chunks/dep-0351185a.js:29941:7: error: [plugin: vite:dep-scan] Missing "./index.js" export in "@steeze-ui/heroicons" package
Noticed the packages have fallen behind the source icon versions. Is there an automated process for building and publishing new versions?
I'm new to Svelte but I couldn't see a way to add a click handler onto the icon.
<Icon on:click={} />
Didn't seem to work.
I am huge fan of your work!
This is showing planned. We have to use VueJs for our new project.
Any ideas if we can use @steeze-ui/vue-icon in our project.
I think the Phosphor icon pack could be updated to v ^2.0.2
https://github.com/steeze-ui/icons/blob/main/packages/builders/phosphor-icons/package.json#L33.
Filing this issue because I want to call some unexpected behavior. We're using tailwind and @steeze-ui/svelte-icon in a sveltekit app.
When adding the padding tailwind classes, the icon size changes.
So <Icon class="w-6 h-6 pr-2" />
creates an icon with properties <Icon class="w-4 h-4 mr-2" />
Maybe it's WAI because we want the icon size to be constant, because technically w-6 h-6 pr-2
would have a width of w-8
, but I wanted to file this issue because it does not behave like other libraries we use.
The names used by Steeze UI are not consistent with the names of the underlying icon packs.
This is not an issue, but it seems hard to find what the actual names are.
For example, in SimpleIcons, there is an npm logo named npm
and in Steeze UI this is called Npm
(note capitalization).
Is there a good way to discover these names? Or perhaps a pattern that Steeze UI uses that can be documented?
Would be great to have the latest updates of the icon packs, some (especially lucide) are quite outdated at this point. Perhaps even making an Actions job to do this automatically?
Is it possible to use svelte's transition:draw
with the Icon
component? If so, how would you recommend going about it?
I tried looking through the source code, but still can't really figure out how to inject transition:draw
into the path
element. Thank you!
hi there, Tabler icons come with a filled version too. Are these available via steeze-ui/icons?
<script>
import { Icon } from "@steeze-ui/svelte-icon"
import { ArrowOutward } from "@steeze-ui/material-design-icons"
import { Javascript } from "@steeze-ui/simple-icons"
</script>
<section>
<Icon src={Javascript} class="w-6 text-red-500" />
<Icon src={ArrowOutward} class="w-6 text-red-500" />
</section>
Hello! I can't change color of ArrowOutward icon with "text-red-500" class, but I can change color of Javascript icon by using the "text-red-500" class.Β
As mentioned in #49, a step to publish the packages to NPM should be added. Something which only the maintainer of the NPM packages can do.
When putting an icon inside an <a>
tag, it will not be displayed, while doing the same with an svg for instance works. For it to be initially displayed, you need to add text inside it.
Hello! a while ago I've created a package called svelte-remix-icons , inspired by svelte-hero-icons.
I was wondering if it is possible to implement the remix icons pack into this project so everyone can directly use this package.
Do you already have a convenient way to take an svg and convert it into the IconThemeSource format that is ready to be used with the Icon component?
Hi there, the package.json
file indicates that the license for this package is supposed to be MIT.
Is this correct, and if so, could you perhaps make it explicit by adding a license to the repository so we know where copyright should be attributed.
Remix had a new version release recently. Would it be possible to update to v4?
Pulled down repo and followed instructions in README:
pnpm install && pnpm package
I see two warnings on the install which I ignored. The package
command, however fails with:
Scope: 10 of 11 workspace projects
packages/builders/octicons-builder package$ pnpm build:icons && svelte-kit package
β > @steeze-ui/[email protected] build:icons /home/vhs/Developer/icons/packages/builders/octicons-builder
β > node --loader ts-node/esm build.ts
β (node:75521) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time
β (Use `node --trace-warnings ...` to show where the warning was created)
β /home/vhs/Developer/icons/node_modules/.pnpm/[email protected]_cb9fa2b677905e47db2aeff929cdeb55/node_modules/ts-node/dist-raw/node-esm-resolve-implementatio
β throw new ERR_MODULE_NOT_FOUND(
β ^
β CustomError: Cannot find module '/home/vhs/Developer/icons/packages/builders/octicons-builder/node_modules/@steeze-ui/icons/dist/index.js' imported from
β at finalizeResolution (/home/vhs/Developer/icons/node_modules/.pnpm/[email protected]_cb9fa2b677905e47db2aeff929cdeb55/node_modules/ts-node/dist-raw/nod
β at moduleResolve (/home/vhs/Developer/icons/node_modules/.pnpm/[email protected]_cb9fa2b677905e47db2aeff929cdeb55/node_modules/ts-node/dist-raw/node-esm
β at Object.defaultResolve (/home/vhs/Developer/icons/node_modules/.pnpm/[email protected]_cb9fa2b677905e47db2aeff929cdeb55/node_modules/ts-node/dist-raw/
β at /home/vhs/Developer/icons/node_modules/.pnpm/[email protected]_cb9fa2b677905e47db2aeff929cdeb55/node_modules/ts-node/src/esm.ts:152:38
β at Generator.next (<anonymous>)
β at /home/vhs/Developer/icons/node_modules/.pnpm/[email protected]_cb9fa2b677905e47db2aeff929cdeb55/node_modules/ts-node/dist/esm.js:8:71
β at new Promise (<anonymous>)
β at __awaiter (/home/vhs/Developer/icons/node_modules/.pnpm/[email protected]_cb9fa2b677905e47db2aeff929cdeb55/node_modules/ts-node/dist/esm.js:4:12)
β at resolve (/home/vhs/Developer/icons/node_modules/.pnpm/[email protected]_cb9fa2b677905e47db2aeff929cdeb55/node_modules/ts-node/dist/esm.js:48:16)
β at ESMLoader.resolve (node:internal/modules/esm/loader:530:30)
β βELIFECYCLEβ Command failed with exit code 1.
ββ Failed in 1.5s
/home/vhs/Developer/icons/packages/builders/octicons-builder:
βERR_PNPM_RECURSIVE_RUN_FIRST_FAILβ @steeze-ui/[email protected] package: `pnpm build:icons && svelte-kit package`
Exit status 1
βELIFECYCLEβ Command failed with exit code 1.
Node 17.3
pnpm 6.28.0
npm 8.3.2
GNU/Linux 5.15.11
It's a really beautiful set and I think it would be great to be included.
<script>
import { Icon } from '@steeze-ui/svelte-icon';
</script>
=> Unknown file extension ".svelte" for [...]/node_modules/@steeze-ui/svelte-icon/Icon.svelte
Also tried import Icon from '@steeze-ui/svelte-icon/Icon.svelte'
but that doesn't work either.
Brand new install of Sveltekit with Vite 3.0.9
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.