@zentrades-ui/icons 0.2.1

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/CHANGELOG.md ADDED
@@ -0,0 +1,30 @@
1
+ # @zentrades-ui/icons
2
+
3
+ ## 0.2.1
4
+
5
+ ### Initial Release
6
+
7
+ A standalone icon library for the Zen UI design system.
8
+
9
+ #### Features
10
+
11
+ - **27 commonly used icons** with consistent styling optimized for UI applications
12
+ - **Individual icon components**: Import only what you need (e.g., `CheckIcon`, `ChevronDownIcon`, `SearchIcon`)
13
+ - **`IconByName` component**: Dynamic icon rendering by name for flexible use cases
14
+ ```tsx
15
+ <IconByName name="check" size="24" />
16
+ ```
17
+ - **Base `Icon` component**: Create your own custom icons using the same API
18
+ - **Full TypeScript support**: Exported types including `IconProps`, `IconName`, `IconSize`, `NamedIconProps`
19
+ - **Configurable**: Size, stroke width, color, and all standard SVG props
20
+ - **Accessible**: Optional `title` prop for screen reader support
21
+
22
+ #### Available Icons
23
+
24
+ Navigation: `chevron-left`, `chevron-right`, `chevron-down`, `chevron-up`, `arrow-left`, `arrow-right`
25
+
26
+ Actions: `close`, `check`, `plus`, `minus`, `search`, `edit`, `copy`, `trash`, `filter`, `sort`, `settings`, `external-link`
27
+
28
+ Status: `info`, `alert-circle`, `check-circle`
29
+
30
+ Misc: `calendar`, `clock`, `upload-cloud`, `more-vertical`, `more-horizontal`, `user`
package/README.md ADDED
@@ -0,0 +1,160 @@
1
+ # @zentrades-ui/icons
2
+
3
+ A collection of 25+ commonly used SVG icons for the Zen UI design system. All icons are optimized for React with full TypeScript support.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @zentrades-ui/icons
9
+ # or
10
+ pnpm add @zentrades-ui/icons
11
+ # or
12
+ yarn add @zentrades-ui/icons
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ ### Using Individual Icon Components
18
+
19
+ Import and use icons directly by their component name:
20
+
21
+ ```tsx
22
+ import { CheckIcon, ChevronDownIcon, SearchIcon } from "@zentrades-ui/icons";
23
+
24
+ function App() {
25
+ return (
26
+ <div>
27
+ <CheckIcon size="24" />
28
+ <ChevronDownIcon size="16" />
29
+ <SearchIcon size="20" />
30
+ </div>
31
+ );
32
+ }
33
+ ```
34
+
35
+ ### Using IconByName (Dynamic Icons)
36
+
37
+ Use the `IconByName` component when you need to render icons dynamically:
38
+
39
+ ```tsx
40
+ import { IconByName } from "@zentrades-ui/icons";
41
+
42
+ function App() {
43
+ return (
44
+ <div>
45
+ <IconByName name="check" size="24" />
46
+ <IconByName name="chevron-down" size="16" />
47
+ <IconByName name="search" size="20" />
48
+ </div>
49
+ );
50
+ }
51
+ ```
52
+
53
+ ### Creating Custom Icons
54
+
55
+ Use the base `Icon` component to create your own icons:
56
+
57
+ ```tsx
58
+ import { Icon, IconProps } from "@zentrades-ui/icons";
59
+
60
+ function MyCustomIcon(props: IconProps) {
61
+ return (
62
+ <Icon viewBox="0 0 24 24" {...props}>
63
+ <path d="M12 2L2 22h20L12 2z" stroke="currentColor" />
64
+ </Icon>
65
+ );
66
+ }
67
+ ```
68
+
69
+ ## Props
70
+
71
+ ### Common Icon Props
72
+
73
+ | Prop | Type | Default | Description |
74
+ | ----------- | ------------------------------------------------- | --------- | -------------------------- |
75
+ | `size` | `"12" \| "16" \| "20" \| "24" \| "32" \| "40" \| "48"` | `"24"` | Icon size in pixels |
76
+ | `title` | `string` | - | Accessible title for the icon |
77
+ | `className` | `string` | - | Additional CSS class |
78
+ | `viewBox` | `string` | `"0 0 24 24"` | SVG viewBox attribute |
79
+
80
+ All icons also accept standard SVG props like `stroke`, `strokeWidth`, `fill`, `color`, etc.
81
+
82
+ ### IconByName Props
83
+
84
+ | Prop | Type | Required | Description |
85
+ | ------ | ---------- | -------- | ------------------------- |
86
+ | `name` | `IconName` | Yes | Name of the icon to render |
87
+
88
+ ## Available Icons
89
+
90
+ | Name | Component | Description |
91
+ | ----------------- | -------------------- | ------------------------------ |
92
+ | `chevron-left` | `ChevronLeftIcon` | Left chevron arrow |
93
+ | `chevron-right` | `ChevronRightIcon` | Right chevron arrow |
94
+ | `chevron-down` | `ChevronDownIcon` | Down chevron arrow |
95
+ | `chevron-up` | `ChevronUpIcon` | Up chevron arrow |
96
+ | `close` | `CloseIcon` | Close/X icon |
97
+ | `check` | `CheckIcon` | Checkmark |
98
+ | `plus` | `PlusIcon` | Plus/Add icon |
99
+ | `minus` | `MinusIcon` | Minus/Remove icon |
100
+ | `search` | `SearchIcon` | Search/Magnifying glass |
101
+ | `calendar` | `CalendarIcon` | Calendar |
102
+ | `clock` | `ClockIcon` | Clock/Time |
103
+ | `upload-cloud` | `UploadCloudIcon` | Cloud upload |
104
+ | `more-vertical` | `MoreVerticalIcon` | Vertical ellipsis menu |
105
+ | `more-horizontal` | `MoreHorizontalIcon` | Horizontal ellipsis menu |
106
+ | `arrow-left` | `ArrowLeftIcon` | Left arrow |
107
+ | `arrow-right` | `ArrowRightIcon` | Right arrow |
108
+ | `info` | `InfoIcon` | Information circle |
109
+ | `alert-circle` | `AlertCircleIcon` | Alert/Warning circle |
110
+ | `check-circle` | `CheckCircleIcon` | Success/Check circle |
111
+ | `trash` | `TrashIcon` | Delete/Trash |
112
+ | `edit` | `EditIcon` | Edit/Pencil |
113
+ | `copy` | `CopyIcon` | Copy/Duplicate |
114
+ | `external-link` | `ExternalLinkIcon` | External link arrow |
115
+ | `filter` | `FilterIcon` | Filter |
116
+ | `sort` | `SortIcon` | Sort arrows |
117
+ | `settings` | `SettingsIcon` | Settings/Sliders |
118
+ | `user` | `UserIcon` | User/Profile |
119
+
120
+ ## Examples
121
+
122
+ ### With Custom Color
123
+
124
+ ```tsx
125
+ <CheckIcon size="24" stroke="#10b981" />
126
+ <CheckIcon size="24" style={{ color: "var(--color-success)" }} />
127
+ ```
128
+
129
+ ### With Custom Stroke Width
130
+
131
+ ```tsx
132
+ <CheckIcon size="24" strokeWidth={2.5} />
133
+ ```
134
+
135
+ ### With Accessibility Title
136
+
137
+ ```tsx
138
+ <CheckIcon size="24" title="Task completed" />
139
+ ```
140
+
141
+ ### Getting Available Icon Names
142
+
143
+ ```tsx
144
+ import { iconNames } from "@zentrades-ui/icons";
145
+
146
+ console.log(iconNames);
147
+ // ['chevron-left', 'chevron-right', 'chevron-down', ...]
148
+ ```
149
+
150
+ ## TypeScript
151
+
152
+ Full TypeScript support with exported types:
153
+
154
+ ```tsx
155
+ import type { IconProps, IconName, IconSize, NamedIconProps } from "@zentrades-ui/icons";
156
+ ```
157
+
158
+ ## License
159
+
160
+ MIT
@@ -0,0 +1,90 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React, { ReactNode } from 'react';
3
+
4
+ type IconSize = "12" | "16" | "20" | "24" | "32" | "40" | "48";
5
+ type IconOwnProps = {
6
+ /** Accessible title for the icon */
7
+ title?: string;
8
+ /** Icon content (SVG paths) */
9
+ children?: ReactNode;
10
+ /** Icon size in pixels */
11
+ size?: IconSize;
12
+ /** SVG viewBox attribute */
13
+ viewBox?: string;
14
+ /** Additional class name */
15
+ className?: string;
16
+ };
17
+ type IconProps = IconOwnProps & Omit<React.SVGProps<SVGSVGElement>, keyof IconOwnProps>;
18
+ declare const Icon: React.ForwardRefExoticComponent<Omit<IconProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
19
+ declare function ChevronLeftIcon(props: IconProps): react_jsx_runtime.JSX.Element;
20
+ declare function ChevronRightIcon(props: IconProps): react_jsx_runtime.JSX.Element;
21
+ declare function ChevronDownIcon(props: IconProps): react_jsx_runtime.JSX.Element;
22
+ declare function ChevronUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
23
+ declare function CloseIcon(props: IconProps): react_jsx_runtime.JSX.Element;
24
+ declare function CheckIcon(props: IconProps): react_jsx_runtime.JSX.Element;
25
+ declare function PlusIcon(props: IconProps): react_jsx_runtime.JSX.Element;
26
+ declare function MinusIcon(props: IconProps): react_jsx_runtime.JSX.Element;
27
+ declare function SearchIcon(props: IconProps): react_jsx_runtime.JSX.Element;
28
+ declare function CalendarIcon(props: IconProps): react_jsx_runtime.JSX.Element;
29
+ declare function ClockIcon(props: IconProps): react_jsx_runtime.JSX.Element;
30
+ declare function UploadCloudIcon(props: IconProps): react_jsx_runtime.JSX.Element;
31
+ declare function MoreVerticalIcon(props: IconProps): react_jsx_runtime.JSX.Element;
32
+ declare function MoreHorizontalIcon(props: IconProps): react_jsx_runtime.JSX.Element;
33
+ declare function ArrowLeftIcon(props: IconProps): react_jsx_runtime.JSX.Element;
34
+ declare function ArrowRightIcon(props: IconProps): react_jsx_runtime.JSX.Element;
35
+ declare function InfoIcon(props: IconProps): react_jsx_runtime.JSX.Element;
36
+ declare function AlertCircleIcon(props: IconProps): react_jsx_runtime.JSX.Element;
37
+ declare function CheckCircleIcon(props: IconProps): react_jsx_runtime.JSX.Element;
38
+ declare function TrashIcon(props: IconProps): react_jsx_runtime.JSX.Element;
39
+ declare function EditIcon(props: IconProps): react_jsx_runtime.JSX.Element;
40
+ declare function CopyIcon(props: IconProps): react_jsx_runtime.JSX.Element;
41
+ declare function ExternalLinkIcon(props: IconProps): react_jsx_runtime.JSX.Element;
42
+ declare function FilterIcon(props: IconProps): react_jsx_runtime.JSX.Element;
43
+ declare function SortIcon(props: IconProps): react_jsx_runtime.JSX.Element;
44
+ declare function SettingsIcon(props: IconProps): react_jsx_runtime.JSX.Element;
45
+ declare function UserIcon(props: IconProps): react_jsx_runtime.JSX.Element;
46
+ declare const iconComponents: {
47
+ readonly "chevron-left": typeof ChevronLeftIcon;
48
+ readonly "chevron-right": typeof ChevronRightIcon;
49
+ readonly "chevron-down": typeof ChevronDownIcon;
50
+ readonly "chevron-up": typeof ChevronUpIcon;
51
+ readonly close: typeof CloseIcon;
52
+ readonly check: typeof CheckIcon;
53
+ readonly plus: typeof PlusIcon;
54
+ readonly minus: typeof MinusIcon;
55
+ readonly search: typeof SearchIcon;
56
+ readonly calendar: typeof CalendarIcon;
57
+ readonly clock: typeof ClockIcon;
58
+ readonly "upload-cloud": typeof UploadCloudIcon;
59
+ readonly "more-vertical": typeof MoreVerticalIcon;
60
+ readonly "more-horizontal": typeof MoreHorizontalIcon;
61
+ readonly "arrow-left": typeof ArrowLeftIcon;
62
+ readonly "arrow-right": typeof ArrowRightIcon;
63
+ readonly info: typeof InfoIcon;
64
+ readonly "alert-circle": typeof AlertCircleIcon;
65
+ readonly "check-circle": typeof CheckCircleIcon;
66
+ readonly trash: typeof TrashIcon;
67
+ readonly edit: typeof EditIcon;
68
+ readonly copy: typeof CopyIcon;
69
+ readonly "external-link": typeof ExternalLinkIcon;
70
+ readonly filter: typeof FilterIcon;
71
+ readonly sort: typeof SortIcon;
72
+ readonly settings: typeof SettingsIcon;
73
+ readonly user: typeof UserIcon;
74
+ };
75
+ type IconName = keyof typeof iconComponents;
76
+ type NamedIconProps = Omit<IconProps, "children"> & {
77
+ /** Name of the icon to render */
78
+ name: IconName;
79
+ };
80
+ /**
81
+ * Renders an icon by name
82
+ * @example
83
+ * <IconByName name="check" size="24" />
84
+ * <IconByName name="chevron-down" size="16" />
85
+ */
86
+ declare const IconByName: React.ForwardRefExoticComponent<Omit<NamedIconProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
87
+ /** List of all available icon names */
88
+ declare const iconNames: IconName[];
89
+
90
+ export { AlertCircleIcon, ArrowLeftIcon, ArrowRightIcon, CalendarIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClockIcon, CloseIcon, CopyIcon, EditIcon, ExternalLinkIcon, FilterIcon, Icon, IconByName, type IconName, type IconOwnProps, type IconProps, type IconSize, InfoIcon, MinusIcon, MoreHorizontalIcon, MoreVerticalIcon, type NamedIconProps, PlusIcon, SearchIcon, SettingsIcon, SortIcon, TrashIcon, UploadCloudIcon, UserIcon, iconNames };
package/dist/index.js ADDED
@@ -0,0 +1,477 @@
1
+ // src/index.tsx
2
+ import { forwardRef } from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var Icon = forwardRef(function Icon2({
5
+ title,
6
+ viewBox = "0 0 24 24",
7
+ children,
8
+ size = "24",
9
+ className,
10
+ ...restProps
11
+ }, ref) {
12
+ return /* @__PURE__ */ jsxs(
13
+ "svg",
14
+ {
15
+ ref,
16
+ xmlns: "http://www.w3.org/2000/svg",
17
+ width: size,
18
+ height: size,
19
+ viewBox,
20
+ fill: "none",
21
+ className,
22
+ style: {
23
+ display: "inline-block",
24
+ flexShrink: 0
25
+ },
26
+ ...restProps,
27
+ children: [
28
+ title ? /* @__PURE__ */ jsx("title", { children: title }) : null,
29
+ children
30
+ ]
31
+ }
32
+ );
33
+ });
34
+ Icon.displayName = "Icon";
35
+ function ChevronLeftIcon(props) {
36
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
37
+ "path",
38
+ {
39
+ d: "M7.17915 2.625L4.47915 5.325C4.10636 5.69779 4.10636 6.30221 4.47915 6.675L7.17915 9.375",
40
+ stroke: "currentColor",
41
+ strokeLinecap: "round"
42
+ }
43
+ ) });
44
+ }
45
+ function ChevronRightIcon(props) {
46
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
47
+ "path",
48
+ {
49
+ d: "M4.82085 2.625L7.52085 5.325C7.89364 5.69779 7.89364 6.30221 7.52085 6.675L4.82085 9.375",
50
+ stroke: "currentColor",
51
+ strokeLinecap: "round"
52
+ }
53
+ ) });
54
+ }
55
+ function ChevronDownIcon(props) {
56
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
57
+ "path",
58
+ {
59
+ d: "M2.625 4.82085L5.325 7.52085C5.69779 7.89364 6.30221 7.89364 6.675 7.52085L9.375 4.82085",
60
+ stroke: "currentColor",
61
+ strokeLinecap: "round"
62
+ }
63
+ ) });
64
+ }
65
+ function ChevronUpIcon(props) {
66
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
67
+ "path",
68
+ {
69
+ d: "M2.625 7.17915L5.325 4.47915C5.69779 4.10636 6.30221 4.10636 6.675 4.47915L9.375 7.17915",
70
+ stroke: "currentColor",
71
+ strokeLinecap: "round"
72
+ }
73
+ ) });
74
+ }
75
+ function CloseIcon(props) {
76
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
77
+ "path",
78
+ {
79
+ d: "M9.74993 2.25L5.99996 5.99998M5.99996 5.99998L2.24998 9.74995M5.99996 5.99998L2.24998 2.25001M5.99996 5.99998L9.75003 9.75",
80
+ stroke: "currentColor",
81
+ strokeLinecap: "round"
82
+ }
83
+ ) });
84
+ }
85
+ function CheckIcon(props) {
86
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
87
+ "path",
88
+ {
89
+ d: "M2.5 6.5L4.5 8.5L9.5 3.5",
90
+ stroke: "currentColor",
91
+ strokeLinecap: "round",
92
+ strokeLinejoin: "round"
93
+ }
94
+ ) });
95
+ }
96
+ function PlusIcon(props) {
97
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
98
+ "path",
99
+ {
100
+ d: "M6 2.5V9.5M2.5 6H9.5",
101
+ stroke: "currentColor",
102
+ strokeLinecap: "round"
103
+ }
104
+ ) });
105
+ }
106
+ function MinusIcon(props) {
107
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx("path", { d: "M2.5 6H9.5", stroke: "currentColor", strokeLinecap: "round" }) });
108
+ }
109
+ function SearchIcon(props) {
110
+ return /* @__PURE__ */ jsxs(Icon, { viewBox: "0 0 12 12", ...props, children: [
111
+ /* @__PURE__ */ jsx(
112
+ "path",
113
+ {
114
+ d: "M5.25 9C7.32107 9 9 7.32107 9 5.25C9 3.17893 7.32107 1.5 5.25 1.5C3.17893 1.5 1.5 3.17893 1.5 5.25C1.5 7.32107 3.17893 9 5.25 9Z",
115
+ stroke: "currentColor"
116
+ }
117
+ ),
118
+ /* @__PURE__ */ jsx(
119
+ "path",
120
+ {
121
+ d: "M7.875 7.875L10.5 10.5",
122
+ stroke: "currentColor",
123
+ strokeLinecap: "round"
124
+ }
125
+ )
126
+ ] });
127
+ }
128
+ function CalendarIcon(props) {
129
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
130
+ "path",
131
+ {
132
+ d: "M4 2H3.25C2.42157 2 1.75 2.67157 1.75 3.5L1.75 4.5M4 2H8.75C9.57843 2 10.25 2.67157 10.25 3.5V4.5M4 2V1.25M4 2V2.75M8 1.25V2.75M1.75 4.5V9C1.75 9.82843 2.42157 10.5 3.25 10.5H8.75C9.57843 10.5 10.25 9.82843 10.25 9V4.5M1.75 4.5H10.25M3.74501 6.5H3.75001M5.995 6.5H6M8.245 6.5H8.25M3.74501 8.5H3.75001M5.995 8.5H6M8.245 8.5H8.25",
133
+ stroke: "currentColor",
134
+ strokeLinecap: "round"
135
+ }
136
+ ) });
137
+ }
138
+ function ClockIcon(props) {
139
+ return /* @__PURE__ */ jsxs(Icon, { viewBox: "0 0 20 20", ...props, children: [
140
+ /* @__PURE__ */ jsx(
141
+ "path",
142
+ {
143
+ d: "M10 3.33331C6.3181 3.33331 3.33331 6.3181 3.33331 9.99998C3.33331 13.6819 6.3181 16.6666 10 16.6666C13.6819 16.6666 16.6666 13.6819 16.6666 9.99998C16.6666 6.3181 13.6819 3.33331 10 3.33331Z",
144
+ stroke: "currentColor",
145
+ strokeWidth: "1.5"
146
+ }
147
+ ),
148
+ /* @__PURE__ */ jsx(
149
+ "path",
150
+ {
151
+ d: "M10 6.66669V10L12.2917 11.4584",
152
+ stroke: "currentColor",
153
+ strokeWidth: "1.5",
154
+ strokeLinecap: "round",
155
+ strokeLinejoin: "round"
156
+ }
157
+ )
158
+ ] });
159
+ }
160
+ function UploadCloudIcon(props) {
161
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx(
162
+ "path",
163
+ {
164
+ d: "M15.5433 8.1019L14.7069 8.43411C14.8693 8.84309 15.3037 9.07464 15.7338 8.98153L15.5433 8.1019ZM4.57793 16.0258C4.94899 16.3565 5.5179 16.3238 5.84863 15.9527C6.17935 15.5817 6.14666 15.0128 5.7756 14.6821L5.17676 15.3539L4.57793 16.0258ZM19.6105 15.7519L18.9883 15.1016L18.9883 15.1016L19.6105 15.7519ZM18.686 15.3606C18.2913 15.6628 18.2163 16.2277 18.5185 16.6223C18.8206 17.017 19.3855 17.092 19.7802 16.7899L19.2331 16.0752L18.686 15.3606ZM11.1 21C11.1 21.4971 11.5029 21.9 12 21.9C12.4971 21.9 12.9 21.4971 12.9 21H12H11.1ZM12 12L12.6364 11.3636C12.2849 11.0121 11.7151 11.0121 11.3636 11.3636L12 12ZM7.86361 14.8636C7.51214 15.2151 7.51214 15.7849 7.86361 16.1364C8.21508 16.4879 8.78493 16.4879 9.1364 16.1364L8.5 15.5L7.86361 14.8636ZM14.8636 16.1364C15.2151 16.4879 15.7849 16.4879 16.1364 16.1364C16.4879 15.7849 16.4879 15.2151 16.1364 14.8636L15.5 15.5L14.8636 16.1364ZM3 10.5H3.9C3.9 7.40721 6.40721 4.9 9.5 4.9V4V3.1C5.41309 3.1 2.1 6.41309 2.1 10.5H3ZM16.5 8V8.9C18.4882 8.9 20.1 10.5118 20.1 12.5H21H21.9C21.9 9.51766 19.4823 7.1 16.5 7.1V8ZM15.5433 8.1019L15.7338 8.98153C15.9799 8.92824 16.2361 8.9 16.5 8.9V8V7.1C16.1073 7.1 15.7234 7.14207 15.3529 7.22228L15.5433 8.1019ZM9.5 4V4.9C11.8617 4.9 13.884 6.36226 14.7069 8.43411L15.5433 8.1019L16.3798 7.7697C15.2939 5.03562 12.6241 3.1 9.5 3.1V4ZM5.17676 15.3539L5.7756 14.6821C4.62343 13.6551 3.9 12.1626 3.9 10.5H3H2.1C2.1 12.6973 3.0588 14.6718 4.57793 16.0258L5.17676 15.3539ZM21 12.5H20.1C20.1 13.523 19.6745 14.4451 18.9883 15.1016L19.6105 15.7519L20.2327 16.4021C21.259 15.4202 21.9 14.0342 21.9 12.5H21ZM19.6105 15.7519L18.9883 15.1016C18.8924 15.1933 18.7915 15.2799 18.686 15.3606L19.2331 16.0752L19.7802 16.7899C19.9382 16.6689 20.0893 16.5394 20.2327 16.4021L19.6105 15.7519ZM12 21H12.9V12H12H11.1V21H12ZM12 12L11.3636 11.3636L7.86361 14.8636L8.5 15.5L9.1364 16.1364L12.6364 12.6364L12 12ZM12 12L11.3636 12.6364L14.8636 16.1364L15.5 15.5L16.1364 14.8636L12.6364 11.3636L12 12Z",
165
+ fill: "currentColor"
166
+ }
167
+ ) });
168
+ }
169
+ function MoreVerticalIcon(props) {
170
+ return /* @__PURE__ */ jsxs(Icon, { viewBox: "0 0 12 12", ...props, children: [
171
+ /* @__PURE__ */ jsx(
172
+ "path",
173
+ {
174
+ d: "M6 6.5C6.27614 6.5 6.5 6.27614 6.5 6C6.5 5.72386 6.27614 5.5 6 5.5C5.72386 5.5 5.5 5.72386 5.5 6C5.5 6.27614 5.72386 6.5 6 6.5Z",
175
+ stroke: "currentColor",
176
+ strokeLinecap: "round",
177
+ strokeLinejoin: "round"
178
+ }
179
+ ),
180
+ /* @__PURE__ */ jsx(
181
+ "path",
182
+ {
183
+ d: "M6 3C6.27614 3 6.5 2.77614 6.5 2.5C6.5 2.22386 6.27614 2 6 2C5.72386 2 5.5 2.22386 5.5 2.5C5.5 2.77614 5.72386 3 6 3Z",
184
+ stroke: "currentColor",
185
+ strokeLinecap: "round",
186
+ strokeLinejoin: "round"
187
+ }
188
+ ),
189
+ /* @__PURE__ */ jsx(
190
+ "path",
191
+ {
192
+ d: "M6 10C6.27614 10 6.5 9.77614 6.5 9.5C6.5 9.22386 6.27614 9 6 9C5.72386 9 5.5 9.22386 5.5 9.5C5.5 9.77614 5.72386 10 6 10Z",
193
+ stroke: "currentColor",
194
+ strokeLinecap: "round",
195
+ strokeLinejoin: "round"
196
+ }
197
+ )
198
+ ] });
199
+ }
200
+ function MoreHorizontalIcon(props) {
201
+ return /* @__PURE__ */ jsxs(Icon, { viewBox: "0 0 12 12", ...props, children: [
202
+ /* @__PURE__ */ jsx(
203
+ "path",
204
+ {
205
+ d: "M5.5 6C5.5 6.27614 5.72386 6.5 6 6.5C6.27614 6.5 6.5 6.27614 6.5 6C6.5 5.72386 6.27614 5.5 6 5.5C5.72386 5.5 5.5 5.72386 5.5 6Z",
206
+ stroke: "currentColor",
207
+ strokeLinecap: "round",
208
+ strokeLinejoin: "round"
209
+ }
210
+ ),
211
+ /* @__PURE__ */ jsx(
212
+ "path",
213
+ {
214
+ d: "M9 6C9 6.27614 9.22386 6.5 9.5 6.5C9.77614 6.5 10 6.27614 10 6C10 5.72386 9.77614 5.5 9.5 5.5C9.22386 5.5 9 5.72386 9 6Z",
215
+ stroke: "currentColor",
216
+ strokeLinecap: "round",
217
+ strokeLinejoin: "round"
218
+ }
219
+ ),
220
+ /* @__PURE__ */ jsx(
221
+ "path",
222
+ {
223
+ d: "M2 6C2 6.27614 2.22386 6.5 2.5 6.5C2.77614 6.5 3 6.27614 3 6C3 5.72386 2.77614 5.5 2.5 5.5C2.22386 5.5 2 5.72386 2 6Z",
224
+ stroke: "currentColor",
225
+ strokeLinecap: "round",
226
+ strokeLinejoin: "round"
227
+ }
228
+ )
229
+ ] });
230
+ }
231
+ function ArrowLeftIcon(props) {
232
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
233
+ "path",
234
+ {
235
+ d: "M10.25 6H1.75M1.75 6L4.25 3.5M1.75 6L4.25 8.5",
236
+ stroke: "currentColor",
237
+ strokeLinecap: "round",
238
+ strokeLinejoin: "round"
239
+ }
240
+ ) });
241
+ }
242
+ function ArrowRightIcon(props) {
243
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
244
+ "path",
245
+ {
246
+ d: "M1.75 6H10.25M10.25 6L7.75 3.5M10.25 6L7.75 8.5",
247
+ stroke: "currentColor",
248
+ strokeLinecap: "round",
249
+ strokeLinejoin: "round"
250
+ }
251
+ ) });
252
+ }
253
+ function InfoIcon(props) {
254
+ return /* @__PURE__ */ jsxs(Icon, { viewBox: "0 0 20 20", ...props, children: [
255
+ /* @__PURE__ */ jsx(
256
+ "path",
257
+ {
258
+ d: "M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 10 17.5Z",
259
+ stroke: "currentColor",
260
+ strokeWidth: "1.5"
261
+ }
262
+ ),
263
+ /* @__PURE__ */ jsx(
264
+ "path",
265
+ {
266
+ d: "M10 13.3333V10M10 6.66667H10.0083",
267
+ stroke: "currentColor",
268
+ strokeWidth: "1.5",
269
+ strokeLinecap: "round"
270
+ }
271
+ )
272
+ ] });
273
+ }
274
+ function AlertCircleIcon(props) {
275
+ return /* @__PURE__ */ jsxs(Icon, { viewBox: "0 0 20 20", ...props, children: [
276
+ /* @__PURE__ */ jsx(
277
+ "path",
278
+ {
279
+ d: "M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 10 17.5Z",
280
+ stroke: "currentColor",
281
+ strokeWidth: "1.5"
282
+ }
283
+ ),
284
+ /* @__PURE__ */ jsx(
285
+ "path",
286
+ {
287
+ d: "M10 6.66667V10M10 13.3333H10.0083",
288
+ stroke: "currentColor",
289
+ strokeWidth: "1.5",
290
+ strokeLinecap: "round"
291
+ }
292
+ )
293
+ ] });
294
+ }
295
+ function CheckCircleIcon(props) {
296
+ return /* @__PURE__ */ jsxs(Icon, { viewBox: "0 0 20 20", ...props, children: [
297
+ /* @__PURE__ */ jsx(
298
+ "path",
299
+ {
300
+ d: "M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 10 17.5Z",
301
+ stroke: "currentColor",
302
+ strokeWidth: "1.5"
303
+ }
304
+ ),
305
+ /* @__PURE__ */ jsx(
306
+ "path",
307
+ {
308
+ d: "M7.5 10L9.16667 11.6667L12.5 8.33333",
309
+ stroke: "currentColor",
310
+ strokeWidth: "1.5",
311
+ strokeLinecap: "round",
312
+ strokeLinejoin: "round"
313
+ }
314
+ )
315
+ ] });
316
+ }
317
+ function TrashIcon(props) {
318
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
319
+ "path",
320
+ {
321
+ d: "M2 3H10M8.5 3V9.5C8.5 10.0523 8.05228 10.5 7.5 10.5H4.5C3.94772 10.5 3.5 10.0523 3.5 9.5V3M4.5 3V2.5C4.5 1.94772 4.94772 1.5 5.5 1.5H6.5C7.05228 1.5 7.5 1.94772 7.5 2.5V3",
322
+ stroke: "currentColor",
323
+ strokeLinecap: "round",
324
+ strokeLinejoin: "round"
325
+ }
326
+ ) });
327
+ }
328
+ function EditIcon(props) {
329
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
330
+ "path",
331
+ {
332
+ d: "M8.5 1.5L10.5 3.5M1.5 10.5L2.16667 8.16667L8.5 1.83333C8.77614 1.55719 9.22386 1.55719 9.5 1.83333L10.1667 2.5C10.4428 2.77614 10.4428 3.22386 10.1667 3.5L3.83333 9.83333L1.5 10.5Z",
333
+ stroke: "currentColor",
334
+ strokeLinecap: "round",
335
+ strokeLinejoin: "round"
336
+ }
337
+ ) });
338
+ }
339
+ function CopyIcon(props) {
340
+ return /* @__PURE__ */ jsxs(Icon, { viewBox: "0 0 12 12", ...props, children: [
341
+ /* @__PURE__ */ jsx(
342
+ "path",
343
+ {
344
+ d: "M4 3.5V2.5C4 1.94772 4.44772 1.5 5 1.5H9C9.55228 1.5 10 1.94772 10 2.5V6.5C10 7.05228 9.55228 7.5 9 7.5H8",
345
+ stroke: "currentColor",
346
+ strokeLinecap: "round",
347
+ strokeLinejoin: "round"
348
+ }
349
+ ),
350
+ /* @__PURE__ */ jsx("rect", { x: "2", y: "3.5", width: "5", height: "6.5", rx: "0.75", stroke: "currentColor" })
351
+ ] });
352
+ }
353
+ function ExternalLinkIcon(props) {
354
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
355
+ "path",
356
+ {
357
+ d: "M1.74999 10.25L10.25 1.75M10.25 1.75H7.00001M10.25 1.75V5",
358
+ stroke: "currentColor",
359
+ strokeLinecap: "round",
360
+ strokeLinejoin: "round"
361
+ }
362
+ ) });
363
+ }
364
+ function FilterIcon(props) {
365
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
366
+ "path",
367
+ {
368
+ d: "M1.5 2.5H10.5M3 5.5H9M4.5 8.5H7.5",
369
+ stroke: "currentColor",
370
+ strokeLinecap: "round"
371
+ }
372
+ ) });
373
+ }
374
+ function SortIcon(props) {
375
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
376
+ "path",
377
+ {
378
+ d: "M3 4L6 1L9 4M3 8L6 11L9 8",
379
+ stroke: "currentColor",
380
+ strokeLinecap: "round",
381
+ strokeLinejoin: "round"
382
+ }
383
+ ) });
384
+ }
385
+ function SettingsIcon(props) {
386
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
387
+ "path",
388
+ {
389
+ d: "M8 3H10M8 3V2M8 3V4M2 3H6M7 9H10M7 9V8M7 9V10M2 9H5M4 6H2M4 6V5M4 6V7M10 6H6",
390
+ stroke: "currentColor",
391
+ strokeLinecap: "round"
392
+ }
393
+ ) });
394
+ }
395
+ function UserIcon(props) {
396
+ return /* @__PURE__ */ jsx(Icon, { viewBox: "0 0 12 12", ...props, children: /* @__PURE__ */ jsx(
397
+ "path",
398
+ {
399
+ d: "M6 5.35261C5.55083 5.35261 5.16634 5.18849 4.84652 4.86025C4.52662 4.53194 4.36667 4.13729 4.36667 3.6763C4.36667 3.21532 4.52662 2.82071 4.84652 2.49247C5.16634 2.16416 5.55083 2 6 2C6.44917 2 6.83366 2.16416 7.15348 2.49247C7.47338 2.82071 7.63333 3.21532 7.63333 3.6763C7.63333 4.13729 7.47338 4.53194 7.15348 4.86025C6.83366 5.18849 6.44917 5.35261 6 5.35261ZM2.5 9.27236V8.93519C2.5 8.70067 2.56207 8.48346 2.6862 8.28359C2.81033 8.08371 2.97623 7.93005 3.1839 7.8226C3.64512 7.59055 4.11043 7.4165 4.57982 7.30043C5.04921 7.18437 5.5226 7.12634 6 7.12634C6.4774 7.12634 6.95079 7.18437 7.42018 7.30043C7.88957 7.4165 8.35488 7.59055 8.8161 7.8226C9.02377 7.93005 9.18967 8.08371 9.3138 8.28359C9.43793 8.48346 9.5 8.70067 9.5 8.93519V9.27236C9.5 9.47432 9.43105 9.6461 9.29315 9.78771C9.15525 9.92924 8.98787 10 8.79102 10H3.20898C3.01213 10 2.84475 9.92924 2.70685 9.78771C2.56895 9.6461 2.5 9.47432 2.5 9.27236Z",
400
+ stroke: "currentColor"
401
+ }
402
+ ) });
403
+ }
404
+ var iconComponents = {
405
+ "chevron-left": ChevronLeftIcon,
406
+ "chevron-right": ChevronRightIcon,
407
+ "chevron-down": ChevronDownIcon,
408
+ "chevron-up": ChevronUpIcon,
409
+ close: CloseIcon,
410
+ check: CheckIcon,
411
+ plus: PlusIcon,
412
+ minus: MinusIcon,
413
+ search: SearchIcon,
414
+ calendar: CalendarIcon,
415
+ clock: ClockIcon,
416
+ "upload-cloud": UploadCloudIcon,
417
+ "more-vertical": MoreVerticalIcon,
418
+ "more-horizontal": MoreHorizontalIcon,
419
+ "arrow-left": ArrowLeftIcon,
420
+ "arrow-right": ArrowRightIcon,
421
+ info: InfoIcon,
422
+ "alert-circle": AlertCircleIcon,
423
+ "check-circle": CheckCircleIcon,
424
+ trash: TrashIcon,
425
+ edit: EditIcon,
426
+ copy: CopyIcon,
427
+ "external-link": ExternalLinkIcon,
428
+ filter: FilterIcon,
429
+ sort: SortIcon,
430
+ settings: SettingsIcon,
431
+ user: UserIcon
432
+ };
433
+ var IconByName = forwardRef(
434
+ function IconByName2({ name, ...props }, ref) {
435
+ const IconComponent = iconComponents[name];
436
+ if (!IconComponent) {
437
+ console.warn(`Icon "${name}" not found`);
438
+ return null;
439
+ }
440
+ return /* @__PURE__ */ jsx(IconComponent, { ref, ...props });
441
+ }
442
+ );
443
+ IconByName.displayName = "IconByName";
444
+ var iconNames = Object.keys(iconComponents);
445
+ export {
446
+ AlertCircleIcon,
447
+ ArrowLeftIcon,
448
+ ArrowRightIcon,
449
+ CalendarIcon,
450
+ CheckCircleIcon,
451
+ CheckIcon,
452
+ ChevronDownIcon,
453
+ ChevronLeftIcon,
454
+ ChevronRightIcon,
455
+ ChevronUpIcon,
456
+ ClockIcon,
457
+ CloseIcon,
458
+ CopyIcon,
459
+ EditIcon,
460
+ ExternalLinkIcon,
461
+ FilterIcon,
462
+ Icon,
463
+ IconByName,
464
+ InfoIcon,
465
+ MinusIcon,
466
+ MoreHorizontalIcon,
467
+ MoreVerticalIcon,
468
+ PlusIcon,
469
+ SearchIcon,
470
+ SettingsIcon,
471
+ SortIcon,
472
+ TrashIcon,
473
+ UploadCloudIcon,
474
+ UserIcon,
475
+ iconNames
476
+ };
477
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport React, { forwardRef } from \"react\";\n\nexport type IconSize = \"12\" | \"16\" | \"20\" | \"24\" | \"32\" | \"40\" | \"48\";\n\nexport type IconOwnProps = {\n /** Accessible title for the icon */\n title?: string;\n /** Icon content (SVG paths) */\n children?: ReactNode;\n /** Icon size in pixels */\n size?: IconSize;\n /** SVG viewBox attribute */\n viewBox?: string;\n /** Additional class name */\n className?: string;\n};\n\nexport type IconProps = IconOwnProps &\n Omit<React.SVGProps<SVGSVGElement>, keyof IconOwnProps>;\n\nexport const Icon = forwardRef<SVGSVGElement, IconProps>(function Icon(\n {\n title,\n viewBox = \"0 0 24 24\",\n children,\n size = \"24\",\n className,\n ...restProps\n },\n ref\n) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox={viewBox}\n fill=\"none\"\n className={className}\n style={{\n display: \"inline-block\",\n flexShrink: 0,\n }}\n {...restProps}\n >\n {title ? <title>{title}</title> : null}\n {children}\n </svg>\n );\n});\n\nIcon.displayName = \"Icon\";\n\n// Common Icons\nexport function ChevronLeftIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M7.17915 2.625L4.47915 5.325C4.10636 5.69779 4.10636 6.30221 4.47915 6.675L7.17915 9.375\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function ChevronRightIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M4.82085 2.625L7.52085 5.325C7.89364 5.69779 7.89364 6.30221 7.52085 6.675L4.82085 9.375\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function ChevronDownIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M2.625 4.82085L5.325 7.52085C5.69779 7.89364 6.30221 7.89364 6.675 7.52085L9.375 4.82085\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function ChevronUpIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M2.625 7.17915L5.325 4.47915C5.69779 4.10636 6.30221 4.10636 6.675 4.47915L9.375 7.17915\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function CloseIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M9.74993 2.25L5.99996 5.99998M5.99996 5.99998L2.24998 9.74995M5.99996 5.99998L2.24998 2.25001M5.99996 5.99998L9.75003 9.75\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function CheckIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M2.5 6.5L4.5 8.5L9.5 3.5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function PlusIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M6 2.5V9.5M2.5 6H9.5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function MinusIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path d=\"M2.5 6H9.5\" stroke=\"currentColor\" strokeLinecap=\"round\" />\n </Icon>\n );\n}\n\nexport function SearchIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M5.25 9C7.32107 9 9 7.32107 9 5.25C9 3.17893 7.32107 1.5 5.25 1.5C3.17893 1.5 1.5 3.17893 1.5 5.25C1.5 7.32107 3.17893 9 5.25 9Z\"\n stroke=\"currentColor\"\n />\n <path\n d=\"M7.875 7.875L10.5 10.5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function CalendarIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M4 2H3.25C2.42157 2 1.75 2.67157 1.75 3.5L1.75 4.5M4 2H8.75C9.57843 2 10.25 2.67157 10.25 3.5V4.5M4 2V1.25M4 2V2.75M8 1.25V2.75M1.75 4.5V9C1.75 9.82843 2.42157 10.5 3.25 10.5H8.75C9.57843 10.5 10.25 9.82843 10.25 9V4.5M1.75 4.5H10.25M3.74501 6.5H3.75001M5.995 6.5H6M8.245 6.5H8.25M3.74501 8.5H3.75001M5.995 8.5H6M8.245 8.5H8.25\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function ClockIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 20 20\" {...props}>\n <path\n d=\"M10 3.33331C6.3181 3.33331 3.33331 6.3181 3.33331 9.99998C3.33331 13.6819 6.3181 16.6666 10 16.6666C13.6819 16.6666 16.6666 13.6819 16.6666 9.99998C16.6666 6.3181 13.6819 3.33331 10 3.33331Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M10 6.66669V10L12.2917 11.4584\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function UploadCloudIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 24 24\" {...props}>\n <path\n d=\"M15.5433 8.1019L14.7069 8.43411C14.8693 8.84309 15.3037 9.07464 15.7338 8.98153L15.5433 8.1019ZM4.57793 16.0258C4.94899 16.3565 5.5179 16.3238 5.84863 15.9527C6.17935 15.5817 6.14666 15.0128 5.7756 14.6821L5.17676 15.3539L4.57793 16.0258ZM19.6105 15.7519L18.9883 15.1016L18.9883 15.1016L19.6105 15.7519ZM18.686 15.3606C18.2913 15.6628 18.2163 16.2277 18.5185 16.6223C18.8206 17.017 19.3855 17.092 19.7802 16.7899L19.2331 16.0752L18.686 15.3606ZM11.1 21C11.1 21.4971 11.5029 21.9 12 21.9C12.4971 21.9 12.9 21.4971 12.9 21H12H11.1ZM12 12L12.6364 11.3636C12.2849 11.0121 11.7151 11.0121 11.3636 11.3636L12 12ZM7.86361 14.8636C7.51214 15.2151 7.51214 15.7849 7.86361 16.1364C8.21508 16.4879 8.78493 16.4879 9.1364 16.1364L8.5 15.5L7.86361 14.8636ZM14.8636 16.1364C15.2151 16.4879 15.7849 16.4879 16.1364 16.1364C16.4879 15.7849 16.4879 15.2151 16.1364 14.8636L15.5 15.5L14.8636 16.1364ZM3 10.5H3.9C3.9 7.40721 6.40721 4.9 9.5 4.9V4V3.1C5.41309 3.1 2.1 6.41309 2.1 10.5H3ZM16.5 8V8.9C18.4882 8.9 20.1 10.5118 20.1 12.5H21H21.9C21.9 9.51766 19.4823 7.1 16.5 7.1V8ZM15.5433 8.1019L15.7338 8.98153C15.9799 8.92824 16.2361 8.9 16.5 8.9V8V7.1C16.1073 7.1 15.7234 7.14207 15.3529 7.22228L15.5433 8.1019ZM9.5 4V4.9C11.8617 4.9 13.884 6.36226 14.7069 8.43411L15.5433 8.1019L16.3798 7.7697C15.2939 5.03562 12.6241 3.1 9.5 3.1V4ZM5.17676 15.3539L5.7756 14.6821C4.62343 13.6551 3.9 12.1626 3.9 10.5H3H2.1C2.1 12.6973 3.0588 14.6718 4.57793 16.0258L5.17676 15.3539ZM21 12.5H20.1C20.1 13.523 19.6745 14.4451 18.9883 15.1016L19.6105 15.7519L20.2327 16.4021C21.259 15.4202 21.9 14.0342 21.9 12.5H21ZM19.6105 15.7519L18.9883 15.1016C18.8924 15.1933 18.7915 15.2799 18.686 15.3606L19.2331 16.0752L19.7802 16.7899C19.9382 16.6689 20.0893 16.5394 20.2327 16.4021L19.6105 15.7519ZM12 21H12.9V12H12H11.1V21H12ZM12 12L11.3636 11.3636L7.86361 14.8636L8.5 15.5L9.1364 16.1364L12.6364 12.6364L12 12ZM12 12L11.3636 12.6364L14.8636 16.1364L15.5 15.5L16.1364 14.8636L12.6364 11.3636L12 12Z\"\n fill=\"currentColor\"\n />\n </Icon>\n );\n}\n\nexport function MoreVerticalIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M6 6.5C6.27614 6.5 6.5 6.27614 6.5 6C6.5 5.72386 6.27614 5.5 6 5.5C5.72386 5.5 5.5 5.72386 5.5 6C5.5 6.27614 5.72386 6.5 6 6.5Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M6 3C6.27614 3 6.5 2.77614 6.5 2.5C6.5 2.22386 6.27614 2 6 2C5.72386 2 5.5 2.22386 5.5 2.5C5.5 2.77614 5.72386 3 6 3Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M6 10C6.27614 10 6.5 9.77614 6.5 9.5C6.5 9.22386 6.27614 9 6 9C5.72386 9 5.5 9.22386 5.5 9.5C5.5 9.77614 5.72386 10 6 10Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function MoreHorizontalIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M5.5 6C5.5 6.27614 5.72386 6.5 6 6.5C6.27614 6.5 6.5 6.27614 6.5 6C6.5 5.72386 6.27614 5.5 6 5.5C5.72386 5.5 5.5 5.72386 5.5 6Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9 6C9 6.27614 9.22386 6.5 9.5 6.5C9.77614 6.5 10 6.27614 10 6C10 5.72386 9.77614 5.5 9.5 5.5C9.22386 5.5 9 5.72386 9 6Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M2 6C2 6.27614 2.22386 6.5 2.5 6.5C2.77614 6.5 3 6.27614 3 6C3 5.72386 2.77614 5.5 2.5 5.5C2.22386 5.5 2 5.72386 2 6Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function ArrowLeftIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M10.25 6H1.75M1.75 6L4.25 3.5M1.75 6L4.25 8.5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function ArrowRightIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M1.75 6H10.25M10.25 6L7.75 3.5M10.25 6L7.75 8.5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function InfoIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 20 20\" {...props}>\n <path\n d=\"M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 10 17.5Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M10 13.3333V10M10 6.66667H10.0083\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function AlertCircleIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 20 20\" {...props}>\n <path\n d=\"M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 10 17.5Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M10 6.66667V10M10 13.3333H10.0083\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function CheckCircleIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 20 20\" {...props}>\n <path\n d=\"M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 10 17.5Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M7.5 10L9.16667 11.6667L12.5 8.33333\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function TrashIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M2 3H10M8.5 3V9.5C8.5 10.0523 8.05228 10.5 7.5 10.5H4.5C3.94772 10.5 3.5 10.0523 3.5 9.5V3M4.5 3V2.5C4.5 1.94772 4.94772 1.5 5.5 1.5H6.5C7.05228 1.5 7.5 1.94772 7.5 2.5V3\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function EditIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M8.5 1.5L10.5 3.5M1.5 10.5L2.16667 8.16667L8.5 1.83333C8.77614 1.55719 9.22386 1.55719 9.5 1.83333L10.1667 2.5C10.4428 2.77614 10.4428 3.22386 10.1667 3.5L3.83333 9.83333L1.5 10.5Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function CopyIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M4 3.5V2.5C4 1.94772 4.44772 1.5 5 1.5H9C9.55228 1.5 10 1.94772 10 2.5V6.5C10 7.05228 9.55228 7.5 9 7.5H8\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <rect x=\"2\" y=\"3.5\" width=\"5\" height=\"6.5\" rx=\"0.75\" stroke=\"currentColor\" />\n </Icon>\n );\n}\n\nexport function ExternalLinkIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M1.74999 10.25L10.25 1.75M10.25 1.75H7.00001M10.25 1.75V5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function FilterIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M1.5 2.5H10.5M3 5.5H9M4.5 8.5H7.5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function SortIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M3 4L6 1L9 4M3 8L6 11L9 8\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Icon>\n );\n}\n\nexport function SettingsIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M8 3H10M8 3V2M8 3V4M2 3H6M7 9H10M7 9V8M7 9V10M2 9H5M4 6H2M4 6V5M4 6V7M10 6H6\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </Icon>\n );\n}\n\nexport function UserIcon(props: IconProps) {\n return (\n <Icon viewBox=\"0 0 12 12\" {...props}>\n <path\n d=\"M6 5.35261C5.55083 5.35261 5.16634 5.18849 4.84652 4.86025C4.52662 4.53194 4.36667 4.13729 4.36667 3.6763C4.36667 3.21532 4.52662 2.82071 4.84652 2.49247C5.16634 2.16416 5.55083 2 6 2C6.44917 2 6.83366 2.16416 7.15348 2.49247C7.47338 2.82071 7.63333 3.21532 7.63333 3.6763C7.63333 4.13729 7.47338 4.53194 7.15348 4.86025C6.83366 5.18849 6.44917 5.35261 6 5.35261ZM2.5 9.27236V8.93519C2.5 8.70067 2.56207 8.48346 2.6862 8.28359C2.81033 8.08371 2.97623 7.93005 3.1839 7.8226C3.64512 7.59055 4.11043 7.4165 4.57982 7.30043C5.04921 7.18437 5.5226 7.12634 6 7.12634C6.4774 7.12634 6.95079 7.18437 7.42018 7.30043C7.88957 7.4165 8.35488 7.59055 8.8161 7.8226C9.02377 7.93005 9.18967 8.08371 9.3138 8.28359C9.43793 8.48346 9.5 8.70067 9.5 8.93519V9.27236C9.5 9.47432 9.43105 9.6461 9.29315 9.78771C9.15525 9.92924 8.98787 10 8.79102 10H3.20898C3.01213 10 2.84475 9.92924 2.70685 9.78771C2.56895 9.6461 2.5 9.47432 2.5 9.27236Z\"\n stroke=\"currentColor\"\n />\n </Icon>\n );\n}\n\n// Icon name mapping for dynamic icon rendering\nconst iconComponents = {\n \"chevron-left\": ChevronLeftIcon,\n \"chevron-right\": ChevronRightIcon,\n \"chevron-down\": ChevronDownIcon,\n \"chevron-up\": ChevronUpIcon,\n close: CloseIcon,\n check: CheckIcon,\n plus: PlusIcon,\n minus: MinusIcon,\n search: SearchIcon,\n calendar: CalendarIcon,\n clock: ClockIcon,\n \"upload-cloud\": UploadCloudIcon,\n \"more-vertical\": MoreVerticalIcon,\n \"more-horizontal\": MoreHorizontalIcon,\n \"arrow-left\": ArrowLeftIcon,\n \"arrow-right\": ArrowRightIcon,\n info: InfoIcon,\n \"alert-circle\": AlertCircleIcon,\n \"check-circle\": CheckCircleIcon,\n trash: TrashIcon,\n edit: EditIcon,\n copy: CopyIcon,\n \"external-link\": ExternalLinkIcon,\n filter: FilterIcon,\n sort: SortIcon,\n settings: SettingsIcon,\n user: UserIcon,\n} as const;\n\nexport type IconName = keyof typeof iconComponents;\n\nexport type NamedIconProps = Omit<IconProps, \"children\"> & {\n /** Name of the icon to render */\n name: IconName;\n};\n\n/**\n * Renders an icon by name\n * @example\n * <IconByName name=\"check\" size=\"24\" />\n * <IconByName name=\"chevron-down\" size=\"16\" />\n */\nexport const IconByName = forwardRef<SVGSVGElement, NamedIconProps>(\n function IconByName({ name, ...props }, ref) {\n const IconComponent = iconComponents[name];\n if (!IconComponent) {\n console.warn(`Icon \"${name}\" not found`);\n return null;\n }\n return <IconComponent ref={ref} {...props} />;\n }\n);\n\nIconByName.displayName = \"IconByName\";\n\n/** List of all available icon names */\nexport const iconNames = Object.keys(iconComponents) as IconName[];\n"],"mappings":"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","names":["Icon","IconByName"]}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@zentrades-ui/icons",
3
+ "version": "0.2.1",
4
+ "private": false,
5
+ "description": "Icon library for Zen UI with 25+ commonly used icons.",
6
+ "type": "module",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "CHANGELOG.md"
13
+ ],
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "sideEffects": false,
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js"
22
+ }
23
+ },
24
+ "peerDependencies": {
25
+ "react": ">=18"
26
+ },
27
+ "devDependencies": {
28
+ "@types/react": "^18.3.12",
29
+ "tsup": "^8.5.0",
30
+ "typescript": "^5.9.3"
31
+ },
32
+ "scripts": {
33
+ "build": "tsup"
34
+ }
35
+ }