@tokis/icons 1.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 +48 -0
- package/dist/__tests__/icons.test.d.ts +2 -0
- package/dist/__tests__/icons.test.d.ts.map +1 -0
- package/dist/__tests__/icons.test.js +109 -0
- package/dist/__tests__/icons.test.js.map +1 -0
- package/dist/cjs/icon-factory.js +31 -0
- package/dist/cjs/icon-factory.js.map +1 -0
- package/dist/cjs/icons/index.js +57 -0
- package/dist/cjs/icons/index.js.map +1 -0
- package/dist/cjs/index.js +36 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lucide.js +82 -0
- package/dist/cjs/lucide.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/icon-factory.d.ts +20 -0
- package/dist/icon-factory.d.ts.map +1 -0
- package/dist/icon-factory.js +28 -0
- package/dist/icon-factory.js.map +1 -0
- package/dist/icons/index.d.ts +48 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +54 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/lucide.d.ts +69 -0
- package/dist/lucide.d.ts.map +1 -0
- package/dist/lucide.js +77 -0
- package/dist/lucide.js.map +1 -0
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +72 -0
package/README.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# @tokis/icons
|
|
2
|
+
|
|
3
|
+
Tree-shakable SVG icon library for Tokis. Zero dependencies — use the built-in icons directly, or opt into lucide-react as an optional peer.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @tokis/icons
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
> Or install everything at once: `npm install @tokis/tokis`
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
### Built-in icons
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import { SearchIcon, CloseIcon, ChevronDownIcon } from '@tokis/icons';
|
|
19
|
+
|
|
20
|
+
function MyComponent() {
|
|
21
|
+
return <SearchIcon aria-label="Search" />;
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### lucide-react bridge (optional)
|
|
26
|
+
|
|
27
|
+
If you already have `lucide-react` installed, you can use the bridge entry point to consume Lucide icons through the Tokis icon interface:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install lucide-react
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import { SearchIcon } from '@tokis/icons/lucide';
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Peer Dependencies
|
|
38
|
+
|
|
39
|
+
- `react` >= 18.0.0
|
|
40
|
+
- `lucide-react` >= 0.300.0 *(optional — only required for the `/lucide` entry point)*
|
|
41
|
+
|
|
42
|
+
## Documentation
|
|
43
|
+
|
|
44
|
+
Visit [tokis.dev](https://tokis.dev/docs/icons) for the full icon catalogue.
|
|
45
|
+
|
|
46
|
+
## License
|
|
47
|
+
|
|
48
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/icons.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { describe, it, expect } from 'vitest';
|
|
3
|
+
import { render, screen } from '@testing-library/react';
|
|
4
|
+
import { createIcon } from '../icon-factory.js';
|
|
5
|
+
import { ChevronDownIcon, SearchIcon, XIcon, CheckIcon, LoaderIcon, } from '../icons/index.js';
|
|
6
|
+
// ─── createIcon factory ────────────────────────────────────────────────────
|
|
7
|
+
describe('createIcon', () => {
|
|
8
|
+
const TestIcon = createIcon('TestIcon', _jsx("path", { d: "M1 1 L23 23" }));
|
|
9
|
+
it('renders an SVG element', () => {
|
|
10
|
+
const { container } = render(_jsx(TestIcon, {}));
|
|
11
|
+
expect(container.querySelector('svg')).toBeInTheDocument();
|
|
12
|
+
});
|
|
13
|
+
it('sets the displayName on the component', () => {
|
|
14
|
+
expect(TestIcon.displayName).toBe('TestIcon');
|
|
15
|
+
});
|
|
16
|
+
it('uses default size of 24px', () => {
|
|
17
|
+
const { container } = render(_jsx(TestIcon, {}));
|
|
18
|
+
const svg = container.querySelector('svg');
|
|
19
|
+
expect(svg).toHaveAttribute('width', '24px');
|
|
20
|
+
expect(svg).toHaveAttribute('height', '24px');
|
|
21
|
+
});
|
|
22
|
+
it('accepts a custom numeric size', () => {
|
|
23
|
+
const { container } = render(_jsx(TestIcon, { size: 32 }));
|
|
24
|
+
const svg = container.querySelector('svg');
|
|
25
|
+
expect(svg).toHaveAttribute('width', '32px');
|
|
26
|
+
expect(svg).toHaveAttribute('height', '32px');
|
|
27
|
+
});
|
|
28
|
+
it('accepts a string size (e.g. "1.5rem")', () => {
|
|
29
|
+
const { container } = render(_jsx(TestIcon, { size: "1.5rem" }));
|
|
30
|
+
const svg = container.querySelector('svg');
|
|
31
|
+
expect(svg).toHaveAttribute('width', '1.5rem');
|
|
32
|
+
expect(svg).toHaveAttribute('height', '1.5rem');
|
|
33
|
+
});
|
|
34
|
+
it('renders on a 24×24 viewBox regardless of size prop', () => {
|
|
35
|
+
const { container } = render(_jsx(TestIcon, { size: 48 }));
|
|
36
|
+
expect(container.querySelector('svg')).toHaveAttribute('viewBox', '0 0 24 24');
|
|
37
|
+
});
|
|
38
|
+
it('is aria-hidden by default (decorative)', () => {
|
|
39
|
+
const { container } = render(_jsx(TestIcon, {}));
|
|
40
|
+
expect(container.querySelector('svg')).toHaveAttribute('aria-hidden', 'true');
|
|
41
|
+
});
|
|
42
|
+
it('is NOT aria-hidden when aria-label is provided', () => {
|
|
43
|
+
const { container } = render(_jsx(TestIcon, { "aria-label": "Test icon" }));
|
|
44
|
+
const svg = container.querySelector('svg');
|
|
45
|
+
expect(svg).not.toHaveAttribute('aria-hidden', 'true');
|
|
46
|
+
});
|
|
47
|
+
it('has role="img" when aria-label is provided', () => {
|
|
48
|
+
const { container } = render(_jsx(TestIcon, { "aria-label": "Test icon" }));
|
|
49
|
+
expect(container.querySelector('svg')).toHaveAttribute('role', 'img');
|
|
50
|
+
});
|
|
51
|
+
it('renders a <title> element with the aria-label text for AT accessibility', () => {
|
|
52
|
+
const { container } = render(_jsx(TestIcon, { "aria-label": "Close dialog" }));
|
|
53
|
+
const title = container.querySelector('svg title');
|
|
54
|
+
expect(title).toBeInTheDocument();
|
|
55
|
+
expect(title).toHaveTextContent('Close dialog');
|
|
56
|
+
});
|
|
57
|
+
it('does NOT render a <title> element without aria-label', () => {
|
|
58
|
+
const { container } = render(_jsx(TestIcon, {}));
|
|
59
|
+
expect(container.querySelector('title')).not.toBeInTheDocument();
|
|
60
|
+
});
|
|
61
|
+
it('uses currentColor by default for stroke', () => {
|
|
62
|
+
const { container } = render(_jsx(TestIcon, {}));
|
|
63
|
+
expect(container.querySelector('svg')).toHaveAttribute('stroke', 'currentColor');
|
|
64
|
+
});
|
|
65
|
+
it('accepts a custom stroke color', () => {
|
|
66
|
+
const { container } = render(_jsx(TestIcon, { color: "#ff0000" }));
|
|
67
|
+
expect(container.querySelector('svg')).toHaveAttribute('stroke', '#ff0000');
|
|
68
|
+
});
|
|
69
|
+
it('uses default strokeWidth=2', () => {
|
|
70
|
+
const { container } = render(_jsx(TestIcon, {}));
|
|
71
|
+
expect(container.querySelector('svg')).toHaveAttribute('stroke-width', '2');
|
|
72
|
+
});
|
|
73
|
+
it('accepts a custom strokeWidth', () => {
|
|
74
|
+
const { container } = render(_jsx(TestIcon, { strokeWidth: 1.5 }));
|
|
75
|
+
expect(container.querySelector('svg')).toHaveAttribute('stroke-width', '1.5');
|
|
76
|
+
});
|
|
77
|
+
it('passes through extra SVG props (data-testid, className)', () => {
|
|
78
|
+
const { container } = render(_jsx(TestIcon, { "data-testid": "my-icon", className: "custom-icon" }));
|
|
79
|
+
const svg = container.querySelector('svg');
|
|
80
|
+
expect(svg).toHaveAttribute('data-testid', 'my-icon');
|
|
81
|
+
expect(svg).toHaveClass('custom-icon');
|
|
82
|
+
});
|
|
83
|
+
it('is focusable via ref forwarding', () => {
|
|
84
|
+
const ref = { current: null };
|
|
85
|
+
const { container } = render(_jsx(TestIcon, { ref: ref }));
|
|
86
|
+
expect(ref.current).toBe(container.querySelector('svg'));
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
// ─── Built-in icon smoke tests ─────────────────────────────────────────────
|
|
90
|
+
describe('built-in icons render without errors', () => {
|
|
91
|
+
const iconMap = {
|
|
92
|
+
ChevronDownIcon,
|
|
93
|
+
SearchIcon,
|
|
94
|
+
XIcon,
|
|
95
|
+
CheckIcon,
|
|
96
|
+
LoaderIcon,
|
|
97
|
+
};
|
|
98
|
+
Object.entries(iconMap).forEach(([name, Icon]) => {
|
|
99
|
+
it(`${name} renders an SVG element`, () => {
|
|
100
|
+
const { container } = render(_jsx(Icon, {}));
|
|
101
|
+
expect(container.querySelector('svg')).toBeInTheDocument();
|
|
102
|
+
});
|
|
103
|
+
it(`${name} with aria-label is accessible`, () => {
|
|
104
|
+
render(_jsx(Icon, { "aria-label": `${name} icon` }));
|
|
105
|
+
expect(screen.getByRole('img', { name: `${name} icon` })).toBeInTheDocument();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=icons.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.test.js","sourceRoot":"","sources":["../../src/__tests__/icons.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createIcon = createIcon;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
/**
|
|
7
|
+
* Creates a Tokis icon component from raw SVG children.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* ```tsx
|
|
11
|
+
* const ChevronDownIcon = createIcon('ChevronDown', (
|
|
12
|
+
* <path d="M6 9l6 6 6-6" />
|
|
13
|
+
* ));
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* All icons:
|
|
17
|
+
* - render on a 24×24 viewBox
|
|
18
|
+
* - use stroke="currentColor", fill="none" by default (outline style)
|
|
19
|
+
* - are aria-hidden unless aria-label is provided
|
|
20
|
+
* - are tree-shakable (each is a separate named export)
|
|
21
|
+
*/
|
|
22
|
+
function createIcon(displayName, children, defaultStrokeWidth = 2) {
|
|
23
|
+
const Icon = (0, react_1.forwardRef)(function Icon({ size = 24, color = 'currentColor', strokeWidth = defaultStrokeWidth, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, children: _children, ...rest }, ref) {
|
|
24
|
+
const isDecorative = !ariaLabel;
|
|
25
|
+
const px = typeof size === 'number' ? `${size}px` : size;
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { ref: ref, xmlns: "http://www.w3.org/2000/svg", width: px, height: px, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": ariaHidden ?? (isDecorative ? true : undefined), "aria-label": ariaLabel, role: ariaLabel ? 'img' : undefined, ...rest, children: [ariaLabel && (0, jsx_runtime_1.jsx)("title", { children: ariaLabel }), children] }));
|
|
27
|
+
});
|
|
28
|
+
Icon.displayName = displayName;
|
|
29
|
+
return Icon;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=icon-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-factory.js","sourceRoot":"","sources":["../../src/icon-factory.tsx"],"names":[],"mappings":";;AAoBA,gCA6CC;;AAjED,iCAAmC;AAInC;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,UAAU,CACxB,WAAmB,EACnB,QAAmB,EACnB,kBAAkB,GAAG,CAAC;IAEtB,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAgC,SAAS,IAAI,CAClE,EACE,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,cAAc,EACtB,WAAW,GAAG,kBAAkB,EAChC,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,SAAS,EACnB,GAAG,IAAI,EACR,EACD,GAAG;QAEH,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC;QAChC,MAAM,EAAE,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzD,OAAO,CACL,iCACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,WAAW,EACxB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACT,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,gBAChD,SAAS,EACrB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAC/B,IAAI,aAEP,SAAS,IAAI,4CAAQ,SAAS,GAAS,EACvC,QAAQ,IACL,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GripVerticalIcon = exports.SunIcon = exports.MoonIcon = exports.HomeIcon = exports.SettingsIcon = exports.UserIcon = exports.BellIcon = exports.CalendarIcon = exports.EyeOffIcon = exports.EyeIcon = exports.MenuIcon = exports.LoaderIcon = exports.XCircleIcon = exports.CheckCircleIcon = exports.AlertTriangleIcon = exports.AlertCircleIcon = exports.InfoIcon = exports.SortDescIcon = exports.SortAscIcon = exports.FilterIcon = exports.RefreshIcon = exports.EditIcon = exports.TrashIcon = exports.CopyIcon = exports.SearchIcon = exports.CheckIcon = exports.XIcon = exports.MinusIcon = exports.PlusIcon = exports.ExternalLinkIcon = exports.ArrowDownIcon = exports.ArrowUpIcon = exports.ArrowLeftIcon = exports.ArrowRightIcon = exports.ChevronLeftIcon = exports.ChevronRightIcon = exports.ChevronUpIcon = exports.ChevronDownIcon = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* @tokis/icons — built-in SVG icon set.
|
|
7
|
+
*
|
|
8
|
+
* All icons use a 24×24 viewBox with 2px round-capped strokes (outline style)
|
|
9
|
+
* to match the Tokis design language.
|
|
10
|
+
*
|
|
11
|
+
* Every icon is a separate named export for complete tree-shaking.
|
|
12
|
+
* Paths are taken from the Lucide icon set (MIT licence).
|
|
13
|
+
*/
|
|
14
|
+
const icon_factory_js_1 = require("../icon-factory");
|
|
15
|
+
// ─── Navigation & Arrows ─────────────────────────────────────────────────────
|
|
16
|
+
exports.ChevronDownIcon = (0, icon_factory_js_1.createIcon)('ChevronDownIcon', (0, jsx_runtime_1.jsx)("path", { d: "M6 9l6 6 6-6" }));
|
|
17
|
+
exports.ChevronUpIcon = (0, icon_factory_js_1.createIcon)('ChevronUpIcon', (0, jsx_runtime_1.jsx)("path", { d: "M18 15l-6-6-6 6" }));
|
|
18
|
+
exports.ChevronRightIcon = (0, icon_factory_js_1.createIcon)('ChevronRightIcon', (0, jsx_runtime_1.jsx)("path", { d: "M9 18l6-6-6-6" }));
|
|
19
|
+
exports.ChevronLeftIcon = (0, icon_factory_js_1.createIcon)('ChevronLeftIcon', (0, jsx_runtime_1.jsx)("path", { d: "M15 18l-6-6 6-6" }));
|
|
20
|
+
exports.ArrowRightIcon = (0, icon_factory_js_1.createIcon)('ArrowRightIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M5 12h14" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 5l7 7-7 7" })] }));
|
|
21
|
+
exports.ArrowLeftIcon = (0, icon_factory_js_1.createIcon)('ArrowLeftIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M19 12H5" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 19l-7-7 7-7" })] }));
|
|
22
|
+
exports.ArrowUpIcon = (0, icon_factory_js_1.createIcon)('ArrowUpIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M12 19V5" }), (0, jsx_runtime_1.jsx)("path", { d: "M5 12l7-7 7 7" })] }));
|
|
23
|
+
exports.ArrowDownIcon = (0, icon_factory_js_1.createIcon)('ArrowDownIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M12 5v14" }), (0, jsx_runtime_1.jsx)("path", { d: "M19 12l-7 7-7-7" })] }));
|
|
24
|
+
exports.ExternalLinkIcon = (0, icon_factory_js_1.createIcon)('ExternalLinkIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }), (0, jsx_runtime_1.jsx)("polyline", { points: "15 3 21 3 21 9" }), (0, jsx_runtime_1.jsx)("line", { x1: "10", y1: "14", x2: "21", y2: "3" })] }));
|
|
25
|
+
// ─── Actions ─────────────────────────────────────────────────────────────────
|
|
26
|
+
exports.PlusIcon = (0, icon_factory_js_1.createIcon)('PlusIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "5", x2: "12", y2: "19" }), (0, jsx_runtime_1.jsx)("line", { x1: "5", y1: "12", x2: "19", y2: "12" })] }));
|
|
27
|
+
exports.MinusIcon = (0, icon_factory_js_1.createIcon)('MinusIcon', (0, jsx_runtime_1.jsx)("line", { x1: "5", y1: "12", x2: "19", y2: "12" }));
|
|
28
|
+
exports.XIcon = (0, icon_factory_js_1.createIcon)('XIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), (0, jsx_runtime_1.jsx)("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }));
|
|
29
|
+
exports.CheckIcon = (0, icon_factory_js_1.createIcon)('CheckIcon', (0, jsx_runtime_1.jsx)("polyline", { points: "20 6 9 17 4 12" }));
|
|
30
|
+
exports.SearchIcon = (0, icon_factory_js_1.createIcon)('SearchIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("circle", { cx: "11", cy: "11", r: "8" }), (0, jsx_runtime_1.jsx)("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }));
|
|
31
|
+
exports.CopyIcon = (0, icon_factory_js_1.createIcon)('CopyIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }), (0, jsx_runtime_1.jsx)("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })] }));
|
|
32
|
+
exports.TrashIcon = (0, icon_factory_js_1.createIcon)('TrashIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("polyline", { points: "3 6 5 6 21 6" }), (0, jsx_runtime_1.jsx)("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })] }));
|
|
33
|
+
exports.EditIcon = (0, icon_factory_js_1.createIcon)('EditIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }), (0, jsx_runtime_1.jsx)("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })] }));
|
|
34
|
+
exports.RefreshIcon = (0, icon_factory_js_1.createIcon)('RefreshIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("polyline", { points: "23 4 23 10 17 10" }), (0, jsx_runtime_1.jsx)("polyline", { points: "1 20 1 14 7 14" }), (0, jsx_runtime_1.jsx)("path", { d: "M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" })] }));
|
|
35
|
+
exports.FilterIcon = (0, icon_factory_js_1.createIcon)('FilterIcon', (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }) }));
|
|
36
|
+
exports.SortAscIcon = (0, icon_factory_js_1.createIcon)('SortAscIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "9", x2: "21", y2: "9" }), (0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "15", x2: "14", y2: "15" }), (0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "21", x2: "8", y2: "21" }), (0, jsx_runtime_1.jsx)("polyline", { points: "15 3 21 9 15 9" })] }));
|
|
37
|
+
exports.SortDescIcon = (0, icon_factory_js_1.createIcon)('SortDescIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "9", x2: "21", y2: "9" }), (0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "15", x2: "14", y2: "15" }), (0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "21", x2: "8", y2: "21" }), (0, jsx_runtime_1.jsx)("polyline", { points: "15 17 21 21 15 21" })] }));
|
|
38
|
+
// ─── Status / Feedback ────────────────────────────────────────────────────────
|
|
39
|
+
exports.InfoIcon = (0, icon_factory_js_1.createIcon)('InfoIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "10" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }));
|
|
40
|
+
exports.AlertCircleIcon = (0, icon_factory_js_1.createIcon)('AlertCircleIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "10" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }));
|
|
41
|
+
exports.AlertTriangleIcon = (0, icon_factory_js_1.createIcon)('AlertTriangleIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "9", x2: "12", y2: "13" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] }));
|
|
42
|
+
exports.CheckCircleIcon = (0, icon_factory_js_1.createIcon)('CheckCircleIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }), (0, jsx_runtime_1.jsx)("polyline", { points: "22 4 12 14.01 9 11.01" })] }));
|
|
43
|
+
exports.XCircleIcon = (0, icon_factory_js_1.createIcon)('XCircleIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "10" }), (0, jsx_runtime_1.jsx)("line", { x1: "15", y1: "9", x2: "9", y2: "15" }), (0, jsx_runtime_1.jsx)("line", { x1: "9", y1: "9", x2: "15", y2: "15" })] }));
|
|
44
|
+
exports.LoaderIcon = (0, icon_factory_js_1.createIcon)('LoaderIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "2", x2: "12", y2: "6" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "18", x2: "12", y2: "22" }), (0, jsx_runtime_1.jsx)("line", { x1: "4.93", y1: "4.93", x2: "7.76", y2: "7.76" }), (0, jsx_runtime_1.jsx)("line", { x1: "16.24", y1: "16.24", x2: "19.07", y2: "19.07" }), (0, jsx_runtime_1.jsx)("line", { x1: "2", y1: "12", x2: "6", y2: "12" }), (0, jsx_runtime_1.jsx)("line", { x1: "18", y1: "12", x2: "22", y2: "12" }), (0, jsx_runtime_1.jsx)("line", { x1: "4.93", y1: "19.07", x2: "7.76", y2: "16.24" }), (0, jsx_runtime_1.jsx)("line", { x1: "16.24", y1: "7.76", x2: "19.07", y2: "4.93" })] }));
|
|
45
|
+
// ─── UI / Interface ───────────────────────────────────────────────────────────
|
|
46
|
+
exports.MenuIcon = (0, icon_factory_js_1.createIcon)('MenuIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "12", x2: "21", y2: "12" }), (0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "6", x2: "21", y2: "6" }), (0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "18", x2: "21", y2: "18" })] }));
|
|
47
|
+
exports.EyeIcon = (0, icon_factory_js_1.createIcon)('EyeIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }), (0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "3" })] }));
|
|
48
|
+
exports.EyeOffIcon = (0, icon_factory_js_1.createIcon)('EyeOffIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94" }), (0, jsx_runtime_1.jsx)("path", { d: "M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19" }), (0, jsx_runtime_1.jsx)("line", { x1: "1", y1: "1", x2: "23", y2: "23" })] }));
|
|
49
|
+
exports.CalendarIcon = (0, icon_factory_js_1.createIcon)('CalendarIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), (0, jsx_runtime_1.jsx)("line", { x1: "16", y1: "2", x2: "16", y2: "6" }), (0, jsx_runtime_1.jsx)("line", { x1: "8", y1: "2", x2: "8", y2: "6" }), (0, jsx_runtime_1.jsx)("line", { x1: "3", y1: "10", x2: "21", y2: "10" })] }));
|
|
50
|
+
exports.BellIcon = (0, icon_factory_js_1.createIcon)('BellIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" }), (0, jsx_runtime_1.jsx)("path", { d: "M13.73 21a2 2 0 0 1-3.46 0" })] }));
|
|
51
|
+
exports.UserIcon = (0, icon_factory_js_1.createIcon)('UserIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }), (0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "7", r: "4" })] }));
|
|
52
|
+
exports.SettingsIcon = (0, icon_factory_js_1.createIcon)('SettingsIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "3" }), (0, jsx_runtime_1.jsx)("path", { d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z" })] }));
|
|
53
|
+
exports.HomeIcon = (0, icon_factory_js_1.createIcon)('HomeIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("path", { d: "M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" }), (0, jsx_runtime_1.jsx)("polyline", { points: "9 22 9 12 15 12 15 22" })] }));
|
|
54
|
+
exports.MoonIcon = (0, icon_factory_js_1.createIcon)('MoonIcon', (0, jsx_runtime_1.jsx)("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" }));
|
|
55
|
+
exports.SunIcon = (0, icon_factory_js_1.createIcon)('SunIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "5" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "1", x2: "12", y2: "3" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "21", x2: "12", y2: "23" }), (0, jsx_runtime_1.jsx)("line", { x1: "4.22", y1: "4.22", x2: "5.64", y2: "5.64" }), (0, jsx_runtime_1.jsx)("line", { x1: "18.36", y1: "18.36", x2: "19.78", y2: "19.78" }), (0, jsx_runtime_1.jsx)("line", { x1: "1", y1: "12", x2: "3", y2: "12" }), (0, jsx_runtime_1.jsx)("line", { x1: "21", y1: "12", x2: "23", y2: "12" }), (0, jsx_runtime_1.jsx)("line", { x1: "4.22", y1: "19.78", x2: "5.64", y2: "18.36" }), (0, jsx_runtime_1.jsx)("line", { x1: "18.36", y1: "5.64", x2: "19.78", y2: "4.22" })] }));
|
|
56
|
+
exports.GripVerticalIcon = (0, icon_factory_js_1.createIcon)('GripVerticalIcon', (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("circle", { cx: "9", cy: "5", r: "1", fill: "currentColor", stroke: "none" }), (0, jsx_runtime_1.jsx)("circle", { cx: "9", cy: "12", r: "1", fill: "currentColor", stroke: "none" }), (0, jsx_runtime_1.jsx)("circle", { cx: "9", cy: "19", r: "1", fill: "currentColor", stroke: "none" }), (0, jsx_runtime_1.jsx)("circle", { cx: "15", cy: "5", r: "1", fill: "currentColor", stroke: "none" }), (0, jsx_runtime_1.jsx)("circle", { cx: "15", cy: "12", r: "1", fill: "currentColor", stroke: "none" }), (0, jsx_runtime_1.jsx)("circle", { cx: "15", cy: "19", r: "1", fill: "currentColor", stroke: "none" })] }), 1);
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/icons/index.tsx"],"names":[],"mappings":";;;;AAAA;;;;;;;;GAQG;AAEH,wDAAgD;AAEhD,gFAAgF;AAEnE,QAAA,eAAe,GAAG,IAAA,4BAAU,EACvC,iBAAiB,EACjB,iCAAM,CAAC,EAAC,cAAc,GAAG,CAC1B,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,4BAAU,EACrC,eAAe,EACf,iCAAM,CAAC,EAAC,iBAAiB,GAAG,CAC7B,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAA,4BAAU,EACxC,kBAAkB,EAClB,iCAAM,CAAC,EAAC,eAAe,GAAG,CAC3B,CAAC;AAEW,QAAA,eAAe,GAAG,IAAA,4BAAU,EACvC,iBAAiB,EACjB,iCAAM,CAAC,EAAC,iBAAiB,GAAG,CAC7B,CAAC;AAEW,QAAA,cAAc,GAAG,IAAA,4BAAU,EACtC,gBAAgB,EAChB,6DACE,iCAAM,CAAC,EAAC,UAAU,GAAG,EACrB,iCAAM,CAAC,EAAC,eAAe,GAAG,IACzB,CACJ,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,4BAAU,EACrC,eAAe,EACf,6DACE,iCAAM,CAAC,EAAC,UAAU,GAAG,EACrB,iCAAM,CAAC,EAAC,iBAAiB,GAAG,IAC3B,CACJ,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,4BAAU,EACnC,aAAa,EACb,6DACE,iCAAM,CAAC,EAAC,UAAU,GAAG,EACrB,iCAAM,CAAC,EAAC,eAAe,GAAG,IACzB,CACJ,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,4BAAU,EACrC,eAAe,EACf,6DACE,iCAAM,CAAC,EAAC,UAAU,GAAG,EACrB,iCAAM,CAAC,EAAC,iBAAiB,GAAG,IAC3B,CACJ,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAA,4BAAU,EACxC,kBAAkB,EAClB,6DACE,iCAAM,CAAC,EAAC,0DAA0D,GAAG,EACrE,qCAAU,MAAM,EAAC,gBAAgB,GAAG,EACpC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,IACtC,CACJ,CAAC;AAEF,gFAAgF;AAEnE,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,6DACE,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IACtC,CACJ,CAAC;AAEW,QAAA,SAAS,GAAG,IAAA,4BAAU,EACjC,WAAW,EACX,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,CACxC,CAAC;AAEW,QAAA,KAAK,GAAG,IAAA,4BAAU,EAC7B,OAAO,EACP,6DACE,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IACrC,CACJ,CAAC;AAEW,QAAA,SAAS,GAAG,IAAA,4BAAU,EACjC,WAAW,EACX,qCAAU,MAAM,EAAC,gBAAgB,GAAG,CACrC,CAAC;AAEW,QAAA,UAAU,GAAG,IAAA,4BAAU,EAClC,YAAY,EACZ,6DACE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAChC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,GAAG,IAC7C,CACJ,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,6DACE,iCAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACzD,iCAAM,CAAC,EAAC,yDAAyD,GAAG,IACnE,CACJ,CAAC;AAEW,QAAA,SAAS,GAAG,IAAA,4BAAU,EACjC,WAAW,EACX,6DACE,qCAAU,MAAM,EAAC,cAAc,GAAG,EAClC,iCAAM,CAAC,EAAC,gFAAgF,GAAG,IAC1F,CACJ,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,6DACE,iCAAM,CAAC,EAAC,4DAA4D,GAAG,EACvE,iCAAM,CAAC,EAAC,yDAAyD,GAAG,IACnE,CACJ,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,4BAAU,EACnC,aAAa,EACb,6DACE,qCAAU,MAAM,EAAC,kBAAkB,GAAG,EACtC,qCAAU,MAAM,EAAC,gBAAgB,GAAG,EACpC,iCAAM,CAAC,EAAC,sEAAsE,GAAG,IAChF,CACJ,CAAC;AAEW,QAAA,UAAU,GAAG,IAAA,4BAAU,EAClC,YAAY,EACZ,2DACE,oCAAS,MAAM,EAAC,6CAA6C,GAAG,GAC/D,CACJ,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,4BAAU,EACnC,aAAa,EACb,6DACE,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACrC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,qCAAU,MAAM,EAAC,gBAAgB,GAAG,IACnC,CACJ,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,4BAAU,EACpC,cAAc,EACd,6DACE,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACrC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,qCAAU,MAAM,EAAC,mBAAmB,GAAG,IACtC,CACJ,CAAC;AAEF,iFAAiF;AAEpE,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,6DACE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,GAAG,IAC1C,CACJ,CAAC;AAEW,QAAA,eAAe,GAAG,IAAA,4BAAU,EACvC,iBAAiB,EACjB,6DACE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,GAAG,IAC1C,CACJ,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,4BAAU,EACzC,mBAAmB,EACnB,6DACE,iCAAM,CAAC,EAAC,0FAA0F,GAAG,EACrG,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,GAAG,IAC1C,CACJ,CAAC;AAEW,QAAA,eAAe,GAAG,IAAA,4BAAU,EACvC,iBAAiB,EACjB,6DACE,iCAAM,CAAC,EAAC,oCAAoC,GAAG,EAC/C,qCAAU,MAAM,EAAC,uBAAuB,GAAG,IAC1C,CACJ,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,4BAAU,EACnC,aAAa,EACb,6DACE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IACrC,CACJ,CAAC;AAEW,QAAA,UAAU,GAAG,IAAA,4BAAU,EAClC,YAAY,EACZ,6DACE,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACtC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,iCAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,GAAG,EAChD,iCAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,GAAG,EACpD,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,iCAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,GAAG,EAClD,iCAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,GAAG,IACjD,CACJ,CAAC;AAEF,iFAAiF;AAEpE,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,6DACE,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACrC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IACtC,CACJ,CAAC;AAEW,QAAA,OAAO,GAAG,IAAA,4BAAU,EAC/B,SAAS,EACT,6DACE,iCAAM,CAAC,EAAC,8CAA8C,GAAG,EACzD,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,IAC/B,CACJ,CAAC;AAEW,QAAA,UAAU,GAAG,IAAA,4BAAU,EAClC,YAAY,EACZ,6DACE,iCAAM,CAAC,EAAC,iFAAiF,GAAG,EAC5F,iCAAM,CAAC,EAAC,wEAAwE,GAAG,EACnF,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IACrC,CACJ,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,4BAAU,EACpC,cAAc,EACd,6DACE,iCAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACzD,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACtC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACpC,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IACtC,CACJ,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,6DACE,iCAAM,CAAC,EAAC,6CAA6C,GAAG,EACxD,iCAAM,CAAC,EAAC,4BAA4B,GAAG,IACtC,CACJ,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,6DACE,iCAAM,CAAC,EAAC,2CAA2C,GAAG,EACtD,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,GAAG,IAC9B,CACJ,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,4BAAU,EACpC,cAAc,EACd,6DACE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAChC,iCAAM,CAAC,EAAC,wmBAAwmB,GAAG,IAClnB,CACJ,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,6DACE,iCAAM,CAAC,EAAC,gDAAgD,GAAG,EAC3D,qCAAU,MAAM,EAAC,uBAAuB,GAAG,IAC1C,CACJ,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAA,4BAAU,EAChC,UAAU,EACV,iCAAM,CAAC,EAAC,iDAAiD,GAAG,CAC7D,CAAC;AAEW,QAAA,OAAO,GAAG,IAAA,4BAAU,EAC/B,SAAS,EACT,6DACE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAChC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACtC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,iCAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,GAAG,EAChD,iCAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,GAAG,EACpD,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,iCAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,GAAG,EAClD,iCAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,GAAG,IACjD,CACJ,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAA,4BAAU,EACxC,kBAAkB,EAClB,6DACE,mCAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,EAChE,mCAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,EACjE,mCAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,EACjE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,EACjE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,EAClE,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,IACjE,EACH,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @tokis/icons
|
|
4
|
+
*
|
|
5
|
+
* Tree-shakable SVG icon library for Tokis.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // Import individual icons (fully tree-shakable):
|
|
9
|
+
* import { ChevronDownIcon, SearchIcon } from '@tokis/icons';
|
|
10
|
+
*
|
|
11
|
+
* // Use Lucide React icons with the Tokis API (optional peer dep):
|
|
12
|
+
* import { createTokisIcon, LucideIcon } from '@tokis/icons/lucide';
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
27
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.createIcon = void 0;
|
|
31
|
+
// Icon factory (for custom icons)
|
|
32
|
+
var icon_factory_js_1 = require("./icon-factory");
|
|
33
|
+
Object.defineProperty(exports, "createIcon", { enumerable: true, get: function () { return icon_factory_js_1.createIcon; } });
|
|
34
|
+
// All built-in icons
|
|
35
|
+
__exportStar(require("./icons/index"), exports);
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;AAKH,kCAAkC;AAClC,qDAA+C;AAAtC,6GAAA,UAAU,OAAA;AAEnB,qBAAqB;AACrB,mDAAiC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LucideIcon = void 0;
|
|
4
|
+
exports.createTokisIcon = createTokisIcon;
|
|
5
|
+
exports.useLucideIconProps = useLucideIconProps;
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
/**
|
|
8
|
+
* @tokis/icons/lucide — Native Lucide React adapter.
|
|
9
|
+
*
|
|
10
|
+
* This module bridges the `lucide-react` icon library into the Tokis icon API.
|
|
11
|
+
* It is a **separate entry point** so that projects that don't use Lucide
|
|
12
|
+
* don't pay the peer-dep resolution cost.
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```tsx
|
|
16
|
+
* // 1. Wrap a single Lucide icon to match the TokisIconProps API:
|
|
17
|
+
* import { createTokisIcon } from '@tokis/icons/lucide';
|
|
18
|
+
* import { Rocket } from 'lucide-react';
|
|
19
|
+
* const RocketIcon = createTokisIcon(Rocket);
|
|
20
|
+
* <RocketIcon size={20} aria-label="Launch" />
|
|
21
|
+
*
|
|
22
|
+
* // 2. Render any Lucide icon inline (useful in dynamic contexts):
|
|
23
|
+
* import { LucideIcon } from '@tokis/icons/lucide';
|
|
24
|
+
* import { Rocket } from 'lucide-react';
|
|
25
|
+
* <LucideIcon icon={Rocket} size={20} />
|
|
26
|
+
*
|
|
27
|
+
* // 3. Re-export every Lucide icon already shaped like Tokis icons:
|
|
28
|
+
* import { allLucideIcons, LucideChevronDown } from '@tokis/icons/lucide';
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
const react_1 = require("react");
|
|
32
|
+
// ─── createTokisIcon ──────────────────────────────────────────────────────────
|
|
33
|
+
/**
|
|
34
|
+
* Wraps a `lucide-react` icon component so it conforms to `TokisIconProps`.
|
|
35
|
+
*
|
|
36
|
+
* ```tsx
|
|
37
|
+
* import { createTokisIcon } from '@tokis/icons/lucide';
|
|
38
|
+
* import { Rocket } from 'lucide-react';
|
|
39
|
+
*
|
|
40
|
+
* export const RocketIcon = createTokisIcon(Rocket, 'RocketIcon');
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
function createTokisIcon(LucideComponent, displayName) {
|
|
44
|
+
const Icon = (0, react_1.forwardRef)(function Icon({ size = 24, color = 'currentColor', strokeWidth = 2, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, ...rest }, _ref) {
|
|
45
|
+
const isDecorative = !ariaLabel;
|
|
46
|
+
return ((0, jsx_runtime_1.jsx)(LucideComponent, { size: size, color: color, strokeWidth: strokeWidth, "aria-label": ariaLabel, "aria-hidden": ariaHidden ?? (isDecorative ? true : undefined), role: ariaLabel ? 'img' : undefined, ...rest }));
|
|
47
|
+
});
|
|
48
|
+
Icon.displayName = displayName ?? LucideComponent.displayName ?? 'TokisLucideIcon';
|
|
49
|
+
return Icon;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Renders any Lucide icon with Tokis prop conventions.
|
|
53
|
+
* Useful when the icon is dynamic (stored in data or chosen at runtime).
|
|
54
|
+
*
|
|
55
|
+
* ```tsx
|
|
56
|
+
* <LucideIcon icon={Rocket} size={20} aria-label="Launch" />
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
exports.LucideIcon = (0, react_1.forwardRef)(function LucideIcon({ icon: IconComponent, size = 24, color = 'currentColor', strokeWidth = 2, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, ...rest }, _ref) {
|
|
60
|
+
const isDecorative = !ariaLabel;
|
|
61
|
+
return ((0, jsx_runtime_1.jsx)(IconComponent, { size: size, color: color, strokeWidth: strokeWidth, "aria-label": ariaLabel, "aria-hidden": ariaHidden ?? (isDecorative ? true : undefined), role: ariaLabel ? 'img' : undefined, ...rest }));
|
|
62
|
+
});
|
|
63
|
+
exports.LucideIcon.displayName = 'LucideIcon';
|
|
64
|
+
// ─── useLucideIcon hook ───────────────────────────────────────────────────────
|
|
65
|
+
/**
|
|
66
|
+
* Returns merged Tokis + Lucide default props.
|
|
67
|
+
* Use this when building your own icon wrappers that mix Lucide with Tokis.
|
|
68
|
+
*/
|
|
69
|
+
function useLucideIconProps(props) {
|
|
70
|
+
const { size = 24, color = 'currentColor', strokeWidth = 2, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, ...rest } = props;
|
|
71
|
+
const isDecorative = !ariaLabel;
|
|
72
|
+
return {
|
|
73
|
+
size,
|
|
74
|
+
color,
|
|
75
|
+
strokeWidth,
|
|
76
|
+
'aria-label': ariaLabel,
|
|
77
|
+
'aria-hidden': (ariaHidden ?? (isDecorative ? true : undefined)),
|
|
78
|
+
role: ariaLabel ? 'img' : undefined,
|
|
79
|
+
...rest,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=lucide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide.js","sourceRoot":"","sources":["../../src/lucide.tsx"],"names":[],"mappings":";;;AAyDA,0CA+BC;AAqDD,gDAqBC;;AAlKD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,iCAAmC;AAoBnC,iFAAiF;AAEjF;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAC7B,eAAoC,EACpC,WAAoB;IAEpB,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAgC,SAAS,IAAI,CAClE,EACE,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,cAAc,EACtB,WAAW,GAAG,CAAC,EACf,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACR,EACD,IAAI;QAEJ,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC;QAChC,OAAO,CACL,uBAAC,eAAe,IACd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,gBACZ,SAAS,iBACR,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAC5D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAC/B,IAAI,GACR,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,eAAe,CAAC,WAAW,IAAI,iBAAiB,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AASD;;;;;;;GAOG;AACU,QAAA,UAAU,GAAG,IAAA,kBAAU,EAClC,SAAS,UAAU,CACjB,EACE,IAAI,EAAE,aAAa,EACnB,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,cAAc,EACtB,WAAW,GAAG,CAAC,EACf,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACR,EACD,IAAI;IAEJ,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC;IAChC,OAAO,CACL,uBAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,gBACZ,SAAS,iBACR,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAC5D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAC/B,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,iFAAiF;AAEjF;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,MAAM,EACJ,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,cAAc,EACtB,WAAW,GAAG,CAAC,EACf,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC;IAEhC,OAAO;QACL,IAAI;QACJ,KAAK;QACL,WAAW;QACX,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAwB;QACvF,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACnC,GAAG,IAAI;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { TokisIconProps } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Tokis icon component from raw SVG children.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* ```tsx
|
|
8
|
+
* const ChevronDownIcon = createIcon('ChevronDown', (
|
|
9
|
+
* <path d="M6 9l6 6 6-6" />
|
|
10
|
+
* ));
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* All icons:
|
|
14
|
+
* - render on a 24×24 viewBox
|
|
15
|
+
* - use stroke="currentColor", fill="none" by default (outline style)
|
|
16
|
+
* - are aria-hidden unless aria-label is provided
|
|
17
|
+
* - are tree-shakable (each is a separate named export)
|
|
18
|
+
*/
|
|
19
|
+
export declare function createIcon(displayName: string, children: ReactNode, defaultStrokeWidth?: number): import("react").ForwardRefExoticComponent<Omit<TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
20
|
+
//# sourceMappingURL=icon-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-factory.d.ts","sourceRoot":"","sources":["../src/icon-factory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,EACnB,kBAAkB,SAAI,yHA0CvB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Tokis icon component from raw SVG children.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* ```tsx
|
|
8
|
+
* const ChevronDownIcon = createIcon('ChevronDown', (
|
|
9
|
+
* <path d="M6 9l6 6 6-6" />
|
|
10
|
+
* ));
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* All icons:
|
|
14
|
+
* - render on a 24×24 viewBox
|
|
15
|
+
* - use stroke="currentColor", fill="none" by default (outline style)
|
|
16
|
+
* - are aria-hidden unless aria-label is provided
|
|
17
|
+
* - are tree-shakable (each is a separate named export)
|
|
18
|
+
*/
|
|
19
|
+
export function createIcon(displayName, children, defaultStrokeWidth = 2) {
|
|
20
|
+
const Icon = forwardRef(function Icon({ size = 24, color = 'currentColor', strokeWidth = defaultStrokeWidth, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, children: _children, ...rest }, ref) {
|
|
21
|
+
const isDecorative = !ariaLabel;
|
|
22
|
+
const px = typeof size === 'number' ? `${size}px` : size;
|
|
23
|
+
return (_jsxs("svg", { ref: ref, xmlns: "http://www.w3.org/2000/svg", width: px, height: px, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": ariaHidden ?? (isDecorative ? true : undefined), "aria-label": ariaLabel, role: ariaLabel ? 'img' : undefined, ...rest, children: [ariaLabel && _jsx("title", { children: ariaLabel }), children] }));
|
|
24
|
+
});
|
|
25
|
+
Icon.displayName = displayName;
|
|
26
|
+
return Icon;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=icon-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-factory.js","sourceRoot":"","sources":["../src/icon-factory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAInC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CACxB,WAAmB,EACnB,QAAmB,EACnB,kBAAkB,GAAG,CAAC;IAEtB,MAAM,IAAI,GAAG,UAAU,CAAgC,SAAS,IAAI,CAClE,EACE,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,cAAc,EACtB,WAAW,GAAG,kBAAkB,EAChC,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,SAAS,EACnB,GAAG,IAAI,EACR,EACD,GAAG;QAEH,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC;QAChC,MAAM,EAAE,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzD,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,WAAW,EACxB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACT,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,gBAChD,SAAS,EACrB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAC/B,IAAI,aAEP,SAAS,IAAI,0BAAQ,SAAS,GAAS,EACvC,QAAQ,IACL,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tokis/icons — built-in SVG icon set.
|
|
3
|
+
*
|
|
4
|
+
* All icons use a 24×24 viewBox with 2px round-capped strokes (outline style)
|
|
5
|
+
* to match the Tokis design language.
|
|
6
|
+
*
|
|
7
|
+
* Every icon is a separate named export for complete tree-shaking.
|
|
8
|
+
* Paths are taken from the Lucide icon set (MIT licence).
|
|
9
|
+
*/
|
|
10
|
+
export declare const ChevronDownIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
11
|
+
export declare const ChevronUpIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
12
|
+
export declare const ChevronRightIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
13
|
+
export declare const ChevronLeftIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
14
|
+
export declare const ArrowRightIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
15
|
+
export declare const ArrowLeftIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
16
|
+
export declare const ArrowUpIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
17
|
+
export declare const ArrowDownIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
18
|
+
export declare const ExternalLinkIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
19
|
+
export declare const PlusIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
20
|
+
export declare const MinusIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
21
|
+
export declare const XIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
22
|
+
export declare const CheckIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
23
|
+
export declare const SearchIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
24
|
+
export declare const CopyIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
25
|
+
export declare const TrashIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
26
|
+
export declare const EditIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
27
|
+
export declare const RefreshIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
28
|
+
export declare const FilterIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
29
|
+
export declare const SortAscIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
30
|
+
export declare const SortDescIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
31
|
+
export declare const InfoIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
32
|
+
export declare const AlertCircleIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
33
|
+
export declare const AlertTriangleIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
34
|
+
export declare const CheckCircleIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
35
|
+
export declare const XCircleIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
36
|
+
export declare const LoaderIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
37
|
+
export declare const MenuIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
38
|
+
export declare const EyeIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
39
|
+
export declare const EyeOffIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
40
|
+
export declare const CalendarIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
41
|
+
export declare const BellIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
42
|
+
export declare const UserIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
43
|
+
export declare const SettingsIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
44
|
+
export declare const HomeIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
45
|
+
export declare const MoonIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
46
|
+
export declare const SunIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
47
|
+
export declare const GripVerticalIcon: import("react").ForwardRefExoticComponent<Omit<import("../types.js").TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,eAAO,MAAM,eAAe,6IAG3B,CAAC;AAEF,eAAO,MAAM,aAAa,6IAGzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,6IAG5B,CAAC;AAEF,eAAO,MAAM,eAAe,6IAG3B,CAAC;AAEF,eAAO,MAAM,cAAc,6IAM1B,CAAC;AAEF,eAAO,MAAM,aAAa,6IAMzB,CAAC;AAEF,eAAO,MAAM,WAAW,6IAMvB,CAAC;AAEF,eAAO,MAAM,aAAa,6IAMzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,6IAO5B,CAAC;AAIF,eAAO,MAAM,QAAQ,6IAMpB,CAAC;AAEF,eAAO,MAAM,SAAS,6IAGrB,CAAC;AAEF,eAAO,MAAM,KAAK,6IAMjB,CAAC;AAEF,eAAO,MAAM,SAAS,6IAGrB,CAAC;AAEF,eAAO,MAAM,UAAU,6IAMtB,CAAC;AAEF,eAAO,MAAM,QAAQ,6IAMpB,CAAC;AAEF,eAAO,MAAM,SAAS,6IAMrB,CAAC;AAEF,eAAO,MAAM,QAAQ,6IAMpB,CAAC;AAEF,eAAO,MAAM,WAAW,6IAOvB,CAAC;AAEF,eAAO,MAAM,UAAU,6IAKtB,CAAC;AAEF,eAAO,MAAM,WAAW,6IAQvB,CAAC;AAEF,eAAO,MAAM,YAAY,6IAQxB,CAAC;AAIF,eAAO,MAAM,QAAQ,6IAOpB,CAAC;AAEF,eAAO,MAAM,eAAe,6IAO3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,6IAO7B,CAAC;AAEF,eAAO,MAAM,eAAe,6IAM3B,CAAC;AAEF,eAAO,MAAM,WAAW,6IAOvB,CAAC;AAEF,eAAO,MAAM,UAAU,6IAYtB,CAAC;AAIF,eAAO,MAAM,QAAQ,6IAOpB,CAAC;AAEF,eAAO,MAAM,OAAO,6IAMnB,CAAC;AAEF,eAAO,MAAM,UAAU,6IAOtB,CAAC;AAEF,eAAO,MAAM,YAAY,6IAQxB,CAAC;AAEF,eAAO,MAAM,QAAQ,6IAMpB,CAAC;AAEF,eAAO,MAAM,QAAQ,6IAMpB,CAAC;AAEF,eAAO,MAAM,YAAY,6IAMxB,CAAC;AAEF,eAAO,MAAM,QAAQ,6IAMpB,CAAC;AAEF,eAAO,MAAM,QAAQ,6IAGpB,CAAC;AAEF,eAAO,MAAM,OAAO,6IAanB,CAAC;AAEF,eAAO,MAAM,gBAAgB,6IAW5B,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* @tokis/icons — built-in SVG icon set.
|
|
4
|
+
*
|
|
5
|
+
* All icons use a 24×24 viewBox with 2px round-capped strokes (outline style)
|
|
6
|
+
* to match the Tokis design language.
|
|
7
|
+
*
|
|
8
|
+
* Every icon is a separate named export for complete tree-shaking.
|
|
9
|
+
* Paths are taken from the Lucide icon set (MIT licence).
|
|
10
|
+
*/
|
|
11
|
+
import { createIcon } from '../icon-factory.js';
|
|
12
|
+
// ─── Navigation & Arrows ─────────────────────────────────────────────────────
|
|
13
|
+
export const ChevronDownIcon = createIcon('ChevronDownIcon', _jsx("path", { d: "M6 9l6 6 6-6" }));
|
|
14
|
+
export const ChevronUpIcon = createIcon('ChevronUpIcon', _jsx("path", { d: "M18 15l-6-6-6 6" }));
|
|
15
|
+
export const ChevronRightIcon = createIcon('ChevronRightIcon', _jsx("path", { d: "M9 18l6-6-6-6" }));
|
|
16
|
+
export const ChevronLeftIcon = createIcon('ChevronLeftIcon', _jsx("path", { d: "M15 18l-6-6 6-6" }));
|
|
17
|
+
export const ArrowRightIcon = createIcon('ArrowRightIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M5 12h14" }), _jsx("path", { d: "M12 5l7 7-7 7" })] }));
|
|
18
|
+
export const ArrowLeftIcon = createIcon('ArrowLeftIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M19 12H5" }), _jsx("path", { d: "M12 19l-7-7 7-7" })] }));
|
|
19
|
+
export const ArrowUpIcon = createIcon('ArrowUpIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M12 19V5" }), _jsx("path", { d: "M5 12l7-7 7 7" })] }));
|
|
20
|
+
export const ArrowDownIcon = createIcon('ArrowDownIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M19 12l-7 7-7-7" })] }));
|
|
21
|
+
export const ExternalLinkIcon = createIcon('ExternalLinkIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }), _jsx("polyline", { points: "15 3 21 3 21 9" }), _jsx("line", { x1: "10", y1: "14", x2: "21", y2: "3" })] }));
|
|
22
|
+
// ─── Actions ─────────────────────────────────────────────────────────────────
|
|
23
|
+
export const PlusIcon = createIcon('PlusIcon', _jsxs(_Fragment, { children: [_jsx("line", { x1: "12", y1: "5", x2: "12", y2: "19" }), _jsx("line", { x1: "5", y1: "12", x2: "19", y2: "12" })] }));
|
|
24
|
+
export const MinusIcon = createIcon('MinusIcon', _jsx("line", { x1: "5", y1: "12", x2: "19", y2: "12" }));
|
|
25
|
+
export const XIcon = createIcon('XIcon', _jsxs(_Fragment, { children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }));
|
|
26
|
+
export const CheckIcon = createIcon('CheckIcon', _jsx("polyline", { points: "20 6 9 17 4 12" }));
|
|
27
|
+
export const SearchIcon = createIcon('SearchIcon', _jsxs(_Fragment, { children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }));
|
|
28
|
+
export const CopyIcon = createIcon('CopyIcon', _jsxs(_Fragment, { children: [_jsx("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }), _jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })] }));
|
|
29
|
+
export const TrashIcon = createIcon('TrashIcon', _jsxs(_Fragment, { children: [_jsx("polyline", { points: "3 6 5 6 21 6" }), _jsx("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })] }));
|
|
30
|
+
export const EditIcon = createIcon('EditIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }), _jsx("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })] }));
|
|
31
|
+
export const RefreshIcon = createIcon('RefreshIcon', _jsxs(_Fragment, { children: [_jsx("polyline", { points: "23 4 23 10 17 10" }), _jsx("polyline", { points: "1 20 1 14 7 14" }), _jsx("path", { d: "M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" })] }));
|
|
32
|
+
export const FilterIcon = createIcon('FilterIcon', _jsx(_Fragment, { children: _jsx("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }) }));
|
|
33
|
+
export const SortAscIcon = createIcon('SortAscIcon', _jsxs(_Fragment, { children: [_jsx("line", { x1: "3", y1: "9", x2: "21", y2: "9" }), _jsx("line", { x1: "3", y1: "15", x2: "14", y2: "15" }), _jsx("line", { x1: "3", y1: "21", x2: "8", y2: "21" }), _jsx("polyline", { points: "15 3 21 9 15 9" })] }));
|
|
34
|
+
export const SortDescIcon = createIcon('SortDescIcon', _jsxs(_Fragment, { children: [_jsx("line", { x1: "3", y1: "9", x2: "21", y2: "9" }), _jsx("line", { x1: "3", y1: "15", x2: "14", y2: "15" }), _jsx("line", { x1: "3", y1: "21", x2: "8", y2: "21" }), _jsx("polyline", { points: "15 17 21 21 15 21" })] }));
|
|
35
|
+
// ─── Status / Feedback ────────────────────────────────────────────────────────
|
|
36
|
+
export const InfoIcon = createIcon('InfoIcon', _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }));
|
|
37
|
+
export const AlertCircleIcon = createIcon('AlertCircleIcon', _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }));
|
|
38
|
+
export const AlertTriangleIcon = createIcon('AlertTriangleIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }), _jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }), _jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] }));
|
|
39
|
+
export const CheckCircleIcon = createIcon('CheckCircleIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }), _jsx("polyline", { points: "22 4 12 14.01 9 11.01" })] }));
|
|
40
|
+
export const XCircleIcon = createIcon('XCircleIcon', _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15" }), _jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15" })] }));
|
|
41
|
+
export const LoaderIcon = createIcon('LoaderIcon', _jsxs(_Fragment, { children: [_jsx("line", { x1: "12", y1: "2", x2: "12", y2: "6" }), _jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22" }), _jsx("line", { x1: "4.93", y1: "4.93", x2: "7.76", y2: "7.76" }), _jsx("line", { x1: "16.24", y1: "16.24", x2: "19.07", y2: "19.07" }), _jsx("line", { x1: "2", y1: "12", x2: "6", y2: "12" }), _jsx("line", { x1: "18", y1: "12", x2: "22", y2: "12" }), _jsx("line", { x1: "4.93", y1: "19.07", x2: "7.76", y2: "16.24" }), _jsx("line", { x1: "16.24", y1: "7.76", x2: "19.07", y2: "4.93" })] }));
|
|
42
|
+
// ─── UI / Interface ───────────────────────────────────────────────────────────
|
|
43
|
+
export const MenuIcon = createIcon('MenuIcon', _jsxs(_Fragment, { children: [_jsx("line", { x1: "3", y1: "12", x2: "21", y2: "12" }), _jsx("line", { x1: "3", y1: "6", x2: "21", y2: "6" }), _jsx("line", { x1: "3", y1: "18", x2: "21", y2: "18" })] }));
|
|
44
|
+
export const EyeIcon = createIcon('EyeIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }), _jsx("circle", { cx: "12", cy: "12", r: "3" })] }));
|
|
45
|
+
export const EyeOffIcon = createIcon('EyeOffIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94" }), _jsx("path", { d: "M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19" }), _jsx("line", { x1: "1", y1: "1", x2: "23", y2: "23" })] }));
|
|
46
|
+
export const CalendarIcon = createIcon('CalendarIcon', _jsxs(_Fragment, { children: [_jsx("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), _jsx("line", { x1: "16", y1: "2", x2: "16", y2: "6" }), _jsx("line", { x1: "8", y1: "2", x2: "8", y2: "6" }), _jsx("line", { x1: "3", y1: "10", x2: "21", y2: "10" })] }));
|
|
47
|
+
export const BellIcon = createIcon('BellIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" }), _jsx("path", { d: "M13.73 21a2 2 0 0 1-3.46 0" })] }));
|
|
48
|
+
export const UserIcon = createIcon('UserIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }), _jsx("circle", { cx: "12", cy: "7", r: "4" })] }));
|
|
49
|
+
export const SettingsIcon = createIcon('SettingsIcon', _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "3" }), _jsx("path", { d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z" })] }));
|
|
50
|
+
export const HomeIcon = createIcon('HomeIcon', _jsxs(_Fragment, { children: [_jsx("path", { d: "M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" }), _jsx("polyline", { points: "9 22 9 12 15 12 15 22" })] }));
|
|
51
|
+
export const MoonIcon = createIcon('MoonIcon', _jsx("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" }));
|
|
52
|
+
export const SunIcon = createIcon('SunIcon', _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "5" }), _jsx("line", { x1: "12", y1: "1", x2: "12", y2: "3" }), _jsx("line", { x1: "12", y1: "21", x2: "12", y2: "23" }), _jsx("line", { x1: "4.22", y1: "4.22", x2: "5.64", y2: "5.64" }), _jsx("line", { x1: "18.36", y1: "18.36", x2: "19.78", y2: "19.78" }), _jsx("line", { x1: "1", y1: "12", x2: "3", y2: "12" }), _jsx("line", { x1: "21", y1: "12", x2: "23", y2: "12" }), _jsx("line", { x1: "4.22", y1: "19.78", x2: "5.64", y2: "18.36" }), _jsx("line", { x1: "18.36", y1: "5.64", x2: "19.78", y2: "4.22" })] }));
|
|
53
|
+
export const GripVerticalIcon = createIcon('GripVerticalIcon', _jsxs(_Fragment, { children: [_jsx("circle", { cx: "9", cy: "5", r: "1", fill: "currentColor", stroke: "none" }), _jsx("circle", { cx: "9", cy: "12", r: "1", fill: "currentColor", stroke: "none" }), _jsx("circle", { cx: "9", cy: "19", r: "1", fill: "currentColor", stroke: "none" }), _jsx("circle", { cx: "15", cy: "5", r: "1", fill: "currentColor", stroke: "none" }), _jsx("circle", { cx: "15", cy: "12", r: "1", fill: "currentColor", stroke: "none" }), _jsx("circle", { cx: "15", cy: "19", r: "1", fill: "currentColor", stroke: "none" })] }), 1);
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/icons/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tokis/icons
|
|
3
|
+
*
|
|
4
|
+
* Tree-shakable SVG icon library for Tokis.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* // Import individual icons (fully tree-shakable):
|
|
8
|
+
* import { ChevronDownIcon, SearchIcon } from '@tokis/icons';
|
|
9
|
+
*
|
|
10
|
+
* // Use Lucide React icons with the Tokis API (optional peer dep):
|
|
11
|
+
* import { createTokisIcon, LucideIcon } from '@tokis/icons/lucide';
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export type { TokisIconProps } from './types.js';
|
|
15
|
+
export { createIcon } from './icon-factory.js';
|
|
16
|
+
export * from './icons/index.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tokis/icons
|
|
3
|
+
*
|
|
4
|
+
* Tree-shakable SVG icon library for Tokis.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* // Import individual icons (fully tree-shakable):
|
|
8
|
+
* import { ChevronDownIcon, SearchIcon } from '@tokis/icons';
|
|
9
|
+
*
|
|
10
|
+
* // Use Lucide React icons with the Tokis API (optional peer dep):
|
|
11
|
+
* import { createTokisIcon, LucideIcon } from '@tokis/icons/lucide';
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
// Icon factory (for custom icons)
|
|
15
|
+
export { createIcon } from './icon-factory.js';
|
|
16
|
+
// All built-in icons
|
|
17
|
+
export * from './icons/index.js';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,kCAAkC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,qBAAqB;AACrB,cAAc,kBAAkB,CAAC"}
|
package/dist/lucide.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tokis/icons/lucide — Native Lucide React adapter.
|
|
3
|
+
*
|
|
4
|
+
* This module bridges the `lucide-react` icon library into the Tokis icon API.
|
|
5
|
+
* It is a **separate entry point** so that projects that don't use Lucide
|
|
6
|
+
* don't pay the peer-dep resolution cost.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```tsx
|
|
10
|
+
* // 1. Wrap a single Lucide icon to match the TokisIconProps API:
|
|
11
|
+
* import { createTokisIcon } from '@tokis/icons/lucide';
|
|
12
|
+
* import { Rocket } from 'lucide-react';
|
|
13
|
+
* const RocketIcon = createTokisIcon(Rocket);
|
|
14
|
+
* <RocketIcon size={20} aria-label="Launch" />
|
|
15
|
+
*
|
|
16
|
+
* // 2. Render any Lucide icon inline (useful in dynamic contexts):
|
|
17
|
+
* import { LucideIcon } from '@tokis/icons/lucide';
|
|
18
|
+
* import { Rocket } from 'lucide-react';
|
|
19
|
+
* <LucideIcon icon={Rocket} size={20} />
|
|
20
|
+
*
|
|
21
|
+
* // 3. Re-export every Lucide icon already shaped like Tokis icons:
|
|
22
|
+
* import { allLucideIcons, LucideChevronDown } from '@tokis/icons/lucide';
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import type { ComponentType, SVGProps } from 'react';
|
|
26
|
+
import type { TokisIconProps } from './types.js';
|
|
27
|
+
/**
|
|
28
|
+
* Minimal interface that every `lucide-react` icon component satisfies.
|
|
29
|
+
* We keep this local so that `lucide-react` is truly an optional peer dep
|
|
30
|
+
* at runtime — it is only resolved when this sub-path is imported.
|
|
31
|
+
*/
|
|
32
|
+
interface LucideProps extends SVGProps<SVGSVGElement> {
|
|
33
|
+
size?: number | string;
|
|
34
|
+
strokeWidth?: number;
|
|
35
|
+
color?: string;
|
|
36
|
+
absoluteStrokeWidth?: boolean;
|
|
37
|
+
}
|
|
38
|
+
type LucideIconComponent = ComponentType<LucideProps>;
|
|
39
|
+
/**
|
|
40
|
+
* Wraps a `lucide-react` icon component so it conforms to `TokisIconProps`.
|
|
41
|
+
*
|
|
42
|
+
* ```tsx
|
|
43
|
+
* import { createTokisIcon } from '@tokis/icons/lucide';
|
|
44
|
+
* import { Rocket } from 'lucide-react';
|
|
45
|
+
*
|
|
46
|
+
* export const RocketIcon = createTokisIcon(Rocket, 'RocketIcon');
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function createTokisIcon(LucideComponent: LucideIconComponent, displayName?: string): import("react").ForwardRefExoticComponent<Omit<TokisIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
50
|
+
export interface LucideIconProps extends TokisIconProps {
|
|
51
|
+
/** The Lucide icon component to render. */
|
|
52
|
+
icon: LucideIconComponent;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Renders any Lucide icon with Tokis prop conventions.
|
|
56
|
+
* Useful when the icon is dynamic (stored in data or chosen at runtime).
|
|
57
|
+
*
|
|
58
|
+
* ```tsx
|
|
59
|
+
* <LucideIcon icon={Rocket} size={20} aria-label="Launch" />
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare const LucideIcon: import("react").ForwardRefExoticComponent<Omit<LucideIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
63
|
+
/**
|
|
64
|
+
* Returns merged Tokis + Lucide default props.
|
|
65
|
+
* Use this when building your own icon wrappers that mix Lucide with Tokis.
|
|
66
|
+
*/
|
|
67
|
+
export declare function useLucideIconProps(props: TokisIconProps): LucideProps;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=lucide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide.d.ts","sourceRoot":"","sources":["../src/lucide.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD;;;;GAIG;AACH,UAAU,WAAY,SAAQ,QAAQ,CAAC,aAAa,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,KAAK,mBAAmB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAItD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,eAAe,EAAE,mBAAmB,EACpC,WAAW,CAAC,EAAE,MAAM,yHA6BrB;AAID,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,2CAA2C;IAC3C,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,wHA0BtB,CAAC;AAMF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,WAAW,CAqBrE"}
|
package/dist/lucide.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* @tokis/icons/lucide — Native Lucide React adapter.
|
|
4
|
+
*
|
|
5
|
+
* This module bridges the `lucide-react` icon library into the Tokis icon API.
|
|
6
|
+
* It is a **separate entry point** so that projects that don't use Lucide
|
|
7
|
+
* don't pay the peer-dep resolution cost.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* ```tsx
|
|
11
|
+
* // 1. Wrap a single Lucide icon to match the TokisIconProps API:
|
|
12
|
+
* import { createTokisIcon } from '@tokis/icons/lucide';
|
|
13
|
+
* import { Rocket } from 'lucide-react';
|
|
14
|
+
* const RocketIcon = createTokisIcon(Rocket);
|
|
15
|
+
* <RocketIcon size={20} aria-label="Launch" />
|
|
16
|
+
*
|
|
17
|
+
* // 2. Render any Lucide icon inline (useful in dynamic contexts):
|
|
18
|
+
* import { LucideIcon } from '@tokis/icons/lucide';
|
|
19
|
+
* import { Rocket } from 'lucide-react';
|
|
20
|
+
* <LucideIcon icon={Rocket} size={20} />
|
|
21
|
+
*
|
|
22
|
+
* // 3. Re-export every Lucide icon already shaped like Tokis icons:
|
|
23
|
+
* import { allLucideIcons, LucideChevronDown } from '@tokis/icons/lucide';
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import { forwardRef } from 'react';
|
|
27
|
+
// ─── createTokisIcon ──────────────────────────────────────────────────────────
|
|
28
|
+
/**
|
|
29
|
+
* Wraps a `lucide-react` icon component so it conforms to `TokisIconProps`.
|
|
30
|
+
*
|
|
31
|
+
* ```tsx
|
|
32
|
+
* import { createTokisIcon } from '@tokis/icons/lucide';
|
|
33
|
+
* import { Rocket } from 'lucide-react';
|
|
34
|
+
*
|
|
35
|
+
* export const RocketIcon = createTokisIcon(Rocket, 'RocketIcon');
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function createTokisIcon(LucideComponent, displayName) {
|
|
39
|
+
const Icon = forwardRef(function Icon({ size = 24, color = 'currentColor', strokeWidth = 2, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, ...rest }, _ref) {
|
|
40
|
+
const isDecorative = !ariaLabel;
|
|
41
|
+
return (_jsx(LucideComponent, { size: size, color: color, strokeWidth: strokeWidth, "aria-label": ariaLabel, "aria-hidden": ariaHidden ?? (isDecorative ? true : undefined), role: ariaLabel ? 'img' : undefined, ...rest }));
|
|
42
|
+
});
|
|
43
|
+
Icon.displayName = displayName ?? LucideComponent.displayName ?? 'TokisLucideIcon';
|
|
44
|
+
return Icon;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Renders any Lucide icon with Tokis prop conventions.
|
|
48
|
+
* Useful when the icon is dynamic (stored in data or chosen at runtime).
|
|
49
|
+
*
|
|
50
|
+
* ```tsx
|
|
51
|
+
* <LucideIcon icon={Rocket} size={20} aria-label="Launch" />
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export const LucideIcon = forwardRef(function LucideIcon({ icon: IconComponent, size = 24, color = 'currentColor', strokeWidth = 2, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, ...rest }, _ref) {
|
|
55
|
+
const isDecorative = !ariaLabel;
|
|
56
|
+
return (_jsx(IconComponent, { size: size, color: color, strokeWidth: strokeWidth, "aria-label": ariaLabel, "aria-hidden": ariaHidden ?? (isDecorative ? true : undefined), role: ariaLabel ? 'img' : undefined, ...rest }));
|
|
57
|
+
});
|
|
58
|
+
LucideIcon.displayName = 'LucideIcon';
|
|
59
|
+
// ─── useLucideIcon hook ───────────────────────────────────────────────────────
|
|
60
|
+
/**
|
|
61
|
+
* Returns merged Tokis + Lucide default props.
|
|
62
|
+
* Use this when building your own icon wrappers that mix Lucide with Tokis.
|
|
63
|
+
*/
|
|
64
|
+
export function useLucideIconProps(props) {
|
|
65
|
+
const { size = 24, color = 'currentColor', strokeWidth = 2, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, ...rest } = props;
|
|
66
|
+
const isDecorative = !ariaLabel;
|
|
67
|
+
return {
|
|
68
|
+
size,
|
|
69
|
+
color,
|
|
70
|
+
strokeWidth,
|
|
71
|
+
'aria-label': ariaLabel,
|
|
72
|
+
'aria-hidden': (ariaHidden ?? (isDecorative ? true : undefined)),
|
|
73
|
+
role: ariaLabel ? 'img' : undefined,
|
|
74
|
+
...rest,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=lucide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucide.js","sourceRoot":"","sources":["../src/lucide.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAoBnC,iFAAiF;AAEjF;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,eAAoC,EACpC,WAAoB;IAEpB,MAAM,IAAI,GAAG,UAAU,CAAgC,SAAS,IAAI,CAClE,EACE,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,cAAc,EACtB,WAAW,GAAG,CAAC,EACf,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACR,EACD,IAAI;QAEJ,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC;QAChC,OAAO,CACL,KAAC,eAAe,IACd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,gBACZ,SAAS,iBACR,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAC5D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAC/B,IAAI,GACR,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,eAAe,CAAC,WAAW,IAAI,iBAAiB,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,SAAS,UAAU,CACjB,EACE,IAAI,EAAE,aAAa,EACnB,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,cAAc,EACtB,WAAW,GAAG,CAAC,EACf,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACR,EACD,IAAI;IAEJ,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC;IAChC,OAAO,CACL,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,gBACZ,SAAS,iBACR,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAC5D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAC/B,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,MAAM,EACJ,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,cAAc,EACtB,WAAW,GAAG,CAAC,EACf,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC;IAEhC,OAAO;QACL,IAAI;QACJ,KAAK;QACL,WAAW;QACX,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAwB;QACvF,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACnC,GAAG,IAAI;KACR,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SVGProps } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props shared by every Tokis icon component.
|
|
4
|
+
*
|
|
5
|
+
* Each icon renders an `<svg>` element and forwards all standard SVG
|
|
6
|
+
* attributes. `aria-hidden="true"` is set by default because icons are
|
|
7
|
+
* typically decorative; pass `aria-label` to expose them to screen readers.
|
|
8
|
+
*/
|
|
9
|
+
export interface TokisIconProps extends SVGProps<SVGSVGElement> {
|
|
10
|
+
/**
|
|
11
|
+
* Width and height of the icon.
|
|
12
|
+
* Accepts any CSS length value or a plain number (treated as pixels).
|
|
13
|
+
* @default 24
|
|
14
|
+
*/
|
|
15
|
+
size?: number | string;
|
|
16
|
+
/**
|
|
17
|
+
* Stroke / fill colour. Defaults to `currentColor` so the icon inherits
|
|
18
|
+
* the surrounding text colour.
|
|
19
|
+
* @default 'currentColor'
|
|
20
|
+
*/
|
|
21
|
+
color?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Stroke width for outline-style icons.
|
|
24
|
+
* @default 2
|
|
25
|
+
*/
|
|
26
|
+
strokeWidth?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Accessible label. When provided the icon is NOT aria-hidden and a
|
|
29
|
+
* visually-hidden `<title>` is added inside the SVG.
|
|
30
|
+
*/
|
|
31
|
+
'aria-label'?: string;
|
|
32
|
+
}
|
|
33
|
+
//# 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,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,QAAQ,CAAC,aAAa,CAAC;IAC7D;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tokis/icons",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Icon library for Tokis — tree-shakable SVG icons with native lucide-react support.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/cjs/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"require": "./dist/cjs/index.js",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts"
|
|
14
|
+
},
|
|
15
|
+
"./lucide": {
|
|
16
|
+
"require": "./dist/cjs/lucide.js",
|
|
17
|
+
"import": "./dist/lucide.js",
|
|
18
|
+
"types": "./dist/lucide.d.ts"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"README.md",
|
|
24
|
+
"LICENSE"
|
|
25
|
+
],
|
|
26
|
+
"sideEffects": false,
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc && tsc -p tsconfig.cjs.json && node ../../scripts/stamp-cjs.js",
|
|
29
|
+
"typecheck": "tsc --noEmit",
|
|
30
|
+
"prepack": "npm run build"
|
|
31
|
+
},
|
|
32
|
+
"keywords": [
|
|
33
|
+
"tokis",
|
|
34
|
+
"icons",
|
|
35
|
+
"svg",
|
|
36
|
+
"react",
|
|
37
|
+
"lucide",
|
|
38
|
+
"design-system",
|
|
39
|
+
"accessible",
|
|
40
|
+
"a11y",
|
|
41
|
+
"tree-shaking"
|
|
42
|
+
],
|
|
43
|
+
"author": "Tokis Contributors",
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "https://github.com/PrerakMathur20/TokisLib.git",
|
|
48
|
+
"directory": "packages/icons"
|
|
49
|
+
},
|
|
50
|
+
"homepage": "https://github.com/PrerakMathur20/TokisLib#readme",
|
|
51
|
+
"bugs": {
|
|
52
|
+
"url": "https://github.com/PrerakMathur20/TokisLib/issues"
|
|
53
|
+
},
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"react": ">=18.0.0",
|
|
56
|
+
"lucide-react": ">=0.300.0"
|
|
57
|
+
},
|
|
58
|
+
"peerDependenciesMeta": {
|
|
59
|
+
"lucide-react": {
|
|
60
|
+
"optional": true
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@types/react": "^18.0.0",
|
|
65
|
+
"react": "^18.0.0",
|
|
66
|
+
"lucide-react": "^0.300.0"
|
|
67
|
+
},
|
|
68
|
+
"publishConfig": {
|
|
69
|
+
"access": "public",
|
|
70
|
+
"registry": "https://registry.npmjs.org/"
|
|
71
|
+
}
|
|
72
|
+
}
|