@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.
Files changed (406) hide show
  1. package/README.md +1 -0
  2. package/android/.gradle/8.0/checksums/checksums.lock +0 -0
  3. package/android/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock +0 -0
  4. package/android/.gradle/8.0/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/8.0/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.0/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.0/gc.properties +0 -0
  8. package/android/.gradle/config.properties +2 -0
  9. package/android/.gradle/vcs-1/gc.properties +0 -0
  10. package/android/.idea/gradle.xml +12 -0
  11. package/android/.idea/migrations.xml +10 -0
  12. package/android/.idea/misc.xml +10 -0
  13. package/android/.idea/vcs.xml +6 -0
  14. package/android/.idea/workspace.xml +50 -0
  15. package/android/build.gradle +35 -69
  16. package/android/local.properties +8 -0
  17. package/android/proguard-rules.pro +21 -0
  18. package/android/src/main/AndroidManifest.xml +2 -2
  19. package/android/src/main/java/com/momoplatform/nativekits/foundations/Button.kt +16 -0
  20. package/android/src/main/java/com/momoplatform/nativekits/libs/Logo.kt +63 -0
  21. package/android/src/main/java/com/momoplatform/nativekits/libs/TrustBanner.kt +246 -0
  22. package/android/src/main/res/drawable/ic_launcher_background.xml +170 -0
  23. package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +30 -0
  24. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +6 -0
  25. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +6 -0
  26. package/android/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  27. package/android/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  28. package/android/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  29. package/android/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  30. package/android/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  31. package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  32. package/android/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  33. package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  34. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  35. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  36. package/android/src/main/res/values/colors.xml +10 -0
  37. package/android/src/main/res/values/strings.xml +3 -0
  38. package/android/src/main/res/values/themes.xml +3 -0
  39. package/android/src/main/res/values-night/themes.xml +3 -0
  40. package/android/src/main/res/xml/backup_rules.xml +13 -0
  41. package/android/src/main/res/xml/data_extraction_rules.xml +19 -0
  42. package/build.gradle.kts +18 -0
  43. package/compose/build.gradle.kts +82 -0
  44. package/compose/src/androidMain/AndroidManifest.xml +2 -0
  45. package/compose/src/androidMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
  46. package/compose/src/androidMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +8 -0
  47. package/compose/src/androidMain/kotlin/vn/momo/kits/utils/Utils.android.kt +14 -0
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Components.kt +194 -0
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +197 -0
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +133 -0
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +62 -0
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +27 -0
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +288 -0
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +80 -0
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +42 -0
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +126 -0
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +51 -0
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +299 -0
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +246 -0
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +223 -0
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +244 -0
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +281 -0
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PromotionPopup.kt +72 -0
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +65 -0
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +64 -0
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +63 -0
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +73 -0
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +42 -0
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +150 -0
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +173 -0
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +242 -0
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +2 -0
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1321 -0
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +5 -0
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +97 -0
  83. package/compose/src/iosMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
  84. package/compose/src/iosMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +9 -0
  85. package/compose/src/iosMain/kotlin/vn/momo/kits/utils/Utils.ios.kt +18 -0
  86. package/gradle.properties +19 -0
  87. package/gradlew +240 -0
  88. package/gradlew.bat +91 -0
  89. package/ios/Button/Button.swift +9 -2
  90. package/ios/CalculatorKeyboard/CalculatorKeyboard.swift +126 -0
  91. package/ios/Colors+Radius+Spacing/Colors.swift +21 -19
  92. package/ios/Input/Input.swift +1 -0
  93. package/ios/OTPKeyboard/KeyboardButton.swift +12 -4
  94. package/ios/Popup/PopupDisplay.swift +72 -81
  95. package/ios/Popup/PopupInput.swift +96 -0
  96. package/ios/Popup/PopupPromotion.swift +52 -0
  97. package/ios/ScrollIndicator/ScrollIndicator.swift +79 -0
  98. package/ios/Template/Logo/Logo.swift +75 -0
  99. package/ios/Template/TrustBanner/TrustBanner.swift +189 -0
  100. package/ios/native-kits.podspec +1 -1
  101. package/local.properties +8 -0
  102. package/package.json +6 -6
  103. package/publish.sh +1 -10
  104. package/settings.gradle.kts +41 -0
  105. package/android/gradle.properties +0 -5
  106. package/android/src/main/java/com/momoplatform/nativekits/NativeKitsPackage.kt +0 -17
  107. package/android/src/main/java/com/momoplatform/nativekits/NativeKitsViewManager.kt +0 -20
  108. package/example/ios/Example/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -63
  109. package/example/ios/Example/Assets.xcassets/Background.colorset/Contents.json +0 -38
  110. package/example/ios/Example/Assets.xcassets/Border.colorset/Contents.json +0 -38
  111. package/example/ios/Example/Assets.xcassets/Card.colorset/Contents.json +0 -38
  112. package/example/ios/Example/Assets.xcassets/Contents.json +0 -6
  113. package/example/ios/Example/Assets.xcassets/Error.colorset/Contents.json +0 -38
  114. package/example/ios/Example/Assets.xcassets/Primary.colorset/Contents.json +0 -38
  115. package/example/ios/Example/Assets.xcassets/PrimaryDark.colorset/Contents.json +0 -38
  116. package/example/ios/Example/Assets.xcassets/PrimaryLight.colorset/Contents.json +0 -38
  117. package/example/ios/Example/Assets.xcassets/Secondary.colorset/Contents.json +0 -38
  118. package/example/ios/Example/Assets.xcassets/Success.colorset/Contents.json +0 -38
  119. package/example/ios/Example/Assets.xcassets/Text.colorset/Contents.json +0 -38
  120. package/example/ios/Example/Assets.xcassets/TextSecondary.colorset/Contents.json +0 -38
  121. package/example/ios/Example/Assets.xcassets/Warning.colorset/Contents.json +0 -38
  122. package/example/ios/Example/ComponentDetail.swift +0 -35
  123. package/example/ios/Example/ComponentItem.swift +0 -24
  124. package/example/ios/Example/ComponentModel.swift +0 -38
  125. package/example/ios/Example/ContentView.swift +0 -39
  126. package/example/ios/Example/Example.entitlements +0 -10
  127. package/example/ios/Example/Foundation/ButtonDemo.swift +0 -80
  128. package/example/ios/Example/Foundation/ImageDemo.swift +0 -43
  129. package/example/ios/Example/Foundation/Popup/ActionSheets.swift +0 -136
  130. package/example/ios/Example/Foundation/Popup/Floats.swift +0 -127
  131. package/example/ios/Example/Foundation/Popup/Popups.swift +0 -51
  132. package/example/ios/Example/Foundation/PopupDemo.swift +0 -389
  133. package/example/ios/Example/Foundation/TextInputDemo.swift +0 -36
  134. package/example/ios/Example/Foundation/TypographyDemo.swift +0 -53
  135. package/example/ios/Example/Foundation.swift +0 -26
  136. package/example/ios/Example/Info.plist +0 -18
  137. package/example/ios/Example/Library/CheckboxDemo.swift +0 -19
  138. package/example/ios/Example/Library/SwipeableDemo.swift +0 -105
  139. package/example/ios/Example/Library/SwitchDemo.swift +0 -19
  140. package/example/ios/Example/Library.swift +0 -26
  141. package/example/ios/Example/Main.swift +0 -27
  142. package/example/ios/Example/Overview.swift +0 -20
  143. package/example/ios/Example/Preview Content/Preview Assets.xcassets/Contents.json +0 -6
  144. package/example/ios/Example/Resource/SFProText-Black.ttf +0 -0
  145. package/example/ios/Example/Resource/SFProText-Bold.ttf +0 -0
  146. package/example/ios/Example/Resource/SFProText-Heavy.ttf +0 -0
  147. package/example/ios/Example/Resource/SFProText-Light.ttf +0 -0
  148. package/example/ios/Example/Resource/SFProText-Medium.ttf +0 -0
  149. package/example/ios/Example/Resource/SFProText-Regular.ttf +0 -0
  150. package/example/ios/Example/Resource/SFProText-Semibold.ttf +0 -0
  151. package/example/ios/Example/Resource/SFProText-Thin.ttf +0 -0
  152. package/example/ios/Example/Resource/SFProText-Ultralight.ttf +0 -0
  153. package/example/ios/Example/Resource/foundation.json +0 -33
  154. package/example/ios/Example/Resource/library.json +0 -18
  155. package/example/ios/Example/Utils.swift +0 -30
  156. package/example/ios/Example/ViewModifier/DarkViewModifier.swift +0 -22
  157. package/example/ios/Example.xcodeproj/project.pbxproj +0 -581
  158. package/example/ios/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  159. package/example/ios/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  160. package/example/ios/Example.xcodeproj/project.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  161. package/example/ios/Example.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  162. package/example/ios/Example.xcworkspace/contents.xcworkspacedata +0 -10
  163. package/example/ios/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  164. package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  165. package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
  166. package/example/ios/Podfile +0 -7
  167. package/example/ios/Podfile.lock +0 -35
  168. package/example/ios/Pods/Local Podspecs/MoMoUIKits.podspec.json +0 -37
  169. package/example/ios/Pods/Manifest.lock +0 -35
  170. package/example/ios/Pods/Pods.xcodeproj/project.pbxproj +0 -2047
  171. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
  172. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
  173. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
  174. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
  175. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
  176. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -46
  177. package/example/ios/Pods/SDWebImage/LICENSE +0 -20
  178. package/example/ios/Pods/SDWebImage/README.md +0 -352
  179. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.h +0 -340
  180. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.m +0 -172
  181. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.h +0 -63
  182. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.m +0 -165
  183. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.h +0 -67
  184. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.m +0 -120
  185. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.h +0 -114
  186. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.m +0 -392
  187. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.h +0 -112
  188. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.m +0 -420
  189. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.h +0 -23
  190. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.m +0 -133
  191. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.h +0 -168
  192. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.m +0 -79
  193. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.h +0 -110
  194. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m +0 -540
  195. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.h +0 -145
  196. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.m +0 -326
  197. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.h +0 -73
  198. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.m +0 -256
  199. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.h +0 -19
  200. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.m +0 -58
  201. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.h +0 -23
  202. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.m +0 -98
  203. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.h +0 -450
  204. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.m +0 -1030
  205. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.h +0 -153
  206. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.m +0 -68
  207. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.h +0 -156
  208. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.m +0 -138
  209. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.h +0 -81
  210. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.m +0 -556
  211. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.h +0 -297
  212. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.m +0 -26
  213. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.h +0 -153
  214. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.m +0 -822
  215. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.h +0 -58
  216. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.m +0 -130
  217. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.h +0 -36
  218. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.m +0 -28
  219. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.h +0 -22
  220. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.m +0 -58
  221. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.h +0 -28
  222. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.m +0 -127
  223. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.h +0 -25
  224. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.m +0 -101
  225. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.h +0 -58
  226. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.m +0 -807
  227. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.h +0 -30
  228. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.m +0 -420
  229. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.h +0 -146
  230. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.m +0 -170
  231. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.h +0 -40
  232. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.m +0 -123
  233. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.h +0 -241
  234. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.m +0 -331
  235. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.h +0 -78
  236. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.m +0 -158
  237. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.h +0 -32
  238. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.m +0 -39
  239. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.h +0 -36
  240. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.m +0 -39
  241. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.h +0 -95
  242. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.m +0 -17
  243. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.h +0 -352
  244. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.m +0 -149
  245. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.h +0 -314
  246. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.m +0 -658
  247. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.h +0 -113
  248. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.m +0 -60
  249. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.h +0 -49
  250. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.m +0 -55
  251. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.h +0 -191
  252. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.m +0 -722
  253. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h +0 -69
  254. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.m +0 -71
  255. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h +0 -69
  256. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.m +0 -73
  257. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.h +0 -32
  258. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.m +0 -16
  259. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.h +0 -115
  260. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.m +0 -275
  261. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.h +0 -290
  262. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.m +0 -775
  263. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.h +0 -27
  264. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.m +0 -14
  265. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.h +0 -72
  266. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.m +0 -59
  267. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.h +0 -143
  268. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.m +0 -303
  269. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.h +0 -131
  270. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.m +0 -194
  271. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.h +0 -387
  272. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.m +0 -234
  273. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.h +0 -24
  274. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.m +0 -23
  275. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.h +0 -46
  276. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.m +0 -60
  277. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.h +0 -26
  278. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.m +0 -22
  279. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.h +0 -27
  280. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.m +0 -47
  281. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.h +0 -89
  282. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.m +0 -221
  283. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.h +0 -80
  284. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.m +0 -47
  285. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.h +0 -146
  286. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.m +0 -824
  287. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.h +0 -129
  288. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.m +0 -76
  289. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.h +0 -194
  290. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.m +0 -67
  291. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.h +0 -110
  292. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m +0 -446
  293. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.h +0 -48
  294. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.m +0 -82
  295. package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.h +0 -24
  296. package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.m +0 -42
  297. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.h +0 -14
  298. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.m +0 -29
  299. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.h +0 -21
  300. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.m +0 -92
  301. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.h +0 -18
  302. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.m +0 -32
  303. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.h +0 -29
  304. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.m +0 -227
  305. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.h +0 -19
  306. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.m +0 -127
  307. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.h +0 -23
  308. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.m +0 -164
  309. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.h +0 -21
  310. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.m +0 -83
  311. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageIOAnimatedCoderInternal.h +0 -39
  312. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.h +0 -122
  313. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.m +0 -13
  314. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.h +0 -20
  315. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.m +0 -79
  316. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWebImageTransitionInternal.h +0 -19
  317. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDmetamacros.h +0 -667
  318. package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.h +0 -18
  319. package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.m +0 -42
  320. package/example/ios/Pods/SDWebImage/WebImage/SDWebImage.h +0 -89
  321. package/example/ios/Pods/SDWebImageSwiftUI/LICENSE +0 -19
  322. package/example/ios/Pods/SDWebImageSwiftUI/README.md +0 -690
  323. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/AnimatedImage.swift +0 -870
  324. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Backport.swift +0 -59
  325. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/OnChange.swift +0 -52
  326. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Overlay.swift +0 -124
  327. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/StateObject.swift +0 -151
  328. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Image.swift +0 -78
  329. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageManager.swift +0 -132
  330. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImagePlayer.swift +0 -122
  331. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift +0 -133
  332. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ActivityIndicator.swift +0 -82
  333. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/Indicator.swift +0 -97
  334. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ProgressIndicator.swift +0 -114
  335. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SDWebImageSwiftUI.swift +0 -64
  336. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SwiftUICompatibility.swift +0 -92
  337. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Transition/Transition.swift +0 -93
  338. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/WebImage.swift +0 -509
  339. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Module/SDWebImageSwiftUI.h +0 -15
  340. package/example/ios/Pods/SkeletonUI/LICENSE +0 -21
  341. package/example/ios/Pods/SkeletonUI/README.md +0 -137
  342. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AngleInteractor.swift +0 -29
  343. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AnglePresenter.swift +0 -7
  344. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Animation/AnimationInteractor.swift +0 -56
  345. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearanceInteractor.swift +0 -58
  346. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearancePresenter.swift +0 -5
  347. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ClosedRange+Normalize.swift +0 -16
  348. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Image+OptionalType.swift +0 -102
  349. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ModifiedContent+SkeletonModifier.swift +0 -26
  350. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Optional+OptionalType.swift +0 -5
  351. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/SecureField+OptionalType.swift +0 -19
  352. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Text+OptionalType.swift +0 -27
  353. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/TextField+OptionalType.swift +0 -35
  354. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Toggle+OptionalType.swift +0 -29
  355. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/UnitPoint+Angle.swift +0 -8
  356. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/View+SkeletonModifier.swift +0 -8
  357. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Modifiers/SkeletonModifier.swift +0 -52
  358. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilineInteractor.swift +0 -41
  359. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilinePresenter.swift +0 -9
  360. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityInteractor.swift +0 -29
  361. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityPresenter.swift +0 -7
  362. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionInteractor.swift +0 -29
  363. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionPresenter.swift +0 -7
  364. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Protocols/OptionalType.swift +0 -4
  365. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusInteractor.swift +0 -29
  366. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusPresenter.swift +0 -7
  367. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapeInteractor.swift +0 -33
  368. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapePresenter.swift +0 -5
  369. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonForEach.swift +0 -20
  370. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonInteractor.swift +0 -27
  371. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonList.swift +0 -20
  372. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonPresenter.swift +0 -15
  373. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonShape.swift +0 -64
  374. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonView.swift +0 -25
  375. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-dummy.m +0 -5
  376. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-prefix.pch +0 -12
  377. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-umbrella.h +0 -16
  378. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.debug.xcconfig +0 -15
  379. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.modulemap +0 -6
  380. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.release.xcconfig +0 -15
  381. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown +0 -75
  382. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist +0 -119
  383. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m +0 -5
  384. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h +0 -16
  385. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig +0 -15
  386. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap +0 -6
  387. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig +0 -15
  388. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m +0 -5
  389. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-prefix.pch +0 -12
  390. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-umbrella.h +0 -75
  391. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.debug.xcconfig +0 -14
  392. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.modulemap +0 -6
  393. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.release.xcconfig +0 -14
  394. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-dummy.m +0 -5
  395. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-prefix.pch +0 -12
  396. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-umbrella.h +0 -17
  397. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.debug.xcconfig +0 -17
  398. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.modulemap +0 -6
  399. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.release.xcconfig +0 -17
  400. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-dummy.m +0 -5
  401. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-prefix.pch +0 -12
  402. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-umbrella.h +0 -16
  403. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.debug.xcconfig +0 -12
  404. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.modulemap +0 -6
  405. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.release.xcconfig +0 -12
  406. 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,7 +0,0 @@
