Swiftpack.co - Swift Packages by danielsaidi

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

Packages published by danielsaidi

danielsaidi/Sheeeeeeeeet 3.2.3
Sheeeeeeeeet is a Swift library for creating menus, custom action sheets, context menus etc.
⭐️ 1,617
🕓 21 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
21 weeks ago
* This version adds some adjustments and bug fixes from the community. * `ActionSheetItemCell` removes an old fix for separator lines on iOS 10.
1 year ago
This version fixes a bug that caused sheets to get initial empty frames.
2 years ago
### 🐛 Bug Fixes This version fixes a bug that could cause multiple dismissals when in popover.
2 years ago
This version makes it possible to build Sheeeeeeeeet from Xcode 13. It does so by removing `UIApplication.shared` dependencies and instead use the view controller. These changes required the removal of some deprecated `Menu` logic. ### 💡 Behavior changes * The `ActionSheet` init presenter is now optional instead of the default one. ### 💥 Breaking changes * Some deprecated `Menu` logic had to be removed. * The `ActionSheet` `presenter` is now optional and is resolved when presenting instead of when creating the sheet.
2 years ago
This version temporarily downgrades the Quick dependency to 3.0 to make Sheeeeeeeeet work with packages that haven't upgraded.
2 years ago
This version updates external dependencies.
2 years ago
This version fixes a bug that caused regular items to not apply right to left text alignment if the device locale requested it. * `ActionSheetItemCell` now uses `.natural` instead of `.left` by default. * The standard appearance doesn't apply `.left` to the base cell or section titles.
3 years ago
This version prepares the library for Xcode 11.4 and Swift 5.2 and upgrades external dependencies.
3 years ago
Thanks to @BinaryDennis, this version adds support for auto dismissing context menus and action sheets when an app is sent to the background. ### New stuff: * `ActionSheet` has a new `ActionSheet.Configuration` that replaces `Menu.Configuration`. You specify it when you create an action sheet. * There is a new `ActionSheetPresenterBase` base class that you can use when creating custom presenters. * `ActionSheetStandardPresenter` and `ActionSheetPopoverPresenter` inherits `ActionSheetPresenterBase`. * `ActionSheetPopoverPresenter` has moved its popover delegate logic to another class and no longer inherits `NSObject`. * There is a new `DestructiveItem` type that makes it possible to have destructive options in a menu, not just destructive buttons. * `DestructiveItem` is automatically styled by the `ActionSheetAppearance` base class. * `DestructiveItem` is automatically annotated when it's converted to a context menu item. ### Deprecations: * `Menu.Configuration` is deprecated and have no affect anymore. * `Menu.presentAsActionSheet` is deprecated. Use `toActionSheet` instead, then present it. * `ActionSheet.HeaderViewConfiguration` is renamed to `ActionSheet.HeaderConfiguration` * `ActionSheet.headerViewConfiguration` is renamed to `ActionSheet.headerConfiguration` * `ActionSheetDangerItemCell` is renamed to `ActionSheetDestructiveItemCell` ### Breaking changes: I tried but couldn't avoiding breaking changes, since some protocols had to change. Hopefully, you can easily work around these changes: * `ActionSheetPresenter` no longer has an `isDismissable` property. Instead, use a `.nonDismissable` configuration when creating an action sheet. * `ActionSheetPresenter` convenience presenters are now part of `ActionSheetPresenterBase` no longer `open` for extension.
4 years ago
This version adjusts the secondary action signature to also provide the affected item. It's a breaking change, but a small one, so deal with it I guess ¯\\\_(ツ)\_/¯ This version also makes the `ActionSheetItemHandler` protocol implementations `open` so they're possible to override.
iOS
danielsaidi/SwiftUIKit 4.0.1
SwiftUIKit contains additional functionality for SwiftUI.
⭐️ 1,145
🕓 5 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5 days ago
This patch fixes the default `FormInlineButtonStyle` background in dark mode. ### ✨ New features * `Color` has a new `standardRowBackground` function.
6 days ago
This major version bumps the deployment targets to iOS 15, tvOS 15, watchOS 8, and macOS 12. This lets us remove a lot of code for older OS versions. This version also adds everything from `SwiftKit`, which is discontinued. I don't want to manage or add two libraries, so merging them seems valid. This version removes protocols where not needed. This means that it will no longer have a protocol and a standard implementation if not needed. ### ✨ New features * `Bundle+Information` is a new extension with bundle-specific information. * `BundleFileFinder` is a new file service that can search for files in a bundle. * `Collections` is a new namespace with collection-related utilities and extensions. * `Commands` is a new namespace with `macOS` commands. * `CsvParser` is a new class that can be used to parse CSV files and strings. * `Date` is a new namespace with date-related extensions and utilities. * `DeviceIdentifier` is a new class for generating unique device IDs. * `iCloudDocumentSync` is a new class that can sync iCloud document changes. * `Keychain` is a new namespace with keychain-related utilities and services. * `ListAction` is a new enum with quick list action types. * `MimeType` is a new type that defines various MIME types. * `Pasteboard` is a multi-platform pasteboard typealias. * `String` is a new namespace with string-related utilities and extensions. * `URL+iCloud` adds new iCloud-specific URLs. * `ValidationRegex` is a struct that defines various regex-based validation expressions. ### 🐛 Bug fixes * `View` `disableDynamicType` now applies the provided size category instead of always `.medium`. ### 💥 Breaking Changes All previously deprecated code has been removed. * `ActionToggle` has been removed - just use `onChange(of:)` to observe the toggle state instead. * `DismissableView` now uses `DismissAction` instead of `PresentationMode`. * `EdgeInsets` factory functions have been replaced with proper initializers. * `FilePicker` now requires `UTType` instead of `String`. * `FolderMonitor` has been renamed to `DirectoryMonitor`. * `FolderObservable` has been renamed to `DirectoryObservable`. * `FormActionButton` has been replaced with a `FormActionButtonStyle`. * `FormTextButton` has been removed since `ListAction` is so easy to use. * `FormTextEditor` and `FormTextField` has been removed. Use `.formRowTitle(...)` instead. * `ScanCodeGenerator` has been replaced by `Image` and `ImageRepresentable` init extensions.
10 weeks ago
This release deprecates a bunch of things in preparation for the 4.0 bump. SwiftUIKit 4.0 will drop support for iOS 13. ### ✨ New features * `MultilineSubmitViewModifier` is a new view modifier to make multiline text fields submit when return is pressed. * `View` has a new `multilineSubmit(...)` extension. * `View` has a new `onMultilineSubmit(...)` extension. ### 💡 Behavior changes * `ForEachPicker` no longer applies a `.plain` button style. * `ForEachMultiPicker` no longer applies a `.plain` button style. * `SwiftPreviewInspector` now provides a standard implementation. ### 🗑 Deprecations * `MultilineText` has been deprecated. * `DotAnimation` has been renamed to `DotLoadingAnimation`. * `DotAnimationText` has been renamed to `DotLoadingAnimationText`. * `SearchBar` has been deprecated. * `SidebarPresenter` has been deprecated. * `StandardSwiftPreviewInspector` has been deprecated. * `Text+Markdown` has been deprecated. * `UIApplication+Windows` has been deprecated. * `View` height and width modifiers have been deprecated. * `View+Keyboard` has been deprecated.
11 weeks ago
### ✨ New features * `FormTextField` has new multiline capabilities. ### 🗑 Deprecations * `FormTextEditor` has been soft deprecated.
11 weeks ago
### ✨ New features * `ImageCache.shared` has been made public.
11 weeks ago
### ✨ New features * `ImageCache` is a new convenience util for caching images. * `ImageRepresentable` has a new ` jpegData(resizedToWidth:withCompressionQuality:)` extension. * `ListPadding` is a new view that can be used to add vertical padding to lists.
12 weeks ago
### ✨ New features * `GridItem+Convenience` is a new extension with `GridItem` builders. * `ReorderableForEach` is a new view that lets you reorder items in stacks and grids.
13 weeks ago
* `SidebarListRowBackgroundModifier` is a new view modifier for sidebar lists.
14 weeks ago
### ✨ New features * `StorageCodable` is a new protocol for persisting `Codable` in `AppStorage` and `SceneStorage`. * `View+Font` extensions are now available on tvOS and watchOS as well. ### ✨ Behavior changes * `Persisted` is changed to soft deprecated since the `RawRepresentable` `AppStorage` support requires iOS 15. ### 🗑 Deprecations * The `Printing` namespace has been deprecated and moved to the new [PrintingKit](https://github.com/danielsaidi/PrintingKit) SDK.
14 weeks ago
### ✨ 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.
iOS macOS watchOS tvOS
danielsaidi/RichTextKit 0.9.1
RichTextKit is a Swift-based library for working with rich text in UIKit, AppKit and SwiftUI.
⭐️ 537
🕓 5 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5 weeks ago
This version reverts the `.presentationBackgroundInteraction` addition that caused the format sheet to appear behind the keyboard.
6 weeks ago
This version drops support for iOS 14, tvOS 14, macOS 11 and watchOS 7. This version also consolidates all separate attribute readers and writers into the base attribute reader/writer protocols. ### ✨ Features * `RichTextColor` is a new enum that defines supported colors that can be set. * `RichTextColorPicker` now works on all platforms. * `RichTextCommandButton` is a new button for commands. * `RichTextCommandButtonGroup` is a new button group for commands. * `RichTextContext` has new enum-based style and color functions. * `RichTextAttributeReader` can handle more colors and superscripting. * `RichTextAttributeWriter` can handle more colors and superscripting. ### 💡 Adjustments * `RichTextAttributeReader` now has all specific getter functions. * `RichTextAttributeWriter` now has all specific setter functions. * `RichTextKeyboardToolbar` now opens the format sheet in medium size on iPhone. ### 🗑️ Deprecations * All specific attribute reader/writer protocols are deprecated in favor of the base protocols. * Many getter/setter functions have been prefixed with `richText`. * `RichTextAttributeWriter` renames functionality and omits `to:` param name. * `RichTextColorPicker` initializer has been cleaned up and simplified. * `RichTextColorPicker.PickerColor` has been deprecated. * `RichTextColorPickerColor` has been deprecated. * `RichTextContext` replaces a lot of action-based functions with `handle(_:)`. * `RichTextIndent` has been deprecated. * `RichTextIndentPicker` has been deprecated. * `RichTextViewComponent` and omits `to:` param name. ### 💥 Breaking Changes * The rich text indent feature has been rewritten to use steps. * Some `richTextMenu*` images are renamed to `richTextAction*`. * `RichTextContext` replaces a lot of action-based functions with `handle(_:)`.
12 weeks ago
This version makes the observable trigger properties internal. These properties were never made to be used from the outside, and all have context functions that set them, so use these functions instead. `IMPORTANT` The `safeRange` adjustment may lead to crashes, although I haven't been able to make it crash. If so, investigate. If you use the safe range yourself, to access attributes, make sure to set the new attribute parameter to true. It's hopefully temporary. ### ✨ Features * `RichTextContext` has a new `attributedString` property. * `RichTextContext`'s paste functions now use the selected range index as default index. ### 💡 Adjustments * `RichTextReader` `safeRange` no longer subtracts 1 from the string length. * `RichTextReader` will now move the cursor after the pasted text, if it's pasted at selected range. * `RichTextViewComponent` image pasting has been rewritten. * `RichTextViewComponent` will now clear the selected range when pasting in images using that range. ### 🐛 Bug Fixes * `RichTextReader` safe range fix makes pasting text at the end behave better. * `RichTextViewComponent` now properly restores the font size after pasting an image. ### 🗑️ Deprecations * `RichTextContext` trigger properties have been made internal.
23 weeks ago
This version makes the keyboard toolbar menu prefer fixed menu order.
24 weeks ago
### ✨ Features * `RichTextColorPicker` now supports hiding the icon. * `RichTextColorPicker` now supports specifying quick colors. * `RichTextColorPickerColor` is a new enum with curated colors. ### 💡 Adjustments * `RichTextFormatSheet` adds curated colors to its color pickers. * `RichTextFormatSidebar` adds curated colors to its color pickers. ### 🗑️ Deprecations * `RichTextColorPickerStack` has been deprecated.
24 weeks ago
### ✨ Features * `RichTextColorPicker` now supports hiding the icon. * `RichTextColorPicker` now supports specifying quick colors. * `RichTextColorPickerColor` is a new enum with curated colors. ### 💡 Adjustments * `RichTextFormatSheet` adds curated colors to its color pickers. * `RichTextFormatSidebar` adds curated colors to its color pickers. ### 🗑️ Deprecations * `RichTextColorPickerStack` has been deprecated.
25 weeks ago
This version is a hot fix that fixes some performance issues in 0.6. ### ✨ Features * Thanks to [@jamesbradleym](https://github.com/jamesbradleym), RichTextKit now supports text indentation. * `Image` has new `richTextIndentDecrease` and `richTextIndentIncrease` actions. * `NSTextAttachment` has a new `attachedImage` property. * `RichTextAction` has new `increaseIndent` and `decreaseIndent` actions. * `RichTextActionButtonGroup` is a new view that groups multiple action buttons together. * `RichTextAttributeWriter` now supports affecting the entire text by default. * `RichTextButtonGroup` is a new view that groups multiple buttons together. * `RichTextColorWriter` now supports affecting the entire text by default. * `RichTextContext` has new `canDecreaseIndent` and `canIncreaseIndent` properties. * `RichTextContext` has new `decreaseIndent()` and `increaseIndent()` functions. * `RichTextContext` has new `resetAttributedString()` and `setAttributedString()` functions. * `RichTextFontWriter` now supports affecting the entire text by default. * `RichTextFormatSheet` now groups related buttons and also adds indent buttons. * `RichTextIndent` is a new enum for handling text indent changes. * `RichTextIndentPicker` is a new enum for picking a text indent. * `RichTextIndentReader` is a new type for managing text indents. * `RichTextIndentWriter` is a new type for managing text indents. * `RichTextKeyboardToolbar` now supports modofying the format sheet before presenting it. * `RichTextStyleToggleGroup` is a new view that groups multiple toggles together. * `RichTextStyleWriter` now supports affecting the entire text by default. ### 💡 Adjustments * Thanks to [@msrutek-paylocity](https://github.com/msrutek-paylocity), some typos are fixed and some tests cleaned up. ### 🐛 Bug Fixes * This version fixes a bug where setting up an editor with a text that had image attachments, didn't resize the images until the user typed in the text editor. ### 💥 Breaking Changes * `RichTextKeyboardToolbar` `height` and `spacing` has been moved to `RichTextKeyboardToolbarStyle`.
25 weeks ago
### ✨ Features * Thanks to [@jamesbradleym](https://github.com/jamesbradleym), RichTextKit now supports text indentation. * `Image` has new `richTextIndentDecrease` and `richTextIndentIncrease` actions. * `NSTextAttachment` has a new `attachedImage` property. * `RichTextAction` has new `increaseIndent` and `decreaseIndent` actions. * `RichTextActionButtonGroup` is a new view that groups multiple action buttons together. * `RichTextAttributeWriter` now supports affecting the entire text by default. * `RichTextButtonGroup` is a new view that groups multiple buttons together. * `RichTextColorWriter` now supports affecting the entire text by default. * `RichTextContext` has new `canDecreaseIndent` and `canIncreaseIndent` properties. * `RichTextContext` has new `decreaseIndent()` and `increaseIndent()` functions. * `RichTextContext` has new `resetAttributedString()` and `setAttributedString()` functions. * `RichTextFontWriter` now supports affecting the entire text by default. * `RichTextFormatSheet` now groups related buttons and also adds indent buttons. * `RichTextIndent` is a new enum for handling text indent changes. * `RichTextIndentPicker` is a new enum for picking a text indent. * `RichTextIndentReader` is a new type for managing text indents. * `RichTextIndentWriter` is a new type for managing text indents. * `RichTextKeyboardToolbar` now supports modofying the format sheet before presenting it. * `RichTextStyleToggleGroup` is a new view that groups multiple toggles together. * `RichTextStyleWriter` now supports affecting the entire text by default. ### 💡 Adjustments * Thanks to [@willmorris44](https://github.com/willmorris44) and [@diniska](https://github.com/diniska), the UIKit and AppKit `RichTextView`s now update whenever the text changes. * Thanks to [@msrutek-paylocity](https://github.com/msrutek-paylocity), some typos are fixed and some tests cleaned up. ### 🐛 Bug Fixes * This version fixes a bug where setting up an editor with a text that had image attachments, didn't resize the images until the user typed in the text editor. ### 💥 Breaking Changes * `RichTextKeyboardToolbar` `height` and `spacing` has been moved to `RichTextKeyboardToolbarStyle`.
34 weeks ago
### 🐛 Bug Fixes * Initial text color is only applied when setting up rich text with an empty string.
44 weeks ago
### 💥 Breaking Changes * All deprecated types have been removed.
iOS macOS watchOS tvOS
danielsaidi/DeckKit 0.7.1
DeckKit makes it easy to create deck-based apps in SwiftUI.
⭐️ 464
🕓 14 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
14 weeks ago
### 💡 New features * `Deck` has new `move` functions.
24 weeks ago
### 💡 New features * `Deck` has a new `shuffle` function. * `DeckShuffleAnimation` is a new animation. * `DeckView` has a new convenience initializer.
42 weeks ago
### 💡 New features This version adds an additional `DeckView` initializer so that you don't have to specify the `itemViewBuilder` parameter name. ### 💥 Breaking Changes * All previously deprecated code has been removed. * `DeckView` `itemViewBuilder` has been renamed to `itemView`.
52 weeks ago
### 💡 Behavior changes * `DeckView` action parameters are now optional. * `DeckView` card builder no longer requires `AnyView`. ### 💥 Breaking Changes * `BasicCard` no longer applies a fixed width to its content. * `HorizontalDeck` no longer contains a scroll view. ### 🗑️ Deprecations * `BasicCard` has been deprecated and will be removed in 0.6. * `HorizontalDeck` has been deprecated and will be removed in 0.6. * `StackedDeck` has been renamed to `DeckView`. * `StackedDeck` has a new `itemViewBuilder` initializer. * `StackedDeckConfiguration` has been renamed to `DeckViewConfiguration`. * `StackedDeckConfiguration` has a new `itemDisplayCount` initializer.
1 year ago
### ✨ New features * `StackedDeckConfiguration` is a new `StackedDeck` config. * `StackedDeckConfiguration` has a `.standard` value that is automatically used. ### 💡 Behavior changes * `StackedDeck` no longer changes the card offset value within an animation. ### 💥 Breaking Changes * `StackedDeck` now takes a configuration as init parameter instead of separate values.
1 year ago
### ✨ New features * `Deck` now lets you specify id. ### 💥 Breaking Changes * `BasicItem` has been renamed to `BasicCard.Item`. * `CardItem` has been renamed to `DeckItem`.
3 years ago
The `deck` init params for `StackedDeck` and `HorizontalDeck` has been changed to a binding. This gives you better control over the deck, removes UI glitches and helped me remove a bunch of state for visible cards in `StackDeck`, which means that deck modifications now instantly trigger UI changes. I have added a shuffle button to the demo to demonstrate how much better the stacked deck performs. The `StackedDeck` has been improved in more ways: * I have changed the order of how the vertical offset and scale effect are applied, which fixes a UI glitch. * I have added `swipeLeft/Right/Up/Down` actions, which let you trigger actions depending on how a card is swiped off the top. The `DeckContext` class is still in the library, but is not used by the library itself.
3 years ago
This version is the first public release of DeckKit. It contains components that are used in apps that have been pushed to production, which is why I decided to release it as a first minor.
iOS macOS watchOS tvOS
danielsaidi/OnboardingKit 6.1.2
Tutti is a Swift library that lets you create tutorial and hint-based onboarding.
⭐️ 388
🕓 13 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
13 weeks ago
### ✨ New features * `LocalizedTutorial` now supports custom bundles.
13 weeks ago
### 🗑 Deprecations * `TutorialSlideView` has been renamed to `TutorialPageView`. * `TutorialSlideViewStyle` has been renamed to `TutorialPageViewStyle`.
24 weeks ago
In this major update, Tutti is renamed to OnboardingKit. You have to update all your imports from `import Tutti` to `import OnboardingKit`.
1 year ago
This version adjusts the TutorialPageInfo type slightly. ✨ New features * `TutorialPageInfo` now has a `currentPage` property. * `TutorialPageInfo` `isCurrentPage` is now a property instead of a function.
1 year ago
This version bumps the minimum iOS version to 13 to allow importing SwiftUI. ### ✨ New features * `TutorialSlideView` is a new view for presenting tutorial-based onboarding flows. * `TutorialSlideViewStyle` can be used to style `TutorialSlideView` views.
1 year ago
This is the last minor version before 5.0, which will make the library require iOS 13, macOS 10.5, tvOS 13 and watchOS 6 . This version deprecates the `OnboardingPresenter` concept and adds a `tryPresent` function to the `Onboarding` instead. ### ✨ New features * `TutorialPageInfo` is a new struct. * `UrlTutorialPage` is a new tutorial page with a `URL`. ### 💡 Behavior changes * `Tutorial` is now generic to better handle custom tutorial page types. ### 📦 Dependencies * TuttiTests no longer depends on `MockingKit`. * TuttiTests no longer depends on `Quick` and `Nimble`.
1 year ago
This version deprecates the `OnboardingPresenter` concept and adds a `tryPresent` function to the `Onboarding` instead. This makes the library really lightweight. ### ✨ New features * `Onboarding` has a new `tryPresent` function that takes a custom presentation action. * `TutorialPage` now implements `Identifiable`. ### 🗑 Deprecations * `OnboardingPresenter` has been deprecated. * `HintPresenter` has been deprecated. * `TutorialPresenter` has been deprecated.
2 years ago
This major version prepares the library for Xcode 13 and SwiftUI 5.5. It also removes some UIKit-specific parts of the library, which makes the entire library run on all platforms. If you need the removed `UIKit` parts, you can grab them from the `3.1.1` release. ### 💡 Behavior changes * `OnboardingPresenter` no longer requires `AnyObject` conformance. ### 💥 Breaking changes * `Tutorial` is no longer generic. * The `UIKit` folder has been removed in this version.
2 years ago
### 💡 Behavior changes * `CalloutView` no longer depends on `UIApplication.shared`.
2 years ago
### ✨ New features * `Onboarding` has a new `hasBeenPresented` property.
iOS macOS watchOS tvOS
danielsaidi/SystemNotification 0.7.2
SystemNotification is a SwiftUI library that lets you mimic the native iOS system notification. It supports extensive styling, custom views and can be used on all major Apple platforms.
⭐️ 231
🕓 22 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
22 weeks ago
### ✨ New features * `SystemNotificationPresenter` is a new convenience protocol.
22 weeks ago
This version rolls back the UIKit support deprecation. ### 🗑 Deprecations * `SystemNotificationUIKitOverlay` is no longer deprecated.
45 weeks ago
This version splits up `SystemNotificationConfiguration` in a configuration and style type. Due to changes in the `SystemNotificationMessage` capabilities, the `LocalizedStringKey` support has been deprecated. Also, since SystemNotification aims to be a pure SwiftUI project, the `SystemNotificationUIKitOverlay` has been deprecated. Please let me know if you really need it, and I'll re-add it to the library. ### ✨ New features * `SystemNotificationMessage` now supports a custom icon view. * `SystemNotificationStyle` is a new type that's extracted from `SystemNotificationConfiguration`. ### 💡 Behavior changes * `SystemNotification` no longer uses async size bindings to apply the corner radius. ### 🗑 Deprecated * `SystemNotificationConfiguration` moves all styles to `SystemNotificationStyle`. * `SystemNotificationMessage` has deprecated its `LocalizedString` initializer. * `SystemNotificationMessageConfiguration` is renamed to `SystemNotificationMessageStyle`.
45 weeks ago
### ✨ New features * `SystemNotificationConfiguration` has a new `padding` parameter. * `SystemNotificationConfiguration` has a new `standardBackgroundColor` function. * `SystemNotificationConfiguration` has a new `standardPadding` property. ### 💡 Behavior changes * `SystemNotificationContext` handles custom presentation configurations better. ### 💥 Breaking changes * All deprecated code has been removed.
1 year ago
### 💡 Behavior changes * `SystemNotificationContext` present now has an optional configuration. * `SystemNotificationContext` now uses its own configuration if none is provided.
1 year ago
This release fixes compile errors on tvOS and watchOS.
1 year ago
This release makes configuration properties mutable.
1 year ago
This release greatly improves how notifications are presented and dismissed and simplifies usage. The demo app now uses a local package, which makes it a lot easier to develop the library. ### 📖 Documentation SystemNotification has a brand new DocC documentation. Due to the new documentation, the package now requires Swift 5.5. ### ✨ New features * `SystemNotificationContext` has a new completion-based dismiss function. * `SystemNotificationMessageConfiguration` has new `iconTextSpacing` and `titleTextSpacing` properties. * `SystemNotificationUIKitOverlay` is a new view that simplifies adding a system notification to a UIKit view. * `View+SystemNotification` has a new parameter-based extension that replaces the old notification-based one. ### 💡 Behavior changes * `SystemNotificationMessageConfiguration` is adjusted to make a message look more like an iPhone system notification. * Presenting a new notification first dismisses the current notification, if any. * The auto-dismiss logic is moved from the system notification to the notification context. ### 🐛 Bug fixes * This version fixes a bug, where the message configuration padding was incorrectly applied. ### 🗑 Deprecated * The notification-based `systemNotification(:)` function is deprecated. ### 💥 Breaking changes * `SystemNotification+Message` has been deprecated. * `SystemNotificationConfiguration` `minWidth` is no longer used and has been removed. * `View+SystemNotification` has deprecated the `SystemNotification`-based extension.
2 years ago
### ✨ New features * `SystemNotificationConfiguration` has a new `isSwipeToDismissEnabled` parameter. * `SystemNotification` can now be swiped to be dismissed, if `isSwipeToDismissEnabled` is `true`.
2 years ago
This relase makes it possible to provide a `nil` title to `SystemNotificationMessage`.
iOS macOS watchOS tvOS
danielsaidi/BottomSheet 0.3.0
BottomSheet lets you add custom bottom sheets to your SwiftUI apps.
⭐️ 192
🕓 1 year ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
1 year ago
### ✨ New Features * `BottomSheetStyle` and `BottomSheetHandleStyle` are now mutable. * `BottomSheetStyle.standard` is now mutable and lets you change the standard style.
1 year ago
This release adds macOS support and tweaks the design and behavior of the bottom sheet. The handle was previously placed in a non-designable area, under which the sheet content scrolled. Now, the area has a divider that separates the handle from the content, with the entire handle bar area being customizable with the handle style. ### 💥 New Features * The library now compiles for macOS. * There is a new `BottomSheetHandleBar` view. * `BottomSheetHandleStyle` has a new `backgroundColor` property. * `BottomSheetHandleStyle` has a new `dividerColor` property. * `BottomSheetHandleStyle` has a new `padding` property. ### 💡 Behavior Changes * The sheet handle is now placed in a bar, with padding and a divider. ### 🗑 Deprecations * `BottomSheetHandleStyle` `color` has been renamed to `handleColor`.
2 years ago
This is the first public release of BottomSheet. Check out the readme and the demo app for information about how to use it.
iOS macOS
danielsaidi/SwiftUIBlurView 0.2.0
This view is also part of SwiftUIKit: https://github.com/danielsaidi/SwiftUIKit
⭐️ 124
🕓 3 years ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
3 years ago
This release adds a stable blur effect that you can apply to any `View` using the `.systemBlur` modifier.
iOS
danielsaidi/WebViewKit 0.3.0
WebViewKit adds a WebView to SwiftUI.
⭐️ 69
🕓 5 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5 weeks ago
### ✨ New features * `WebView` can now be created with an `htmlString` and a `urlString`.
37 weeks ago
### ✨ New features * `WebView` now supports providing a `WKWebViewConfiguration`.
1 year ago
### ✨ New features * `WebView` now supports providing an empty url and no config block.
1 year ago
This version adds a new `SafariWebView`. ### ✨ New features * `SafariWebView` is a new iOS view that wraps an `SFSafariViewController` and can be used to load a custom url.
1 year ago
This is the first public beta of the library. ### ✨ New features * `WebView` is a new view that wraps an `WKWebView` and can be used to load a custom url.
iOS macOS
danielsaidi/MockingKit 1.3.0
MockingKit is a Swift-based library that lets you mock protocols and classes. It lets you register function results, invoke and inspect method calls etc.
⭐️ 67
🕓 51 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
51 weeks ago
Thanks to [Tim Andersson](https://github.com/Boerworz) and the people at BookBeat, MockingKit now supports keypaths. ### ✨ New Features * `Mockable` now supports keypaths for all functions except `call`.
1 year ago
This version removes all external dependencies. ### 📦 Dependencies * MockingKit no longer uses Quick and Nimble.
1 year ago
This version adds a mock pasteboard for macOS and adjusts the documentation setup. ### ✨ New Features * `MockPasteboard` now supports macOS as well. ### 💡 Behavior changes * MockingKit no longer uses the DocC documentation plugin.
1 year ago
### ✨ New Features * This version adds support for Swift concurrency and `async` functions. ### 💥 Breaking Changes * Since Swift Concurrency requires iOS 13 and tvOS and later, the minimum platform versions for this library have been bumped.
2 years ago
This version bumps the package Swift version to 5.5 to enable extended DocC support. It also removes previously deprecated parts of the library and removes `call` functions with implicitly unwrapped args.
2 years ago
This version replaces the accidental SSH dependencies to Quick and Nimble with HTTPS ones. Big thanks to Dave Verwer and [SPI](https://swiftpackageindex.com) for noticing this!
2 years ago
`MockTextDocumentProxy` no longer modifies its state when calling its functions.
2 years ago
`MockTextDocumentProxy` has a new `keyboardAppearance` property.
2 years ago
Thanks to [@jinuman](https://github.com/jinuman) this version fixes the incorrectly high deployment targets. This version also annotates another invoke function as deprecated.
2 years ago
This version renames invoke/invocation to call/calls to make the code cleaner and less technical: * `AnyInvokation` → `AnyCall` * `MockInvokation` → `MockCall` * `Mock` `registeredInvokations` → `registeredCalls` * `Mockable` `hasInvoked(_)` → `hasCalled(_)` * `Mockable` `hasInvoked(_, numberOfTimes:)` → `hasCalled(_, numberOfTimes:)` * `Mockable` `invoke` → `call` * `Mockable` `invokations(of:)` → `calls(to:)` * `Mockable` `resetInvokations` → `resetCalls` * `Mockable` `resetInvokations(for:)` → `resetCalls(to:)` This also solves that with my Swedish eyes spelled invocation as invokation, which is how it's spelled here :) The old invoke/invokation parts are marked as deprecated and will be removed in 1.0.
iOS macOS watchOS tvOS
danielsaidi/SwiftKit 1.5.0
SwiftKit adds extra functionality to the Swift programming language.
⭐️ 59
🕓 10 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
10 weeks ago
### ✨ New features * `String+Trimmed` now supports a custom character set. ### 🗑 Deprecations * `Authentication` has been deprecated. * `BundleInformation` has been deprecated. * `FileExporter` types have been deprecated. * `Filter` has been deprecated. * `Result+Utils` has been deprecated. * `URL+QueryParameters` has been deprecated.
14 weeks ago
This version adjusts the library for Xcode 14 and deprecates some things. This version contains a few breaking changes, that should be easy to fix. ### ✨ New features * `CLLocationCoordinate2D` has new maps extensions. * `CsvParser` can now parse CSV files at urls as well. * `CsvParserError` has a new convenience initializer. * `DateFormatter+Init` has a new convenience initializer. ### 💡 Behavior changes * `StandardCsvParser` now throws native errors for file parsing. ### 🗑 Deprecations * `ExternalMapService` and all implementations have been deprecated. * `Network` has been deprecated and moved to `ApiKit`. ### 💥 Breaking changes * `String+Slugified` has been removed due to conflicts with TagKit.
1 year ago
This version adjusts the library for Xcode 14 and deprecates some things. ### ✨ New features * `Collection+Async` is now available for all OS versions that are supported by the library. ### 💡 Behavior changes * The library no longer uses the DocC package plugin. * `DispatchQueue+Throttle` now uses `Double.random(in:)` instead of `arc4random()`. ### 🗑 Deprecations * The `IoC` namespace has been deprecated and will be removed in the next major version. * The `Messaging` namespace has been deprecated and will be removed in the next major version. * The `StoreKit` namespace has been deprecated and moved to https://github.com/danielsaidi/StoreKitPlus * `String+Slugified` has been deprecated and moved to https://github.com/danielsaidi/TagKit ### 💥 Breaking changes * Due to the concurrency adjustments, macOS 11 is now needed.
1 year ago
This version bumps the iOS deployment target to 13.0 and adds new auth utils. ### ✨ New features * `LAContext+Async` adds an async policy evaluation function. * `LocalAuthenticationService` is a new service that lets you use any local authentication policy. ### 💡 Behavior changes * `BiometricAuthenticationService` now inherits and specializes `LocalAuthenticationService`.
1 year ago
### ✨ New features * `FileManager+UniqueFileName` contains functionality for generating a unique file name. * `String+Capitalize` contains functionality for capitalizing the first char in a String. * `String+Characters` contains single-char characters like `newLine` and `tab`. * `String+Paragraph` contains functionality for finding paragraphs in the text. * `String+Subscript` contains functionality for accessing chars in a String. ### 💡 Behavior changes * `String+UrlEncode` now handles + as well.
1 year ago
I think it's finally time to push the major release button. This version drastically improves documentation and ships with a DocC documentation archive. This version also introduces a new `StoreKit` namespace with handy utils for managing StoreKit products and purchases. ### ✨ New features * `Bundle` has a new `displayName` extension. * `Collection` has new `asyncCompactMap` and `asyncMap` extensions. * `Date` has a new `components` extension for retrieving year, month, hour etc. * `NSAttributedString` has a new `init(keyedArchiveData:)` that can initialize an attributed string from `NSKeyedArchiver` generated data. * `NSAttributedString` has a new `init(plainText:)` that can initialize an attributed string from plain .utf8 text data. * `NSAttributedString` has a new `init(rtfData:)` that can initialize an attributed string from RTF data. * `NSAttributedString` has a new `getKeyedArchiveData()` function that can be used to generate RTF formatted data from an attributed string. * `NSAttributedString` has a new `getPlainTextData()` function that can be used to generate plain .utf8 formatted text data from an attributed string. * `NSAttributedString` has a new `getRtfData()` function that can be used to generate RTF formatted data from an attributed string. * `String` has new `boolValue` extension. * `StoreService` is a new protocol for managing StoreKit products and purchases. * `StoreContext` is a new class for managing StoreKit products and purchases. * `StandardStoreService` is a new class that implements the `StoreService` protocol.
2 years ago
This version requires Xcode 13 and later, since it refers to the latest api:s. This version also cleans up the code and makes changes to conform to the latest standards. ### ✨ New features * `Calendar+Date` has new `same` functions to provide the comparison date. * `DispatchQueue+Throttle` has new `throttle` and `debounce` functions. * `String+Split` has a new `split(by:)` components splitting function. * `Url+Global` has a new `userSubscriptions` url. ### 💥 Breaking changes * All previously deprecated features have been removed. * `ApiService` moves the `type` param before the `httpMethod`, since `httpMethod` now has a default value. * `ApiRoute` and `ApiService` now use enum-based HTTP methods instead of string-based ones. * `DispatchQueue+Async` now requires that you explicitly define `seconds` when using that `asyncAfter` function. * `URL+Global` `appStoreUrl(forAppId:)` now returns an optional url.
2 years ago
### ✨ New features * `ApiRoute` has more explicit properties for working with post data. * `ApiRoute` has a new `shouldUrlEncodeParams` parameter. * `iCloudDocumentSync` is a new protocol for syncing iCloud document changes. * `String+Slugify` is a new extension that can convert a string to a slugified version. * `StandardiCloudDocumentSync` is a new class for syncing iCloud document changes. * `URL+iCloud` contains iCloud-specific URLs and fallback URLs. ### 💡 Behavior changes * `ApiRoute` has more required properties. * `URL+setQueryParameter` no longer url encodes the strings you send in. ### 💥 Breaking changes * `ApiRoute` requires new post properties to be defined.
2 years ago
This version adjusts code that made the demo not being able to use the SPM package instead of the source files. ### ✨ New features * `ApiError` is a new enum that replaces the old `ApiServiceError`. * `FileExporter` is a new protocol for exporting data to the file system. * `MimeType` is a new enum for simplifying working with mime types. * `MFMailComposeViewController` has a new `addAttachmentData` that uses the new `MimeType`. * `StandardFileExporter` is a new `FileExporter` implementation. ### 🗑 Deprecations * `ApiServiceError` has been deprecated in favor of `ApiError`. ### 💥 Breaking changes * `ApiError` is a lot easier than before, with many cases gone and more info in the remaining ones.
2 years ago
This version adds a new `HttpMethod` enum that can be used with the network components.
iOS macOS watchOS tvOS
danielsaidi/StoreKitPlus 0.2.0
StoreKitPlus contains additional functionality for working with StoreKit 2.
⭐️ 53
🕓 1 year ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
1 year ago
This release breaks up the `StoreService` protocol into multiple protocols. This is done to simplify implementing custom services, mocking in unit tests etc. ### ✨ Features * `StandardProductService` is a new service that takes care of fetching products. * `StandardPurchaseService` is a new service that takes care of purchasing products and restoring purchases. * `StoreService` has been split up into three protocols: `StoreProductService`, `StorePurchaseService` and `StoreSyncService`. * `StoreContext` has a new `product(withId:)` function. ### 💡 Behavior changes * `StoreService` now inherits `StoreProductService`, `StorePurchaseService` and `StoreSyncService`. * `StandardStoreService` now implements `StoreProductService`, `StorePurchaseService` and `StoreSyncService`. * `StandardStoreService` now uses nested service implementations to make its own logic easier to overview.
1 year ago
This is a first beta release of StoreKitPlus. This version introduces a bunch of types that makes it easier to work with StoreKit in an abstract, protocol-driven way. ### ✨ Features * `StoreContext` is a new, observable type. * `StoreService` is a new protocol for comunicating with StoreKit. * `StandardStoreService` is a new class for comunicating with StoreKit. * `ProductRepresentable` is a new protocol for providing local products. * `ValidatableTransaction` is a new protocol for transaction validation.
iOS macOS watchOS tvOS
danielsaidi/ApiKit 0.3.0
ApiKit is a Swift library that helps you integrate with external REST APIs.
⭐️ 31
🕓 14 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
14 weeks ago
This version adds `Yelp` api integrations. ### ✨ New Features * `Yelp` is a new namespace with Yelp API integrations.
24 weeks ago
This version makes ApiKit support PATCH requests. ### ✨ New Features * `HttpMethod` now has a new `patch` case.
34 weeks ago
This version adds supports for headers and for the environment to define global headers and query parameters. ### ✨ New Features * `ApiRequestData` is a new protocol that is implemented by both `ApiEnvironment` and `ApiRoute`. * `ApiEnvironment` and `ApiRoute` can now define custom headers. * `TheMovieDB` is a new type that can be used to integrate with The Movie DB api. ### 💡 Behavior Changes * All request data is now optional. * URL request creation is now throwing. * URL requests will now combine data from the environment and route. ### 🐛 Bug fixes * `ApiRequestData` removes the not needed url encoding. ### 💥 Breaking Changes * `ApiEnvironment` now uses a `String` as url. * `ApiRequestData` makes the `queryParams` property optional. * `ApiRoute` makes the `formParams` property optional.
35 weeks ago
This is the first public release of ApiKit. ### ✨ New Features * You can create `ApiEnvironment` and `ApiRoute` implementations and use them with `ApiClient`. * `URLSession` implements `ApiClient` so you don't need a custom implementation
iOS macOS watchOS tvOS
danielsaidi/Vandelay 1.0.0
Vandelay is an iOS importer/exporter, written in Swift.
⭐️ 7
🕓 2 years ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
3 years ago
This version updates the Swift version in the podspec.
3 years ago
This version adds support for Swift 5.2 and bumps all test dependencies.
4 years ago
This version makes a url calculation function public.
4 years ago
This version adds support for Swift 5.1 and Swift Package Manager.
5 years ago
This version moves stuff around between Vandelay and its add-ons. This means that I have had some trial and error getting it to work, but the `0.8.1` version works with both CocoaPods and Carthage. I version bump `VandelayQr` and `VandelayDropbox` to `0.8.1` as well. The add-ons no longer have their own demo projects, since this meant I had to duplicate code en-masse. I moved the demo code to this repo and disabled it for now, since I could not get Carthage to ignore building the example app, which had a bunch of private dependencies. I will add it as a GitHub issue for future fixing.
iOS macOS watchOS tvOS
danielsaidi/VandelayQr 0.9.2
VandelayQr adds QR code support to Vandelay.
⭐️ 1
🕓 2 years ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
3 years ago
This version updates external dependencies to the latest versions.
4 years ago
This version adds support for Swift 5.1 and Swift Package Manager.
4 years ago
This version moves stuff around between Vandelay and its add-ons. This means that I have had some trial and error getting it to work, but the `0.8.1` version works with both CocoaPods and Carthage. I version bump `VandelayQr` and `VandelayDropbox` to `0.8.1` as well. The add-ons no longer have their own demo projects, since this meant I had to duplicate code en-masse. I moved the demo code to this repo and disabled it for now, since I could not get Carthage to ignore building the example app, which had a bunch of private dependencies. I will add it as a GitHub issue for future fixing.
iOS

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics