@vipengele/react-icons 0.0.0 → 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 +26 -3
- package/dist/Icon.d.ts +18 -0
- package/dist/Icon.d.ts.map +1 -0
- package/dist/icon-stylesheet.d.ts +10 -0
- package/dist/icon-stylesheet.d.ts.map +1 -0
- package/dist/icons.d.ts +17 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +45 -5
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Pedro Gomes
|
|
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
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
# @vipengele/react-icons
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
A curated, tree-shakable re-export of `lucide-react` icons, plus the `Icon` wrapper that sizes
|
|
4
|
+
them from `--vpg-icon-*` custom properties.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
```tsx
|
|
7
|
+
import { Icon, ChevronDown } from "@vipengele/react-icons";
|
|
8
|
+
|
|
9
|
+
<Icon icon={ChevronDown} />;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Tree-shaking
|
|
13
|
+
|
|
14
|
+
Icons are individually named exports — never a namespace barrel — so a consumer importing one
|
|
15
|
+
glyph pulls in only that glyph, not the rest of the curated set or the full `lucide-react`
|
|
16
|
+
package. Pass the icon component itself to `Icon`, not a name: a name-to-component lookup would
|
|
17
|
+
have to reference the whole curated set, which defeats tree-shaking.
|
|
18
|
+
|
|
19
|
+
## Sizing
|
|
20
|
+
|
|
21
|
+
`Icon` without a `size`/`strokeWidth` prop renders at `var(--vpg-icon-size-md)` /
|
|
22
|
+
`var(--vpg-icon-stroke-md)`, with a fallback value baked into this package's own stylesheet
|
|
23
|
+
for standalone use before `@vipengele/react-tokens` defines those custom properties. An explicit `size`
|
|
24
|
+
or `strokeWidth` prop is forwarded straight to the glyph instead, which sets it as an SVG
|
|
25
|
+
attribute — CSS custom properties can't set SVG size/stroke-width attributes directly.
|
|
26
|
+
|
|
27
|
+
## Peer dependencies
|
|
28
|
+
|
|
29
|
+
React 19 and React DOM 19 — `Icon` is a React component.
|
package/dist/Icon.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IconComponent } from "./types.js";
|
|
2
|
+
export interface IconProps {
|
|
3
|
+
/** The glyph to render. Consumers pass the component itself — `<Icon icon={ChevronDown} />` —
|
|
4
|
+
* never a name, so a bundler only ever sees the icons actually referenced. */
|
|
5
|
+
icon: IconComponent;
|
|
6
|
+
size?: number | string;
|
|
7
|
+
strokeWidth?: number;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Renders a curated icon at a consistent default size/stroke, driven by
|
|
12
|
+
* `--vpg-icon-size-md`/`--vpg-icon-stroke-md`. An explicit `size` or `strokeWidth` prop
|
|
13
|
+
* is forwarded straight to the glyph, which sets it as an SVG attribute lucide's own way — the
|
|
14
|
+
* matching default class is withheld in that case, since a CSS rule (even from a class) beats
|
|
15
|
+
* an SVG presentation attribute on specificity and would otherwise silently win over the prop.
|
|
16
|
+
*/
|
|
17
|
+
export declare function Icon({ icon: Glyph, size, strokeWidth, className }: IconProps): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../src/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB;kFAC8E;IAC9E,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,+BAuB5E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default sizing/stroke for `<Icon>` when a caller doesn't pass `size`/`strokeWidth`, injected
|
|
3
|
+
* as an inline `<style>` rather than a `.css` import so the package can stay
|
|
4
|
+
* `"sideEffects": false` (same approach as `@vipengele/react-tokens`'s base stylesheet).
|
|
5
|
+
*
|
|
6
|
+
* `@vipengele/react-tokens` doesn't yet define `--vpg-icon-size-md`/`--vpg-icon-stroke-md` — the
|
|
7
|
+
* fallback values below keep this class useful standalone until a later slice adds them.
|
|
8
|
+
*/
|
|
9
|
+
export declare const iconStylesheet = "\n.vpg-icon-size-default {\n width: var(--vpg-icon-size-md, 1.25rem);\n height: var(--vpg-icon-size-md, 1.25rem);\n}\n\n.vpg-icon-stroke-default {\n stroke-width: var(--vpg-icon-stroke-md, 2);\n}\n";
|
|
10
|
+
//# sourceMappingURL=icon-stylesheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-stylesheet.d.ts","sourceRoot":"","sources":["../src/icon-stylesheet.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,6MAS1B,CAAC"}
|
package/dist/icons.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IconComponent } from "./types.js";
|
|
2
|
+
export declare const ChevronDown: IconComponent;
|
|
3
|
+
export declare const ChevronUp: IconComponent;
|
|
4
|
+
export declare const ChevronLeft: IconComponent;
|
|
5
|
+
export declare const ChevronRight: IconComponent;
|
|
6
|
+
export declare const Check: IconComponent;
|
|
7
|
+
export declare const X: IconComponent;
|
|
8
|
+
export declare const ArrowRight: IconComponent;
|
|
9
|
+
export declare const ArrowLeft: IconComponent;
|
|
10
|
+
export declare const Search: IconComponent;
|
|
11
|
+
export declare const Plus: IconComponent;
|
|
12
|
+
export declare const Minus: IconComponent;
|
|
13
|
+
export declare const AlertCircle: IconComponent;
|
|
14
|
+
export declare const Info: IconComponent;
|
|
15
|
+
export declare const Loader2: IconComponent;
|
|
16
|
+
export declare const User: IconComponent;
|
|
17
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKhD,eAAO,MAAM,WAAW,EAAE,aAAiC,CAAC;AAC5D,eAAO,MAAM,SAAS,EAAE,aAA+B,CAAC;AACxD,eAAO,MAAM,WAAW,EAAE,aAAiC,CAAC;AAC5D,eAAO,MAAM,YAAY,EAAE,aAAkC,CAAC;AAC9D,eAAO,MAAM,KAAK,EAAE,aAA2B,CAAC;AAChD,eAAO,MAAM,CAAC,EAAE,aAAuB,CAAC;AACxC,eAAO,MAAM,UAAU,EAAE,aAAgC,CAAC;AAC1D,eAAO,MAAM,SAAS,EAAE,aAA+B,CAAC;AACxD,eAAO,MAAM,MAAM,EAAE,aAA4B,CAAC;AAClD,eAAO,MAAM,IAAI,EAAE,aAA0B,CAAC;AAC9C,eAAO,MAAM,KAAK,EAAE,aAA2B,CAAC;AAChD,eAAO,MAAM,WAAW,EAAE,aAAiC,CAAC;AAC5D,eAAO,MAAM,IAAI,EAAE,aAA0B,CAAC;AAC9C,eAAO,MAAM,OAAO,EAAE,aAA6B,CAAC;AACpD,eAAO,MAAM,IAAI,EAAE,aAA0B,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Icon, type IconProps } from "./Icon.js";
|
|
2
|
+
export { AlertCircle, ArrowLeft, ArrowRight, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Info, Loader2, Minus, Plus, Search, User, X, } from "./icons.js";
|
|
3
|
+
export type { IconComponent, IconComponentProps } from "./types.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,OAAO,EACP,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,CAAC,GACF,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { AlertCircle as AlertCircle$1, ArrowLeft as ArrowLeft$1, ArrowRight as ArrowRight$1, Check as Check$1, ChevronDown as ChevronDown$1, ChevronLeft as ChevronLeft$1, ChevronRight as ChevronRight$1, ChevronUp as ChevronUp$1, Info as Info$1, Loader2 as Loader2$1, Minus as Minus$1, Plus as Plus$1, Search as Search$1, User as User$1, X as X$1 } from 'lucide-react';
|
|
3
|
+
|
|
4
|
+
// src/icon-stylesheet.ts
|
|
5
|
+
var iconStylesheet = `
|
|
6
|
+
.vpg-icon-size-default {
|
|
7
|
+
width: var(--vpg-icon-size-md, 1.25rem);
|
|
8
|
+
height: var(--vpg-icon-size-md, 1.25rem);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.vpg-icon-stroke-default {
|
|
12
|
+
stroke-width: var(--vpg-icon-stroke-md, 2);
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
function Icon({ icon: Glyph, size, strokeWidth, className }) {
|
|
16
|
+
const classes = [
|
|
17
|
+
size === void 0 ? "vpg-icon-size-default" : void 0,
|
|
18
|
+
strokeWidth === void 0 ? "vpg-icon-stroke-default" : void 0,
|
|
19
|
+
className
|
|
20
|
+
].filter(Boolean).join(" ");
|
|
21
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22
|
+
/* @__PURE__ */ jsx("style", { href: "vpg-icon-base", precedence: "vpg-icon-base", children: iconStylesheet }),
|
|
23
|
+
/* @__PURE__ */ jsx(Glyph, { size, strokeWidth, className: classes.length > 0 ? classes : void 0 })
|
|
24
|
+
] });
|
|
25
|
+
}
|
|
26
|
+
var ChevronDown = ChevronDown$1;
|
|
27
|
+
var ChevronUp = ChevronUp$1;
|
|
28
|
+
var ChevronLeft = ChevronLeft$1;
|
|
29
|
+
var ChevronRight = ChevronRight$1;
|
|
30
|
+
var Check = Check$1;
|
|
31
|
+
var X = X$1;
|
|
32
|
+
var ArrowRight = ArrowRight$1;
|
|
33
|
+
var ArrowLeft = ArrowLeft$1;
|
|
34
|
+
var Search = Search$1;
|
|
35
|
+
var Plus = Plus$1;
|
|
36
|
+
var Minus = Minus$1;
|
|
37
|
+
var AlertCircle = AlertCircle$1;
|
|
38
|
+
var Info = Info$1;
|
|
39
|
+
var Loader2 = Loader2$1;
|
|
40
|
+
var User = User$1;
|
|
41
|
+
|
|
42
|
+
export { AlertCircle, ArrowLeft, ArrowRight, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Icon, Info, Loader2, Minus, Plus, Search, User, X };
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/icon-stylesheet.ts","../src/Icon.tsx","../src/icons.ts"],"names":["LucideChevronDown","LucideChevronUp","LucideChevronLeft","LucideChevronRight","LucideCheck","LucideX","LucideArrowRight","LucideArrowLeft","LucideSearch","LucidePlus","LucideMinus","LucideAlertCircle","LucideInfo","LucideLoader2","LucideUser"],"mappings":";;;;AAQO,IAAM,cAAA,GAAiB;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,CAAA;ACWvB,SAAS,KAAK,EAAE,IAAA,EAAM,OAAO,IAAA,EAAM,WAAA,EAAa,WAAU,EAAc;AAC7E,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,IAAA,KAAS,SAAY,uBAAA,GAA0B,MAAA;AAAA,IAC/C,WAAA,KAAgB,SAAY,yBAAA,GAA4B,MAAA;AAAA,IACxD;AAAA,GACF,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAEX,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EAOE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAA,EAAA,EAAM,IAAA,EAAK,eAAA,EAAgB,UAAA,EAAW,iBACpC,QAAA,EAAA,cAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,SAAM,IAAA,EAAY,WAAA,EAA0B,WAAW,OAAA,CAAQ,MAAA,GAAS,CAAA,GAAI,OAAA,GAAU,MAAA,EAAW;AAAA,GAAA,EACpG,CAAA;AAEJ;ACpBO,IAAM,WAAA,GAA6BA;AACnC,IAAM,SAAA,GAA2BC;AACjC,IAAM,WAAA,GAA6BC;AACnC,IAAM,YAAA,GAA8BC;AACpC,IAAM,KAAA,GAAuBC;AAC7B,IAAM,CAAA,GAAmBC;AACzB,IAAM,UAAA,GAA4BC;AAClC,IAAM,SAAA,GAA2BC;AACjC,IAAM,MAAA,GAAwBC;AAC9B,IAAM,IAAA,GAAsBC;AAC5B,IAAM,KAAA,GAAuBC;AAC7B,IAAM,WAAA,GAA6BC;AACnC,IAAM,IAAA,GAAsBC;AAC5B,IAAM,OAAA,GAAyBC;AAC/B,IAAM,IAAA,GAAsBC","file":"index.js","sourcesContent":["/**\n * Default sizing/stroke for `<Icon>` when a caller doesn't pass `size`/`strokeWidth`, injected\n * as an inline `<style>` rather than a `.css` import so the package can stay\n * `\"sideEffects\": false` (same approach as `@vipengele/react-tokens`'s base stylesheet).\n *\n * `@vipengele/react-tokens` doesn't yet define `--vpg-icon-size-md`/`--vpg-icon-stroke-md` — the\n * fallback values below keep this class useful standalone until a later slice adds them.\n */\nexport const iconStylesheet = `\n.vpg-icon-size-default {\n width: var(--vpg-icon-size-md, 1.25rem);\n height: var(--vpg-icon-size-md, 1.25rem);\n}\n\n.vpg-icon-stroke-default {\n stroke-width: var(--vpg-icon-stroke-md, 2);\n}\n`;\n","import { iconStylesheet } from \"./icon-stylesheet.js\";\nimport type { IconComponent } from \"./types.js\";\n\nexport interface IconProps {\n /** The glyph to render. Consumers pass the component itself — `<Icon icon={ChevronDown} />` —\n * never a name, so a bundler only ever sees the icons actually referenced. */\n icon: IconComponent;\n size?: number | string;\n strokeWidth?: number;\n className?: string;\n}\n\n/**\n * Renders a curated icon at a consistent default size/stroke, driven by\n * `--vpg-icon-size-md`/`--vpg-icon-stroke-md`. An explicit `size` or `strokeWidth` prop\n * is forwarded straight to the glyph, which sets it as an SVG attribute lucide's own way — the\n * matching default class is withheld in that case, since a CSS rule (even from a class) beats\n * an SVG presentation attribute on specificity and would otherwise silently win over the prop.\n */\nexport function Icon({ icon: Glyph, size, strokeWidth, className }: IconProps) {\n const classes = [\n size === undefined ? \"vpg-icon-size-default\" : undefined,\n strokeWidth === undefined ? \"vpg-icon-stroke-default\" : undefined,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <>\n {/*\n React 19 hoists and de-duplicates this by `href`, so N icons on a page inject one\n stylesheet. Injecting the CSS as a string rather than importing a `.css` file keeps the\n package free of the import side effect that `\"sideEffects\": false` would otherwise have\n to carve an exception for.\n */}\n <style href=\"vpg-icon-base\" precedence=\"vpg-icon-base\">\n {iconStylesheet}\n </style>\n <Glyph size={size} strokeWidth={strokeWidth} className={classes.length > 0 ? classes : undefined} />\n </>\n );\n}\n","import {\n AlertCircle as LucideAlertCircle,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Check as LucideCheck,\n ChevronDown as LucideChevronDown,\n ChevronLeft as LucideChevronLeft,\n ChevronRight as LucideChevronRight,\n ChevronUp as LucideChevronUp,\n Info as LucideInfo,\n Loader2 as LucideLoader2,\n Minus as LucideMinus,\n Plus as LucidePlus,\n Search as LucideSearch,\n User as LucideUser,\n X as LucideX,\n} from \"lucide-react\";\nimport type { IconComponent } from \"./types.js\";\n\n// Each icon is imported and re-exported individually — no `export * from \"lucide-react\"` — so a\n// consumer's bundler only pulls in the glyphs actually referenced, never the full lucide set.\n\nexport const ChevronDown: IconComponent = LucideChevronDown;\nexport const ChevronUp: IconComponent = LucideChevronUp;\nexport const ChevronLeft: IconComponent = LucideChevronLeft;\nexport const ChevronRight: IconComponent = LucideChevronRight;\nexport const Check: IconComponent = LucideCheck;\nexport const X: IconComponent = LucideX;\nexport const ArrowRight: IconComponent = LucideArrowRight;\nexport const ArrowLeft: IconComponent = LucideArrowLeft;\nexport const Search: IconComponent = LucideSearch;\nexport const Plus: IconComponent = LucidePlus;\nexport const Minus: IconComponent = LucideMinus;\nexport const AlertCircle: IconComponent = LucideAlertCircle;\nexport const Info: IconComponent = LucideInfo;\nexport const Loader2: IconComponent = LucideLoader2;\nexport const User: IconComponent = LucideUser;\n"]}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ComponentType } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* The subset of `lucide-react`'s own icon component props this package commits to. `@vipengele/react-ui`
|
|
4
|
+
* types its icon-accepting props against this shape rather than lucide's full `LucideProps`, so
|
|
5
|
+
* swapping the icon source later doesn't ripple into every consumer's prop types.
|
|
6
|
+
*/
|
|
7
|
+
export interface IconComponentProps {
|
|
8
|
+
size?: number | string;
|
|
9
|
+
className?: string;
|
|
10
|
+
strokeWidth?: number;
|
|
11
|
+
}
|
|
12
|
+
/** A component matching {@link IconComponentProps} — what every re-exported icon is typed as. */
|
|
13
|
+
export type IconComponent = ComponentType<IconComponentProps>;
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,49 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vipengele/react-icons",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "vipengele icon set — a curated, tree-shakable re-export of lucide-react icons plus the Icon wrapper that sizes them from --vpg-icon-* custom properties",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"
|
|
6
|
+
"type": "module",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"publishConfig": {
|
|
9
|
+
"access": "public",
|
|
10
|
+
"provenance": true
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/vipengele/react.git",
|
|
15
|
+
"directory": "source/react-ui/packages/icons"
|
|
16
|
+
},
|
|
7
17
|
"homepage": "https://vipengele.github.io/react/react-ui/",
|
|
8
|
-
"
|
|
9
|
-
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"default": "./dist/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./package.json": "./package.json"
|
|
24
|
+
},
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"files": [
|
|
27
|
+
"dist",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"lucide-react": "^1.41.0"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"react": "^19",
|
|
35
|
+
"react-dom": "^19"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/react": "^19.0.0",
|
|
39
|
+
"@types/react-dom": "^19.0.0",
|
|
40
|
+
"react": "^19.0.0",
|
|
41
|
+
"react-dom": "^19.0.0",
|
|
42
|
+
"vite": "^8.2.2"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsup && tsc -p tsconfig.build.json",
|
|
46
|
+
"type-check": "tsc -p tsconfig.json --noEmit",
|
|
47
|
+
"test": "vitest run --coverage && node bundle-check/run.mjs"
|
|
48
|
+
}
|
|
49
|
+
}
|