Commit 4c2a465
docs(components): record why the eight small Shadcn divergences exist, and split --check into documented vs undocumented (#3054)
Triaged the eight components diverging from upstream by 1–2 lines, on the
theory that small divergences would be stale cruft worth dropping to widen
the safe-to-sync set. That theory was wrong. **All eight are load-bearing;
none can be synced away.**
Six are the Tailwind v4 arbitrary-value migration (`popover`, `tooltip`,
`hover-card`, `menubar`, `dropdown-menu`, `context-menu`). Upstream still
ships v3's `origin-[--radix-…]`, which on Tailwind 4.x compiles to a bare
`transform-origin: --radix-…` instead of `var(--radix-…)` — invalid CSS
that browsers drop, leaving the open/close animation scaling from the
default origin rather than the one Radix computes. Verified by compiling
both forms against the installed tailwindcss 4.3.3: the paren form emits
`var()`, the bracket form does not. Applied repo-wide in 925051d, with
zero v3-form occurrences left.
`form` adds `Record<\`data-${string}\`, string | undefined>` to FormItem so
callers can attach a stable `data-testid` to the field wrapper — the
ADR-0054 testability contract again, same family as `command`'s
`contentProps`. `sonner` re-exports `toast` so consumers take it from
@object-ui/components rather than depending on `sonner` directly;
plugin-form and plugin-kanban import it that way.
So the deliverable inverts. Nothing gets synced; instead each reason is
recorded in a new `localEdits` field on the manifest entry, and the script
surfaces it — printed in full when `--update` refuses, and reduced to a
`[documented]` / `[UNDOCUMENTED]` marker in `--check`, which now splits the
Modified bucket:
documented (8): context-menu, dropdown-menu, form, hover-card,
menubar, popover, sonner, tooltip
UNDOCUMENTED (9): badge, calendar, chart, command, select, sheet,
sidebar, slider, table
That split is the point. Divergence with a recorded reason is a decision;
divergence without one is an open question, and until someone writes it
down there is no way to tell a deliberate fix from stale drift — which is
exactly the ambiguity that let `resizable` rot for a major version.
Manifest only; no component source changes.
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>1 parent 19e9fa0 commit 4c2a465
2 files changed
Lines changed: 40 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
| 131 | + | |
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
| |||
148 | 149 | | |
149 | 150 | | |
150 | 151 | | |
151 | | - | |
| 152 | + | |
| 153 | + | |
152 | 154 | | |
153 | 155 | | |
154 | 156 | | |
| |||
160 | 162 | | |
161 | 163 | | |
162 | 164 | | |
163 | | - | |
| 165 | + | |
| 166 | + | |
164 | 167 | | |
165 | 168 | | |
166 | 169 | | |
167 | 170 | | |
168 | 171 | | |
169 | 172 | | |
170 | | - | |
| 173 | + | |
| 174 | + | |
171 | 175 | | |
172 | 176 | | |
173 | 177 | | |
| |||
193 | 197 | | |
194 | 198 | | |
195 | 199 | | |
196 | | - | |
| 200 | + | |
| 201 | + | |
197 | 202 | | |
198 | 203 | | |
199 | 204 | | |
| |||
214 | 219 | | |
215 | 220 | | |
216 | 221 | | |
217 | | - | |
| 222 | + | |
| 223 | + | |
218 | 224 | | |
219 | 225 | | |
220 | 226 | | |
| |||
289 | 295 | | |
290 | 296 | | |
291 | 297 | | |
292 | | - | |
| 298 | + | |
| 299 | + | |
293 | 300 | | |
294 | 301 | | |
295 | 302 | | |
| |||
341 | 348 | | |
342 | 349 | | |
343 | 350 | | |
344 | | - | |
| 351 | + | |
| 352 | + | |
345 | 353 | | |
346 | 354 | | |
347 | 355 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
260 | 264 | | |
261 | 265 | | |
262 | 266 | | |
| |||
272 | 276 | | |
273 | 277 | | |
274 | 278 | | |
| 279 | + | |
275 | 280 | | |
276 | 281 | | |
277 | 282 | | |
| |||
349 | 354 | | |
350 | 355 | | |
351 | 356 | | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
352 | 360 | | |
353 | | - | |
354 | | - | |
355 | | - | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
356 | 371 | | |
357 | 372 | | |
358 | 373 | | |
| |||
429 | 444 | | |
430 | 445 | | |
431 | 446 | | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
432 | 453 | | |
433 | 454 | | |
434 | 455 | | |
| |||
0 commit comments