Skip to content

Releases: orchetect/MacControlCenterUI

2.7.1

26 Dec 04:05

Choose a tag to compare

Added

  • MenuCommand: Added style, height and spacing init parameters
  • MenuCommand: Added action proxy parameter to label closure (to allow calling the action body within the label)
  • MenuCommandStyle: Added plain case
  • MenuItemSize: Added auto(verticalPadding:) case
  • MenuItemSize: Added verticalPadding parameter to custom case

Changed

  • MenuCommand: Reordered parameters for init with label closure to be consistent with similar SwiftUI views

Deprecated

  • MenuCommand: Deprecated menuCommandStyle() view modifier in favor of init style parameter.

2.7.0

21 Dec 07:54
7a6ef24

Choose a tag to compare

Added

  • Added static constructors for existing concrete MenuSliderImage types
  • Added new EmptySliderImage slider image type (.empty)
  • Added new MinMaxSliderImage slider image type (.minMax(min:max:) and .minMax(minSystemName:maxSystemName:))
  • Added new macControlCenterMenuResize animation constant
  • MenuSection: Added content builder to initializers so sections can be treated as encapsulated views with their own geometry
  • MenuSectionText: Added init overloads for LocalizedStringKey and LocalizedStringResource
  • MenuScrollView: Added disableScrollIfFullContentIsVisible parameter to initializer

Fixes

  • MenuHeader: Fixed ambiguous label-only inits

Improvements

  • Support for macOS 26 (#12)
    • Refined menu window resize animation behavior (#13)
    • MenuSlider: Now adopts macOS 26 menu slider style when running on that platform
  • MacControlCenterMenu now gains a width parameter, defaulting to standard system menu width for the current platform
  • MacControlCenterMenu now automatically limits its height to available screen height and enables menu scrolling if the menu content exceeds the available screen height
  • MenuHeader: Now sizes itself as wide as possible instead of sizing only to text width when using a label-only init
  • MenuDisclosureGroup: Toggling disclosure triangle now animates contents appearing and disappearing, mimicking macOS menu behavior
  • MenuSlider: Refactored for more consistent image handling

Changes

  • MenuSliderImage protocol has been restructured to be more intuitive
  • MenuCircleButton: Changed order of parameters in initializers that contain a label closure to be more consistent with standard SwiftUI views

Maintenance

  • Updated demo project

2.6.0

17 Nov 06:15

Choose a tag to compare

Added

  • HighlightingMenuDisclosureGroup: Added isHighlighted binding

2.5.0

16 Nov 04:02

Choose a tag to compare

Added

  • Added LocalizedStringResource overloads to view initializers that accept String and LocalizedStringKey

Maintenance

  • Added missing Equatable, Hashable, Sendable conformances to types where appropriate

2.4.2

15 Sep 21:01

Choose a tag to compare

Maintenance

  • Bumped MenuBarExtraAccess to 1.2.2 which adds compatibility for macOS 26

2.4.1

24 Feb 21:25

Choose a tag to compare

Fixes

  • Fixed bug where hovering and/or holding the mouse down on menu items that then became disabled would cause the highlight to stick

2.4.0

17 Jan 00:58

Choose a tag to compare

Fixes

  • MenuSection: Now applies text formatting to init with label closure parameter consistent with other inits
  • MenuDisclosureSection: Now applies text formatting to inits with label closure parameter consistent with other inits

Changes

  • MenuDisclosureSection: Reordered parameters for inits that take label closure parameter to be more consistent with SwiftUI API

2.3.3

04 Jan 01:39

Choose a tag to compare

Improvements

  • MenuCommand: When using a window-based MenuBarExtra, the menu window now closes before invoking the command action to prevent menu from being stuck on-screen during a long-running action block
  • MenuCommand: Enabled blink effect after clicking menu command, to match macOS Control Center menu UI behavior

2.3.2

24 Dec 00:52

Choose a tag to compare

Fixed

  • MenuCircleButton: Removed unused init(_ title: StringProtocol) parameter label

2.3.1

13 Dec 20:07

Choose a tag to compare

  • Updated for Xcode 16.2 / macOS 15.2 SDK compatibility when using Swift 6 strict concurrency