decantr 0.9.0
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/AGENTS.md +868 -0
- package/CHANGELOG.md +255 -0
- package/CLAUDE.md +178 -0
- package/LICENSE +21 -0
- package/README.md +229 -0
- package/cli/art.js +127 -0
- package/cli/commands/a11y.js +61 -0
- package/cli/commands/audit.js +225 -0
- package/cli/commands/build.js +38 -0
- package/cli/commands/dev.js +18 -0
- package/cli/commands/doctor.js +197 -0
- package/cli/commands/figma-sync.js +48 -0
- package/cli/commands/figma-tokens.js +55 -0
- package/cli/commands/generate.js +26 -0
- package/cli/commands/init.js +116 -0
- package/cli/commands/lint.js +209 -0
- package/cli/commands/mcp.js +530 -0
- package/cli/commands/migrate.js +175 -0
- package/cli/commands/test.js +38 -0
- package/cli/commands/validate.js +354 -0
- package/cli/index.js +113 -0
- package/package.json +95 -0
- package/reference/atoms.md +517 -0
- package/reference/behaviors.md +384 -0
- package/reference/build-tooling.md +275 -0
- package/reference/color-guidelines.md +965 -0
- package/reference/component-lifecycle.md +137 -0
- package/reference/compound-spacing.md +95 -0
- package/reference/decantation-process.md +499 -0
- package/reference/dev-server-routes.md +93 -0
- package/reference/form-system.md +253 -0
- package/reference/i18n.md +336 -0
- package/reference/icons.md +576 -0
- package/reference/llm-primer.md +953 -0
- package/reference/plugins.md +252 -0
- package/reference/registry-consumption.md +76 -0
- package/reference/router.md +217 -0
- package/reference/shells.md +116 -0
- package/reference/spatial-guidelines.md +541 -0
- package/reference/ssr.md +234 -0
- package/reference/state-data.md +215 -0
- package/reference/state-patterns.md +166 -0
- package/reference/state.md +194 -0
- package/reference/style-system.md +110 -0
- package/reference/tokens.md +460 -0
- package/src/app.js +19 -0
- package/src/chart/_animate.js +266 -0
- package/src/chart/_base.js +109 -0
- package/src/chart/_data.js +209 -0
- package/src/chart/_format.js +106 -0
- package/src/chart/_interact.js +364 -0
- package/src/chart/_palette.js +105 -0
- package/src/chart/_renderer.js +52 -0
- package/src/chart/_scene.js +262 -0
- package/src/chart/_shared.js +371 -0
- package/src/chart/index.js +637 -0
- package/src/chart/layouts/_layout-base.js +328 -0
- package/src/chart/layouts/cartesian.js +148 -0
- package/src/chart/layouts/hierarchy.js +562 -0
- package/src/chart/layouts/polar.js +101 -0
- package/src/chart/renderers/canvas.js +179 -0
- package/src/chart/renderers/svg.js +256 -0
- package/src/chart/renderers/webgpu.js +715 -0
- package/src/chart/types/_type-base.js +26 -0
- package/src/chart/types/area.js +134 -0
- package/src/chart/types/bar.js +173 -0
- package/src/chart/types/box-plot.js +125 -0
- package/src/chart/types/bubble.js +63 -0
- package/src/chart/types/candlestick.js +115 -0
- package/src/chart/types/chord.js +85 -0
- package/src/chart/types/combination.js +108 -0
- package/src/chart/types/funnel.js +68 -0
- package/src/chart/types/gauge.js +163 -0
- package/src/chart/types/heatmap.js +98 -0
- package/src/chart/types/histogram.js +71 -0
- package/src/chart/types/line.js +111 -0
- package/src/chart/types/org-chart.js +93 -0
- package/src/chart/types/pie.js +81 -0
- package/src/chart/types/radar.js +96 -0
- package/src/chart/types/radial.js +68 -0
- package/src/chart/types/range-area.js +55 -0
- package/src/chart/types/range-bar.js +61 -0
- package/src/chart/types/sankey.js +73 -0
- package/src/chart/types/scatter.js +66 -0
- package/src/chart/types/sparkline.js +81 -0
- package/src/chart/types/sunburst.js +69 -0
- package/src/chart/types/swimlane.js +88 -0
- package/src/chart/types/treemap.js +62 -0
- package/src/chart/types/waterfall.js +100 -0
- package/src/components/_base.js +1658 -0
- package/src/components/_behaviors.js +1140 -0
- package/src/components/_primitives.js +534 -0
- package/src/components/_qr-encoder.js +539 -0
- package/src/components/accordion.js +207 -0
- package/src/components/affix.js +62 -0
- package/src/components/alert-dialog.js +75 -0
- package/src/components/alert.js +47 -0
- package/src/components/aspect-ratio.js +24 -0
- package/src/components/avatar-group.js +55 -0
- package/src/components/avatar.js +38 -0
- package/src/components/back-top.js +75 -0
- package/src/components/badge.js +74 -0
- package/src/components/banner.js +68 -0
- package/src/components/breadcrumb.js +162 -0
- package/src/components/button.js +115 -0
- package/src/components/calendar.js +131 -0
- package/src/components/card.js +192 -0
- package/src/components/carousel.js +98 -0
- package/src/components/cascader.js +261 -0
- package/src/components/checkbox.js +80 -0
- package/src/components/chip.js +81 -0
- package/src/components/code-block.js +82 -0
- package/src/components/collapsible.js +50 -0
- package/src/components/color-palette.js +438 -0
- package/src/components/color-picker.js +314 -0
- package/src/components/combobox.js +181 -0
- package/src/components/command.js +174 -0
- package/src/components/comment.js +206 -0
- package/src/components/context-menu.js +76 -0
- package/src/components/data-table.js +724 -0
- package/src/components/date-picker.js +217 -0
- package/src/components/date-range-picker.js +244 -0
- package/src/components/datetime-picker.js +271 -0
- package/src/components/descriptions.js +68 -0
- package/src/components/drawer.js +179 -0
- package/src/components/dropdown.js +88 -0
- package/src/components/empty.js +41 -0
- package/src/components/float-button.js +90 -0
- package/src/components/form.js +106 -0
- package/src/components/hover-card.js +49 -0
- package/src/components/icon.js +87 -0
- package/src/components/image.js +97 -0
- package/src/components/index.js +117 -0
- package/src/components/input-group.js +75 -0
- package/src/components/input-number.js +155 -0
- package/src/components/input-otp.js +178 -0
- package/src/components/input.js +91 -0
- package/src/components/kbd.js +36 -0
- package/src/components/label.js +25 -0
- package/src/components/list.js +118 -0
- package/src/components/masked-input.js +236 -0
- package/src/components/mentions.js +165 -0
- package/src/components/menu.js +259 -0
- package/src/components/message.js +80 -0
- package/src/components/modal.js +147 -0
- package/src/components/navigation-menu.js +166 -0
- package/src/components/notification.js +84 -0
- package/src/components/pagination.js +104 -0
- package/src/components/placeholder.js +132 -0
- package/src/components/popconfirm.js +70 -0
- package/src/components/popover.js +58 -0
- package/src/components/progress.js +61 -0
- package/src/components/qrcode.js +251 -0
- package/src/components/radiogroup.js +120 -0
- package/src/components/range-slider.js +176 -0
- package/src/components/rate.js +186 -0
- package/src/components/resizable.js +83 -0
- package/src/components/result.js +57 -0
- package/src/components/scroll-area.js +43 -0
- package/src/components/segmented.js +97 -0
- package/src/components/select.js +165 -0
- package/src/components/separator.js +31 -0
- package/src/components/shell.js +407 -0
- package/src/components/skeleton.js +39 -0
- package/src/components/slider.js +141 -0
- package/src/components/sortable-list.js +176 -0
- package/src/components/space.js +42 -0
- package/src/components/spinner.js +112 -0
- package/src/components/splitter.js +147 -0
- package/src/components/statistic.js +136 -0
- package/src/components/steps.js +99 -0
- package/src/components/switch.js +95 -0
- package/src/components/table.js +44 -0
- package/src/components/tabs.js +216 -0
- package/src/components/tag.js +115 -0
- package/src/components/textarea.js +82 -0
- package/src/components/time-picker.js +153 -0
- package/src/components/time-range-picker.js +170 -0
- package/src/components/timeline.js +226 -0
- package/src/components/toast.js +71 -0
- package/src/components/toggle.js +213 -0
- package/src/components/tooltip.js +57 -0
- package/src/components/tour.js +159 -0
- package/src/components/transfer.js +163 -0
- package/src/components/tree-select.js +274 -0
- package/src/components/tree.js +141 -0
- package/src/components/typography.js +136 -0
- package/src/components/upload.js +118 -0
- package/src/components/visually-hidden.js +20 -0
- package/src/components/watermark.js +124 -0
- package/src/core/index.js +539 -0
- package/src/core/lifecycle.js +69 -0
- package/src/css/atoms.js +651 -0
- package/src/css/components.js +940 -0
- package/src/css/derive.js +1296 -0
- package/src/css/index.js +265 -0
- package/src/css/runtime.js +268 -0
- package/src/css/styles/addons/bioluminescent.js +93 -0
- package/src/css/styles/addons/clay.js +70 -0
- package/src/css/styles/addons/clean.js +57 -0
- package/src/css/styles/addons/command-center.js +143 -0
- package/src/css/styles/addons/dopamine.js +83 -0
- package/src/css/styles/addons/editorial.js +80 -0
- package/src/css/styles/addons/glassmorphism.js +99 -0
- package/src/css/styles/addons/liquid-glass.js +105 -0
- package/src/css/styles/addons/prismatic.js +100 -0
- package/src/css/styles/addons/retro.js +63 -0
- package/src/css/styles/auradecantism.js +96 -0
- package/src/css/theme-registry.js +444 -0
- package/src/data/entity.js +281 -0
- package/src/data/index.js +13 -0
- package/src/data/persist.js +225 -0
- package/src/data/query.js +839 -0
- package/src/data/realtime.js +299 -0
- package/src/data/url.js +177 -0
- package/src/data/worker.js +134 -0
- package/src/explorer/archetypes.js +243 -0
- package/src/explorer/atoms.js +228 -0
- package/src/explorer/charts.js +497 -0
- package/src/explorer/components.js +129 -0
- package/src/explorer/foundations.js +949 -0
- package/src/explorer/icons.js +178 -0
- package/src/explorer/patterns.js +247 -0
- package/src/explorer/recipes.js +194 -0
- package/src/explorer/shared/pattern-examples.js +1337 -0
- package/src/explorer/shared/showcase-renderer.js +958 -0
- package/src/explorer/shared/spec-table.js +41 -0
- package/src/explorer/shared/usage-links.js +87 -0
- package/src/explorer/shell-config.js +10 -0
- package/src/explorer/shells.js +551 -0
- package/src/explorer/styles.js +161 -0
- package/src/explorer/tokens.js +262 -0
- package/src/explorer/tools.js +525 -0
- package/src/form/index.js +804 -0
- package/src/i18n/index.js +251 -0
- package/src/icons/essential.js +479 -0
- package/src/icons/index.js +53 -0
- package/src/plugins/index.js +282 -0
- package/src/registry/archetypes/content-site.json +71 -0
- package/src/registry/archetypes/docs-explorer.json +23 -0
- package/src/registry/archetypes/ecommerce.json +104 -0
- package/src/registry/archetypes/financial-dashboard.json +77 -0
- package/src/registry/archetypes/index.json +41 -0
- package/src/registry/archetypes/portfolio.json +82 -0
- package/src/registry/archetypes/recipe-community.json +159 -0
- package/src/registry/archetypes/saas-dashboard.json +86 -0
- package/src/registry/architect/cross-cutting.json +45 -0
- package/src/registry/architect/domains/ecommerce.json +294 -0
- package/src/registry/architect/domains/financial-services.json +302 -0
- package/src/registry/architect/index.json +26 -0
- package/src/registry/architect/traits.json +379 -0
- package/src/registry/atoms.json +16 -0
- package/src/registry/chart-showcase.json +160 -0
- package/src/registry/chart.json +136 -0
- package/src/registry/components.json +8616 -0
- package/src/registry/core.json +216 -0
- package/src/registry/css.json +319 -0
- package/src/registry/data.json +135 -0
- package/src/registry/foundations.json +11 -0
- package/src/registry/icons.json +463 -0
- package/src/registry/index.json +101 -0
- package/src/registry/patterns/activity-feed.json +37 -0
- package/src/registry/patterns/article-content.json +27 -0
- package/src/registry/patterns/auth-form.json +37 -0
- package/src/registry/patterns/author-card.json +20 -0
- package/src/registry/patterns/card-grid.json +127 -0
- package/src/registry/patterns/category-nav.json +26 -0
- package/src/registry/patterns/chart-grid.json +36 -0
- package/src/registry/patterns/chat-interface.json +37 -0
- package/src/registry/patterns/checklist-card.json +55 -0
- package/src/registry/patterns/comparison-panel.json +27 -0
- package/src/registry/patterns/component-showcase.json +24 -0
- package/src/registry/patterns/contact-form.json +31 -0
- package/src/registry/patterns/cta-section.json +20 -0
- package/src/registry/patterns/data-table.json +37 -0
- package/src/registry/patterns/detail-header.json +83 -0
- package/src/registry/patterns/detail-panel.json +27 -0
- package/src/registry/patterns/explorer-shell.json +22 -0
- package/src/registry/patterns/filter-bar.json +33 -0
- package/src/registry/patterns/filter-sidebar.json +27 -0
- package/src/registry/patterns/form-sections.json +110 -0
- package/src/registry/patterns/goal-tracker.json +27 -0
- package/src/registry/patterns/hero.json +107 -0
- package/src/registry/patterns/index.json +47 -0
- package/src/registry/patterns/kpi-grid.json +36 -0
- package/src/registry/patterns/media-gallery.json +20 -0
- package/src/registry/patterns/order-history.json +20 -0
- package/src/registry/patterns/pagination.json +19 -0
- package/src/registry/patterns/photo-to-recipe.json +36 -0
- package/src/registry/patterns/pipeline-tracker.json +28 -0
- package/src/registry/patterns/post-list.json +27 -0
- package/src/registry/patterns/pricing-table.json +32 -0
- package/src/registry/patterns/scorecard.json +28 -0
- package/src/registry/patterns/search-bar.json +20 -0
- package/src/registry/patterns/specimen-grid.json +19 -0
- package/src/registry/patterns/stat-card.json +55 -0
- package/src/registry/patterns/stats-bar.json +55 -0
- package/src/registry/patterns/steps-card.json +55 -0
- package/src/registry/patterns/table-of-contents.json +19 -0
- package/src/registry/patterns/testimonials.json +21 -0
- package/src/registry/patterns/timeline.json +27 -0
- package/src/registry/patterns/token-inspector.json +21 -0
- package/src/registry/patterns/wizard.json +27 -0
- package/src/registry/recipe-auradecantism.json +69 -0
- package/src/registry/recipe-clean.json +65 -0
- package/src/registry/recipe-command-center.json +78 -0
- package/src/registry/router.json +73 -0
- package/src/registry/schema/README.md +197 -0
- package/src/registry/skeletons.json +259 -0
- package/src/registry/state.json +137 -0
- package/src/registry/tokens.json +40 -0
- package/src/router/hash.js +17 -0
- package/src/router/history.js +18 -0
- package/src/router/index.js +598 -0
- package/src/ssr/index.js +922 -0
- package/src/state/arrays.js +181 -0
- package/src/state/devtools.js +647 -0
- package/src/state/index.js +498 -0
- package/src/state/middleware.js +288 -0
- package/src/state/scheduler.js +206 -0
- package/src/state/store.js +300 -0
- package/src/tags/index.js +19 -0
- package/src/tannins/auth.js +396 -0
- package/src/test/dom.js +352 -0
- package/src/test/index.js +62 -0
- package/src/test/state.js +306 -0
- package/tools/a11y-audit.js +487 -0
- package/tools/analyzer.js +315 -0
- package/tools/audit.js +706 -0
- package/tools/builder.js +1422 -0
- package/tools/css-extract.js +188 -0
- package/tools/dev-server.js +316 -0
- package/tools/dts-gen.js +1260 -0
- package/tools/figma-components.js +329 -0
- package/tools/figma-patterns.js +516 -0
- package/tools/figma-plugin/code.js +453 -0
- package/tools/figma-plugin/manifest.json +14 -0
- package/tools/figma-plugin/ui.html +268 -0
- package/tools/figma-render.js +293 -0
- package/tools/figma-tokens.js +712 -0
- package/tools/figma-upload.js +318 -0
- package/tools/generate.js +738 -0
- package/tools/icons.js +133 -0
- package/tools/init-templates.js +265 -0
- package/tools/install-hooks.sh +5 -0
- package/tools/migrations/0.5.0.js +53 -0
- package/tools/migrations/0.6.0.js +95 -0
- package/tools/minify.js +170 -0
- package/tools/pre-commit +4 -0
- package/tools/registry.js +662 -0
- package/tools/reset-playground.js +61 -0
- package/tools/starter-templates/content-site/app.js +49 -0
- package/tools/starter-templates/content-site/essence.js +19 -0
- package/tools/starter-templates/content-site/pages.js +31 -0
- package/tools/starter-templates/ecommerce/app.js +50 -0
- package/tools/starter-templates/ecommerce/essence.js +19 -0
- package/tools/starter-templates/ecommerce/pages.js +31 -0
- package/tools/starter-templates/landing-page/app.js +38 -0
- package/tools/starter-templates/landing-page/essence.js +18 -0
- package/tools/starter-templates/landing-page/pages.js +21 -0
- package/tools/starter-templates/portfolio/app.js +45 -0
- package/tools/starter-templates/portfolio/essence.js +19 -0
- package/tools/starter-templates/portfolio/pages.js +33 -0
- package/tools/starter-templates/saas-dashboard/app.js +70 -0
- package/tools/starter-templates/saas-dashboard/essence.js +19 -0
- package/tools/starter-templates/saas-dashboard/pages.js +31 -0
- package/tools/verify-pack.js +203 -0
- package/types/chart.d.ts +77 -0
- package/types/components.d.ts +587 -0
- package/types/core.d.ts +89 -0
- package/types/css.d.ts +149 -0
- package/types/data.d.ts +238 -0
- package/types/form.d.ts +164 -0
- package/types/i18n.d.ts +51 -0
- package/types/icons.d.ts +27 -0
- package/types/index.d.ts +13 -0
- package/types/router.d.ts +116 -0
- package/types/ssr.d.ts +102 -0
- package/types/state.d.ts +83 -0
- package/types/tags.d.ts +62 -0
- package/types/tannins.d.ts +63 -0
- package/types/test.d.ts +48 -0
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/module.v1.json",
|
|
3
|
+
"generated": "2026-03-13",
|
|
4
|
+
"source": "decantr original icons",
|
|
5
|
+
"essential": [
|
|
6
|
+
"accessibility",
|
|
7
|
+
"activity",
|
|
8
|
+
"air-conditioning",
|
|
9
|
+
"alarm",
|
|
10
|
+
"alarm-clock",
|
|
11
|
+
"alert-circle",
|
|
12
|
+
"alert-triangle",
|
|
13
|
+
"align-center",
|
|
14
|
+
"align-justify",
|
|
15
|
+
"align-left",
|
|
16
|
+
"align-right",
|
|
17
|
+
"analytics",
|
|
18
|
+
"anchor",
|
|
19
|
+
"angry",
|
|
20
|
+
"apartment",
|
|
21
|
+
"api",
|
|
22
|
+
"apple",
|
|
23
|
+
"archive",
|
|
24
|
+
"area-chart",
|
|
25
|
+
"arrow-down",
|
|
26
|
+
"arrow-left",
|
|
27
|
+
"arrow-right",
|
|
28
|
+
"arrow-up",
|
|
29
|
+
"arrow-up-down",
|
|
30
|
+
"asterisk",
|
|
31
|
+
"at",
|
|
32
|
+
"at-sign",
|
|
33
|
+
"award",
|
|
34
|
+
"baby",
|
|
35
|
+
"ban",
|
|
36
|
+
"bandage",
|
|
37
|
+
"bank",
|
|
38
|
+
"bar-chart",
|
|
39
|
+
"bar-chart-horizontal",
|
|
40
|
+
"barcode",
|
|
41
|
+
"bath",
|
|
42
|
+
"battery",
|
|
43
|
+
"battery-charging",
|
|
44
|
+
"battery-low",
|
|
45
|
+
"bed",
|
|
46
|
+
"bell",
|
|
47
|
+
"bell-ring",
|
|
48
|
+
"benchmark",
|
|
49
|
+
"bicycle",
|
|
50
|
+
"binary",
|
|
51
|
+
"blocks",
|
|
52
|
+
"bluetooth",
|
|
53
|
+
"book",
|
|
54
|
+
"book-open",
|
|
55
|
+
"bookmark",
|
|
56
|
+
"bookmark-plus",
|
|
57
|
+
"box",
|
|
58
|
+
"boxes",
|
|
59
|
+
"brain",
|
|
60
|
+
"briefcase",
|
|
61
|
+
"brush",
|
|
62
|
+
"bubble-chart",
|
|
63
|
+
"bug",
|
|
64
|
+
"building",
|
|
65
|
+
"building-2",
|
|
66
|
+
"bus",
|
|
67
|
+
"cake",
|
|
68
|
+
"calculator",
|
|
69
|
+
"calendar",
|
|
70
|
+
"calendar-check",
|
|
71
|
+
"calendar-plus",
|
|
72
|
+
"calendar-x",
|
|
73
|
+
"camera",
|
|
74
|
+
"camera-off",
|
|
75
|
+
"candlestick-chart",
|
|
76
|
+
"car",
|
|
77
|
+
"cast",
|
|
78
|
+
"cctv",
|
|
79
|
+
"chart-comparison",
|
|
80
|
+
"chart-correlation",
|
|
81
|
+
"chart-decline",
|
|
82
|
+
"chart-distribution",
|
|
83
|
+
"chart-donut",
|
|
84
|
+
"chart-forecast",
|
|
85
|
+
"chart-funnel",
|
|
86
|
+
"chart-gantt",
|
|
87
|
+
"chart-growth",
|
|
88
|
+
"chart-heatmap",
|
|
89
|
+
"chart-radar",
|
|
90
|
+
"chart-sankey",
|
|
91
|
+
"chart-scatter",
|
|
92
|
+
"chart-treemap",
|
|
93
|
+
"chart-waterfall",
|
|
94
|
+
"check",
|
|
95
|
+
"check-circle",
|
|
96
|
+
"chef-hat",
|
|
97
|
+
"chevron-down",
|
|
98
|
+
"chevron-left",
|
|
99
|
+
"chevron-right",
|
|
100
|
+
"chevron-up",
|
|
101
|
+
"chevrons-left",
|
|
102
|
+
"chevrons-right",
|
|
103
|
+
"chip",
|
|
104
|
+
"circle",
|
|
105
|
+
"circle-dot",
|
|
106
|
+
"clipboard",
|
|
107
|
+
"clock",
|
|
108
|
+
"cloud",
|
|
109
|
+
"cloud-cog",
|
|
110
|
+
"cloud-download",
|
|
111
|
+
"cloud-lightning",
|
|
112
|
+
"cloud-upload",
|
|
113
|
+
"code",
|
|
114
|
+
"coffee",
|
|
115
|
+
"cog",
|
|
116
|
+
"coins",
|
|
117
|
+
"columns",
|
|
118
|
+
"compass",
|
|
119
|
+
"construction",
|
|
120
|
+
"container",
|
|
121
|
+
"container-ship",
|
|
122
|
+
"contract",
|
|
123
|
+
"copy",
|
|
124
|
+
"coupon",
|
|
125
|
+
"cpu",
|
|
126
|
+
"credit-card",
|
|
127
|
+
"crop",
|
|
128
|
+
"crown",
|
|
129
|
+
"database",
|
|
130
|
+
"diamond",
|
|
131
|
+
"dna",
|
|
132
|
+
"dollar-sign",
|
|
133
|
+
"door-closed",
|
|
134
|
+
"door-open",
|
|
135
|
+
"download",
|
|
136
|
+
"droplet",
|
|
137
|
+
"dumbbell",
|
|
138
|
+
"edit",
|
|
139
|
+
"eraser",
|
|
140
|
+
"expand",
|
|
141
|
+
"external-link",
|
|
142
|
+
"eye",
|
|
143
|
+
"eye-off",
|
|
144
|
+
"eye-scan",
|
|
145
|
+
"eyedropper",
|
|
146
|
+
"factory",
|
|
147
|
+
"fence",
|
|
148
|
+
"file",
|
|
149
|
+
"file-audio",
|
|
150
|
+
"file-check",
|
|
151
|
+
"file-code",
|
|
152
|
+
"file-image",
|
|
153
|
+
"file-minus",
|
|
154
|
+
"file-plus",
|
|
155
|
+
"file-search",
|
|
156
|
+
"file-spreadsheet",
|
|
157
|
+
"file-text",
|
|
158
|
+
"file-video",
|
|
159
|
+
"file-x",
|
|
160
|
+
"files",
|
|
161
|
+
"film",
|
|
162
|
+
"filter",
|
|
163
|
+
"filter-x",
|
|
164
|
+
"fingerprint",
|
|
165
|
+
"flag",
|
|
166
|
+
"folder",
|
|
167
|
+
"folder-check",
|
|
168
|
+
"folder-open",
|
|
169
|
+
"folder-plus",
|
|
170
|
+
"forklift",
|
|
171
|
+
"frown",
|
|
172
|
+
"fuel",
|
|
173
|
+
"garage",
|
|
174
|
+
"garden",
|
|
175
|
+
"gauge",
|
|
176
|
+
"gift",
|
|
177
|
+
"git-branch",
|
|
178
|
+
"git-commit",
|
|
179
|
+
"git-merge",
|
|
180
|
+
"git-pull-request",
|
|
181
|
+
"globe",
|
|
182
|
+
"graduation-cap",
|
|
183
|
+
"grape",
|
|
184
|
+
"grid-3x3",
|
|
185
|
+
"grip-vertical",
|
|
186
|
+
"group",
|
|
187
|
+
"hammer",
|
|
188
|
+
"handshake",
|
|
189
|
+
"hard-drive",
|
|
190
|
+
"hash",
|
|
191
|
+
"hash-tag",
|
|
192
|
+
"headphones",
|
|
193
|
+
"heart",
|
|
194
|
+
"heart-crack",
|
|
195
|
+
"heart-pulse",
|
|
196
|
+
"helicopter",
|
|
197
|
+
"hexagon",
|
|
198
|
+
"histogram",
|
|
199
|
+
"history",
|
|
200
|
+
"home",
|
|
201
|
+
"hospital",
|
|
202
|
+
"hourglass",
|
|
203
|
+
"house",
|
|
204
|
+
"id-card",
|
|
205
|
+
"image",
|
|
206
|
+
"inbox",
|
|
207
|
+
"infinity",
|
|
208
|
+
"info",
|
|
209
|
+
"invoice",
|
|
210
|
+
"kanban",
|
|
211
|
+
"key",
|
|
212
|
+
"kpi-card",
|
|
213
|
+
"lamp",
|
|
214
|
+
"landmark",
|
|
215
|
+
"laptop",
|
|
216
|
+
"laugh",
|
|
217
|
+
"layers",
|
|
218
|
+
"layout-dashboard",
|
|
219
|
+
"layout-grid",
|
|
220
|
+
"leaf",
|
|
221
|
+
"lightbulb",
|
|
222
|
+
"lighthouse",
|
|
223
|
+
"line-chart",
|
|
224
|
+
"link",
|
|
225
|
+
"list",
|
|
226
|
+
"list-ordered",
|
|
227
|
+
"loader",
|
|
228
|
+
"lock",
|
|
229
|
+
"lock-keyhole",
|
|
230
|
+
"log-in",
|
|
231
|
+
"log-out",
|
|
232
|
+
"mail",
|
|
233
|
+
"map",
|
|
234
|
+
"map-compass",
|
|
235
|
+
"map-pin",
|
|
236
|
+
"maximize",
|
|
237
|
+
"medal",
|
|
238
|
+
"megaphone",
|
|
239
|
+
"meh",
|
|
240
|
+
"menu",
|
|
241
|
+
"message-circle",
|
|
242
|
+
"message-square",
|
|
243
|
+
"metric",
|
|
244
|
+
"microphone",
|
|
245
|
+
"microphone-off",
|
|
246
|
+
"milestone",
|
|
247
|
+
"minimize",
|
|
248
|
+
"minus",
|
|
249
|
+
"monitor",
|
|
250
|
+
"moon",
|
|
251
|
+
"more-horizontal",
|
|
252
|
+
"more-vertical",
|
|
253
|
+
"mountain",
|
|
254
|
+
"move",
|
|
255
|
+
"navigation",
|
|
256
|
+
"newspaper",
|
|
257
|
+
"notebook",
|
|
258
|
+
"nut",
|
|
259
|
+
"package",
|
|
260
|
+
"palette",
|
|
261
|
+
"pallet",
|
|
262
|
+
"panel-left",
|
|
263
|
+
"panel-right",
|
|
264
|
+
"paperclip",
|
|
265
|
+
"parentheses",
|
|
266
|
+
"parking",
|
|
267
|
+
"passport",
|
|
268
|
+
"pen",
|
|
269
|
+
"pen-tool",
|
|
270
|
+
"pencil",
|
|
271
|
+
"percent",
|
|
272
|
+
"percent-circle",
|
|
273
|
+
"phone",
|
|
274
|
+
"pie-chart",
|
|
275
|
+
"piggy-bank",
|
|
276
|
+
"pill",
|
|
277
|
+
"pivot-table",
|
|
278
|
+
"pizza",
|
|
279
|
+
"plane",
|
|
280
|
+
"plug",
|
|
281
|
+
"plus",
|
|
282
|
+
"podcast",
|
|
283
|
+
"power",
|
|
284
|
+
"presentation",
|
|
285
|
+
"price-tag",
|
|
286
|
+
"printer",
|
|
287
|
+
"puzzle",
|
|
288
|
+
"qr-code",
|
|
289
|
+
"radio",
|
|
290
|
+
"receipt",
|
|
291
|
+
"redo",
|
|
292
|
+
"refresh",
|
|
293
|
+
"regex",
|
|
294
|
+
"reply",
|
|
295
|
+
"returns",
|
|
296
|
+
"robot",
|
|
297
|
+
"rocket",
|
|
298
|
+
"rotate-ccw",
|
|
299
|
+
"rotate-cw",
|
|
300
|
+
"route",
|
|
301
|
+
"rows",
|
|
302
|
+
"rss",
|
|
303
|
+
"satellite",
|
|
304
|
+
"save",
|
|
305
|
+
"scale",
|
|
306
|
+
"scan",
|
|
307
|
+
"school",
|
|
308
|
+
"scissors",
|
|
309
|
+
"screwdriver",
|
|
310
|
+
"search",
|
|
311
|
+
"send",
|
|
312
|
+
"server",
|
|
313
|
+
"settings",
|
|
314
|
+
"share",
|
|
315
|
+
"share-2",
|
|
316
|
+
"shield",
|
|
317
|
+
"shield-alert",
|
|
318
|
+
"shield-check",
|
|
319
|
+
"shield-x",
|
|
320
|
+
"ship",
|
|
321
|
+
"shipping",
|
|
322
|
+
"shopping-bag",
|
|
323
|
+
"shopping-cart",
|
|
324
|
+
"shrink",
|
|
325
|
+
"sidebar",
|
|
326
|
+
"signal",
|
|
327
|
+
"signature",
|
|
328
|
+
"sliders-horizontal",
|
|
329
|
+
"smartphone",
|
|
330
|
+
"smile",
|
|
331
|
+
"snowflake",
|
|
332
|
+
"sofa",
|
|
333
|
+
"sort-asc",
|
|
334
|
+
"sort-desc",
|
|
335
|
+
"sparkles",
|
|
336
|
+
"sparkline",
|
|
337
|
+
"spreadsheet",
|
|
338
|
+
"square",
|
|
339
|
+
"stacked-bar-chart",
|
|
340
|
+
"stamp",
|
|
341
|
+
"star",
|
|
342
|
+
"stethoscope",
|
|
343
|
+
"store",
|
|
344
|
+
"sun",
|
|
345
|
+
"sunrise",
|
|
346
|
+
"sunset",
|
|
347
|
+
"syringe",
|
|
348
|
+
"table",
|
|
349
|
+
"table-cells",
|
|
350
|
+
"table-columns",
|
|
351
|
+
"table-rows",
|
|
352
|
+
"tablet",
|
|
353
|
+
"tag",
|
|
354
|
+
"target",
|
|
355
|
+
"taxi",
|
|
356
|
+
"terminal",
|
|
357
|
+
"thermometer",
|
|
358
|
+
"thumbs-down",
|
|
359
|
+
"thumbs-up",
|
|
360
|
+
"timer",
|
|
361
|
+
"toggle-left",
|
|
362
|
+
"toggle-right",
|
|
363
|
+
"tool",
|
|
364
|
+
"train",
|
|
365
|
+
"trash",
|
|
366
|
+
"tree",
|
|
367
|
+
"trending-down",
|
|
368
|
+
"trending-up",
|
|
369
|
+
"trendline",
|
|
370
|
+
"triangle",
|
|
371
|
+
"trophy",
|
|
372
|
+
"truck",
|
|
373
|
+
"tv",
|
|
374
|
+
"type",
|
|
375
|
+
"umbrella",
|
|
376
|
+
"undo",
|
|
377
|
+
"ungroup",
|
|
378
|
+
"unlink",
|
|
379
|
+
"unlock",
|
|
380
|
+
"upload",
|
|
381
|
+
"usb",
|
|
382
|
+
"user",
|
|
383
|
+
"user-check",
|
|
384
|
+
"user-minus",
|
|
385
|
+
"user-plus",
|
|
386
|
+
"user-x",
|
|
387
|
+
"users",
|
|
388
|
+
"users-round",
|
|
389
|
+
"utensils",
|
|
390
|
+
"variable",
|
|
391
|
+
"video",
|
|
392
|
+
"wallet",
|
|
393
|
+
"wand",
|
|
394
|
+
"warehouse",
|
|
395
|
+
"watch",
|
|
396
|
+
"watch-smart",
|
|
397
|
+
"webhook",
|
|
398
|
+
"wheat",
|
|
399
|
+
"wifi",
|
|
400
|
+
"wifi-off",
|
|
401
|
+
"wind",
|
|
402
|
+
"window",
|
|
403
|
+
"wine",
|
|
404
|
+
"workflow",
|
|
405
|
+
"wrench",
|
|
406
|
+
"x",
|
|
407
|
+
"x-circle",
|
|
408
|
+
"zap"
|
|
409
|
+
],
|
|
410
|
+
"essentialCount": 403,
|
|
411
|
+
"groups": {
|
|
412
|
+
"navigation": { "label": "Navigation", "description": "Arrows, chevrons, and directional indicators", "icons": ["check", "x", "plus", "minus", "chevron-down", "chevron-up", "chevron-left", "chevron-right", "chevrons-left", "chevrons-right", "arrow-left", "arrow-right", "arrow-up", "arrow-down", "navigation"] },
|
|
413
|
+
"actions": { "label": "Actions", "description": "Common interactive operations and controls", "icons": ["search", "menu", "more-horizontal", "more-vertical", "external-link", "home", "bell", "bell-ring", "settings", "star", "edit", "trash", "copy", "eye", "eye-off", "filter", "filter-x", "download", "upload", "refresh", "loader", "log-out", "log-in", "undo", "redo", "share", "share-2", "rotate-cw", "rotate-ccw", "scissors", "zap", "power", "move", "scan", "wand", "sparkles", "eraser"] },
|
|
414
|
+
"feedback": { "label": "Feedback", "description": "Status indicators, alerts, and validation", "icons": ["info", "alert-triangle", "alert-circle", "check-circle", "x-circle", "circle-dot", "flag", "ban", "alarm"] },
|
|
415
|
+
"people": { "label": "People & Security", "description": "User accounts, permissions, and authentication", "icons": ["user", "users", "user-plus", "user-minus", "user-check", "user-x", "users-round", "shield", "shield-check", "shield-x", "shield-alert", "lock", "lock-keyhole", "unlock", "key", "fingerprint", "eye-scan", "id-card", "passport"] },
|
|
416
|
+
"content": { "label": "Content", "description": "Files, documents, and media", "icons": ["file", "file-text", "file-plus", "file-minus", "file-check", "file-x", "file-search", "file-code", "file-spreadsheet", "file-image", "file-audio", "file-video", "files", "folder", "folder-open", "folder-plus", "folder-check", "save", "printer", "bookmark", "bookmark-plus", "archive", "clipboard", "paperclip", "link", "unlink", "hash", "tag", "image"] },
|
|
417
|
+
"communication": { "label": "Communication", "description": "Messaging, social, and engagement", "icons": ["mail", "phone", "video", "send", "at-sign", "at", "message-square", "message-circle", "reply", "rss", "podcast", "microphone", "microphone-off", "headphones", "megaphone", "newspaper", "radio", "tv", "cast", "heart", "heart-crack", "thumbs-up", "thumbs-down", "smile", "frown", "meh", "laugh", "angry", "award"] },
|
|
418
|
+
"time": { "label": "Time", "description": "Clocks, calendars, scheduling, and deadlines", "icons": ["clock", "timer", "hourglass", "alarm-clock", "watch", "watch-smart", "history", "calendar", "calendar-check", "calendar-plus", "calendar-x"] },
|
|
419
|
+
"layout": { "label": "Layout", "description": "Grids, panels, and spatial arrangement", "icons": ["layout-dashboard", "layout-grid", "sidebar", "panel-left", "panel-right", "maximize", "minimize", "expand", "shrink", "grip-vertical", "grid-3x3", "kanban", "columns", "rows", "layers", "inbox", "blocks"] },
|
|
420
|
+
"data": { "label": "Data", "description": "Tables, sorting, and structured data", "icons": ["list", "list-ordered", "table", "table-rows", "table-columns", "table-cells", "sort-asc", "sort-desc", "arrow-up-down", "spreadsheet", "pivot-table", "group", "ungroup"] },
|
|
421
|
+
"charts": { "label": "Charts & Analytics", "description": "Chart types, trends, and analytics concepts", "icons": ["bar-chart", "bar-chart-horizontal", "stacked-bar-chart", "line-chart", "area-chart", "pie-chart", "chart-donut", "histogram", "chart-scatter", "bubble-chart", "chart-radar", "chart-heatmap", "chart-treemap", "chart-sankey", "chart-funnel", "chart-waterfall", "chart-gantt", "candlestick-chart", "trending-up", "trending-down", "activity", "percent", "analytics", "metric", "kpi-card", "benchmark", "sparkline", "trendline", "chart-comparison", "chart-correlation", "chart-forecast", "chart-growth", "chart-decline", "chart-distribution"] },
|
|
422
|
+
"commerce": { "label": "Commerce", "description": "Shopping, payments, and logistics", "icons": ["credit-card", "shopping-cart", "shopping-bag", "store", "wallet", "dollar-sign", "receipt", "gift", "coupon", "barcode", "qr-code", "price-tag", "percent-circle", "shipping", "returns", "truck", "package", "box", "boxes", "container", "pallet", "forklift"] },
|
|
423
|
+
"business": { "label": "Business & Finance", "description": "Banking, contracts, and professional tools", "icons": ["calculator", "bank", "coins", "piggy-bank", "invoice", "contract", "signature", "stamp", "briefcase", "handshake", "scale", "target", "crown", "lighthouse"] },
|
|
424
|
+
"media": { "label": "Media & Creative", "description": "Photography, design tools, and text formatting", "icons": ["camera", "camera-off", "film", "palette", "brush", "pen-tool", "eyedropper", "crop", "type", "align-left", "align-center", "align-right", "align-justify", "pencil", "pen"] },
|
|
425
|
+
"devices": { "label": "Devices & Technology", "description": "Hardware, connectivity, and device types", "icons": ["smartphone", "tablet", "laptop", "monitor", "bluetooth", "usb", "battery", "battery-charging", "battery-low", "signal", "satellite", "robot", "chip"] },
|
|
426
|
+
"infrastructure": { "label": "Infrastructure", "description": "Development, servers, and system tools", "icons": ["code", "terminal", "server", "database", "cloud", "cloud-upload", "cloud-download", "cloud-cog", "cloud-lightning", "wifi", "wifi-off", "moon", "sun", "cpu", "hard-drive", "wrench", "tool", "hammer", "screwdriver", "nut", "plug", "cog", "sliders-horizontal", "gauge", "toggle-left", "toggle-right", "bug", "cctv"] },
|
|
427
|
+
"workflow": { "label": "Workflow & Dev", "description": "Version control, CI/CD, and project management", "icons": ["git-branch", "git-merge", "git-pull-request", "git-commit", "milestone", "workflow", "variable", "regex", "binary", "webhook", "api", "container-ship"] },
|
|
428
|
+
"healthcare": { "label": "Healthcare", "description": "Medical, wellness, and accessibility", "icons": ["stethoscope", "pill", "syringe", "heart-pulse", "bandage", "thermometer", "brain", "dna", "accessibility", "baby", "apple", "dumbbell"] },
|
|
429
|
+
"education": { "label": "Education", "description": "Learning, achievements, and school", "icons": ["book", "book-open", "graduation-cap", "notebook", "presentation", "trophy", "medal", "school", "lightbulb", "puzzle"] },
|
|
430
|
+
"transport": { "label": "Transportation", "description": "Vehicles, travel, and logistics", "icons": ["car", "bus", "train", "bicycle", "ship", "rocket", "helicopter", "taxi", "parking", "fuel", "map-compass"] },
|
|
431
|
+
"food": { "label": "Food & Hospitality", "description": "Dining, beverages, and culinary", "icons": ["utensils", "coffee", "wine", "pizza", "cake", "chef-hat", "grape", "wheat"] },
|
|
432
|
+
"home": { "label": "Home & Real Estate", "description": "Furniture, property, and living spaces", "icons": ["house", "apartment", "sofa", "lamp", "bed", "bath", "garden", "door-closed", "window", "air-conditioning"] },
|
|
433
|
+
"weather": { "label": "Weather", "description": "Climate, nature, and environment", "icons": ["umbrella", "wind", "droplet", "snowflake", "sunrise", "sunset", "leaf", "tree", "mountain"] },
|
|
434
|
+
"places": { "label": "Places", "description": "Buildings, locations, and geography", "icons": ["globe", "map", "map-pin", "compass", "route", "building", "building-2", "hospital", "factory", "warehouse", "landmark", "door-open", "garage", "fence", "construction", "anchor", "plane"] },
|
|
435
|
+
"shapes": { "label": "Shapes & Symbols", "description": "Geometric shapes and common symbols", "icons": ["circle", "square", "triangle", "diamond", "hexagon", "infinity", "asterisk", "hash-tag", "parentheses"] }
|
|
436
|
+
},
|
|
437
|
+
"structural": [
|
|
438
|
+
"chevron-down", "chevron-up", "chevron-left", "chevron-right",
|
|
439
|
+
"check", "x", "calendar", "clock", "search", "arrow-up",
|
|
440
|
+
"grip-vertical", "info", "check-circle", "alert-triangle", "x-circle"
|
|
441
|
+
],
|
|
442
|
+
"structuralNote": "Framework components depend on these 15 icons. Always available via built-in essential set. Can be overridden via registerIcon() for visual consistency with third-party libraries.",
|
|
443
|
+
"fillDetection": "buildDataUri() auto-detects fill-based SVGs: if inner content contains fill= with a non-none value, uses fill='black' stroke='none' wrapper. Otherwise uses stroke-based wrapper (default). For SVGs relying on inherited fill (no explicit fill attr), add fill='currentColor' when registering.",
|
|
444
|
+
"weightControl": {
|
|
445
|
+
"description": "Stroke weight control via opts.weight. Named levels: thin(1), light(1.5), regular(2, default), medium(2.5), bold(3). Numeric values clamped to [0.5, 4]. Fill-based icons ignore weight.",
|
|
446
|
+
"cssClass": "d-i-{name}--w{value} where decimals use 'p' (e.g. w1p5 for 1.5). Default weight (2) produces no suffix."
|
|
447
|
+
},
|
|
448
|
+
"fillControl": {
|
|
449
|
+
"description": "Fill toggle via opts.filled (boolean, default false). Adds fill='black' alongside stroke attrs for stroke-based icons. Fill-based icons ignore this option.",
|
|
450
|
+
"cssClass": "d-i-{name}--filled. Combined with weight: d-i-{name}--w{value}-filled."
|
|
451
|
+
},
|
|
452
|
+
"api": {
|
|
453
|
+
"icon(name, opts?)": "Render icon as <span> with CSS mask-image. Supports weight, filled, and size options. Auto-detects fill vs stroke SVG format.",
|
|
454
|
+
"registerIcon(name, svgInner)": "Add a single custom icon",
|
|
455
|
+
"registerIcons(map)": "Bulk-register icons from { name: svgInner }",
|
|
456
|
+
"hasIcon(name)": "Check if icon is available",
|
|
457
|
+
"getIconNames()": "List all available icon names"
|
|
458
|
+
},
|
|
459
|
+
"config": {
|
|
460
|
+
"icons.library": "Optional string in decantr.config.json — signals to LLM which icon library the project uses (e.g. 'lucide', 'material', 'fontawesome'). Decantr does not act on this value."
|
|
461
|
+
},
|
|
462
|
+
"importGuide": "node tools/icons.js <svg-dir> [output.js] — import SVG directory as JS module"
|
|
463
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/registry.v1.json",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"generated": "2026-03-17",
|
|
5
|
+
"modules": {
|
|
6
|
+
"decantr/core": {
|
|
7
|
+
"description": "DOM engine — hyperscript rendering, conditional, list, mount, lifecycle",
|
|
8
|
+
"file": "core.json",
|
|
9
|
+
"exports": 16
|
|
10
|
+
},
|
|
11
|
+
"decantr/state": {
|
|
12
|
+
"description": "Reactive primitives — signals, effects, memos, stores, batch",
|
|
13
|
+
"file": "state.json",
|
|
14
|
+
"exports": 12
|
|
15
|
+
},
|
|
16
|
+
"decantr/router": {
|
|
17
|
+
"description": "Client-side routing — hash or history mode",
|
|
18
|
+
"file": "router.json",
|
|
19
|
+
"exports": 9
|
|
20
|
+
},
|
|
21
|
+
"decantr/css": {
|
|
22
|
+
"description": "Atomic CSS engine + theme management",
|
|
23
|
+
"file": "css.json",
|
|
24
|
+
"exports": 23
|
|
25
|
+
},
|
|
26
|
+
"decantr/components": {
|
|
27
|
+
"description": "UI components — all return HTMLElement, all accept inline styles",
|
|
28
|
+
"file": "components.json",
|
|
29
|
+
"exports": 108
|
|
30
|
+
},
|
|
31
|
+
"decantr/tags": {
|
|
32
|
+
"description": "Proxy-based tag functions for concise markup",
|
|
33
|
+
"usage": "import { tags } from 'decantr/tags'; const { div, p } = tags; div({ class: 'card' }, p('Content'))"
|
|
34
|
+
},
|
|
35
|
+
"decantr/icons": {
|
|
36
|
+
"description": "First-party icon suite — undefined Lucide icons via CSS mask-image",
|
|
37
|
+
"file": "icons.json"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"archetypes": {
|
|
41
|
+
"description": "Domain archetypes for the Decantation Process — pre-mapped page patterns, organs, and layouts per domain",
|
|
42
|
+
"index": "archetypes/index.json",
|
|
43
|
+
"entries": {
|
|
44
|
+
"ecommerce": {
|
|
45
|
+
"file": "archetypes/ecommerce.json",
|
|
46
|
+
"description": "Online retail"
|
|
47
|
+
},
|
|
48
|
+
"saas-dashboard": {
|
|
49
|
+
"file": "archetypes/saas-dashboard.json",
|
|
50
|
+
"description": "Analytics/admin dashboard"
|
|
51
|
+
},
|
|
52
|
+
"portfolio": {
|
|
53
|
+
"file": "archetypes/portfolio.json",
|
|
54
|
+
"description": "Personal/agency showcase"
|
|
55
|
+
},
|
|
56
|
+
"content-site": {
|
|
57
|
+
"file": "archetypes/content-site.json",
|
|
58
|
+
"description": "Blog/magazine/documentation"
|
|
59
|
+
},
|
|
60
|
+
"docs-explorer": {
|
|
61
|
+
"file": "archetypes/docs-explorer.json",
|
|
62
|
+
"description": "Interactive documentation explorer"
|
|
63
|
+
},
|
|
64
|
+
"financial-dashboard": {
|
|
65
|
+
"file": "archetypes/financial-dashboard.json",
|
|
66
|
+
"description": "Financial services lending dashboard"
|
|
67
|
+
},
|
|
68
|
+
"recipe-community": {
|
|
69
|
+
"file": "archetypes/recipe-community.json",
|
|
70
|
+
"description": "AI-powered recipe sharing platform"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"patterns": {
|
|
75
|
+
"description": "Experience patterns — composable UI building blocks that archetypes reference",
|
|
76
|
+
"index": "patterns/index.json",
|
|
77
|
+
"count": 49
|
|
78
|
+
},
|
|
79
|
+
"recipes": {
|
|
80
|
+
"description": "Visual language recipes — composition rules for drastic visual transformations beyond token-level styling",
|
|
81
|
+
"entries": {
|
|
82
|
+
"command-center": {
|
|
83
|
+
"file": "recipe-command-center.json",
|
|
84
|
+
"style": "command-center",
|
|
85
|
+
"description": "HUD/radar visual language — monochromatic cyan, beveled frames, scanlines, status bars"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"atoms": {
|
|
90
|
+
"file": "atoms.json",
|
|
91
|
+
"description": "Atomic CSS utility classes — categorized prefix groups"
|
|
92
|
+
},
|
|
93
|
+
"tokens": {
|
|
94
|
+
"file": "tokens.json",
|
|
95
|
+
"description": "Design tokens derived from style seeds — 170+ CSS custom properties"
|
|
96
|
+
},
|
|
97
|
+
"foundations": {
|
|
98
|
+
"file": "foundations.json",
|
|
99
|
+
"description": "Foundation modules — core, state, router, form"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v1.json",
|
|
3
|
+
"id": "activity-feed",
|
|
4
|
+
"name": "Activity Feed",
|
|
5
|
+
"description": "Chronological list of activity events with avatars, timestamps, and action descriptions. Used in dashboards and profile pages.",
|
|
6
|
+
"components": ["Timeline", "Avatar", "Badge", "Text", "Separator"],
|
|
7
|
+
"default_blend": {
|
|
8
|
+
"layout": "stack",
|
|
9
|
+
"atoms": "_flex _flexCol _gap2 _p4",
|
|
10
|
+
"slots": {
|
|
11
|
+
"header": "Section title with _heading5 and optional filter/date-range controls",
|
|
12
|
+
"feed": "Timeline of activity items, each with Avatar, action Text, timestamp Badge, and Separator between entries",
|
|
13
|
+
"load-more": "Optional Button at bottom for pagination"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"recipe_overrides": {
|
|
17
|
+
"command-center": {
|
|
18
|
+
"wrapper": "cc-frame-sm",
|
|
19
|
+
"atoms": "cc-scanline",
|
|
20
|
+
"notes": "Header uses cc-bar with cc-label. Timestamps use cc-data. Feed area gets cc-scanline. New/unread items get cc-glow pulse."
|
|
21
|
+
},
|
|
22
|
+
"auradecantism": {
|
|
23
|
+
"wrapper": "d-glass",
|
|
24
|
+
"atoms": "_r4",
|
|
25
|
+
"notes": "Feed in d-glass panel. New items highlighted with subtle glow. Timestamps in muted text."
|
|
26
|
+
},
|
|
27
|
+
"clean": {
|
|
28
|
+
"wrapper": "",
|
|
29
|
+
"atoms": "_b1 _r4",
|
|
30
|
+
"notes": "Feed in bordered container. Simple list items with bottom borders."
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"code": {
|
|
34
|
+
"imports": "import { tags } from 'decantr/tags';\nimport { css } from 'decantr/css';\nimport { Avatar, Badge, Button } from 'decantr/components';",
|
|
35
|
+
"example": "function ActivityFeed() {\n const { div, span, h3 } = tags;\n const items = [\n { avatar: '', user: 'Alice Chen', action: 'deployed v2.4.1 to production', time: '2 min ago', type: 'success' },\n { avatar: '', user: 'Bob Patel', action: 'opened pull request #142', time: '15 min ago', type: 'default' },\n { avatar: '', user: 'Carol Liu', action: 'commented on issue #89', time: '1 hour ago', type: 'default' },\n { avatar: '', user: 'Dan Kim', action: 'merged branch feature/auth', time: '3 hours ago', type: 'success' }\n ];\n\n return div({ class: css('_flex _col _gap2 _p4') },\n h3({ class: css('_heading5') }, 'Recent Activity'),\n ...items.map(item =>\n div({ class: css('_flex _gap3 _aic _py2 _borderB') },\n Avatar({ src: item.avatar, name: item.user, size: 'sm' }),\n div({ class: css('_flex _col _flex1') },\n span({ class: css('_textsm') }, span({ class: css('_bold') }, item.user), ` ${item.action}`),\n span({ class: css('_textxs _fgmuted') }, item.time)\n ),\n Badge({ variant: item.type === 'success' ? 'success' : 'default' }, item.type)\n )\n ),\n Button({ variant: 'ghost', class: css('_wfull _mt2') }, 'Load More')\n );\n}"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v1.json",
|
|
3
|
+
"id": "article-content",
|
|
4
|
+
"name": "Article Content",
|
|
5
|
+
"description": "Long-form article layout with sticky table-of-contents sidebar. Used for documentation, blog posts, and content-heavy pages.",
|
|
6
|
+
"components": ["Card", "Avatar", "Badge", "Text", "Separator"],
|
|
7
|
+
"default_blend": {
|
|
8
|
+
"layout": "grid",
|
|
9
|
+
"atoms": "_grid _gc12 _gap8 _p6",
|
|
10
|
+
"slots": {
|
|
11
|
+
"toc-sidebar": "Sticky nav list in a 3-column sidebar with _colSpan3, built from heading anchors",
|
|
12
|
+
"article": "Main content area with _colSpan9, containing prose Text and Card sections",
|
|
13
|
+
"author": "Card at article end with Avatar, bio Text, and links, preceded by Separator"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"recipe_overrides": {
|
|
17
|
+
"command-center": {
|
|
18
|
+
"wrapper": "cc-frame",
|
|
19
|
+
"atoms": "cc-scanline",
|
|
20
|
+
"notes": "ToC headings use cc-label. Active ToC item gets cc-glow. Article headings use cc-label. Code blocks use cc-scanline with cc-data for line numbers."
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"code": {
|
|
24
|
+
"imports": "import { tags } from 'decantr/tags';\nimport { css } from 'decantr/css';\nimport { Separator, Avatar } from 'decantr/components';",
|
|
25
|
+
"example": "function ArticleContent() {\n const { div, h1, p, span, time, article: articleEl } = tags;\n const article = {\n title: 'Building Scalable Design Systems',\n author: { avatar: '', name: 'Jane Doe' },\n date: 'Mar 12, 2026',\n readTime: '8 min read',\n html: '<p>Design systems provide a shared language between design and engineering. By establishing reusable components and tokens, teams ship faster while maintaining consistency.</p>'\n };\n\n return articleEl({ class: css('_flex _col _gap6 _mw[720px] _mxa _py8') },\n div({ class: css('_flex _col _gap3') },\n h1({ class: css('_heading1') }, article.title),\n div({ class: css('_flex _aic _gap3') },\n Avatar({ src: article.author.avatar, name: article.author.name, size: 'sm' }),\n span({ class: css('_textsm') }, article.author.name),\n time({ class: css('_textsm _fgmuted') }, article.date),\n span({ class: css('_textsm _fgmuted') }, article.readTime)\n )\n ),\n Separator(),\n div({ class: css('_body _lhrelaxed'), innerHTML: article.html })\n );\n}"
|
|
26
|
+
}
|
|
27
|
+
}
|