Skip to content

Releases: danielsaidi/SwiftUIKit

3.5.0

17 Aug 15:16
Compare
Choose a tag to compare

✨ New features

  • NavigationContext is a new observable class.
  • Image+Resized is a new Image extension.

🗑 Deprecations

  • AlertProvider has been deprecated.
  • FullScreenCoverProvider has been deprecated.
  • SheetProvider has been deprecated.

3.4.0

07 Aug 14:51
Compare
Choose a tag to compare

✨ New features

  • Color+Hex has new static functions.
  • ColorPickerBar is a new color picker component.
  • EditableView is a new view protocol.
  • ListBadgeIcon now supports custom icon colors and icon gradients.
  • ListHeaderIcon is a new view.
  • ListSectionTitle has a new withInsets() init parameter.
  • ListShelfSection has a new style.
  • OptionalBinding is a new func that makes it possible to pass in optional values as a non-optional binding.
  • View has new prefers extensions.
  • ViewShadowStyle has a new .sticker style.

🗑 Deprecations

  • ImageRenderer was not available to 5.7 compilers and has been removed altogether.
  • ImageRenderer can still be found and copied from any earlier versions of SwiftUIKit.
  • MultilineTextField has been deprecated.
  • SystemColor has been deprecated.

3.3.0

12 Jun 06:46
Compare
Choose a tag to compare

This release adds new support for Codable and AppStorage.

This release also adds new list functionality and text editor styling.

From this version, the demo application has been removed. Instead of the demo application, you can use the internal previews directly.

✨ New features

  • Array has new extensions that make it possible to use with Codable and AppStorage.
  • Dictionary has new extensions that make it possible to use with Codable and AppStorage.
  • ImageRepresentable has new resizing tools.
  • ListBadgeIcon is a new view that mimics the color badge icons in System Settings.
  • ListCard is a new view that can be used to create cards for a list or grid.
  • ListDragHandle is a new view to mimic the native iOS list drag handle.
  • ListSectionTitle is a new view that mimics a grouped iOS section title.
  • ListShelfSection is a new view that can be used to create horizontally scrolling shelves in vertically scrolling lists.
  • ProcessInfo has a new static preview property.
  • TextEditorStyle lets you style a TextEditor like a TextField.
  • Image+Symbol is a new Image initializer that serves as a shorthand for .init(systemName:).
  • Image+ListBadgeIcon is a new Image modifier that can be used to convert an image to a color badged icon.

✨ Behavior changes

  • Persisted has been deprecated due to AppStorageCodable.
  • ViewShadowStyle now allows not specifying a shadow color.
  • ViewShadowStyle.badge has been redesigned to look more like a sticker.

🐛 Bug fixes

  • The undimmed presentation detents move some code to after layout to improve behavior.

🗑 Deprecations

  • UndimmedPresentationDetent is renamed to PresentationDetentReference.
  • The .presentationDetents(undimmed:largestUndimmed:selection:) modifier is deprecated and replaced by .presentationDetents(:largestUndimmed:selection:).

3.2.0

12 Feb 08:04
Compare
Choose a tag to compare

✨ New features

  • GestureButton is a new view that can be used to handle multiple gestures with a single button.
  • GestureButtonDefaults is a new class that can be used to configure the default values for the new gesture buttons.
  • LinkText is a new view that lets you combine text and tappable links without Markdown.
  • RepeatGestureTimer is a new class that can be used to trigger a repeating action.
  • ScrollViewGestureButton is a variant of GestureButton that works within a scroll view.
  • SwipeGestureViewModifier is a new view modifier that exposes the View+onSwipeGesture extension to DocC.
  • UndimmedPresentationDetentsViewModifier is a new view modifier that exposes the View+presentationDetents extension to DocC.

💡 Behavior changes

  • ImageRenderer now renders with correct scale - thanks alfredcc for this!

🗑 Deprecations

3.1.0

01 Nov 23:14
Compare
Choose a tag to compare

✨ New features

  • FormTextField is now available in iOS 13 as well.
  • LinearProgressBar is a new, style-based progress view.
  • ListSelectItem now supports providing a custom select indicator view.
  • ScrollViewHeader is a new header view with stretch and parallax support.
  • SwiftPreviewInspector and StandardSwiftPreviewInspector are new types for detecting SwiftUI preview mode.
  • UndimmedPresentationDetent is a new enum that is used to define undimmed detents with View+PresentationDetents.
  • View+PresentationDetents now supports specifying a largestUndimmed presentation detent.

