@framingui/core 0.4.1 → 0.4.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/README.md +18 -713
- package/dist/bundled/icon-libraries/generated/feather.json +129 -0
- package/dist/bundled/icon-libraries/generated/heroicons.json +133 -0
- package/dist/bundled/icon-libraries/generated/lucide.json +130 -0
- package/dist/bundled/themes/generated/bold-line.json +346 -0
- package/dist/bundled/themes/generated/classic-magazine.json +193 -0
- package/dist/bundled/themes/generated/dark-boldness.json +274 -0
- package/dist/bundled/themes/generated/editorial-tech.json +348 -0
- package/dist/bundled/themes/generated/minimal-workspace.json +321 -0
- package/dist/bundled/themes/generated/neutral-workspace.json +307 -0
- package/dist/bundled/themes/generated/pebble.json +235 -0
- package/dist/bundled/themes/generated/square-minimalism.json +294 -0
- package/dist/generated-data-dir.d.ts +2 -0
- package/dist/generated-data-dir.d.ts.map +1 -0
- package/dist/generated-data-dir.js +31 -0
- package/dist/generated-data-dir.js.map +1 -0
- package/dist/icon-library.d.ts.map +1 -1
- package/dist/icon-library.js +8 -22
- package/dist/icon-library.js.map +1 -1
- package/dist/layout-validation.d.ts +24 -24
- package/dist/schema-validation.d.ts +6 -6
- package/dist/theme-v2.d.ts.map +1 -1
- package/dist/theme-v2.js +8 -22
- package/dist/theme-v2.js.map +1 -1
- package/package.json +11 -10
- package/LICENSE +0 -21
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "pebble",
|
|
3
|
+
"name": "Pebble",
|
|
4
|
+
"schemaVersion": "2.1",
|
|
5
|
+
"brandTone": "dynamic",
|
|
6
|
+
"designDNA": {
|
|
7
|
+
"moodKeywords": [
|
|
8
|
+
"friendly",
|
|
9
|
+
"chunky",
|
|
10
|
+
"approachable",
|
|
11
|
+
"tactile"
|
|
12
|
+
],
|
|
13
|
+
"targetEmotion": "joyful_clarity",
|
|
14
|
+
"visualAtmosphere": "modern mobility app",
|
|
15
|
+
"principles": [
|
|
16
|
+
"Surface over Border (Use White on Gray)",
|
|
17
|
+
"Maximum Radius (Super-ellipse everywhere)",
|
|
18
|
+
"Chunky Padding (Touch-first sizing)"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"tokens": {
|
|
22
|
+
"atomic": {
|
|
23
|
+
"color": {
|
|
24
|
+
"brand": {
|
|
25
|
+
"50": {
|
|
26
|
+
"l": 0.98,
|
|
27
|
+
"c": 0.02,
|
|
28
|
+
"h": 220
|
|
29
|
+
},
|
|
30
|
+
"100": {
|
|
31
|
+
"l": 0.95,
|
|
32
|
+
"c": 0.05,
|
|
33
|
+
"h": 220
|
|
34
|
+
},
|
|
35
|
+
"500": {
|
|
36
|
+
"l": 0.5,
|
|
37
|
+
"c": 0.25,
|
|
38
|
+
"h": 220
|
|
39
|
+
},
|
|
40
|
+
"900": {
|
|
41
|
+
"l": 0.1,
|
|
42
|
+
"c": 0.1,
|
|
43
|
+
"h": 220
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"neutral": {
|
|
47
|
+
"white": {
|
|
48
|
+
"l": 1,
|
|
49
|
+
"c": 0,
|
|
50
|
+
"h": 0
|
|
51
|
+
},
|
|
52
|
+
"cool": {
|
|
53
|
+
"50": {
|
|
54
|
+
"l": 0.96,
|
|
55
|
+
"c": 0.01,
|
|
56
|
+
"h": 210
|
|
57
|
+
},
|
|
58
|
+
"100": {
|
|
59
|
+
"l": 0.93,
|
|
60
|
+
"c": 0.02,
|
|
61
|
+
"h": 210
|
|
62
|
+
},
|
|
63
|
+
"200": {
|
|
64
|
+
"l": 0.88,
|
|
65
|
+
"c": 0.03,
|
|
66
|
+
"h": 210
|
|
67
|
+
},
|
|
68
|
+
"900": {
|
|
69
|
+
"l": 0.1,
|
|
70
|
+
"c": 0.05,
|
|
71
|
+
"h": 210
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"spacing": {
|
|
77
|
+
"4": "16px",
|
|
78
|
+
"6": "24px",
|
|
79
|
+
"8": "32px",
|
|
80
|
+
"12": "48px"
|
|
81
|
+
},
|
|
82
|
+
"radius": {
|
|
83
|
+
"md": "16px",
|
|
84
|
+
"lg": "24px",
|
|
85
|
+
"xl": "32px",
|
|
86
|
+
"2xl": "40px",
|
|
87
|
+
"3xl": "48px",
|
|
88
|
+
"full": "9999px",
|
|
89
|
+
"select": "9999px"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"semantic": {
|
|
93
|
+
"background": {
|
|
94
|
+
"canvas": "atomic.color.neutral.cool.50",
|
|
95
|
+
"surface": {
|
|
96
|
+
"default": "atomic.color.neutral.white",
|
|
97
|
+
"subtle": "atomic.color.neutral.cool.100"
|
|
98
|
+
},
|
|
99
|
+
"brand": {
|
|
100
|
+
"default": "atomic.color.brand.500"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"text": {
|
|
104
|
+
"primary": "atomic.color.neutral.cool.900",
|
|
105
|
+
"secondary": "atomic.color.neutral.cool.500"
|
|
106
|
+
},
|
|
107
|
+
"border": {
|
|
108
|
+
"subtle": "atomic.color.neutral.cool.200"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"recipes": {
|
|
112
|
+
"card": {
|
|
113
|
+
"default": "bg-white rounded-[32px] p-6 shadow-sm border-none",
|
|
114
|
+
"floating": "bg-white rounded-[40px] p-8 shadow-xl shadow-neutral-900/5 border-none",
|
|
115
|
+
"flat": "bg-neutral-100 rounded-[24px] p-6 border-none"
|
|
116
|
+
},
|
|
117
|
+
"button": {
|
|
118
|
+
"primary": "bg-brand-500 text-white rounded-full h-14 px-8 text-lg font-bold shadow-lg shadow-brand-500/20 hover:scale-105 active:scale-95 transition-all",
|
|
119
|
+
"secondary": "bg-white text-neutral-900 rounded-full h-14 px-8 text-lg font-bold shadow-sm hover:bg-neutral-50 transition-colors",
|
|
120
|
+
"ghost": "bg-transparent text-neutral-600 rounded-full h-12 px-6 font-semibold hover:bg-neutral-100 transition-colors"
|
|
121
|
+
},
|
|
122
|
+
"input": {
|
|
123
|
+
"default": "w-full bg-white rounded-full h-16 px-8 text-xl shadow-sm border-none placeholder:text-neutral-400 focus:ring-4 focus:ring-brand-500/10 transition-all",
|
|
124
|
+
"search": "w-full bg-white rounded-full h-14 px-12 text-lg shadow-[0_2px_12px_rgba(0,0,0,0.04)] border-none"
|
|
125
|
+
},
|
|
126
|
+
"typography": {
|
|
127
|
+
"h1": "font-sans text-4xl font-semibold tracking-tight text-neutral-900 lg:text-5xl",
|
|
128
|
+
"h2": "font-sans text-2xl font-semibold tracking-tight text-neutral-900",
|
|
129
|
+
"h3": "font-sans text-lg font-semibold text-neutral-900",
|
|
130
|
+
"h4": "font-sans text-base font-semibold text-neutral-900",
|
|
131
|
+
"body": "font-sans text-lg text-neutral-600 leading-relaxed font-semibold"
|
|
132
|
+
},
|
|
133
|
+
"layout": {
|
|
134
|
+
"container": "bg-neutral-50 min-h-screen",
|
|
135
|
+
"section": "max-w-7xl mx-auto px-6 py-20"
|
|
136
|
+
},
|
|
137
|
+
"avatar": {
|
|
138
|
+
"default": "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full"
|
|
139
|
+
},
|
|
140
|
+
"checkbox": {
|
|
141
|
+
"default": "peer h-4 w-4 shrink-0 rounded-md border-none ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground"
|
|
142
|
+
},
|
|
143
|
+
"progress": {
|
|
144
|
+
"default": "relative h-4 w-full overflow-hidden rounded-full bg-secondary",
|
|
145
|
+
"indicator": "h-full w-full flex-1 bg-primary transition-all"
|
|
146
|
+
},
|
|
147
|
+
"slider": {
|
|
148
|
+
"default": "relative flex w-full touch-none select-none items-center",
|
|
149
|
+
"track": "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",
|
|
150
|
+
"range": "absolute h-full bg-primary",
|
|
151
|
+
"thumb": "block h-5 w-5 rounded-full border-none bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"
|
|
152
|
+
},
|
|
153
|
+
"modal": {
|
|
154
|
+
"overlay": "fixed inset-0 z-50 bg-black/80 backdrop-blur-sm",
|
|
155
|
+
"content": "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-white border-none rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.04)] p-6"
|
|
156
|
+
},
|
|
157
|
+
"dropdown": {
|
|
158
|
+
"content": "z-50 min-w-[8rem] overflow-hidden bg-white border-none rounded-[32px] shadow-[0_8px_30px_rgb(0,0,0,0.04)] p-1",
|
|
159
|
+
"item": "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
|
|
160
|
+
},
|
|
161
|
+
"form": {
|
|
162
|
+
"item": "space-y-2",
|
|
163
|
+
"label": "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 ",
|
|
164
|
+
"message": "text-[0.8rem] font-medium text-destructive"
|
|
165
|
+
},
|
|
166
|
+
"image": {
|
|
167
|
+
"default": "overflow-hidden rounded-2xl"
|
|
168
|
+
},
|
|
169
|
+
"radio": {
|
|
170
|
+
"default": "aspect-square h-4 w-4 rounded-full border-none text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
171
|
+
},
|
|
172
|
+
"textarea": {
|
|
173
|
+
"default": "flex min-h-[80px] w-full rounded-xl border-none bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
174
|
+
},
|
|
175
|
+
"skeleton": {
|
|
176
|
+
"default": "animate-pulse rounded-xl bg-muted"
|
|
177
|
+
},
|
|
178
|
+
"scroll-area": {
|
|
179
|
+
"default": "relative overflow-hidden",
|
|
180
|
+
"scrollbar": "flex h-full w-2.5 border-l border-l-transparent p-[1px]"
|
|
181
|
+
},
|
|
182
|
+
"select": {
|
|
183
|
+
"trigger": "flex h-10 w-full items-center justify-between rounded-full border-none bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
184
|
+
"content": "relative z-50 min-w-[8rem] overflow-hidden bg-white border-none rounded-[32px] shadow-[0_8px_30px_rgb(0,0,0,0.04)]"
|
|
185
|
+
},
|
|
186
|
+
"label": {
|
|
187
|
+
"default": "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 "
|
|
188
|
+
},
|
|
189
|
+
"separator": {
|
|
190
|
+
"default": "shrink-0 bg-border",
|
|
191
|
+
"horizontal": "h-[1px] w-full",
|
|
192
|
+
"vertical": "h-full w-[1px]"
|
|
193
|
+
},
|
|
194
|
+
"alert-dialog": {
|
|
195
|
+
"content": "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-white border-none rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.04)] p-6"
|
|
196
|
+
},
|
|
197
|
+
"popover": {
|
|
198
|
+
"content": "z-50 w-72 bg-white border-none rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.04)] p-4 outline-none"
|
|
199
|
+
},
|
|
200
|
+
"hover-card": {
|
|
201
|
+
"content": "z-50 w-64 bg-white border-none rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.04)] p-4 outline-none"
|
|
202
|
+
},
|
|
203
|
+
"tooltip": {
|
|
204
|
+
"content": "z-50 overflow-hidden rounded-full bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95"
|
|
205
|
+
},
|
|
206
|
+
"sheet": {
|
|
207
|
+
"content": "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500"
|
|
208
|
+
},
|
|
209
|
+
"toast": {
|
|
210
|
+
"default": "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden p-6 pr-8 shadow-lg transition-all bg-white border-none rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.04)]"
|
|
211
|
+
},
|
|
212
|
+
"sidebar": {
|
|
213
|
+
"default": "flex h-full w-64 flex-col overflow-y-auto bg-background border-r border-neutral-100 pb-4"
|
|
214
|
+
},
|
|
215
|
+
"navigation-menu": {
|
|
216
|
+
"list": "group flex flex-1 list-none items-center justify-center space-x-1",
|
|
217
|
+
"trigger": "group inline-flex h-10 w-max items-center justify-center rounded-full bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-neutral-50 hover:text-neutral-900 focus:bg-neutral-50 focus:text-neutral-900 focus:outline-none disabled:pointer-events-none disabled:opacity-50"
|
|
218
|
+
},
|
|
219
|
+
"breadcrumb": {
|
|
220
|
+
"list": "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
|
|
221
|
+
"item": "inline-flex items-center gap-1.5",
|
|
222
|
+
"link": "transition-colors hover:text-foreground"
|
|
223
|
+
},
|
|
224
|
+
"command": {
|
|
225
|
+
"default": "flex h-full w-full flex-col overflow-hidden bg-white border-none rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.04)]",
|
|
226
|
+
"input": "flex h-11 w-full rounded-none bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"
|
|
227
|
+
},
|
|
228
|
+
"calendar": {
|
|
229
|
+
"default": "p-3 bg-white border-none rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.04)]",
|
|
230
|
+
"cell": "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",
|
|
231
|
+
"day": "h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-full"
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "square-minimalism",
|
|
3
|
+
"name": "Square Minimalism",
|
|
4
|
+
"schemaVersion": "2.1",
|
|
5
|
+
"brandTone": "architectural",
|
|
6
|
+
"designDNA": {
|
|
7
|
+
"moodKeywords": [
|
|
8
|
+
"architectural",
|
|
9
|
+
"sharp",
|
|
10
|
+
"spacious",
|
|
11
|
+
"unapologetic"
|
|
12
|
+
],
|
|
13
|
+
"targetEmotion": "clarity",
|
|
14
|
+
"visualAtmosphere": "modern art gallery",
|
|
15
|
+
"principles": [
|
|
16
|
+
"No rounded corners (Radius 0 defines the character)",
|
|
17
|
+
"Whitespace as a divider",
|
|
18
|
+
"Typography as a graphical element"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"tokens": {
|
|
22
|
+
"atomic": {
|
|
23
|
+
"color": {
|
|
24
|
+
"brand": {
|
|
25
|
+
"100": {
|
|
26
|
+
"l": 0.95,
|
|
27
|
+
"c": 0,
|
|
28
|
+
"h": 0
|
|
29
|
+
},
|
|
30
|
+
"500": {
|
|
31
|
+
"l": 0,
|
|
32
|
+
"c": 0,
|
|
33
|
+
"h": 0
|
|
34
|
+
},
|
|
35
|
+
"900": {
|
|
36
|
+
"l": 0,
|
|
37
|
+
"c": 0,
|
|
38
|
+
"h": 0
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"neutral": {
|
|
42
|
+
"50": {
|
|
43
|
+
"l": 0.98,
|
|
44
|
+
"c": 0,
|
|
45
|
+
"h": 0
|
|
46
|
+
},
|
|
47
|
+
"100": {
|
|
48
|
+
"l": 0.96,
|
|
49
|
+
"c": 0,
|
|
50
|
+
"h": 0.01
|
|
51
|
+
},
|
|
52
|
+
"200": {
|
|
53
|
+
"l": 0.92,
|
|
54
|
+
"c": 0.01,
|
|
55
|
+
"h": 0
|
|
56
|
+
},
|
|
57
|
+
"300": {
|
|
58
|
+
"l": 0.87,
|
|
59
|
+
"c": 0.01,
|
|
60
|
+
"h": 0
|
|
61
|
+
},
|
|
62
|
+
"400": {
|
|
63
|
+
"l": 0.75,
|
|
64
|
+
"c": 0.01,
|
|
65
|
+
"h": 0
|
|
66
|
+
},
|
|
67
|
+
"500": {
|
|
68
|
+
"l": 0.6,
|
|
69
|
+
"c": 0.01,
|
|
70
|
+
"h": 0
|
|
71
|
+
},
|
|
72
|
+
"600": {
|
|
73
|
+
"l": 0.45,
|
|
74
|
+
"c": 0.01,
|
|
75
|
+
"h": 0
|
|
76
|
+
},
|
|
77
|
+
"700": {
|
|
78
|
+
"l": 0.3,
|
|
79
|
+
"c": 0.01,
|
|
80
|
+
"h": 0
|
|
81
|
+
},
|
|
82
|
+
"800": {
|
|
83
|
+
"l": 0.15,
|
|
84
|
+
"c": 0.01,
|
|
85
|
+
"h": 0
|
|
86
|
+
},
|
|
87
|
+
"900": {
|
|
88
|
+
"l": 0.1,
|
|
89
|
+
"c": 0.01,
|
|
90
|
+
"h": 0
|
|
91
|
+
},
|
|
92
|
+
"950": {
|
|
93
|
+
"l": 0.05,
|
|
94
|
+
"c": 0.01,
|
|
95
|
+
"h": 0
|
|
96
|
+
},
|
|
97
|
+
"white": {
|
|
98
|
+
"l": 1,
|
|
99
|
+
"c": 0,
|
|
100
|
+
"h": 0
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"radius": {
|
|
105
|
+
"none": "0px",
|
|
106
|
+
"sm": "0px",
|
|
107
|
+
"md": "0px",
|
|
108
|
+
"lg": "0px",
|
|
109
|
+
"xl": "0px",
|
|
110
|
+
"full": "0px",
|
|
111
|
+
"select": "0px",
|
|
112
|
+
"circle": "50%"
|
|
113
|
+
},
|
|
114
|
+
"spacing": {
|
|
115
|
+
"4": "1rem",
|
|
116
|
+
"6": "1.5rem",
|
|
117
|
+
"8": "2rem",
|
|
118
|
+
"12": "3rem",
|
|
119
|
+
"24": "6rem"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"semantic": {
|
|
123
|
+
"background": {
|
|
124
|
+
"canvas": "atomic.color.neutral.white",
|
|
125
|
+
"surface": {
|
|
126
|
+
"subtle": "atomic.color.neutral.50",
|
|
127
|
+
"default": "atomic.color.neutral.white",
|
|
128
|
+
"emphasis": "atomic.color.neutral.100"
|
|
129
|
+
},
|
|
130
|
+
"brand": {
|
|
131
|
+
"subtle": "atomic.color.neutral.100",
|
|
132
|
+
"default": "atomic.color.brand.500",
|
|
133
|
+
"emphasis": "atomic.color.brand.900"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"border": {
|
|
137
|
+
"default": {
|
|
138
|
+
"subtle": "atomic.color.neutral.100",
|
|
139
|
+
"default": "atomic.color.neutral.200",
|
|
140
|
+
"emphasis": "atomic.color.neutral.900"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"text": {
|
|
144
|
+
"primary": "atomic.color.neutral.900",
|
|
145
|
+
"secondary": "atomic.color.neutral.600",
|
|
146
|
+
"muted": "atomic.color.neutral.400"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"recipes": {
|
|
150
|
+
"card": {
|
|
151
|
+
"glass": "bg-white/80 backdrop-blur-xl border border-white/20 shadow-[0_8px_32px_rgba(0,0,0,0.04)]",
|
|
152
|
+
"outlined": "bg-transparent border border-neutral-200",
|
|
153
|
+
"minimal": "bg-neutral-50 border-none"
|
|
154
|
+
},
|
|
155
|
+
"button": {
|
|
156
|
+
"primary": "bg-neutral-900 text-white rounded-none px-6 py-3 uppercase tracking-wider text-sm font-semibold hover:bg-neutral-800 transition-colors",
|
|
157
|
+
"secondary": "bg-white text-neutral-900 border border-neutral-200 rounded-none px-6 py-3 uppercase tracking-wider text-sm font-semibold hover:bg-neutral-50 transition-colors",
|
|
158
|
+
"ghost": "bg-transparent text-neutral-600 rounded-none px-4 py-2 uppercase tracking-wider text-sm font-medium hover:text-neutral-900"
|
|
159
|
+
},
|
|
160
|
+
"input": {
|
|
161
|
+
"architectural": "w-full bg-transparent border-b border-neutral-200 p-0 py-2 text-neutral-900 placeholder:text-neutral-400 focus:border-neutral-900 focus:outline-none rounded-none transition-colors"
|
|
162
|
+
},
|
|
163
|
+
"table": {
|
|
164
|
+
"root": "w-full text-left border-collapse",
|
|
165
|
+
"header": "border-b border-neutral-900 pb-3 text-[10px] uppercase tracking-widest font-bold text-neutral-500",
|
|
166
|
+
"row": "border-b border-neutral-100 hover:bg-neutral-50 transition-colors group",
|
|
167
|
+
"cell": "py-4 pl-4 text-sm text-neutral-600 font-medium group-hover:text-neutral-900 align-middle"
|
|
168
|
+
},
|
|
169
|
+
"badge": {
|
|
170
|
+
"neutral": "inline-flex items-center rounded-none border border-neutral-200 bg-neutral-50 px-2 py-0.5 text-[10px] uppercase font-bold text-neutral-600 tracking-wide",
|
|
171
|
+
"success": "inline-flex items-center rounded-none border border-green-200 bg-green-50 px-2 py-0.5 text-[10px] uppercase font-bold text-green-700 tracking-wide"
|
|
172
|
+
},
|
|
173
|
+
"toggle": {
|
|
174
|
+
"label": "relative inline-flex items-center cursor-pointer",
|
|
175
|
+
"input": "sr-only peer",
|
|
176
|
+
"wrapper": "w-11 h-6 bg-neutral-200 peer-focus:outline-none rounded-none peer dark:bg-neutral-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-none after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-neutral-900"
|
|
177
|
+
},
|
|
178
|
+
"tabs": {
|
|
179
|
+
"list": "flex gap-8 border-b border-neutral-200 mb-12",
|
|
180
|
+
"trigger": "pb-4 text-xs font-bold uppercase tracking-widest text-neutral-400 hover:text-neutral-900 border-b-2 border-transparent data-[state=active]:border-neutral-900 data-[state=active]:text-neutral-900 transition-colors"
|
|
181
|
+
},
|
|
182
|
+
"typography": {
|
|
183
|
+
"h1": "scroll-m-20 text-4xl font-bold tracking-tighter text-neutral-900 lg:text-6xl",
|
|
184
|
+
"h2": "scroll-m-20 text-3xl font-semibold tracking-tight text-neutral-900",
|
|
185
|
+
"h3": "scroll-m-20 text-2xl font-semibold tracking-tight text-neutral-900",
|
|
186
|
+
"h4": "scroll-m-20 text-xl font-semibold tracking-tight text-neutral-900",
|
|
187
|
+
"hero": "text-5xl font-bold tracking-tight text-neutral-900 leading-tight",
|
|
188
|
+
"eyebrow": "text-xs font-bold uppercase tracking-[0.15em] text-neutral-500 mb-2 block",
|
|
189
|
+
"body": "text-base font-normal text-neutral-600 leading-relaxed",
|
|
190
|
+
"label": "text-xs font-medium text-neutral-500 uppercase tracking-wide"
|
|
191
|
+
},
|
|
192
|
+
"layout": {
|
|
193
|
+
"section": "py-24 px-6 max-w-7xl mx-auto",
|
|
194
|
+
"grid": "grid grid-cols-1 md:grid-cols-12 gap-x-8 gap-y-12"
|
|
195
|
+
},
|
|
196
|
+
"avatar": {
|
|
197
|
+
"default": "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-none"
|
|
198
|
+
},
|
|
199
|
+
"checkbox": {
|
|
200
|
+
"default": "peer h-4 w-4 shrink-0 rounded-none border border-neutral-200 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground"
|
|
201
|
+
},
|
|
202
|
+
"progress": {
|
|
203
|
+
"default": "relative h-4 w-full overflow-hidden rounded-none bg-secondary",
|
|
204
|
+
"indicator": "h-full w-full flex-1 bg-primary transition-all"
|
|
205
|
+
},
|
|
206
|
+
"slider": {
|
|
207
|
+
"default": "relative flex w-full touch-none select-none items-center",
|
|
208
|
+
"track": "relative h-2 w-full grow overflow-hidden rounded-none bg-secondary",
|
|
209
|
+
"range": "absolute h-full bg-primary",
|
|
210
|
+
"thumb": "block h-5 w-5 rounded-none border border-neutral-200 bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"
|
|
211
|
+
},
|
|
212
|
+
"modal": {
|
|
213
|
+
"overlay": "fixed inset-0 z-50 bg-black/80 backdrop-blur-sm",
|
|
214
|
+
"content": "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-white border border-neutral-200 rounded-none shadow-md p-6"
|
|
215
|
+
},
|
|
216
|
+
"dropdown": {
|
|
217
|
+
"content": "z-50 min-w-[8rem] overflow-hidden bg-white border border-neutral-200 rounded-none shadow-md p-1",
|
|
218
|
+
"item": "relative flex cursor-default select-none items-center rounded-none px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
|
|
219
|
+
},
|
|
220
|
+
"form": {
|
|
221
|
+
"item": "space-y-2",
|
|
222
|
+
"label": "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 ",
|
|
223
|
+
"message": "text-[0.8rem] font-medium text-destructive"
|
|
224
|
+
},
|
|
225
|
+
"image": {
|
|
226
|
+
"default": "overflow-hidden rounded-none"
|
|
227
|
+
},
|
|
228
|
+
"radio": {
|
|
229
|
+
"default": "aspect-square h-4 w-4 rounded-full border border-neutral-200 text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
230
|
+
},
|
|
231
|
+
"textarea": {
|
|
232
|
+
"default": "flex min-h-[80px] w-full rounded-none border border-neutral-200 bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
233
|
+
},
|
|
234
|
+
"skeleton": {
|
|
235
|
+
"default": "animate-pulse rounded-none bg-muted"
|
|
236
|
+
},
|
|
237
|
+
"scroll-area": {
|
|
238
|
+
"default": "relative overflow-hidden",
|
|
239
|
+
"scrollbar": "flex h-full w-2.5 border-l border-l-transparent p-[1px]"
|
|
240
|
+
},
|
|
241
|
+
"select": {
|
|
242
|
+
"trigger": "flex h-10 w-full items-center justify-between rounded-none border border-neutral-200 bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
243
|
+
"content": "relative z-50 min-w-[8rem] overflow-hidden bg-white border border-neutral-200 rounded-none shadow-md"
|
|
244
|
+
},
|
|
245
|
+
"label": {
|
|
246
|
+
"default": "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 "
|
|
247
|
+
},
|
|
248
|
+
"separator": {
|
|
249
|
+
"default": "shrink-0 bg-border",
|
|
250
|
+
"horizontal": "h-[1px] w-full",
|
|
251
|
+
"vertical": "h-full w-[1px]"
|
|
252
|
+
},
|
|
253
|
+
"alert-dialog": {
|
|
254
|
+
"content": "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-white border border-neutral-200 rounded-none shadow-md p-6"
|
|
255
|
+
},
|
|
256
|
+
"popover": {
|
|
257
|
+
"content": "z-50 w-72 bg-white border border-neutral-200 rounded-none shadow-md p-4 outline-none"
|
|
258
|
+
},
|
|
259
|
+
"hover-card": {
|
|
260
|
+
"content": "z-50 w-64 bg-white border border-neutral-200 rounded-none shadow-md p-4 outline-none"
|
|
261
|
+
},
|
|
262
|
+
"tooltip": {
|
|
263
|
+
"content": "z-50 overflow-hidden rounded-none bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95"
|
|
264
|
+
},
|
|
265
|
+
"sheet": {
|
|
266
|
+
"content": "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500"
|
|
267
|
+
},
|
|
268
|
+
"toast": {
|
|
269
|
+
"default": "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden p-6 pr-8 shadow-lg transition-all bg-white border border-neutral-200 rounded-none shadow-md"
|
|
270
|
+
},
|
|
271
|
+
"sidebar": {
|
|
272
|
+
"default": "flex h-full w-64 flex-col overflow-y-auto bg-background border border-neutral-200 pb-4"
|
|
273
|
+
},
|
|
274
|
+
"navigation-menu": {
|
|
275
|
+
"list": "group flex flex-1 list-none items-center justify-center space-x-1",
|
|
276
|
+
"trigger": "group inline-flex h-10 w-max items-center justify-center rounded-none bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50"
|
|
277
|
+
},
|
|
278
|
+
"breadcrumb": {
|
|
279
|
+
"list": "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
|
|
280
|
+
"item": "inline-flex items-center gap-1.5",
|
|
281
|
+
"link": "transition-colors hover:text-foreground"
|
|
282
|
+
},
|
|
283
|
+
"command": {
|
|
284
|
+
"default": "flex h-full w-full flex-col overflow-hidden bg-white border border-neutral-200 rounded-none shadow-md",
|
|
285
|
+
"input": "flex h-11 w-full rounded-none bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"
|
|
286
|
+
},
|
|
287
|
+
"calendar": {
|
|
288
|
+
"default": "p-3 bg-white border border-neutral-200 rounded-none shadow-md",
|
|
289
|
+
"cell": "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",
|
|
290
|
+
"day": "h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none"
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-data-dir.d.ts","sourceRoot":"","sources":["../src/generated-data-dir.ts"],"names":[],"mappings":"AAkBA,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,QAAQ,GAAG,gBAAgB,GAChC,MAAM,GAAG,IAAI,CAkBf"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { dirname, join, resolve } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
function findProjectRoot(startDir) {
|
|
5
|
+
let currentDir = startDir;
|
|
6
|
+
const root = '/';
|
|
7
|
+
while (currentDir !== root) {
|
|
8
|
+
if (existsSync(join(currentDir, '.moai'))) {
|
|
9
|
+
return currentDir;
|
|
10
|
+
}
|
|
11
|
+
currentDir = resolve(currentDir, '..');
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
export function getGeneratedDataDir(importMetaUrl, type) {
|
|
16
|
+
const moduleDir = dirname(fileURLToPath(importMetaUrl));
|
|
17
|
+
const cwdRoot = findProjectRoot(process.cwd());
|
|
18
|
+
const moduleRoot = findProjectRoot(moduleDir);
|
|
19
|
+
const candidates = [
|
|
20
|
+
cwdRoot ? join(cwdRoot, '.moai', type, 'generated') : null,
|
|
21
|
+
moduleRoot ? join(moduleRoot, '.moai', type, 'generated') : null,
|
|
22
|
+
join(moduleDir, 'bundled', type, 'generated'),
|
|
23
|
+
];
|
|
24
|
+
for (const candidate of candidates) {
|
|
25
|
+
if (candidate && existsSync(candidate)) {
|
|
26
|
+
return candidate;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=generated-data-dir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-data-dir.js","sourceRoot":"","sources":["../src/generated-data-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,MAAM,IAAI,GAAG,GAAG,CAAC;IAEjB,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,aAAqB,EACrB,IAAiC;IAEjC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1D,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;QAChE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC;KAC9C,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-library.d.ts","sourceRoot":"","sources":["../src/icon-library.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"icon-library.d.ts","sourceRoot":"","sources":["../src/icon-library.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,sBAAsB;AACtB,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,eAAe,CAAC;IAC7B,UAAU,EAAE;QACV,KAAK,EAAE,mBAAmB,CAAC;QAC3B,GAAG,EAAE,mBAAmB,CAAC;KAC1B,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAED,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAqBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAgCrE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,eAAe,EAAE,CA2BrD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAW5D;AAMD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBrF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAInF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAK5E;AAMD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,OAAO,GAAG,KAAK,GACzB,MAAM,CAgBR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,OAAO,GAAG,KAAK,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAYR"}
|
package/dist/icon-library.js
CHANGED
|
@@ -4,34 +4,20 @@
|
|
|
4
4
|
* [SPEC-ICON-001]
|
|
5
5
|
*/
|
|
6
6
|
import { readFileSync, readdirSync, existsSync } from 'node:fs';
|
|
7
|
-
import { join
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { getGeneratedDataDir } from './generated-data-dir.js';
|
|
8
9
|
// ============================================================================
|
|
9
10
|
// Icon Library Directory Resolution
|
|
10
11
|
// ============================================================================
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
while (currentDir !== root) {
|
|
18
|
-
if (existsSync(join(currentDir, '.moai'))) {
|
|
19
|
-
return currentDir;
|
|
20
|
-
}
|
|
21
|
-
currentDir = resolve(currentDir, '..');
|
|
22
|
-
}
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Get icon libraries directory path
|
|
27
|
-
* Returns .moai/icon-libraries/generated/ from project root
|
|
13
|
+
* Resolve icon libraries directory.
|
|
14
|
+
* Priority:
|
|
15
|
+
* 1. Consumer project .moai/icon-libraries/generated
|
|
16
|
+
* 2. Monorepo root .moai/icon-libraries/generated
|
|
17
|
+
* 3. Bundled package data copied into dist/bundled/icon-libraries/generated
|
|
28
18
|
*/
|
|
29
19
|
function getIconLibrariesDir() {
|
|
30
|
-
|
|
31
|
-
if (!projectRoot) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
return join(projectRoot, '.moai', 'icon-libraries', 'generated');
|
|
20
|
+
return getGeneratedDataDir(import.meta.url, 'icon-libraries');
|
|
35
21
|
}
|
|
36
22
|
// ============================================================================
|
|
37
23
|
// Icon Library Loading Functions
|