# @codeatlasdev/ui 0.5.0: @codeatlasdev/ui 0.5.0 Page: https://ui.codeatlas.com.br/changelog/0.5.0/. Index: https://ui.codeatlas.com.br/llms/changelog.txt. 0 changesets. 0 changes. This release has no written post; the list below is generated from the changelog. ## In short ## Upgrade ```bash bun add @codeatlasdev/ui@0.5.0 ``` Across majors: `bunx @codeatlasdev/ui migrate --from --to `, or the MCP tool `get_migration`. ## Changesets ### Minor Changes - AppShell (mobile): one compact sticky header. New `mobileHeaderActions` snippet on `AppShellLayout` renders at the header's trailing edge (switchers, account menu), so apps no longer need a second bar under the header. The header pads for `env(safe-area-inset-top)`; `BottomNav` extends its background through `env(safe-area-inset-bottom)` over an opaque base (no dark band above Safari's toolbar), uses equal shrinkable columns with ellipsised 10px labels so five items fit at 320px, and has 44px touch targets. Apps must set `viewport-fit=cover` in their viewport meta for the insets to apply. Theme: new `--ca-brand-fill` / `--ca-brand-fill-hover` tokens in every static theme and in generated brand presets. `--ca-brand-contrast` text on `--ca-brand-fill` is at least WCAG AA (4.5:1): white is preferred, the fill is darkened (hue and chroma kept) when needed, and ink text is used only for very light brands. `generatePreset` now picks the text colour by real contrast instead of an L threshold; Button/IconButton filled, Badge brand, active Tabs, Pagination, Checkbox, Stepper and the nav badge now use the fill tokens. Disabled filled Button keeps the AA pair at 0.6 opacity. New `Lightbox` component: full-screen image viewer (`bind:open`, `src`, `alt`, `onclose`) with focus trap/restore, Escape, backdrop and close-button dismissal, safe-area insets and reduced-motion support.