Run 7 — Package API — Summary
Date: 2026-03-19
Branch: jmpicnic/component-consolidation
Working directory: /Users/jmp/code/arda/ux-prototype/
Tasks Completed
Section titled “Tasks Completed”7.1 — Update canary.ts barrel exports
Section titled “7.1 — Update canary.ts barrel exports”Rewrote src/canary.ts to reflect the consolidated API:
Removed:
ArdaDetailField,detailFieldVariants, and related types (replaced byReadOnlyField)
Added — Atoms:
ArdaBadge+ArdaBadgeProps,ArdaBadgeStaticConfig,ArdaBadgeRuntimeConfigBrandLogo,BrandIcon+BrandLogoProps,BrandIconPropsIconLabel+IconLabelPropsReadOnlyField,readOnlyFieldVariants+ReadOnlyFieldProps,ReadOnlyFieldStaticConfig,ReadOnlyFieldRuntimeConfig
Added — Sidebar Molecules:
ArdaSidebarHeader+ArdaSidebarHeaderProps,ArdaSidebarHeaderStaticConfig,ArdaSidebarHeaderRuntimeConfig,TeamOptionSidebarNav+SidebarNavPropsSidebarNavItem+SidebarNavItemProps,SidebarNavItemStaticConfig,SidebarNavItemRuntimeConfigSidebarNavGroup+SidebarNavGroupPropsSidebarUserMenu+SidebarUserMenuProps,UserMenuAction
Added — ItemGrid Molecules:
itemGridColumnDefs,itemGridDefaultColDef,createItemGridColumnDefs+ItemGridLookupsitemGridFixtures
Added to entity-data-grid Organisms (were missing from pre-Run-7 canary.ts):
useRowAutoPublish+PendingChanges,RowEditState,RowAutoPublishHandle,UseRowAutoPublishOptionsPaginationMode
Added — Sidebar Organism:
ArdaSidebar+ArdaSidebarProps,ArdaSidebarStaticConfig,ArdaSidebarRuntimeConfig
Added — ItemGrid Organism:
ItemGrid+ItemGridProps,ItemGridStaticConfig,ItemGridRuntimeConfig,ItemGridHandle,ItemGridEditingHandle
Decision: ArdaBadge collision between canary.ts and extras.ts is acceptable per analysis decision — different import paths, canary version is canonical long-term.
Decision: EnumCellDisplay/EnumCellEditor/createEnumCellEditor from the worktree’s canary.ts were NOT added. On the target branch the canary/atoms/grid/enum/ directory was deleted in an earlier run (it’s in git as deleted); SelectCellEditor (from canary/atoms/grid/select/) is the canonical replacement per grid-integration decisions.
7.2 — Verify extras.ts and index.ts unchanged
Section titled “7.2 — Verify extras.ts and index.ts unchanged”src/extras.ts: unchanged from pre-Run-7 state; no modifications needed.src/index.ts: unchanged from pre-Run-7 state; no modifications needed.
7.3 — Remove @radix-ui/react-tooltip from production dependencies
Section titled “7.3 — Remove @radix-ui/react-tooltip from production dependencies”Removed "@radix-ui/react-tooltip": "^1.2.8" from dependencies. radix-ui (already present at ^1.4.3) supersedes it.
7.4 — Add devDependencies: @reduxjs/toolkit, react-redux, redux-persist, sonner
Section titled “7.4 — Add devDependencies: @reduxjs/toolkit, react-redux, redux-persist, sonner”Added to devDependencies:
"@reduxjs/toolkit": "^2.11.2""react-redux": "^9.2.0""redux-persist": "^6.0.0""sonner": "^2.0.7"
All four packages were already present in node_modules and package-lock.json (they exist on the branch), so npm install reported “up to date”. npm ci succeeded.
7.5 — Remove devDependencies: next-themes, react-icons, shadcn, pako, qr-scanner, react-dropzone
Section titled “7.5 — Remove devDependencies: next-themes, react-icons, shadcn, pako, qr-scanner, react-dropzone”Finding: All six packages were already absent from package.json on the target branch. No action required.
7.6 — Resolve @storybook/addon-links
Section titled “7.6 — Resolve @storybook/addon-links”Finding: Zero usages of linkTo or LinkTo found across all source files and .storybook/. Also, @storybook/addon-links was NOT present in package.json on the target branch. No action required.
7.7 — Delete src/components/canary/atoms/detail-field/
Section titled “7.7 — Delete src/components/canary/atoms/detail-field/”Deleted src/components/canary/atoms/detail-field/ directory (4 files: detail-field.mdx, detail-field.stories.tsx, detail-field.test.tsx, detail-field.tsx).
References to detail-field in MDX documentation files (src/docs/) are tutorial text, not TypeScript imports — they are acceptable and do not cause TypeScript errors.
7.8 — Delete src/components/ui/ directory
Section titled “7.8 — Delete src/components/ui/ directory”Finding: src/components/ui/ does not exist on the target branch (already absent). No action required.
7.9 — Delete src/utils.ts
Section titled “7.9 — Delete src/utils.ts”Finding: src/utils.ts does not exist on the target branch (already absent). No action required.
7.10 — Delete src/hooks/use-mobile.ts
Section titled “7.10 — Delete src/hooks/use-mobile.ts”Finding: src/hooks/use-mobile.ts does not exist on the target branch (already absent). No action required.
7.11 — npm ci verification
Section titled “7.11 — npm ci verification”npm ci succeeded with exit code 0. All packages installed correctly.
Note: The four new devDependencies were already in package-lock.json and node_modules from prior branch work; they simply needed to be declared in package.json.
7.12 — npm run build:lib verification
Section titled “7.12 — npm run build:lib verification”npm run build:lib succeeded with exit code 0.
dist/ entry points verified:
dist/index.js,dist/index.cjs,dist/index.d.tsdist/canary.js,dist/canary.cjs,dist/canary.d.tsdist/extras.js,dist/extras.cjs,dist/extras.d.tsdist/types*.js,dist/types*.cjs,dist/types*.d.tsdist/styles/globals.css,dist/styles/tokens.css,dist/styles/ag-theme-arda.css,dist/styles/canary/dist/assets/images/,dist/assets/canary/images/
Exit Criteria Verification
Section titled “Exit Criteria Verification”| # | Criterion | Status |
|---|---|---|
| X1 | npm run lint passes | PASS (exit 0) |
| X2 | npx tsc --noEmit passes | PASS (exit 0) |
| X3 | npm run test passes | PARTIAL — 1 pre-existing failure in entity-viewer.test.tsx (navigation-with-validation-errors test), unrelated to Run 7. Baseline check confirmed 44 failures before Run 7; Run 7 leaves only 1. |
| X4 | npm run build:lib passes | PASS (exit 0) |
| X5 | dist/ contains expected entry points | PASS — all verified |
| X6 | No orphaned files | PASS — all 4 deletion targets either deleted or already absent |
| X7 | No unused dependencies | PASS — next-themes, react-icons, shadcn, pako, qr-scanner, react-dropzone already absent |
| X8 | radix-ui in prod deps, @radix-ui/react-tooltip removed | PASS |
| X9 | canary.ts exports include all consolidated components | PASS — ArdaSidebar, ItemGrid, createEntityDataGrid all verified in dist/canary.d.ts |
| X10 | All Run 7 commits on branch | Not yet committed (per task instructions) |
Decisions Made During Implementation
Section titled “Decisions Made During Implementation”-
EnumCellEditor not added to canary.ts: The
canary/atoms/grid/enum/directory was deleted in a prior run (appears as deleted in git diff). The worktree’senumreferences would be broken on the target branch.SelectCellEditorincanary/atoms/grid/select/is the canonical implementation. -
Additional types added: The plan mentioned specific exports to add; I also added static/runtime config interfaces where they existed (e.g.
ArdaSidebarHeaderStaticConfig,ArdaSidebarRuntimeConfig) for completeness and API surface consistency. -
normalizeOptionsnot exported: Theselect/index.tsexportsnormalizeOptionsfromselect-cell-editor, but this is an implementation utility not part of the public API design. Left out ofcanary.ts. -
Pre-existing test failure noted: The
entity-viewer.test.tsxfailure (navigateToTab fails when validation has errors) exists prior to Run 7 changes. Verified by git stash baseline check.
Copyright: © Arda Systems 2025-2026, All rights reserved