├── Carthage
├── Build
│ ├── Mac
│ │ ├── With_mac.framework
│ │ │ ├── Versions
│ │ │ │ ├── Current
│ │ │ │ └── A
│ │ │ │ │ ├── With_mac
│ │ │ │ │ ├── Modules
│ │ │ │ │ ├── With_mac.swiftmodule
│ │ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ │ └── module.modulemap
│ │ │ │ │ └── Headers
│ │ │ │ │ └── With_mac.h
│ │ │ ├── Headers
│ │ │ ├── Modules
│ │ │ ├── Resources
│ │ │ └── With_mac
│ │ ├── Hybrid_macOS.framework
│ │ │ ├── Versions
│ │ │ │ ├── Current
│ │ │ │ └── A
│ │ │ │ │ ├── Hybrid_macOS
│ │ │ │ │ ├── Modules
│ │ │ │ │ ├── Hybrid_macOS.swiftmodule
│ │ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ │ └── module.modulemap
│ │ │ │ │ └── Headers
│ │ │ │ │ └── Hybrid_macOS.h
│ │ │ ├── Headers
│ │ │ ├── Modules
│ │ │ ├── Resources
│ │ │ └── Hybrid_macOS
│ │ ├── Spatial_macOS.framework
│ │ │ ├── Versions
│ │ │ │ ├── Current
│ │ │ │ └── A
│ │ │ │ │ ├── Spatial_macOS
│ │ │ │ │ ├── Modules
│ │ │ │ │ ├── Spatial_macOS.swiftmodule
│ │ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ │ └── module.modulemap
│ │ │ │ │ └── Headers
│ │ │ │ │ └── Spatial_macOS.h
│ │ │ ├── Headers
│ │ │ ├── Modules
│ │ │ ├── Resources
│ │ │ └── Spatial_macOS
│ │ ├── With_mac.framework.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Resources
│ │ │ │ └── DWARF
│ │ │ │ │ └── With_mac
│ │ │ │ └── Info.plist
│ │ ├── Hybrid_macOS.framework.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Resources
│ │ │ │ └── DWARF
│ │ │ │ │ └── Hybrid_macOS
│ │ │ │ └── Info.plist
│ │ └── Spatial_macOS.framework.dSYM
│ │ │ └── Contents
│ │ │ ├── Resources
│ │ │ └── DWARF
│ │ │ │ └── Spatial_macOS
│ │ │ └── Info.plist
│ ├── iOS
│ │ ├── With.framework
│ │ │ ├── With
│ │ │ ├── Info.plist
│ │ │ ├── Modules
│ │ │ │ ├── With.swiftmodule
│ │ │ │ │ ├── arm64.swiftdoc
│ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ ├── arm64.swiftmodule
│ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ └── module.modulemap
│ │ │ └── Headers
│ │ │ │ └── With.h
│ │ ├── Spatial.framework
│ │ │ ├── Spatial
│ │ │ ├── Info.plist
│ │ │ ├── Modules
│ │ │ │ ├── Spatial.swiftmodule
│ │ │ │ │ ├── arm64.swiftdoc
│ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ ├── arm64.swiftmodule
│ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ └── module.modulemap
│ │ │ └── Headers
│ │ │ │ └── Spatial.h
│ │ ├── Hybrid_iOS.framework
│ │ │ ├── Hybrid_iOS
│ │ │ ├── Info.plist
│ │ │ ├── Modules
│ │ │ │ ├── Hybrid_iOS.swiftmodule
│ │ │ │ │ ├── arm64.swiftdoc
│ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ ├── arm64.swiftmodule
│ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ └── module.modulemap
│ │ │ └── Headers
│ │ │ │ └── Hybrid_iOS.h
│ │ ├── With.framework.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Resources
│ │ │ │ └── DWARF
│ │ │ │ │ └── With
│ │ │ │ └── Info.plist
│ │ ├── Spatial.framework.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Resources
│ │ │ │ └── DWARF
│ │ │ │ │ └── Spatial
│ │ │ │ └── Info.plist
│ │ └── Hybrid_iOS.framework.dSYM
│ │ │ └── Contents
│ │ │ ├── Resources
│ │ │ └── DWARF
│ │ │ │ └── Hybrid_iOS
│ │ │ └── Info.plist
│ ├── .With.version
│ ├── .Hybrid.version
│ └── .Spatial.version
└── Checkouts
│ ├── Hybrid
│ ├── Carthage
│ │ ├── Build
│ │ └── Checkouts
│ │ │ ├── Spatial
│ │ │ ├── Carthage
│ │ │ │ ├── Build
│ │ │ │ └── Checkouts
│ │ │ │ │ └── With
│ │ │ │ │ ├── WithExample
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── AppDelegate.swift
│ │ │ │ │ ├── Carthage
│ │ │ │ │ └── Build
│ │ │ │ │ │ └── iOS
│ │ │ │ │ │ ├── With.framework
│ │ │ │ │ │ ├── With
│ │ │ │ │ │ ├── Info.plist
│ │ │ │ │ │ ├── Modules
│ │ │ │ │ │ │ ├── module.modulemap
│ │ │ │ │ │ │ └── With.swiftmodule
│ │ │ │ │ │ │ │ ├── arm64.swiftdoc
│ │ │ │ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ │ │ │ ├── arm64.swiftmodule
│ │ │ │ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ │ │ └── Headers
│ │ │ │ │ │ │ └── With.h
│ │ │ │ │ │ └── With.framework.dSYM
│ │ │ │ │ │ └── Contents
│ │ │ │ │ │ ├── Resources
│ │ │ │ │ │ └── DWARF
│ │ │ │ │ │ │ └── With
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ ├── WithExample.xcodeproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ ├── xcuserdata
│ │ │ │ │ │ │ ├── eon.xcuserdatad
│ │ │ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ │ │ │ └── andre.xcuserdatad
│ │ │ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcuserdata
│ │ │ │ │ │ └── andre.xcuserdatad
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── xcschememanagement.plist
│ │ │ │ │ ├── With
│ │ │ │ │ ├── With.h
│ │ │ │ │ └── Info.plist
│ │ │ │ │ ├── With mac
│ │ │ │ │ └── With_mac.h
│ │ │ │ │ └── src
│ │ │ │ │ └── With.swift
│ │ │ ├── Cartfile
│ │ │ ├── Cartfile.resolved
│ │ │ ├── SpatialExample
│ │ │ │ ├── view
│ │ │ │ │ ├── table
│ │ │ │ │ │ ├── cell
│ │ │ │ │ │ │ ├── protocol
│ │ │ │ │ │ │ │ ├── CellDataKind.swift
│ │ │ │ │ │ │ │ ├── LeagueCellData.swift
│ │ │ │ │ │ │ │ ├── MatchTeamCellData.swift
│ │ │ │ │ │ │ │ ├── MatchScoreCellData.swift
│ │ │ │ │ │ │ │ └── MatchCellData.swift
│ │ │ │ │ │ │ ├── matchhighlight
│ │ │ │ │ │ │ │ └── MatchHighlightCell.swift
│ │ │ │ │ │ │ ├── match
│ │ │ │ │ │ │ │ ├── MatchCell+Const.swift
│ │ │ │ │ │ │ │ └── MatchCell.swift
│ │ │ │ │ │ │ ├── input
│ │ │ │ │ │ │ │ ├── InputTextItem+Constants.swift
│ │ │ │ │ │ │ │ └── InputTextCell.swift
│ │ │ │ │ │ │ └── BaseCell.swift
│ │ │ │ │ │ └── CustomTableView+Interaction.swift
│ │ │ │ │ ├── main
│ │ │ │ │ │ ├── card
│ │ │ │ │ │ │ ├── CardView+Constant.swift
│ │ │ │ │ │ │ └── content
│ │ │ │ │ │ │ │ ├── bottom
│ │ │ │ │ │ │ │ ├── BottomBar+Constant.swift
│ │ │ │ │ │ │ │ └── BottomBar.swift
│ │ │ │ │ │ │ │ ├── top
│ │ │ │ │ │ │ │ └── TopBar.swift
│ │ │ │ │ │ │ │ └── middle
│ │ │ │ │ │ │ │ ├── MiddleContent.swift
│ │ │ │ │ │ │ │ ├── itemView
│ │ │ │ │ │ │ │ ├── ItemView.swift
│ │ │ │ │ │ │ │ └── ItemView+Create.swift
│ │ │ │ │ │ │ │ └── MiddleContent+Create.swift
│ │ │ │ │ │ └── MainView.swift
│ │ │ │ │ ├── spaceTest
│ │ │ │ │ │ └── SpacingTestView.swift
│ │ │ │ │ ├── MainVC.swift
│ │ │ │ │ ├── animTest
│ │ │ │ │ │ └── AnimationTestView.swift
│ │ │ │ │ └── MainVC+Create.swift
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── common
│ │ │ │ │ ├── Constants.swift
│ │ │ │ │ └── Extension.swift
│ │ │ │ └── AppDelegate.swift
│ │ │ ├── Spatial.xcodeproj
│ │ │ │ ├── xcuserdata
│ │ │ │ │ ├── eon.xcuserdatad
│ │ │ │ │ │ └── xcdebugger
│ │ │ │ │ │ │ └── Breakpoints_v2.xcbkptlist
│ │ │ │ │ └── andre.xcuserdatad
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── xcschememanagement.plist
│ │ │ │ └── project.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ ├── xcuserdata
│ │ │ │ │ ├── eon.xcuserdatad
│ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ │ ├── andre.xcuserdatad
│ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ │ └── andrejorgensen.xcuserdatad
│ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ ├── Spatial
│ │ │ │ ├── src
│ │ │ │ │ ├── align
│ │ │ │ │ │ ├── axis
│ │ │ │ │ │ │ ├── Axis.swift
│ │ │ │ │ │ │ ├── VerticalAlign.swift
│ │ │ │ │ │ │ ├── HorizontalAlign.swift
│ │ │ │ │ │ │ └── AxisType.swift
│ │ │ │ │ │ ├── aligntype
│ │ │ │ │ │ │ ├── AlignType.swift
│ │ │ │ │ │ │ └── AlignType+Extension.swift
│ │ │ │ │ │ └── alignment
│ │ │ │ │ │ │ └── Alignment.swift
│ │ │ │ │ ├── type
│ │ │ │ │ │ ├── extra
│ │ │ │ │ │ │ └── ConstraintView.swift
│ │ │ │ │ │ └── ConstraintKind.swift
│ │ │ │ │ └── common
│ │ │ │ │ │ └── Hybrid.swift
│ │ │ │ ├── Spatial.h
│ │ │ │ └── Info.plist
│ │ │ └── Spatial-macOS
│ │ │ │ └── Spatial_macOS.h
│ │ │ └── With
│ │ │ ├── WithExample
│ │ │ ├── Assets.xcassets
│ │ │ │ └── Contents.json
│ │ │ └── AppDelegate.swift
│ │ │ ├── Carthage
│ │ │ └── Build
│ │ │ │ └── iOS
│ │ │ │ ├── With.framework
│ │ │ │ ├── With
│ │ │ │ ├── Info.plist
│ │ │ │ ├── Modules
│ │ │ │ │ ├── With.swiftmodule
│ │ │ │ │ │ ├── arm64.swiftdoc
│ │ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ │ ├── arm64.swiftmodule
│ │ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ │ └── module.modulemap
│ │ │ │ └── Headers
│ │ │ │ │ └── With.h
│ │ │ │ └── With.framework.dSYM
│ │ │ │ └── Contents
│ │ │ │ ├── Resources
│ │ │ │ └── DWARF
│ │ │ │ │ └── With
│ │ │ │ └── Info.plist
│ │ │ ├── WithExample.xcodeproj
│ │ │ ├── project.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ ├── xcuserdata
│ │ │ │ │ ├── eon.xcuserdatad
│ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ │ └── andre.xcuserdatad
│ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ └── xcshareddata
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ │ └── andre.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ │ └── xcschememanagement.plist
│ │ │ ├── With
│ │ │ ├── With.h
│ │ │ └── Info.plist
│ │ │ ├── With mac
│ │ │ └── With_mac.h
│ │ │ └── src
│ │ │ └── With.swift
│ ├── Cartfile
│ ├── src
│ │ ├── slider
│ │ │ ├── util
│ │ │ │ ├── Track.swift
│ │ │ │ ├── interactive
│ │ │ │ │ ├── InteractiveView.swift
│ │ │ │ │ └── InteractiveView+Core.swift
│ │ │ │ └── Thumb.swift
│ │ │ ├── Slider+Core.swift
│ │ │ └── Slider+Setter.swift
│ │ ├── spinner
│ │ │ ├── Spinner+Type.swift
│ │ │ └── stepper
│ │ │ │ ├── Stepper+Const.swift
│ │ │ │ ├── Stepper+Type.swift
│ │ │ │ ├── Stepper+Core.swift
│ │ │ │ ├── button
│ │ │ │ └── MinusButton.swift
│ │ │ │ └── Stepper.swift
│ │ ├── button
│ │ │ ├── select
│ │ │ │ ├── switchbutton
│ │ │ │ │ ├── SWB+Type.swift
│ │ │ │ │ └── SWB+Const.swift
│ │ │ │ ├── Selectable.swift
│ │ │ │ ├── selectbutton
│ │ │ │ │ ├── SB+Type.swift
│ │ │ │ │ ├── SB+Const.swift
│ │ │ │ │ ├── SB+Core.swift
│ │ │ │ │ ├── SB+Interaction.swift
│ │ │ │ │ └── SelectButton.swift
│ │ │ │ ├── special
│ │ │ │ │ ├── STB+Type.swift
│ │ │ │ │ ├── STB+Const.swift
│ │ │ │ │ ├── STB+Interaction.swift
│ │ │ │ │ ├── STB+Core.swift
│ │ │ │ │ └── SelectableTextButton.swift
│ │ │ │ └── switch
│ │ │ │ │ ├── Switch+Type.swift
│ │ │ │ │ ├── Switch+Interaction.swift
│ │ │ │ │ ├── Switch+Const.swift
│ │ │ │ │ └── Switch+Core.swift
│ │ │ ├── check
│ │ │ │ ├── checkboxbutton
│ │ │ │ │ ├── CBB+Type.swift
│ │ │ │ │ └── CBB+Const.swift
│ │ │ │ ├── CheckButton+Interaction.swift
│ │ │ │ ├── CheckButton+Type.swift
│ │ │ │ └── CheckButton+Const.swift
│ │ │ ├── text
│ │ │ │ ├── TextButton+Type.swift
│ │ │ │ └── TextButton+Create.swift
│ │ │ └── button
│ │ │ │ ├── Button+Core.swift
│ │ │ │ ├── Button+Type.swift
│ │ │ │ └── Button+Const.swift
│ │ ├── DEPRECATED
│ │ │ └── animation
│ │ │ │ └── AnimationButton+Interaction.swift
│ │ └── common
│ │ │ ├── LayerView.swift
│ │ │ └── hybrid
│ │ │ └── label
│ │ │ ├── VerticallyAlignedTextFieldCell.swift
│ │ │ └── NSLabel.swift
│ ├── Hybrid
│ │ ├── Assets.xcassets
│ │ │ └── Contents.json
│ │ ├── MainVC.swift
│ │ └── AppDelegate.swift
│ ├── Hybrid-example-macOS
│ │ ├── Assets.xcassets
│ │ │ └── Contents.json
│ │ ├── Hybrid_example_macOS.entitlements
│ │ └── AppDelegate.swift
│ ├── Cartfile.resolved
│ ├── Hybrid.xcodeproj
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ ├── xcuserdata
│ │ │ └── eon.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── example
│ │ └── ExampleView.swift
│ ├── Hybrid-iOS
│ │ ├── Hybrid_iOS.h
│ │ └── Info.plist
│ └── Hybrid-macOS
│ │ └── Hybrid_macOS.h
│ ├── Spatial
│ ├── Carthage
│ │ ├── Build
│ │ └── Checkouts
│ │ │ └── With
│ │ │ ├── WithExample
│ │ │ ├── Assets.xcassets
│ │ │ │ └── Contents.json
│ │ │ └── AppDelegate.swift
│ │ │ ├── Carthage
│ │ │ └── Build
│ │ │ │ └── iOS
│ │ │ │ ├── With.framework
│ │ │ │ ├── With
│ │ │ │ ├── Info.plist
│ │ │ │ ├── Modules
│ │ │ │ │ ├── With.swiftmodule
│ │ │ │ │ │ ├── arm64.swiftdoc
│ │ │ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ │ │ ├── arm64.swiftmodule
│ │ │ │ │ │ └── x86_64.swiftmodule
│ │ │ │ │ └── module.modulemap
│ │ │ │ └── Headers
│ │ │ │ │ └── With.h
│ │ │ │ └── With.framework.dSYM
│ │ │ │ └── Contents
│ │ │ │ ├── Resources
│ │ │ │ └── DWARF
│ │ │ │ │ └── With
│ │ │ │ └── Info.plist
│ │ │ ├── WithExample.xcodeproj
│ │ │ ├── project.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ ├── xcuserdata
│ │ │ │ │ ├── eon.xcuserdatad
│ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ │ └── andre.xcuserdatad
│ │ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ └── xcshareddata
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ │ └── andre.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ │ └── xcschememanagement.plist
│ │ │ ├── With
│ │ │ ├── With.h
│ │ │ └── Info.plist
│ │ │ ├── With mac
│ │ │ └── With_mac.h
│ │ │ └── src
│ │ │ └── With.swift
│ ├── Cartfile
│ ├── Cartfile.resolved
│ ├── SpatialExample
│ │ ├── view
│ │ │ ├── table
│ │ │ │ ├── cell
│ │ │ │ │ ├── protocol
│ │ │ │ │ │ ├── CellDataKind.swift
│ │ │ │ │ │ ├── LeagueCellData.swift
│ │ │ │ │ │ ├── MatchScoreCellData.swift
│ │ │ │ │ │ ├── MatchTeamCellData.swift
│ │ │ │ │ │ └── MatchCellData.swift
│ │ │ │ │ ├── matchhighlight
│ │ │ │ │ │ └── MatchHighlightCell.swift
│ │ │ │ │ ├── match
│ │ │ │ │ │ ├── MatchCell+Const.swift
│ │ │ │ │ │ └── MatchCell.swift
│ │ │ │ │ ├── input
│ │ │ │ │ │ ├── InputTextItem+Constants.swift
│ │ │ │ │ │ └── InputTextCell.swift
│ │ │ │ │ └── BaseCell.swift
│ │ │ │ └── CustomTableView+Interaction.swift
│ │ │ ├── main
│ │ │ │ ├── card
│ │ │ │ │ ├── CardView+Constant.swift
│ │ │ │ │ └── content
│ │ │ │ │ │ ├── bottom
│ │ │ │ │ │ ├── BottomBar+Constant.swift
│ │ │ │ │ │ └── BottomBar.swift
│ │ │ │ │ │ ├── top
│ │ │ │ │ │ └── TopBar.swift
│ │ │ │ │ │ └── middle
│ │ │ │ │ │ ├── MiddleContent.swift
│ │ │ │ │ │ ├── itemView
│ │ │ │ │ │ ├── ItemView.swift
│ │ │ │ │ │ └── ItemView+Create.swift
│ │ │ │ │ │ └── MiddleContent+Create.swift
│ │ │ │ └── MainView.swift
│ │ │ ├── spaceTest
│ │ │ │ └── SpacingTestView.swift
│ │ │ ├── MainVC.swift
│ │ │ ├── animTest
│ │ │ │ └── AnimationTestView.swift
│ │ │ └── MainVC+Create.swift
│ │ ├── Assets.xcassets
│ │ │ └── Contents.json
│ │ ├── common
│ │ │ ├── Constants.swift
│ │ │ └── Extension.swift
│ │ └── AppDelegate.swift
│ ├── Spatial.xcodeproj
│ │ ├── xcuserdata
│ │ │ ├── eon.xcuserdatad
│ │ │ │ └── xcdebugger
│ │ │ │ │ └── Breakpoints_v2.xcbkptlist
│ │ │ └── andre.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ │ └── xcschememanagement.plist
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ ├── xcuserdata
│ │ │ ├── andre.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ ├── eon.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── andrejorgensen.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── Spatial
│ │ ├── src
│ │ │ ├── align
│ │ │ │ ├── axis
│ │ │ │ │ ├── Axis.swift
│ │ │ │ │ ├── VerticalAlign.swift
│ │ │ │ │ ├── HorizontalAlign.swift
│ │ │ │ │ └── AxisType.swift
│ │ │ │ ├── aligntype
│ │ │ │ │ ├── AlignType.swift
│ │ │ │ │ └── AlignType+Extension.swift
│ │ │ │ └── alignment
│ │ │ │ │ ├── Alignment.swift
│ │ │ │ │ └── Alignment+Extension.swift
│ │ │ ├── type
│ │ │ │ ├── extra
│ │ │ │ │ └── ConstraintView.swift
│ │ │ │ ├── ConstraintKind.swift
│ │ │ │ └── ConstraintKind+Type.swift
│ │ │ └── common
│ │ │ │ └── Hybrid.swift
│ │ ├── Spatial.h
│ │ └── Info.plist
│ └── Spatial-macOS
│ │ └── Spatial_macOS.h
│ └── With
│ ├── WithExample
│ ├── Assets.xcassets
│ │ └── Contents.json
│ └── AppDelegate.swift
│ ├── Carthage
│ └── Build
│ │ └── iOS
│ │ ├── With.framework
│ │ ├── With
│ │ ├── Info.plist
│ │ ├── Modules
│ │ │ ├── With.swiftmodule
│ │ │ │ ├── arm64.swiftdoc
│ │ │ │ ├── x86_64.swiftdoc
│ │ │ │ ├── arm64.swiftmodule
│ │ │ │ └── x86_64.swiftmodule
│ │ │ └── module.modulemap
│ │ └── Headers
│ │ │ └── With.h
│ │ └── With.framework.dSYM
│ │ └── Contents
│ │ ├── Resources
│ │ └── DWARF
│ │ │ └── With
│ │ └── Info.plist
│ ├── WithExample.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcuserdata
│ │ │ ├── eon.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── andre.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── andre.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
│ ├── With
│ ├── With.h
│ └── Info.plist
│ ├── With mac
│ └── With_mac.h
│ └── src
│ └── With.swift
├── AnimKitExample
├── elasticTest
│ ├── Box.swift
│ ├── View+Elastic.swift
│ └── ElasticView+Event.swift
├── Assets.xcassets
│ ├── Contents.json
│ ├── eye.imageset
│ │ ├── eye.pdf
│ │ └── Contents.json
│ ├── bolt.imageset
│ │ ├── bolt.pdf
│ │ └── Contents.json
│ └── calculator.imageset
│ │ ├── calculator.pdf
│ │ └── Contents.json
├── peekandpop
│ ├── button
│ │ ├── modal
│ │ │ ├── ModalButton+Type.swift
│ │ │ ├── force
│ │ │ │ ├── ForceButton+Const.swift
│ │ │ │ ├── ForceButton+Type.swift
│ │ │ │ ├── ForceButton.swift
│ │ │ │ ├── ForceButton+Helper.swift
│ │ │ │ └── ForceButton+Enum.swift
│ │ │ ├── ModalButton+Helper.swift
│ │ │ └── ModalButton+Anim.swift
│ │ └── dismiss
│ │ │ ├── DismissButton+Anim.swift
│ │ │ └── DismissButton.swift
│ └── common
│ │ ├── NSWindow+Extension.swift
│ │ └── DepthParser.swift
├── AnimKitExample.entitlements
├── AppDelegate.swift
├── test
│ ├── View+SpringerTest.swift
│ ├── View+EaserTest.swift
│ └── View+MovingTest.swift
├── AppDelegate+Create.swift
└── View.swift
├── Cartfile.private
├── AnimKitExampleIOS
├── Assets.xcassets
│ └── Contents.json
├── peekandpop
│ ├── button
│ │ └── modal
│ │ │ ├── FirstButton.swift
│ │ │ ├── ThirdButton.swift
│ │ │ ├── SecondButton.swift
│ │ │ ├── forcetouch
│ │ │ ├── ForceTouchButtonKind.swift
│ │ │ └── ForceTouchButton.swift
│ │ │ └── modalbutton
│ │ │ └── ModalButton.swift
│ └── PeakAndPopView.swift
├── ViewController.swift
├── MainVC.swift
└── AppDelegate.swift
├── src
├── physics
│ ├── springer
│ │ └── Springer+Type.swift
│ ├── easer
│ │ ├── Easer+Type.swift
│ │ └── Easer+Core.swift
│ ├── rubberband
│ │ ├── RubberBand+Default.swift
│ │ ├── RubberBand+Access.swift
│ │ └── group
│ │ │ ├── MoverGroup.swift
│ │ │ └── Dir.swift
│ ├── protocol
│ │ └── Advancable.swift
│ ├── mover
│ │ ├── Mover+Core.swift
│ │ └── Mover.swift
│ └── Physics
│ │ └── PhysicsAnimKind+Access.swift
├── common
│ ├── DisplayLink.swift
│ ├── ArraySugar.swift
│ ├── CGRectSugar.swift
│ ├── roundedrect
│ │ ├── RoundedRect+Extension.swift
│ │ └── RoundedRect.swift
│ └── ViewSugar.swift
├── animation
│ ├── loop
│ │ ├── LoopAnimator+Default.swift
│ │ ├── LoopAnimator+Type.swift
│ │ └── LoopAnimator+Core.swift
│ ├── Animator
│ │ ├── Animator+Default.swift
│ │ ├── Animator+Access.swift
│ │ └── Animator+Type.swift
│ └── frame
│ │ ├── FrameAnimator+Access.swift
│ │ ├── FrameAnimator+Core.swift
│ │ ├── protocol
│ │ └── FrameAnimatable.swift
│ │ └── FrameAnimator.swift
├── proxy
│ └── AnimProxyKind.swift
└── easing
│ ├── type
│ └── Linear.swift
│ ├── EasingEquation.swift
│ └── Easing.swift
├── Cartfile.resolved
├── AnimKitExample.xcodeproj
└── project.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcuserdata
│ └── eon.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ ├── WorkspaceSettings.xcsettings
│ └── IDEWorkspaceChecks.plist
├── AnimKit
├── AnimKit.h
└── Info.plist
└── AnimKitIOS
├── AnimKitIOS.h
└── Info.plist
/Carthage/Build/Mac/With_mac.framework/Versions/Current:
--------------------------------------------------------------------------------
1 | A
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/Current:
--------------------------------------------------------------------------------
1 | A
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Versions/Current:
--------------------------------------------------------------------------------
1 | A
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Build:
--------------------------------------------------------------------------------
1 | ../../../../Carthage/Build
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Build:
--------------------------------------------------------------------------------
1 | ../../../../Carthage/Build
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Headers:
--------------------------------------------------------------------------------
1 | Versions/Current/Headers
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Modules:
--------------------------------------------------------------------------------
1 | Versions/Current/Modules
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/Headers:
--------------------------------------------------------------------------------
1 | Versions/Current/Headers
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/Modules:
--------------------------------------------------------------------------------
1 | Versions/Current/Modules
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/Resources:
--------------------------------------------------------------------------------
1 | Versions/Current/Resources
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/With_mac:
--------------------------------------------------------------------------------
1 | Versions/Current/With_mac
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Cartfile:
--------------------------------------------------------------------------------
1 | github "eonist/With" "master"
2 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Resources:
--------------------------------------------------------------------------------
1 | Versions/Current/Resources
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Headers:
--------------------------------------------------------------------------------
1 | Versions/Current/Headers
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Modules:
--------------------------------------------------------------------------------
1 | Versions/Current/Modules
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Resources:
--------------------------------------------------------------------------------
1 | Versions/Current/Resources
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Hybrid_macOS:
--------------------------------------------------------------------------------
1 | Versions/Current/Hybrid_macOS
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Spatial_macOS:
--------------------------------------------------------------------------------
1 | Versions/Current/Spatial_macOS
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Build:
--------------------------------------------------------------------------------
1 | ../../../../Carthage/Build
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Cartfile:
--------------------------------------------------------------------------------
1 | github "eonist/With" "master"
2 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Cartfile:
--------------------------------------------------------------------------------
1 | github "eonist/Spatial" "master"
2 | github "eonist/With" "master"
3 |
--------------------------------------------------------------------------------
/AnimKitExample/elasticTest/Box.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import Hybrid_macOS
3 |
4 | class Box: Thumb { }
5 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Cartfile.resolved:
--------------------------------------------------------------------------------
1 | github "eonist/With" "de390eba1633f98fea840c5d02e457d996e73071"
2 |
--------------------------------------------------------------------------------
/Cartfile.private:
--------------------------------------------------------------------------------
1 | github "eonist/With" "master"
2 | github "eonist/Spatial" "master"
3 | github "eonist/Hybrid" "master"
4 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/slider/util/Track.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | open class Track: InteractiveView { }
4 |
--------------------------------------------------------------------------------
/AnimKitExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/With.framework/With
--------------------------------------------------------------------------------
/AnimKitExampleIOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework/Spatial:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Spatial.framework/Spatial
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/With.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Cartfile.resolved:
--------------------------------------------------------------------------------
1 | github "eonist/With" "de390eba1633f98fea840c5d02e457d996e73071"
2 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/CellDataKind.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | protocol CellDataKind {}
4 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Spatial.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/WithExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/AnimKitExample/Assets.xcassets/eye.imageset/eye.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/AnimKitExample/Assets.xcassets/eye.imageset/eye.pdf
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework/Hybrid_iOS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Hybrid_iOS.framework/Hybrid_iOS
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Hybrid_iOS.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/AnimKitExample/Assets.xcassets/bolt.imageset/bolt.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/AnimKitExample/Assets.xcassets/bolt.imageset/bolt.pdf
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid-example-macOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/Versions/A/With_mac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/With_mac.framework/Versions/A/With_mac
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/CellDataKind.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | protocol CellDataKind {}
4 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/matchhighlight/MatchHighlightCell.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | //actionLabel (left)
3 | //timeLabel (right)
4 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/peekandpop/button/modal/FirstButton.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class FirstButton: ModalButton {
4 | override var factor: CGFloat { return 1 }
5 | }
6 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/peekandpop/button/modal/ThirdButton.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class ThirdButton: ModalButton {
4 | override var factor: CGFloat { return 3 }
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/physics/springer/Springer+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension Springer {
4 | public typealias Config = (spring: T, friction: T) // Signatures
5 | }
6 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/peekandpop/button/modal/SecondButton.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class SecondButton: ModalButton {
4 | override var factor: CGFloat { return 2 }
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/spinner/Spinner+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension Spinner {
4 | public typealias OnChange = (_ value: String) -> Void
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/With
--------------------------------------------------------------------------------
/AnimKitExample/Assets.xcassets/calculator.imageset/calculator.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/AnimKitExample/Assets.xcassets/calculator.imageset/calculator.pdf
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/A/Hybrid_macOS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/A/Hybrid_macOS
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Cartfile.resolved:
--------------------------------------------------------------------------------
1 | github "eonist/Spatial" "0d44ec6f1d898b0ea4a076b5c023bf64eef51bae"
2 | github "eonist/With" "216976bcbccf3d0f4a5221ef0009b16f4060944c"
3 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Versions/A/Spatial_macOS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/Spatial_macOS.framework/Versions/A/Spatial_macOS
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework.dSYM/Contents/Resources/DWARF/Spatial:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Spatial.framework.dSYM/Contents/Resources/DWARF/Spatial
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/matchhighlight/MatchHighlightCell.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | //actionLabel (left)
3 | //timeLabel (right)
4 |
--------------------------------------------------------------------------------
/src/physics/easer/Easer+Type.swift:
--------------------------------------------------------------------------------
1 | /**
2 | * Type
3 | */
4 | extension Easer {
5 | public typealias FrameTickSignature = (T) -> Void
6 | public typealias OnComplete = () -> Void
7 | }
8 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework.dSYM/Contents/Resources/DWARF/With_mac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/With_mac.framework.dSYM/Contents/Resources/DWARF/With_mac
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework/Modules/Spatial.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Spatial.framework/Modules/Spatial.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/switchbutton/SWB+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension SwitchButton {
4 | public typealias SwitchButtonStyle = (textColor: Color, font: Font)
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework.dSYM/Contents/Resources/DWARF/Hybrid_iOS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Hybrid_iOS.framework.dSYM/Contents/Resources/DWARF/Hybrid_iOS
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework/Modules/Spatial.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Spatial.framework/Modules/Spatial.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/check/checkboxbutton/CBB+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension CheckBoxButton {
4 | public typealias CheckBoxBtnStyle = (textColor: Color, font: Font)
5 | }
6 |
--------------------------------------------------------------------------------
/src/common/DisplayLink.swift:
--------------------------------------------------------------------------------
1 | #if os(iOS)
2 | import UIKit
3 | public typealias DisplayLink = CADisplayLink
4 | #elseif os(macOS)
5 | import Cocoa
6 | public typealias DisplayLink = CVDisplayLink
7 | #endif
8 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework.dSYM/Contents/Resources/DWARF/Hybrid_macOS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/Hybrid_macOS.framework.dSYM/Contents/Resources/DWARF/Hybrid_macOS
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework/Modules/Spatial.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Spatial.framework/Modules/Spatial.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework/Modules/Spatial.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Spatial.framework/Modules/Spatial.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/LeagueCellData.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct LeagueCellData: CellDataKind {
4 | let team: String
5 | let placement: String
6 | }
7 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework.dSYM/Contents/Resources/DWARF/Spatial_macOS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/Spatial_macOS.framework.dSYM/Contents/Resources/DWARF/Spatial_macOS
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/Hybrid_iOS.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/Hybrid_iOS.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/Hybrid_iOS.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/Hybrid_iOS.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial.xcodeproj/xcuserdata/eon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/CardView+Constant.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | extension CardView {
4 | static let margin: UIEdgeInsets = .init(top: 24, left: 12, bottom: 24, right: 12)
5 | }
6 |
--------------------------------------------------------------------------------
/Cartfile.resolved:
--------------------------------------------------------------------------------
1 | github "eonist/Hybrid" "11bf4a5191a97df0e8d762aaa9e8cdb2739d58dc"
2 | github "eonist/Spatial" "068d05d0c87a82194da4027eabc26e966ae2bd15"
3 | github "eonist/With" "216976bcbccf3d0f4a5221ef0009b16f4060944c"
4 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/Hybrid_iOS.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/Hybrid_iOS.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/Hybrid_iOS.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/Hybrid_iOS.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/With
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/With
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/MatchScoreCellData.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct MatchScoreCellData: CellDataKind {
4 | let homeScore: String
5 | let awayScore: String
6 | }
7 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/MatchTeamCellData.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct MatchTeamCellData: CellDataKind {
4 | let homeTeam: String
5 | let awayTeam: String
6 | }
7 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/modal/ModalButton+Type.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | /**
3 | * Typealias
4 | */
5 | extension ModalButton {
6 | typealias Design = (icon: ImageAsset, idleColor: NSColor?, idleFrame: CGRect)
7 | }
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/Selectable.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public protocol Selectable: AnyObject {
4 | var selected: Bool { get set }//{get{return getSelected()}set{setSelected(newValue)}}
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/Versions/A/Modules/With_mac.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/With_mac.framework/Versions/A/Modules/With_mac.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/Versions/A/Modules/With_mac.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/With_mac.framework/Versions/A/Modules/With_mac.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/LeagueCellData.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct LeagueCellData: CellDataKind {
4 | let team: String
5 | let placement: String
6 | }
7 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/selectbutton/SB+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | /**
4 | * Type
5 | */
6 | extension SelectButton {
7 | public typealias Styles = (active: Button.Style, inActive: Button.Style)
8 | }
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/MatchCellData.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct MatchCellData: CellDataKind {
4 | let homeTeam: String
5 | let awayTeam: String
6 | let date: String
7 | }
8 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/ViewController.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class ViewController: UIViewController {
4 | override func viewDidLoad() {
5 | super.viewDidLoad()
6 | // Do any additional setup after loading the view.
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/xcuserdata/eon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/CardView+Constant.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | extension CardView {
4 | static let margin: UIEdgeInsets = .init(top: 24, left: 12, bottom: 24, right: 12)
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/check/checkboxbutton/CBB+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension CheckBoxButton {
4 | public static let defaultStyle: CheckBoxBtnStyle = (textColor: .black, font: .systemFont(ofSize: 20))
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/special/STB+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Type
4 | */
5 | extension SelectableTextButton {
6 | public typealias Styles = (active: TextButtonStyle, inActive: TextButtonStyle)
7 | }
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/switchbutton/SWB+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension SwitchButton {
4 | public static let defaultStyle: SwitchButtonStyle = (textColor: .black, font: .systemFont(ofSize: 20))
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/A/Modules/Hybrid_macOS.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/A/Modules/Hybrid_macOS.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/MatchTeamCellData.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct MatchTeamCellData: CellDataKind {
4 | let homeTeam: String
5 | let awayTeam: String
6 | }
7 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/AnimKitExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AnimKitExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/AnimKitExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/A/Modules/Hybrid_macOS.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/A/Modules/Hybrid_macOS.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Versions/A/Modules/Spatial_macOS.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/Spatial_macOS.framework/Versions/A/Modules/Spatial_macOS.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/MatchScoreCellData.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct MatchScoreCellData: CellDataKind {
4 | let homeScore: String
5 | let awayScore: String
6 | }
7 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Versions/A/Modules/Spatial_macOS.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Build/Mac/Spatial_macOS.framework/Versions/A/Modules/Spatial_macOS.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/protocol/MatchCellData.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct MatchCellData: CellDataKind {
4 | let homeTeam: String
5 | let awayTeam: String
6 | let date: String
7 | }
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module With {
2 | umbrella header "With.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module With.Swift {
9 | header "With-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/bottom/BottomBar+Constant.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | extension BottomBar {
4 | static let bottomBarHeight: CGFloat = UIScreen.main.bounds.width / 4 + UIApplication.shared.statusBarFrame.height
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/selectbutton/SB+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | /**
4 | * Const
5 | */
6 | extension SelectButton {
7 | public static let defaultStyles: Styles = (active: Button.alternateStyle, inActive: Button.defaultStyle)
8 | }
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/With
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/spinner/stepper/Stepper+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Const
4 | */
5 | extension Stepper {
6 | public static let defaultData: InitData = (value: 0, increment: 1, min: CGFloat(Int.min), max: CGFloat(Int.max), decimals: 0)
7 | }
8 |
--------------------------------------------------------------------------------
/AnimKitExample.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module Spatial {
2 | umbrella header "Spatial.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module Spatial.Swift {
9 | header "Spatial-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Hybrid.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/bottom/BottomBar+Constant.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | extension BottomBar {
4 | static let bottomBarHeight: CGFloat = UIScreen.main.bounds.width / 4 + UIApplication.shared.statusBarFrame.height
5 | }
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/align/axis/Axis.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Axis alignment
4 | * - Note: Use .rawValue if you want to get the string "topLeft"
5 | */
6 | public enum Axis: String {
7 | case hor // Horizontal
8 | case ver // Vertical
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module With {
2 | umbrella header "With.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module With.Swift {
9 | header "With-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/src/animation/loop/LoopAnimator+Default.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Deafult
4 | */
5 | extension LoopAnimator {
6 | /**
7 | * Default init values
8 | */
9 | static var initLoopValues: InitLoopValues = (duration: 0.5, from: 0, to: 1, repeatCount: 3)
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/Versions/A/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module With_mac {
2 | umbrella header "With_mac.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module With_mac.Swift {
9 | header "With_mac-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module Hybrid_iOS {
2 | umbrella header "Hybrid_iOS.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module Hybrid_iOS.Swift {
9 | header "Hybrid_iOS-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/special/STB+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Const
4 | */
5 | extension SelectableTextButton {
6 | public static let defaultStyles: Styles = (active: TextButton.alternateTextButtonStyle, inActive: TextButton.defaultTextButtonStyle)
7 | }
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/dismiss/DismissButton+Anim.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension DismissButton {
4 | /**
5 | * onFrameTick
6 | */
7 | func onFrameTick(value: CGFloat) {
8 | self.frame.origin.y = value // We only want to animate the Y position
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/andrejorgensen.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/andrejorgensen.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/A/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module Hybrid_macOS {
2 | umbrella header "Hybrid_macOS.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module Hybrid_macOS.Swift {
9 | header "Hybrid_macOS-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/align/axis/Axis.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Axis alignment
4 | * - Note: Use .rawValue if you want to get the string "topLeft"
5 | */
6 | public enum Axis: String {
7 | case hor/*Horizontal*/
8 | case ver/*Vertical*/
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module With {
2 | umbrella header "With.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module With.Swift {
9 | header "With-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/switch/Switch+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Style
4 | */
5 | extension Switch {
6 | public typealias SwitchStyles = (selected: SwitchStyle, unSelected: SwitchStyle)
7 | public typealias SwitchStyle = (foregroundColor: Color, backgroundColor: Color)
8 | }
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module With {
2 | umbrella header "With.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module With.Swift {
9 | header "With-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Versions/A/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module Spatial_macOS {
2 | umbrella header "Spatial_macOS.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module Spatial_macOS.Swift {
9 | header "Spatial_macOS-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/align/axis/VerticalAlign.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Note: Use .rawValue if you want to get the string "topLeft"
4 | */
5 | public enum VerticalAlign: String {
6 | case top
7 | case bottom
8 | case centerY // Use centerY or else .dot syntax fails
9 | }
10 |
--------------------------------------------------------------------------------
/src/animation/Animator/Animator+Default.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Defaults
4 | */
5 | extension Animator {
6 | public static let initValues: InitValues = (dur: 0.5, from: 0, to: 1) // Default init values
7 | static let fps: CGFloat = 60 // Fixme: ⚠️️ this should be derived from a device variable
8 | }
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/align/axis/HorizontalAlign.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Note: Use .rawValue if you want to get the string "topLeft"
4 | */
5 | public enum HorizontalAlign: String {
6 | case left
7 | case right
8 | case centerX // Use centerX or else .dot syntax fails
9 | }
10 |
--------------------------------------------------------------------------------
/src/proxy/AnimProxyKind.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Fixme: ⚠️️ This protocol may not even be needed as you don't extend AnimProxy
4 | */
5 | public protocol AnimProxyKind: AnyObject {
6 | func onFrame()
7 | var animators: [FrameAnimator] { get set }
8 | var displayLink: DisplayLink { get }
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/type/extra/ConstraintView.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Note: Convenient UIView so you don't have to add anchor and size your self
4 | */
5 | open class ConstraintView: View, ConstraintKind {
6 | public var anchor: AnchorConstraint?
7 | public var size: SizeConstraint?
8 | }
9 |
--------------------------------------------------------------------------------
/src/physics/rubberband/RubberBand+Default.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Defaults
4 | */
5 | extension RubberBand {
6 | public static var defaultConfig: Config = (
7 | friction: 0.98,
8 | springEasing: 0.2,
9 | spring: 0.4,
10 | limit: 100.0,
11 | epsilon: 0.15
12 | )
13 | }
14 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Resources/DWARF/With
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module With {
2 | umbrella header "With.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module With.Swift {
9 | header "With-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid/MainVC.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Hybrid_iOS
3 |
4 | class MainVC: UIViewController {
5 | override func viewDidLoad() {
6 | super.viewDidLoad()
7 | self.view = ExampleView(frame: UIScreen.main.bounds)
8 | }
9 | override var prefersStatusBarHidden: Bool { return true }
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/spaceTest/SpacingTestView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class SpacingTestView: UIView {
5 | lazy var verticalItems: [UIView] = createVerticalItems()
6 | override func layoutSubviews() {
7 | super.layoutSubviews()
8 | _ = verticalItems
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/AnimKitExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/AnimKitExample/Assets.xcassets/bolt.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "bolt.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "preserves-vector-representation" : true
14 | }
15 | }
--------------------------------------------------------------------------------
/AnimKitExample/Assets.xcassets/eye.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "eye.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "preserves-vector-representation" : true
14 | }
15 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/align/axis/AxisType.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Single axis type
4 | * - Note: use .rawValue if you want to get the string "topLeft"
5 | */
6 | public enum AxisType: String {
7 | case start // left, top
8 | case middle // centerX, centerY
9 | case end // right, bottom
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Build/.With.version:
--------------------------------------------------------------------------------
1 | {
2 | "commitish" : "216976bcbccf3d0f4a5221ef0009b16f4060944c",
3 | "Mac" : [
4 | {
5 | "name" : "With_mac",
6 | "hash" : "de464a72f59546cc7789fd1f8f16b1548f8b2b54e6bb5d3c19bd9c4d273c0b67",
7 | "swiftToolchainVersion" : "5.0 (swiftlang-1001.0.69.5 clang-1001.0.46.3)"
8 | }
9 | ]
10 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Modules/With.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/align/axis/VerticalAlign.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Note: Use .rawValue if you want to get the string "topLeft"
4 | */
5 | public enum VerticalAlign: String {
6 | case top
7 | case bottom
8 | case centerY /* Use centerY or else .dot syntax fails */
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/AnimKitExample/Assets.xcassets/calculator.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "calculator.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "preserves-vector-representation" : true
14 | }
15 | }
--------------------------------------------------------------------------------
/Carthage/Build/.Hybrid.version:
--------------------------------------------------------------------------------
1 | {
2 | "commitish" : "11bf4a5191a97df0e8d762aaa9e8cdb2739d58dc",
3 | "Mac" : [
4 | {
5 | "name" : "Hybrid_macOS",
6 | "hash" : "f359c06c49b4faff8f5d230de1a3f8182a84b80b823390b9f6574d1e7ebb49cc",
7 | "swiftToolchainVersion" : "5.0 (swiftlang-1001.0.69.5 clang-1001.0.46.3)"
8 | }
9 | ]
10 | }
--------------------------------------------------------------------------------
/Carthage/Build/.Spatial.version:
--------------------------------------------------------------------------------
1 | {
2 | "commitish" : "068d05d0c87a82194da4027eabc26e966ae2bd15",
3 | "Mac" : [
4 | {
5 | "name" : "Spatial_macOS",
6 | "hash" : "6bc7f184c93eb4e0ab83da3afec981a2d0f3763d41f12b0e764bd1158473d5d7",
7 | "swiftToolchainVersion" : "5.0 (swiftlang-1001.0.69.5 clang-1001.0.46.3)"
8 | }
9 | ]
10 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/align/axis/HorizontalAlign.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Note: Use .rawValue if you want to get the string "topLeft"
4 | */
5 | public enum HorizontalAlign: String {
6 | case left
7 | case right
8 | case centerX/* Use centerX or else .dot syntax fails */
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/type/extra/ConstraintView.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Note: Convenient UIView so you don't have to add anchor and size your self
4 | */
5 | open class ConstraintView: View, ConstraintKind {
6 | public var anchor: AnchorConstraint?
7 | public var size: SizeConstraint?
8 | }
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/CustomTableView+Interaction.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | extension CustomTableView {
4 | /**
5 | * When an item is tapped
6 | */
7 | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
8 | Swift.print("Tapped idx: \(indexPath.row)")
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/andrejorgensen.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcuserdata/andrejorgensen.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/check/CheckButton+Interaction.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * interaction
4 | */
5 | extension CheckButton {
6 | /**
7 | * onTapUpInside
8 | */
9 | override open func onUpInside() {
10 | super.onUpInside()
11 | Swift.print("onUpInside")
12 | selected.toggle()
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/selectbutton/SB+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Core
4 | */
5 | extension SelectButton {
6 | /**
7 | * Fixme: ⚠️️ This is not needed as you can set it in style
8 | */
9 | override open func drawLayout() {
10 | self.caLayer?.cornerRadius = self.frame.height / 2
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/switch/Switch+Interaction.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Interaction
4 | */
5 | extension Switch {
6 | /**
7 | * onTapUpInside
8 | */
9 | override open func onUpInside() {
10 | // Swift.print("onUpInside")
11 | super.onUpInside()
12 | selected.toggle()
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/spaceTest/SpacingTestView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class SpacingTestView: UIView {
5 | lazy var verticalItems: [UIView] = createVerticalItems()
6 | override func layoutSubviews() {
7 | super.layoutSubviews()
8 | _ = verticalItems
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/selectbutton/SB+Interaction.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Interaction
4 | */
5 | extension SelectButton {
6 | /**
7 | * onTapUpInside
8 | */
9 | override open func onUpInside() {
10 | Swift.print("onUpInside")
11 | super.onUpInside()
12 | selected.toggle()
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/align/axis/AxisType.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Single axis type
4 | * - Note: use .rawValue if you want to get the string "topLeft"
5 | */
6 | public enum AxisType: String {
7 | case start /*left, top*/
8 | case middle /*centerX, centerY*/
9 | case end /*right, bottom*/
10 | }
11 |
--------------------------------------------------------------------------------
/src/physics/easer/Easer+Core.swift:
--------------------------------------------------------------------------------
1 | /**
2 | * Core
3 | */
4 | extension Easer {
5 | /**
6 | * The value will never be absolute, so we use epsilon to determine if it's close enough
7 | * - Fixme: ⚠️️ Rename to hasStopped
8 | */
9 | var assertStop: Bool {
10 | return state.velocity.isNear(value: stopVelocity, epsilon: epsilon)
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/MainVC.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import AnimKitIOS
3 |
4 | class MainVC: UIViewController {
5 | override func viewDidLoad() {
6 | super.viewDidLoad()
7 | // view = MainView(frame: .zero)
8 | view = PeekAndPopView()
9 | view.backgroundColor = .yellow
10 | }
11 | override var prefersStatusBarHidden: Bool { return true }
12 | }
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/CustomTableView+Interaction.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | extension CustomTableView {
4 | /**
5 | * When an item is tapped
6 | */
7 | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
8 | Swift.print("Tapped idx: \(indexPath.row)")
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/check/CheckButton+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | /**
4 | * Typealias
5 | */
6 | extension CheckButton {
7 | public typealias CheckBtnStyles = (active: CheckButton.CheckBtnStyle, inActive: CheckButton.CheckBtnStyle)
8 | public typealias CheckBtnStyle = (backgroundColor: Color, borderColor: Color, isRounded: Bool)
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/special/STB+Interaction.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Interaction
4 | */
5 | extension SelectableTextButton {
6 | /**
7 | * onTapUpInside
8 | */
9 | override open func onUpInside() {
10 | Swift.print("onUpInside")
11 | super.onUpInside()
12 | selected.toggle() //toggle
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/animation/loop/LoopAnimator+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Type
4 | */
5 | extension LoopAnimator {
6 | /**
7 | * Typalias signature for initValues
8 | * - Parameter repeatCount: the number of times the animation should loop
9 | */
10 | typealias InitLoopValues = (duration: CGFloat, from: CGFloat, to: CGFloat, repeatCount: Int)
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eonist/AnimLib/HEAD/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcuserdata/andre.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/src/animation/frame/FrameAnimator+Access.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Access
4 | */
5 | extension FrameAnimator {
6 | /**
7 | * Assert if an animator is in the array of animators (aka is animating)
8 | * Fixme: ⚠️️ Name this hasStopped
9 | */
10 | public var stopped: Bool {
11 | return animProxy.animators.first { $0 === self } == nil
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/check/CheckButton+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | /**
4 | * Const
5 | */
6 | extension CheckButton {
7 | public static let defStyle: CheckBtnStyle = (.white, .black, true)
8 | public static let altStyle: CheckBtnStyle = (.black, .white, true)
9 | public static let defaultStyles: CheckBtnStyles = (active: altStyle, inActive: defStyle)
10 | }
11 |
--------------------------------------------------------------------------------
/AnimKitExample/AnimKitExample.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.files.user-selected.read-only
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/AnimKitExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | import AnimKit
3 |
4 | @NSApplicationMain
5 | class AppDelegate: NSObject, NSApplicationDelegate {
6 | @IBOutlet weak var window: NSWindow!
7 | /**
8 | * Creates the view
9 | */
10 | lazy var view: NSView = createView()
11 | func applicationDidFinishLaunching(_ aNotification: Notification) {
12 | _ = view
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/physics/rubberband/RubberBand+Access.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Access
4 | */
5 | extension RubberBand {
6 | var friction: CGFloat { return config.friction }
7 | var springEasing: CGFloat { return config.springEasing }
8 | var spring: CGFloat { return config.spring }
9 | var limit: CGFloat { return config.limit }
10 | var epsilon: CGFloat { return config.epsilon }
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/animation/frame/FrameAnimator+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Core
4 | */
5 | extension FrameAnimator {
6 | /**
7 | * This is called from the AnimProxy.onFrameOnMainThread method
8 | */
9 | @objc func onFrameTick() { // Fixme: ⚠️️ should be marked overridable, and move this to extension and use @objc etc
10 | fatalError("Must be overwritten in subclass")
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/With/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/common/ArraySugar.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension Array {
4 | /**
5 | * Removes first item in array if available
6 | */
7 | @discardableResult
8 | public mutating func removeFirst(_ item: Element) -> Element? {
9 | if let i = self.firstIndex(where: { ($0 as AnyObject) === (item as AnyObject) }) {
10 | return self.remove(at: i)
11 | }
12 | return nil
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework/Headers/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid-example-macOS/Hybrid_example_macOS.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.files.user-selected.read-only
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/Spatial.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for Spatial.
5 | FOUNDATION_EXPORT double SpatialVersionNumber;
6 |
7 | //! Project version string for Spatial.
8 | FOUNDATION_EXPORT const unsigned char SpatialVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/With/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/With/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/type/ConstraintKind.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * UIView's that implement this protocol are able to store the anchor and size constraints
4 | * - Note: Storing Constraints is a must if you want to change the constraints at a later point in time
5 | */
6 | public protocol ConstraintKind: AnyObject {
7 | var anchor: AnchorConstraint? { get set }
8 | var size: SizeConstraint? { get set }
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework/Headers/Spatial.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for Spatial.
5 | FOUNDATION_EXPORT double SpatialVersionNumber;
6 |
7 | //! Project version string for Spatial.
8 | FOUNDATION_EXPORT const unsigned char SpatialVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/easing/type/Linear.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * No easing, linear animation
4 | * - Fixme: ⚠️️ An idea is to use enums to attach equations to the animator like Easing.linear.ease etc
5 | */
6 | public class Linear {
7 | /*
8 | * ease
9 | */
10 | public static func ease(_ t: CGFloat, _ b: CGFloat, _ c: CGFloat, _ d: CGFloat) -> CGFloat { // Think line in graph: y = x
11 | return c * t / d + b
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/modal/force/ForceButton+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension ForceButton {
4 | static let defaultStageSwitch: StageSwitch = { stage in }
5 | static let defaultStageChange: StageChange = { stage in /*Swift.print("no call-back attached stage: \(stage)")*/ }
6 | static let defaultPressureChange: PressureChange = { linearPressure in /*Swift.print("no call-back attached linearPressure: \(linearPressure)")*/ }
7 | }
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Headers/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/bottom/BottomBar.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class BottomBar: UIView {
4 | override init(frame: CGRect) {
5 | super.init(frame: frame)
6 | backgroundColor = .blue
7 | }
8 | /**
9 | * Boilerplate
10 | */
11 | @available(*, unavailable)
12 | required init?(coder aDecoder: NSCoder) {
13 | fatalError("init(coder:) has not been implemented")
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/common/CGRectSugar.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension CGRect {
4 | public static func + (a: CGRect, b: CGRect) -> CGRect { return CGRect(origin: a.origin + b.origin, size: a.size + b.size) }
5 | public static func - (a: CGRect, b: CGRect) -> CGRect { return CGRect(origin: a.origin - b.origin, size: a.size - b.size) }
6 | public static func * (a: CGRect, b: CGRect) -> CGRect { return CGRect(origin: a.origin * b.origin, size: a.size * b.size) }
7 | }
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/Spatial.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for Spatial.
5 | FOUNDATION_EXPORT double SpatialVersionNumber;
6 |
7 | //! Project version string for Spatial.
8 | FOUNDATION_EXPORT const unsigned char SpatialVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/spinner/stepper/Stepper+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Type
4 | */
5 | extension Stepper {
6 | public typealias OnChange = (_ value: String) -> Void
7 | /**
8 | * - Parameter decimals: Decimal places
9 | * - Parameter increment: The amount of incrementation for each stepping
10 | */
11 | public typealias InitData = (value: CGFloat, increment: CGFloat, min: CGFloat, max: CGFloat, decimals: Int)
12 | }
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/align/aligntype/AlignType.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Single align type
4 | * - Fixme: ⚠️️ Reference AlignType in HorAlign and VerAlign, and prob use CenterX,CenterY naming instead
5 | * - Note: Use .rawValue if you want to get the string "topLeft"
6 | */
7 | public enum AlignType: String {
8 | case left
9 | case right
10 | case top
11 | case bottom
12 | case centerHor
13 | case centerVer
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/common/Constants.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | /**
4 | * Move to own class, margins, insets etc
5 | * TIPS: Access all colors via: Constants.Colors.allCases
6 | */
7 | class Constants {
8 | enum Colors: String, CaseIterable {
9 | case blue = "FB1B4D", yellow = "1DE3E6", red = "22FFA0", green = "FED845"
10 | var uiColor: UIColor {
11 | return .init(hex: self.rawValue)
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/animation/frame/protocol/FrameAnimatable.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Fixme: ⚠️️ This protocol might not be needed
4 | * - Fixme: ⚠️️ Rename stopped to hasStopped
5 | */
6 | public protocol FrameAnimatable {
7 | var animProxy: AnimProxyKind { get } // Access to singelton instance
8 | func start() // Start animation
9 | func stop() // Stop animation
10 | var stopped: Bool { get } // Assert if this animation has stopped or not
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/With/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/text/TextButton+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | /**
4 | * Typealias
5 | */
6 | extension TextButton {
7 | public typealias TextButtonStyle = (backgroundColor: Color, borderColor: Color, textColor: Color, borderWidth: CGFloat)
8 | public static let defaultTextButtonStyle: TextButtonStyle = (.white, .black, .black, 1)
9 | public static let alternateTextButtonStyle: TextButtonStyle = (.black, .white, .white, 1)
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/type/ConstraintKind.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * UIView's that implement this protocol are able to store the anchor and size constraints
4 | * - Note: Storing Constraints is a must if you want to change the constraints at a later point in time
5 | */
6 | public protocol ConstraintKind: AnyObject {
7 | var anchor: AnchorConstraint? { get set }
8 | var size: SizeConstraint? { get set }
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Headers/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/switch/Switch+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Const
4 | */
5 | extension Switch {
6 | public static let defaultSwitchStyles: SwitchStyles = (selected: selectedStyle, unSelected: unSelectedStyle)
7 | public static let selectedStyle: SwitchStyle = (foregroundColor: .green, backgroundColor: .lightGray)
8 | public static let unSelectedStyle: SwitchStyle = (foregroundColor: .lightGray, backgroundColor: .gray)
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Headers/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/bottom/BottomBar.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class BottomBar: UIView {
4 | override init(frame: CGRect) {
5 | super.init(frame: frame)
6 | backgroundColor = .blue
7 | }
8 | /**
9 | * Boilerplate
10 | */
11 | @available(*, unavailable)
12 | required init?(coder aDecoder: NSCoder) {
13 | fatalError("init(coder:) has not been implemented")
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/align/aligntype/AlignType.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Single align type
4 | * - Todo: ⚠️️ Reference AlignType in HorAlign and VerAlign, and prob use CenterX,CenterY naming instead
5 | * - Note: Use .rawValue if you want to get the string "topLeft"
6 | */
7 | public enum AlignType: String {
8 | case left
9 | case right
10 | case top
11 | case bottom
12 | case centerHor
13 | case centerVer
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/common/Constants.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | /**
4 | * Move to own class, margins, insets etc
5 | * TIPS: Access all colors via: Constants.Colors.allCases
6 | */
7 | class Constants {
8 | enum Colors: String, CaseIterable {
9 | case blue = "FB1B4D", yellow = "1DE3E6", red = "22FFA0", green = "FED845"
10 | var uiColor: UIColor {
11 | return .init(hex: self.rawValue)
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/modal/ModalButton+Helper.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension ModalButton {
4 | /**
5 | * hides other buttons
6 | */
7 | func hideOtherButtons(isHidden: Bool) {
8 | let parent = (self.superview as? PeekAndPopView)
9 | let otherButtons: [ModalButton] = [parent?.firstButton, parent?.secondButton, parent?.thirdButton].compactMap { $0 }.filter { $0 != self }
10 | otherButtons.forEach { $0.isHidden = isHidden }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/common/NSWindow+Extension.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | /**
3 | * Helper
4 | * - Fixme: ⚠️️ move to common etc, NSWindow+Extension etc
5 | */
6 | extension NSWindow {
7 | /**
8 | * Returns window contentview frame (Convenient way to get content rect)
9 | */
10 | public static var winContentFrame: CGRect {
11 | let win: NSWindow = NSApp.windows.first!
12 | return NSWindow.contentRect(forFrameRect: win.frame, styleMask: win.styleMask)
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/modal/force/ForceButton+Type.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | /**
3 | * Enum, type
4 | */
5 | extension ForceButton {
6 | typealias StageSwitch = (_ stage: Int) -> Void
7 | typealias StageChange = (_ stage: Stage) -> Void
8 | typealias PressureChange = (_ linearPressure: CGFloat) -> Void
9 | }
10 | /**
11 | * Storage for linearPressure and forceDepth
12 | */
13 | // public typealias ForceTouch = (linearPressure: CGFloat, forceDepth: ForceTouchButton.ForceTouchDepth)
14 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/peekandpop/button/modal/forcetouch/ForceTouchButtonKind.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public protocol ForceTouchButtonKind {
4 | func stageChange(curStage: ForceTouchButton.ForceTouchStage, prevDepth: ForceTouchButton.ForceTouchDepth)
5 | }
6 | extension ForceTouchButtonKind {
7 | public func stageChange(curStage: ForceTouchButton.ForceTouchStage, prevDepth: ForceTouchButton.ForceTouchDepth) {
8 | Swift.print("default implementation, override in subclass")
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework/Headers/With.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | //! Project version number for With.
5 | FOUNDATION_EXPORT double WithVersionNumber;
6 |
7 | //! Project version string for With.
8 | FOUNDATION_EXPORT const unsigned char WithVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/button/Button+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension Button {
4 | override open func drawLayout() {
5 | // Swift.print("Button.drawLayout")
6 | self.caLayer?.cornerRadius = style.isRounded ? frame.height / 2 : self.caLayer?.cornerRadius ?? 0
7 | self.caLayer?.borderColor = style.borderColor.cgColor
8 | self.caLayer?.backgroundColor = style.backgroundColor.cgColor
9 | self.caLayer?.borderWidth = style.borderWidth
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/match/MatchCell+Const.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | /**
4 | * Constants
5 | */
6 | extension MatchCell {
7 | static let backgroundColor: UIColor = .blue
8 | static let cellHeight: CGFloat = 124
9 | static let cellReuseIdendifier: String = "\(MatchCell.self)"
10 | enum Margin {
11 | static let horizontal: CGFloat = 12
12 | static let vertical: CGFloat = 12
13 | static let verticalSpaceBetween: CGFloat = 4
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/top/TopBar.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class TopBar: UIView {
4 | // lazy var buttons:[UIButton] = createButtons()
5 | override init(frame: CGRect) {
6 | super.init(frame: frame)
7 | self.backgroundColor = .orange
8 | }
9 | /**
10 | * Boilerplate
11 | */
12 | @available(*, unavailable)
13 | required init?(coder aDecoder: NSCoder) {
14 | fatalError("init(coder:) has not been implemented")
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/animation/Animator/Animator+Access.swift:
--------------------------------------------------------------------------------
1 | /**
2 | * Access
3 | */
4 | extension Animator {
5 | var duration: CGFloat { get { return initValues.dur } set { initValues.dur = newValue } } // In seconds
6 | var from: CGFloat { get { return initValues.from } set { initValues.from = newValue } } // From this value
7 | var to: CGFloat { get { return initValues.to } set { initValues.to = newValue } } // To this value
8 | var framesToEnd: CGFloat { return Animator.fps * duration } // totFrameCount
9 | }
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/special/STB+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Core
4 | */
5 | extension SelectableTextButton {
6 | /**
7 | * - Note: We have to store the constraints because we animate them
8 | * - Note: This is the only place to get frame.height consistently (when you use either AutoLayout or CGRect based layout)
9 | */
10 | override open func drawLayout() {
11 | super.drawLayout()
12 | self.caLayer?.cornerRadius = self.frame.height / 2
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/MainVC.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class MainVC: UIViewController {
5 | lazy var mainView: MainView = createMainView()
6 | lazy var animTestView: AnimationTest = createAnimTestView()
7 | override func viewDidLoad() {
8 | super.viewDidLoad()
9 | _ = mainView
10 | //_ = animTestView
11 | self.view.backgroundColor = .lightGray
12 | }
13 | override var prefersStatusBarHidden: Bool { return true } // hides statusbar
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/input/InputTextItem+Constants.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | /**
3 | * Constants
4 | */
5 | extension InputTextCell {
6 | static let backgroundColor: UIColor = .blue
7 | static let cellHeight: CGFloat = 124
8 | static let cellReuseIdendifier: String = "\(InputTextCell.self)"
9 | enum Margin {
10 | static let horizontal: CGFloat = 12
11 | static let vertical: CGFloat = 12
12 | static let verticalSpaceBetween: CGFloat = 4
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/common/roundedrect/RoundedRect+Extension.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension RoundedRect {
4 | public static func + (a: RoundedRect, b: RoundedRect) -> RoundedRect { return .init(rect: a.rect + b.rect, fillet: a.fillet + b.fillet) }
5 | public static func - (a: RoundedRect, b: RoundedRect) -> RoundedRect { return .init(rect: a.rect - b.rect, fillet: a.fillet - b.fillet) }
6 | public static func * (a: RoundedRect, b: RoundedRect) -> RoundedRect { return .init(rect: a.rect * b.rect, fillet: a.fillet * b.fillet) }
7 | }
8 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/match/MatchCell+Const.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | /**
4 | * Constants
5 | */
6 | extension MatchCell {
7 | static let backgroundColor: UIColor = .blue
8 | static let cellHeight: CGFloat = 124
9 | static let cellReuseIdendifier: String = "\(MatchCell.self)"
10 | enum Margin {
11 | static let horizontal: CGFloat = 12
12 | static let vertical: CGFloat = 12
13 | static let verticalSpaceBetween: CGFloat = 4
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/top/TopBar.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class TopBar: UIView {
4 | // lazy var buttons:[UIButton] = createButtons()
5 | override init(frame: CGRect) {
6 | super.init(frame: frame)
7 | self.backgroundColor = .orange
8 | }
9 | /**
10 | * Boilerplate
11 | */
12 | @available(*, unavailable)
13 | required init?(coder aDecoder: NSCoder) {
14 | fatalError("init(coder:) has not been implemented")
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/example/ExampleView.swift:
--------------------------------------------------------------------------------
1 | #if os(iOS)
2 | import Hybrid_iOS
3 | #elseif os(macOS)
4 | import Hybrid_macOS
5 | #endif
6 |
7 | open class ExampleView: View {
8 | override public init(frame: CGRect) {
9 | super.init(frame: frame)
10 | self.caLayer?.backgroundColor = Color.white.cgColor
11 | createUI()
12 | }
13 | /**
14 | * Boilerplate
15 | */
16 | public required init?(coder decoder: NSCoder) {
17 | fatalError("init(coder:) has not been implemented")
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/MainVC.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class MainVC: UIViewController {
5 | lazy var mainView: MainView = createMainView()
6 | lazy var animTestView: AnimationTest = createAnimTestView()
7 | override func viewDidLoad() {
8 | super.viewDidLoad()
9 | _ = mainView
10 | //_ = animTestView
11 | self.view.backgroundColor = .lightGray
12 | }
13 | override var prefersStatusBarHidden: Bool { return true }/*hides statusbar*/
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/animTest/AnimationTestView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class AnimationTest: UIView {
5 | lazy var button: Button = createButton()
6 | override init(frame: CGRect) {
7 | super.init(frame: frame)
8 | self.backgroundColor = .green
9 | _ = button
10 | }
11 | /**
12 | * Boilerplate
13 | */
14 | @available(*, unavailable)
15 | required init?(coder aDecoder: NSCoder) {
16 | fatalError("init(coder:) has not been implemented")
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/input/InputTextItem+Constants.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | /**
3 | * Constants
4 | */
5 | extension InputTextCell {
6 | static let backgroundColor: UIColor = .blue
7 | static let cellHeight: CGFloat = 124
8 | static let cellReuseIdendifier: String = "\(InputTextCell.self)"
9 | enum Margin {
10 | static let horizontal: CGFloat = 12
11 | static let vertical: CGFloat = 12
12 | static let verticalSpaceBetween: CGFloat = 4
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/physics/protocol/Advancable.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Protocol for the Advancer
4 | */
5 | public protocol Advancable {
6 | static func + (lhs: Self, rhs: Self) -> Self
7 | static func - (lhs: Self, rhs: Self) -> Self
8 | static func * (lhs: Self, rhs: Self) -> Self
9 | static var defaults: AnimState { get } // fixme: ⚠️️ Rename to deafultState
10 | static var defaultEasing: Self { get }
11 | static var defaultSpring: Springer.Config { get }
12 | func isNear( value: Self, epsilon: Self) -> Bool
13 | }
14 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/slider/util/interactive/InteractiveView.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Fixme: ⚠️️ Probably rename to onMoveCallback, or move, or moveCallBack et
4 | */
5 | open class InteractiveView: GraphicView {
6 | /*Callbacks*/
7 | public var onDown: CallBack = { _ in }
8 | public var onUp: CallBack = { _ in }
9 | public var onMove: CallBack = { _ in } // Fixme: rename to onDrag
10 | }
11 | /**
12 | * Type
13 | */
14 | extension InteractiveView {
15 | public typealias CallBack = (_ point: CGPoint) -> Void
16 | }
17 |
--------------------------------------------------------------------------------
/AnimKit/AnimKit.h:
--------------------------------------------------------------------------------
1 | //
2 | // AnimKit.h
3 | // AnimKit
4 | //
5 | // Created by Eon on 22/07/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for AnimKit.
12 | FOUNDATION_EXPORT double AnimKitVersionNumber;
13 |
14 | //! Project version string for AnimKit.
15 | FOUNDATION_EXPORT const unsigned char AnimKitVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/AnimKitExample/test/View+SpringerTest.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import AnimKit
3 |
4 | extension View {
5 | /**
6 | * Springer4 tests
7 | */
8 | func springer4Test() {
9 | _ = {
10 | let animator = Springer { print("val: " + "\($0)") }
11 | animator.targetValue = 100
12 | animator.start()
13 | }()
14 | _ = {
15 | let animator = Springer { print("val: " + "\($0)") }
16 | animator.targetValue = CGPoint(x: 100, y: 100)
17 | animator.start()
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/animTest/AnimationTestView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class AnimationTest: UIView {
5 | lazy var button: Button = createButton()
6 | override init(frame: CGRect) {
7 | super.init(frame: frame)
8 | self.backgroundColor = .green
9 | _ = button
10 | }
11 | /**
12 | * Boilerplate
13 | */
14 | @available(*, unavailable)
15 | required init?(coder aDecoder: NSCoder) {
16 | fatalError("init(coder:) has not been implemented")
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/align/aligntype/AlignType+Extension.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Extension
4 | */
5 | extension AlignType {
6 | public var axis: Axis {
7 | switch self {
8 | case .top, .bottom, .centerVer: return .ver
9 | case .left, .right, .centerHor: return .hor
10 | }
11 | }
12 | public var axisType: AxisType {
13 | switch self {
14 | case .top, .left: return .start
15 | case .centerHor, .centerVer: return .middle
16 | case .bottom, .right: return .end
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/middle/MiddleContent.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class MiddleContent: UIView {
5 | lazy var itemViews: [ItemView] = createItemViews()
6 | override init(frame: CGRect) {
7 | super.init(frame: frame)
8 | self.backgroundColor = .yellow
9 | _ = itemViews
10 | }
11 | /**
12 | * Boilerplate
13 | */
14 | @available(*, unavailable)
15 | required init?(coder aDecoder: NSCoder) {
16 | fatalError("init(coder:) has not been implemented")
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/DEPRECATED/animation/AnimationButton+Interaction.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | #if os(iOS)
3 | /**
4 | * Interaction
5 | */
6 | extension AnimationButton {
7 | /**
8 | * down
9 | */
10 | override open func onDown() {
11 | super.onDown()
12 | self.shrink {
13 | self.textLabel.alpha = 0.2
14 | }
15 | }
16 | /**
17 | * up
18 | */
19 | override open func onUp() {
20 | super.onUp()
21 | self.grow {
22 | self.textLabel.alpha = 1.0
23 | }
24 | }
25 | }
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/align/alignment/Alignment.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Alignment types (Both axises)
4 | * - Fixme: ⚠️️ Add none?
5 | * - Fixme: ⚠️️ Make own Carthage framework named Align? 🤔
6 | * - Note: use Alignment.topLeft.rawValue if you want to get the string "topLeft"
7 | */
8 | public enum Alignment: String {
9 | case topLeft
10 | case topCenter
11 | case topRight
12 | case bottomLeft
13 | case bottomCenter
14 | case bottomRight
15 | case centerLeft
16 | case centerRight
17 | case centerCenter
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/middle/itemView/ItemView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class ItemView: UIView {
5 | lazy var horizontalItems: [UIView] = createHorizontalItems()
6 | override init(frame: CGRect) {
7 | super.init(frame: frame)
8 | backgroundColor = .green
9 | _ = horizontalItems
10 | }
11 | /**
12 | * Boilerplate
13 | */
14 | @available(*, unavailable)
15 | required init?(coder aDecoder: NSCoder) {
16 | fatalError("init(coder:) has not been implemented")
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/AnimKitExample/test/View+EaserTest.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import AnimKit
3 |
4 | extension View {
5 | /**
6 | * Easer4 tests
7 | */
8 | func easer4Test() {
9 | _ = {
10 | let animator = Easer { print("val: " + "\($0)") }
11 | animator.targetValue = 100
12 | animator.start()
13 | }
14 | _ = {
15 | let animator = Easer { print("val: " + "\($0)") }
16 | animator.targetValue = CGPoint(x: 100, y: 100)
17 | animator.start()
18 | }()
19 | }
20 | }
21 | //🏀 add examples to comment
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/slider/Slider+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension Slider {
4 | #if os(iOS)
5 | override open func layoutSubviews() {
6 | super.layoutSubviews()
7 | drawLayout()
8 | }
9 | #elseif os(macOS)
10 | override open func layout() {
11 | super.layout()
12 | drawLayout()
13 | }
14 | #endif
15 | /**
16 | * Called when autolayout changes on the entire component (Beta)
17 | */
18 | @objc open func drawLayout() {
19 | let progress = self.progress
20 | self.progress = progress
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/slider/Slider+Setter.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension Slider {
4 | /**
5 | * Sets the thumbs side and repositions the thumb accordingly
6 | */
7 | open func setThumbSide(width: CGFloat) {
8 | button.frame.size = .init(width:width, height:width)
9 | let value: CGFloat = SliderHelper.thumbPosition(progress: progress, side: frame.size[axis], thumbSide: button.frame.size[axis])
10 | var pos: CGPoint = .zero
11 | pos[axis] = value
12 | button.update(offset: pos, align: .topLeft, alignTo: .topLeft)
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/AnimKitIOS/AnimKitIOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // AnimKitIOS.h
3 | // AnimKitIOS
4 | //
5 | // Created by Eon on 25/07/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for AnimKitIOS.
12 | FOUNDATION_EXPORT double AnimKitIOSVersionNumber;
13 |
14 | //! Project version string for AnimKitIOS.
15 | FOUNDATION_EXPORT const unsigned char AnimKitIOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/common/LayerView.swift:
--------------------------------------------------------------------------------
1 | #if os(macOS)
2 | import Cocoa
3 |
4 | open class LayerView: FlippedView {
5 | override public init(frame frameRect: NSRect) {
6 | super.init(frame: frameRect)
7 | self.wantsLayer = true/*if true then view is layer backed*/
8 | }
9 | /**
10 | * Boilerplate
11 | */
12 | public required init?(coder decoder: NSCoder) {
13 | fatalError("init(coder:) has not been implemented")
14 | }
15 | }
16 |
17 | open class FlippedView: NSView {
18 | override open var isFlipped: Bool { return true }
19 | }
20 | #endif
21 |
--------------------------------------------------------------------------------
/src/physics/mover/Mover+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension Mover {
4 | /**
5 | * - Abstract: In charge of incrementing the value
6 | * - Fixme ⚠️️ I'm not sure if the param direct is needed. also maybe rename to isDirect?
7 | */
8 | @objc open func updatePosition(_ direct: Bool = false) {
9 | value += velocity
10 | }
11 | /**
12 | * - Abstract: Called every on every frame tick (60FPS)
13 | */
14 | override func onFrameTick() {
15 | Swift.print("Mover.onFrameTick")
16 | updatePosition()
17 | callBack(value)
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/align/aligntype/AlignType+Extension.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Extension
4 | */
5 | extension AlignType {
6 | public var axis: Axis {
7 | switch self {
8 | case .top, .bottom, .centerVer: return .ver
9 | case .left, .right, .centerHor: return .hor
10 | }
11 | }
12 | public var axisType: AxisType {
13 | switch self {
14 | case .top, .left: return .start
15 | case .centerHor, .centerVer: return .middle
16 | case .bottom, .right: return .end
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/middle/MiddleContent.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class MiddleContent: UIView {
5 | lazy var itemViews: [ItemView] = createItemViews()
6 | override init(frame: CGRect) {
7 | super.init(frame: frame)
8 | self.backgroundColor = .yellow
9 | _ = itemViews
10 | }
11 | /**
12 | * Boilerplate
13 | */
14 | @available(*, unavailable)
15 | required init?(coder aDecoder: NSCoder) {
16 | fatalError("init(coder:) has not been implemented")
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/With mac/With_mac.h:
--------------------------------------------------------------------------------
1 | //
2 | // With_mac.h
3 | // With mac
4 | //
5 | // Created by Eon on 25/01/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for With_mac.
12 | FOUNDATION_EXPORT double With_macVersionNumber;
13 |
14 | //! Project version string for With_mac.
15 | FOUNDATION_EXPORT const unsigned char With_macVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/align/alignment/Alignment.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Alignment types (Both axises)
4 | * - Fixme: ⚠️️ Add none?
5 | * - Fixme: ⚠️️ Make own Carthage framework named Align? 🤔
6 | * - Note: use Alignment.topLeft.rawValue if you want to get the string "topLeft"
7 | */
8 | public enum Alignment: String {
9 | case topLeft
10 | case topCenter
11 | case topRight
12 | case bottomLeft
13 | case bottomCenter
14 | case bottomRight
15 | case centerLeft
16 | case centerRight
17 | case centerCenter
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/middle/itemView/ItemView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | class ItemView: UIView {
5 | lazy var horizontalItems: [UIView] = createHorizontalItems()
6 | override init(frame: CGRect) {
7 | super.init(frame: frame)
8 | backgroundColor = .green
9 | _ = horizontalItems
10 | }
11 | /**
12 | * Boilerplate
13 | */
14 | @available(*, unavailable)
15 | required init?(coder aDecoder: NSCoder) {
16 | fatalError("init(coder:) has not been implemented")
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/physics/Physics/PhysicsAnimKind+Access.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Access (Getters)
4 | */
5 | extension PhysicsAnimKind {
6 | public var targetValue: T { get { return state.targetValue } set { state.targetValue = newValue } }
7 | var velocity: T { get { return state.velocity } set { state.velocity = newValue } }
8 | public var value: T { get { return state.value } set { state.value = newValue } }
9 | var epsilon: T { get { return state.epsilon } set { state.epsilon = newValue } }
10 | var stopVelocity: T { get { return state.stopVelocity } set { state.stopVelocity = newValue } }
11 | }
12 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/modal/ModalButton+Anim.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import AnimKit
3 | /**
4 | * Animation
5 | */
6 | extension ModalButton {
7 | /**
8 | * onFrameTick
9 | * - Note: it seems we don't need `disableAnim {}`, but maybe in the future
10 | */
11 | func onFrameTick(value: RoundedRect) {
12 | self.frame = value.rect
13 | self.layer?.cornerRadius = value.fillet
14 | }
15 | }
16 | //AutoLayout code:
17 | //let yOffset: CGFloat = touchPoint.y - onDownYOffset + (height/2)
18 | //self.update(offset: .init(x: 0, y: yOffset), align: .centerCenter, alignTo: .topCenter)
19 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | @UIApplicationMain
3 | class AppDelegate: UIResponder, UIApplicationDelegate {
4 | lazy var window: UIWindow? = {
5 | let win = UIWindow(frame: UIScreen.main.bounds)
6 | let vc = MainVC()
7 | win.rootViewController = vc
8 | win.makeKeyAndVisible() // Important since we have no Main storyboard anymore
9 | return win
10 | }()
11 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
12 | _ = window
13 | return true
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid-iOS/Hybrid_iOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // Hybrid_iOS.h
3 | // Hybrid-iOS
4 | //
5 | // Created by Eon on 09/03/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Hybrid_iOS.
12 | FOUNDATION_EXPORT double Hybrid_iOSVersionNumber;
13 |
14 | //! Project version string for Hybrid_iOS.
15 | FOUNDATION_EXPORT const unsigned char Hybrid_iOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework/Versions/A/Headers/With_mac.h:
--------------------------------------------------------------------------------
1 | //
2 | // With_mac.h
3 | // With mac
4 | //
5 | // Created by Eon on 25/01/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for With_mac.
12 | FOUNDATION_EXPORT double With_macVersionNumber;
13 |
14 | //! Project version string for With_mac.
15 | FOUNDATION_EXPORT const unsigned char With_macVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/With mac/With_mac.h:
--------------------------------------------------------------------------------
1 | //
2 | // With_mac.h
3 | // With mac
4 | //
5 | // Created by Eon on 25/01/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for With_mac.
12 | FOUNDATION_EXPORT double With_macVersionNumber;
13 |
14 | //! Project version string for With_mac.
15 | FOUNDATION_EXPORT const unsigned char With_macVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/With mac/With_mac.h:
--------------------------------------------------------------------------------
1 | //
2 | // With_mac.h
3 | // With mac
4 | //
5 | // Created by Eon on 25/01/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for With_mac.
12 | FOUNDATION_EXPORT double With_macVersionNumber;
13 |
14 | //! Project version string for With_mac.
15 | FOUNDATION_EXPORT const unsigned char With_macVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework/Headers/Hybrid_iOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // Hybrid_iOS.h
3 | // Hybrid-iOS
4 | //
5 | // Created by Eon on 09/03/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Hybrid_iOS.
12 | FOUNDATION_EXPORT double Hybrid_iOSVersionNumber;
13 |
14 | //! Project version string for Hybrid_iOS.
15 | FOUNDATION_EXPORT const unsigned char Hybrid_iOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid-macOS/Hybrid_macOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // Hybrid_macOS.h
3 | // Hybrid-macOS
4 | //
5 | // Created by Eon on 09/03/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Hybrid_macOS.
12 | FOUNDATION_EXPORT double Hybrid_macOSVersionNumber;
13 |
14 | //! Project version string for Hybrid_macOS.
15 | FOUNDATION_EXPORT const unsigned char Hybrid_macOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/spinner/stepper/Stepper+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Core
4 | */
5 | extension Stepper {
6 | /**
7 | * Change
8 | */
9 | func change(amount: CGFloat) {
10 | let newVal: CGFloat = initData.value + amount
11 | let minVal: CGFloat = min(newVal, initData.max)/*Cap the value from min to max*/
12 | let maxVal: CGFloat = max(minVal, initData.min)
13 | initData.value = maxVal
14 | let strVal: String = .init(format: "%.0\(initData.decimals)f", maxVal)/*The value must have no more than the value of the _decimals*/
15 | onChange(strVal)
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | @UIApplicationMain
4 | class AppDelegate: UIResponder, UIApplicationDelegate {
5 | lazy var window: UIWindow? = {
6 | let win = UIWindow(frame: UIScreen.main.bounds)
7 | let vc = MainVC()
8 | win.rootViewController = vc
9 | win.makeKeyAndVisible()/*Important since we have no Main storyboard anymore*/
10 | return win
11 | }()
12 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
13 | _ = window
14 | return true
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/button/Button+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Type
4 | */
5 | extension Button {
6 | /*Closure signatures*/
7 | public typealias UpInsideCallBack = () -> Void
8 | public typealias UpOutsideCallBack = () -> Void
9 | public typealias DownCallBack = () -> Void
10 | public typealias UpCallBack = () -> Void
11 | #if os(macOS)
12 | public typealias OverCallBack = () -> Void
13 | public typealias OutCallBack = () -> Void
14 | #endif
15 | /*Style*/
16 | public typealias Style = (backgroundColor: Color, borderColor: Color, borderWidth: CGFloat, isRounded: Bool)
17 | }
18 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial-macOS/Spatial_macOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // Spatial_macOS.h
3 | // Spatial-macOS
4 | //
5 | // Created by Eon on 07/03/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Spatial_macOS.
12 | FOUNDATION_EXPORT double Spatial_macOSVersionNumber;
13 |
14 | //! Project version string for Spatial_macOS.
15 | FOUNDATION_EXPORT const unsigned char Spatial_macOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/WithExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | @UIApplicationMain
3 | class AppDelegate: UIResponder, UIApplicationDelegate {
4 | lazy var window: UIWindow? = {
5 | let win = UIWindow(frame: UIScreen.main.bounds)
6 | let vc = ViewController()
7 | win.rootViewController = vc
8 | win.makeKeyAndVisible()/*Important since we have no Main storyboard anymore*/
9 | return win
10 | }()
11 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
12 | _ = window
13 | return true
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/With mac/With_mac.h:
--------------------------------------------------------------------------------
1 | //
2 | // With_mac.h
3 | // With mac
4 | //
5 | // Created by Eon on 25/01/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for With_mac.
12 | FOUNDATION_EXPORT double With_macVersionNumber;
13 |
14 | //! Project version string for With_mac.
15 | FOUNDATION_EXPORT const unsigned char With_macVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | @UIApplicationMain
4 | class AppDelegate: UIResponder, UIApplicationDelegate {
5 | lazy var window: UIWindow? = {
6 | let win = UIWindow(frame: UIScreen.main.bounds)
7 | let vc = MainVC()
8 | win.rootViewController = vc
9 | win.makeKeyAndVisible()/*Important since we have no Main storyboard anymore*/
10 | return win
11 | }()
12 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
13 | _ = window
14 | return true
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework/Versions/A/Headers/Hybrid_macOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // Hybrid_macOS.h
3 | // Hybrid-macOS
4 | //
5 | // Created by Eon on 09/03/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Hybrid_macOS.
12 | FOUNDATION_EXPORT double Hybrid_macOSVersionNumber;
13 |
14 | //! Project version string for Hybrid_macOS.
15 | FOUNDATION_EXPORT const unsigned char Hybrid_macOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/modal/force/ForceButton.swift:
--------------------------------------------------------------------------------
1 | import Hybrid_macOS
2 | import Cocoa
3 |
4 | class ForceButton: Button {
5 | var prevStage: Int = 0
6 | var stageSwitch: StageSwitch = defaultStageSwitch
7 | var stageChange: StageChange = defaultStageChange
8 | var pressureChange: PressureChange = defaultPressureChange
9 | override init(style: Button.Style = Button.defaultStyle, frame: CGRect = .zero) {
10 | super.init(style: style, frame: frame)
11 | }
12 | /**
13 | * Boilerplate
14 | */
15 | required init?(coder aDecoder: NSCoder) {
16 | fatalError("init(coder:) has not been implemented")
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/physics/rubberband/group/MoverGroup.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Movergroup for rubberband
4 | * - Fixme: ⚠️️ rename to ElasticMoverGroup, SpringSolverGroup
5 | */
6 | public struct MoverGroup {
7 | var xMover: RubberBand
8 | var yMover: RubberBand
9 | public typealias FrameTick = (CGFloat, Dir) -> Void
10 | public init(_ callBack:@escaping FrameTick, _ maskSize: CGSize, _ contentSize: CGSize) {
11 | self.xMover = RubberBand({ val in callBack(val, .hor) }, (0, maskSize.width), (0, contentSize.width))
12 | self.yMover = RubberBand({ val in callBack(val, .ver) }, (0, maskSize.height), (0, contentSize.height))
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework/Versions/A/Headers/Spatial_macOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // Spatial_macOS.h
3 | // Spatial-macOS
4 | //
5 | // Created by Eon on 07/03/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Spatial_macOS.
12 | FOUNDATION_EXPORT double Spatial_macOSVersionNumber;
13 |
14 | //! Project version string for Spatial_macOS.
15 | FOUNDATION_EXPORT const unsigned char Spatial_macOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | @UIApplicationMain
3 | class AppDelegate: UIResponder, UIApplicationDelegate {
4 | lazy var window: UIWindow? = {
5 | let win = UIWindow(frame: UIScreen.main.bounds)
6 | let vc = ViewController()
7 | win.rootViewController = vc
8 | win.makeKeyAndVisible()/*Important since we have no Main storyboard anymore*/
9 | return win
10 | }()
11 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
12 | _ = window
13 | return true
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | @UIApplicationMain
3 | class AppDelegate: UIResponder, UIApplicationDelegate {
4 | lazy var window: UIWindow? = {
5 | let win = UIWindow(frame: UIScreen.main.bounds)
6 | let vc = ViewController()
7 | win.rootViewController = vc
8 | win.makeKeyAndVisible()/*Important since we have no Main storyboard anymore*/
9 | return win
10 | }()
11 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
12 | _ = window
13 | return true
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AnimKitExample/test/View+MovingTest.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | import AnimKit
3 |
4 | extension View {
5 | /**
6 | * testAnimation
7 | */
8 | func testAnimation() {
9 | let box: NSView = .init(frame: .init(origin: .zero, size: .init(width: 100, height: 100)))
10 | box.wantsLayer = true
11 | box.layer?.backgroundColor = NSColor.orange.cgColor
12 | addSubview(box)
13 | let animator: Animator = .init()
14 | animator.onFrame = { progress in Swift.print("onFrame"); disableAnim { box.frame.origin.x = 100 * progress } }
15 | animator.completed = { Swift.print("Animation completed ✅") }
16 | animator.start()
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial-macOS/Spatial_macOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // Spatial_macOS.h
3 | // Spatial-macOS
4 | //
5 | // Created by Eon on 07/03/2019.
6 | // Copyright © 2019 FutureLab. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Spatial_macOS.
12 | FOUNDATION_EXPORT double Spatial_macOSVersionNumber;
13 |
14 | //! Project version string for Spatial_macOS.
15 | FOUNDATION_EXPORT const unsigned char Spatial_macOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | @UIApplicationMain
4 | class AppDelegate: UIResponder, UIApplicationDelegate {
5 | lazy var window: UIWindow? = {
6 | let win = UIWindow(frame: UIScreen.main.bounds)
7 | let vc = MainVC()
8 | win.rootViewController = vc
9 | win.makeKeyAndVisible()/*Important since we have no Main storyboard anymore*/
10 | return win
11 | }()
12 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
13 | _ = window
14 | return true
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/animation/Animator/Animator+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Type
4 | */
5 | extension Animator {
6 | public typealias Completed = () -> Void
7 | /**
8 | * Signature for initValues
9 | * - Parameters:
10 | * - dur: the seconds you want the animation to last
11 | * - from: from which value you want the animation to start from
12 | * - to: the end value you want to modulate to
13 | */
14 | public typealias InitValues = (dur: CGFloat, from: CGFloat, to: CGFloat)
15 | }
16 | // Fixme: ⚠️️ Possibly move this into a different scope
17 | public typealias FrameTick = (CGFloat) -> Void // the callBack signature for onFrame ticks
18 |
--------------------------------------------------------------------------------
/src/physics/rubberband/group/Dir.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public enum Dir {
4 | case hor, ver
5 | }
6 | /**
7 | * - Note: Alternate Idea: let value:CGFloat = CGSize()[.hor]
8 | * ## Examples:
9 | * let value:CGFloat = Dir.hor.val(CGSize())
10 | */
11 | extension Dir {
12 | func val(_ size: CGSize) -> CGFloat {
13 | switch self {
14 | case .hor:
15 | return size.width
16 | case .ver:
17 | return size.height
18 | }
19 | }
20 | func val(_ point: CGPoint) -> CGFloat {
21 | switch self {
22 | case .hor:
23 | return point.x
24 | case .ver:
25 | return point.y
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/AnimKitExample/AppDelegate+Create.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | import AnimKit
3 | /**
4 | * Create
5 | */
6 | extension AppDelegate {
7 | /**
8 | * createView
9 | */
10 | func createView() -> NSView {
11 | window.setFrame(.init(origin: window.frame.origin, size: WinRect.size), display: true)
12 | let contentRect = window.contentRect(forFrameRect: window.frame) // size of win sans titleBar
13 | //let view:NSView = View(frame: contentRect)
14 | //let view:NSView = ElasticTestView(frame: contentRect)
15 | let view: NSView = PeekAndPopView.shared
16 | view.frame = contentRect
17 | window.contentView = view
18 | return view
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/AnimKitExample/View.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | import AnimKit
3 |
4 | open class View: NSView {
5 | override open var isFlipped: Bool { return true } // TopLeft orientation
6 | override public init(frame: CGRect) {
7 | super.init(frame: frame)
8 | Swift.print("Hello world")
9 | self.wantsLayer = true // if true then view is layer backed
10 | // testAnimation()
11 | // zoomBackAndForthAnimTest()
12 | // easer4Test()
13 | // springer4Test()
14 | // elasticTest()
15 | }
16 | /**
17 | * Boilerplate
18 | */
19 | public required init?(coder decoder: NSCoder) {
20 | fatalError("init(coder:) has not been implemented")
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid-example-macOS/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 |
3 | @NSApplicationMain
4 | class AppDelegate: NSObject, NSApplicationDelegate {
5 | @IBOutlet weak var window: NSWindow!
6 | /**
7 | * Creates the view
8 | */
9 | lazy var view: NSView = {
10 | let contentRect = window.contentRect(forFrameRect: window.frame)/*size of win sans titlebar*/
11 | let view: ExampleView = .init(frame: contentRect)
12 | window.contentView = view
13 | view.layer?.backgroundColor = NSColor.white.cgColor
14 | return view
15 | }()
16 | func applicationDidFinishLaunching(_ aNotification: Notification) {
17 | _ = view
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | @UIApplicationMain
3 | class AppDelegate: UIResponder, UIApplicationDelegate {
4 | lazy var window: UIWindow? = {
5 | let win = UIWindow(frame: UIScreen.main.bounds)
6 | let vc = ViewController()
7 | win.rootViewController = vc
8 | win.makeKeyAndVisible()/*Important since we have no Main storyboard anymore*/
9 | return win
10 | }()
11 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
12 | _ = window
13 | return true
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/modal/force/ForceButton+Helper.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | extension ForceButton {
4 | /**
5 | * - Note: calculates the entire range of the stage pressures so from stage 0 to 1 the pressure goes from 0 to 0.5 and from stage 1 to 2 the lienar pressure goes from 0.5 to 1 this makes it easier to scale things in a linear fashion from 0 to 1 in the entire stage range
6 | */
7 | func linearPressure(pressure: Float, stage: Int) -> CGFloat {
8 | let pressure: CGFloat = .init(pressure)
9 | if stage == 0 { return 0 }
10 | else if stage == 1 { return pressure / 2 }
11 | else { return 0.5 + (pressure / 2) } /*if stage == 2*/
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/common/DepthParser.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 |
3 | public class DepthParser {
4 | /**
5 | * Returns the front most view
6 | * - Fixme: ⚠️️ make this T where T is NSView etc
7 | */
8 | public static func frontMostView(views: [NSView]) -> NSView? {
9 | return views.sorted(by: { $0.superview?.subviews.firstIndex(of: $0) ?? 0 > $1.superview?.subviews.firstIndex(of: $1) ?? 0 }).first
10 | }
11 | /**
12 | * Return the front most view
13 | * - Fixme: ⚠️️ make this T where T is NSView etc
14 | */
15 | public static func frontMostView(parent: NSView) -> NSView? {
16 | return DepthParser.frontMostView(views: parent.subviews)
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/slider/util/interactive/InteractiveView+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | //⚠️️ could be useful in the future, if you need overridng abilities
3 | //extension InteractiveView{
4 | // /**
5 | // * onDown
6 | // */
7 | // func onDown(_ point:CGPoint){
8 | // Swift.print("InteractiveView.onDown \(point) 👇")
9 | //
10 | // }
11 | // /**
12 | // * onUp
13 | // */
14 | // func onUp(_ point:CGPoint){
15 | // Swift.print("InteractiveView.onUp \(point) 👆")
16 | //
17 | // }
18 | // /**
19 | // * onMove
20 | // */
21 | // func onMove(_ point:CGPoint){
22 | // Swift.print("InteractiveView.onMove \(point)")
23 | //
24 | // }
25 | //}
26 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/button/Button+Const.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Const
4 | */
5 | extension Button {
6 | //Default closure
7 | public static let defaultUpInside: UpInsideCallBack = {}
8 | public static let defaultUpOutside: UpOutsideCallBack = {}
9 | public static let defaultUp: UpCallBack = {}
10 | public static let defaultDown: DownCallBack = {}
11 | #if os(macOS)
12 | public static let defaultOver: OverCallBack = {}
13 | public static let defaultOut: OutCallBack = {}
14 | #endif
15 | /*Style*/
16 | public static let defaultStyle: Style = (.white, .black, 1, false)
17 | public static let alternateStyle: Style = (.black, .white, 1, false)
18 | }
19 |
--------------------------------------------------------------------------------
/src/easing/EasingEquation.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Parameters:
4 | * - t: time (current frame) this can also be actual time
5 | * - b: begin (the value it is at the begining)
6 | * - c: change (end value - begining value) sort of the amount to change, this can also be described as the difference between two values
7 | * - d: duration (total frames in anim) this can also be actual time
8 | * - Fixme: ⚠️️ Complete the: Elastic, Circular, Back, bounce, Quibic +++
9 | * - Note: robertpenner.com has lots of tutorials and pdfs on how easing works
10 | */
11 | public typealias EasingEquation = (_ t: CGFloat, _ b: CGFloat, _ c: CGFloat, _ d: CGFloat) -> CGFloat // Easing equation signature
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/MainVC+Create.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 | /**
4 | * Create
5 | */
6 | extension MainVC {
7 | /**
8 | * Creates main view
9 | */
10 | func createMainView() -> MainView {
11 | let view: MainView = .init()
12 | self.view.addSubview(view)
13 | view.anchorAndSize(to: self.view)
14 | return view
15 | }
16 | /**
17 | * Creates animation test view
18 | */
19 | func createAnimTestView() -> AnimationTest {
20 | let view: AnimationTest = .init(frame: .init(origin: .zero, size: .zero))
21 | self.view.addSubview(view)
22 | view.anchorAndSize(to: self.view)
23 | return view
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/common/Extension.swift:
--------------------------------------------------------------------------------
1 | import UIKit.UIColor
2 |
3 | extension UIColor {
4 | /**
5 | * EXAMPLE: let color = UIColor(hex: "ff0000")
6 | */
7 | internal convenience init(hex: String) {
8 | let scanner = Scanner(string: hex)
9 | scanner.scanLocation = 0
10 | var rgbValue: UInt64 = 0
11 | scanner.scanHexInt64(&rgbValue)
12 | let red = (rgbValue & 0xff0000) >> 16
13 | let green = (rgbValue & 0xff00) >> 8
14 | let blue = rgbValue & 0xff
15 | self.init(
16 | red: CGFloat(red) / 0xff,
17 | green: CGFloat(green) / 0xff,
18 | blue: CGFloat(blue) / 0xff,
19 | alpha: 1
20 | )
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/AnimKitExample.xcodeproj/project.xcworkspace/xcuserdata/eon.xcuserdatad/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildLocationStyle
6 | UseAppPreferences
7 | CustomBuildLocationType
8 | RelativeToDerivedData
9 | DerivedDataLocationStyle
10 | Default
11 | EnabledFullIndexStoreVisibility
12 |
13 | IssueFilterStyle
14 | ShowActiveSchemeOnly
15 | LiveSourceIssuesEnabled
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/common/roundedrect/RoundedRect.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Decorator over CGRect
4 | * - Fixme: ⚠️️ create an init method with one param, that are used for all params
5 | */
6 | public struct RoundedRect {
7 | public var rect: CGRect
8 | public var fillet: CGFloat
9 | public init(rect: CGRect = .zero, fillet: CGFloat = .zero) {
10 | self.rect = rect
11 | self.fillet = fillet
12 | }
13 | }
14 | extension RoundedRect {
15 | public var origin: CGPoint { get { return rect.origin } set { rect.origin = newValue } }
16 | public var size: CGSize { get { return rect.size } set { rect.size = newValue } }
17 | public static var zero: RoundedRect = .init(rect: .zero, fillet: .zero)
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/MainVC+Create.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 | /**
4 | * Create
5 | */
6 | extension MainVC {
7 | /**
8 | * Creates main view
9 | */
10 | func createMainView() -> MainView {
11 | let view: MainView = .init()
12 | self.view.addSubview(view)
13 | view.anchorAndSize(to: self.view)
14 | return view
15 | }
16 | /**
17 | * Creates animation test view
18 | */
19 | func createAnimTestView() -> AnimationTest {
20 | let view: AnimationTest = .init(frame: .init(origin: .zero, size: .zero))
21 | self.view.addSubview(view)
22 | view.anchorAndSize(to: self.view)
23 | return view
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/match/MatchCell.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class MatchCell: BaseCell {
4 | lazy var homeTeamLabel: UILabel = createHomeTeamLabel()
5 | lazy var awayTeamLable: UILabel = createAwayTeamLabel()
6 | lazy var dateLabel: UILabel = createDateLabel()
7 | /**
8 | * When you set the data, the diferent UI's will be updated
9 | */
10 | override var data: CellDataKind? {
11 | didSet {
12 | guard let data: MatchCellData = data as? MatchCellData else { fatalError("data not avaiable") }
13 | homeTeamLabel.text = data.homeTeam
14 | awayTeamLable.text = data.awayTeam
15 | dateLabel.text = data.date //update ui
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/common/Extension.swift:
--------------------------------------------------------------------------------
1 | import UIKit.UIColor
2 |
3 | extension UIColor {
4 | /**
5 | * EXAMPLE: let color = UIColor(hex: "ff0000")
6 | */
7 | internal convenience init(hex: String) {
8 | let scanner = Scanner(string: hex)
9 | scanner.scanLocation = 0
10 | var rgbValue: UInt64 = 0
11 | scanner.scanHexInt64(&rgbValue)
12 | let red = (rgbValue & 0xff0000) >> 16
13 | let green = (rgbValue & 0xff00) >> 8
14 | let blue = rgbValue & 0xff
15 | self.init(
16 | red: CGFloat(red) / 0xff,
17 | green: CGFloat(green) / 0xff,
18 | blue: CGFloat(blue) / 0xff,
19 | alpha: 1
20 | )
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/common/hybrid/label/VerticallyAlignedTextFieldCell.swift:
--------------------------------------------------------------------------------
1 | #if os(macOS)
2 | import Cocoa
3 |
4 | class VerticallyAlignedTextFieldCell: NSTextFieldCell {
5 | let textHeight: CGFloat
6 | init(textHeight: CGFloat, textCell string: String) {
7 | self.textHeight = textHeight
8 | super.init(textCell: string)
9 | }
10 | required init(coder: NSCoder) {
11 | fatalError("init(coder:) has not been implemented")
12 | }
13 | override func drawingRect(forBounds rect: NSRect) -> NSRect {
14 | let newRect = NSRect(x: 0, y: (rect.size.height - textHeight) / 2, width: rect.size.width, height: rect.size.height)
15 | return super.drawingRect(forBounds: newRect)
16 | }
17 | }
18 | #endif
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/switch/Switch+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | #if os(iOS)
3 | import Spatial
4 | #elseif os(macOS)
5 | import Spatial_macOS
6 | #endif
7 |
8 | extension Switch {
9 | /**
10 | * Change foreground
11 | */
12 | func toggleForegroundPosition() {
13 | // Swift.print("toggleForeground")
14 | let alignment: Alignment = selected ? .topRight : .topLeft
15 | let offset: CGPoint = selected ? .init(x: -4, y: 4) : .init(x: 4, y: 4)
16 | // Swift.print("alignment: \(alignment)")
17 | if let anchor = foreground.anchor { NSLayoutConstraint.deactivate([anchor.x, anchor.y]) }
18 | foreground.applyAnchor(to: self, align: alignment, alignTo: alignment, offset: offset)
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/animation/loop/LoopAnimator+Core.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Core
4 | */
5 | extension LoopAnimator {
6 | /**
7 | * Fires on every frame tick
8 | */
9 | override func onFrameTick() {
10 | let val: CGFloat = easing(currentFrameCount, from, to - from, framesToEnd)
11 | onFrame(val) // call the FrameTick method
12 | if currentFrameCount >= framesToEnd {
13 | self.currentFrameCount = 0 // Reset
14 | if curRepeatCount >= repeatCount { // The loop ended
15 | curRepeatCount = 0 // Reset
16 | stop() // Stop animation
17 | completed()
18 | }
19 | curRepeatCount += 1
20 | }
21 | self.currentFrameCount += 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/modal/force/ForceButton+Enum.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Enum, type
4 | */
5 | extension ForceButton {
6 | /**
7 | * Stages
8 | */
9 | public enum Stage: Int { // case none
10 | case clickDown // from noStage to clickStage
11 | case deepClickDown // from clickStage to deepClickStage
12 | case clickUp // from clickStage to noStage
13 | case deepClickUp // from deepStage to clickStage
14 | }
15 | public enum Depth: Int {
16 | case idle // all force before 0.33 of pressure
17 | case click // it has detected a click and is moving between 0.33 and 0.66 of pressure
18 | case deepClick // it has deteted a deep click and is moving between 0.66 and 1.0
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/match/MatchCell.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class MatchCell: BaseCell {
4 | lazy var homeTeamLabel: UILabel = createHomeTeamLabel()
5 | lazy var awayTeamLable: UILabel = createAwayTeamLabel()
6 | lazy var dateLabel: UILabel = createDateLabel()
7 | /**
8 | * When you set the data, the diferent UI's will be updated
9 | */
10 | override var data: CellDataKind? {
11 | didSet {
12 | guard let data: MatchCellData = data as? MatchCellData else { fatalError("data not avaiable") }
13 | homeTeamLabel.text = data.homeTeam
14 | awayTeamLable.text = data.awayTeam
15 | dateLabel.text = data.date //update ui
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/input/InputTextCell.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | /**
3 | * Provides a way to show a DescriptionLabel and and InputTextField in a TableCell
4 | */
5 | class InputTextCell: BaseCell {
6 | lazy var descLabel: UILabel = createDescLabel()
7 | lazy var inputTextField: UITextField = createInputTextField()
8 | /**
9 | * When you set the data, the diferent UI's will be updated
10 | */
11 | override var data: CellDataKind? {
12 | didSet {
13 | guard let data: LeagueCellData = data as? LeagueCellData else { fatalError("data not avaiable") }
14 | descLabel.text = data.placement // update ui
15 | inputTextField.text = data.team
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/AnimKitExample/peekandpop/button/dismiss/DismissButton.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import Hybrid_macOS
3 | import AnimKit
4 | /**
5 | * Fixme: ⚠️️ add dismiss anim when leave deep-click-mode
6 | */
7 | class DismissButton: TextButton {
8 | /**
9 | * The animator
10 | */
11 | lazy var animator: Easer = .init(.init(DismissButton.hidden.origin.y), CGFloat.defaultEasing, onFrameTick)
12 | override init(text: String = "Default", style: TextButton.TextButtonStyle = defaultTextButtonStyle, frame: CGRect = .zero) {
13 | super.init(text: text, style: style, frame: frame)
14 | }
15 | /**
16 | * Boilerplate
17 | */
18 | required init?(coder aDecoder: NSCoder) {
19 | fatalError("init(coder:) has not been implemented")
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/common/ViewSugar.swift:
--------------------------------------------------------------------------------
1 | import QuartzCore
2 | /**
3 | * Disable implicit animation
4 | * - Fixme: ⚠️️ Figure out how to disaple auto anim in NSViews i think it's: layer.actions = ["sublayers":NSNull()] see: https://stackoverflow.com/questions/5833488/how-to-disable-calayer-implicit-animations/43560444#43560444 and: https://stackoverflow.com/questions/2244147/disabling-implicit-animations-in-calayer-setneedsdisplayinrect?rq=1
5 | * ## Examples:
6 | * disableAnim { view.isHidden = true } // Default animation is now disabled, Basically whatever you put inside the closure is not animated
7 | */
8 | public func disableAnim(_ closure: () -> Void) {
9 | CATransaction.begin()
10 | CATransaction.setDisableActions(true)
11 | closure()
12 | CATransaction.commit()
13 | }
14 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/With.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.futurelab.github.io.With
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/spinner/stepper/button/MinusButton.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public class MinusButton: Button {
4 | /**
5 | * Draw 1 line
6 | * - Note: we draw graphics here because it's the only pace where .frame is available when using auto layout
7 | */
8 | override public func drawLayout() {
9 | super.drawLayout()
10 | let r: CGFloat = self.frame.size.width
11 | let line1: CAShapeLayer = {
12 | let p1: CGPoint = .init(x: r / 4, y: r / 2)
13 | let p2: CGPoint = .init(x: r - (r / 4), y: (r / 2))
14 | let line = CGShapeUtil.drawLine(lineLayer: .init(), line: (p1, p2), lineStyle: (self.borderColor, 1))
15 | return line
16 | }()
17 | self.caLayer?.addSublayer(line1)
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/easing/Easing.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public class Easing {
4 | public static var back: Back.Type { return Back.self }
5 | public static var bounce: Bounce.Type { return Bounce.self }
6 | public static var circ: Circ.Type { return Circ.self }
7 | public static var cubic: Cubic.Type { return Cubic.self }
8 | public static var elastic: Elastic.Type { return Elastic.self }
9 | public static var expo: Expo.Type { return Expo.self }
10 | public static var linear: Linear.Type { return Linear.self }
11 | public static var quad: Quad.Type { return Quad.self }
12 | public static var quart: Quart.Type { return Quart.self }
13 | public static var quint: Quint.Type { return Quint.self }
14 | public static var sine: Sine.Type { return Sine.self }
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Spatial.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.io.github.futurelab.Spatial
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/With_mac.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.io.github.futurelab.With-mac
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/input/InputTextCell.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | /**
3 | * Provides a way to show a DescriptionLabel and and InputTextField in a TableCell
4 | */
5 | class InputTextCell: BaseCell {
6 | lazy var descLabel: UILabel = createDescLabel()
7 | lazy var inputTextField: UITextField = createInputTextField()
8 | /**
9 | * When you set the data, the diferent UI's will be updated
10 | */
11 | override var data: CellDataKind? {
12 | didSet {
13 | guard let data: LeagueCellData = data as? LeagueCellData else { fatalError("data not avaiable") }
14 | descLabel.text = data.placement // update ui
15 | inputTextField.text = data.team
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Hybrid_macOS.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.io.github.futurelab.Hybrid-macOS
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/Hybrid_iOS.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.io.github.futurelab.Hybrid-iOS
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/MainView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class MainView: UIView {
4 | lazy var cardView: CardView = createCardView()
5 | lazy var spacingTestView: UIView = createSpacingTestView()
6 | lazy var minMaxTestView: UIView = createMinMaxView()
7 | lazy var testView: UIView = createTestView()
8 | lazy var tableTestView: UIView = createTableView()
9 | override init(frame: CGRect) {
10 | super.init(frame: frame)
11 | //_ = minMaxTestView
12 | _ = tableTestView
13 | //_ = testView
14 | }
15 | /**
16 | * Boilerplate
17 | */
18 | @available(*, unavailable)
19 | required init?(coder aDecoder: NSCoder) {
20 | fatalError("init(coder:) has not been implemented")
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Carthage/Build/Mac/Spatial_macOS.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.io.github.futurelab.Spatial-macOS
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.futurelab.github.io.With
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/src/With.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | @discardableResult/*👈 Avoids xcode compiler warnings if result is not used*/
3 | /**
4 | * ## Examples:
5 | * let rectangle = with(CGRect.init(x: 0, y: 0, width: 100, height: 100)) {
6 | * $0 = $0.offsetBy(dx: 20, dy: 20)
7 | * $0 = $0.insetBy(dx: 10, dy: 10)
8 | * }
9 | * Swift.print(rectangle)// X:30.0, y:30.0, width:80.0, height:80.0
10 | *
11 | * EXAMPLE 2:
12 | * let color = with(UIColor.init(red: 50, green: 100, blue: 0, alpha: 0.9)) { ( col:inout UIColor) -> Void in
13 | * col = col.withAlphaComponent(0.2)
14 | * }
15 | * Swift.print(color.cgColor.alpha)//0.2
16 | */
17 | public func with(_ item: T, update: (inout T) throws -> Void) rethrows -> T {
18 | var item = item
19 | try update(&item)
20 | return item
21 | }
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/WithExample.xcodeproj/xcuserdata/andre.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | With.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | WithExample.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 1
16 |
17 |
18 | SuppressBuildableAutocreation
19 |
20 | 6533532A21B6723B0056BB34
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial.xcodeproj/xcuserdata/andre.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Spatial.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | SpatialExample.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 1
16 |
17 |
18 | SuppressBuildableAutocreation
19 |
20 | F1D369E52171FDAE00F498FA
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/AnimKitIOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/physics/mover/Mover.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public class Mover: FrameAnimator {
4 | public var value: CGFloat = 0
5 | var velocity: CGFloat
6 | var callBack: FrameTick
7 | /**
8 | * - Parameters:
9 | * - value: the value that should be applied to the target
10 | * - velocity: The amount increased on each frame-tick of the animation
11 | * - callback: the closure method that is called on every "frame-tick" and changes the property, you can use a var closure or a regular method, probably even an inline closure
12 | */
13 | init(_ animatable: AnimProxyKind, _ callBack:@escaping FrameTick, _ value: CGFloat, _ velocity: CGFloat = 0) {
14 | self.value = value
15 | self.velocity = velocity
16 | self.callBack = callBack
17 | super.init(animatable)
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.futurelab.github.io.With
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.futurelab.github.io.With
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/AnimKitExample/elasticTest/View+Elastic.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import AnimKit
3 | import Hybrid_macOS
4 |
5 | extension ElasticTestView {
6 | /**
7 | * Elastic test
8 | */
9 | func elasticTest() {
10 | let rect: CGRect = .init(origin: .zero, size: .init(width: 100, height: 100))
11 | let box: Thumb = .init(frame: rect)
12 | box.caLayer?.backgroundColor = Color.black.cgColor
13 | box.onMove = self.onMove
14 | addSubview(box)
15 | }
16 | func onMove(p: CGPoint) {
17 | Swift.print("p: \(p)")
18 | }
19 | }
20 |
21 | // let animator: Animator = .init()
22 | // animator.onFrame = { progress in Swift.print("onFrame"); disableAnim { box.frame.origin.x = 100 * progress } }
23 | // animator.completed = { Swift.print("Animation completed ✅") }
24 | // animator.start()
25 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/src/With.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | @discardableResult/*👈 Avoids xcode compiler warnings if result is not used*/
3 | /**
4 | * ## Examples:
5 | * let rectangle = with(CGRect.init(x: 0, y: 0, width: 100, height: 100)) {
6 | * $0 = $0.offsetBy(dx: 20, dy: 20)
7 | * $0 = $0.insetBy(dx: 10, dy: 10)
8 | * }
9 | * Swift.print(rectangle)// X:30.0, y:30.0, width:80.0, height:80.0
10 | *
11 | * EXAMPLE 2:
12 | * let color = with(UIColor.init(red: 50, green: 100, blue: 0, alpha: 0.9)) { ( col:inout UIColor) -> Void in
13 | * col = col.withAlphaComponent(0.2)
14 | * }
15 | * Swift.print(color.cgColor.alpha)//0.2
16 | */
17 | public func with(_ item: T, update: (inout T) throws -> Void) rethrows -> T {
18 | var item = item
19 | try update(&item)
20 | return item
21 | }
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/WithExample.xcodeproj/xcuserdata/andre.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | With.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | WithExample.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 1
16 |
17 |
18 | SuppressBuildableAutocreation
19 |
20 | 6533532A21B6723B0056BB34
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/xcuserdata/andre.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | With.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | WithExample.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 1
16 |
17 |
18 | SuppressBuildableAutocreation
19 |
20 | 6533532A21B6723B0056BB34
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/src/With.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | @discardableResult/*👈 Avoids xcode compiler warnings if result is not used*/
3 | /**
4 | * ## Examples:
5 | * let rectangle = with(CGRect.init(x: 0, y: 0, width: 100, height: 100)) {
6 | * $0 = $0.offsetBy(dx: 20, dy: 20)
7 | * $0 = $0.insetBy(dx: 10, dy: 10)
8 | * }
9 | * Swift.print(rectangle)// X:30.0, y:30.0, width:80.0, height:80.0
10 | *
11 | * EXAMPLE 2:
12 | * let color = with(UIColor.init(red: 50, green: 100, blue: 0, alpha: 0.9)) { ( col:inout UIColor) -> Void in
13 | * col = col.withAlphaComponent(0.2)
14 | * }
15 | * Swift.print(color.cgColor.alpha)//0.2
16 | */
17 | public func with(_ item: T, update: (inout T) throws -> Void) rethrows -> T {
18 | var item = item
19 | try update(&item)
20 | return item
21 | }
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial.xcodeproj/xcuserdata/andre.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Spatial.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | SpatialExample.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 1
16 |
17 |
18 | SuppressBuildableAutocreation
19 |
20 | F1D369E52171FDAE00F498FA
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/slider/util/Thumb.swift:
--------------------------------------------------------------------------------
1 | #if os(iOS)
2 | import Spatial
3 | import UIKit
4 | #elseif os(macOS)
5 | import Spatial_macOS
6 | import Cocoa
7 | #endif
8 |
9 | open class Thumb: InteractiveView, ConstraintKind {
10 | #if os(iOS)
11 | /**
12 | * Thouch moved
13 | */
14 | override open func touchesMoved(_ touches: Set, with event: UIEvent?) {
15 | if let touch = touches.first /* touch.view == self*/ {
16 | let touchPoint = touch.location(in: self.superview)
17 | onMove(touchPoint)
18 | }
19 | }
20 | #elseif os(macOS)
21 | /**
22 | * Mouse dragged
23 | */
24 | override open func mouseDragged(with event: NSEvent) {
25 | let p: CGPoint = self.superview!.convert(event.locationInWindow, from: nil)
26 | onMove(p)
27 | }
28 | #endif
29 | }
30 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/With/With/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Hybrid-iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/selectbutton/SelectButton.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | open class SelectButton: Button, Selectable {
4 | internal var styles: Styles
5 | open var selected: Bool {
6 | didSet {
7 | self.style = selected ? styles.active : styles.inActive
8 | }
9 | }
10 | public init(selected: Bool = false, styles: Styles = defaultStyles, frame: CGRect = .zero) {
11 | self.styles = styles
12 | self.selected = selected
13 | let style: Style = selected ? styles.active : styles.inActive
14 | super.init(style: style, frame: frame)
15 | _ = { self.selected = self.selected }()/*hack*/
16 | }
17 | /**
18 | * Boilerplate
19 | */
20 | public required init?(coder aDecoder: NSCoder) {
21 | fatalError("init(coder:) has not been implemented")
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/peekandpop/PeakAndPopView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Hybrid_iOS
3 |
4 | class PeekAndPopView: UIView {
5 | lazy var firstButton: ModalButton = createModalButton(btn: FirstButton())
6 | lazy var secondButton: ModalButton = createModalButton(btn: SecondButton())
7 | lazy var thirdButton: ModalButton = createModalButton(btn: ThirdButton())
8 | lazy var promptButton: PromptButton = createPromptButton()
9 | /**
10 | * Initiate
11 | */
12 | init() {
13 | Swift.print("PeekAndPopView.init()")
14 | super.init(frame: .zero)
15 | _ = firstButton
16 | _ = secondButton
17 | _ = thirdButton
18 | _ = promptButton
19 | }
20 | /**
21 | * Boilerplate
22 | */
23 | required init?(coder aDecoder: NSCoder) {
24 | fatalError("init(coder:) has not been implemented")
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/Carthage/Build/iOS/With.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.futurelab.github.io.With
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/src/With.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | @discardableResult/*👈 Avoids xcode compiler warnings if result is not used*/
3 | /**
4 | * ## Examples:
5 | * let rectangle = with(CGRect.init(x: 0, y: 0, width: 100, height: 100)) {
6 | * $0 = $0.offsetBy(dx: 20, dy: 20)
7 | * $0 = $0.insetBy(dx: 10, dy: 10)
8 | * }
9 | * Swift.print(rectangle)// X:30.0, y:30.0, width:80.0, height:80.0
10 | *
11 | * EXAMPLE 2:
12 | * let color = with(UIColor.init(red: 50, green: 100, blue: 0, alpha: 0.9)) { ( col:inout UIColor) -> Void in
13 | * col = col.withAlphaComponent(0.2)
14 | * }
15 | * Swift.print(color.cgColor.alpha)//0.2
16 | */
17 | public func with(_ item: T, update: (inout T) throws -> Void) rethrows -> T {
18 | var item = item
19 | try update(&item)
20 | return item
21 | }
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/middle/itemView/ItemView+Create.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | extension ItemView {
5 | /**
6 | * Creates horizontal items
7 | */
8 | func createHorizontalItems() -> [UIView] {
9 | let size: CGSize = .init(width: 48, height: 48)
10 | let views: [UIView] = [UIColor.purple, .orange, .red, .blue].map {
11 | let view: UIView = .init(frame: .zero)
12 | self.addSubview(view)
13 | view.backgroundColor = $0
14 | return view
15 | }
16 | views.activateAnchorsAndSizes { views in
17 | let anchors = Constraint.distribute(horizontally: views, align: .centerLeft)
18 | let sizes = views.map { Constraint.size($0, size: size) }
19 | return (anchors, sizes)
20 | }
21 | return views
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/WithExample.xcodeproj/xcuserdata/andre.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | With.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | WithExample.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 1
16 |
17 |
18 | SuppressBuildableAutocreation
19 |
20 | 6533532A21B6723B0056BB34
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/With/With/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/With/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/common/hybrid/label/NSLabel.swift:
--------------------------------------------------------------------------------
1 | #if os(macOS)
2 | import Cocoa
3 | /**
4 | * Note: - use self.textColor to set text color
5 | */
6 | open class NSLabel: NSTextField {
7 | override init(frame frameRect: NSRect) {
8 | super.init(frame: frameRect)
9 | self.isBezeled = false
10 | self.drawsBackground = false
11 | self.isEditable = false
12 | self.isSelectable = false
13 | }
14 | /**
15 | * Boilerplate
16 | */
17 | public required init?(coder: NSCoder) {
18 | fatalError("init(coder:) has not been implemented")
19 | }
20 | // open override var cell: NSCell? {get{Swift.print("cell");return super.cell}set{super.cell = newValue}}
21 | // open override func drawCell(_ cell: NSCell) {
22 | // Swift.print("drawCell")
23 | // super.drawCell(cell)
24 | // }
25 | }
26 | #endif
27 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/MainView.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class MainView: UIView {
4 | lazy var cardView: CardView = createCardView()
5 | lazy var spacingTestView: UIView = createSpacingTestView()
6 | lazy var minMaxTestView: UIView = createMinMaxView()
7 | lazy var testView: UIView = createTestView()
8 | lazy var tableTestView: UIView = createTableView()
9 | lazy var sizeTestingView: SizeTestingView = createSizeTestingView()
10 | override init(frame: CGRect) {
11 | super.init(frame: frame)
12 | //_ = minMaxTestView
13 | // _ = tableTestView
14 | //_ = testView
15 | _ = sizeTestingView
16 | }
17 | /**
18 | * Boilerplate
19 | */
20 | @available(*, unavailable)
21 | required init?(coder aDecoder: NSCoder) {
22 | fatalError("init(coder:) has not been implemented")
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/middle/itemView/ItemView+Create.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | extension ItemView {
5 | /**
6 | * Creates horizontal items
7 | */
8 | func createHorizontalItems() -> [UIView] {
9 | let size: CGSize = .init(width: 48, height: 48)
10 | let views: [UIView] = [UIColor.purple, .orange, .red, .blue].map {
11 | let view: UIView = .init(frame: .zero)
12 | self.addSubview(view)
13 | view.backgroundColor = $0
14 | return view
15 | }
16 | views.activateAnchorsAndSizes { views in
17 | let anchors = Constraint.distribute(horizontally: views, align: .centerLeft)
18 | let sizes = views.map { Constraint.size($0, size: size) }
19 | return (anchors, sizes)
20 | }
21 | return views
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/middle/MiddleContent+Create.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | extension MiddleContent {
5 | /**
6 | * Create items
7 | */
8 | func createItemViews() -> [ItemView] {
9 | let size: CGSize = .init(width: self.frame.width, height: 48)
10 | let itemViews: [ItemView] = (0..<5).map {_ in
11 | let itemView: ItemView = .init(frame: .zero)
12 | self.addSubview(itemView)
13 | return itemView
14 | }
15 | itemViews.activateAnchorsAndSizes { views in /*All vertically centered, 48p height each*/
16 | let anchors = Constraint.distribute(vertically: views, align: .topLeft, spacing: 12, offset: 24)
17 | let sizes = views.map { Constraint.size($0, size: size) }
18 | return (anchors, sizes)
19 | }
20 | return itemViews
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Carthage/Checkouts/With/With/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/spinner/stepper/Stepper.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * ## Examples:
4 | * let stepper:Stepper = .init()
5 | * view.addSubview(stepper)
6 | * stepper.onChange = {value in Swift.print("value: \(value)")}
7 | */
8 | open class Stepper: View {
9 | public var onChange: OnChange = { _ in Swift.print("must be set by user") }
10 | lazy var plusButton: Button = createPlusButton()
11 | lazy var minusButton: Button = createMinusButton()
12 | var initData: InitData
13 | public init(initData: InitData = Stepper.defaultData, frame: CGRect = .zero) {
14 | self.initData = initData
15 | super.init(frame: frame)
16 | _ = plusButton
17 | _ = minusButton
18 | }
19 | /**
20 | * Boilerplate
21 | */
22 | public required init?(coder aDecoder: NSCoder) {
23 | fatalError("init(coder:) has not been implemented")
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/animation/frame/FrameAnimator.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * - Abstract: FrameAnimator serves as the Core Animator in this Animation library
4 | * - Fixme: ⚠️️⚠️️⚠️️ Make a local stopped flag, so you don't have to itrate animProxy.animations so many times
5 | * - Remark: We use NSObject in order to use @objc overriding in conjunction with extensions
6 | */
7 | public class FrameAnimator: NSObject, FrameAnimatable { // Fixme: ⚠️️ Rename to FrameAnimator
8 | public var animProxy: AnimProxyKind // Reference to where the displayLink resides
9 | /**
10 | * - Parameter animatable: A reference to the AnimProxy singelton instance
11 | * - Fixme: ⚠️️ It's possible that we can just setup the sigelton as a lazy var, and not have to pass it in as a param
12 | */
13 | public init(_ animatable: AnimProxyKind = AnimProxy.shared) {
14 | self.animProxy = animatable
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/BaseCell.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class BaseCell: UITableViewCell {
4 | var data: CellDataKind?/*Stores cellData*/
5 | /**
6 | * Init
7 | */
8 | override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
9 | super.init(style: style, reuseIdentifier: reuseIdentifier)
10 | self.selectionStyle = .none/*disables the selection highlighting*/
11 | }
12 | /**
13 | * NOTE: If you're using Auto Layout, you'll need to subclass your UIView and call roundCorners in the view's layoutSubviews for optimal effect.
14 | */
15 | override func layoutSubviews() {
16 | super.layoutSubviews()
17 | }
18 | /**
19 | * Boilerplate
20 | */
21 | @available(*, unavailable)
22 | required init?(coder aDecoder: NSCoder) {
23 | fatalError("init(coder:) has not been implemented")
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/main/card/content/middle/MiddleContent+Create.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Spatial
3 |
4 | extension MiddleContent {
5 | /**
6 | * Create items
7 | */
8 | func createItemViews() -> [ItemView] {
9 | let size: CGSize = .init(width: self.frame.width, height: 48)
10 | let itemViews: [ItemView] = (0..<5).map {_ in
11 | let itemView: ItemView = .init(frame: .zero)
12 | self.addSubview(itemView)
13 | return itemView
14 | }
15 | itemViews.activateAnchorsAndSizes { views in /*All vertically centered, 48p height each*/
16 | let anchors = Constraint.distribute(vertically: views, align: .topLeft, spacing: 12, offset: 24)
17 | let sizes = views.map { Constraint.size($0, size: size) }
18 | return (anchors, sizes)
19 | }
20 | return itemViews
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/peekandpop/button/modal/modalbutton/ModalButton.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import UIKit
3 | import Hybrid_iOS
4 | import Spatial
5 |
6 | class ModalButton: ForceTouchButton {
7 | var factor: CGFloat { return 0 }
8 | var onDownYOffset: CGFloat = 0
9 | override init(style: Button.Style = Button.defaultStyle, frame: CGRect = .zero) {
10 | super.init(style: style, frame: frame)
11 | }
12 | /**
13 | * Boilerplate
14 | */
15 | required init?(coder aDecoder: NSCoder) {
16 | fatalError("init(coder:) has not been implemented")
17 | }
18 | }
19 | /**
20 | * Helper
21 | */
22 | extension ModalButton {
23 | /**
24 | * Called on each stage change
25 | */
26 | func stageChange(curStage: ForceTouchButton.ForceTouchStage, prevStage: ForceTouchButton.ForceTouchStage) {
27 | Swift.print("stageChange curStage: \(curStage) prevStage: \(prevStage)")
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/select/special/SelectableTextButton.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | open class SelectableTextButton: TextButton, Selectable {
4 | internal var styles: Styles
5 | open var selected: Bool {
6 | didSet {
7 | self.textButtonStyle = selected ? styles.active : styles.inActive
8 | }
9 | }
10 | public init(selected: Bool = false, text: String = "Default", styles: Styles = defaultStyles, frame: CGRect = .zero) {
11 | self.styles = styles
12 | self.selected = selected
13 | let style: TextButtonStyle = selected ? styles.active : styles.inActive
14 | super.init(text: text, style: style, frame: frame)
15 | _ = { self.selected = self.selected }()/*hack*/
16 | }
17 | /**
18 | * Boilerplate
19 | */
20 | public required init?(coder aDecoder: NSCoder) {
21 | fatalError("init(coder:) has not been implemented")
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/AnimKitExampleIOS/peekandpop/button/modal/forcetouch/ForceTouchButton.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Hybrid_iOS
3 | import Spatial
4 | /**
5 | * Fixme: impliment a check for 3d touch: https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/tracking_the_force_of_3d_touch_events/checking_the_availability_of_3d_touch
6 | */
7 | public class ForceTouchButton: Button, ForceTouchButtonKind {
8 | var prevDepth: ForceTouchDepth = .idle
9 | override init(style: Button.Style = Button.defaultStyle, frame: CGRect = .zero) {
10 | super.init(style: style, frame: frame)
11 | }
12 | required init?(coder aDecoder: NSCoder) {
13 | fatalError("init(coder:) has not been implemented")
14 | }
15 | }
16 |
17 | // To check if there is forceTouch capability:
18 |
19 | // if( traitCollection.forceTouchCapability == .available) {
20 | // registerForPreviewing(with: self, sourceView: self)
21 | // }
22 |
--------------------------------------------------------------------------------
/AnimKit/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSHumanReadableCopyright
22 | Copyright © 2019 FutureLab. All rights reserved.
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/SpatialExample/view/table/cell/BaseCell.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | class BaseCell: UITableViewCell {
4 | var data: CellDataKind?/*Stores cellData*/
5 | /**
6 | * Init
7 | */
8 | override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
9 | super.init(style: style, reuseIdentifier: reuseIdentifier)
10 | self.selectionStyle = .none/*disables the selection highlighting*/
11 | }
12 | /**
13 | * NOTE: If you're using Auto Layout, you'll need to subclass your UIView and call roundCorners in the view's layoutSubviews for optimal effect.
14 | */
15 | override func layoutSubviews() {
16 | super.layoutSubviews()
17 | }
18 | /**
19 | * Boilerplate
20 | */
21 | @available(*, unavailable)
22 | required init?(coder aDecoder: NSCoder) {
23 | fatalError("init(coder:) has not been implemented")
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/common/Hybrid.swift:
--------------------------------------------------------------------------------
1 | /**
2 | * - Abstract: this class makes Spatial work for iOS and macOS
3 | */
4 | #if os(iOS)
5 | import UIKit
6 | public typealias View = UIView
7 | public typealias EdgeInsets = UIEdgeInsets
8 | #elseif os(macOS)
9 | import Cocoa
10 | public typealias View = NSView
11 | public typealias EdgeInsets = NSEdgeInsets
12 | #endif
13 |
14 | extension CGRect {
15 | /**
16 | * - Note: the insetBy is uniform like: NSRect.init(x: 0, y: 0, width: 100, height: 100).insetBy(dx: 10, dy: 10)//(10.0, 10.0, 80.0, 80.0)
17 | */
18 | public func inset(by inset: EdgeInsets) -> CGRect {
19 | let x = self.origin.x + inset.left
20 | let y = self.origin.y + inset.top
21 | let width = self.size.width - inset.left - inset.right
22 | let height = self.size.height - inset.top - inset.bottom
23 | return .init(x: x, y: y, width: width, height: height)
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/AnimKitExample/elasticTest/ElasticView+Event.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 |
3 | extension ElasticTestView {
4 | /**
5 | * OnMove
6 | */
7 | func onMove(p: CGPoint) {
8 | // Swift.print("onMove.p: \(p)")
9 | // let p: CGPoint = self.convert((window?.mouseLocationOutsideOfEventStream)!, from: nil)//self.convert(event.locationInWindow, from: nil)
10 | let yOffset: CGFloat = p.y - onDownYOffset
11 | // rubberband.value = -yOffset
12 | // rubberband.updatePosition(true)
13 | // rubberband.start()
14 | animator.direct = true
15 | animator.setTargetValue(yOffset).start()
16 | }
17 | func onDown(p: CGPoint) {
18 | onDownYOffset = p.y
19 | }
20 | }
21 | extension ElasticTestView {
22 | /**
23 | * thumbFrameAnim
24 | */
25 | func thumbFrameAnim(yValue: CGFloat) {
26 | // Swift.print("thumbFrameAnim.yValue: \(yValue)")
27 | thumb.frame.origin.y = yValue
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/src/button/text/TextButton+Create.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | #if os(iOS)
3 | import With
4 | import Spatial
5 | #elseif os(macOS)
6 | import With_mac
7 | import Spatial_macOS
8 | #endif
9 |
10 | /**
11 | * Create
12 | */
13 | extension TextButton {
14 | /**
15 | * Create text label
16 | */
17 | open func createTextLabel() -> Label {
18 | return with(.init()) {
19 | addSubview($0)
20 | $0.text = self.text
21 | $0.textColor = .orange
22 | // Swift.print("$0.textColor: \($0.textColor)")
23 | $0.textAlignment = .center
24 | $0.font = .systemFont(ofSize: 20)
25 | $0.centerVertically()
26 | $0.anchorAndSize(to: self )
27 | #if os(macOS)//if applied in iOS the text becomes gray
28 | $0.isEnabled = false/*Disables interactivity, so that upInside callback works in macOS*/
29 | #endif
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/align/alignment/Alignment+Extension.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Extension
4 | */
5 | extension Alignment {
6 | /**
7 | * - Returns the horizontal type from the dual-axis type `Alignment`
8 | */
9 | public var horAlign: HorizontalAlign {
10 | switch self {
11 | case .topLeft, .centerLeft, .bottomLeft: return .left
12 | case .topRight, .bottomRight, .centerRight: return .right
13 | case .bottomCenter, .topCenter, .centerCenter: return .centerX
14 | }
15 | }
16 | /**
17 | * - Returns the vertical type from the dual-axis type `Alignment`
18 | */
19 | public var verAlign: VerticalAlign {
20 | switch self {
21 | case .topRight, .topCenter, .topLeft: return .top
22 | case .bottomCenter, .bottomRight, .bottomLeft: return .bottom
23 | case .centerRight, .centerLeft, .centerCenter: return .centerY
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Hybrid/Carthage/Checkouts/Spatial/Spatial/src/common/Hybrid.swift:
--------------------------------------------------------------------------------
1 | /**
2 | * - Abstract: this class makes Spatial work for iOS and macOS
3 | */
4 | #if os(iOS)
5 | import UIKit
6 | public typealias View = UIView
7 | public typealias EdgeInsets = UIEdgeInsets
8 | #elseif os(macOS)
9 | import Cocoa
10 | public typealias View = NSView
11 | public typealias EdgeInsets = NSEdgeInsets
12 | #endif
13 |
14 | extension CGRect {
15 | /**
16 | * - Note: the insetBy is uniform like: NSRect.init(x: 0, y: 0, width: 100, height: 100).insetBy(dx: 10, dy: 10)//(10.0, 10.0, 80.0, 80.0)
17 | */
18 | public func inset(by inset: EdgeInsets) -> CGRect {
19 | let x = self.origin.x + inset.left
20 | let y = self.origin.y + inset.top
21 | let width = self.size.width - inset.left - inset.right
22 | let height = self.size.height - inset.top - inset.bottom
23 | return .init(x: x, y: y, width: width, height: height)
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/Spatial/Spatial/src/type/ConstraintKind+Type.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | /**
3 | * Single
4 | */
5 | extension ConstraintKind where Self: View {
6 | /**
7 | * Combinational types and closure signatures
8 | * - Note: This could be useful in a global domain, for now just access it by: ConstraintKind.UIViewConstraintKind
9 | */
10 | public typealias ViewConstraintKind = View & ConstraintKind
11 | public typealias AnchorAndSize = (anchor: AnchorConstraint, size: SizeConstraint)
12 | }
13 | /**
14 | * Bulk
15 | */
16 | extension Array where Element: ConstraintKind.ViewConstraintKind {
17 | public typealias AnchorAndSizeClosure = (_ views: [View]) -> AnchorConstraintsAndSizeConstraints
18 | public typealias SizesClosure = (_ views: [View]) -> [SizeConstraint]
19 | public typealias AnchorClosure = (_ views: [View]) -> [AnchorConstraint]
20 | public typealias AxisClosure = (_ views: [View]) -> [NSLayoutConstraint]
21 | }
22 |
--------------------------------------------------------------------------------