@sparqjs/schema-icons-lucide 0.2.1 → 0.2.2
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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +108 -96
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { House, Info, KeyRound, MoreHorizontal, Pause, Plus, Trash2 } from '@lucide/vue';
|
|
1
|
+
import { Bell, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, House, Info, KeyRound, Maximize, Minimize, Monitor, Moon, MoreHorizontal, PanelLeftClose, PanelLeftOpen, Pause, Plus, Sun, Trash2 } from '@lucide/vue';
|
|
2
2
|
import { type SparqIconRegistry } from '@sparqjs/schema-vue';
|
|
3
3
|
import type { Component } from 'vue';
|
|
4
4
|
export interface CreateLucideIconRegistryOptions {
|
|
@@ -8,6 +8,6 @@ export interface CreateLucideIconRegistryOptions {
|
|
|
8
8
|
export declare function createLucideIconRegistry(options?: CreateLucideIconRegistryOptions): SparqIconRegistry;
|
|
9
9
|
export declare function getLucideIconComponent(name: string): Component | undefined;
|
|
10
10
|
/** Small named surface used by adapters and tests without exposing Element Plus icon components. */
|
|
11
|
-
export { House, Info, KeyRound, MoreHorizontal, Pause, Plus, Trash2 };
|
|
11
|
+
export { ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Bell, House, Info, KeyRound, Maximize, Minimize, Monitor, Moon, MoreHorizontal, PanelLeftClose, PanelLeftOpen, Pause, Plus, Sun, Trash2, };
|
|
12
12
|
export declare const LUCIDE_ICON_NAMES: string[];
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EASH,IAAI,EAKJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EAmBT,KAAK,EAEL,IAAI,EACJ,QAAQ,EAWR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,cAAc,EAId,cAAc,EACd,aAAa,EAEb,KAAK,EAKL,IAAI,EAYJ,GAAG,EAGH,MAAM,EAWT,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAqD,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC/G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,MAAM,WAAW,+BAA+B;IAC5C,4CAA4C;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAA;CAC3B;AA4HD,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,+BAAoC,GAAG,iBAAiB,CAoBzG;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE1E;AAED,oGAAoG;AACpG,OAAO,EACH,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,cAAc,EACd,cAAc,EACd,aAAa,EACb,KAAK,EACL,IAAI,EACJ,GAAG,EACH,MAAM,GACT,CAAA;AAgBD,eAAO,MAAM,iBAAiB,UAA4C,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,132 +1,144 @@
|
|
|
1
|
-
import { Activity as e, Archive as t, ArchiveRestore as ee, ArrowDown as te, ArrowLeft as n, ArrowRight as
|
|
2
|
-
import { resolveSparqIconName as
|
|
3
|
-
import { createSparqIconRegistry as
|
|
1
|
+
import { Activity as e, Archive as t, ArchiveRestore as ee, ArrowDown as te, ArrowLeft as n, ArrowRight as r, ArrowUp as ne, BarChart3 as i, Bell as a, BookOpen as re, Building2 as ie, Calendar as o, Check as s, ChevronDown as c, ChevronLeft as l, ChevronRight as u, ChevronUp as d, CircleCheck as f, CircleHelp as ae, CircleX as p, Clock as m, Code2 as oe, Copy as se, Database as ce, Download as h, ExternalLink as le, Eye as g, EyeOff as _, FileArchive as v, FileJson as y, FileText as b, Folder as ue, Grid2X2 as de, Hash as fe, HeartPulse as pe, House as x, Image as S, Info as C, KeyRound as w, LayoutDashboard as me, LayoutPanelTop as he, List as T, ListCollapse as ge, ListFilter as E, ListOrdered as _e, Lock as D, LogIn as ve, LogOut as O, Maximize as k, Menu as A, Minimize as j, Monitor as M, Moon as N, MoreHorizontal as P, Network as F, Palette as I, PanelLeftClose as L, PanelLeftOpen as R, PanelTop as ye, PanelsTopLeft as be, Pause as z, Pencil as xe, PencilRuler as Se, Play as Ce, Plug as we, Plus as B, Printer as Te, RefreshCcw as Ee, RotateCcw as De, Save as Oe, Search as ke, SeparatorHorizontal as Ae, Settings as je, Shield as Me, ShieldCheck as Ne, SlidersHorizontal as V, Square as H, Sun as U, Table2 as Pe, Tags as W, Trash2 as G, TriangleAlert as Fe, Undo2 as K, Unlock as Ie, Upload as q, User as Le, Users as Re, WandSparkles as ze, X as Be, icons as J } from "@lucide/vue";
|
|
2
|
+
import { resolveSparqIconName as Ve } from "@sparqjs/schema-core";
|
|
3
|
+
import { createSparqIconRegistry as Y } from "@sparqjs/schema-vue";
|
|
4
4
|
//#region src/index.ts
|
|
5
|
-
var
|
|
6
|
-
add:
|
|
7
|
-
edit:
|
|
5
|
+
var X = {
|
|
6
|
+
add: B,
|
|
7
|
+
edit: xe,
|
|
8
8
|
delete: G,
|
|
9
|
-
copy:
|
|
10
|
-
save:
|
|
11
|
-
search:
|
|
12
|
-
reset:
|
|
13
|
-
refresh:
|
|
9
|
+
copy: se,
|
|
10
|
+
save: Oe,
|
|
11
|
+
search: ke,
|
|
12
|
+
reset: De,
|
|
13
|
+
refresh: Ee,
|
|
14
14
|
upload: q,
|
|
15
|
-
download:
|
|
15
|
+
download: h,
|
|
16
16
|
view: g,
|
|
17
|
-
hide:
|
|
18
|
-
setting:
|
|
19
|
-
more:
|
|
20
|
-
close:
|
|
17
|
+
hide: _,
|
|
18
|
+
setting: je,
|
|
19
|
+
more: P,
|
|
20
|
+
close: Be,
|
|
21
21
|
check: s,
|
|
22
|
-
warning:
|
|
23
|
-
info:
|
|
24
|
-
error:
|
|
25
|
-
success:
|
|
26
|
-
user:
|
|
27
|
-
home:
|
|
22
|
+
warning: Fe,
|
|
23
|
+
info: C,
|
|
24
|
+
error: p,
|
|
25
|
+
success: f,
|
|
26
|
+
user: Le,
|
|
27
|
+
home: x,
|
|
28
28
|
calendar: o,
|
|
29
|
-
time:
|
|
30
|
-
filter:
|
|
31
|
-
sort:
|
|
29
|
+
time: m,
|
|
30
|
+
filter: E,
|
|
31
|
+
sort: E,
|
|
32
32
|
left: n,
|
|
33
|
-
right:
|
|
34
|
-
up:
|
|
33
|
+
right: r,
|
|
34
|
+
up: ne,
|
|
35
35
|
down: te,
|
|
36
|
+
"chevron-left": l,
|
|
37
|
+
"chevron-right": u,
|
|
38
|
+
"chevron-up": d,
|
|
39
|
+
"chevron-down": c,
|
|
36
40
|
back: n,
|
|
41
|
+
fold: L,
|
|
42
|
+
expand: R,
|
|
43
|
+
moon: N,
|
|
44
|
+
sunny: U,
|
|
45
|
+
monitor: M,
|
|
46
|
+
"full-screen": k,
|
|
47
|
+
aim: j,
|
|
37
48
|
restore: ee,
|
|
38
|
-
print:
|
|
39
|
-
key:
|
|
40
|
-
lock:
|
|
41
|
-
unlock:
|
|
49
|
+
print: Te,
|
|
50
|
+
key: w,
|
|
51
|
+
lock: D,
|
|
52
|
+
unlock: Ie,
|
|
42
53
|
"log-out": O,
|
|
43
|
-
shield:
|
|
44
|
-
users:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
shield: Me,
|
|
55
|
+
users: Re,
|
|
56
|
+
notification: a,
|
|
57
|
+
pause: z,
|
|
58
|
+
play: Ce,
|
|
59
|
+
dashboard: me,
|
|
60
|
+
appearance: I,
|
|
61
|
+
organization: ie,
|
|
62
|
+
plugin: we,
|
|
63
|
+
schema: ce,
|
|
64
|
+
website: M,
|
|
65
|
+
assets: S,
|
|
66
|
+
health: pe,
|
|
67
|
+
menu: A,
|
|
68
|
+
design: Se,
|
|
57
69
|
activity: e,
|
|
58
|
-
login:
|
|
59
|
-
list:
|
|
60
|
-
document:
|
|
61
|
-
folder:
|
|
62
|
-
grid:
|
|
70
|
+
login: ve,
|
|
71
|
+
list: T,
|
|
72
|
+
document: b,
|
|
73
|
+
folder: ue,
|
|
74
|
+
grid: de,
|
|
63
75
|
archive: t,
|
|
64
76
|
trash: G,
|
|
65
|
-
"top-right":
|
|
66
|
-
promotion:
|
|
67
|
-
connection:
|
|
77
|
+
"top-right": le,
|
|
78
|
+
promotion: ze,
|
|
79
|
+
connection: F,
|
|
68
80
|
rank: i,
|
|
69
|
-
"shield-check":
|
|
70
|
-
"circle-help":
|
|
71
|
-
table:
|
|
72
|
-
section:
|
|
73
|
-
card:
|
|
74
|
-
divider:
|
|
75
|
-
tabs:
|
|
76
|
-
collapse:
|
|
77
|
-
number:
|
|
81
|
+
"shield-check": Ne,
|
|
82
|
+
"circle-help": ae,
|
|
83
|
+
table: Pe,
|
|
84
|
+
section: be,
|
|
85
|
+
card: ye,
|
|
86
|
+
divider: Ae,
|
|
87
|
+
tabs: he,
|
|
88
|
+
collapse: ge,
|
|
89
|
+
number: fe,
|
|
78
90
|
undo: K,
|
|
79
91
|
redo: K,
|
|
80
|
-
phone:
|
|
81
|
-
pad:
|
|
82
|
-
pc:
|
|
83
|
-
import:
|
|
92
|
+
phone: H,
|
|
93
|
+
pad: H,
|
|
94
|
+
pc: M,
|
|
95
|
+
import: h,
|
|
84
96
|
export: q,
|
|
85
|
-
json:
|
|
97
|
+
json: y,
|
|
86
98
|
preview: g,
|
|
87
|
-
text:
|
|
88
|
-
password:
|
|
89
|
-
select:
|
|
90
|
-
"multi-select":
|
|
91
|
-
"select-tree":
|
|
92
|
-
cascader:
|
|
93
|
-
radio:
|
|
99
|
+
text: b,
|
|
100
|
+
password: D,
|
|
101
|
+
select: T,
|
|
102
|
+
"multi-select": _e,
|
|
103
|
+
"select-tree": F,
|
|
104
|
+
cascader: F,
|
|
105
|
+
radio: f,
|
|
94
106
|
checkbox: s,
|
|
95
|
-
switch:
|
|
96
|
-
slider:
|
|
107
|
+
switch: V,
|
|
108
|
+
slider: V,
|
|
97
109
|
rate: W,
|
|
98
|
-
color:
|
|
110
|
+
color: I,
|
|
99
111
|
date: o,
|
|
100
112
|
"date-range": o,
|
|
101
|
-
datetime:
|
|
102
|
-
"time-range":
|
|
103
|
-
textarea:
|
|
104
|
-
"rich-text":
|
|
105
|
-
"json-editor":
|
|
113
|
+
datetime: m,
|
|
114
|
+
"time-range": m,
|
|
115
|
+
textarea: b,
|
|
116
|
+
"rich-text": re,
|
|
117
|
+
"json-editor": oe,
|
|
106
118
|
"key-value": W,
|
|
107
|
-
"icon-input":
|
|
108
|
-
"relation-picker":
|
|
109
|
-
"image-upload":
|
|
110
|
-
"file-upload":
|
|
111
|
-
},
|
|
112
|
-
function
|
|
113
|
-
let t = e.includeCatalog === !1 ?
|
|
119
|
+
"icon-input": S,
|
|
120
|
+
"relation-picker": F,
|
|
121
|
+
"image-upload": S,
|
|
122
|
+
"file-upload": v
|
|
123
|
+
}, He = Z({ includeCatalog: !1 });
|
|
124
|
+
function Z(e = {}) {
|
|
125
|
+
let t = e.includeCatalog === !1 ? X : {
|
|
114
126
|
...Object.fromEntries(Object.entries(J).map(([e, t]) => [Q(e), t])),
|
|
115
|
-
...
|
|
127
|
+
...X
|
|
116
128
|
};
|
|
117
|
-
return
|
|
129
|
+
return Y(Object.entries(t).map(([e, t]) => [e, {
|
|
118
130
|
component: t,
|
|
119
131
|
label: $(e),
|
|
120
132
|
namespace: "lucide",
|
|
121
133
|
keywords: [
|
|
122
134
|
e,
|
|
123
|
-
|
|
135
|
+
Ve(e),
|
|
124
136
|
$(e)
|
|
125
137
|
]
|
|
126
138
|
}]));
|
|
127
139
|
}
|
|
128
|
-
function
|
|
129
|
-
return
|
|
140
|
+
function Ue(e) {
|
|
141
|
+
return He.get(e)?.component;
|
|
130
142
|
}
|
|
131
143
|
function Q(e) {
|
|
132
144
|
return e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2").toLowerCase();
|
|
@@ -134,8 +146,8 @@ function Q(e) {
|
|
|
134
146
|
function $(e) {
|
|
135
147
|
return e.split("-").map((e) => e.slice(0, 1).toUpperCase() + e.slice(1)).join(" ");
|
|
136
148
|
}
|
|
137
|
-
var
|
|
149
|
+
var We = Object.keys(J).map(Q);
|
|
138
150
|
//#endregion
|
|
139
|
-
export {
|
|
151
|
+
export { a as Bell, c as ChevronDown, l as ChevronLeft, u as ChevronRight, d as ChevronUp, x as House, C as Info, w as KeyRound, We as LUCIDE_ICON_NAMES, k as Maximize, j as Minimize, M as Monitor, N as Moon, P as MoreHorizontal, L as PanelLeftClose, R as PanelLeftOpen, z as Pause, B as Plus, U as Sun, G as Trash2, Z as createLucideIconRegistry, Ue as getLucideIconComponent };
|
|
140
152
|
|
|
141
153
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import {\n Activity,\n Archive,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n ArchiveRestore,\n BarChart3,\n BookOpen,\n Building2,\n Calendar,\n Check,\n CircleCheck,\n CircleHelp,\n CircleX,\n Clock,\n Code2,\n Copy,\n Database,\n Download,\n Eye,\n EyeOff,\n ExternalLink,\n FileArchive,\n FileJson,\n FileText,\n Folder,\n Grid2X2,\n Hash,\n HeartPulse,\n House,\n Image,\n Info,\n KeyRound,\n LayoutDashboard,\n LayoutPanelTop,\n List,\n ListCollapse,\n ListFilter,\n ListOrdered,\n Lock,\n LogIn,\n LogOut,\n Menu,\n Monitor,\n MoreHorizontal,\n Network,\n Palette,\n PanelTop,\n PanelsTopLeft,\n Pause,\n Pencil,\n PencilRuler,\n Play,\n Plug,\n Plus,\n Printer,\n RefreshCcw,\n RotateCcw,\n Save,\n Search,\n SeparatorHorizontal,\n Settings,\n Shield,\n ShieldCheck,\n SlidersHorizontal,\n Square,\n Table2,\n Tags,\n Trash2,\n TriangleAlert,\n Undo2,\n Unlock,\n Upload,\n User,\n Users,\n WandSparkles,\n X,\n icons as lucideIcons,\n type LucideIcon,\n} from '@lucide/vue'\nimport { resolveSparqIconName } from '@sparqjs/schema-core'\nimport { createSparqIconRegistry, type SparqIconDefinition, type SparqIconRegistry } from '@sparqjs/schema-vue'\nimport type { Component } from 'vue'\n\nexport interface CreateLucideIconRegistryOptions {\n /** 默认包含完整 Lucide 目录,关闭后只注册 Sparq 语义 key。 */\n includeCatalog?: boolean\n}\n\nconst CORE_ICON_COMPONENTS: Record<string, LucideIcon> = {\n add: Plus,\n edit: Pencil,\n delete: Trash2,\n copy: Copy,\n save: Save,\n search: Search,\n reset: RotateCcw,\n refresh: RefreshCcw,\n upload: Upload,\n download: Download,\n view: Eye,\n hide: EyeOff,\n setting: Settings,\n more: MoreHorizontal,\n close: X,\n check: Check,\n warning: TriangleAlert,\n info: Info,\n error: CircleX,\n success: CircleCheck,\n user: User,\n home: House,\n calendar: Calendar,\n time: Clock,\n filter: ListFilter,\n sort: ListFilter,\n left: ArrowLeft,\n right: ArrowRight,\n up: ArrowUp,\n down: ArrowDown,\n back: ArrowLeft,\n restore: ArchiveRestore,\n print: Printer,\n key: KeyRound,\n lock: Lock,\n unlock: Unlock,\n 'log-out': LogOut,\n shield: Shield,\n users: Users,\n pause: Pause,\n play: Play,\n dashboard: LayoutDashboard,\n appearance: Palette,\n organization: Building2,\n plugin: Plug,\n schema: Database,\n website: Monitor,\n assets: Image,\n health: HeartPulse,\n menu: Menu,\n design: PencilRuler,\n activity: Activity,\n login: LogIn,\n list: List,\n document: FileText,\n folder: Folder,\n grid: Grid2X2,\n archive: Archive,\n trash: Trash2,\n 'top-right': ExternalLink,\n promotion: WandSparkles,\n connection: Network,\n rank: BarChart3,\n 'shield-check': ShieldCheck,\n 'circle-help': CircleHelp,\n table: Table2,\n section: PanelsTopLeft,\n card: PanelTop,\n divider: SeparatorHorizontal,\n tabs: LayoutPanelTop,\n collapse: ListCollapse,\n number: Hash,\n undo: Undo2,\n redo: Undo2,\n phone: Square,\n pad: Square,\n pc: Monitor,\n import: Download,\n export: Upload,\n json: FileJson,\n preview: Eye,\n text: FileText,\n password: Lock,\n select: List,\n 'multi-select': ListOrdered,\n 'select-tree': Network,\n cascader: Network,\n radio: CircleCheck,\n checkbox: Check,\n switch: SlidersHorizontal,\n slider: SlidersHorizontal,\n rate: Tags,\n color: Palette,\n date: Calendar,\n 'date-range': Calendar,\n datetime: Clock,\n 'time-range': Clock,\n textarea: FileText,\n 'rich-text': BookOpen,\n 'json-editor': Code2,\n 'key-value': Tags,\n 'icon-input': Image,\n 'relation-picker': Network,\n 'image-upload': Image,\n 'file-upload': FileArchive,\n}\n\nconst DEFAULT_ICON_REGISTRY = createLucideIconRegistry({ includeCatalog: false })\n\nexport function createLucideIconRegistry(options: CreateLucideIconRegistryOptions = {}): SparqIconRegistry {\n const components = options.includeCatalog === false\n ? CORE_ICON_COMPONENTS\n : {\n ...Object.fromEntries(\n Object.entries(lucideIcons).map(([name, component]) => [toKebabCase(name), component as LucideIcon]),\n ),\n ...CORE_ICON_COMPONENTS,\n }\n const entries: Array<readonly [string, SparqIconDefinition]> = Object.entries(components).map(([name, component]) => [\n name,\n {\n component,\n label: toLabel(name),\n namespace: 'lucide',\n keywords: [name, resolveSparqIconName(name), toLabel(name)],\n },\n ])\n\n return createSparqIconRegistry(entries)\n}\n\nexport function getLucideIconComponent(name: string): Component | undefined {\n return DEFAULT_ICON_REGISTRY.get(name)?.component as Component | undefined\n}\n\n/** Small named surface used by adapters and tests without exposing Element Plus icon components. */\nexport {
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import {\n Activity,\n Archive,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n ArchiveRestore,\n BarChart3,\n Bell,\n BookOpen,\n Building2,\n Calendar,\n Check,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n CircleCheck,\n CircleHelp,\n CircleX,\n Clock,\n Code2,\n Copy,\n Database,\n Download,\n Eye,\n EyeOff,\n ExternalLink,\n FileArchive,\n FileJson,\n FileText,\n Folder,\n Grid2X2,\n Hash,\n HeartPulse,\n House,\n Image,\n Info,\n KeyRound,\n LayoutDashboard,\n LayoutPanelTop,\n List,\n ListCollapse,\n ListFilter,\n ListOrdered,\n Lock,\n LogIn,\n LogOut,\n Menu,\n Maximize,\n Minimize,\n Monitor,\n Moon,\n MoreHorizontal,\n Network,\n Palette,\n PanelTop,\n PanelLeftClose,\n PanelLeftOpen,\n PanelsTopLeft,\n Pause,\n Pencil,\n PencilRuler,\n Play,\n Plug,\n Plus,\n Printer,\n RefreshCcw,\n RotateCcw,\n Save,\n Search,\n SeparatorHorizontal,\n Settings,\n Shield,\n ShieldCheck,\n SlidersHorizontal,\n Square,\n Sun,\n Table2,\n Tags,\n Trash2,\n TriangleAlert,\n Undo2,\n Unlock,\n Upload,\n User,\n Users,\n WandSparkles,\n X,\n icons as lucideIcons,\n type LucideIcon,\n} from '@lucide/vue'\nimport { resolveSparqIconName } from '@sparqjs/schema-core'\nimport { createSparqIconRegistry, type SparqIconDefinition, type SparqIconRegistry } from '@sparqjs/schema-vue'\nimport type { Component } from 'vue'\n\nexport interface CreateLucideIconRegistryOptions {\n /** 默认包含完整 Lucide 目录,关闭后只注册 Sparq 语义 key。 */\n includeCatalog?: boolean\n}\n\nconst CORE_ICON_COMPONENTS: Record<string, LucideIcon> = {\n add: Plus,\n edit: Pencil,\n delete: Trash2,\n copy: Copy,\n save: Save,\n search: Search,\n reset: RotateCcw,\n refresh: RefreshCcw,\n upload: Upload,\n download: Download,\n view: Eye,\n hide: EyeOff,\n setting: Settings,\n more: MoreHorizontal,\n close: X,\n check: Check,\n warning: TriangleAlert,\n info: Info,\n error: CircleX,\n success: CircleCheck,\n user: User,\n home: House,\n calendar: Calendar,\n time: Clock,\n filter: ListFilter,\n sort: ListFilter,\n left: ArrowLeft,\n right: ArrowRight,\n up: ArrowUp,\n down: ArrowDown,\n 'chevron-left': ChevronLeft,\n 'chevron-right': ChevronRight,\n 'chevron-up': ChevronUp,\n 'chevron-down': ChevronDown,\n back: ArrowLeft,\n fold: PanelLeftClose,\n expand: PanelLeftOpen,\n moon: Moon,\n sunny: Sun,\n monitor: Monitor,\n 'full-screen': Maximize,\n aim: Minimize,\n restore: ArchiveRestore,\n print: Printer,\n key: KeyRound,\n lock: Lock,\n unlock: Unlock,\n 'log-out': LogOut,\n shield: Shield,\n users: Users,\n notification: Bell,\n pause: Pause,\n play: Play,\n dashboard: LayoutDashboard,\n appearance: Palette,\n organization: Building2,\n plugin: Plug,\n schema: Database,\n website: Monitor,\n assets: Image,\n health: HeartPulse,\n menu: Menu,\n design: PencilRuler,\n activity: Activity,\n login: LogIn,\n list: List,\n document: FileText,\n folder: Folder,\n grid: Grid2X2,\n archive: Archive,\n trash: Trash2,\n 'top-right': ExternalLink,\n promotion: WandSparkles,\n connection: Network,\n rank: BarChart3,\n 'shield-check': ShieldCheck,\n 'circle-help': CircleHelp,\n table: Table2,\n section: PanelsTopLeft,\n card: PanelTop,\n divider: SeparatorHorizontal,\n tabs: LayoutPanelTop,\n collapse: ListCollapse,\n number: Hash,\n undo: Undo2,\n redo: Undo2,\n phone: Square,\n pad: Square,\n pc: Monitor,\n import: Download,\n export: Upload,\n json: FileJson,\n preview: Eye,\n text: FileText,\n password: Lock,\n select: List,\n 'multi-select': ListOrdered,\n 'select-tree': Network,\n cascader: Network,\n radio: CircleCheck,\n checkbox: Check,\n switch: SlidersHorizontal,\n slider: SlidersHorizontal,\n rate: Tags,\n color: Palette,\n date: Calendar,\n 'date-range': Calendar,\n datetime: Clock,\n 'time-range': Clock,\n textarea: FileText,\n 'rich-text': BookOpen,\n 'json-editor': Code2,\n 'key-value': Tags,\n 'icon-input': Image,\n 'relation-picker': Network,\n 'image-upload': Image,\n 'file-upload': FileArchive,\n}\n\nconst DEFAULT_ICON_REGISTRY = createLucideIconRegistry({ includeCatalog: false })\n\nexport function createLucideIconRegistry(options: CreateLucideIconRegistryOptions = {}): SparqIconRegistry {\n const components = options.includeCatalog === false\n ? CORE_ICON_COMPONENTS\n : {\n ...Object.fromEntries(\n Object.entries(lucideIcons).map(([name, component]) => [toKebabCase(name), component as LucideIcon]),\n ),\n ...CORE_ICON_COMPONENTS,\n }\n const entries: Array<readonly [string, SparqIconDefinition]> = Object.entries(components).map(([name, component]) => [\n name,\n {\n component,\n label: toLabel(name),\n namespace: 'lucide',\n keywords: [name, resolveSparqIconName(name), toLabel(name)],\n },\n ])\n\n return createSparqIconRegistry(entries)\n}\n\nexport function getLucideIconComponent(name: string): Component | undefined {\n return DEFAULT_ICON_REGISTRY.get(name)?.component as Component | undefined\n}\n\n/** Small named surface used by adapters and tests without exposing Element Plus icon components. */\nexport {\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Bell,\n House,\n Info,\n KeyRound,\n Maximize,\n Minimize,\n Monitor,\n Moon,\n MoreHorizontal,\n PanelLeftClose,\n PanelLeftOpen,\n Pause,\n Plus,\n Sun,\n Trash2,\n}\n\nfunction toKebabCase(name: string): string {\n return name\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')\n .toLowerCase()\n}\n\nfunction toLabel(name: string): string {\n return name\n .split('-')\n .map((part) => part.slice(0, 1).toUpperCase() + part.slice(1))\n .join(' ')\n}\n\nexport const LUCIDE_ICON_NAMES = Object.keys(lucideIcons).map(toKebabCase)\n"],"mappings":";;;;AAsGA,IAAM,IAAmD;CACrD,KAAK;CACL,MAAM;CACN,QAAQ;CACR,MAAM;CACN,MAAM;CACN,QAAQ;CACR,OAAO;CACP,SAAS;CACT,QAAQ;CACR,UAAU;CACV,MAAM;CACN,MAAM;CACN,SAAS;CACT,MAAM;CACN,OAAO;CACP,OAAO;CACP,SAAS;CACT,MAAM;CACN,OAAO;CACP,SAAS;CACT,MAAM;CACN,MAAM;CACN,UAAU;CACV,MAAM;CACN,QAAQ;CACR,MAAM;CACN,MAAM;CACN,OAAO;CACP,IAAI;CACJ,MAAM;CACN,gBAAgB;CAChB,iBAAiB;CACjB,cAAc;CACd,gBAAgB;CAChB,MAAM;CACN,MAAM;CACN,QAAQ;CACR,MAAM;CACN,OAAO;CACP,SAAS;CACT,eAAe;CACf,KAAK;CACL,SAAS;CACT,OAAO;CACP,KAAK;CACL,MAAM;CACN,QAAQ;CACR,WAAW;CACX,QAAQ;CACR,OAAO;CACP,cAAc;CACd,OAAO;CACP,MAAM;CACN,WAAW;CACX,YAAY;CACZ,cAAc;CACd,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,UAAU;CACV,OAAO;CACP,MAAM;CACN,UAAU;CACV,QAAQ;CACR,MAAM;CACN,SAAS;CACT,OAAO;CACP,aAAa;CACb,WAAW;CACX,YAAY;CACZ,MAAM;CACN,gBAAgB;CAChB,eAAe;CACf,OAAO;CACP,SAAS;CACT,MAAM;CACN,SAAS;CACT,MAAM;CACN,UAAU;CACV,QAAQ;CACR,MAAM;CACN,MAAM;CACN,OAAO;CACP,KAAK;CACL,IAAI;CACJ,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,SAAS;CACT,MAAM;CACN,UAAU;CACV,QAAQ;CACR,gBAAgB;CAChB,eAAe;CACf,UAAU;CACV,OAAO;CACP,UAAU;CACV,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,OAAO;CACP,MAAM;CACN,cAAc;CACd,UAAU;CACV,cAAc;CACd,UAAU;CACV,aAAa;CACb,eAAe;CACf,aAAa;CACb,cAAc;CACd,mBAAmB;CACnB,gBAAgB;CAChB,eAAe;AACnB,GAEM,KAAwB,EAAyB,EAAE,gBAAgB,GAAM,CAAC;AAEhF,SAAgB,EAAyB,IAA2C,CAAC,GAAsB;CACvG,IAAM,IAAa,EAAQ,mBAAmB,KACxC,IACA;EACI,GAAG,OAAO,YACN,OAAO,QAAQ,CAAW,EAAE,KAAK,CAAC,GAAM,OAAe,CAAC,EAAY,CAAI,GAAG,CAAuB,CAAC,CACvG;EACA,GAAG;CACP;CAWN,OAAO,EAVwD,OAAO,QAAQ,CAAU,EAAE,KAAK,CAAC,GAAM,OAAe,CACjH,GACA;EACI;EACA,OAAO,EAAQ,CAAI;EACnB,WAAW;EACX,UAAU;GAAC;GAAM,GAAqB,CAAI;GAAG,EAAQ,CAAI;EAAC;CAC9D,CACJ,CAE+B,CAAO;AAC1C;AAEA,SAAgB,GAAuB,GAAqC;CACxE,OAAO,GAAsB,IAAI,CAAI,GAAG;AAC5C;AAyBA,SAAS,EAAY,GAAsB;CACvC,OAAO,EACF,QAAQ,sBAAsB,OAAO,EACrC,QAAQ,wBAAwB,OAAO,EACvC,YAAY;AACrB;AAEA,SAAS,EAAQ,GAAsB;CACnC,OAAO,EACF,MAAM,GAAG,EACT,KAAK,MAAS,EAAK,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,EAAK,MAAM,CAAC,CAAC,EAC5D,KAAK,GAAG;AACjB;AAEA,IAAa,KAAoB,OAAO,KAAK,CAAW,EAAE,IAAI,CAAW"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sparqjs/schema-icons-lucide",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@lucide/vue": "^1.17.0",
|
|
22
|
-
"@sparqjs/schema-core": "0.2.
|
|
23
|
-
"@sparqjs/schema-vue": "0.2.
|
|
22
|
+
"@sparqjs/schema-core": "0.2.2",
|
|
23
|
+
"@sparqjs/schema-vue": "0.2.2"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"vue": "^3.4.0"
|