Helpers for iOS App development for UIKit and SwiftUI. Built as a library and shared via the Swift Package Manager.
- iOS 15
- Removed Alert
- PseudoId changed formatting a range for time now: xxxTTT
- where xxx = number of dates since 1 Jan 2021 and TTT is the day time (24h) in base36
- PseudoId seedDate set to '00:00 1 Jan 2021'
- Added PseudoId
- Moved Reflux...README_REFLUX.md to root and excluded it from the Package.swift
- Improved Date.relative() ranges
- Added unit tests for Date_Formatting and TimeInterval_formating
- Add .modifers for .tap .over & .under
- Wrap Log.error()'s Alert.show() with DispatchQueue.main.async.
- Date.relative: 24 hours = 1 day and 60 minutes = 1 hour
- Refactor Date.relative()
- Add TriFlixStore, new simpler yet powerfull state management using closures for actions that mutate the single source of truth store. actions are batched for execution at end of frame and can provide custom logging messages.
- Refactored Reflux ( Order = ( Action: to change state, Command: that can disptach(Action) to change state )
- Improve spacing in Column()
- Add support from alignmentGuides in Row() and Column()
- Add Spacer(minLength: 0) to Column() and Row() Views
- Reenable Log.error() to Alert()
- FullFrame(), to use instead of Color.clear
- Stack, add Color.clear as an optional. Stack(expanded: true)
- Add Pad(width:, height:) for adding sized padding/spacing. Use to replace VSpacer() and HSpacer()
- Reinstated DispatchQueue.main.async in Reflux
- Remove DispatchQueue.main.async in Reflux for performance testing
- Fix Stack, remove Color.clear
- Card
- ItemCache
- CachedImage
- ImageLoader
- Removed Logging from Data+Formatting
- Rewrite 'Reflux' to allow for Protocols in Generics. Allows for mock store and mock service.
- This breaks all Async actions, new version ( Replace <> with domain content )
func apply(reflux: AnyObject) {
guard let reflux = reflux as? <App>Reflux else { return }
<Preform Async Actions>
}
}
- Fix: color conversion from hexString with alpha.
- New UIColor.init(fromHex: String) and UIColor.toHex(…)
- Removed UIColor.toRGBString(…)
- Make Stack View compatible with ZStack View
- Make UIColor HEX functions public, so that they can be used outside the library!
- Add UIColor HEX conversions that include optional alpha
- Refactored Reflux naming to align better with Redux.
- Store.apply() is now Store.reducer()
- Reflux.middleman is now Reflux.middleware
- Add logging routing for console and server placeholder.
- Make accessible: UIPanGestureRecognizer & UIPinchGestureRecognizer
- Improved naming convention for Store based objects.
- Update documentation for
Reflux
state management package.
- Refined Reflux implementation of Flux and Redux.
- Remove
ReflectedStringConvertible
fromAsyncAction
.AsyncAction
implementsAction
which already implementsReflectedStringConvertible
- Add
ReflectedStringConvertible
toAsyncAction
- Add
ReflectedStringConvertible
protocol
- Refactor
ConnectedView
to pass services tp themap
function. This removes the need to providetypealias
in the struct.
- Add
Services
as a Generic. Side effect, allConnectedViews
need to providetypealias Services = AppServices
- Create a
MockCoreServices
to act as aNil
- Add
CoreServices
to theStore
- Renamed
store.dispatch(action: Action)
tostore.dispatch(_ action: Action)
- Add public init to
Command
- Reduce number default
Command/Response
types
- Add open init's to all
Command/Response
interfaces
- Make all
Command/Response
interfacesopen/public
- Make
Command
/Response
open
- Add
Command
/Response
for use byComponents
- Remove
Command
/Response
- Expose model public offerings
- Whoops, remove the
apply
requirement public
- Make the
apply
requirement public
- Add an
apply
requirement forRefluxState
, Removeapply
requirement fromStore
.
- Add
Reflux
, a replacement forSwiftUIFlux
that uses classes over structs
- Refactored Card View to use Stack, Column and Row
- Add Stack, Column and Row Views with improved simplicity and layout options over supplied ZStack, VStack and HStack.
- Fix EdgeReveal, refactored shadow as it was screwing with gesture's in List and ScrollView!
- Refactored Material colors from SwiftUI.Color to UIKit.Color. This allow for color transforms before they are converted to SwiftUI.Color.
- Add Material colors
- Refactored EdgeReveal to use an EnvironmentObject (EdgeRevealModel) for state
- Update Copyright info and include MIT license link
- Move repo to BitBucket
- Add common/extensions
- Add common/utilities Log, Alert
- Add swiftui/modifiers DragModifier, FillModifier
- Add swiftui/packages SwiftUIRouter
- Add swiftui/preferences RectPreferences
- Add swiftui/views Card, Fab, FullScreen, HSpacer, VSpacer, KeyboardHost, Symbol, SystemSymbol
- Add Picon View
- Add EdgeReveal View
- Add support for SwiftUI
- Change 'Color' to 'SorceryColor' as 'Color' conflicts with SwiftUI.Color
- Add Log.echo
- Add contrain to public accessability
- Initial release