← All Releases

2.10.0

October 1, 2026

Add profile and CDN tools, reusable profile blocks, and stronger component typing

Summary

  • Add Avatar, profile and CDN composables, and installable blocks for displaying and editing profiles.
  • Improve component model typing, native attribute support, and Calendar and DatePicker bindings.
  • Keep open Tooltips positioned correctly as their content changes size.

Added

  • Add Avatar with image, initials, empty, and size-adapting skeleton states. It supports five sizes, a customizable #empty slot, and CSS variables.
  • Add useAccCdn to upload public or private files and request temporary URLs for private files. The default namespace is default here and in the backend. A namespace selects another backend-supported CDN configuration; it is not a folder. Configure additional namespaces in levarneAcc.cdn.namespace, and ensure the backend accepts and routes them. Include default in the configured list if the app also calls useAccCdn() without a namespace.
  • Add useProfile to read and update the signed-in user's profile or a profile the user is authorized to manage. Profiles with an avatar key include a resolved private avatarUrl.
  • Add the ProfileAvatar block to show a profile image or initials and optionally select or remove an image.
  • Add the ProfileForm block to edit profile names and save a private profile image. Email remains display-only.
  • Add the Radio #icon slot, which exposes whether the option is checked.

Changed

  • Make component TypeScript contracts stricter and more precise than in 2.9.0. Generic value typing in Input, Radio, Tabs, SegmentedControl, Dropdown, and Dropzone improves inference; option values retain their literal types, and Dropdown/Dropzone model types follow single or multiple selection.
  • Export RangeValue for calendar and date-picker ranges with optional endpoints. The Calendar wrapper exposes named models for selected dates, months, and years, plus currentMonth and currentYear; DatePicker adds a name prop for its input.
  • Change the disabled checked Checkbox to use the primary disabled color.

Fixed

  • Reposition open Tooltips when their content resizes so they stay centered over the trigger.

Breaking Changes

  • Checkbox and Toggle models are now boolean and default to false; they no longer use undefined for the unchecked state. Consumers using undefined as a meaningful state should migrate to false or manage that separate state outside the component.