foamicons 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -0
- package/dist/index.cjs +76 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +26 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Foamicons
|
|
2
|
+
|
|
3
|
+
A React icon library with 125 icons, optimized for shadcn/ui and Tailwind CSS.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install foamicons
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
import { Heart, ChevronRight, Search } from 'foamicons';
|
|
15
|
+
|
|
16
|
+
// Basic usage
|
|
17
|
+
<Heart />
|
|
18
|
+
|
|
19
|
+
// With Tailwind classes (shadcn pattern)
|
|
20
|
+
<Heart className="h-4 w-4 text-muted-foreground" />
|
|
21
|
+
|
|
22
|
+
// Custom size
|
|
23
|
+
<Heart size={24} />
|
|
24
|
+
|
|
25
|
+
// With color
|
|
26
|
+
<Heart className="text-red-500" />
|
|
27
|
+
|
|
28
|
+
// All SVG props are supported
|
|
29
|
+
<Heart onClick={handleClick} aria-label="Like" />
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Props
|
|
33
|
+
|
|
34
|
+
| Prop | Type | Default | Description |
|
|
35
|
+
| ----------- | ---------------- | ------- | ------------------------------- |
|
|
36
|
+
| `size` | `number\|string` | `16` | Width and height of the icon |
|
|
37
|
+
| `className` | `string` | - | CSS classes (Tailwind-friendly) |
|
|
38
|
+
| `...props` | `SVGProps` | - | Any valid SVG attribute |
|
|
39
|
+
|
|
40
|
+
## Available Icons
|
|
41
|
+
|
|
42
|
+
125 icons included. All icons use `currentColor` for easy styling.
|
|
43
|
+
|
|
44
|
+
## Development
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Generate components from SVGs
|
|
48
|
+
npm run generate
|
|
49
|
+
|
|
50
|
+
# Build the package
|
|
51
|
+
npm run build
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## License
|
|
55
|
+
|
|
56
|
+
MIT
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
|
|
6
|
+
// src/icons/Bell.tsx
|
|
7
|
+
var Bell = react.forwardRef(
|
|
8
|
+
({ size = 16, strokeWidth = 1, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
9
|
+
"svg",
|
|
10
|
+
{
|
|
11
|
+
ref,
|
|
12
|
+
width: size,
|
|
13
|
+
height: size,
|
|
14
|
+
viewBox: "0 0 16 16",
|
|
15
|
+
fill: "none",
|
|
16
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
17
|
+
strokeWidth,
|
|
18
|
+
className: ["foamicon", "foamicon-bell", className].filter(Boolean).join(" "),
|
|
19
|
+
"aria-hidden": "true",
|
|
20
|
+
...props,
|
|
21
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.90469 11.3878C10.9161 11.2678 11.8985 11.0535 12.843 10.7539C13.18 10.647 13.2845 10.2272 13.0817 9.93758C12.4 8.96402 12 7.77873 12 6.5V6.03279C12.0001 6.02187 12.0001 6.01094 12.0001 6C12.0001 3.79086 10.2093 2 8.00012 2C5.79098 2 4.00012 3.79086 4.00012 6L3.99999 6.5C3.99999 7.77873 3.59997 8.96402 2.91825 9.93758C2.71545 10.2272 2.81997 10.647 3.15697 10.7539C4.10154 11.0536 5.08408 11.2679 6.09555 11.3878M9.90469 11.3878C9.28011 11.4619 8.6445 11.5 7.99999 11.5C7.35557 11.5 6.72004 11.4619 6.09555 11.3878M9.90469 11.3878C9.96666 11.5807 10.0001 11.7865 10.0001 12C10.0001 13.1046 9.10469 14 8.00012 14C6.89555 14 6.00012 13.1046 6.00012 12C6.00012 11.7865 6.03358 11.5808 6.09555 11.3878", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
);
|
|
25
|
+
Bell.displayName = "Bell";
|
|
26
|
+
var Block = react.forwardRef(
|
|
27
|
+
({ size = 16, strokeWidth = 1, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
28
|
+
"svg",
|
|
29
|
+
{
|
|
30
|
+
ref,
|
|
31
|
+
width: size,
|
|
32
|
+
height: size,
|
|
33
|
+
viewBox: "0 0 16 16",
|
|
34
|
+
fill: "none",
|
|
35
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
36
|
+
strokeWidth,
|
|
37
|
+
className: ["foamicon", "foamicon-block", className].filter(Boolean).join(" "),
|
|
38
|
+
"aria-hidden": "true",
|
|
39
|
+
...props,
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ jsxRuntime.jsx("g", { clipPath: "url(#clip0_1_14509)", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12.2426 12.2427C9.89949 14.5858 6.10051 14.5858 3.75736 12.2427C1.41421 9.89955 1.41421 6.10056 3.75736 3.75741M12.2426 12.2427C14.5858 9.89955 14.5858 6.10056 12.2426 3.75741C9.89949 1.41427 6.10051 1.41427 3.75736 3.75741M12.2426 12.2427L3.75736 3.75741", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" }) }),
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("clipPath", { id: "clip0_1_14509", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "16", height: "16", fill: "white" }) }) })
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
);
|
|
47
|
+
Block.displayName = "Block";
|
|
48
|
+
var Bookmark = react.forwardRef(
|
|
49
|
+
({ size = 16, strokeWidth = 1, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
50
|
+
"svg",
|
|
51
|
+
{
|
|
52
|
+
ref,
|
|
53
|
+
width: size,
|
|
54
|
+
height: size,
|
|
55
|
+
viewBox: "0 0 16 16",
|
|
56
|
+
fill: "none",
|
|
57
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
58
|
+
strokeWidth,
|
|
59
|
+
className: ["foamicon", "foamicon-bookmark", className].filter(Boolean).join(" "),
|
|
60
|
+
"aria-hidden": "true",
|
|
61
|
+
...props,
|
|
62
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.25 3.75425C4.25 3.51212 4.42325 3.30546 4.66273 3.26968C5.31772 3.17183 6.65886 3 8 3C9.34114 3 10.6823 3.17183 11.3373 3.26968C11.5767 3.30546 11.75 3.51212 11.75 3.75425V12.6058C11.75 13.0808 11.1392 13.2977 10.8308 12.9364C9.91058 11.8586 8.55417 10.3889 8 10.3889C7.44583 10.3889 6.08942 11.8586 5.16924 12.9364C4.86081 13.2977 4.25 13.0808 4.25 12.6058V3.75425Z", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
);
|
|
66
|
+
Bookmark.displayName = "Bookmark";
|
|
67
|
+
|
|
68
|
+
// src/index.ts
|
|
69
|
+
var iconNames = ["Bell", "Block", "Bookmark"];
|
|
70
|
+
|
|
71
|
+
exports.Bell = Bell;
|
|
72
|
+
exports.Block = Block;
|
|
73
|
+
exports.Bookmark = Bookmark;
|
|
74
|
+
exports.iconNames = iconNames;
|
|
75
|
+
//# sourceMappingURL=index.cjs.map
|
|
76
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/icons/Bell.tsx","../src/icons/Block.tsx","../src/icons/Bookmark.tsx","../src/index.ts"],"names":["forwardRef","jsx","jsxs"],"mappings":"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","file":"index.cjs","sourcesContent":["import { forwardRef } from 'react';\nimport type { IconProps } from '../types';\n\nexport const Bell = forwardRef<SVGSVGElement, IconProps>(\n ({ size = 16, strokeWidth = 1, className, ...props }, ref) => (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n strokeWidth={strokeWidth}\n className={['foamicon', 'foamicon-bell', className].filter(Boolean).join(' ')}\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M9.90469 11.3878C10.9161 11.2678 11.8985 11.0535 12.843 10.7539C13.18 10.647 13.2845 10.2272 13.0817 9.93758C12.4 8.96402 12 7.77873 12 6.5V6.03279C12.0001 6.02187 12.0001 6.01094 12.0001 6C12.0001 3.79086 10.2093 2 8.00012 2C5.79098 2 4.00012 3.79086 4.00012 6L3.99999 6.5C3.99999 7.77873 3.59997 8.96402 2.91825 9.93758C2.71545 10.2272 2.81997 10.647 3.15697 10.7539C4.10154 11.0536 5.08408 11.2679 6.09555 11.3878M9.90469 11.3878C9.28011 11.4619 8.6445 11.5 7.99999 11.5C7.35557 11.5 6.72004 11.4619 6.09555 11.3878M9.90469 11.3878C9.96666 11.5807 10.0001 11.7865 10.0001 12C10.0001 13.1046 9.10469 14 8.00012 14C6.89555 14 6.00012 13.1046 6.00012 12C6.00012 11.7865 6.03358 11.5808 6.09555 11.3878\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n )\n);\n\nBell.displayName = 'Bell';\n","import { forwardRef } from 'react';\nimport type { IconProps } from '../types';\n\nexport const Block = forwardRef<SVGSVGElement, IconProps>(\n ({ size = 16, strokeWidth = 1, className, ...props }, ref) => (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n strokeWidth={strokeWidth}\n className={['foamicon', 'foamicon-block', className].filter(Boolean).join(' ')}\n aria-hidden=\"true\"\n {...props}\n >\n <g clipPath=\"url(#clip0_1_14509)\">\n<path d=\"M12.2426 12.2427C9.89949 14.5858 6.10051 14.5858 3.75736 12.2427C1.41421 9.89955 1.41421 6.10056 3.75736 3.75741M12.2426 12.2427C14.5858 9.89955 14.5858 6.10056 12.2426 3.75741C9.89949 1.41427 6.10051 1.41427 3.75736 3.75741M12.2426 12.2427L3.75736 3.75741\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n</g>\n<defs>\n<clipPath id=\"clip0_1_14509\">\n<rect width=\"16\" height=\"16\" fill=\"white\"/>\n</clipPath>\n</defs>\n </svg>\n )\n);\n\nBlock.displayName = 'Block';\n","import { forwardRef } from 'react';\nimport type { IconProps } from '../types';\n\nexport const Bookmark = forwardRef<SVGSVGElement, IconProps>(\n ({ size = 16, strokeWidth = 1, className, ...props }, ref) => (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n strokeWidth={strokeWidth}\n className={['foamicon', 'foamicon-bookmark', className].filter(Boolean).join(' ')}\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M4.25 3.75425C4.25 3.51212 4.42325 3.30546 4.66273 3.26968C5.31772 3.17183 6.65886 3 8 3C9.34114 3 10.6823 3.17183 11.3373 3.26968C11.5767 3.30546 11.75 3.51212 11.75 3.75425V12.6058C11.75 13.0808 11.1392 13.2977 10.8308 12.9364C9.91058 11.8586 8.55417 10.3889 8 10.3889C7.44583 10.3889 6.08942 11.8586 5.16924 12.9364C4.86081 13.2977 4.25 13.0808 4.25 12.6058V3.75425Z\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n )\n);\n\nBookmark.displayName = 'Bookmark';\n","// Auto-generated - do not edit manually\nexport type { IconProps, Icon } from './types';\n\nexport { Bell } from './icons/Bell';\nexport { Block } from './icons/Block';\nexport { Bookmark } from './icons/Bookmark';\n\n// Icon names for tooling\nexport const iconNames = [\"Bell\",\"Block\",\"Bookmark\"] as const;\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { SVGProps, ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface IconProps extends SVGProps<SVGSVGElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Icon size (width and height)
|
|
7
|
+
* @default 16
|
|
8
|
+
*/
|
|
9
|
+
size?: number | string;
|
|
10
|
+
/**
|
|
11
|
+
* Stroke width
|
|
12
|
+
* @default 1
|
|
13
|
+
*/
|
|
14
|
+
strokeWidth?: number | string;
|
|
15
|
+
}
|
|
16
|
+
type Icon = ForwardRefExoticComponent<IconProps & RefAttributes<SVGSVGElement>>;
|
|
17
|
+
|
|
18
|
+
declare const Bell: react.ForwardRefExoticComponent<Omit<IconProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
19
|
+
|
|
20
|
+
declare const Block: react.ForwardRefExoticComponent<Omit<IconProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
21
|
+
|
|
22
|
+
declare const Bookmark: react.ForwardRefExoticComponent<Omit<IconProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
23
|
+
|
|
24
|
+
declare const iconNames: readonly ["Bell", "Block", "Bookmark"];
|
|
25
|
+
|
|
26
|
+
export { Bell, Block, Bookmark, type Icon, type IconProps, iconNames };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { SVGProps, ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface IconProps extends SVGProps<SVGSVGElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Icon size (width and height)
|
|
7
|
+
* @default 16
|
|
8
|
+
*/
|
|
9
|
+
size?: number | string;
|
|
10
|
+
/**
|
|
11
|
+
* Stroke width
|
|
12
|
+
* @default 1
|
|
13
|
+
*/
|
|
14
|
+
strokeWidth?: number | string;
|
|
15
|
+
}
|
|
16
|
+
type Icon = ForwardRefExoticComponent<IconProps & RefAttributes<SVGSVGElement>>;
|
|
17
|
+
|
|
18
|
+
declare const Bell: react.ForwardRefExoticComponent<Omit<IconProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
19
|
+
|
|
20
|
+
declare const Block: react.ForwardRefExoticComponent<Omit<IconProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
21
|
+
|
|
22
|
+
declare const Bookmark: react.ForwardRefExoticComponent<Omit<IconProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
23
|
+
|
|
24
|
+
declare const iconNames: readonly ["Bell", "Block", "Bookmark"];
|
|
25
|
+
|
|
26
|
+
export { Bell, Block, Bookmark, type Icon, type IconProps, iconNames };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { forwardRef } from 'react';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/icons/Bell.tsx
|
|
5
|
+
var Bell = forwardRef(
|
|
6
|
+
({ size = 16, strokeWidth = 1, className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7
|
+
"svg",
|
|
8
|
+
{
|
|
9
|
+
ref,
|
|
10
|
+
width: size,
|
|
11
|
+
height: size,
|
|
12
|
+
viewBox: "0 0 16 16",
|
|
13
|
+
fill: "none",
|
|
14
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
15
|
+
strokeWidth,
|
|
16
|
+
className: ["foamicon", "foamicon-bell", className].filter(Boolean).join(" "),
|
|
17
|
+
"aria-hidden": "true",
|
|
18
|
+
...props,
|
|
19
|
+
children: /* @__PURE__ */ jsx("path", { d: "M9.90469 11.3878C10.9161 11.2678 11.8985 11.0535 12.843 10.7539C13.18 10.647 13.2845 10.2272 13.0817 9.93758C12.4 8.96402 12 7.77873 12 6.5V6.03279C12.0001 6.02187 12.0001 6.01094 12.0001 6C12.0001 3.79086 10.2093 2 8.00012 2C5.79098 2 4.00012 3.79086 4.00012 6L3.99999 6.5C3.99999 7.77873 3.59997 8.96402 2.91825 9.93758C2.71545 10.2272 2.81997 10.647 3.15697 10.7539C4.10154 11.0536 5.08408 11.2679 6.09555 11.3878M9.90469 11.3878C9.28011 11.4619 8.6445 11.5 7.99999 11.5C7.35557 11.5 6.72004 11.4619 6.09555 11.3878M9.90469 11.3878C9.96666 11.5807 10.0001 11.7865 10.0001 12C10.0001 13.1046 9.10469 14 8.00012 14C6.89555 14 6.00012 13.1046 6.00012 12C6.00012 11.7865 6.03358 11.5808 6.09555 11.3878", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
20
|
+
}
|
|
21
|
+
)
|
|
22
|
+
);
|
|
23
|
+
Bell.displayName = "Bell";
|
|
24
|
+
var Block = forwardRef(
|
|
25
|
+
({ size = 16, strokeWidth = 1, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
26
|
+
"svg",
|
|
27
|
+
{
|
|
28
|
+
ref,
|
|
29
|
+
width: size,
|
|
30
|
+
height: size,
|
|
31
|
+
viewBox: "0 0 16 16",
|
|
32
|
+
fill: "none",
|
|
33
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
34
|
+
strokeWidth,
|
|
35
|
+
className: ["foamicon", "foamicon-block", className].filter(Boolean).join(" "),
|
|
36
|
+
"aria-hidden": "true",
|
|
37
|
+
...props,
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ jsx("g", { clipPath: "url(#clip0_1_14509)", children: /* @__PURE__ */ jsx("path", { d: "M12.2426 12.2427C9.89949 14.5858 6.10051 14.5858 3.75736 12.2427C1.41421 9.89955 1.41421 6.10056 3.75736 3.75741M12.2426 12.2427C14.5858 9.89955 14.5858 6.10056 12.2426 3.75741C9.89949 1.41427 6.10051 1.41427 3.75736 3.75741M12.2426 12.2427L3.75736 3.75741", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" }) }),
|
|
40
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "clip0_1_14509", children: /* @__PURE__ */ jsx("rect", { width: "16", height: "16", fill: "white" }) }) })
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
);
|
|
45
|
+
Block.displayName = "Block";
|
|
46
|
+
var Bookmark = forwardRef(
|
|
47
|
+
({ size = 16, strokeWidth = 1, className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
48
|
+
"svg",
|
|
49
|
+
{
|
|
50
|
+
ref,
|
|
51
|
+
width: size,
|
|
52
|
+
height: size,
|
|
53
|
+
viewBox: "0 0 16 16",
|
|
54
|
+
fill: "none",
|
|
55
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
56
|
+
strokeWidth,
|
|
57
|
+
className: ["foamicon", "foamicon-bookmark", className].filter(Boolean).join(" "),
|
|
58
|
+
"aria-hidden": "true",
|
|
59
|
+
...props,
|
|
60
|
+
children: /* @__PURE__ */ jsx("path", { d: "M4.25 3.75425C4.25 3.51212 4.42325 3.30546 4.66273 3.26968C5.31772 3.17183 6.65886 3 8 3C9.34114 3 10.6823 3.17183 11.3373 3.26968C11.5767 3.30546 11.75 3.51212 11.75 3.75425V12.6058C11.75 13.0808 11.1392 13.2977 10.8308 12.9364C9.91058 11.8586 8.55417 10.3889 8 10.3889C7.44583 10.3889 6.08942 11.8586 5.16924 12.9364C4.86081 13.2977 4.25 13.0808 4.25 12.6058V3.75425Z", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
);
|
|
64
|
+
Bookmark.displayName = "Bookmark";
|
|
65
|
+
|
|
66
|
+
// src/index.ts
|
|
67
|
+
var iconNames = ["Bell", "Block", "Bookmark"];
|
|
68
|
+
|
|
69
|
+
export { Bell, Block, Bookmark, iconNames };
|
|
70
|
+
//# sourceMappingURL=index.js.map
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/icons/Bell.tsx","../src/icons/Block.tsx","../src/icons/Bookmark.tsx","../src/index.ts"],"names":["forwardRef","jsx"],"mappings":"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","file":"index.js","sourcesContent":["import { forwardRef } from 'react';\nimport type { IconProps } from '../types';\n\nexport const Bell = forwardRef<SVGSVGElement, IconProps>(\n ({ size = 16, strokeWidth = 1, className, ...props }, ref) => (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n strokeWidth={strokeWidth}\n className={['foamicon', 'foamicon-bell', className].filter(Boolean).join(' ')}\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M9.90469 11.3878C10.9161 11.2678 11.8985 11.0535 12.843 10.7539C13.18 10.647 13.2845 10.2272 13.0817 9.93758C12.4 8.96402 12 7.77873 12 6.5V6.03279C12.0001 6.02187 12.0001 6.01094 12.0001 6C12.0001 3.79086 10.2093 2 8.00012 2C5.79098 2 4.00012 3.79086 4.00012 6L3.99999 6.5C3.99999 7.77873 3.59997 8.96402 2.91825 9.93758C2.71545 10.2272 2.81997 10.647 3.15697 10.7539C4.10154 11.0536 5.08408 11.2679 6.09555 11.3878M9.90469 11.3878C9.28011 11.4619 8.6445 11.5 7.99999 11.5C7.35557 11.5 6.72004 11.4619 6.09555 11.3878M9.90469 11.3878C9.96666 11.5807 10.0001 11.7865 10.0001 12C10.0001 13.1046 9.10469 14 8.00012 14C6.89555 14 6.00012 13.1046 6.00012 12C6.00012 11.7865 6.03358 11.5808 6.09555 11.3878\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n )\n);\n\nBell.displayName = 'Bell';\n","import { forwardRef } from 'react';\nimport type { IconProps } from '../types';\n\nexport const Block = forwardRef<SVGSVGElement, IconProps>(\n ({ size = 16, strokeWidth = 1, className, ...props }, ref) => (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n strokeWidth={strokeWidth}\n className={['foamicon', 'foamicon-block', className].filter(Boolean).join(' ')}\n aria-hidden=\"true\"\n {...props}\n >\n <g clipPath=\"url(#clip0_1_14509)\">\n<path d=\"M12.2426 12.2427C9.89949 14.5858 6.10051 14.5858 3.75736 12.2427C1.41421 9.89955 1.41421 6.10056 3.75736 3.75741M12.2426 12.2427C14.5858 9.89955 14.5858 6.10056 12.2426 3.75741C9.89949 1.41427 6.10051 1.41427 3.75736 3.75741M12.2426 12.2427L3.75736 3.75741\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n</g>\n<defs>\n<clipPath id=\"clip0_1_14509\">\n<rect width=\"16\" height=\"16\" fill=\"white\"/>\n</clipPath>\n</defs>\n </svg>\n )\n);\n\nBlock.displayName = 'Block';\n","import { forwardRef } from 'react';\nimport type { IconProps } from '../types';\n\nexport const Bookmark = forwardRef<SVGSVGElement, IconProps>(\n ({ size = 16, strokeWidth = 1, className, ...props }, ref) => (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n strokeWidth={strokeWidth}\n className={['foamicon', 'foamicon-bookmark', className].filter(Boolean).join(' ')}\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M4.25 3.75425C4.25 3.51212 4.42325 3.30546 4.66273 3.26968C5.31772 3.17183 6.65886 3 8 3C9.34114 3 10.6823 3.17183 11.3373 3.26968C11.5767 3.30546 11.75 3.51212 11.75 3.75425V12.6058C11.75 13.0808 11.1392 13.2977 10.8308 12.9364C9.91058 11.8586 8.55417 10.3889 8 10.3889C7.44583 10.3889 6.08942 11.8586 5.16924 12.9364C4.86081 13.2977 4.25 13.0808 4.25 12.6058V3.75425Z\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n )\n);\n\nBookmark.displayName = 'Bookmark';\n","// Auto-generated - do not edit manually\nexport type { IconProps, Icon } from './types';\n\nexport { Bell } from './icons/Bell';\nexport { Block } from './icons/Block';\nexport { Bookmark } from './icons/Bookmark';\n\n// Icon names for tooling\nexport const iconNames = [\"Bell\",\"Block\",\"Bookmark\"] as const;\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "foamicons",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Foam icon library for React",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"default": "./dist/index.cjs"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist"
|
|
23
|
+
],
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"scripts": {
|
|
26
|
+
"generate": "tsx scripts/build-icons.ts",
|
|
27
|
+
"build": "npm run generate && tsup",
|
|
28
|
+
"prepublishOnly": "npm run build"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"icons",
|
|
32
|
+
"react",
|
|
33
|
+
"svg",
|
|
34
|
+
"foam",
|
|
35
|
+
"foamicons",
|
|
36
|
+
"tailwind",
|
|
37
|
+
"shadcn"
|
|
38
|
+
],
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"react": ">=16.8.0"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@types/react": "^18.2.0",
|
|
45
|
+
"react": "^18.2.0",
|
|
46
|
+
"tsup": "^8.0.0",
|
|
47
|
+
"tsx": "^4.7.0",
|
|
48
|
+
"typescript": "^5.3.0"
|
|
49
|
+
}
|
|
50
|
+
}
|