1
- import SwiftUI
2
-
3
- final class AnglePresenter: ObservableObject {
4
- @Published var animation: Animation?
5
- @Published var value: Double = .zero
6
- @Published var range: ClosedRange<Double> = .zero ... 360
7
- }
@@ -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
- }
@@ -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
- }
@@ -1,5 +0,0 @@
1
- import SwiftUI
2
-
3
- final class AppearancePresenter: ObservableObject {
4
- @Published var type: AppearanceType = .gradient()
5
- }
@@ -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
- }
@@ -1,5 +0,0 @@
1
- extension Optional: OptionalType {
2
- public var wrapped: Wrapped? {
3
- self
4
- }
5
- }
@@ -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
- }
@@ -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
- }
@@ -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,9 +0,0 @@
1
- import SwiftUI
2
-
3
- final class MultilinePresenter: ObservableObject {
4
- @Published var line: Int = 0
5
- @Published var lines: Int = 1
6
- @Published var spacing: CGFloat?
7
- @Published var scale: CGFloat = 1
8
- @Published var scales: [Int: CGFloat]?
9
- }
@@ -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,7 +0,0 @@
1
- import SwiftUI
2
-
3
- final class OpacityPresenter: ObservableObject {
4
- @Published var animation: Animation?
5
- @Published var value: Double = .zero
6
- @Published var range: ClosedRange<Double> = .zero ... 1
7
- }
@@ -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
- }
@@ -1,7 +0,0 @@
1
- import SwiftUI
2
-
3
- final class PositionPresenter: ObservableObject {
4
- @Published var animation: Animation?
5
- @Published var value: CGFloat = .zero
6
- @Published var range: ClosedRange<CGFloat> = .zero ... 1
7
- }
@@ -1,4 +0,0 @@
1
- public protocol OptionalType {
2
- associatedtype Wrapped
3
- var wrapped: Wrapped? { get }
4
- }