mochi-icons 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/LICENSE +21 -0
- package/README.md +82 -0
- package/dist/createIcon.d.ts +19 -0
- package/dist/createIcon.js +62 -0
- package/dist/createIcon.js.map +1 -0
- package/dist/icons/CameraIcon.d.ts +6 -0
- package/dist/icons/CameraIcon.js +38 -0
- package/dist/icons/CameraIcon.js.map +1 -0
- package/dist/icons/ShoppingCartIcon.d.ts +6 -0
- package/dist/icons/ShoppingCartIcon.js +37 -0
- package/dist/icons/ShoppingCartIcon.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/metadata.d.ts +33 -0
- package/dist/metadata.js +8 -0
- package/dist/metadata.js.map +1 -0
- package/dist/metadata.json +17 -0
- package/package.json +72 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Mochi Icons Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# mochi-icons
|
|
2
|
+
|
|
3
|
+
Lightweight React SVG icons for the Mochi Icons set.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install mochi-icons
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**Peer dependency:** React 18+.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
### Barrel import (convenient)
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import { CameraIcon, ShoppingCartIcon } from "mochi-icons";
|
|
19
|
+
|
|
20
|
+
export function Example() {
|
|
21
|
+
return <CameraIcon size={24} />;
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Direct import (smallest bundle)
|
|
26
|
+
|
|
27
|
+
Import only the icons you need. Bundlers can drop unused icons:
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import { CameraIcon } from "mochi-icons/CameraIcon";
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Gallery / search metadata
|
|
34
|
+
|
|
35
|
+
Metadata is **not** included in the main entry. Load it only when building a catalog:
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
import { iconMetadata } from "mochi-icons/metadata";
|
|
39
|
+
|
|
40
|
+
console.log(iconMetadata.icons);
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Props
|
|
44
|
+
|
|
45
|
+
| Prop | Default | Applies to |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| `size` | `24` | All icons |
|
|
48
|
+
| `color` | `currentColor` | Monochrome icons (`createIcon`) |
|
|
49
|
+
| `strokeWidth` | `2` | Monochrome icons |
|
|
50
|
+
| `className` | — | All icons |
|
|
51
|
+
|
|
52
|
+
Multicolor sticker icons use `createColorIcon`; their fills stay as designed and **`color` does not recolor** paths.
|
|
53
|
+
|
|
54
|
+
All standard SVG DOM props and `ref` are forwarded.
|
|
55
|
+
|
|
56
|
+
## Tree-shaking
|
|
57
|
+
|
|
58
|
+
The package ships **one ESM file per icon** under `dist/icons/`. Prefer `mochi-icons/CameraIcon` when bundle size matters.
|
|
59
|
+
|
|
60
|
+
## Accessibility
|
|
61
|
+
|
|
62
|
+
Decorative icons are `aria-hidden` by default. For meaningful icons, set `aria-label` or `aria-labelledby`.
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
<CameraIcon size={20} aria-label="Open camera" />
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## TypeScript
|
|
69
|
+
|
|
70
|
+
Types are published for the root entry, each icon subpath, and `mochi-icons/metadata`.
|
|
71
|
+
|
|
72
|
+
## Adding icons (contributors)
|
|
73
|
+
|
|
74
|
+
Put SVG files in `raw/` and run `npm run generate` from the repo root. See [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
75
|
+
|
|
76
|
+
## Design rules
|
|
77
|
+
|
|
78
|
+
See [ARCHITECTURE.md](./ARCHITECTURE.md).
|
|
79
|
+
|
|
80
|
+
## License
|
|
81
|
+
|
|
82
|
+
MIT
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { SVGProps, ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
declare const ICON_VIEW_BOX = "0 0 24 24";
|
|
5
|
+
declare const ICON_DEFAULT_SIZE = 24;
|
|
6
|
+
declare const ICON_DEFAULT_STROKE_WIDTH = 2;
|
|
7
|
+
interface IconProps extends SVGProps<SVGSVGElement> {
|
|
8
|
+
/** Pixel size (sets width and height). Default: 24 */
|
|
9
|
+
size?: number | string;
|
|
10
|
+
/** Stroke/fill color. Default: currentColor */
|
|
11
|
+
color?: string;
|
|
12
|
+
}
|
|
13
|
+
declare function createIcon(displayName: string, children: ReactNode, options?: {
|
|
14
|
+
fill?: "none" | "currentColor";
|
|
15
|
+
}): react.ForwardRefExoticComponent<Omit<IconProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
16
|
+
/** Full-color icons (preserved fills from source SVG). `color` prop does not recolor paths. */
|
|
17
|
+
declare function createColorIcon(displayName: string, children: ReactNode): react.ForwardRefExoticComponent<Omit<IconProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
18
|
+
|
|
19
|
+
export { ICON_DEFAULT_SIZE, ICON_DEFAULT_STROKE_WIDTH, ICON_VIEW_BOX, type IconProps, createColorIcon, createIcon };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
|
|
4
|
+
const ICON_VIEW_BOX = "0 0 24 24";
|
|
5
|
+
const ICON_DEFAULT_SIZE = 24;
|
|
6
|
+
const ICON_DEFAULT_STROKE_WIDTH = 2;
|
|
7
|
+
function createIcon(displayName, children, options) {
|
|
8
|
+
const Icon = forwardRef(
|
|
9
|
+
({
|
|
10
|
+
size = ICON_DEFAULT_SIZE,
|
|
11
|
+
color = "currentColor",
|
|
12
|
+
className,
|
|
13
|
+
strokeWidth = ICON_DEFAULT_STROKE_WIDTH,
|
|
14
|
+
...props
|
|
15
|
+
}, ref) => /* @__PURE__ */ jsx(
|
|
16
|
+
"svg",
|
|
17
|
+
{
|
|
18
|
+
ref,
|
|
19
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
20
|
+
width: size,
|
|
21
|
+
height: size,
|
|
22
|
+
viewBox: ICON_VIEW_BOX,
|
|
23
|
+
fill: options?.fill ?? "none",
|
|
24
|
+
stroke: options?.fill === "currentColor" ? "none" : color,
|
|
25
|
+
strokeWidth: options?.fill === "currentColor" ? 0 : strokeWidth,
|
|
26
|
+
strokeLinecap: "round",
|
|
27
|
+
strokeLinejoin: "round",
|
|
28
|
+
className,
|
|
29
|
+
"aria-hidden": props["aria-label"] ? void 0 : true,
|
|
30
|
+
...props,
|
|
31
|
+
children
|
|
32
|
+
}
|
|
33
|
+
)
|
|
34
|
+
);
|
|
35
|
+
Icon.displayName = displayName;
|
|
36
|
+
return Icon;
|
|
37
|
+
}
|
|
38
|
+
function createColorIcon(displayName, children) {
|
|
39
|
+
const Icon = forwardRef(
|
|
40
|
+
({ size = ICON_DEFAULT_SIZE, className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
41
|
+
"svg",
|
|
42
|
+
{
|
|
43
|
+
ref,
|
|
44
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
45
|
+
width: size,
|
|
46
|
+
height: size,
|
|
47
|
+
viewBox: ICON_VIEW_BOX,
|
|
48
|
+
fill: "none",
|
|
49
|
+
className,
|
|
50
|
+
"aria-hidden": props["aria-label"] ? void 0 : true,
|
|
51
|
+
...props,
|
|
52
|
+
children
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
);
|
|
56
|
+
Icon.displayName = displayName;
|
|
57
|
+
return Icon;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { ICON_DEFAULT_SIZE, ICON_DEFAULT_STROKE_WIDTH, ICON_VIEW_BOX, createColorIcon, createIcon };
|
|
61
|
+
//# sourceMappingURL=createIcon.js.map
|
|
62
|
+
//# sourceMappingURL=createIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/createIcon.tsx"],"names":[],"mappings":";;;AAEO,MAAM,aAAA,GAAgB;AACtB,MAAM,iBAAA,GAAoB;AAC1B,MAAM,yBAAA,GAA4B;AASlC,SAAS,UAAA,CACd,WAAA,EACA,QAAA,EACA,OAAA,EACA;AACA,EAAA,MAAM,IAAA,GAAO,UAAA;AAAA,IACX,CACE;AAAA,MACE,IAAA,GAAO,iBAAA;AAAA,MACP,KAAA,GAAQ,cAAA;AAAA,MACR,SAAA;AAAA,MACA,WAAA,GAAc,yBAAA;AAAA,MACd,GAAG;AAAA,OAEL,GAAA,qBAEA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAO,IAAA;AAAA,QACP,MAAA,EAAQ,IAAA;AAAA,QACR,OAAA,EAAS,aAAA;AAAA,QACT,IAAA,EAAM,SAAS,IAAA,IAAQ,MAAA;AAAA,QACvB,MAAA,EAAQ,OAAA,EAAS,IAAA,KAAS,cAAA,GAAiB,MAAA,GAAS,KAAA;AAAA,QACpD,WAAA,EAAa,OAAA,EAAS,IAAA,KAAS,cAAA,GAAiB,CAAA,GAAI,WAAA;AAAA,QACpD,aAAA,EAAc,OAAA;AAAA,QACd,cAAA,EAAe,OAAA;AAAA,QACf,SAAA;AAAA,QACA,aAAA,EAAa,KAAA,CAAM,YAAY,CAAA,GAAI,MAAA,GAAY,IAAA;AAAA,QAC9C,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA;AACH,GAEJ;AACA,EAAA,IAAA,CAAK,WAAA,GAAc,WAAA;AACnB,EAAA,OAAO,IAAA;AACT;AAGO,SAAS,eAAA,CAAgB,aAAqB,QAAA,EAAqB;AACxE,EAAA,MAAM,IAAA,GAAO,UAAA;AAAA,IACX,CAAC,EAAE,IAAA,GAAO,iBAAA,EAAmB,WAAW,GAAG,KAAA,IAAS,GAAA,qBAClD,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAO,IAAA;AAAA,QACP,MAAA,EAAQ,IAAA;AAAA,QACR,OAAA,EAAS,aAAA;AAAA,QACT,IAAA,EAAK,MAAA;AAAA,QACL,SAAA;AAAA,QACA,aAAA,EAAa,KAAA,CAAM,YAAY,CAAA,GAAI,MAAA,GAAY,IAAA;AAAA,QAC9C,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA;AACH,GAEJ;AACA,EAAA,IAAA,CAAK,WAAA,GAAc,WAAA;AACnB,EAAA,OAAO,IAAA;AACT","file":"createIcon.js","sourcesContent":["import { forwardRef, type ReactNode, type SVGProps } from \"react\";\n\nexport const ICON_VIEW_BOX = \"0 0 24 24\";\nexport const ICON_DEFAULT_SIZE = 24;\nexport const ICON_DEFAULT_STROKE_WIDTH = 2;\n\nexport interface IconProps extends SVGProps<SVGSVGElement> {\n /** Pixel size (sets width and height). Default: 24 */\n size?: number | string;\n /** Stroke/fill color. Default: currentColor */\n color?: string;\n}\n\nexport function createIcon(\n displayName: string,\n children: ReactNode,\n options?: { fill?: \"none\" | \"currentColor\" },\n) {\n const Icon = forwardRef<SVGSVGElement, IconProps>(\n (\n {\n size = ICON_DEFAULT_SIZE,\n color = \"currentColor\",\n className,\n strokeWidth = ICON_DEFAULT_STROKE_WIDTH,\n ...props\n },\n ref,\n ) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox={ICON_VIEW_BOX}\n fill={options?.fill ?? \"none\"}\n stroke={options?.fill === \"currentColor\" ? \"none\" : color}\n strokeWidth={options?.fill === \"currentColor\" ? 0 : strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden={props[\"aria-label\"] ? undefined : true}\n {...props}\n >\n {children}\n </svg>\n ),\n );\n Icon.displayName = displayName;\n return Icon;\n}\n\n/** Full-color icons (preserved fills from source SVG). `color` prop does not recolor paths. */\nexport function createColorIcon(displayName: string, children: ReactNode) {\n const Icon = forwardRef<SVGSVGElement, IconProps>(\n ({ size = ICON_DEFAULT_SIZE, className, ...props }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox={ICON_VIEW_BOX}\n fill=\"none\"\n className={className}\n aria-hidden={props[\"aria-label\"] ? undefined : true}\n {...props}\n >\n {children}\n </svg>\n ),\n );\n Icon.displayName = displayName;\n return Icon;\n}\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { createColorIcon } from '../createIcon';
|
|
3
|
+
|
|
4
|
+
const CameraIcon = createColorIcon(
|
|
5
|
+
"CameraIcon",
|
|
6
|
+
/* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("g", { transform: "scale(0.046875)", children: [
|
|
7
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("pattern", { id: "a", width: "14", height: "14", patternUnits: "userSpaceOnUse", children: [
|
|
8
|
+
/* @__PURE__ */ jsx("circle", { cx: "3", cy: "4", r: "1.1", fill: "#1E1B24", opacity: ".06" }),
|
|
9
|
+
/* @__PURE__ */ jsx("circle", { cx: "10", cy: "9", r: ".9", fill: "#1E1B24", opacity: ".05" }),
|
|
10
|
+
/* @__PURE__ */ jsx("circle", { cx: "6", cy: "12", r: ".7", fill: "#FFF", opacity: ".12" })
|
|
11
|
+
] }) }),
|
|
12
|
+
/* @__PURE__ */ jsx("path", { stroke: "#E5E5E5", strokeLinejoin: "round", strokeWidth: "6", d: "M60 190c-2-32 20-52 54-53l32-1c2-28 20-44 50-44l82-1c28 0 44 9 52 21h62c14 0 24 12 25 26 0 2 35 12 36 52l1 146c1 56-24 80-62 81l-272-1c-38 1-61-22-60-66Z" }),
|
|
13
|
+
/* @__PURE__ */ jsx("path", { fill: "#FFF", d: "M60 190c-2-32 20-52 54-53l32-1c2-28 20-44 50-44l82-1c28 0 44 9 52 21h62c14 0 24 12 25 26 0 2 35 12 36 52l1 146c1 56-24 80-62 81l-272-1c-38 1-61-22-60-66Z" }),
|
|
14
|
+
/* @__PURE__ */ jsxs("g", { stroke: "#1E1B24", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
15
|
+
/* @__PURE__ */ jsx("path", { fill: "#F4B942", strokeWidth: "11", d: "m334 172 2-20c1-6 6-8 12-8l20 1c8 0 12 4 12 10l2 17Z" }),
|
|
16
|
+
/* @__PURE__ */ jsx("path", { fill: "#F2A87B", strokeWidth: "12", d: "m180 172 4-27c2-13 10-20 24-20l58-1c16 0 24 8 26 20l4 28Z" }),
|
|
17
|
+
/* @__PURE__ */ jsx("path", { fill: "#83B7D8", strokeWidth: "7", d: "M216 146c0-5 3-7 8-7h28c5 0 7 3 7 7v6c0 5-3 7-8 7h-28c-5 0-7-3-7-7Z" }),
|
|
18
|
+
/* @__PURE__ */ jsxs("g", { stroke: "none", children: [
|
|
19
|
+
/* @__PURE__ */ jsx("path", { fill: "#F46B55", d: "M126 170c24-2 234-3 260-1 22 1 35 15 35 37 1 44 0 104-1 142-1 22-15 35-36 36-54 2-204 2-256 0-22-1-36-14-36-36-1-48-1-98 0-142 1-22 14-35 34-36" }),
|
|
20
|
+
/* @__PURE__ */ jsx("path", { fill: "#F5F0DF", d: "M93 224c107-3 227 2 328-1l-1 95c-100 3-220-2-328 1Z" }),
|
|
21
|
+
/* @__PURE__ */ jsx("path", { fill: "url(#a)", d: "M126 170c24-2 234-3 260-1 22 1 35 15 35 37 1 44 0 104-1 142-1 22-15 35-36 36-54 2-204 2-256 0-22-1-36-14-36-36-1-48-1-98 0-142 1-22 14-35 34-36" })
|
|
22
|
+
] }),
|
|
23
|
+
/* @__PURE__ */ jsx("path", { strokeWidth: "8", d: "M93 224c107-3 227 2 328-1M92 319c108-3 228 2 328-1" }),
|
|
24
|
+
/* @__PURE__ */ jsx("path", { strokeWidth: "13", d: "M126 170c24-2 234-3 260-1 22 1 35 15 35 37 1 44 0 104-1 142-1 22-15 35-36 36-54 2-204 2-256 0-22-1-36-14-36-36-1-48-1-98 0-142 1-22 14-35 34-36" }),
|
|
25
|
+
/* @__PURE__ */ jsx("path", { fill: "#F5F0DF", strokeWidth: "8", d: "M120 194c0-5 3-7 8-7l30 1c5 0 8 2 8 7l-1 11c0 5-3 7-8 7l-30-1c-5 0-8-2-8-7Z" }),
|
|
26
|
+
/* @__PURE__ */ jsx("path", { fill: "#83B7D8", strokeWidth: "13", d: "M256 191c48-1 85 38 84 86-1 47-38 84-85 83s-84-37-83-85c1-47 38-83 84-84" }),
|
|
27
|
+
/* @__PURE__ */ jsx("path", { fill: "url(#a)", stroke: "none", d: "M256 191c48-1 85 38 84 86-1 47-38 84-85 83s-84-37-83-85c1-47 38-83 84-84" }),
|
|
28
|
+
/* @__PURE__ */ jsx("path", { fill: "#2F3448", strokeWidth: "9", d: "M256 222c31-1 55 24 54 55-1 30-25 54-55 53s-54-25-53-55 24-53 54-53" }),
|
|
29
|
+
/* @__PURE__ */ jsx("circle", { cx: "258", cy: "278", r: "21", fill: "#5E7F9E", strokeWidth: "7" }),
|
|
30
|
+
/* @__PURE__ */ jsx("path", { stroke: "#FFF", strokeWidth: "8", d: "M222 264c4-14 14-24 27-28" }),
|
|
31
|
+
/* @__PURE__ */ jsx("circle", { cx: "277", cy: "297", r: "4.5", fill: "#FFF", stroke: "none" })
|
|
32
|
+
] })
|
|
33
|
+
] }) })
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
export { CameraIcon };
|
|
37
|
+
//# sourceMappingURL=CameraIcon.js.map
|
|
38
|
+
//# sourceMappingURL=CameraIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/icons/CameraIcon.tsx"],"names":[],"mappings":"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","file":"CameraIcon.js","sourcesContent":["// This file is auto-generated by @mochi-icons/icon-generator. Do not edit manually.\nimport { createColorIcon } from \"../createIcon\";\n\nexport const CameraIcon = createColorIcon(\n \"CameraIcon\",\n <>\n <g transform=\"scale(0.046875)\">\n <defs>\n <pattern id=\"a\" width=\"14\" height=\"14\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"3\" cy=\"4\" r=\"1.1\" fill=\"#1E1B24\" opacity=\".06\" />\n <circle cx=\"10\" cy=\"9\" r=\".9\" fill=\"#1E1B24\" opacity=\".05\" />\n <circle cx=\"6\" cy=\"12\" r=\".7\" fill=\"#FFF\" opacity=\".12\" />\n </pattern>\n </defs>\n <path stroke=\"#E5E5E5\" strokeLinejoin=\"round\" strokeWidth=\"6\" d=\"M60 190c-2-32 20-52 54-53l32-1c2-28 20-44 50-44l82-1c28 0 44 9 52 21h62c14 0 24 12 25 26 0 2 35 12 36 52l1 146c1 56-24 80-62 81l-272-1c-38 1-61-22-60-66Z\" />\n <path fill=\"#FFF\" d=\"M60 190c-2-32 20-52 54-53l32-1c2-28 20-44 50-44l82-1c28 0 44 9 52 21h62c14 0 24 12 25 26 0 2 35 12 36 52l1 146c1 56-24 80-62 81l-272-1c-38 1-61-22-60-66Z\" />\n <g stroke=\"#1E1B24\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path fill=\"#F4B942\" strokeWidth=\"11\" d=\"m334 172 2-20c1-6 6-8 12-8l20 1c8 0 12 4 12 10l2 17Z\" />\n <path fill=\"#F2A87B\" strokeWidth=\"12\" d=\"m180 172 4-27c2-13 10-20 24-20l58-1c16 0 24 8 26 20l4 28Z\" />\n <path fill=\"#83B7D8\" strokeWidth=\"7\" d=\"M216 146c0-5 3-7 8-7h28c5 0 7 3 7 7v6c0 5-3 7-8 7h-28c-5 0-7-3-7-7Z\" />\n <g stroke=\"none\">\n <path fill=\"#F46B55\" d=\"M126 170c24-2 234-3 260-1 22 1 35 15 35 37 1 44 0 104-1 142-1 22-15 35-36 36-54 2-204 2-256 0-22-1-36-14-36-36-1-48-1-98 0-142 1-22 14-35 34-36\" />\n <path fill=\"#F5F0DF\" d=\"M93 224c107-3 227 2 328-1l-1 95c-100 3-220-2-328 1Z\" />\n <path fill=\"url(#a)\" d=\"M126 170c24-2 234-3 260-1 22 1 35 15 35 37 1 44 0 104-1 142-1 22-15 35-36 36-54 2-204 2-256 0-22-1-36-14-36-36-1-48-1-98 0-142 1-22 14-35 34-36\" />\n </g>\n <path strokeWidth=\"8\" d=\"M93 224c107-3 227 2 328-1M92 319c108-3 228 2 328-1\" />\n <path strokeWidth=\"13\" d=\"M126 170c24-2 234-3 260-1 22 1 35 15 35 37 1 44 0 104-1 142-1 22-15 35-36 36-54 2-204 2-256 0-22-1-36-14-36-36-1-48-1-98 0-142 1-22 14-35 34-36\" />\n <path fill=\"#F5F0DF\" strokeWidth=\"8\" d=\"M120 194c0-5 3-7 8-7l30 1c5 0 8 2 8 7l-1 11c0 5-3 7-8 7l-30-1c-5 0-8-2-8-7Z\" />\n <path fill=\"#83B7D8\" strokeWidth=\"13\" d=\"M256 191c48-1 85 38 84 86-1 47-38 84-85 83s-84-37-83-85c1-47 38-83 84-84\" />\n <path fill=\"url(#a)\" stroke=\"none\" d=\"M256 191c48-1 85 38 84 86-1 47-38 84-85 83s-84-37-83-85c1-47 38-83 84-84\" />\n <path fill=\"#2F3448\" strokeWidth=\"9\" d=\"M256 222c31-1 55 24 54 55-1 30-25 54-55 53s-54-25-53-55 24-53 54-53\" />\n <circle cx=\"258\" cy=\"278\" r=\"21\" fill=\"#5E7F9E\" strokeWidth=\"7\" />\n <path stroke=\"#FFF\" strokeWidth=\"8\" d=\"M222 264c4-14 14-24 27-28\" />\n <circle cx=\"277\" cy=\"297\" r=\"4.5\" fill=\"#FFF\" stroke=\"none\" />\n </g>\n </g>\n </>,\n);\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { createColorIcon } from '../createIcon';
|
|
3
|
+
|
|
4
|
+
const ShoppingCartIcon = createColorIcon(
|
|
5
|
+
"ShoppingCartIcon",
|
|
6
|
+
/* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("g", { transform: "scale(0.046875)", children: [
|
|
7
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("pattern", { id: "a", width: "14", height: "14", patternUnits: "userSpaceOnUse", children: [
|
|
8
|
+
/* @__PURE__ */ jsx("circle", { cx: "3", cy: "4", r: "1.1", fill: "#1E1B24", opacity: ".06" }),
|
|
9
|
+
/* @__PURE__ */ jsx("circle", { cx: "10", cy: "9", r: ".9", fill: "#1E1B24", opacity: ".05" }),
|
|
10
|
+
/* @__PURE__ */ jsx("circle", { cx: "6", cy: "12", r: ".7", fill: "#FFF", opacity: ".12" })
|
|
11
|
+
] }) }),
|
|
12
|
+
/* @__PURE__ */ jsx("path", { stroke: "#E5E5E5", strokeLinejoin: "round", strokeWidth: "6", d: "M42 142c0-30 18-50 48-50h44c28 0 40 20 44 54h242c26 0 38 18 32 44l-28 132-4 58c0 34-24 54-54 54H190c-34 0-58-24-58-54-1-20 0-40 6-58l-22-124c-4-8-12-8-26-8-30 0-48-18-48-48Z" }),
|
|
13
|
+
/* @__PURE__ */ jsx("path", { fill: "#FFF", d: "M42 142c0-30 18-50 48-50h44c28 0 40 20 44 54h242c26 0 38 18 32 44l-28 132-4 58c0 34-24 54-54 54H190c-34 0-58-24-58-54-1-20 0-40 6-58l-22-124c-4-8-12-8-26-8-30 0-48-18-48-48" }),
|
|
14
|
+
/* @__PURE__ */ jsxs("g", { stroke: "#1E1B24", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
15
|
+
/* @__PURE__ */ jsx("path", { strokeWidth: "12", d: "m126 143 7-1c6 0 10 5 12 12l6 24m27 138-15 30c37 1 167-1 230 0" }),
|
|
16
|
+
/* @__PURE__ */ jsxs("g", { stroke: "none", children: [
|
|
17
|
+
/* @__PURE__ */ jsx("path", { fill: "#67C9A5", d: "M148 176c92-1 182 3 270 1 6 0 9 5 7 11l-29 122c-2 6-6 8-12 8H184c-6 0-10-3-11-8l-30-122c-2-7-1-12 5-12" }),
|
|
18
|
+
/* @__PURE__ */ jsx("path", { fill: "url(#a)", d: "M148 176c92-1 182 3 270 1 6 0 9 5 7 11l-29 122c-2 6-6 8-12 8H184c-6 0-10-3-11-8l-30-122c-2-7-1-12 5-12" })
|
|
19
|
+
] }),
|
|
20
|
+
/* @__PURE__ */ jsxs("g", { strokeWidth: "8", children: [
|
|
21
|
+
/* @__PURE__ */ jsx("path", { d: "M156 225c84-2 174 1 254-1m-244 47c84-2 154 1 234-1" }),
|
|
22
|
+
/* @__PURE__ */ jsx("path", { d: "M215 178c3 42 9 92 14 138m55-138c-1 47 0 92-1 139m69-138c-3 43-9 91-14 137" })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsx("path", { strokeWidth: "13", d: "M148 176c92-1 182 3 270 1 6 0 9 5 7 11l-29 122c-2 6-6 8-12 8H184c-6 0-10-3-11-8l-30-122c-2-7-1-12 5-12" }),
|
|
25
|
+
/* @__PURE__ */ jsx("path", { stroke: "#FFF", strokeWidth: "7", d: "M163 194c9-1 21-1 33 0" }),
|
|
26
|
+
/* @__PURE__ */ jsx("path", { fill: "#F46B55", strokeWidth: "11", d: "m82 125 36 1c7 0 11 5 11 12l-1 10c0 7-4 12-11 12l-36-1c-7 0-11-5-11-12l1-10c0-7 4-12 11-12" }),
|
|
27
|
+
/* @__PURE__ */ jsx("path", { fill: "#F4B942", strokeWidth: "11", d: "M192 350c15 0 26 12 26 26 0 15-12 26-27 26-14 0-25-12-25-26 0-15 12-26 26-26" }),
|
|
28
|
+
/* @__PURE__ */ jsx("circle", { cx: "192", cy: "376", r: "8", fill: "#F5F0DF", strokeWidth: "6" }),
|
|
29
|
+
/* @__PURE__ */ jsx("path", { fill: "#F4B942", strokeWidth: "11", d: "M364 350c15 0 26 12 26 26 0 15-12 26-27 26-14 0-25-12-25-26 0-15 12-26 26-26" }),
|
|
30
|
+
/* @__PURE__ */ jsx("circle", { cx: "364", cy: "376", r: "8", fill: "#F5F0DF", strokeWidth: "6" })
|
|
31
|
+
] })
|
|
32
|
+
] }) })
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
export { ShoppingCartIcon };
|
|
36
|
+
//# sourceMappingURL=ShoppingCartIcon.js.map
|
|
37
|
+
//# sourceMappingURL=ShoppingCartIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/icons/ShoppingCartIcon.tsx"],"names":[],"mappings":"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","file":"ShoppingCartIcon.js","sourcesContent":["// This file is auto-generated by @mochi-icons/icon-generator. Do not edit manually.\nimport { createColorIcon } from \"../createIcon\";\n\nexport const ShoppingCartIcon = createColorIcon(\n \"ShoppingCartIcon\",\n <>\n <g transform=\"scale(0.046875)\">\n <defs>\n <pattern id=\"a\" width=\"14\" height=\"14\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"3\" cy=\"4\" r=\"1.1\" fill=\"#1E1B24\" opacity=\".06\" />\n <circle cx=\"10\" cy=\"9\" r=\".9\" fill=\"#1E1B24\" opacity=\".05\" />\n <circle cx=\"6\" cy=\"12\" r=\".7\" fill=\"#FFF\" opacity=\".12\" />\n </pattern>\n </defs>\n <path stroke=\"#E5E5E5\" strokeLinejoin=\"round\" strokeWidth=\"6\" d=\"M42 142c0-30 18-50 48-50h44c28 0 40 20 44 54h242c26 0 38 18 32 44l-28 132-4 58c0 34-24 54-54 54H190c-34 0-58-24-58-54-1-20 0-40 6-58l-22-124c-4-8-12-8-26-8-30 0-48-18-48-48Z\" />\n <path fill=\"#FFF\" d=\"M42 142c0-30 18-50 48-50h44c28 0 40 20 44 54h242c26 0 38 18 32 44l-28 132-4 58c0 34-24 54-54 54H190c-34 0-58-24-58-54-1-20 0-40 6-58l-22-124c-4-8-12-8-26-8-30 0-48-18-48-48\" />\n <g stroke=\"#1E1B24\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path strokeWidth=\"12\" d=\"m126 143 7-1c6 0 10 5 12 12l6 24m27 138-15 30c37 1 167-1 230 0\" />\n <g stroke=\"none\">\n <path fill=\"#67C9A5\" d=\"M148 176c92-1 182 3 270 1 6 0 9 5 7 11l-29 122c-2 6-6 8-12 8H184c-6 0-10-3-11-8l-30-122c-2-7-1-12 5-12\" />\n <path fill=\"url(#a)\" d=\"M148 176c92-1 182 3 270 1 6 0 9 5 7 11l-29 122c-2 6-6 8-12 8H184c-6 0-10-3-11-8l-30-122c-2-7-1-12 5-12\" />\n </g>\n <g strokeWidth=\"8\">\n <path d=\"M156 225c84-2 174 1 254-1m-244 47c84-2 154 1 234-1\" />\n <path d=\"M215 178c3 42 9 92 14 138m55-138c-1 47 0 92-1 139m69-138c-3 43-9 91-14 137\" />\n </g>\n <path strokeWidth=\"13\" d=\"M148 176c92-1 182 3 270 1 6 0 9 5 7 11l-29 122c-2 6-6 8-12 8H184c-6 0-10-3-11-8l-30-122c-2-7-1-12 5-12\" />\n <path stroke=\"#FFF\" strokeWidth=\"7\" d=\"M163 194c9-1 21-1 33 0\" />\n <path fill=\"#F46B55\" strokeWidth=\"11\" d=\"m82 125 36 1c7 0 11 5 11 12l-1 10c0 7-4 12-11 12l-36-1c-7 0-11-5-11-12l1-10c0-7 4-12 11-12\" />\n <path fill=\"#F4B942\" strokeWidth=\"11\" d=\"M192 350c15 0 26 12 26 26 0 15-12 26-27 26-14 0-25-12-25-26 0-15 12-26 26-26\" />\n <circle cx=\"192\" cy=\"376\" r=\"8\" fill=\"#F5F0DF\" strokeWidth=\"6\" />\n <path fill=\"#F4B942\" strokeWidth=\"11\" d=\"M364 350c15 0 26 12 26 26 0 15-12 26-27 26-14 0-25-12-25-26 0-15 12-26 26-26\" />\n <circle cx=\"364\" cy=\"376\" r=\"8\" fill=\"#F5F0DF\" strokeWidth=\"6\" />\n </g>\n </g>\n </>,\n);\n"]}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ICON_DEFAULT_SIZE, ICON_DEFAULT_STROKE_WIDTH, ICON_VIEW_BOX, createIcon } from './createIcon';
|
|
2
|
+
export { CameraIcon } from './icons/CameraIcon';
|
|
3
|
+
export { ShoppingCartIcon } from './icons/ShoppingCartIcon';
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var generatedAt = "2026-09-30T10:15:05.636Z";
|
|
2
|
+
var icons = [
|
|
3
|
+
{
|
|
4
|
+
name: "CameraIcon",
|
|
5
|
+
file: "camera.svg",
|
|
6
|
+
slug: "camera",
|
|
7
|
+
variant: "color"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: "ShoppingCartIcon",
|
|
11
|
+
file: "shopping-cart.svg",
|
|
12
|
+
slug: "shopping-cart",
|
|
13
|
+
variant: "color"
|
|
14
|
+
}
|
|
15
|
+
];
|
|
16
|
+
var manifest = {
|
|
17
|
+
generatedAt: generatedAt,
|
|
18
|
+
icons: icons
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
type IconMetadataEntry = (typeof manifest.icons)[number];
|
|
22
|
+
type IconMetadataManifest = typeof manifest;
|
|
23
|
+
declare const iconMetadata: {
|
|
24
|
+
generatedAt: string;
|
|
25
|
+
icons: {
|
|
26
|
+
name: string;
|
|
27
|
+
file: string;
|
|
28
|
+
slug: string;
|
|
29
|
+
variant: string;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { type IconMetadataEntry, type IconMetadataManifest, manifest as default, iconMetadata };
|
package/dist/metadata.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/metadata.ts"],"names":[],"mappings":";;AAMO,MAAM,YAAA,GAAe;AAC5B,IAAO,gBAAA,GAAQ","file":"metadata.js","sourcesContent":["// This file is auto-generated by @mochi-icons/icon-generator. Do not edit manually.\nimport manifest from \"./metadata.json\" with { type: \"json\" };\n\nexport type IconMetadataEntry = (typeof manifest.icons)[number];\nexport type IconMetadataManifest = typeof manifest;\n\nexport const iconMetadata = manifest;\nexport default manifest;\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generatedAt": "2026-09-30T10:15:05.636Z",
|
|
3
|
+
"icons": [
|
|
4
|
+
{
|
|
5
|
+
"name": "CameraIcon",
|
|
6
|
+
"file": "camera.svg",
|
|
7
|
+
"slug": "camera",
|
|
8
|
+
"variant": "color"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "ShoppingCartIcon",
|
|
12
|
+
"file": "shopping-cart.svg",
|
|
13
|
+
"slug": "shopping-cart",
|
|
14
|
+
"variant": "color"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mochi-icons",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Lightweight React SVG icon components",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/mahekkg/mochi-icons.git",
|
|
9
|
+
"directory": "packages/icons"
|
|
10
|
+
},
|
|
11
|
+
"type": "module",
|
|
12
|
+
"sideEffects": false,
|
|
13
|
+
"files": [
|
|
14
|
+
"dist",
|
|
15
|
+
"README.md",
|
|
16
|
+
"LICENSE"
|
|
17
|
+
],
|
|
18
|
+
"main": "./dist/index.js",
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"import": "./dist/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./createIcon": {
|
|
26
|
+
"types": "./dist/createIcon.d.ts",
|
|
27
|
+
"import": "./dist/createIcon.js"
|
|
28
|
+
},
|
|
29
|
+
"./metadata": {
|
|
30
|
+
"types": "./dist/metadata.d.ts",
|
|
31
|
+
"import": "./dist/metadata.js"
|
|
32
|
+
},
|
|
33
|
+
"./CameraIcon": {
|
|
34
|
+
"types": "./dist/icons/CameraIcon.d.ts",
|
|
35
|
+
"import": "./dist/icons/CameraIcon.js"
|
|
36
|
+
},
|
|
37
|
+
"./ShoppingCartIcon": {
|
|
38
|
+
"types": "./dist/icons/ShoppingCartIcon.d.ts",
|
|
39
|
+
"import": "./dist/icons/ShoppingCartIcon.js"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "tsup && node scripts/sync-exports.mjs",
|
|
44
|
+
"check": "tsc --noEmit",
|
|
45
|
+
"size": "node scripts/report-size.mjs",
|
|
46
|
+
"test:treeshake": "node scripts/check-tree-shake.mjs",
|
|
47
|
+
"test:consumers": "node scripts/test-vite-consumer.mjs && npm run build -w @mochi-icons/fixture-next",
|
|
48
|
+
"verify:publish": "npm pack --dry-run",
|
|
49
|
+
"prepublishOnly": "npm run build && npm run test:treeshake"
|
|
50
|
+
},
|
|
51
|
+
"peerDependencies": {
|
|
52
|
+
"react": ">=18"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/react": "^19.0.0",
|
|
56
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
57
|
+
"esbuild": "^0.25.0",
|
|
58
|
+
"vite": "^6.0.0",
|
|
59
|
+
"react": "^19.0.0",
|
|
60
|
+
"tsup": "^8.4.0",
|
|
61
|
+
"typescript": "^5.8.0"
|
|
62
|
+
},
|
|
63
|
+
"engines": {
|
|
64
|
+
"node": ">=18"
|
|
65
|
+
},
|
|
66
|
+
"keywords": [
|
|
67
|
+
"react",
|
|
68
|
+
"icons",
|
|
69
|
+
"svg",
|
|
70
|
+
"mochi-icons"
|
|
71
|
+
]
|
|
72
|
+
}
|