@design-ai/cli 4.56.0 → 4.57.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/.claude-plugin/plugin.json +109 -25
- package/CHANGELOG.md +36 -0
- package/README.ko.md +9 -26
- package/README.md +10 -23
- package/cli/bin/design-ai.mjs +1 -0
- package/cli/commands/help.mjs +7 -4
- package/cli/commands/index.mjs +292 -0
- package/cli/commands/learn-help.mjs +149 -0
- package/cli/commands/learn-print-profile.mjs +373 -0
- package/cli/commands/learn-print-restore.mjs +349 -0
- package/cli/commands/learn-print-signals.mjs +453 -0
- package/cli/commands/learn.mjs +60 -1281
- package/cli/commands/pack.mjs +7 -3
- package/cli/commands/prompt.mjs +7 -3
- package/cli/commands/search.mjs +94 -1
- package/cli/lib/dispatch.mjs +3 -0
- package/cli/lib/embedding-index.mjs +199 -0
- package/cli/lib/embedding-provider.mjs +121 -0
- package/cli/lib/embedding-rerank.mjs +52 -0
- package/cli/lib/learn-args.mjs +490 -0
- package/cli/lib/learn-backup.mjs +748 -0
- package/cli/lib/learn-curation.mjs +612 -0
- package/cli/lib/learn-eval.mjs +459 -0
- package/cli/lib/learn-profile.mjs +763 -0
- package/cli/lib/learn-select.mjs +223 -0
- package/cli/lib/learn-shared.mjs +158 -0
- package/cli/lib/learn-test-support.mjs +218 -0
- package/cli/lib/learn-usage.mjs +360 -0
- package/cli/lib/learn.mjs +83 -3694
- package/cli/lib/lexical.mjs +137 -0
- package/cli/lib/local-config.mjs +110 -0
- package/cli/lib/mcp-server.mjs +13 -3
- package/cli/lib/pack.mjs +31 -4
- package/cli/lib/prompt.mjs +42 -4
- package/cli/lib/recall.mjs +193 -0
- package/cli/lib/retrieval-index.mjs +0 -0
- package/cli/lib/search-ranked.mjs +170 -0
- package/cli/lib/search.mjs +11 -1
- package/cli/lib/signals-backlog-commands.mjs +673 -0
- package/cli/lib/signals-backlog.mjs +361 -0
- package/cli/lib/signals-eval.mjs +176 -0
- package/cli/lib/signals-readiness.mjs +247 -0
- package/cli/lib/signals-registry.mjs +377 -0
- package/cli/lib/signals-render.mjs +478 -0
- package/cli/lib/signals-shared.mjs +75 -0
- package/cli/lib/signals.mjs +16 -2337
- package/cli/lib/site-bundle-handoff-expected.mjs +173 -0
- package/cli/lib/site-bundle-handoff-runbook-action-summary.mjs +332 -0
- package/cli/lib/site-bundle-handoff-runbook-human-lines.mjs +167 -0
- package/cli/lib/site-bundle-handoff-runbook-maps.mjs +238 -0
- package/cli/lib/site-bundle-handoff-runbook-next-step.mjs +278 -0
- package/cli/lib/site-bundle-handoff-runbook.mjs +44 -931
- package/cli/lib/site-test-support.mjs +68 -0
- package/cli/lib/skill-proposals-apply-commands.mjs +135 -0
- package/cli/lib/skill-proposals-apply-contract.mjs +750 -0
- package/cli/lib/skill-proposals-apply-plan.mjs +118 -0
- package/cli/lib/skill-proposals-generate.mjs +298 -0
- package/cli/lib/skill-proposals-render.mjs +532 -0
- package/cli/lib/skill-proposals-review.mjs +262 -0
- package/cli/lib/skill-proposals.mjs +15 -2046
- package/cli/lib/workspace-args.mjs +83 -0
- package/cli/lib/workspace-git.mjs +169 -0
- package/cli/lib/workspace-learning.mjs +483 -0
- package/cli/lib/workspace-repo.mjs +139 -0
- package/cli/lib/workspace-report.mjs +283 -0
- package/cli/lib/workspace-test-support.mjs +99 -0
- package/cli/lib/workspace.mjs +30 -1056
- package/docs/AI-LEARNING-PHASE2.md +215 -0
- package/docs/DISTRIBUTION.ko.md +2 -2
- package/docs/DISTRIBUTION.md +2 -2
- package/docs/NEXT-SURFACE-DECISION.md +125 -0
- package/docs/PRODUCT-READINESS.md +3 -3
- package/docs/RELEASE-GATES.ko.md +35 -0
- package/docs/RELEASE-GATES.md +234 -0
- package/docs/ROADMAP.md +53 -8
- package/docs/external-status.md +6 -8
- package/docs/inspection-20260630.md +169 -0
- package/docs/integrations/design-ai-mcp-server.md +4 -4
- package/docs/reference/ant-design.md +413 -0
- package/docs/reference/awesome-design-md.md +439 -0
- package/docs/reference/mui.md +783 -0
- package/docs/reference/shadcn-ui.md +298 -0
- package/examples/component-accordion-actions.md +5 -5
- package/examples/component-accordion-details.md +5 -5
- package/examples/component-accordion-summary.md +5 -5
- package/examples/component-accordion.md +3 -3
- package/examples/component-affix.md +1 -1
- package/examples/component-alert-dialog.md +1 -1
- package/examples/component-alert-title.md +1 -1
- package/examples/component-alert.md +3 -3
- package/examples/component-anchor.md +1 -1
- package/examples/component-app-bar.md +1 -1
- package/examples/component-aspect-ratio.md +1 -1
- package/examples/component-auto-complete.md +2 -2
- package/examples/component-avatar-group.md +5 -5
- package/examples/component-avatar.md +3 -3
- package/examples/component-back-top.md +1 -1
- package/examples/component-backdrop.md +1 -1
- package/examples/component-badge.md +3 -3
- package/examples/component-border-beam.md +3 -3
- package/examples/component-bottom-navigation.md +1 -1
- package/examples/component-box.md +1 -1
- package/examples/component-breadcrumb.md +3 -3
- package/examples/component-button-base.md +3 -3
- package/examples/component-button-group.md +2 -2
- package/examples/component-button.md +3 -3
- package/examples/component-calendar.md +2 -2
- package/examples/component-card-actions.md +1 -1
- package/examples/component-card-content.md +1 -1
- package/examples/component-card-header.md +1 -1
- package/examples/component-card-media.md +1 -1
- package/examples/component-card.md +3 -3
- package/examples/component-carousel.md +2 -2
- package/examples/component-cascader.md +1 -1
- package/examples/component-chart.md +1 -1
- package/examples/component-checkbox.md +3 -3
- package/examples/component-click-away-listener.md +1 -1
- package/examples/component-code.md +1 -1
- package/examples/component-collapsible.md +1 -1
- package/examples/component-color-picker.md +1 -1
- package/examples/component-combobox.md +1 -1
- package/examples/component-command.md +1 -1
- package/examples/component-config-provider.md +3 -3
- package/examples/component-context-menu.md +1 -1
- package/examples/component-css-baseline.md +3 -3
- package/examples/component-date-picker.md +2 -2
- package/examples/component-descriptions.md +1 -1
- package/examples/component-dialog-actions.md +1 -1
- package/examples/component-dialog-content-text.md +1 -1
- package/examples/component-dialog-content.md +1 -1
- package/examples/component-dialog-title.md +1 -1
- package/examples/component-dialog.md +2 -2
- package/examples/component-divider.md +3 -3
- package/examples/component-drawer.md +3 -3
- package/examples/component-dropdown.md +3 -3
- package/examples/component-empty.md +2 -2
- package/examples/component-fade.md +1 -1
- package/examples/component-field.md +1 -1
- package/examples/component-filled-input.md +1 -1
- package/examples/component-flex.md +1 -1
- package/examples/component-float-button.md +2 -2
- package/examples/component-form-control-label.md +1 -1
- package/examples/component-form-control.md +1 -1
- package/examples/component-form-controls.md +1 -1
- package/examples/component-form-group.md +1 -1
- package/examples/component-form-helper-text.md +1 -1
- package/examples/component-form-label.md +1 -1
- package/examples/component-form.md +2 -2
- package/examples/component-grid.md +2 -2
- package/examples/component-grow.md +1 -1
- package/examples/component-hover-card.md +1 -1
- package/examples/component-icon-button.md +1 -1
- package/examples/component-icon.md +1 -1
- package/examples/component-image-list.md +1 -1
- package/examples/component-image.md +1 -1
- package/examples/component-input-adornment.md +1 -1
- package/examples/component-input-base.md +1 -1
- package/examples/component-input-number.md +1 -1
- package/examples/component-input-otp.md +2 -2
- package/examples/component-input.md +3 -3
- package/examples/component-item.md +1 -1
- package/examples/component-label.md +1 -1
- package/examples/component-layout.md +1 -1
- package/examples/component-link.md +1 -1
- package/examples/component-list-item-avatar.md +1 -1
- package/examples/component-list-item-button.md +1 -1
- package/examples/component-list-item-icon.md +1 -1
- package/examples/component-list-item-text.md +1 -1
- package/examples/component-list-item.md +1 -1
- package/examples/component-list-subheader.md +1 -1
- package/examples/component-list.md +2 -2
- package/examples/component-masonry.md +1 -1
- package/examples/component-mentions.md +1 -1
- package/examples/component-menu-item.md +1 -1
- package/examples/component-menu-list.md +1 -1
- package/examples/component-menu.md +1 -1
- package/examples/component-menubar.md +1 -1
- package/examples/component-message.md +1 -1
- package/examples/component-mobile-stepper.md +1 -1
- package/examples/component-modal.md +5 -5
- package/examples/component-navigation-menu.md +1 -1
- package/examples/component-notification.md +1 -1
- package/examples/component-outlined-input.md +1 -1
- package/examples/component-pagination.md +3 -3
- package/examples/component-paper.md +1 -1
- package/examples/component-popconfirm.md +1 -1
- package/examples/component-popover.md +3 -3
- package/examples/component-popper.md +1 -1
- package/examples/component-progress.md +2 -2
- package/examples/component-qr-code.md +1 -1
- package/examples/component-radio.md +3 -3
- package/examples/component-rate.md +2 -2
- package/examples/component-resizable.md +1 -1
- package/examples/component-result.md +1 -1
- package/examples/component-scroll-area.md +1 -1
- package/examples/component-segmented.md +3 -3
- package/examples/component-select.md +3 -3
- package/examples/component-separator.md +1 -1
- package/examples/component-sheet.md +1 -1
- package/examples/component-sidebar.md +1 -1
- package/examples/component-skeleton.md +3 -3
- package/examples/component-slide.md +1 -1
- package/examples/component-slider.md +3 -3
- package/examples/component-snackbar-content.md +1 -1
- package/examples/component-snackbar.md +1 -1
- package/examples/component-sonner.md +1 -1
- package/examples/component-space.md +1 -1
- package/examples/component-speed-dial-action.md +1 -1
- package/examples/component-speed-dial.md +1 -1
- package/examples/component-spin.md +2 -2
- package/examples/component-spinner.md +1 -1
- package/examples/component-splitter.md +2 -2
- package/examples/component-stack.md +1 -1
- package/examples/component-statistic.md +1 -1
- package/examples/component-step-button.md +4 -4
- package/examples/component-step-connector.md +4 -4
- package/examples/component-step-content.md +1 -1
- package/examples/component-step-icon.md +1 -1
- package/examples/component-step-label.md +1 -1
- package/examples/component-step.md +2 -2
- package/examples/component-steps.md +2 -2
- package/examples/component-swipeable-drawer.md +1 -1
- package/examples/component-switch.md +3 -3
- package/examples/component-tab-scroll-button.md +5 -5
- package/examples/component-tab.md +1 -1
- package/examples/component-table-body.md +1 -1
- package/examples/component-table-cell.md +1 -1
- package/examples/component-table-container.md +1 -1
- package/examples/component-table-footer.md +1 -1
- package/examples/component-table-head.md +1 -1
- package/examples/component-table-pagination.md +1 -1
- package/examples/component-table-row.md +1 -1
- package/examples/component-table-sort-label.md +1 -1
- package/examples/component-table.md +2 -2
- package/examples/component-tabs.md +3 -3
- package/examples/component-tag-badge.md +2 -2
- package/examples/component-tag.md +1 -1
- package/examples/component-textarea-autosize.md +1 -1
- package/examples/component-textarea.md +1 -1
- package/examples/component-time-picker.md +1 -1
- package/examples/component-timeline.md +1 -1
- package/examples/component-toast.md +4 -4
- package/examples/component-toggle-button.md +1 -1
- package/examples/component-toggle.md +1 -1
- package/examples/component-toolbar.md +1 -1
- package/examples/component-tooltip.md +3 -3
- package/examples/component-tour.md +1 -1
- package/examples/component-transfer.md +1 -1
- package/examples/component-tree-select.md +1 -1
- package/examples/component-tree.md +1 -1
- package/examples/component-typography.md +2 -2
- package/examples/component-upload.md +1 -1
- package/examples/component-watermark.md +1 -1
- package/examples/component-zoom.md +1 -1
- package/knowledge/COVERAGE.md +4 -3
- package/knowledge/components/INDEX.md +202 -202
- package/knowledge/patterns/brand-references.md +72 -72
- package/package.json +1 -1
- package/tools/audit/local-ci.py +16 -1
- package/tools/audit/package-smoke.py +611 -9
- package/tools/audit/registry-smoke.py +534 -0
- package/tools/audit/release-metadata.py +47 -1
- package/tools/audit/smoke_assertions.py +915 -13
- package/tools/migrations/refs-links-to-reference-pages.py +179 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
<!-- generated: tools/extractors/reference_pages.py — do not edit by hand -->
|
|
2
|
+
|
|
3
|
+
# shadcn/ui source reference
|
|
4
|
+
|
|
5
|
+
Modern Radix-based copy-paste component model.
|
|
6
|
+
|
|
7
|
+
Generated index of `refs/shadcn-ui/` sources cited by the knowledge corpus. The local mirror is gitignored; every entry below links to the same path in the upstream repository.
|
|
8
|
+
|
|
9
|
+
- Upstream: [shadcn-ui/ui](https://github.com/shadcn-ui/ui)
|
|
10
|
+
- License: see the upstream repository's license file
|
|
11
|
+
- Local mirror: `refs/shadcn-ui/` (refresh with `./tools/extractors/run-all.sh`)
|
|
12
|
+
|
|
13
|
+
Entries: 57
|
|
14
|
+
|
|
15
|
+
## _registry
|
|
16
|
+
|
|
17
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/_registry.ts`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/_registry.ts)
|
|
18
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/_registry.ts`
|
|
19
|
+
|
|
20
|
+
## accordion
|
|
21
|
+
|
|
22
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/accordion.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/accordion.tsx)
|
|
23
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`
|
|
24
|
+
|
|
25
|
+
## alert-dialog
|
|
26
|
+
|
|
27
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/alert-dialog.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/alert-dialog.tsx)
|
|
28
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert-dialog.tsx`
|
|
29
|
+
|
|
30
|
+
## alert
|
|
31
|
+
|
|
32
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/alert.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/alert.tsx)
|
|
33
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert.tsx`
|
|
34
|
+
|
|
35
|
+
## aspect-ratio
|
|
36
|
+
|
|
37
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/aspect-ratio.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/aspect-ratio.tsx)
|
|
38
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/aspect-ratio.tsx`
|
|
39
|
+
|
|
40
|
+
## avatar
|
|
41
|
+
|
|
42
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/avatar.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/avatar.tsx)
|
|
43
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`
|
|
44
|
+
|
|
45
|
+
## badge
|
|
46
|
+
|
|
47
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/badge.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/badge.tsx)
|
|
48
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/badge.tsx`
|
|
49
|
+
|
|
50
|
+
## breadcrumb
|
|
51
|
+
|
|
52
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/breadcrumb.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx)
|
|
53
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx`
|
|
54
|
+
|
|
55
|
+
## button-group
|
|
56
|
+
|
|
57
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/button-group.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/button-group.tsx)
|
|
58
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/button-group.tsx`
|
|
59
|
+
|
|
60
|
+
## button
|
|
61
|
+
|
|
62
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/button.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/button.tsx)
|
|
63
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/button.tsx`
|
|
64
|
+
|
|
65
|
+
## calendar
|
|
66
|
+
|
|
67
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/calendar.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/calendar.tsx)
|
|
68
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/calendar.tsx`
|
|
69
|
+
|
|
70
|
+
## card
|
|
71
|
+
|
|
72
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/card.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/card.tsx)
|
|
73
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/card.tsx`
|
|
74
|
+
|
|
75
|
+
## carousel
|
|
76
|
+
|
|
77
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/carousel.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/carousel.tsx)
|
|
78
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/carousel.tsx`
|
|
79
|
+
|
|
80
|
+
## chart
|
|
81
|
+
|
|
82
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/chart.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/chart.tsx)
|
|
83
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/chart.tsx`
|
|
84
|
+
|
|
85
|
+
## checkbox
|
|
86
|
+
|
|
87
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/checkbox.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/checkbox.tsx)
|
|
88
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/checkbox.tsx`
|
|
89
|
+
|
|
90
|
+
## collapsible
|
|
91
|
+
|
|
92
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/collapsible.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/collapsible.tsx)
|
|
93
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/collapsible.tsx`
|
|
94
|
+
|
|
95
|
+
## combobox
|
|
96
|
+
|
|
97
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/combobox.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/combobox.tsx)
|
|
98
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/combobox.tsx`
|
|
99
|
+
|
|
100
|
+
## command
|
|
101
|
+
|
|
102
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/command.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/command.tsx)
|
|
103
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/command.tsx`
|
|
104
|
+
|
|
105
|
+
## context-menu
|
|
106
|
+
|
|
107
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/context-menu.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/context-menu.tsx)
|
|
108
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/context-menu.tsx`
|
|
109
|
+
|
|
110
|
+
## dialog
|
|
111
|
+
|
|
112
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/dialog.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/dialog.tsx)
|
|
113
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/dialog.tsx`
|
|
114
|
+
|
|
115
|
+
## direction
|
|
116
|
+
|
|
117
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/direction.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/direction.tsx)
|
|
118
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/direction.tsx`
|
|
119
|
+
|
|
120
|
+
## drawer
|
|
121
|
+
|
|
122
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/drawer.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/drawer.tsx)
|
|
123
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/drawer.tsx`
|
|
124
|
+
|
|
125
|
+
## dropdown-menu
|
|
126
|
+
|
|
127
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/dropdown-menu.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/dropdown-menu.tsx)
|
|
128
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/dropdown-menu.tsx`
|
|
129
|
+
|
|
130
|
+
## empty
|
|
131
|
+
|
|
132
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/empty.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/empty.tsx)
|
|
133
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/empty.tsx`
|
|
134
|
+
|
|
135
|
+
## field
|
|
136
|
+
|
|
137
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/field.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/field.tsx)
|
|
138
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/field.tsx`
|
|
139
|
+
|
|
140
|
+
## form
|
|
141
|
+
|
|
142
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/form.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/form.tsx)
|
|
143
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/form.tsx`
|
|
144
|
+
|
|
145
|
+
## hover-card
|
|
146
|
+
|
|
147
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/hover-card.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/hover-card.tsx)
|
|
148
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/hover-card.tsx`
|
|
149
|
+
|
|
150
|
+
## input-group
|
|
151
|
+
|
|
152
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/input-group.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/input-group.tsx)
|
|
153
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/input-group.tsx`
|
|
154
|
+
|
|
155
|
+
## input-otp
|
|
156
|
+
|
|
157
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/input-otp.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/input-otp.tsx)
|
|
158
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/input-otp.tsx`
|
|
159
|
+
|
|
160
|
+
## input
|
|
161
|
+
|
|
162
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/input.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/input.tsx)
|
|
163
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/input.tsx`
|
|
164
|
+
|
|
165
|
+
## item
|
|
166
|
+
|
|
167
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/item.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/item.tsx)
|
|
168
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/item.tsx`
|
|
169
|
+
|
|
170
|
+
## kbd
|
|
171
|
+
|
|
172
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/kbd.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/kbd.tsx)
|
|
173
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/kbd.tsx`
|
|
174
|
+
|
|
175
|
+
## label
|
|
176
|
+
|
|
177
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/label.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/label.tsx)
|
|
178
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/label.tsx`
|
|
179
|
+
|
|
180
|
+
## menubar
|
|
181
|
+
|
|
182
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/menubar.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/menubar.tsx)
|
|
183
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/menubar.tsx`
|
|
184
|
+
|
|
185
|
+
## native-select
|
|
186
|
+
|
|
187
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/native-select.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/native-select.tsx)
|
|
188
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/native-select.tsx`
|
|
189
|
+
|
|
190
|
+
## navigation-menu
|
|
191
|
+
|
|
192
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/navigation-menu.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/navigation-menu.tsx)
|
|
193
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/navigation-menu.tsx`
|
|
194
|
+
|
|
195
|
+
## pagination
|
|
196
|
+
|
|
197
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/pagination.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/pagination.tsx)
|
|
198
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/pagination.tsx`
|
|
199
|
+
|
|
200
|
+
## popover
|
|
201
|
+
|
|
202
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/popover.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/popover.tsx)
|
|
203
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/popover.tsx`
|
|
204
|
+
|
|
205
|
+
## progress
|
|
206
|
+
|
|
207
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/progress.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/progress.tsx)
|
|
208
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/progress.tsx`
|
|
209
|
+
|
|
210
|
+
## radio-group
|
|
211
|
+
|
|
212
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/radio-group.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/radio-group.tsx)
|
|
213
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/radio-group.tsx`
|
|
214
|
+
|
|
215
|
+
## resizable
|
|
216
|
+
|
|
217
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/resizable.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/resizable.tsx)
|
|
218
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/resizable.tsx`
|
|
219
|
+
|
|
220
|
+
## scroll-area
|
|
221
|
+
|
|
222
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/scroll-area.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/scroll-area.tsx)
|
|
223
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/scroll-area.tsx`
|
|
224
|
+
|
|
225
|
+
## select
|
|
226
|
+
|
|
227
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/select.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/select.tsx)
|
|
228
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/select.tsx`
|
|
229
|
+
|
|
230
|
+
## separator
|
|
231
|
+
|
|
232
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/separator.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/separator.tsx)
|
|
233
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/separator.tsx`
|
|
234
|
+
|
|
235
|
+
## sheet
|
|
236
|
+
|
|
237
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/sheet.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/sheet.tsx)
|
|
238
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/sheet.tsx`
|
|
239
|
+
|
|
240
|
+
## sidebar
|
|
241
|
+
|
|
242
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/sidebar.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/sidebar.tsx)
|
|
243
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/sidebar.tsx`
|
|
244
|
+
|
|
245
|
+
## skeleton
|
|
246
|
+
|
|
247
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/skeleton.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/skeleton.tsx)
|
|
248
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/skeleton.tsx`
|
|
249
|
+
|
|
250
|
+
## slider
|
|
251
|
+
|
|
252
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/slider.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/slider.tsx)
|
|
253
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/slider.tsx`
|
|
254
|
+
|
|
255
|
+
## sonner
|
|
256
|
+
|
|
257
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/sonner.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/sonner.tsx)
|
|
258
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/sonner.tsx`
|
|
259
|
+
|
|
260
|
+
## spinner
|
|
261
|
+
|
|
262
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/spinner.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/spinner.tsx)
|
|
263
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/spinner.tsx`
|
|
264
|
+
|
|
265
|
+
## switch
|
|
266
|
+
|
|
267
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/switch.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/switch.tsx)
|
|
268
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/switch.tsx`
|
|
269
|
+
|
|
270
|
+
## table
|
|
271
|
+
|
|
272
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/table.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/table.tsx)
|
|
273
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/table.tsx`
|
|
274
|
+
|
|
275
|
+
## tabs
|
|
276
|
+
|
|
277
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/tabs.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/tabs.tsx)
|
|
278
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/tabs.tsx`
|
|
279
|
+
|
|
280
|
+
## textarea
|
|
281
|
+
|
|
282
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/textarea.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/textarea.tsx)
|
|
283
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/textarea.tsx`
|
|
284
|
+
|
|
285
|
+
## toggle-group
|
|
286
|
+
|
|
287
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/toggle-group.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/toggle-group.tsx)
|
|
288
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/toggle-group.tsx`
|
|
289
|
+
|
|
290
|
+
## toggle
|
|
291
|
+
|
|
292
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/toggle.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/toggle.tsx)
|
|
293
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/toggle.tsx`
|
|
294
|
+
|
|
295
|
+
## tooltip
|
|
296
|
+
|
|
297
|
+
- Upstream: [`apps/v4/registry/new-york-v4/ui/tooltip.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/tooltip.tsx)
|
|
298
|
+
- Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/tooltip.tsx`
|
|
@@ -140,11 +140,11 @@ If the row has a divider, use `--color-border-default`; do not introduce a new h
|
|
|
140
140
|
|
|
141
141
|
## References
|
|
142
142
|
|
|
143
|
-
- MUI direct source: [`refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.d.ts`](../
|
|
144
|
-
- MUI implementation: [`refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.js`](../
|
|
145
|
-
- Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../
|
|
146
|
-
- Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../
|
|
147
|
-
- shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../
|
|
143
|
+
- MUI direct source: [`refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.d.ts`](../docs/reference/mui.md#accordion-actions)
|
|
144
|
+
- MUI implementation: [`refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.js`](../docs/reference/mui.md#accordion-actions)
|
|
145
|
+
- Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../docs/reference/mui.md#accordion)
|
|
146
|
+
- Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../docs/reference/ant-design.md#collapse)
|
|
147
|
+
- shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../docs/reference/shadcn-ui.md#accordion)
|
|
148
148
|
- Accessibility baseline: [`knowledge/a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md)
|
|
149
149
|
|
|
150
150
|
## Cross-reference
|
|
@@ -134,11 +134,11 @@ Accordion.Item
|
|
|
134
134
|
|
|
135
135
|
## References
|
|
136
136
|
|
|
137
|
-
- MUI direct source: [`refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.d.ts`](../
|
|
138
|
-
- MUI implementation: [`refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.js`](../
|
|
139
|
-
- Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../
|
|
140
|
-
- Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../
|
|
141
|
-
- shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../
|
|
137
|
+
- MUI direct source: [`refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.d.ts`](../docs/reference/mui.md#accordion-details)
|
|
138
|
+
- MUI implementation: [`refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.js`](../docs/reference/mui.md#accordion-details)
|
|
139
|
+
- Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../docs/reference/mui.md#accordion)
|
|
140
|
+
- Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../docs/reference/ant-design.md#collapse)
|
|
141
|
+
- shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../docs/reference/shadcn-ui.md#accordion)
|
|
142
142
|
- Accessibility baseline: [`knowledge/a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md)
|
|
143
143
|
|
|
144
144
|
## Cross-reference
|
|
@@ -165,11 +165,11 @@ Inherits button-like props from MUI `ButtonBase` in MUI implementations.
|
|
|
165
165
|
|
|
166
166
|
## References
|
|
167
167
|
|
|
168
|
-
- MUI direct source: [`refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts`](../
|
|
169
|
-
- MUI implementation: [`refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.js`](../
|
|
170
|
-
- Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../
|
|
171
|
-
- Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../
|
|
172
|
-
- shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../
|
|
168
|
+
- MUI direct source: [`refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts`](../docs/reference/mui.md#accordion-summary)
|
|
169
|
+
- MUI implementation: [`refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.js`](../docs/reference/mui.md#accordion-summary)
|
|
170
|
+
- Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../docs/reference/mui.md#accordion)
|
|
171
|
+
- Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../docs/reference/ant-design.md#collapse)
|
|
172
|
+
- shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../docs/reference/shadcn-ui.md#accordion)
|
|
173
173
|
- Accessibility baseline: [`knowledge/a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md)
|
|
174
174
|
- Motion baseline: [`knowledge/motion/principles.md`](../knowledge/motion/principles.md)
|
|
175
175
|
|
|
@@ -218,9 +218,9 @@ Disable height transition. Toggle is instant (no 200ms).
|
|
|
218
218
|
|
|
219
219
|
## References
|
|
220
220
|
|
|
221
|
-
- Ant Design: [`refs/ant-design/components/collapse/`](../
|
|
222
|
-
- MUI: [`refs/mui/packages/mui-material/src/Accordion/`](../
|
|
223
|
-
- shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../
|
|
221
|
+
- Ant Design: [`refs/ant-design/components/collapse/`](../docs/reference/ant-design.md#collapse) — `Collapse` + `Collapse.Panel`. `accordion` prop forces single. Has nice `expandIcon` customization.
|
|
222
|
+
- MUI: [`refs/mui/packages/mui-material/src/Accordion/`](../docs/reference/mui.md#accordion) — `Accordion`, `AccordionSummary`, `AccordionDetails`, `AccordionActions`. Solid composition.
|
|
223
|
+
- shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../docs/reference/shadcn-ui.md#accordion) — Radix Accordion primitive. Cleanest a11y. **Default for new projects.**
|
|
224
224
|
|
|
225
225
|
## Cross-reference
|
|
226
226
|
|
|
@@ -180,7 +180,7 @@ For sticky **alerts / banners**: respect `prefers-reduced-motion` and don't anim
|
|
|
180
180
|
|
|
181
181
|
## References
|
|
182
182
|
|
|
183
|
-
- Ant Design: [`refs/ant-design/components/affix/`](../
|
|
183
|
+
- Ant Design: [`refs/ant-design/components/affix/`](../docs/reference/ant-design.md#affix) — `Affix`. Wraps native sticky with React-friendly callbacks.
|
|
184
184
|
- MUI / shadcn-ui: no dedicated component. Use CSS `position: sticky`.
|
|
185
185
|
|
|
186
186
|
## Cross-reference
|
|
@@ -200,7 +200,7 @@ function DeleteProjectButton({ project }: Props) {
|
|
|
200
200
|
|
|
201
201
|
## References
|
|
202
202
|
|
|
203
|
-
- shadcn-ui: [`alert-dialog`](../
|
|
203
|
+
- shadcn-ui: [`alert-dialog`](../docs/reference/shadcn-ui.md#alert-dialog) (Radix)
|
|
204
204
|
- WAI-ARIA: [`alertdialog`](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/)
|
|
205
205
|
|
|
206
206
|
## Cross-reference
|
|
@@ -176,9 +176,9 @@ Alerts don't have hover/active themselves — only their nested actions do.
|
|
|
176
176
|
|
|
177
177
|
## References
|
|
178
178
|
|
|
179
|
-
- Ant Design: [`refs/ant-design/components/alert/`](../
|
|
180
|
-
- MUI: [`refs/mui/packages/mui-material/src/Alert/`](../
|
|
181
|
-
- shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert.tsx`](../
|
|
179
|
+
- Ant Design: [`refs/ant-design/components/alert/`](../docs/reference/ant-design.md#alert) — `Alert`, `Alert.ErrorBoundary`. Supports `closable`, `banner` variant, `showIcon`, `action`. Has a "banner" mode for full-width top banners.
|
|
180
|
+
- MUI: [`refs/mui/packages/mui-material/src/Alert/`](../docs/reference/mui.md#alert) — `Alert` + `AlertTitle`. Variants: `standard` (subtle), `filled` (solid), `outlined`. Closest to this spec.
|
|
181
|
+
- shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert.tsx`](../docs/reference/shadcn-ui.md#alert) — primitive (`Alert`, `AlertTitle`, `AlertDescription`). Composition; intent via className variant.
|
|
182
182
|
|
|
183
183
|
API choices made:
|
|
184
184
|
- **`actions` array prop** rather than children-only: 80% of alerts with actions need exactly 1–2 buttons; the prop is faster than composing.
|
|
@@ -188,7 +188,7 @@ function DocsPage({ headings }: Props) {
|
|
|
188
188
|
|
|
189
189
|
## References
|
|
190
190
|
|
|
191
|
-
- Ant Design: [`refs/ant-design/components/anchor/`](../
|
|
191
|
+
- Ant Design: [`refs/ant-design/components/anchor/`](../docs/reference/ant-design.md#anchor) — `Anchor`, `Anchor.Link`. Solid implementation.
|
|
192
192
|
- MUI / shadcn-ui: no built-in. Compose with `IntersectionObserver` + custom CSS.
|
|
193
193
|
|
|
194
194
|
## Cross-reference
|
|
@@ -239,7 +239,7 @@ For chat/conversation headers: title shows the contact's name + online status:
|
|
|
239
239
|
## References
|
|
240
240
|
|
|
241
241
|
- Ant Design: no dedicated AppBar — use `Layout.Header` + custom composition.
|
|
242
|
-
- MUI: [`refs/mui/packages/mui-material/src/AppBar/`](../
|
|
242
|
+
- MUI: [`refs/mui/packages/mui-material/src/AppBar/`](../docs/reference/mui.md#app-bar) — `AppBar` with `position`, `color`, `elevation`. Material-aligned.
|
|
243
243
|
- shadcn-ui: no built-in. Compose with custom header structure.
|
|
244
244
|
|
|
245
245
|
## Cross-reference
|
|
@@ -146,7 +146,7 @@ function ProductCard({ product }: Props) {
|
|
|
146
146
|
|
|
147
147
|
## References
|
|
148
148
|
|
|
149
|
-
- shadcn-ui: [`aspect-ratio`](../
|
|
149
|
+
- shadcn-ui: [`aspect-ratio`](../docs/reference/shadcn-ui.md#aspect-ratio) (Radix)
|
|
150
150
|
- CSS: `aspect-ratio` property (Baseline 2021)
|
|
151
151
|
|
|
152
152
|
## Cross-reference
|
|
@@ -188,8 +188,8 @@ When user selects an option: existing tag. When user types and commits: new tag.
|
|
|
188
188
|
|
|
189
189
|
## References
|
|
190
190
|
|
|
191
|
-
- Ant Design: [`refs/ant-design/components/auto-complete/`](../
|
|
192
|
-
- MUI: [`refs/mui/packages/mui-material/src/Autocomplete/`](../
|
|
191
|
+
- Ant Design: [`refs/ant-design/components/auto-complete/`](../docs/reference/ant-design.md#auto-complete) — `AutoComplete`. Built on top of Select with free-text mode.
|
|
192
|
+
- MUI: [`refs/mui/packages/mui-material/src/Autocomplete/`](../docs/reference/mui.md#autocomplete) — `Autocomplete` with `freeSolo` prop. Most comprehensive.
|
|
193
193
|
- shadcn-ui: compose `command` (cmdk) + Popover for autocomplete-like behavior.
|
|
194
194
|
|
|
195
195
|
## Cross-reference
|
|
@@ -157,11 +157,11 @@ If these avatar tokens do not exist, map them to the existing size, spacing, bor
|
|
|
157
157
|
|
|
158
158
|
## References
|
|
159
159
|
|
|
160
|
-
- MUI direct source: [`refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts`](../
|
|
161
|
-
- MUI implementation: [`refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.js`](../
|
|
162
|
-
- Ant Design parent pattern: [`refs/ant-design/components/avatar/`](../
|
|
163
|
-
- shadcn-ui avatar source: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`](../
|
|
164
|
-
- shadcn-ui group examples: [`refs/shadcn-ui/apps/v4/examples/base/avatar-group.tsx`](../
|
|
160
|
+
- MUI direct source: [`refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts`](../docs/reference/mui.md#avatar-group)
|
|
161
|
+
- MUI implementation: [`refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.js`](../docs/reference/mui.md#avatar-group)
|
|
162
|
+
- Ant Design parent pattern: [`refs/ant-design/components/avatar/`](../docs/reference/ant-design.md#avatar)
|
|
163
|
+
- shadcn-ui avatar source: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`](../docs/reference/shadcn-ui.md#avatar)
|
|
164
|
+
- shadcn-ui group examples: [`refs/shadcn-ui/apps/v4/examples/base/avatar-group.tsx`](../docs/reference/shadcn-ui.md)
|
|
165
165
|
- Accessibility baseline: [`knowledge/a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md)
|
|
166
166
|
|
|
167
167
|
## Cross-reference
|
|
@@ -181,9 +181,9 @@ Pick colors with text readable in white.
|
|
|
181
181
|
|
|
182
182
|
## References
|
|
183
183
|
|
|
184
|
-
- Ant Design: [`refs/ant-design/components/avatar/`](../
|
|
185
|
-
- MUI: [`refs/mui/packages/mui-material/src/Avatar/`](../
|
|
186
|
-
- shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`](../
|
|
184
|
+
- Ant Design: [`refs/ant-design/components/avatar/`](../docs/reference/ant-design.md#avatar) — `Avatar`, `Avatar.Group`. `shape="circle" | "square"`. Multi-size + scaling for groups.
|
|
185
|
+
- MUI: [`refs/mui/packages/mui-material/src/Avatar/`](../docs/reference/mui.md#avatar) — `Avatar` + `AvatarGroup`. Falls back to first letter of `children` text.
|
|
186
|
+
- shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`](../docs/reference/shadcn-ui.md#avatar) — Radix Avatar primitive. Composition: `Avatar`, `AvatarImage`, `AvatarFallback`.
|
|
187
187
|
|
|
188
188
|
## Cross-reference
|
|
189
189
|
|
|
@@ -114,7 +114,7 @@ window.scrollTo({ top: 0, behavior: reduced ? "auto" : "smooth" });
|
|
|
114
114
|
|
|
115
115
|
## References
|
|
116
116
|
|
|
117
|
-
- Ant: [`BackTop`](../
|
|
117
|
+
- Ant: [`BackTop`](../docs/reference/ant-design.md#back-top)
|
|
118
118
|
- Native: `window.scrollTo({ behavior: "smooth" })`
|
|
119
119
|
|
|
120
120
|
## Cross-reference
|
|
@@ -138,7 +138,7 @@ function App() {
|
|
|
138
138
|
|
|
139
139
|
## References
|
|
140
140
|
|
|
141
|
-
- MUI: [`Backdrop`](../
|
|
141
|
+
- MUI: [`Backdrop`](../docs/reference/mui.md#backdrop)
|
|
142
142
|
- Used internally by: Modal, Drawer, Sheet, AlertDialog
|
|
143
143
|
|
|
144
144
|
## Cross-reference
|
|
@@ -170,9 +170,9 @@ function ProductCard({ name, isNew, isOnSale }: Props) {
|
|
|
170
170
|
|
|
171
171
|
## References
|
|
172
172
|
|
|
173
|
-
- Ant: [`Badge`](../
|
|
174
|
-
- MUI: [`Badge`](../
|
|
175
|
-
- shadcn-ui: [`badge`](../
|
|
173
|
+
- Ant: [`Badge`](../docs/reference/ant-design.md#badge)
|
|
174
|
+
- MUI: [`Badge`](../docs/reference/mui.md#badge)
|
|
175
|
+
- shadcn-ui: [`badge`](../docs/reference/shadcn-ui.md#badge)
|
|
176
176
|
|
|
177
177
|
## Cross-reference
|
|
178
178
|
|
|
@@ -200,8 +200,8 @@ export function FeaturedModule({ title, description, action }: FeaturedModulePro
|
|
|
200
200
|
|
|
201
201
|
## References
|
|
202
202
|
|
|
203
|
-
- Ant Design: [`BorderBeam.tsx`](../
|
|
204
|
-
- MUI: [`Paper.d.ts`](../
|
|
205
|
-
- shadcn-ui: [`card.tsx`](../
|
|
203
|
+
- Ant Design: [`BorderBeam.tsx`](../docs/reference/ant-design.md#border-beam), [`BorderBeamEffect.tsx`](../docs/reference/ant-design.md#border-beam), [`border-beam/index.en-US.md`](../docs/reference/ant-design.md#border-beam), [`border-beam/style/index.ts`](../docs/reference/ant-design.md#border-beam)
|
|
204
|
+
- MUI: [`Paper.d.ts`](../docs/reference/mui.md#paper), [`Card.d.ts`](../docs/reference/mui.md#card)
|
|
205
|
+
- shadcn-ui: [`card.tsx`](../docs/reference/shadcn-ui.md#card)
|
|
206
206
|
- Knowledge: [`a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md), [`motion/principles.md`](../knowledge/motion/principles.md), [`components/INDEX.md`](../knowledge/components/INDEX.md)
|
|
207
207
|
- Cross-reference: [`component-card.md`](component-card.md), [`component-paper.md`](component-paper.md), [`component-button-base.md`](component-button-base.md)
|
|
@@ -213,7 +213,7 @@ function MobileAppShell() {
|
|
|
213
213
|
|
|
214
214
|
## References
|
|
215
215
|
|
|
216
|
-
- MUI: [`BottomNavigation`](../
|
|
216
|
+
- MUI: [`BottomNavigation`](../docs/reference/mui.md#bottom-navigation)
|
|
217
217
|
- iOS: UITabBar; Apple HIG → "Tab Bars"
|
|
218
218
|
- Material 3: NavigationBar component
|
|
219
219
|
- Patterns: Toss, KakaoBank, Instagram, Twitter
|
|
@@ -101,7 +101,7 @@ Use Box when none of the above fit. If you find yourself using Box with `display
|
|
|
101
101
|
|
|
102
102
|
## References
|
|
103
103
|
|
|
104
|
-
- MUI: [`Box`](../
|
|
104
|
+
- MUI: [`Box`](../docs/reference/mui.md#box) — system-prop pioneer
|
|
105
105
|
- Chakra UI Box (very similar API)
|
|
106
106
|
- shadcn-ui: doesn't ship Box; uses Tailwind classes directly
|
|
107
107
|
|
|
@@ -212,9 +212,9 @@ The current item is **never** a link. It's where the user is.
|
|
|
212
212
|
|
|
213
213
|
## References
|
|
214
214
|
|
|
215
|
-
- Ant Design: [`refs/ant-design/components/breadcrumb/`](../
|
|
216
|
-
- MUI: [`refs/mui/packages/mui-material/src/Breadcrumbs/`](../
|
|
217
|
-
- shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx`](../
|
|
215
|
+
- Ant Design: [`refs/ant-design/components/breadcrumb/`](../docs/reference/ant-design.md#breadcrumb) — `Breadcrumb` + `Breadcrumb.Item` + `Breadcrumb.Separator`. `itemRender` for custom rendering.
|
|
216
|
+
- MUI: [`refs/mui/packages/mui-material/src/Breadcrumbs/`](../docs/reference/mui.md#breadcrumbs) — `Breadcrumbs` (note plural) with `separator`, `maxItems`, `itemsBeforeCollapse`, `itemsAfterCollapse`. Built-in collapse logic.
|
|
217
|
+
- shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx`](../docs/reference/shadcn-ui.md#breadcrumb) — primitive: `Breadcrumb`, `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`, `BreadcrumbPage`, `BreadcrumbSeparator`, `BreadcrumbEllipsis`. Most flexible.
|
|
218
218
|
|
|
219
219
|
## Cross-reference
|
|
220
220
|
|
|
@@ -183,8 +183,8 @@ export function ToolbarButton({
|
|
|
183
183
|
|
|
184
184
|
## References
|
|
185
185
|
|
|
186
|
-
- MUI: [`ButtonBase.d.ts`](../
|
|
187
|
-
- Ant Design: [`Button.tsx`](../
|
|
188
|
-
- shadcn-ui: [`button.tsx`](../
|
|
186
|
+
- MUI: [`ButtonBase.d.ts`](../docs/reference/mui.md#button-base), [`ButtonBase.js`](../docs/reference/mui.md#button-base), [`useButtonBase.ts`](../docs/reference/mui.md#button-base)
|
|
187
|
+
- Ant Design: [`Button.tsx`](../docs/reference/ant-design.md#button), [`button/index.en-US.md`](../docs/reference/ant-design.md#button)
|
|
188
|
+
- shadcn-ui: [`button.tsx`](../docs/reference/shadcn-ui.md#button)
|
|
189
189
|
- Knowledge: [`a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md), [`layout/spacing-and-grid.md`](../knowledge/layout/spacing-and-grid.md)
|
|
190
190
|
- Cross-reference: [`component-button.md`](component-button.md), [`component-icon-button.md`](component-icon-button.md), [`component-toggle.md`](component-toggle.md)
|
|
@@ -107,8 +107,8 @@ function EditorToolbar() {
|
|
|
107
107
|
|
|
108
108
|
## References
|
|
109
109
|
|
|
110
|
-
- MUI: [`ButtonGroup`](../
|
|
111
|
-
- shadcn-ui: [`button-group`](../
|
|
110
|
+
- MUI: [`ButtonGroup`](../docs/reference/mui.md#button-group)
|
|
111
|
+
- shadcn-ui: [`button-group`](../docs/reference/shadcn-ui.md#button-group)
|
|
112
112
|
|
|
113
113
|
## Cross-reference
|
|
114
114
|
|