Skip to content

Releases: nukleas/corpo

v0.4.0

Choose a tag to compare

@nukleas nukleas released this 14 Oct 03:33

Breaking changes

  • DropdownItem is replaced by MenuItem, and Dropdown's trigger must be a single element (#34).
  • Combobox ariaLabel is now aria-label, and options are no longer buttons (#36).
  • Menu close handlers take a reason (select / escape / tab) instead of a boolean, and MenuItem is a union type (#37).
  • DataTable grid tables are a single tab stop, so links and buttons inside cells leave the Tab order (#40).
  • DataTable summary receives top-level rows only (this only matters for tree rows) (#41).
  • Spreadsheet is rebuilt on DataTable's grid. It edits in place and commits on Enter, Tab or blur. Spreadsheet.Cell / SpreadsheetCell and element shorthand are removed, the thin corpo/react Spreadsheet is removed, and the cp-spreadsheet__input / __value / __cell classes are gone (#53).
  • @tanstack/react-virtual is a new runtime dependency of @nukleas/react-corpo (#54).

New components

Section, ContextMenu, Menubar, OtpInput, HoverCard, ResizablePanels, MultiSelect, NavigationMenu, BottomNav, FilterBar, Gauge, ActivityGrid, ActivityLog, AttachmentList, Approvals, SplitView, NotificationInbox, Item / ItemGroup and FeedItem / Feed.

Upgrades

  • Tabs: panels and the WAI-ARIA keyboard model.
  • Combobox: keyboard support, async lookup and create-new.
  • Menus: submenus, checkbox items and radio items.
  • DataTable grid mode:
    • the full keyboard model
    • tree rows
    • range selection and TSV copy
    • column resizing
    • in-place editing and row numbers
    • row virtualization
  • TrialBalance: account trees.

What's Changed

  • Add CpRelGraph — canvas relationship graph engine (Layer 1) by @nukleas in #22
  • Fix build.ts path resolution on Windows by @ReaperTheRooster in #24
  • Add accounting component family + DataTable by @nukleas in #25
  • Add graph layouts to CpRelGraph — force, radial, tiers (Layer 2) by @nukleas in #23
  • Add dense grid mode to Table and DataTable (data grid Layer 1) by @nukleas in #26
  • Add big-graph navigation to CpRelGraph (Layer 3) by @nukleas in #27
  • Add quality gates: contract check, stylelint, a11y lint, story tests with axe, Prettier by @nukleas in #28
  • DataTable totals row and bulk action bar (ERP layer 1) by @nukleas in #29
  • NumberInput and DateRangePicker (ERP layer 2) by @nukleas in #30
  • LineItems document line editor (ERP layer 3) by @nukleas in #31
  • RecordPage, FormGrid/FormSection, and the sales-order example (ERP layer 4) by @nukleas in #32
  • Tabs with panels and keyboard model; add Section by @nukleas in #33
  • Menu keyboard model; add ContextMenu and Menubar by @nukleas in #34
  • Add OtpInput, HoverCard, and ResizablePanels by @nukleas in #35
  • Combobox keyboard model, entity lookup, and MultiSelect by @nukleas in #36
  • Menu submenus and checkable items; add NavigationMenu and BottomNav by @nukleas in #37
  • Add FilterBar with saved views by @nukleas in #38
  • Add Gauge and ActivityGrid by @nukleas in #39
  • Keyboard navigation for DataTable grid mode by @nukleas in #40
  • Tree rows for DataTable (treegrid) by @nukleas in #41
  • Spacing fixes across new components by @nukleas in #42
  • Add ActivityLog by @nukleas in #43
  • Add AttachmentList by @nukleas in #44
  • Add Approvals and a lifecycle path on records by @nukleas in #45
  • Add SplitView (master–detail) by @nukleas in #46
  • Add NotificationInbox by @nukleas in #47
  • Follow-ups: ActivityGrid table view, tree selection, tree filter count by @nukleas in #48
  • Add Item and FeedItem by @nukleas in #49
  • TrialBalance account tree by @nukleas in #50
  • Grid range selection and copy as TSV by @nukleas in #51
  • Column resizing for DataTable by @nukleas in #52
  • Spreadsheet on the grid; in-place editing for DataTable by @nukleas in #53
  • Row virtualization for DataTable by @nukleas in #54

New Contributors

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@nukleas nukleas released this 29 Aug 19:02

Breaking changes

  • grey → gray across the token API. Every --corpo-grey-* custom property is now --corpo-gray-*, and the TypeScript palette exports gray50–gray900. Find-and-replace corpo-grey → corpo-gray in consuming code.
  • Unused tokens removed: --corpo-ring, --corpo-orange, --corpo-accent-secondary / --corpo-accent-secondary-subtle (all themes), --corpo-space-1…--corpo-space-8, --corpo-leading-tight, and raw gray steps 50/600/700/800 (use the semantic aliases --corpo-bg, --corpo-text-muted, --corpo-text-secondary instead).
  • Producer-less CSS states removed: .cp-command__item--active, .cp-combobox__option--active, .cp-spreadsheet__cell--selected.
  • Tailwind v4 export re-namespaced (@nukleas/corpo/tailwind): spacing, radius, shadow, type-scale, leading, tracking, and ease tokens now live in their proper Tailwind namespaces (--spacing-corpo-*, --radius-corpo*, --shadow-corpo-*, --text-corpo-*, …) instead of all being exposed as --color-corpo-*. Utilities like p-corpo-4, rounded-corpo, and shadow-corpo-md now work; the accidental bg-corpo-space-4-style utilities are gone. Duration tokens are no longer in the @theme block (Tailwind v4 has no duration namespace) — use duration-[var(--corpo-dur)].

What's Changed

  • Docs site: AppShell-based multi-page docs by @nukleas in #17
  • Adopt anti-slop Oxlint plugin; resolve all 53 findings by @nukleas in #18
  • DependencyGraph: fit small hosts instead of spilling by @nukleas in #19
  • Americanize token API, prune dead code, fix Tailwind namespaces by @nukleas in #20
  • Reset versions to 0.2.0 — the publish workflow owns the bump by @nukleas in #21

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@nukleas nukleas released this 21 Aug 20:07

What's Changed

  • Operations components: dependency graph, profile card, license assignment panel by @nukleas in #3
  • Spreadsheet: per-cell shorthand model (supersedes whole-grid readOnly) by @nukleas in #4
  • Demo copy: Americanize currency and locale details by @nukleas in #5
  • Table: cell shorthand via Table.Cell by @nukleas in #6
  • Button + Breadcrumb: as-prop element polymorphism by @nukleas in #7
  • Pagination: link mode via as + linkProps(page) by @nukleas in #8
  • Charts: CpLineChart, CpBarChart, CpSparkline (corpo/charts) by @nukleas in #9
  • Corporate essentials: DescriptionList, Timeline, Stepper by @nukleas in #10
  • App shell: Shell + SideNav + Topbar by @nukleas in #11
  • Dropzone + TreeView by @nukleas in #12
  • Charts: DonutChart + stacked BarChart (composition forms) by @nukleas in #13
  • Examples: Billing workspace + Program delivery console by @nukleas in #14
  • Examples: IT admin console by @nukleas in #15
  • Responsiveness pass: topbar wrap, chart x-label thinning, toggle wrap by @nukleas in #16

Full Changelog: v0.1.1...v0.2.0