@muten/shadcn 0.0.3 → 0.0.4
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/globals.css +381 -84
- package/package.json +1 -1
- package/registry/code.js +14 -0
- package/registry/code.muten +7 -0
- package/registry/count-up.js +36 -0
- package/registry/count-up.muten +10 -0
- package/registry/feature-grid.muten +14 -0
- package/registry/gradient-blinds.js +129 -0
- package/registry/gradient-blinds.muten +13 -0
- package/registry/highlight.js +47 -0
- package/registry/logo-cloud.muten +11 -0
- package/registry/pill.muten +5 -0
- package/registry/pricing.muten +25 -0
- package/registry/segmented-control.muten +6 -0
- package/registry/sidebar.muten +5 -4
- package/registry/stepper.muten +17 -0
- package/registry/timeline.muten +16 -0
- package/registry.json +549 -66
package/registry.json
CHANGED
|
@@ -3,71 +3,549 @@
|
|
|
3
3
|
"name": "shadcn-for-muten",
|
|
4
4
|
"style": "shadcn zinc dark (tokens shipped by globals.css: bg-card / bg-primary / text-muted-foreground / border-border / …)",
|
|
5
5
|
"components": [
|
|
6
|
-
{
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
{
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
{
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
{
|
|
70
|
-
|
|
6
|
+
{
|
|
7
|
+
"name": "card",
|
|
8
|
+
"part": "Card",
|
|
9
|
+
"file": "registry/card.muten",
|
|
10
|
+
"description": "A surface with CardHeader / CardTitle / CardDescription / CardContent / CardFooter sub-components.",
|
|
11
|
+
"deps": []
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "badge",
|
|
15
|
+
"part": "Badge",
|
|
16
|
+
"file": "registry/badge.muten",
|
|
17
|
+
"description": "A small status descriptor. variant: default | secondary | destructive | outline.",
|
|
18
|
+
"deps": []
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "alert",
|
|
22
|
+
"part": "Alert",
|
|
23
|
+
"file": "registry/alert.muten",
|
|
24
|
+
"description": "A callout with AlertTitle / AlertDescription. variant: default | destructive.",
|
|
25
|
+
"deps": []
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "avatar",
|
|
29
|
+
"part": "Avatar",
|
|
30
|
+
"file": "registry/avatar.muten",
|
|
31
|
+
"description": "A user's initials in a circle (AvatarFallback).",
|
|
32
|
+
"deps": []
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "switch",
|
|
36
|
+
"part": "Switch",
|
|
37
|
+
"file": "registry/switch.muten",
|
|
38
|
+
"description": "A toggle; the page owns the bool + the action.",
|
|
39
|
+
"deps": []
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "spinner",
|
|
43
|
+
"part": "Spinner",
|
|
44
|
+
"file": "registry/spinner.muten",
|
|
45
|
+
"description": "A loading indicator (animate-spin loader).",
|
|
46
|
+
"deps": []
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "progress",
|
|
50
|
+
"part": "Progress",
|
|
51
|
+
"file": "registry/progress.muten",
|
|
52
|
+
"description": "A determinate progress bar; value is 0-100.",
|
|
53
|
+
"deps": []
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "separator",
|
|
57
|
+
"part": "Separator",
|
|
58
|
+
"file": "registry/separator.muten",
|
|
59
|
+
"description": "A thin divider line.",
|
|
60
|
+
"deps": []
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "empty",
|
|
64
|
+
"part": "Empty",
|
|
65
|
+
"file": "registry/empty.muten",
|
|
66
|
+
"description": "An empty-state placeholder (title + description in a dashed border).",
|
|
67
|
+
"deps": []
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "breadcrumb",
|
|
71
|
+
"part": "Breadcrumb",
|
|
72
|
+
"file": "registry/breadcrumb.muten",
|
|
73
|
+
"description": "A breadcrumb trail with BreadcrumbLink / BreadcrumbSeparator / BreadcrumbPage.",
|
|
74
|
+
"deps": []
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "pagination",
|
|
78
|
+
"part": "Pagination",
|
|
79
|
+
"file": "registry/pagination.muten",
|
|
80
|
+
"description": "Page navigation with PaginationLink / Previous / Next / Ellipsis.",
|
|
81
|
+
"deps": []
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "field",
|
|
85
|
+
"part": "Field",
|
|
86
|
+
"file": "registry/field.muten",
|
|
87
|
+
"description": "A labelled form control: FieldLabel / FieldDescription / FieldError.",
|
|
88
|
+
"deps": []
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "item",
|
|
92
|
+
"part": "Item",
|
|
93
|
+
"file": "registry/item.muten",
|
|
94
|
+
"description": "A bordered row: ItemContent / ItemTitle / ItemDescription.",
|
|
95
|
+
"deps": []
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "checkbox",
|
|
99
|
+
"part": "Checkbox",
|
|
100
|
+
"file": "registry/checkbox.muten",
|
|
101
|
+
"description": "A checkbox; the page owns the bool + the toggle action.",
|
|
102
|
+
"deps": []
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "toggle",
|
|
106
|
+
"part": "Toggle",
|
|
107
|
+
"file": "registry/toggle.muten",
|
|
108
|
+
"description": "A two-state button; the page owns the bool + the toggle action.",
|
|
109
|
+
"deps": []
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "toggle-group",
|
|
113
|
+
"part": "ToggleGroup",
|
|
114
|
+
"file": "registry/toggle-group.muten",
|
|
115
|
+
"description": "Single-select toolbar with ToggleGroupItem; page owns a text state.",
|
|
116
|
+
"deps": []
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "radio-group",
|
|
120
|
+
"part": "RadioGroup",
|
|
121
|
+
"file": "registry/radio-group.muten",
|
|
122
|
+
"description": "Single choice with RadioGroupItem; page owns a text state.",
|
|
123
|
+
"deps": []
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "collapsible",
|
|
127
|
+
"part": "Collapsible",
|
|
128
|
+
"file": "registry/collapsible.muten",
|
|
129
|
+
"description": "A trigger + content shown when open; page owns the bool.",
|
|
130
|
+
"deps": []
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"name": "accordion",
|
|
134
|
+
"part": "Accordion",
|
|
135
|
+
"file": "registry/accordion.muten",
|
|
136
|
+
"description": "Stacked expandable sections with AccordionItem; page owns a bool per item.",
|
|
137
|
+
"deps": []
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "tabs",
|
|
141
|
+
"part": "TabsList",
|
|
142
|
+
"file": "registry/tabs.muten",
|
|
143
|
+
"description": "Tab bar (TabsList/TabsTrigger) + TabsContent panels; page owns the active-tab text.",
|
|
144
|
+
"deps": []
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "dialog",
|
|
148
|
+
"part": "Dialog",
|
|
149
|
+
"file": "registry/dialog.muten",
|
|
150
|
+
"description": "A modal with DialogTitle/Description/Footer; page owns the open bool. Backdrop click closes.",
|
|
151
|
+
"deps": []
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "tooltip",
|
|
155
|
+
"part": "Tooltip",
|
|
156
|
+
"file": "registry/tooltip.muten",
|
|
157
|
+
"description": "A hover tooltip (pure CSS, no state). The slot is the trigger.",
|
|
158
|
+
"deps": []
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "dropdown-menu",
|
|
162
|
+
"part": "DropdownMenu",
|
|
163
|
+
"file": "registry/dropdown-menu.muten",
|
|
164
|
+
"description": "A menu below a trigger with DropdownItem/Label/Separator; page owns the open bool.",
|
|
165
|
+
"deps": []
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "popover",
|
|
169
|
+
"part": "Popover",
|
|
170
|
+
"file": "registry/popover.muten",
|
|
171
|
+
"description": "A floating panel below a trigger; page owns the open bool.",
|
|
172
|
+
"deps": []
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "alert-dialog",
|
|
176
|
+
"part": "AlertDialog",
|
|
177
|
+
"file": "registry/alert-dialog.muten",
|
|
178
|
+
"description": "A modal requiring an explicit choice (no backdrop dismiss); page owns the open bool.",
|
|
179
|
+
"deps": []
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "sheet",
|
|
183
|
+
"part": "Sheet",
|
|
184
|
+
"file": "registry/sheet.muten",
|
|
185
|
+
"description": "A panel that slides in from the right; page owns the open bool.",
|
|
186
|
+
"deps": []
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "drawer",
|
|
190
|
+
"part": "Drawer",
|
|
191
|
+
"file": "registry/drawer.muten",
|
|
192
|
+
"description": "A panel that slides up from the bottom; page owns the open bool.",
|
|
193
|
+
"deps": []
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "hover-card",
|
|
197
|
+
"part": "HoverCard",
|
|
198
|
+
"file": "registry/hover-card.muten",
|
|
199
|
+
"description": "Richer content shown on hover (pure CSS, no state).",
|
|
200
|
+
"deps": []
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "select",
|
|
204
|
+
"part": "Select",
|
|
205
|
+
"file": "registry/select.muten",
|
|
206
|
+
"description": "A value picker with SelectItem; page owns the value text + open bool.",
|
|
207
|
+
"deps": []
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"name": "scroll-area",
|
|
211
|
+
"part": "ScrollArea",
|
|
212
|
+
"file": "registry/scroll-area.muten",
|
|
213
|
+
"description": "A scrollable region with styled scrollbars.",
|
|
214
|
+
"deps": []
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"name": "message",
|
|
218
|
+
"part": "Message",
|
|
219
|
+
"file": "registry/message.muten",
|
|
220
|
+
"description": "Chat Message + Bubble + Marker (variant: sent | received).",
|
|
221
|
+
"deps": []
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"name": "message-scroller",
|
|
225
|
+
"part": "MessageScroller",
|
|
226
|
+
"file": "registry/message-scroller.muten",
|
|
227
|
+
"description": "A scrollable column of chat messages.",
|
|
228
|
+
"deps": []
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "attachment",
|
|
232
|
+
"part": "Attachment",
|
|
233
|
+
"file": "registry/attachment.muten",
|
|
234
|
+
"description": "A file attachment chip (icon + name + size).",
|
|
235
|
+
"deps": []
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"name": "menubar",
|
|
239
|
+
"part": "Menubar",
|
|
240
|
+
"file": "registry/menubar.muten",
|
|
241
|
+
"description": "A bar of menus (File/Edit/View); page owns which is open via a text state.",
|
|
242
|
+
"deps": []
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "navigation-menu",
|
|
246
|
+
"part": "NavigationMenu",
|
|
247
|
+
"file": "registry/navigation-menu.muten",
|
|
248
|
+
"description": "A nav bar with hover-revealed panels (pure CSS, no state).",
|
|
249
|
+
"deps": []
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"name": "combobox",
|
|
253
|
+
"part": "Combobox",
|
|
254
|
+
"file": "registry/combobox.muten",
|
|
255
|
+
"description": "A Select with a search box; page filters items with `each … where`.",
|
|
256
|
+
"deps": []
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"name": "command",
|
|
260
|
+
"part": "Command",
|
|
261
|
+
"file": "registry/command.muten",
|
|
262
|
+
"description": "A command palette (search + grouped CommandItem list).",
|
|
263
|
+
"deps": []
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"name": "slider",
|
|
267
|
+
"part": "Slider",
|
|
268
|
+
"file": "registry/slider.muten",
|
|
269
|
+
"component": "Slider",
|
|
270
|
+
"description": "A draggable range slider (Custom). Page owns the value number.",
|
|
271
|
+
"deps": []
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"name": "input-otp",
|
|
275
|
+
"part": "InputOtp",
|
|
276
|
+
"file": "registry/input-otp.muten",
|
|
277
|
+
"component": "InputOtp",
|
|
278
|
+
"description": "N single-character boxes synced to one value (Custom). Page owns the value text.",
|
|
279
|
+
"deps": []
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"name": "calendar",
|
|
283
|
+
"part": "Calendar",
|
|
284
|
+
"file": "registry/calendar.muten",
|
|
285
|
+
"component": "Calendar",
|
|
286
|
+
"description": "A month-grid date picker (Custom). Page owns the selected ISO date text.",
|
|
287
|
+
"deps": []
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"name": "toaster",
|
|
291
|
+
"part": "Toaster",
|
|
292
|
+
"file": "registry/toaster.muten",
|
|
293
|
+
"component": "Toaster",
|
|
294
|
+
"description": "Fixed toast notifications (Custom). Page bumps a trigger counter to fire one.",
|
|
295
|
+
"deps": []
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"name": "carousel",
|
|
299
|
+
"part": "Carousel",
|
|
300
|
+
"file": "registry/carousel.muten",
|
|
301
|
+
"component": "Carousel",
|
|
302
|
+
"description": "A slide carousel over a list (Custom). Page owns the slides list.",
|
|
303
|
+
"deps": []
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "chart",
|
|
307
|
+
"part": "Chart",
|
|
308
|
+
"file": "registry/chart.muten",
|
|
309
|
+
"component": "Chart",
|
|
310
|
+
"description": "An SVG bar chart over a list of { label, value } (Custom).",
|
|
311
|
+
"deps": []
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"name": "gradient-blinds",
|
|
315
|
+
"part": "GradientBlinds",
|
|
316
|
+
"file": "registry/gradient-blinds.muten",
|
|
317
|
+
"component": "GradientBlinds",
|
|
318
|
+
"description": "Animated WebGL gradient + diagonal-blinds hero background that follows the cursor and fades into the page (needs ogl).",
|
|
319
|
+
"deps": [
|
|
320
|
+
"ogl"
|
|
321
|
+
]
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"name": "resizable",
|
|
325
|
+
"part": "Resizable",
|
|
326
|
+
"file": "registry/resizable.muten",
|
|
327
|
+
"component": "Resizable",
|
|
328
|
+
"description": "Two panels with a draggable splitter (Custom).",
|
|
329
|
+
"deps": []
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"name": "context-menu",
|
|
333
|
+
"part": "ContextMenu",
|
|
334
|
+
"file": "registry/context-menu.muten",
|
|
335
|
+
"component": "ContextMenu",
|
|
336
|
+
"description": "Right-click an area to open a menu of items (Custom).",
|
|
337
|
+
"deps": []
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"name": "number-field",
|
|
341
|
+
"part": "NumberField",
|
|
342
|
+
"file": "registry/number-field.muten",
|
|
343
|
+
"component": "NumberField",
|
|
344
|
+
"description": "A numeric input with -/+ steppers, min/max/step (Custom).",
|
|
345
|
+
"deps": []
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "segmented-control",
|
|
349
|
+
"part": "SegmentedControl",
|
|
350
|
+
"file": "registry/segmented-control.muten",
|
|
351
|
+
"description": "A single-select toolbar (SegmentedItem); page owns a text state.",
|
|
352
|
+
"deps": []
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"name": "file-input",
|
|
356
|
+
"part": "FileInput",
|
|
357
|
+
"file": "registry/file-input.muten",
|
|
358
|
+
"component": "FileInput",
|
|
359
|
+
"description": "A click/drag-drop file dropzone (Custom); emits file names.",
|
|
360
|
+
"deps": []
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"name": "color-picker",
|
|
364
|
+
"part": "ColorPicker",
|
|
365
|
+
"file": "registry/color-picker.muten",
|
|
366
|
+
"component": "ColorPicker",
|
|
367
|
+
"description": "A swatch + saturation/value + hue popover (Custom); page owns the hex.",
|
|
368
|
+
"deps": []
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"name": "vector-field",
|
|
372
|
+
"part": "VectorField",
|
|
373
|
+
"file": "registry/vector-field.muten",
|
|
374
|
+
"description": "Paired NumberFields (X/Y) for position or size.",
|
|
375
|
+
"deps": [
|
|
376
|
+
"number-field"
|
|
377
|
+
]
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "tree-view",
|
|
381
|
+
"part": "TreeView",
|
|
382
|
+
"file": "registry/tree-view.muten",
|
|
383
|
+
"component": "TreeView",
|
|
384
|
+
"description": "A nested folder/file tree (Custom): expandable, selectable, icons + indent.",
|
|
385
|
+
"deps": []
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"name": "toolbar",
|
|
389
|
+
"part": "Toolbar",
|
|
390
|
+
"file": "registry/toolbar.muten",
|
|
391
|
+
"description": "A grouped button bar with ToolbarGroup / ToolbarSeparator.",
|
|
392
|
+
"deps": []
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"name": "canvas-viewport",
|
|
396
|
+
"part": "CanvasViewport",
|
|
397
|
+
"file": "registry/canvas-viewport.muten",
|
|
398
|
+
"component": "CanvasHost",
|
|
399
|
+
"description": "A <canvas> with pan/zoom (Custom) + a muten toolbar slot floating on top.",
|
|
400
|
+
"deps": []
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"name": "status-bar",
|
|
404
|
+
"part": "StatusBar",
|
|
405
|
+
"file": "registry/status-bar.muten",
|
|
406
|
+
"description": "A thin bottom bar with StatusItem / StatusSpacer.",
|
|
407
|
+
"deps": []
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"name": "zoom-control",
|
|
411
|
+
"part": "ZoomControl",
|
|
412
|
+
"file": "registry/zoom-control.muten",
|
|
413
|
+
"description": "A - 100% + zoom widget; page owns the zoom number.",
|
|
414
|
+
"deps": []
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"name": "split-button",
|
|
418
|
+
"part": "SplitButton",
|
|
419
|
+
"file": "registry/split-button.muten",
|
|
420
|
+
"description": "A main action + a caret dropdown; page owns the open bool.",
|
|
421
|
+
"deps": []
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "tag-input",
|
|
425
|
+
"part": "TagInput",
|
|
426
|
+
"file": "registry/tag-input.muten",
|
|
427
|
+
"component": "TagInput",
|
|
428
|
+
"description": "Chips you add by typing + Enter (Custom); page owns a comma-joined text.",
|
|
429
|
+
"deps": []
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"name": "swatch",
|
|
433
|
+
"part": "SwatchPalette",
|
|
434
|
+
"file": "registry/swatch.muten",
|
|
435
|
+
"description": "A grid of selectable color swatches (Swatch); page owns the selected hex + colors.",
|
|
436
|
+
"deps": []
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"name": "range-slider",
|
|
440
|
+
"part": "RangeSlider",
|
|
441
|
+
"file": "registry/range-slider.muten",
|
|
442
|
+
"component": "RangeSlider",
|
|
443
|
+
"description": "A two-thumb range slider (Custom); page owns the low + high numbers.",
|
|
444
|
+
"deps": []
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"name": "sidebar",
|
|
448
|
+
"part": "AppSidebar",
|
|
449
|
+
"file": "registry/sidebar.muten",
|
|
450
|
+
"description": "AppSidebar - a collapsible nav panel (SidebarHeader / SidebarGroup / SidebarItem). Named AppSidebar so it never shadows muten's core Sidebar <aside> primitive.",
|
|
451
|
+
"deps": []
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"name": "sortable-list",
|
|
455
|
+
"part": "SortableList",
|
|
456
|
+
"file": "registry/sortable-list.muten",
|
|
457
|
+
"component": "SortableList",
|
|
458
|
+
"description": "Drag rows to reorder (Custom); page owns a comma-joined order.",
|
|
459
|
+
"deps": []
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"name": "inspector",
|
|
463
|
+
"part": "Inspector",
|
|
464
|
+
"file": "registry/inspector.muten",
|
|
465
|
+
"description": "Property grid: InspectorSection (collapsible) / InspectorRow (label : value slot).",
|
|
466
|
+
"deps": []
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"name": "folder-picker",
|
|
470
|
+
"part": "FolderPicker",
|
|
471
|
+
"file": "registry/folder-picker.muten",
|
|
472
|
+
"component": "FolderPicker",
|
|
473
|
+
"description": "Connect a local folder via showDirectoryPicker (Custom); emits the name.",
|
|
474
|
+
"deps": []
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"name": "command-palette",
|
|
478
|
+
"part": "CommandPalette",
|
|
479
|
+
"file": "registry/command-palette.muten",
|
|
480
|
+
"description": "A top-anchored modal holding a Command; page owns the open bool.",
|
|
481
|
+
"deps": []
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"name": "hotkey",
|
|
485
|
+
"part": "Hotkey",
|
|
486
|
+
"file": "registry/hotkey.muten",
|
|
487
|
+
"component": "Hotkey",
|
|
488
|
+
"description": "A global keyboard shortcut (Cmd/Ctrl+key), invisible (Custom).",
|
|
489
|
+
"deps": []
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"name": "code",
|
|
493
|
+
"part": "Code",
|
|
494
|
+
"file": "registry/code.muten",
|
|
495
|
+
"component": "Code",
|
|
496
|
+
"description": "Syntax-highlighted code block that understands muten (shared highlight.js, same grammar as the VS Code extension).",
|
|
497
|
+
"deps": []
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"name": "stepper",
|
|
501
|
+
"part": "Stepper",
|
|
502
|
+
"file": "registry/stepper.muten",
|
|
503
|
+
"description": "Horizontal or vertical step progress indicator; done steps show a check, the current step is ringed (parts: Stepper, StepperVertical, Step).",
|
|
504
|
+
"deps": []
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"name": "timeline",
|
|
508
|
+
"part": "Timeline",
|
|
509
|
+
"file": "registry/timeline.muten",
|
|
510
|
+
"description": "Vertical event timeline: a dot on a connector line + title/time/description per item (parts: Timeline, TimelineItem).",
|
|
511
|
+
"deps": []
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "pill",
|
|
515
|
+
"part": "Pill",
|
|
516
|
+
"file": "registry/pill.muten",
|
|
517
|
+
"description": "A hero eyebrow chip (rounded-full, bigger than Badge); slot-based for an icon + text.",
|
|
518
|
+
"deps": []
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
"name": "feature-grid",
|
|
522
|
+
"part": "FeatureGrid",
|
|
523
|
+
"file": "registry/feature-grid.muten",
|
|
524
|
+
"description": "BLOCK: responsive grid of feature cards (icon + title + copy). Parts: FeatureGrid, FeatureCard.",
|
|
525
|
+
"deps": []
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"name": "pricing",
|
|
529
|
+
"part": "Pricing",
|
|
530
|
+
"file": "registry/pricing.muten",
|
|
531
|
+
"description": "BLOCK: a row of pricing tiers (name/price/features/CTA), featured highlight. Parts: Pricing, PricingTier, PricingFeature.",
|
|
532
|
+
"deps": []
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"name": "logo-cloud",
|
|
536
|
+
"part": "LogoCloud",
|
|
537
|
+
"file": "registry/logo-cloud.muten",
|
|
538
|
+
"description": "BLOCK: a 'trusted by' strip of logos, muted + grayscale until hover. Parts: LogoCloud, LogoCloudItem.",
|
|
539
|
+
"deps": []
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"name": "count-up",
|
|
543
|
+
"part": "CountUp",
|
|
544
|
+
"file": "registry/count-up.muten",
|
|
545
|
+
"component": "CountUp",
|
|
546
|
+
"description": "Animate a formatted number (2.4M / 94% / 40ms / 99.99%) from 0 when it scrolls into view; lands on the exact target. Custom. Styled form (takes the class): `Custom CountUp inputs(to: \"2.4M\") class(\"text-4xl font-bold\")`. For stat bands + hero metrics.",
|
|
547
|
+
"deps": []
|
|
548
|
+
}
|
|
71
549
|
],
|
|
72
550
|
"classComponents": {
|
|
73
551
|
"note": "Size/spacing-driven primitives ship as classes in globals.css (no `muten add` needed once you @import it). Style the muten primitive with these:",
|
|
@@ -78,6 +556,11 @@
|
|
|
78
556
|
"kbd": "Span \"Ctrl\" class(\"kbd\")",
|
|
79
557
|
"typography": "Title \"Docs\" h1 class(\"prose-h1\") (prose-h1..h4 · prose-p|lead|large|small|muted|blockquote|code|list)",
|
|
80
558
|
"button-group": "Stack class(\"btn-group\") { Button \"A\" class(\"btn btn-outline\") Button \"B\" class(\"btn btn-outline\") }",
|
|
81
|
-
"input-group": "Stack class(\"input-group\") { Icon \"lucide:search\" SearchField bind(q) class(\"input-group-control\") }"
|
|
559
|
+
"input-group": "Stack class(\"input-group\") { Icon \"lucide:search\" SearchField bind(q) class(\"input-group-control\") }",
|
|
560
|
+
"nav-pill": "Header class(\"nav-pill\") - the floating glass navbar; wrap in Stack class(\"sticky top-0 z-50 px-4 pt-4\"). Add `nav-scroll` so it settles + deepens its shadow on scroll and returns to rest at the top.",
|
|
561
|
+
"feature-rows": "Stack class(\"feature-rows\") { Stack class(\"feature-row\") { Span \"01\" ... } } - numbered feature/schedule rows with baked side gutters (grid-cols-12 inside, stacks on mobile).",
|
|
562
|
+
"bento-gallery": "Stack class(\"bento-gallery\") { Stack class(\"bento-cell col-span-4\") {} Stack class(\"bento-cell col-span-2\") {} } - a fixed-row-height tiling gallery; children pick their col-span so every row lines up.",
|
|
563
|
+
"logo-cloud": "LogoCloud { LogoCloudItem { Span \"Acme\" } LogoCloudItem { Icon \"lucide:hexagon\" Span \"Northwind\" } } - a 'trusted by' strip, muted+grayscale until hover; accepts any logo type (image / icon / wordmark).",
|
|
564
|
+
"motion": "Page animations, all CSS + reduced-motion safe. Entrance: animate-fade-up|fade-in|scale-in|slide-in (+ d1..d6 stagger). Scroll: reveal|reveal-left|reveal-scale, and nav-scroll on a navbar. Hover/press: hover-lift, hover-glow, arrow-hover (nudges a trailing Icon), link-underline, press, float."
|
|
82
565
|
}
|
|
83
566
|
}
|