@iquji-web/web-icons 0.0.0-stage → 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Iquji contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
- # Temporary Holding Version
1
+ # Web icons
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ `@iquji-web/web-icons` 只提供通用 icons 能力,JavaScript、类型声明、必要样式及功能测试随源码交付。
4
+
5
+ 安装使用本目录锁文件,运行 `bun install --frozen-lockfile` 和 `bun run check`。正式入口只导出 `dist` 中的 JavaScript、类型声明,不要求消费者编译本包源码。
6
+
7
+ 公开类型由 React SVG 属性、尺寸、独立描边和可访问性约束组成,不暴露底层图标库类型。仓外消费者使用正式类型产物验证图标名、SVG 属性和可访问性联合,不需要读取本包源码或修补第三方声明。
@@ -0,0 +1,19 @@
1
+ import type { ComponentType, SVGProps } from "react";
2
+ type IconSvgProps = SVGProps<SVGSVGElement> & {
3
+ size?: string | number;
4
+ absoluteStrokeWidth?: boolean;
5
+ };
6
+ declare const IQUJI_ICONS: Record<"filter" | "message-circle" | "activity" | "boxes" | "calendar-days" | "container" | "eraser" | "hard-drive" | "hard-drive-download" | "key-round" | "layout-dashboard" | "list-tree" | "network" | "panel-left-close" | "panel-left-open" | "play" | "radar" | "rocket" | "rotate-ccw" | "server" | "server-cog" | "shield-alert" | "sliders-horizontal" | "square" | "wrench" | "arrow-down" | "arrow-down-up" | "arrow-left" | "arrow-right" | "arrow-up" | "bell" | "bold" | "book-open" | "building" | "calendar" | "check" | "check-circle" | "chevron-down" | "chevron-left" | "chevron-right" | "chevrons-left" | "chevrons-right" | "circle-alert" | "circle-help" | "circle-info" | "clipboard" | "clock" | "code" | "copy" | "crown" | "download" | "external-link" | "eye" | "eye-off" | "file-search" | "folder" | "globe" | "home" | "italic" | "languages" | "link" | "loader" | "list-bulleted" | "list-ordered" | "lock" | "log-in" | "log-out" | "maximize" | "menu" | "minimize" | "minus" | "monitor" | "moon" | "panel-bottom" | "panel-left" | "panel-right" | "more" | "pencil" | "plus" | "qr-code" | "redo" | "refresh" | "search" | "settings" | "shield" | "shield-x" | "sparkles" | "sun" | "terminal" | "trash" | "undo" | "upload" | "user" | "users" | "wallet" | "close" | "x-circle", ComponentType<IconSvgProps>>;
7
+ export type IqujiIconName = keyof typeof IQUJI_ICONS;
8
+ type IqujiIconAccessibility = {
9
+ decorative?: true;
10
+ label?: never;
11
+ } | {
12
+ decorative: false;
13
+ label: string;
14
+ };
15
+ export type IqujiIconProps = Omit<IconSvgProps, "aria-hidden" | "aria-label" | "children" | "role"> & IqujiIconAccessibility & {
16
+ name: IqujiIconName;
17
+ };
18
+ export declare function IqujiIcon({ decorative, label, name, size, strokeWidth, ...svgProps }: IqujiIconProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,225 @@
1
+ // src/index.tsx
2
+ import {
3
+ Activity,
4
+ ArrowDown,
5
+ ArrowDownUp,
6
+ ArrowLeft,
7
+ ArrowRight,
8
+ ArrowUp,
9
+ Bell,
10
+ Bold,
11
+ BookOpen,
12
+ Boxes,
13
+ Building2,
14
+ Calendar,
15
+ CalendarDays,
16
+ Check,
17
+ CheckCircle2,
18
+ ChevronDown,
19
+ ChevronLeft,
20
+ ChevronRight,
21
+ ChevronsLeft,
22
+ ChevronsRight,
23
+ CircleAlert,
24
+ CircleHelp,
25
+ Clipboard,
26
+ Clock3,
27
+ Code2,
28
+ Container,
29
+ Copy,
30
+ Crown,
31
+ Download,
32
+ Eraser,
33
+ ExternalLink,
34
+ Eye,
35
+ EyeOff,
36
+ FileSearch,
37
+ Filter,
38
+ Folder,
39
+ Globe2,
40
+ HardDrive,
41
+ HardDriveDownload,
42
+ House,
43
+ Info,
44
+ Italic,
45
+ KeyRound,
46
+ Languages,
47
+ LayoutDashboard,
48
+ Link2,
49
+ List,
50
+ ListOrdered,
51
+ ListTree,
52
+ LoaderCircle,
53
+ LockKeyhole,
54
+ LogIn,
55
+ LogOut,
56
+ Maximize2,
57
+ Menu,
58
+ MessageCircle,
59
+ Minimize2,
60
+ Minus,
61
+ Monitor,
62
+ Moon,
63
+ MoreHorizontal,
64
+ Network,
65
+ PanelBottom,
66
+ PanelLeft,
67
+ PanelLeftClose,
68
+ PanelLeftOpen,
69
+ PanelRight,
70
+ Pencil,
71
+ Play,
72
+ Plus,
73
+ QrCode,
74
+ Radar,
75
+ Redo2,
76
+ RefreshCw,
77
+ Rocket,
78
+ RotateCcw,
79
+ Search,
80
+ Server,
81
+ ServerCog,
82
+ Settings,
83
+ ShieldAlert,
84
+ ShieldCheck,
85
+ ShieldX,
86
+ SlidersHorizontal,
87
+ Sparkles,
88
+ Square,
89
+ Sun,
90
+ Terminal,
91
+ Trash2,
92
+ Undo2,
93
+ Upload,
94
+ User,
95
+ Users,
96
+ WalletCards,
97
+ Wrench,
98
+ X,
99
+ XCircle
100
+ } from "lucide-react";
101
+ import { jsx } from "react/jsx-runtime";
102
+ function defineIcons(icons) {
103
+ return icons;
104
+ }
105
+ var IQUJI_ICONS = defineIcons({
106
+ "message-circle": MessageCircle,
107
+ activity: Activity,
108
+ boxes: Boxes,
109
+ "calendar-days": CalendarDays,
110
+ container: Container,
111
+ eraser: Eraser,
112
+ "hard-drive": HardDrive,
113
+ "hard-drive-download": HardDriveDownload,
114
+ "key-round": KeyRound,
115
+ "layout-dashboard": LayoutDashboard,
116
+ "list-tree": ListTree,
117
+ network: Network,
118
+ "panel-left-close": PanelLeftClose,
119
+ "panel-left-open": PanelLeftOpen,
120
+ play: Play,
121
+ radar: Radar,
122
+ rocket: Rocket,
123
+ "rotate-ccw": RotateCcw,
124
+ server: Server,
125
+ "server-cog": ServerCog,
126
+ "shield-alert": ShieldAlert,
127
+ "sliders-horizontal": SlidersHorizontal,
128
+ square: Square,
129
+ wrench: Wrench,
130
+ "arrow-down": ArrowDown,
131
+ "arrow-down-up": ArrowDownUp,
132
+ "arrow-left": ArrowLeft,
133
+ "arrow-right": ArrowRight,
134
+ "arrow-up": ArrowUp,
135
+ bell: Bell,
136
+ bold: Bold,
137
+ "book-open": BookOpen,
138
+ building: Building2,
139
+ calendar: Calendar,
140
+ check: Check,
141
+ "check-circle": CheckCircle2,
142
+ "chevron-down": ChevronDown,
143
+ "chevron-left": ChevronLeft,
144
+ "chevron-right": ChevronRight,
145
+ "chevrons-left": ChevronsLeft,
146
+ "chevrons-right": ChevronsRight,
147
+ "circle-alert": CircleAlert,
148
+ "circle-help": CircleHelp,
149
+ "circle-info": Info,
150
+ clipboard: Clipboard,
151
+ clock: Clock3,
152
+ code: Code2,
153
+ copy: Copy,
154
+ crown: Crown,
155
+ download: Download,
156
+ "external-link": ExternalLink,
157
+ eye: Eye,
158
+ "eye-off": EyeOff,
159
+ filter: Filter,
160
+ "file-search": FileSearch,
161
+ folder: Folder,
162
+ globe: Globe2,
163
+ home: House,
164
+ italic: Italic,
165
+ languages: Languages,
166
+ link: Link2,
167
+ loader: LoaderCircle,
168
+ "list-bulleted": List,
169
+ "list-ordered": ListOrdered,
170
+ lock: LockKeyhole,
171
+ "log-in": LogIn,
172
+ "log-out": LogOut,
173
+ maximize: Maximize2,
174
+ menu: Menu,
175
+ minimize: Minimize2,
176
+ minus: Minus,
177
+ monitor: Monitor,
178
+ moon: Moon,
179
+ "panel-bottom": PanelBottom,
180
+ "panel-left": PanelLeft,
181
+ "panel-right": PanelRight,
182
+ more: MoreHorizontal,
183
+ pencil: Pencil,
184
+ plus: Plus,
185
+ "qr-code": QrCode,
186
+ redo: Redo2,
187
+ refresh: RefreshCw,
188
+ search: Search,
189
+ settings: Settings,
190
+ shield: ShieldCheck,
191
+ "shield-x": ShieldX,
192
+ sparkles: Sparkles,
193
+ sun: Sun,
194
+ terminal: Terminal,
195
+ trash: Trash2,
196
+ undo: Undo2,
197
+ upload: Upload,
198
+ user: User,
199
+ users: Users,
200
+ wallet: WalletCards,
201
+ close: X,
202
+ "x-circle": XCircle
203
+ });
204
+ function IqujiIcon({
205
+ decorative = true,
206
+ label,
207
+ name,
208
+ size = 18,
209
+ strokeWidth = 1.8,
210
+ ...svgProps
211
+ }) {
212
+ const Icon = IQUJI_ICONS[name];
213
+ return /* @__PURE__ */ jsx(Icon, {
214
+ "aria-hidden": decorative ? "true" : undefined,
215
+ "aria-label": decorative ? undefined : label,
216
+ focusable: "false",
217
+ role: decorative ? undefined : "img",
218
+ size,
219
+ strokeWidth,
220
+ ...svgProps
221
+ });
222
+ }
223
+ export {
224
+ IqujiIcon
225
+ };
package/package.json CHANGED
@@ -1,6 +1,36 @@
1
1
  {
2
2
  "name": "@iquji-web/web-icons",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.1",
4
+ "license": "MIT",
5
+ "type": "module",
6
+ "files": [
7
+ "dist",
8
+ "README.md",
9
+ "LICENSE"
10
+ ],
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "sideEffects": false,
18
+ "peerDependencies": {
19
+ "react": "19.2.4",
20
+ "lucide-react": "0.468.0"
21
+ },
22
+ "description": "React 通用图标与可访问性属性。",
23
+ "publishConfig": {
24
+ "access": "public",
25
+ "registry": "https://registry.npmjs.org/"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/haydardsx/iquji-community-web.git",
30
+ "directory": "icons"
31
+ },
32
+ "homepage": "https://community-web.iquji.com",
33
+ "bugs": {
34
+ "url": "https://github.com/haydardsx/iquji-community-web/issues"
35
+ }
36
+ }