Skip to content

0.11.0

Latest

Choose a tag to compare

@Luminoid Luminoid released this 26 Jul 09:33

[0.11.0] - 2026-07-26

Added

  • UIScrollView.lmk_enableKeyboardAdjustment() — One-call keyboard avoidance: the scroll view keeps the focused input visible above the keyboard, tracks keyboard frame changes, and restores its insets on hide. Safe to call multiple times; no-op on Mac Catalyst. LMKKeyboardInsetHelper remains supported where explicit start/stop control is wanted.
  • Pointer hover feedbackLMKButton and LMKNavigationBar's bar buttons (back button, left and right items) respond to the pointer on iPad and Mac Catalyst.
  • LMKFilterChipBar iconsconfigure(allTitle:filterTitles:filterIcons:style:) accepts optional leading icons, positionally matched to filterTitles. nil or missing entries render text-only chips, and the "All" chip never carries an icon. Source-compatible with the existing configure.
  • LMKPhotoBrowserViewController.showsActionButton — Opt-out for the overlay "…" action button (default true, set before presenting), for hosts whose current user has no actions to offer, such as read-only shared content. LMKSinglePhotoViewer hides the button automatically when its onAction callback is nil, and LMKPhotoGridViewController forwards a new browserShowsActionButton to the browsers it presents.
  • LMKPhotoBrowserViewController.actionButtonSystemImageName — Configurable SF Symbol for the action button (default "ellipsis", set before presenting), so a host whose sole action is destructive can read as such (e.g. "trash"). LMKSinglePhotoViewer forwards it via a new actionIconSystemName init parameter.

Changed

  • LMKPhotoPickCropCoordinator optional crop — New croppingEnabled init parameter (default true, source-compatible). Passing false skips the square-crop editor and stores the picked image as-is, for content whose full frame matters (receipts, documents).
  • LMKAnimationHelper press animation accepts any UIControlanimateButtonPressDown / animateButtonPressUp / animateButtonPress widened from UIButton to UIControl (source-compatible), so custom controls such as tiles and photo buttons can reuse the press animation. Scale, alpha, and Reduce Motion behavior unchanged.

Fixed

  • LMKBottomSheetController drag with the keyboard up — Starting a drag on a sheet held above the keyboard no longer snaps the sheet down by the keyboard's height while the keyboard stays up covering it. The drag now dismisses the keyboard first.
  • LMKBottomSheetController in embedded hosts — A sheet presented in a view smaller than the screen (child-VC embedding, form sheets, resizable Mac Catalyst windows) no longer lets tall content push its drag indicator and back button outside the hosting view, where they were visible but could not be tapped. Sheet height is now capped against the host rather than the screen.
  • LMKNavigationBar inline title with four or more right items — Bar buttons keep their 44pt touch targets instead of being squeezed below them; the inline title now shifts or truncates to make room.
  • LMKSwitch stretched by stack views — The switch holds its intrinsic size inside a stack view (UISwitch parity) instead of being stretched or squeezed, letting neighboring labels absorb the slack.
  • LMKPhotoBrowserViewController overlay noise — The date/subtitle pill is hidden when the current photo has neither a date nor a subtitle, and a single-photo browser no longer shows a "1 of 1" counter or a one-dot page control.

Infrastructure

  • 992 → 1008 tests; 119 → 120 source files.