makepod.dev / shipped

What we shipped on 2026-09-17

Shipped 29 items (25 code, 3 docs, 1 release).

Code

  • feat(ui): normalize radius and spacing strays to design tokensAdopt corner-radius tokens in the components that still hardcoded raw
  • test(ui): cover HoldMenu travel, height and origin math
  • test(ui): extract and unit-test ToggleGroup divider logic
  • test(ui): extract and unit-test MorphingSwitcher pane geometry
  • test(ui): extract and unit-test MultiStepMenu path logicExtract resolveSection (the section-tree walk) and computeDirection
  • test(ui): extract and unit-test HoverMenu panel geometryHoverMenu is the worst-scoring untested hotspot. Pull computePanelLayout
  • feat(ui): guard uncancelled infinite withRepeat loopsAn infinite withRepeat (repeat count -1) on a shared value outlives its
  • fix(ui): colour outline buttons and stateful icons from the foreground tokenOutline variant border: border-border - border-foreground (white on dark,
  • feat(ui): guard the hairline border conventionAdds check-hairline.mjs, failing on any raw borderWidth style prop or
  • feat(ui): drop the blanket shadow exemption in the color guardThe guard no longer exempts every shadowColor/boxShadow line, so raw shadow
  • feat(ui): parity-check non-colour tokens across light/darkWidens check-token-parity to flag any --shadow- /--surface- (or other
  • fix(ui): use the hairline utility for the picker thumb ringThe picker thumb spelled its 2px white ring as a raw borderWidth: 2 instead
  • feat(ui): keyboard nav for Tabs and Radio with focus-visible ringAdds arrow-key roving (focus + selection) to Tabs (Left/Right) and Radio
  • feat(ui): add keyboard selection to CommandPalette on webArrowUp/Down/Home/End rove the active highlight and Enter commits it, so
  • feat(ui): lift undersized controls to the 44px touch targetAdd MIN TOUCH TARGET (44px, WCAG 2.5.5) and a hitSlopFor helper in
  • fix(ui): resolve reduced-motion before first paint on webAccessibilityInfo.isReduceMotionEnabled() is async and resolves after
  • fix(ui): make HoldItem trigger role opt-in to avoid nested buttonsThe previous commit made HoldItem unconditionally role="button" when it
  • feat(ui): announce HoldItem/Tabs/Toaster semantics to screen readersHoldItem trigger is now a button (accessibilityRole) with
  • fix(ui): migrate stale hairline constants from 2.5px to 2pxThe hairline utility settled at 2px in 7f7bc3af but the JS constants
  • refactor(ui): extract Input inputType semantics into unit-tested logicMove the inputType → native-prop mapping and the field-state resolution out
  • feat(ui): add glass mode to InputInput gains the same frosted-glass surface props Card and Surface expose
  • feat(ui): simplify the elevation system to three levels plus flatCollapse the surface elevation ladder from eight levels to three, keeping
  • chore(ui): mark Table story status colours as theme-exemptThe active/invited/suspended badge tints are fixed semantic colours that don't map to theme tokens.
  • refactor(ui): extract FileSystem column hit-test math for unit testsMove the column pane geometry and row-mapping arithmetic out of file-system-column.tsx into a pure logic/file-system-column module so the drag hit-test and marquee row-mapping are covered by unit tests rather than only the story play.
  • refactor(ui): remove dead code and vestigial exportsDelete four genuinely-dead symbols (TYPOGRAPHY, getOverlayDepth, useFileIconColor, ROUNDED INTERACTIVE) and un-export 18 module-private constants now used only in their own file.
  • Docs

  • docs: supersede the improvement plan and refresh the repowise indexThe plan now spans UX/accessibility and UI/design-token consistency in
  • chore: auto-sync README
  • docs: add rn-motion-ui improvement plan
  • Release

  • rn-motion-ui@7.9.0eff78b9: Simplify the elevation system to three levels plus flat
  • CodeDocsRelease