💡 Behavior changes

  • FormActionButton now uses true as default value for the dimmed modifier.
  • FormActionButtonStyle now lets you style more parts of the form action button.
  • FormText no longers forces lowercase to its title.
  • SearchBar no longer adds a divider below the text field.
  • TextFieldClearButton now animates in the clear button.

🐛 Bug fixes

  • CircularProgressBar is no longer greedy and only allocates the space it needs.

🗑 Deprecations

  • The entire CollectionView namespace has been deprecated, since it's no longer needed on tvOS.

💥 Breaking Changes

  • CircularProgressBarStyle has been renamed to CircularProgressBar.Style.
  • ErrorAlertConvertible has a new errorButtonText property to avoid the hard-coded "OK".
  • ScanCodeGenerator has a cleaner function name for generating a scan code.

3.0.0

10 Oct 21:02
Compare
Choose a tag to compare

This major version removes all previously deprecated logic to make the library tighter and cleaner.

If you need any parts of the library that have now been removed, just grab them from the previous 2.9 versions.

✨ New features

  • The disableDynamicType view extension now accepts a size category.
  • The ListSelectItem now accepts a customizable checkmark icon.

💥 Breaking Changes

  • The Documents namespace has been removed without being previously deprecated.
  • The .safeAreaInsets environment value has been removed without being previously deprecated.
  • The Views/DetailPanel namespace has been removed without being previously deprecated.
  • The UIViewWrapper view has been removed without being previously deprecated.

2.9.3

04 Oct 07:15
Compare
Choose a tag to compare

This version removes the MockingKit dependency.

2.9.2

03 Oct 14:39
Compare
Choose a tag to compare

This version makes ocmpiling for macOS work in Xcode 14.

The version also deprecates more things, such as the list items. The list views are deprecated since later SwiftUI versions makes great use of the Label view to render things natively. The list views just adds extra complexity with little gains.

One thing that the list views did well, though, was to make the entire list items tappable, where native labels only take up as much space as they need, even in lists. To address this, there is a new button style called ListButtonStyle, which you can apply to an entire list to make all buttons behave the same way.

✨ New features

  • ListButtonStyle makes the button span across the entire width and applies a rectangular content shape.

💡 Behavior changes

  • List items will render differently, without the padding.

🐛 Bug fixes

  • This version fixes compile errors on macOS by temporarily only making some types available for iOS.

🗑 Deprecations

  • ListButton has been deprecated.
  • ListDisclosureIndicator has been deprecated.
  • ListHeader has been deprecated.
  • ListItem has been deprecated.
  • ListNavigationButton has been renamed to NavigationButton.
  • ListNavigationLink has been deprecated.
  • ListText has been deprecated.
  • ListTextContent has been deprecated.
  • ListToggle has been deprecated.

2.9.1

04 Sep 09:41
Compare
Choose a tag to compare

This version adjusts the undimmed presentation detents view extension, that has stopped working in later Xcode 14 betas.

The fix makes sure to always inject a .large detents into the provided set. This is hopefully temporary.

2.8.0

23 Jul 04:03
Compare
Choose a tag to compare

This version adds a the possibility to present custom sized, undimmed sheets in SwiftUI.

This version also adds a backported version of the native SwiftUI 4 ImageRenderer. The backported version is only available in iOS 15 and before. In iOS 16 and later, you'll get the native one.

✨ New features

  • Font+FontRepresentable adds new ways to create SwiftUI fonts with platform-agnostic ones.
  • ImageRepresentable+Size adds resizing to macOS, tvOS and watchOS as well.
  • ImageRenderer is a new type that replaces the old View+Snapshot extension and serves as a bridge between iOs 16 and earlier versions.
  • ImageRenderer+Image extends the SwiftUI 4 renderer with a platform-agnostic image property.
  • ImageRenderer+Scale extends the SwiftUI 4 renderer with new scale initializers.
  • View+PresentationDetents adds new presentationDetents(undimmed:) view modifiers.

🗑 Deprecations

  • Image+Snapshot has been replaced by the new ImageRenderer.