Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1390dfae4d | ||
|
|
ce0d323bd5 | ||
|
|
7bf1833ea2 | ||
|
|
de97e02427 | ||
|
|
2e9c7870bd | ||
|
|
fe656731fd | ||
|
|
0ea6cdc930 | ||
|
|
71c6a6927c | ||
|
|
30e777f856 | ||
|
|
71eba27c92 | ||
|
|
1221b5628b | ||
|
|
6fdef06b75 | ||
|
|
e7865e25e7 | ||
|
|
8a30bc5990 | ||
|
|
d0c4891480 | ||
|
|
20b077a05f | ||
|
|
ea1793a0fa | ||
|
|
3b0d30ed04 | ||
|
|
3055fbb955 | ||
|
|
e38f82501d | ||
|
|
55931e9f13 | ||
|
|
40f345b0d2 | ||
|
|
60c3aecc34 | ||
|
|
cdc14e8ddd | ||
|
|
5207219415 |
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
// Place your phosphor-web workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
|
// Place your phosphor-home workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
|
||||||
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
|
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
|
||||||
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
|
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
|
||||||
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
|
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
|
||||||
@@ -25,6 +25,6 @@
|
|||||||
"\tIcon: ${4:icon},",
|
"\tIcon: ${4:icon},",
|
||||||
"},"
|
"},"
|
||||||
],
|
],
|
||||||
"description": "Create an IconEntry for phosphor-web"
|
"description": "Create an IconEntry for phosphor-home"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
10
README.md
10
README.md
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really.
|
Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really.
|
||||||
|
|
||||||
- 588 icons and counting
|
- 683 icons and counting
|
||||||
- 6 weights: **Thin**, **Light**, **Regular**, **Bold**, **Fill**, and **Duotone**
|
- 6 weights: **Thin**, **Light**, **Regular**, **Bold**, **Fill**, and **Duotone**
|
||||||
- Designed at 16 x 16px to read well small and scale up big
|
- Designed at 16 x 16px to read well small and scale up big
|
||||||
- Raw stroke information retained to fine-tune the style
|
- Raw stroke information retained to fine-tune the style
|
||||||
@@ -67,9 +67,9 @@ ReactDOM.render(<App />, document.getElementById("root"));
|
|||||||
```html
|
```html
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<PhHorse />
|
<ph-horse />
|
||||||
<PhHeart :size="32" color="hotpink" weight="fill" />
|
<ph-heart :size="32" color="hotpink" weight="fill" />
|
||||||
<PhCube />
|
<ph-cube />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ ReactDOM.render(<App />, document.getElementById("root"));
|
|||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Note:** Due to possible namespace collisions with built-in HTML elements, compononent names in the Vue library are prefixed with `Ph`, but otherwise follow the same naming conventions.
|
> **Note:** Due to possible namespace collisions with built-in HTML elements, compononent names in the Vue library are prefixed with `Ph`, but otherwise follow the same naming conventions. Both Pascal and kebab-case conventions can be used in templates.
|
||||||
|
|
||||||
## Related Projects
|
## Related Projects
|
||||||
|
|
||||||
|
|||||||
17
package.json
17
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "phosphor-web",
|
"name": "phosphor-home",
|
||||||
"version": "1.0.0",
|
"version": "1.1.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"homepage": "https://phosphoricons.com",
|
"homepage": "https://phosphoricons.com",
|
||||||
"author": {
|
"author": {
|
||||||
@@ -18,21 +18,20 @@
|
|||||||
"UI",
|
"UI",
|
||||||
"UX"
|
"UX"
|
||||||
],
|
],
|
||||||
"repository": "github:phosphor-icons/phosphor-web",
|
"repository": "github:phosphor-icons/phosphor-home",
|
||||||
"private": false,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"file-saver": "^2.0.2",
|
"file-saver": "^2.0.2",
|
||||||
"framer-motion": "^2.1.0",
|
"framer-motion": "^2.1.0",
|
||||||
"fuse.js": "^6.4.1",
|
"fuse.js": "^6.4.1",
|
||||||
"phosphor-icons": "^1.0.0",
|
"phosphor-react": "^1.1.2",
|
||||||
"phosphor-react": "^0.6.0",
|
"react": "^17.0.1",
|
||||||
"react": "^17.0.0-rc.0",
|
"react-dom": "^17.0.1",
|
||||||
"react-dom": "^17.0.0-rc.0",
|
|
||||||
"react-dropdown-select": "^4.4.2",
|
"react-dropdown-select": "^4.4.2",
|
||||||
"react-ga": "^3.1.2",
|
"react-ga": "^3.1.2",
|
||||||
"react-scripts": "3.4.1",
|
"react-scripts": "3.4.1",
|
||||||
"react-use": "^15.3.2",
|
"react-use": "^15.3.2",
|
||||||
"recoil": "^0.0.13",
|
"recoil": "^0.1.2",
|
||||||
"svg2png-converter": "^1.0.0",
|
"svg2png-converter": "^1.0.0",
|
||||||
"tinycolor2": "^1.4.1"
|
"tinycolor2": "^1.4.1"
|
||||||
},
|
},
|
||||||
|
|||||||
9
public/.htaccess
Normal file
9
public/.htaccess
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
RewriteEngine On
|
||||||
|
RewriteCond %{HTTPS} !=on
|
||||||
|
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
|
||||||
|
|
||||||
|
Options +SymLinksIfOwnerMatch
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteRule . /index.html [L]
|
||||||
@@ -18,7 +18,21 @@
|
|||||||
itemprop="description"
|
itemprop="description"
|
||||||
content="A flexible icon family for interfaces, diagrams, presentations — whatever, really."
|
content="A flexible icon family for interfaces, diagrams, presentations — whatever, really."
|
||||||
/>
|
/>
|
||||||
<meta itemprop="image" content="https://phosphoricons.com/phosphor-opengraph.png" />
|
<meta
|
||||||
|
itemprop="image"
|
||||||
|
content="https://phosphoricons.com/phosphor-opengraph.png"
|
||||||
|
/>
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Project",
|
||||||
|
"url": "https://phosphoricons.com",
|
||||||
|
"email": "hello@phosphoricons.com",
|
||||||
|
"location": "Brooklyn, NY",
|
||||||
|
"description": "A flexible icon family for interfaces, diagrams, presentations — whatever, really.",
|
||||||
|
"logo": "https://phosphoricons.com/favicon-512.png"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<!-- FACEBOOK META -->
|
<!-- FACEBOOK META -->
|
||||||
<meta property="og:title" content="Phosphor Icons" />
|
<meta property="og:title" content="Phosphor Icons" />
|
||||||
@@ -29,7 +43,10 @@
|
|||||||
/>
|
/>
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="https://phosphoricons.com" />
|
<meta property="og:url" content="https://phosphoricons.com" />
|
||||||
<meta property="og:image" content="https://phosphoricons.com/phosphor-opengraph.png" />
|
<meta
|
||||||
|
property="og:image"
|
||||||
|
content="https://phosphoricons.com/phosphor-opengraph.png"
|
||||||
|
/>
|
||||||
<meta property="og:image:type" content="image/png" />
|
<meta property="og:image:type" content="image/png" />
|
||||||
<meta property="og:image:alt" content="Phosphor Icons logo" />
|
<meta property="og:image:alt" content="Phosphor Icons logo" />
|
||||||
<meta property="og:image:width" content="1200" />
|
<meta property="og:image:width" content="1200" />
|
||||||
@@ -42,7 +59,10 @@
|
|||||||
name="twitter:description"
|
name="twitter:description"
|
||||||
content="A flexible icon family for interfaces, diagrams, presentations — whatever, really."
|
content="A flexible icon family for interfaces, diagrams, presentations — whatever, really."
|
||||||
/>
|
/>
|
||||||
<meta name="twitter:image" content="https://phosphoricons.com/phosphor-opengraph.png" />
|
<meta
|
||||||
|
name="twitter:image"
|
||||||
|
content="https://phosphoricons.com/phosphor-opengraph.png"
|
||||||
|
/>
|
||||||
<meta name="twitter:site" content="@_phosphoricons" />
|
<meta name="twitter:site" content="@_phosphoricons" />
|
||||||
<meta name="twitter:creator" content="@friedtm" />
|
<meta name="twitter:creator" content="@friedtm" />
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ const Footer: React.FC<FooterProps> = () => {
|
|||||||
Phosphor is free and open-source, licensed under{" "}
|
Phosphor is free and open-source, licensed under{" "}
|
||||||
<a
|
<a
|
||||||
className="main-link"
|
className="main-link"
|
||||||
href="https://raw.githubusercontent.com/phosphor-icons/phosphor-web/master/LICENSE"
|
href="https://raw.githubusercontent.com/phosphor-icons/phosphor-home/master/LICENSE"
|
||||||
>
|
>
|
||||||
MIT
|
MIT
|
||||||
</a>
|
</a>
|
||||||
@@ -82,7 +82,7 @@ const Footer: React.FC<FooterProps> = () => {
|
|||||||
Helena Zhang
|
Helena Zhang
|
||||||
</a>{" "}
|
</a>{" "}
|
||||||
and built by{" "}
|
and built by{" "}
|
||||||
<a className="main-link" href="https://github.com/rektdeckard">
|
<a className="main-link" href="https://tobiasfried.com">
|
||||||
Toby Fried
|
Toby Fried
|
||||||
</a>{" "}
|
</a>{" "}
|
||||||
<span
|
<span
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ type HeaderProps = {};
|
|||||||
|
|
||||||
const handleGetStarted = () =>
|
const handleGetStarted = () =>
|
||||||
window.open(
|
window.open(
|
||||||
"https://github.com/phosphor-icons/phosphor-web#phosphor-icons",
|
"https://github.com/phosphor-icons/phosphor-home#phosphor-icons",
|
||||||
"_blank",
|
"_blank",
|
||||||
"noopener noreferrer"
|
"noopener noreferrer"
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -82,7 +82,10 @@ const DetailsPanel: React.FC<InfoPanelProps> = (props) => {
|
|||||||
react: `<${Icon.displayName} size={${size}} ${
|
react: `<${Icon.displayName} size={${size}} ${
|
||||||
color !== "#000000" ? `color="${color}" ` : ""
|
color !== "#000000" ? `color="${color}" ` : ""
|
||||||
}${weight === "regular" ? "" : `weight="${weight}" `}/>`,
|
}${weight === "regular" ? "" : `weight="${weight}" `}/>`,
|
||||||
vue: `<Ph${Icon.displayName} :size="${size}" ${
|
vue: `<ph${Icon.displayName!!.replace(
|
||||||
|
/([a-z0-9]|(?=[A-Z]))([A-Z])/g,
|
||||||
|
"$1-$2"
|
||||||
|
).toLowerCase()} :size="${size}" ${
|
||||||
color !== "#000000" ? `color="${color}" ` : ""
|
color !== "#000000" ? `color="${color}" ` : ""
|
||||||
}${weight === "regular" ? "" : `weight="${weight}" `}/>`,
|
}${weight === "regular" ? "" : `weight="${weight}" `}/>`,
|
||||||
};
|
};
|
||||||
@@ -122,7 +125,7 @@ const DetailsPanel: React.FC<InfoPanelProps> = (props) => {
|
|||||||
Svg2Png.save(
|
Svg2Png.save(
|
||||||
ref.current,
|
ref.current,
|
||||||
`${name}${weight === "regular" ? "" : `-${weight}`}.png`,
|
`${name}${weight === "regular" ? "" : `-${weight}`}.png`,
|
||||||
{ scaleX: 1.334, scaleY: 1.334 }
|
{ scaleX: 2.667, scaleY: 2.667 }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -230,7 +233,7 @@ const DetailsPanel: React.FC<InfoPanelProps> = (props) => {
|
|||||||
) : (
|
) : (
|
||||||
<Copy size={32} color="currentColor" weight="fill" />
|
<Copy size={32} color="currentColor" weight="fill" />
|
||||||
)}
|
)}
|
||||||
{copied === "svg" ? "Copied!" : "Copy to design software"}
|
{copied === "svg" ? "Copied!" : "Copy SVG"}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
.grid-container {
|
.grid-container {
|
||||||
padding: 32px 16px;
|
padding: 32px 16px;
|
||||||
min-height: 80vh;
|
min-height: 80vh;
|
||||||
|
content-visibility: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid {
|
.grid {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import TagCloud from "./TagCloud";
|
|||||||
import Notice from "../Notice/Notice";
|
import Notice from "../Notice/Notice";
|
||||||
import "./IconGrid.css";
|
import "./IconGrid.css";
|
||||||
|
|
||||||
const defaultSearchTags = ["communication", "editor", "emoji", "maps", "weather"];
|
const defaultSearchTags = ["*new*", "communication", "editor", "emoji", "maps", "weather"];
|
||||||
|
|
||||||
type IconGridProps = {};
|
type IconGridProps = {};
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,26 @@ const Links: React.FC<LinksProps> = () => {
|
|||||||
</OutboundLink>
|
</OutboundLink>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
<ArrowElbowDownRight size={24} />
|
||||||
|
<span>
|
||||||
|
<OutboundLink
|
||||||
|
className="nav-link"
|
||||||
|
to="https://www.figma.com/community/file/903830135544202908/Phosphor-Icons"
|
||||||
|
eventLabel="Figma library"
|
||||||
|
>
|
||||||
|
Figma library
|
||||||
|
</OutboundLink>
|
||||||
|
{" / "}
|
||||||
|
<OutboundLink
|
||||||
|
className="nav-link"
|
||||||
|
to="https://www.figma.com/community/plugin/898620911119764089/Phosphor-Icons"
|
||||||
|
eventLabel="Figma plugin"
|
||||||
|
>
|
||||||
|
plugin
|
||||||
|
</OutboundLink>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
{/* <div>
|
||||||
<ArrowElbowDownRight size={24} />
|
<ArrowElbowDownRight size={24} />
|
||||||
<OutboundLink
|
<OutboundLink
|
||||||
className="nav-link"
|
className="nav-link"
|
||||||
@@ -33,21 +53,21 @@ const Links: React.FC<LinksProps> = () => {
|
|||||||
Figma library
|
Figma library
|
||||||
</OutboundLink>
|
</OutboundLink>
|
||||||
</div>
|
</div>
|
||||||
{/* <div>
|
<div>
|
||||||
<ArrowElbowDownRight size={24} />
|
<ArrowElbowDownRight size={24} />
|
||||||
<OutboundLink
|
<OutboundLink
|
||||||
className="nav-link"
|
className="nav-link"
|
||||||
to="https://www.figma.com/community/plugin/892854133443228626/Phosphor-Icons"
|
to="https://www.figma.com/community/plugin/892854133443228626/Phosphor-Icons"
|
||||||
eventLabel="Figma plugin"
|
eventLabel="Figma plugin"
|
||||||
>
|
>
|
||||||
Add Figma plugin
|
Figma plugin
|
||||||
</OutboundLink>
|
</OutboundLink>
|
||||||
</div> */}
|
</div> */}
|
||||||
<div>
|
<div>
|
||||||
<ArrowElbowDownRight size={24} />
|
<ArrowElbowDownRight size={24} />
|
||||||
<a
|
<a
|
||||||
className="nav-link"
|
className="nav-link"
|
||||||
href="https://github.com/phosphor-icons/phosphor-web/issues"
|
href="https://github.com/phosphor-icons/phosphor-home/issues"
|
||||||
>
|
>
|
||||||
Request an icon
|
Request an icon
|
||||||
</a>
|
</a>
|
||||||
@@ -80,9 +100,9 @@ const Links: React.FC<LinksProps> = () => {
|
|||||||
<ArrowElbowDownRight size={24} />
|
<ArrowElbowDownRight size={24} />
|
||||||
<a
|
<a
|
||||||
className="nav-link"
|
className="nav-link"
|
||||||
href="https://github.com/phosphor-icons/phosphor-web"
|
href="https://github.com/phosphor-icons/phosphor-home"
|
||||||
>
|
>
|
||||||
Github
|
GitHub
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
1443
src/lib/icons.ts
1443
src/lib/icons.ts
File diff suppressed because it is too large
Load Diff
@@ -21,7 +21,7 @@ export enum IconCategory {
|
|||||||
FINANCE = "finances",
|
FINANCE = "finances",
|
||||||
GAMES = "games",
|
GAMES = "games",
|
||||||
HEALTH = "health & wellness",
|
HEALTH = "health & wellness",
|
||||||
MAP = "maps & navigation",
|
MAP = "maps & travel",
|
||||||
MEDIA = "media",
|
MEDIA = "media",
|
||||||
NATURE = "nature",
|
NATURE = "nature",
|
||||||
OBJECTS = "objects",
|
OBJECTS = "objects",
|
||||||
|
|||||||
Reference in New Issue
Block a user