@momo-kits/native-kits 0.0.1-beta.5 → 0.89.1-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/android/.gradle/8.0/checksums/checksums.lock +0 -0
- package/android/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/8.0/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.0/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.0/gc.properties +0 -0
- package/android/.gradle/config.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/gradle.xml +12 -0
- package/android/.idea/migrations.xml +10 -0
- package/android/.idea/misc.xml +10 -0
- package/android/.idea/vcs.xml +6 -0
- package/android/.idea/workspace.xml +50 -0
- package/android/build.gradle +35 -69
- package/android/local.properties +8 -0
- package/android/proguard-rules.pro +21 -0
- package/android/src/main/AndroidManifest.xml +2 -2
- package/android/src/main/java/com/momoplatform/nativekits/foundations/Button.kt +16 -0
- package/android/src/main/java/com/momoplatform/nativekits/libs/Logo.kt +63 -0
- package/android/src/main/java/com/momoplatform/nativekits/libs/TrustBanner.kt +246 -0
- package/android/src/main/res/drawable/ic_launcher_background.xml +170 -0
- package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +30 -0
- package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +6 -0
- package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +6 -0
- package/android/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/values/colors.xml +10 -0
- package/android/src/main/res/values/strings.xml +3 -0
- package/android/src/main/res/values/themes.xml +3 -0
- package/android/src/main/res/values-night/themes.xml +3 -0
- package/android/src/main/res/xml/backup_rules.xml +13 -0
- package/android/src/main/res/xml/data_extraction_rules.xml +19 -0
- package/build.gradle.kts +18 -0
- package/compose/build.gradle.kts +82 -0
- package/compose/src/androidMain/AndroidManifest.xml +2 -0
- package/compose/src/androidMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
- package/compose/src/androidMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +8 -0
- package/compose/src/androidMain/kotlin/vn/momo/kits/utils/Utils.android.kt +14 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Components.kt +194 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +197 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +133 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +62 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +27 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +288 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +80 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +42 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +126 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +51 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +299 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +246 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +223 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +244 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +281 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PromotionPopup.kt +72 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +65 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +64 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +63 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +73 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +42 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +150 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +173 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +242 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +2 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1321 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +5 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +97 -0
- package/compose/src/iosMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
- package/compose/src/iosMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +9 -0
- package/compose/src/iosMain/kotlin/vn/momo/kits/utils/Utils.ios.kt +18 -0
- package/gradle.properties +19 -0
- package/gradlew +240 -0
- package/gradlew.bat +91 -0
- package/ios/Button/Button.swift +9 -2
- package/ios/CalculatorKeyboard/CalculatorKeyboard.swift +126 -0
- package/ios/Colors+Radius+Spacing/Colors.swift +21 -19
- package/ios/Input/Input.swift +1 -0
- package/ios/OTPKeyboard/KeyboardButton.swift +12 -4
- package/ios/Popup/PopupDisplay.swift +72 -81
- package/ios/Popup/PopupInput.swift +96 -0
- package/ios/Popup/PopupPromotion.swift +52 -0
- package/ios/ScrollIndicator/ScrollIndicator.swift +79 -0
- package/ios/Template/Logo/Logo.swift +75 -0
- package/ios/Template/TrustBanner/TrustBanner.swift +189 -0
- package/ios/native-kits.podspec +1 -1
- package/local.properties +8 -0
- package/package.json +6 -6
- package/publish.sh +1 -10
- package/settings.gradle.kts +41 -0
- package/android/gradle.properties +0 -5
- package/android/src/main/java/com/momoplatform/nativekits/NativeKitsPackage.kt +0 -17
- package/android/src/main/java/com/momoplatform/nativekits/NativeKitsViewManager.kt +0 -20
- package/example/ios/Example/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -63
- package/example/ios/Example/Assets.xcassets/Background.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Border.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Card.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Contents.json +0 -6
- package/example/ios/Example/Assets.xcassets/Error.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Primary.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/PrimaryDark.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/PrimaryLight.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Secondary.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Success.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Text.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/TextSecondary.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Warning.colorset/Contents.json +0 -38
- package/example/ios/Example/ComponentDetail.swift +0 -35
- package/example/ios/Example/ComponentItem.swift +0 -24
- package/example/ios/Example/ComponentModel.swift +0 -38
- package/example/ios/Example/ContentView.swift +0 -39
- package/example/ios/Example/Example.entitlements +0 -10
- package/example/ios/Example/Foundation/ButtonDemo.swift +0 -80
- package/example/ios/Example/Foundation/ImageDemo.swift +0 -43
- package/example/ios/Example/Foundation/Popup/ActionSheets.swift +0 -136
- package/example/ios/Example/Foundation/Popup/Floats.swift +0 -127
- package/example/ios/Example/Foundation/Popup/Popups.swift +0 -51
- package/example/ios/Example/Foundation/PopupDemo.swift +0 -389
- package/example/ios/Example/Foundation/TextInputDemo.swift +0 -36
- package/example/ios/Example/Foundation/TypographyDemo.swift +0 -53
- package/example/ios/Example/Foundation.swift +0 -26
- package/example/ios/Example/Info.plist +0 -18
- package/example/ios/Example/Library/CheckboxDemo.swift +0 -19
- package/example/ios/Example/Library/SwipeableDemo.swift +0 -105
- package/example/ios/Example/Library/SwitchDemo.swift +0 -19
- package/example/ios/Example/Library.swift +0 -26
- package/example/ios/Example/Main.swift +0 -27
- package/example/ios/Example/Overview.swift +0 -20
- package/example/ios/Example/Preview Content/Preview Assets.xcassets/Contents.json +0 -6
- package/example/ios/Example/Resource/SFProText-Black.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Bold.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Heavy.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Light.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Medium.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Regular.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Semibold.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Thin.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Ultralight.ttf +0 -0
- package/example/ios/Example/Resource/foundation.json +0 -33
- package/example/ios/Example/Resource/library.json +0 -18
- package/example/ios/Example/Utils.swift +0 -30
- package/example/ios/Example/ViewModifier/DarkViewModifier.swift +0 -22
- package/example/ios/Example.xcodeproj/project.pbxproj +0 -581
- package/example/ios/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/example/ios/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/example/ios/Example.xcodeproj/project.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/example/ios/Example.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/example/ios/Example.xcworkspace/contents.xcworkspacedata +0 -10
- package/example/ios/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
- package/example/ios/Podfile +0 -7
- package/example/ios/Podfile.lock +0 -35
- package/example/ios/Pods/Local Podspecs/MoMoUIKits.podspec.json +0 -37
- package/example/ios/Pods/Manifest.lock +0 -35
- package/example/ios/Pods/Pods.xcodeproj/project.pbxproj +0 -2047
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -46
- package/example/ios/Pods/SDWebImage/LICENSE +0 -20
- package/example/ios/Pods/SDWebImage/README.md +0 -352
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.h +0 -340
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.m +0 -172
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.h +0 -63
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.m +0 -165
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.h +0 -67
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.m +0 -120
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.h +0 -114
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.m +0 -392
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.h +0 -112
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.m +0 -420
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.h +0 -23
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.m +0 -133
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.h +0 -168
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.m +0 -79
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.h +0 -110
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m +0 -540
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.h +0 -145
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.m +0 -326
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.h +0 -73
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.m +0 -256
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.h +0 -19
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.m +0 -58
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.h +0 -23
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.m +0 -98
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.h +0 -450
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.m +0 -1030
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.h +0 -153
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.m +0 -68
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.h +0 -156
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.m +0 -138
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.h +0 -81
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.m +0 -556
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.h +0 -297
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.m +0 -26
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.h +0 -153
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.m +0 -822
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.h +0 -58
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.m +0 -130
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.h +0 -36
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.m +0 -28
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.h +0 -22
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.m +0 -58
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.h +0 -28
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.m +0 -127
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.h +0 -25
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.m +0 -101
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.h +0 -58
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.m +0 -807
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.h +0 -30
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.m +0 -420
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.h +0 -146
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.m +0 -170
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.h +0 -40
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.m +0 -123
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.h +0 -241
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.m +0 -331
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.h +0 -78
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.m +0 -158
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.h +0 -32
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.m +0 -39
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.h +0 -36
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.m +0 -39
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.h +0 -95
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.m +0 -17
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.h +0 -352
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.m +0 -149
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.h +0 -314
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.m +0 -658
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.h +0 -113
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.m +0 -60
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.h +0 -49
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.m +0 -55
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.h +0 -191
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.m +0 -722
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h +0 -69
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.m +0 -71
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h +0 -69
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.m +0 -73
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.h +0 -32
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.m +0 -16
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.h +0 -115
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.m +0 -275
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.h +0 -290
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.m +0 -775
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.h +0 -27
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.m +0 -14
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.h +0 -72
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.m +0 -59
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.h +0 -143
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.m +0 -303
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.h +0 -131
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.m +0 -194
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.h +0 -387
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.m +0 -234
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.h +0 -24
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.m +0 -23
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.h +0 -46
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.m +0 -60
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.h +0 -26
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.m +0 -22
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.h +0 -27
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.m +0 -47
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.h +0 -89
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.m +0 -221
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.h +0 -80
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.m +0 -47
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.h +0 -146
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.m +0 -824
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.h +0 -129
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.m +0 -76
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.h +0 -194
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.m +0 -67
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.h +0 -110
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m +0 -446
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.h +0 -48
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.m +0 -82
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.h +0 -24
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.m +0 -42
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.h +0 -14
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.m +0 -29
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.h +0 -21
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.m +0 -92
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.h +0 -18
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.m +0 -32
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.h +0 -29
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.m +0 -227
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.h +0 -19
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.m +0 -127
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.h +0 -23
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.m +0 -164
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.h +0 -21
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.m +0 -83
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageIOAnimatedCoderInternal.h +0 -39
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.h +0 -122
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.m +0 -13
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.h +0 -20
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.m +0 -79
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWebImageTransitionInternal.h +0 -19
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDmetamacros.h +0 -667
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.h +0 -18
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.m +0 -42
- package/example/ios/Pods/SDWebImage/WebImage/SDWebImage.h +0 -89
- package/example/ios/Pods/SDWebImageSwiftUI/LICENSE +0 -19
- package/example/ios/Pods/SDWebImageSwiftUI/README.md +0 -690
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/AnimatedImage.swift +0 -870
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Backport.swift +0 -59
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/OnChange.swift +0 -52
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Overlay.swift +0 -124
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/StateObject.swift +0 -151
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Image.swift +0 -78
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageManager.swift +0 -132
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImagePlayer.swift +0 -122
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift +0 -133
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ActivityIndicator.swift +0 -82
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/Indicator.swift +0 -97
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ProgressIndicator.swift +0 -114
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SDWebImageSwiftUI.swift +0 -64
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SwiftUICompatibility.swift +0 -92
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Transition/Transition.swift +0 -93
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/WebImage.swift +0 -509
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Module/SDWebImageSwiftUI.h +0 -15
- package/example/ios/Pods/SkeletonUI/LICENSE +0 -21
- package/example/ios/Pods/SkeletonUI/README.md +0 -137
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AngleInteractor.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AnglePresenter.swift +0 -7
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Animation/AnimationInteractor.swift +0 -56
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearanceInteractor.swift +0 -58
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearancePresenter.swift +0 -5
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ClosedRange+Normalize.swift +0 -16
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Image+OptionalType.swift +0 -102
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ModifiedContent+SkeletonModifier.swift +0 -26
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Optional+OptionalType.swift +0 -5
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/SecureField+OptionalType.swift +0 -19
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Text+OptionalType.swift +0 -27
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/TextField+OptionalType.swift +0 -35
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Toggle+OptionalType.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/UnitPoint+Angle.swift +0 -8
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/View+SkeletonModifier.swift +0 -8
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Modifiers/SkeletonModifier.swift +0 -52
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilineInteractor.swift +0 -41
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilinePresenter.swift +0 -9
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityInteractor.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityPresenter.swift +0 -7
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionInteractor.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionPresenter.swift +0 -7
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Protocols/OptionalType.swift +0 -4
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusInteractor.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusPresenter.swift +0 -7
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapeInteractor.swift +0 -33
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapePresenter.swift +0 -5
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonForEach.swift +0 -20
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonInteractor.swift +0 -27
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonList.swift +0 -20
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonPresenter.swift +0 -15
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonShape.swift +0 -64
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonView.swift +0 -25
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-prefix.pch +0 -12
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-umbrella.h +0 -16
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.debug.xcconfig +0 -15
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.release.xcconfig +0 -15
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown +0 -75
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist +0 -119
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h +0 -16
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig +0 -15
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig +0 -15
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-prefix.pch +0 -12
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-umbrella.h +0 -75
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.debug.xcconfig +0 -14
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.release.xcconfig +0 -14
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-prefix.pch +0 -12
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-umbrella.h +0 -17
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.debug.xcconfig +0 -17
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.release.xcconfig +0 -17
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-prefix.pch +0 -12
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-umbrella.h +0 -16
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.debug.xcconfig +0 -12
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.release.xcconfig +0 -12
- package/ios/Extensions/View++.swift +0 -9
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import Combine
|
|
2
|
-
import SwiftUI
|
|
3
|
-
|
|
4
|
-
// sourcery: AutoMockable
|
|
5
|
-
protocol AngleInteractable: AnyObject {
|
|
6
|
-
var presenter: AnglePresenter { get }
|
|
7
|
-
var animation: CurrentValueSubject<Animation?, Never> { get }
|
|
8
|
-
var value: CurrentValueSubject<Double, Never> { get }
|
|
9
|
-
var range: CurrentValueSubject<ClosedRange<Double>, Never> { get }
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
final class AngleInteractor: AngleInteractable {
|
|
13
|
-
let presenter = AnglePresenter()
|
|
14
|
-
let animation: CurrentValueSubject<Animation?, Never>
|
|
15
|
-
let value: CurrentValueSubject<Double, Never>
|
|
16
|
-
let range: CurrentValueSubject<ClosedRange<Double>, Never>
|
|
17
|
-
|
|
18
|
-
private var cancellables = Set<AnyCancellable>()
|
|
19
|
-
|
|
20
|
-
init() {
|
|
21
|
-
value = CurrentValueSubject<Double, Never>(presenter.value)
|
|
22
|
-
animation = CurrentValueSubject<Animation?, Never>(presenter.animation)
|
|
23
|
-
range = CurrentValueSubject<ClosedRange<Double>, Never>(presenter.range)
|
|
24
|
-
range.assign(to: \.range, on: presenter).store(in: &cancellables)
|
|
25
|
-
value.assign(to: \.value, on: presenter).store(in: &cancellables)
|
|
26
|
-
animation.assign(to: \.animation, on: presenter).store(in: &cancellables)
|
|
27
|
-
range.map { $0.lowerBound }.assign(to: \.value, on: presenter).store(in: &cancellables)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import Combine
|
|
2
|
-
import SwiftUI
|
|
3
|
-
|
|
4
|
-
public enum AnimationType: Equatable {
|
|
5
|
-
case none
|
|
6
|
-
case pulse(range: ClosedRange<Double> = .zero ... 1, duration: Double = 2, delay: Double = 1, speed: Double = 2, autoreverses: Bool = true)
|
|
7
|
-
case linear(range: ClosedRange<CGFloat> = .zero ... 1, duration: Double = 4, delay: Double = 1, speed: Double = 5, autoreverses: Bool = false)
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
// sourcery: AutoMockable
|
|
11
|
-
protocol AnimationInteractable: AnyObject {
|
|
12
|
-
var position: PositionInteractable { get }
|
|
13
|
-
var opacity: OpacityInteractable { get }
|
|
14
|
-
var radius: RadiusInteractable { get }
|
|
15
|
-
var angle: AngleInteractable { get }
|
|
16
|
-
var type: CurrentValueSubject<AnimationType, Never> { get }
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
final class AnimationInteractor: AnimationInteractable {
|
|
20
|
-
let position: PositionInteractable
|
|
21
|
-
let opacity: OpacityInteractable
|
|
22
|
-
let radius: RadiusInteractable
|
|
23
|
-
let angle: AngleInteractable
|
|
24
|
-
let type: CurrentValueSubject<AnimationType, Never>
|
|
25
|
-
|
|
26
|
-
private var cancellables = Set<AnyCancellable>()
|
|
27
|
-
|
|
28
|
-
init(position: PositionInteractable = PositionInteractor(), opacity: OpacityInteractable = OpacityInteractor(), radius: RadiusInteractable = RadiusInteractor(), angle: AngleInteractable = AngleInteractor()) {
|
|
29
|
-
self.position = position
|
|
30
|
-
self.opacity = opacity
|
|
31
|
-
self.radius = radius
|
|
32
|
-
self.angle = angle
|
|
33
|
-
type = CurrentValueSubject<AnimationType, Never>(.linear())
|
|
34
|
-
type.sink { type in
|
|
35
|
-
position.animation.send(nil)
|
|
36
|
-
opacity.animation.send(nil)
|
|
37
|
-
radius.animation.send(nil)
|
|
38
|
-
angle.animation.send(nil)
|
|
39
|
-
switch type {
|
|
40
|
-
case .none:
|
|
41
|
-
break
|
|
42
|
-
case let .pulse(range, duration, delay, speed, autoreverses):
|
|
43
|
-
opacity.range.send(range)
|
|
44
|
-
opacity.animation.send(Animation.easeIn(duration: duration).delay(delay).speed(speed).repeatForever(autoreverses: autoreverses))
|
|
45
|
-
case let .linear(range, duration, delay, speed, autoreverses):
|
|
46
|
-
position.range.send(position.presenter.range.normalize(with: range))
|
|
47
|
-
radius.range.send(radius.presenter.range.normalize(with: range))
|
|
48
|
-
angle.range.send(angle.presenter.range.normalize(with: range))
|
|
49
|
-
position.animation.send(Animation.easeInOut(duration: duration).delay(delay).speed(speed).repeatForever(autoreverses: autoreverses))
|
|
50
|
-
opacity.animation.send(autoreverses ? nil : Animation.easeIn(duration: duration).delay(delay).speed(speed * 2).repeatForever(autoreverses: true))
|
|
51
|
-
radius.animation.send(Animation.easeInOut(duration: duration).delay(delay).speed(speed).repeatForever(autoreverses: autoreverses))
|
|
52
|
-
angle.animation.send(Animation.easeInOut(duration: duration).delay(delay).speed(speed).repeatForever(autoreverses: autoreverses))
|
|
53
|
-
}
|
|
54
|
-
}.store(in: &cancellables)
|
|
55
|
-
}
|
|
56
|
-
}
|
package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearanceInteractor.swift
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import Combine
|
|
2
|
-
import SwiftUI
|
|
3
|
-
|
|
4
|
-
public enum GradientType: Equatable {
|
|
5
|
-
case linear
|
|
6
|
-
case angular
|
|
7
|
-
case radial
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
public struct SkeletonColor {
|
|
11
|
-
public static var primary: Color {
|
|
12
|
-
#if os(iOS)
|
|
13
|
-
return Color(.systemGray4)
|
|
14
|
-
#elseif os(tvOS)
|
|
15
|
-
return Color(.tertiaryLabel)
|
|
16
|
-
#elseif os(watchOS)
|
|
17
|
-
return Color.secondary
|
|
18
|
-
#elseif os(macOS)
|
|
19
|
-
return Color(.alternateSelectedControlColor)
|
|
20
|
-
#endif
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
public static var background: Color {
|
|
24
|
-
#if os(iOS)
|
|
25
|
-
return Color(.systemGray6)
|
|
26
|
-
#elseif os(tvOS)
|
|
27
|
-
return Color(.secondaryLabel)
|
|
28
|
-
#elseif os(watchOS)
|
|
29
|
-
return Color.primary
|
|
30
|
-
#elseif os(macOS)
|
|
31
|
-
return Color(.unemphasizedSelectedContentBackgroundColor)
|
|
32
|
-
#endif
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
public enum AppearanceType: Equatable {
|
|
38
|
-
case solid(color: Color = SkeletonColor.primary, background: Color = SkeletonColor.background)
|
|
39
|
-
case gradient(GradientType = .linear, color: Color = SkeletonColor.primary, background: Color = SkeletonColor.background, radius: CGFloat = 1, angle: CGFloat = .zero)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// sourcery: AutoMockable
|
|
43
|
-
protocol AppearanceInteractable: AnyObject {
|
|
44
|
-
var presenter: AppearancePresenter { get }
|
|
45
|
-
var type: CurrentValueSubject<AppearanceType, Never> { get }
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
final class AppearanceInteractor: AppearanceInteractable {
|
|
49
|
-
let presenter = AppearancePresenter()
|
|
50
|
-
let type: CurrentValueSubject<AppearanceType, Never>
|
|
51
|
-
|
|
52
|
-
private var cancellables = Set<AnyCancellable>()
|
|
53
|
-
|
|
54
|
-
init() {
|
|
55
|
-
type = CurrentValueSubject<AppearanceType, Never>(presenter.type)
|
|
56
|
-
type.assign(to: \.type, on: presenter).store(in: &cancellables)
|
|
57
|
-
}
|
|
58
|
-
}
|
package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ClosedRange+Normalize.swift
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import CoreGraphics
|
|
2
|
-
|
|
3
|
-
extension ClosedRange where Bound == CGFloat {
|
|
4
|
-
func normalize(with range: ClosedRange) -> ClosedRange {
|
|
5
|
-
let lowerBound = range.lowerBound == .zero ? self.lowerBound : range.lowerBound
|
|
6
|
-
let upperBound = range.upperBound == 1 ? self.upperBound : range.upperBound
|
|
7
|
-
return lowerBound < upperBound ? lowerBound ... upperBound : self
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
extension ClosedRange where Bound == Double {
|
|
12
|
-
func normalize(with range: ClosedRange<CGFloat>) -> ClosedRange {
|
|
13
|
-
let normalized = (CGFloat(lowerBound) ... CGFloat(upperBound)).normalize(with: range)
|
|
14
|
-
return Double(normalized.lowerBound) ... Double(normalized.upperBound)
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
public extension Image {
|
|
4
|
-
#if os(iOS) || os(tvOS) || os(watchOS)
|
|
5
|
-
init(uiImage: UIImage?) {
|
|
6
|
-
if let uiImage = uiImage {
|
|
7
|
-
self.init(uiImage: uiImage)
|
|
8
|
-
} else {
|
|
9
|
-
self.init(uiImage: UIImage())
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
#elseif os(macOS)
|
|
14
|
-
init(nsImage: NSImage?) {
|
|
15
|
-
if let nsImage = nsImage {
|
|
16
|
-
self.init(nsImage: nsImage)
|
|
17
|
-
} else {
|
|
18
|
-
self.init(nsImage: NSImage())
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
#endif
|
|
22
|
-
|
|
23
|
-
init(_ name: String?, bundle: Bundle? = nil) {
|
|
24
|
-
if let name = name {
|
|
25
|
-
self.init(name, bundle: bundle)
|
|
26
|
-
} else {
|
|
27
|
-
self.init(String(), bundle: bundle)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
init(_ name: String?, bundle: Bundle? = nil, label: Text) {
|
|
32
|
-
if let name = name {
|
|
33
|
-
self.init(name, bundle: bundle, label: label)
|
|
34
|
-
} else {
|
|
35
|
-
self.init(String(), bundle: bundle, label: label)
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
init(decorative name: String?, bundle: Bundle? = nil) {
|
|
40
|
-
if let name = name {
|
|
41
|
-
self.init(decorative: name, bundle: bundle)
|
|
42
|
-
} else {
|
|
43
|
-
self.init(decorative: String(), bundle: bundle)
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
#if os(iOS) || os(tvOS) || os(watchOS)
|
|
48
|
-
init(systemName: String?) {
|
|
49
|
-
if let systemName = systemName {
|
|
50
|
-
self.init(systemName: systemName)
|
|
51
|
-
} else {
|
|
52
|
-
self.init(systemName: String())
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
#endif
|
|
56
|
-
|
|
57
|
-
#if os(iOS) || os(tvOS) || os(watchOS)
|
|
58
|
-
init(_ cgImage: CGImage?, scale: CGFloat, orientation: Image.Orientation = .up, label: Text) {
|
|
59
|
-
if let cgImage = cgImage {
|
|
60
|
-
self.init(cgImage, scale: scale, orientation: orientation, label: label)
|
|
61
|
-
} else if let image = UIImage().cgImage {
|
|
62
|
-
self.init(image, scale: scale, orientation: orientation, label: label)
|
|
63
|
-
} else {
|
|
64
|
-
self.init(String())
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
#elseif os(macOS)
|
|
69
|
-
init(_ cgImage: CGImage?, scale: CGFloat, orientation: Image.Orientation = .up, label: Text) {
|
|
70
|
-
if let cgImage = cgImage {
|
|
71
|
-
self.init(cgImage, scale: scale, orientation: orientation, label: label)
|
|
72
|
-
} else if let image = NSImage().cgImage(forProposedRect: nil, context: nil, hints: nil) {
|
|
73
|
-
self.init(image, scale: scale, orientation: orientation, label: label)
|
|
74
|
-
} else {
|
|
75
|
-
self.init(String())
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
#endif
|
|
79
|
-
|
|
80
|
-
#if os(iOS) || os(tvOS) || os(watchOS)
|
|
81
|
-
init(decorative cgImage: CGImage?, scale: CGFloat, orientation: Image.Orientation = .up) {
|
|
82
|
-
if let cgImage = cgImage {
|
|
83
|
-
self.init(decorative: cgImage, scale: scale, orientation: orientation)
|
|
84
|
-
} else if let image = UIImage().cgImage {
|
|
85
|
-
self.init(decorative: image, scale: scale, orientation: orientation)
|
|
86
|
-
} else {
|
|
87
|
-
self.init(String())
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
#elseif os(macOS)
|
|
92
|
-
init(decorative cgImage: CGImage?, scale: CGFloat, orientation: Image.Orientation = .up) {
|
|
93
|
-
if let cgImage = cgImage {
|
|
94
|
-
self.init(decorative: cgImage, scale: scale, orientation: orientation)
|
|
95
|
-
} else if let image = NSImage().cgImage(forProposedRect: nil, context: nil, hints: nil) {
|
|
96
|
-
self.init(decorative: image, scale: scale, orientation: orientation)
|
|
97
|
-
} else {
|
|
98
|
-
self.init(String())
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
#endif
|
|
102
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
|
|
4
|
-
public extension ModifiedContent where Content: View, Modifier == SkeletonModifier {
|
|
5
|
-
func animation(type: AnimationType) -> ModifiedContent<Content, SkeletonModifier> {
|
|
6
|
-
modifier.skeleton.animation.type.send(type)
|
|
7
|
-
return self
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
func appearance(type: AppearanceType) -> ModifiedContent<Content, SkeletonModifier> {
|
|
11
|
-
modifier.skeleton.appearance.type.send(type)
|
|
12
|
-
return self
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
func multiline(lines: Int, scales: [Int: CGFloat]? = nil, spacing: CGFloat? = nil) -> ModifiedContent<Content, SkeletonModifier> {
|
|
16
|
-
modifier.skeleton.multiline.lines.send(lines)
|
|
17
|
-
modifier.skeleton.multiline.scales.send(scales)
|
|
18
|
-
modifier.skeleton.multiline.spacing.send(spacing)
|
|
19
|
-
return self
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
func shape(type: ShapeType) -> ModifiedContent<Content, SkeletonModifier> {
|
|
23
|
-
modifier.skeleton.shape.type.send(type)
|
|
24
|
-
return self
|
|
25
|
-
}
|
|
26
|
-
}
|
package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/SecureField+OptionalType.swift
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
public extension SecureField where Label == Text {
|
|
4
|
-
init(_ titleKey: LocalizedStringKey?, text: Binding<String>, onCommit: @escaping () -> Void = {}) {
|
|
5
|
-
if let titleKey = titleKey {
|
|
6
|
-
self.init(titleKey, text: text, onCommit: onCommit)
|
|
7
|
-
} else {
|
|
8
|
-
self.init(LocalizedStringKey(String()), text: text, onCommit: onCommit)
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
init<S>(_ title: S?, text: Binding<String>, onCommit: @escaping () -> Void = {}) where S: OptionalType, S.Wrapped: StringProtocol {
|
|
13
|
-
if let title = title?.wrapped {
|
|
14
|
-
self.init(title, text: text, onCommit: onCommit)
|
|
15
|
-
} else {
|
|
16
|
-
self.init(String(), text: text, onCommit: onCommit)
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
public extension Text {
|
|
4
|
-
init<S>(_ content: S?) where S: OptionalType, S.Wrapped: StringProtocol {
|
|
5
|
-
if let content = content?.wrapped {
|
|
6
|
-
self.init(content)
|
|
7
|
-
} else {
|
|
8
|
-
self.init(String())
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
init(_ key: LocalizedStringKey?, tableName: String? = nil, bundle: Bundle? = nil, comment: StaticString? = nil) {
|
|
13
|
-
if let key = key {
|
|
14
|
-
self.init(key, tableName: tableName, bundle: bundle, comment: comment)
|
|
15
|
-
} else {
|
|
16
|
-
self.init(LocalizedStringKey(String()), tableName: tableName, bundle: bundle, comment: comment)
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
init(verbatim content: String?) {
|
|
21
|
-
if let content = content {
|
|
22
|
-
self.init(verbatim: content)
|
|
23
|
-
} else {
|
|
24
|
-
self.init(verbatim: String())
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/TextField+OptionalType.swift
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
public extension TextField where Label == Text {
|
|
4
|
-
init(titleKey: LocalizedStringKey?, text: Binding<String>, onEditingChanged: @escaping (Bool) -> Void = { _ in }, onCommit: @escaping () -> Void = {}) {
|
|
5
|
-
if let titleKey = titleKey {
|
|
6
|
-
self.init(titleKey, text: text, onEditingChanged: onEditingChanged, onCommit: onCommit)
|
|
7
|
-
} else {
|
|
8
|
-
self.init(LocalizedStringKey(String()), text: text, onEditingChanged: onEditingChanged, onCommit: onCommit)
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
init<S>(_ title: S?, text: Binding<String>, onEditingChanged: @escaping (Bool) -> Void = { _ in }, onCommit: @escaping () -> Void = {}) where S: OptionalType, S.Wrapped: StringProtocol {
|
|
13
|
-
if let title = title?.wrapped {
|
|
14
|
-
self.init(title, text: text, onEditingChanged: onEditingChanged, onCommit: onCommit)
|
|
15
|
-
} else {
|
|
16
|
-
self.init(String(), text: text, onEditingChanged: onEditingChanged, onCommit: onCommit)
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
init<T>(titleKey: LocalizedStringKey?, value: Binding<T>, formatter: Formatter, onEditingChanged: @escaping (Bool) -> Void = { _ in }, onCommit: @escaping () -> Void = {}) {
|
|
21
|
-
if let titleKey = titleKey {
|
|
22
|
-
self.init(titleKey, value: value, formatter: formatter, onEditingChanged: onEditingChanged, onCommit: onCommit)
|
|
23
|
-
} else {
|
|
24
|
-
self.init(LocalizedStringKey(String()), value: value, formatter: formatter, onEditingChanged: onEditingChanged, onCommit: onCommit)
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
init<S, T>(_ title: S?, value: Binding<T>, formatter: Formatter, onEditingChanged: @escaping (Bool) -> Void = { _ in }, onCommit: @escaping () -> Void = {}) where S: OptionalType, S.Wrapped: StringProtocol {
|
|
29
|
-
if let title = title?.wrapped {
|
|
30
|
-
self.init(title, value: value, formatter: formatter, onEditingChanged: onEditingChanged, onCommit: onCommit)
|
|
31
|
-
} else {
|
|
32
|
-
self.init(String(), value: value, formatter: formatter, onEditingChanged: onEditingChanged, onCommit: onCommit)
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
public extension Toggle where Label: View {
|
|
4
|
-
init(isOn: Binding<Bool>?, @ViewBuilder label: () -> Label) {
|
|
5
|
-
if let isOn = isOn {
|
|
6
|
-
self.init(isOn: isOn, label: label)
|
|
7
|
-
} else {
|
|
8
|
-
self.init(isOn: Binding.constant(Bool()), label: label)
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public extension Toggle where Label == Text {
|
|
14
|
-
init(_ titleKey: LocalizedStringKey?, isOn: Binding<Bool>) {
|
|
15
|
-
if let titleKey = titleKey {
|
|
16
|
-
self.init(titleKey, isOn: isOn)
|
|
17
|
-
} else {
|
|
18
|
-
self.init(String(), isOn: isOn)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
init<S>(_ title: S?, isOn: Binding<Bool>) where S: OptionalType, S.Wrapped: StringProtocol {
|
|
23
|
-
if let title = title?.wrapped {
|
|
24
|
-
self.init(title, isOn: isOn)
|
|
25
|
-
} else {
|
|
26
|
-
self.init(String(), isOn: isOn)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
extension UnitPoint {
|
|
4
|
-
static func point(with position: CGFloat, _ radius: CGFloat, _ angle: CGFloat) -> UnitPoint {
|
|
5
|
-
let radians = angle * .pi / 180.0
|
|
6
|
-
return UnitPoint(x: (position + radius) * cos(radians), y: (position + radius) * sin(radians))
|
|
7
|
-
}
|
|
8
|
-
}
|
package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/View+SkeletonModifier.swift
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
|
|
4
|
-
public extension View {
|
|
5
|
-
func skeleton(with loading: Bool, size: CGSize? = .none, transition: AnyTransition? = nil, animated: Animation? = nil) -> ModifiedContent<Self, SkeletonModifier> {
|
|
6
|
-
modifier(SkeletonModifier(skeleton: SkeletonInteractor(loading, size: size, transition: transition, animated: animated)))
|
|
7
|
-
}
|
|
8
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
|
|
3
|
-
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
|
|
4
|
-
public struct SkeletonModifier: ViewModifier {
|
|
5
|
-
let skeleton: SkeletonInteractable
|
|
6
|
-
@State var animation: Bool = false
|
|
7
|
-
|
|
8
|
-
public func body(content: Content) -> some View {
|
|
9
|
-
ZStack {
|
|
10
|
-
if skeleton.presenter.loading {
|
|
11
|
-
VStack(spacing: skeleton.multiline.presenter.spacing) {
|
|
12
|
-
ForEach(0 ..< skeleton.multiline.presenter.lines, id: \.self) { line in
|
|
13
|
-
GeometryReader { geometry in
|
|
14
|
-
SkeletonView(skeleton: skeleton, line: line)
|
|
15
|
-
.frame(width: skeleton.multiline.presenter.scale * geometry.size.width, height: geometry.size.height)
|
|
16
|
-
.onReceive([animation].publisher.filter { $0 }.removeDuplicates().first()) { _ in
|
|
17
|
-
withAnimation(skeleton.animation.position.presenter.animation) {
|
|
18
|
-
skeleton.animation.position.value.send(skeleton.animation.position.presenter.range.upperBound)
|
|
19
|
-
}
|
|
20
|
-
withAnimation(skeleton.animation.opacity.presenter.animation) {
|
|
21
|
-
skeleton.animation.opacity.value.send(skeleton.animation.opacity.presenter.range.upperBound)
|
|
22
|
-
}
|
|
23
|
-
withAnimation(skeleton.animation.radius.presenter.animation) {
|
|
24
|
-
skeleton.animation.radius.value.send(skeleton.animation.radius.presenter.range.upperBound)
|
|
25
|
-
}
|
|
26
|
-
withAnimation(skeleton.animation.angle.presenter.animation) {
|
|
27
|
-
skeleton.animation.angle.value.send(skeleton.animation.angle.presenter.range.upperBound)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
.onAppear {
|
|
31
|
-
DispatchQueue.main.async {
|
|
32
|
-
animation = true
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
.onDisappear {
|
|
36
|
-
DispatchQueue.main.async {
|
|
37
|
-
animation = false
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
.frame(width: skeleton.presenter.size?.width, height: skeleton.presenter.size?.height)
|
|
44
|
-
.transition(skeleton.presenter.transition)
|
|
45
|
-
} else {
|
|
46
|
-
content
|
|
47
|
-
.transition(skeleton.presenter.transition)
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
.animation(skeleton.presenter.animated, value: skeleton.presenter.loading)
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import Combine
|
|
2
|
-
import SwiftUI
|
|
3
|
-
|
|
4
|
-
// sourcery: AutoMockable
|
|
5
|
-
protocol MultilineInteractable: AnyObject {
|
|
6
|
-
var presenter: MultilinePresenter { get }
|
|
7
|
-
var line: CurrentValueSubject<Int, Never> { get }
|
|
8
|
-
var lines: CurrentValueSubject<Int, Never> { get }
|
|
9
|
-
var scale: CurrentValueSubject<CGFloat, Never> { get }
|
|
10
|
-
var spacing: CurrentValueSubject<CGFloat?, Never> { get }
|
|
11
|
-
var scales: CurrentValueSubject<[Int: CGFloat]?, Never> { get }
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
final class MultilineInteractor: MultilineInteractable {
|
|
15
|
-
let presenter = MultilinePresenter()
|
|
16
|
-
let line: CurrentValueSubject<Int, Never>
|
|
17
|
-
let lines: CurrentValueSubject<Int, Never>
|
|
18
|
-
let scale: CurrentValueSubject<CGFloat, Never>
|
|
19
|
-
let spacing: CurrentValueSubject<CGFloat?, Never>
|
|
20
|
-
let scales: CurrentValueSubject<[Int: CGFloat]?, Never>
|
|
21
|
-
|
|
22
|
-
private var cancellables = Set<AnyCancellable>()
|
|
23
|
-
|
|
24
|
-
init() {
|
|
25
|
-
line = CurrentValueSubject<Int, Never>(presenter.line)
|
|
26
|
-
lines = CurrentValueSubject<Int, Never>(presenter.lines)
|
|
27
|
-
scale = CurrentValueSubject<CGFloat, Never>(presenter.scale)
|
|
28
|
-
spacing = CurrentValueSubject<CGFloat?, Never>(presenter.spacing)
|
|
29
|
-
scales = CurrentValueSubject<[Int: CGFloat]?, Never>(presenter.scales)
|
|
30
|
-
line.map { [weak self] line in
|
|
31
|
-
guard let self = self else { fatalError() }
|
|
32
|
-
if let scale = self.scales.value?[line] {
|
|
33
|
-
return scale
|
|
34
|
-
}
|
|
35
|
-
return 1
|
|
36
|
-
}.assign(to: \.scale, on: presenter).store(in: &cancellables)
|
|
37
|
-
lines.assign(to: \.lines, on: presenter).store(in: &cancellables)
|
|
38
|
-
scales.assign(to: \.scales, on: presenter).store(in: &cancellables)
|
|
39
|
-
spacing.assign(to: \.spacing, on: presenter).store(in: &cancellables)
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import Combine
|
|
2
|
-
import SwiftUI
|
|
3
|
-
|
|
4
|
-
// sourcery: AutoMockable
|
|
5
|
-
protocol OpacityInteractable: AnyObject {
|
|
6
|
-
var presenter: OpacityPresenter { get }
|
|
7
|
-
var animation: CurrentValueSubject<Animation?, Never> { get }
|
|
8
|
-
var value: CurrentValueSubject<Double, Never> { get }
|
|
9
|
-
var range: CurrentValueSubject<ClosedRange<Double>, Never> { get }
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
final class OpacityInteractor: OpacityInteractable {
|
|
13
|
-
let presenter = OpacityPresenter()
|
|
14
|
-
let animation: CurrentValueSubject<Animation?, Never>
|
|
15
|
-
let value: CurrentValueSubject<Double, Never>
|
|
16
|
-
let range: CurrentValueSubject<ClosedRange<Double>, Never>
|
|
17
|
-
|
|
18
|
-
private var cancellables = Set<AnyCancellable>()
|
|
19
|
-
|
|
20
|
-
init() {
|
|
21
|
-
value = CurrentValueSubject<Double, Never>(presenter.value)
|
|
22
|
-
animation = CurrentValueSubject<Animation?, Never>(presenter.animation)
|
|
23
|
-
range = CurrentValueSubject<ClosedRange<Double>, Never>(presenter.range)
|
|
24
|
-
range.assign(to: \.range, on: presenter).store(in: &cancellables)
|
|
25
|
-
value.assign(to: \.value, on: presenter).store(in: &cancellables)
|
|
26
|
-
animation.assign(to: \.animation, on: presenter).store(in: &cancellables)
|
|
27
|
-
range.map { $0.lowerBound }.assign(to: \.value, on: presenter).store(in: &cancellables)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import Combine
|
|
2
|
-
import SwiftUI
|
|
3
|
-
|
|
4
|
-
// sourcery: AutoMockable
|
|
5
|
-
protocol PositionInteractable: AnyObject {
|
|
6
|
-
var presenter: PositionPresenter { get }
|
|
7
|
-
var animation: CurrentValueSubject<Animation?, Never> { get }
|
|
8
|
-
var value: CurrentValueSubject<CGFloat, Never> { get }
|
|
9
|
-
var range: CurrentValueSubject<ClosedRange<CGFloat>, Never> { get }
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
final class PositionInteractor: PositionInteractable {
|
|
13
|
-
let presenter = PositionPresenter()
|
|
14
|
-
let animation: CurrentValueSubject<Animation?, Never>
|
|
15
|
-
let value: CurrentValueSubject<CGFloat, Never>
|
|
16
|
-
let range: CurrentValueSubject<ClosedRange<CGFloat>, Never>
|
|
17
|
-
|
|
18
|
-
private var cancellables = Set<AnyCancellable>()
|
|
19
|
-
|
|
20
|
-
init() {
|
|
21
|
-
value = CurrentValueSubject<CGFloat, Never>(presenter.value)
|
|
22
|
-
animation = CurrentValueSubject<Animation?, Never>(presenter.animation)
|
|
23
|
-
range = CurrentValueSubject<ClosedRange<CGFloat>, Never>(presenter.range)
|
|
24
|
-
range.assign(to: \.range, on: presenter).store(in: &cancellables)
|
|
25
|
-
value.assign(to: \.value, on: presenter).store(in: &cancellables)
|
|
26
|
-
animation.assign(to: \.animation, on: presenter).store(in: &cancellables)
|
|
27
|
-
range.map { $0.lowerBound }.assign(to: \.value, on: presenter).store(in: &cancellables)
|
|
28
|
-
}
|
|
29
|
-
}
|