@momo-kits/native-kits 0.0.1-beta.5 → 0.0.2-alpha.1

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 (511) hide show
  1. package/CLAUDE.md +99 -0
  2. package/PUBLISH_GUIDE.md +675 -0
  3. package/README.md +184 -5
  4. package/ios/Application/ApplicationEnvironment.swift +71 -0
  5. package/ios/Application/Components.swift +270 -0
  6. package/ios/Application/ComposeApi.swift +22 -0
  7. package/ios/Application/FloatingButton.swift +174 -0
  8. package/ios/Application/HeaderRight.swift +306 -0
  9. package/ios/Application/LanguageSource.swift +93 -0
  10. package/ios/Application/Localize.swift +378 -0
  11. package/ios/Application/LocalizeModifier.swift +30 -0
  12. package/ios/Application/MaxApi.swift +18 -0
  13. package/ios/Application/Navigation/BottomTab/BottomTab.swift +104 -0
  14. package/ios/Application/Navigation/BottomTab/BottomTabBar.swift +215 -0
  15. package/ios/Application/Navigation/BottomTab/CurvedContainer.swift +65 -0
  16. package/ios/Application/Navigation/HeaderBackProps.swift +66 -0
  17. package/ios/Application/Navigation/HeaderTitle.swift +57 -0
  18. package/ios/Application/Navigation/HeaderUser.swift +209 -0
  19. package/ios/Application/Navigation/NavigationContainer.swift +213 -0
  20. package/ios/Application/Navigation/NavigationOptions.swift +109 -0
  21. package/ios/Application/Navigation/Navigator.swift +453 -0
  22. package/ios/Application/Navigation/NavigatorManager.swift +22 -0
  23. package/ios/Application/Navigation/Overplay/BottomSheet.swift +256 -0
  24. package/ios/Application/Navigation/Overplay/ModalScreen.swift +74 -0
  25. package/ios/Application/Navigation/Overplay/SnackBar.swift +144 -0
  26. package/ios/Application/Navigation/Tracking/ScreenTracker.swift +117 -0
  27. package/ios/Application/Navigation/component/Header.swift +178 -0
  28. package/ios/Application/Navigation/component/HeaderBackground.swift +83 -0
  29. package/ios/Application/Navigation/component/HeaderColor.swift +65 -0
  30. package/ios/Application/Navigation/component/HeaderRightWidthKey.swift +11 -0
  31. package/ios/Application/Navigation/component/NavigationFooter.swift +90 -0
  32. package/ios/Application/Navigation/component/NavigationHeaderRight.swift +196 -0
  33. package/ios/Application/Screen.swift +250 -0
  34. package/ios/Application/StackScreen.swift +492 -0
  35. package/ios/Avatar/Avatar.swift +193 -0
  36. package/ios/Badge/Badge.swift +84 -0
  37. package/ios/Badge/BadgeDot.swift +31 -0
  38. package/ios/Badge/BadgeRibbon.swift +319 -0
  39. package/ios/BaselineView/BaselineView.swift +163 -0
  40. package/ios/Button/Button.swift +232 -84
  41. package/ios/CalculatorKeyboard/CalculatorKeyboard.swift +126 -0
  42. package/ios/Carousel/Carousel.swift +196 -0
  43. package/ios/Checkbox/Checkbox.swift +59 -20
  44. package/ios/Chip/Chip.swift +120 -0
  45. package/ios/Collapse/Collapse.swift +192 -0
  46. package/ios/Colors+Radius+Spacing/Colors.swift +42 -37
  47. package/ios/Colors+Radius+Spacing/Spacing.swift +3 -1
  48. package/ios/Colors+Radius+Spacing/Theme.swift +295 -0
  49. package/ios/DateTimePicker/DateTimePicker.swift +212 -0
  50. package/ios/DateTimePicker/DateTimePickerTypes.swift +55 -0
  51. package/ios/DateTimePicker/DateTimePickerUtils.swift +167 -0
  52. package/ios/DateTimePicker/WheelPicker.swift +165 -0
  53. package/ios/Divider/Divider.swift +16 -0
  54. package/ios/Extensions/ActiveOpacityButtonStyle.swift +14 -0
  55. package/ios/Extensions/Color++.swift +32 -0
  56. package/ios/Icon/Icon.swift +69 -0
  57. package/ios/IconButton/IconButton.swift +140 -0
  58. package/ios/Image/Image.swift +36 -9
  59. package/ios/Information/Information.swift +156 -0
  60. package/ios/Input/ErrorView.swift +58 -0
  61. package/ios/Input/Input.swift +455 -121
  62. package/ios/Input/InputPhoneNumber.swift +192 -0
  63. package/ios/Input/InputSearch.swift +301 -0
  64. package/ios/Input/InputTextArea.swift +318 -0
  65. package/ios/InputDropDown/InputDropDown.swift +201 -0
  66. package/ios/InputMoney/InputMoney.swift +405 -0
  67. package/ios/InputOTP/InputOTP.swift +211 -0
  68. package/ios/Layout/GridContext.swift +30 -0
  69. package/ios/Layout/Item.swift +42 -0
  70. package/ios/Layout/Section.swift +134 -0
  71. package/ios/Loader/Loader.swift +113 -0
  72. package/ios/Lottie/LottieView.swift +86 -0
  73. package/ios/MoMoUIKits.podspec +5 -0
  74. package/ios/OTPKeyboard/KeyboardButton.swift +13 -5
  75. package/ios/Pagination/PaginationDot.swift +61 -0
  76. package/ios/Pagination/PaginationNumber.swift +35 -0
  77. package/ios/Pagination/PaginationScroll.swift +101 -0
  78. package/ios/Pagination/PaginationWhiteDot.swift +37 -0
  79. package/ios/Popup/PopupDisplay.swift +195 -94
  80. package/ios/Popup/PopupInput.swift +92 -0
  81. package/ios/Popup/PopupNotify.swift +219 -0
  82. package/ios/Popup/PopupPromotion.swift +74 -0
  83. package/ios/ProgressInfo/ProgressInfo.swift +297 -0
  84. package/ios/Radio/Radio.swift +69 -0
  85. package/ios/Rating/Rating.swift +83 -0
  86. package/{example/ios/Example/Preview Content/Preview Assets.xcassets/Contents.json → ios/Resources/MoMoUIKitsColors.xcassets/AccentColor.colorset/Contents.json} +5 -0
  87. package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Text.colorset/Contents.json +3 -3
  88. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/Contents.json +9 -0
  89. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/background-default.colorset/Contents.json +38 -0
  90. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/background-disable.colorset/Contents.json +38 -0
  91. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/background-pressed.colorset/Contents.json +38 -0
  92. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/background-selected.colorset/Contents.json +38 -0
  93. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/background-surface.colorset/Contents.json +38 -0
  94. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/background-tonal.colorset/Contents.json +38 -0
  95. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/border-default.colorset/Contents.json +38 -0
  96. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/border-disable.colorset/Contents.json +38 -0
  97. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/gradient.colorset/Contents.json +38 -0
  98. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/primary.colorset/Contents.json +38 -0
  99. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/secondary.colorset/Contents.json +38 -0
  100. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/success-container.colorset/Contents.json +38 -0
  101. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/success-primary.colorset/Contents.json +38 -0
  102. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/success-secondary.colorset/Contents.json +38 -0
  103. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/text-default.colorset/Contents.json +38 -0
  104. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/text-disable.colorset/Contents.json +38 -0
  105. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/text-hint.colorset/Contents.json +38 -0
  106. package/ios/Resources/MoMoUIKitsColors.xcassets/ThemeColors/text-secondary.colorset/Contents.json +38 -0
  107. package/ios/ScrollIndicator/ScrollIndicator.swift +110 -0
  108. package/ios/Skeleton/Skeleton.swift +99 -0
  109. package/ios/Slider/Slider.swift +237 -0
  110. package/ios/StatusBarTap/StatusBarTap.h +13 -0
  111. package/ios/StatusBarTap/StatusBarTap.m +75 -0
  112. package/ios/Stepper/Stepper.swift +221 -0
  113. package/ios/Steps/Steps.swift +467 -0
  114. package/ios/SuggestAction/SuggestAction.swift +100 -0
  115. package/ios/Swipeable/SwipeCell.swift +226 -31
  116. package/ios/Swipeable/SwipeCellModel.swift +21 -0
  117. package/ios/Switch/Switch.swift +53 -28
  118. package/ios/TabView/TabView.swift +534 -0
  119. package/ios/Tag/Tag.swift +99 -0
  120. package/ios/Template/Logo/Logo.swift +75 -0
  121. package/ios/Template/TrustBanner/TrustBanner.swift +123 -0
  122. package/ios/Title/Title.swift +270 -0
  123. package/ios/Tooltip/Tooltip.swift +486 -0
  124. package/ios/Typography/FontScale.swift +103 -0
  125. package/ios/Typography/FontScaleStore.swift +58 -0
  126. package/ios/Typography/KitDesignSystem.swift +17 -0
  127. package/ios/Typography/Text.swift +262 -0
  128. package/ios/Typography/Typography.swift +80 -23
  129. package/ios/Uploader/Uploader.swift +174 -0
  130. package/ios/native-kits.podspec +73 -15
  131. package/ios-demo/MoMoUIKitsDemo.podspec +20 -0
  132. package/ios-demo/Resources/dot_loading.json +558 -0
  133. package/ios-demo/Resources/icon.json +4052 -0
  134. package/ios-demo/Resources/lottie_circle_loader.json +1 -0
  135. package/ios-demo/Sources/MoMoUIKitsDemo/DemoScaffold.swift +48 -0
  136. package/ios-demo/Sources/MoMoUIKitsDemo/Demos/UIKitsBadgeDemoView.swift +25 -0
  137. package/ios-demo/Sources/MoMoUIKitsDemo/Demos/UIKitsButtonDemoView.swift +26 -0
  138. package/ios-demo/Sources/MoMoUIKitsDemo/Demos/UIKitsCheckboxDemoView.swift +19 -0
  139. package/ios-demo/Sources/MoMoUIKitsDemo/Demos/UIKitsChipDemoView.swift +33 -0
  140. package/ios-demo/Sources/MoMoUIKitsDemo/Demos/UIKitsInputDemoView.swift +48 -0
  141. package/ios-demo/Sources/MoMoUIKitsDemo/Demos/UIKitsPopupDemoView.swift +21 -0
  142. package/ios-demo/Sources/MoMoUIKitsDemo/Demos/UIKitsRadioDemoView.swift +17 -0
  143. package/ios-demo/Sources/MoMoUIKitsDemo/Demos/UIKitsTypographyDemoView.swift +28 -0
  144. package/ios-demo/Sources/MoMoUIKitsDemo/MoMoUIKitsDemoContext.swift +31 -0
  145. package/ios-demo/Sources/MoMoUIKitsDemo/MoMoUIKitsDemoFactory.swift +24 -0
  146. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/AnimatedHeaderDemo.swift +110 -0
  147. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/AvatarDemo.swift +107 -0
  148. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/BadgeDemo.swift +75 -0
  149. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/BaselineView.swift +117 -0
  150. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/BottomTabDemo.swift +89 -0
  151. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/ButtonDemo.swift +108 -0
  152. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/CarouselDemo.swift +96 -0
  153. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/CheckboxDemo.swift +60 -0
  154. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/ChipDemo.swift +76 -0
  155. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/CollapseDemo.swift +102 -0
  156. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/ContentView.swift +107 -0
  157. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/DateTimePickerDemo.swift +100 -0
  158. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/DemoScreen.swift +420 -0
  159. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/DividerDemo.swift +56 -0
  160. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/HeaderUserDemo.swift +49 -0
  161. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/Home.swift +276 -0
  162. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/IconButtonDemo.swift +93 -0
  163. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/IconDemo.swift +81 -0
  164. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/ImageDemo.swift +65 -0
  165. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/InformationDemo.swift +96 -0
  166. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/InputDemo.swift +117 -0
  167. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/InputDropDownDemo.swift +94 -0
  168. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/InputMoneyDemo.swift +94 -0
  169. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/InputOTPDemo.swift +88 -0
  170. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/InputPhoneNumberDemo.swift +120 -0
  171. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/InputSearchDemo.swift +85 -0
  172. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/InputTextAreaDemo.swift +87 -0
  173. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/LoaderDemo.swift +73 -0
  174. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/LocalizeDemo.swift +235 -0
  175. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/NavigationDemo.swift +241 -0
  176. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/PaginationDemo.swift +68 -0
  177. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/PlaygroundData.swift +76 -0
  178. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/PopupDisplayDemo.swift +175 -0
  179. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/PopupNotifyDemo.swift +95 -0
  180. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/PopupPromotionDemo.swift +67 -0
  181. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/ProgressInfoDemo.swift +101 -0
  182. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/RadioDemo.swift +64 -0
  183. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/RatingDemo.swift +68 -0
  184. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/SectionDemo.swift +83 -0
  185. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/SkeletonDemo.swift +61 -0
  186. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/SliderDemo.swift +90 -0
  187. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/SnackBarDemo.swift +82 -0
  188. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/StepperDemo.swift +93 -0
  189. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/StepsDemo.swift +114 -0
  190. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/SuggestActionDemo.swift +90 -0
  191. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/SwipeDemo.swift +107 -0
  192. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/SwitchDemo.swift +58 -0
  193. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/TabViewDemo.swift +114 -0
  194. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/TagDemo.swift +86 -0
  195. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/ThemeDemo.swift +181 -0
  196. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/TitleDemo.swift +104 -0
  197. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/TooltipDemo.swift +118 -0
  198. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/TypographyDemo.swift +87 -0
  199. package/ios-demo/Sources/MoMoUIKitsDemo/SampleDemos/UploaderDemo.swift +85 -0
  200. package/ios-demo/Sources/MoMoUIKitsDemo/SwiftUIDemoBrowserView.swift +53 -0
  201. package/ios-demo/Sources/MoMoUIKitsDemo/UIKitsDemoModels.swift +15 -0
  202. package/ios-demo/Sources/MoMoUIKitsDemo/UIKitsDemoRegistry.swift +73 -0
  203. package/package.json +6 -6
  204. package/publish.sh +554 -20
  205. package/scripts/gen-ios-color.mjs +136 -0
  206. package/CODE_OF_CONDUCT.md +0 -133
  207. package/CONTRIBUTING.md +0 -114
  208. package/LICENSE +0 -20
  209. package/android/build.gradle +0 -82
  210. package/android/gradle.properties +0 -5
  211. package/android/src/main/AndroidManifest.xml +0 -4
  212. package/android/src/main/java/com/momoplatform/nativekits/NativeKitsPackage.kt +0 -17
  213. package/android/src/main/java/com/momoplatform/nativekits/NativeKitsViewManager.kt +0 -20
  214. package/example/ios/Example/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -63
  215. package/example/ios/Example/ComponentDetail.swift +0 -35
  216. package/example/ios/Example/ComponentItem.swift +0 -24
  217. package/example/ios/Example/ComponentModel.swift +0 -38
  218. package/example/ios/Example/ContentView.swift +0 -39
  219. package/example/ios/Example/Example.entitlements +0 -10
  220. package/example/ios/Example/Foundation/ButtonDemo.swift +0 -80
  221. package/example/ios/Example/Foundation/ImageDemo.swift +0 -43
  222. package/example/ios/Example/Foundation/Popup/ActionSheets.swift +0 -136
  223. package/example/ios/Example/Foundation/Popup/Floats.swift +0 -127
  224. package/example/ios/Example/Foundation/Popup/Popups.swift +0 -51
  225. package/example/ios/Example/Foundation/PopupDemo.swift +0 -389
  226. package/example/ios/Example/Foundation/TextInputDemo.swift +0 -36
  227. package/example/ios/Example/Foundation/TypographyDemo.swift +0 -53
  228. package/example/ios/Example/Foundation.swift +0 -26
  229. package/example/ios/Example/Info.plist +0 -18
  230. package/example/ios/Example/Library/CheckboxDemo.swift +0 -19
  231. package/example/ios/Example/Library/SwipeableDemo.swift +0 -105
  232. package/example/ios/Example/Library/SwitchDemo.swift +0 -19
  233. package/example/ios/Example/Library.swift +0 -26
  234. package/example/ios/Example/Main.swift +0 -27
  235. package/example/ios/Example/Overview.swift +0 -20
  236. package/example/ios/Example/Resource/SFProText-Black.ttf +0 -0
  237. package/example/ios/Example/Resource/SFProText-Bold.ttf +0 -0
  238. package/example/ios/Example/Resource/SFProText-Heavy.ttf +0 -0
  239. package/example/ios/Example/Resource/SFProText-Light.ttf +0 -0
  240. package/example/ios/Example/Resource/SFProText-Medium.ttf +0 -0
  241. package/example/ios/Example/Resource/SFProText-Regular.ttf +0 -0
  242. package/example/ios/Example/Resource/SFProText-Semibold.ttf +0 -0
  243. package/example/ios/Example/Resource/SFProText-Thin.ttf +0 -0
  244. package/example/ios/Example/Resource/SFProText-Ultralight.ttf +0 -0
  245. package/example/ios/Example/Resource/foundation.json +0 -33
  246. package/example/ios/Example/Resource/library.json +0 -18
  247. package/example/ios/Example/Utils.swift +0 -30
  248. package/example/ios/Example/ViewModifier/DarkViewModifier.swift +0 -22
  249. package/example/ios/Example.xcodeproj/project.pbxproj +0 -581
  250. package/example/ios/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  251. package/example/ios/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  252. package/example/ios/Example.xcodeproj/project.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  253. package/example/ios/Example.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  254. package/example/ios/Example.xcworkspace/contents.xcworkspacedata +0 -10
  255. package/example/ios/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  256. package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  257. package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
  258. package/example/ios/Podfile +0 -7
  259. package/example/ios/Podfile.lock +0 -35
  260. package/example/ios/Pods/Local Podspecs/MoMoUIKits.podspec.json +0 -37
  261. package/example/ios/Pods/Manifest.lock +0 -35
  262. package/example/ios/Pods/Pods.xcodeproj/project.pbxproj +0 -2047
  263. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
  264. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
  265. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
  266. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
  267. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
  268. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -46
  269. package/example/ios/Pods/SDWebImage/LICENSE +0 -20
  270. package/example/ios/Pods/SDWebImage/README.md +0 -352
  271. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.h +0 -340
  272. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.m +0 -172
  273. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.h +0 -63
  274. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.m +0 -165
  275. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.h +0 -67
  276. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.m +0 -120
  277. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.h +0 -114
  278. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.m +0 -392
  279. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.h +0 -112
  280. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.m +0 -420
  281. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.h +0 -23
  282. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.m +0 -133
  283. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.h +0 -168
  284. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.m +0 -79
  285. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.h +0 -110
  286. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m +0 -540
  287. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.h +0 -145
  288. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.m +0 -326
  289. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.h +0 -73
  290. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.m +0 -256
  291. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.h +0 -19
  292. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.m +0 -58
  293. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.h +0 -23
  294. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.m +0 -98
  295. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.h +0 -450
  296. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.m +0 -1030
  297. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.h +0 -153
  298. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.m +0 -68
  299. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.h +0 -156
  300. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.m +0 -138
  301. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.h +0 -81
  302. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.m +0 -556
  303. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.h +0 -297
  304. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.m +0 -26
  305. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.h +0 -153
  306. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.m +0 -822
  307. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.h +0 -58
  308. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.m +0 -130
  309. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.h +0 -36
  310. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.m +0 -28
  311. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.h +0 -22
  312. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.m +0 -58
  313. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.h +0 -28
  314. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.m +0 -127
  315. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.h +0 -25
  316. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.m +0 -101
  317. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.h +0 -58
  318. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.m +0 -807
  319. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.h +0 -30
  320. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.m +0 -420
  321. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.h +0 -146
  322. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.m +0 -170
  323. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.h +0 -40
  324. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.m +0 -123
  325. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.h +0 -241
  326. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.m +0 -331
  327. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.h +0 -78
  328. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.m +0 -158
  329. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.h +0 -32
  330. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.m +0 -39
  331. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.h +0 -36
  332. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.m +0 -39
  333. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.h +0 -95
  334. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.m +0 -17
  335. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.h +0 -352
  336. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.m +0 -149
  337. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.h +0 -314
  338. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.m +0 -658
  339. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.h +0 -113
  340. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.m +0 -60
  341. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.h +0 -49
  342. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.m +0 -55
  343. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.h +0 -191
  344. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.m +0 -722
  345. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h +0 -69
  346. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.m +0 -71
  347. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h +0 -69
  348. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.m +0 -73
  349. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.h +0 -32
  350. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.m +0 -16
  351. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.h +0 -115
  352. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.m +0 -275
  353. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.h +0 -290
  354. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.m +0 -775
  355. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.h +0 -27
  356. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.m +0 -14
  357. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.h +0 -72
  358. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.m +0 -59
  359. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.h +0 -143
  360. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.m +0 -303
  361. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.h +0 -131
  362. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.m +0 -194
  363. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.h +0 -387
  364. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.m +0 -234
  365. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.h +0 -24
  366. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.m +0 -23
  367. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.h +0 -46
  368. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.m +0 -60
  369. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.h +0 -26
  370. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.m +0 -22
  371. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.h +0 -27
  372. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.m +0 -47
  373. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.h +0 -89
  374. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.m +0 -221
  375. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.h +0 -80
  376. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.m +0 -47
  377. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.h +0 -146
  378. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.m +0 -824
  379. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.h +0 -129
  380. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.m +0 -76
  381. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.h +0 -194
  382. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.m +0 -67
  383. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.h +0 -110
  384. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m +0 -446
  385. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.h +0 -48
  386. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.m +0 -82
  387. package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.h +0 -24
  388. package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.m +0 -42
  389. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.h +0 -14
  390. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.m +0 -29
  391. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.h +0 -21
  392. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.m +0 -92
  393. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.h +0 -18
  394. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.m +0 -32
  395. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.h +0 -29
  396. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.m +0 -227
  397. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.h +0 -19
  398. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.m +0 -127
  399. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.h +0 -23
  400. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.m +0 -164
  401. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.h +0 -21
  402. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.m +0 -83
  403. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageIOAnimatedCoderInternal.h +0 -39
  404. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.h +0 -122
  405. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.m +0 -13
  406. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.h +0 -20
  407. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.m +0 -79
  408. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWebImageTransitionInternal.h +0 -19
  409. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDmetamacros.h +0 -667
  410. package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.h +0 -18
  411. package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.m +0 -42
  412. package/example/ios/Pods/SDWebImage/WebImage/SDWebImage.h +0 -89
  413. package/example/ios/Pods/SDWebImageSwiftUI/LICENSE +0 -19
  414. package/example/ios/Pods/SDWebImageSwiftUI/README.md +0 -690
  415. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/AnimatedImage.swift +0 -870
  416. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Backport.swift +0 -59
  417. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/OnChange.swift +0 -52
  418. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Overlay.swift +0 -124
  419. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/StateObject.swift +0 -151
  420. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Image.swift +0 -78
  421. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageManager.swift +0 -132
  422. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImagePlayer.swift +0 -122
  423. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift +0 -133
  424. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ActivityIndicator.swift +0 -82
  425. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/Indicator.swift +0 -97
  426. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ProgressIndicator.swift +0 -114
  427. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SDWebImageSwiftUI.swift +0 -64
  428. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SwiftUICompatibility.swift +0 -92
  429. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Transition/Transition.swift +0 -93
  430. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/WebImage.swift +0 -509
  431. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Module/SDWebImageSwiftUI.h +0 -15
  432. package/example/ios/Pods/SkeletonUI/LICENSE +0 -21
  433. package/example/ios/Pods/SkeletonUI/README.md +0 -137
  434. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AngleInteractor.swift +0 -29
  435. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AnglePresenter.swift +0 -7
  436. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Animation/AnimationInteractor.swift +0 -56
  437. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearanceInteractor.swift +0 -58
  438. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearancePresenter.swift +0 -5
  439. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ClosedRange+Normalize.swift +0 -16
  440. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Image+OptionalType.swift +0 -102
  441. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ModifiedContent+SkeletonModifier.swift +0 -26
  442. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Optional+OptionalType.swift +0 -5
  443. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/SecureField+OptionalType.swift +0 -19
  444. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Text+OptionalType.swift +0 -27
  445. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/TextField+OptionalType.swift +0 -35
  446. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Toggle+OptionalType.swift +0 -29
  447. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/UnitPoint+Angle.swift +0 -8
  448. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/View+SkeletonModifier.swift +0 -8
  449. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Modifiers/SkeletonModifier.swift +0 -52
  450. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilineInteractor.swift +0 -41
  451. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilinePresenter.swift +0 -9
  452. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityInteractor.swift +0 -29
  453. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityPresenter.swift +0 -7
  454. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionInteractor.swift +0 -29
  455. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionPresenter.swift +0 -7
  456. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Protocols/OptionalType.swift +0 -4
  457. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusInteractor.swift +0 -29
  458. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusPresenter.swift +0 -7
  459. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapeInteractor.swift +0 -33
  460. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapePresenter.swift +0 -5
  461. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonForEach.swift +0 -20
  462. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonInteractor.swift +0 -27
  463. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonList.swift +0 -20
  464. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonPresenter.swift +0 -15
  465. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonShape.swift +0 -64
  466. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonView.swift +0 -25
  467. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-dummy.m +0 -5
  468. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-prefix.pch +0 -12
  469. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-umbrella.h +0 -16
  470. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.debug.xcconfig +0 -15
  471. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.modulemap +0 -6
  472. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.release.xcconfig +0 -15
  473. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown +0 -75
  474. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist +0 -119
  475. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m +0 -5
  476. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h +0 -16
  477. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig +0 -15
  478. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap +0 -6
  479. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig +0 -15
  480. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m +0 -5
  481. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-prefix.pch +0 -12
  482. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-umbrella.h +0 -75
  483. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.debug.xcconfig +0 -14
  484. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.modulemap +0 -6
  485. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.release.xcconfig +0 -14
  486. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-dummy.m +0 -5
  487. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-prefix.pch +0 -12
  488. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-umbrella.h +0 -17
  489. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.debug.xcconfig +0 -17
  490. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.modulemap +0 -6
  491. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.release.xcconfig +0 -17
  492. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-dummy.m +0 -5
  493. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-prefix.pch +0 -12
  494. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-umbrella.h +0 -16
  495. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.debug.xcconfig +0 -12
  496. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.modulemap +0 -6
  497. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.release.xcconfig +0 -12
  498. package/ios/Extensions/View++.swift +0 -9
  499. package/ios/Theme.md +0 -18
  500. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Background.colorset/Contents.json +0 -0
  501. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Border.colorset/Contents.json +0 -0
  502. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Card.colorset/Contents.json +0 -0
  503. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Contents.json +0 -0
  504. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Error.colorset/Contents.json +0 -0
  505. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Primary.colorset/Contents.json +0 -0
  506. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/PrimaryDark.colorset/Contents.json +0 -0
  507. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/PrimaryLight.colorset/Contents.json +0 -0
  508. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Secondary.colorset/Contents.json +0 -0
  509. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Success.colorset/Contents.json +0 -0
  510. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/TextSecondary.colorset/Contents.json +0 -0
  511. /package/{example/ios/Example/Assets.xcassets → ios/Resources/MoMoUIKitsColors.xcassets}/Warning.colorset/Contents.json +0 -0
@@ -0,0 +1,114 @@
1
+ //
2
+ // TabViewDemo.swift
3
+ // Example
4
+ //
5
+ // Preview + Playground demo, mirroring Compose's TabViewUsage.kt.
6
+ //
7
+
8
+ import MoMoUIKits
9
+ import SwiftUI
10
+
11
+ @ViewBuilder
12
+ private func tvContent(_ label: String, _ background: Color) -> some View {
13
+ ZStack {
14
+ background
15
+ MomoText(label, typography: .headerSSemibold, color: Colors.text)
16
+ }
17
+ .frame(maxWidth: .infinity)
18
+ .frame(height: 120)
19
+ }
20
+
21
+ private let tabViewTypeList: [PlaygroundOption] = [
22
+ .init("default", TabViewType.default),
23
+ .init("card", TabViewType.card),
24
+ ]
25
+
26
+ private let tabViewDirectionList: [PlaygroundOption] = [
27
+ .init("row", TabViewDirection.row),
28
+ .init("column", TabViewDirection.column),
29
+ ]
30
+
31
+ struct TabViewDemo: View {
32
+ var body: some View {
33
+ if #available(iOS 16.0, *) {
34
+ DemoScreen(preview: { TabViewPreview() }, playground: { TabViewPlayground() })
35
+ } else {
36
+ Text("Requires iOS 16+").padding()
37
+ }
38
+ }
39
+ }
40
+
41
+ // MARK: - Preview
42
+
43
+ private struct TabViewPreview: View {
44
+ var body: some View {
45
+ BasicColumnBox("Default (2 tabs)", alignment: .leading) {
46
+ MomoTabView(tabs: [
47
+ TabViewItem(title: "Tab 1") { tvContent("Content 1", Colors.pink09) },
48
+ TabViewItem(title: "Tab 2") { tvContent("Content 2", Colors.blue08) },
49
+ ])
50
+ .frame(height: 160)
51
+ }
52
+ BasicColumnBox("With badge & dot", alignment: .leading) {
53
+ MomoTabView(tabs: [
54
+ TabViewItem(title: "Inbox", badgeValue: "5") { tvContent("Inbox", Colors.orange08) },
55
+ TabViewItem(title: "Alerts", showDot: true, dotSize: .small) { tvContent("Alerts", Colors.red08) },
56
+ TabViewItem(title: "Done") { tvContent("Done", Colors.green08) },
57
+ ])
58
+ .frame(height: 160)
59
+ }
60
+ BasicColumnBox("Card type", alignment: .leading) {
61
+ MomoTabView(tabs: [
62
+ TabViewItem(title: "Personal") { tvContent("Personal", Colors.pink09) },
63
+ TabViewItem(title: "Business") { tvContent("Business", Colors.blue08) },
64
+ ], type: .card)
65
+ .frame(height: 160)
66
+ }
67
+ BasicColumnBox("Scrollable (many tabs)", alignment: .leading) {
68
+ MomoTabView(tabs: [
69
+ TabViewItem(title: "Monday") { tvContent("Monday", Colors.pink09) },
70
+ TabViewItem(title: "Tuesday") { tvContent("Tuesday", Colors.blue08) },
71
+ TabViewItem(title: "Wednesday") { tvContent("Wednesday", Colors.green08) },
72
+ TabViewItem(title: "Thursday") { tvContent("Thursday", Colors.orange08) },
73
+ TabViewItem(title: "Friday") { tvContent("Friday", Colors.mint08) },
74
+ ], scrollable: true)
75
+ .frame(height: 160)
76
+ }
77
+ }
78
+ }
79
+
80
+ // MARK: - Playground
81
+
82
+ @available(iOS 16.0, *)
83
+ private struct TabViewPlayground: View {
84
+ @State private var type: PlaygroundOption? = tabViewTypeList.first { $0.key == "default" }
85
+ @State private var direction: PlaygroundOption? = tabViewDirectionList.first { $0.key == "row" }
86
+ @State private var scrollable = false
87
+ @State private var fitContent = false
88
+
89
+ var body: some View {
90
+ PlaygroundTab(
91
+ component: {
92
+ MomoTabView(
93
+ tabs: [
94
+ TabViewItem(title: "Home", icon: "basic_home") { tvContent("Home", Colors.pink09) },
95
+ TabViewItem(title: "Search", icon: "basic_search") { tvContent("Search", Colors.blue08) },
96
+ TabViewItem(title: "Profile") { tvContent("Profile", Colors.green08) },
97
+ ],
98
+ type: (type?.value as? TabViewType) ?? .default,
99
+ scrollable: scrollable,
100
+ fitContent: fitContent,
101
+ direction: (direction?.value as? TabViewDirection) ?? .row
102
+ )
103
+ .frame(height: fitContent ? nil : 200)
104
+ .id("\(type?.key ?? "")-\(direction?.key ?? "")-\(scrollable)-\(fitContent)")
105
+ },
106
+ params: [
107
+ .radio("Type", tabViewTypeList, $type),
108
+ .radio("Direction", tabViewDirectionList, $direction),
109
+ .checkbox("Scrollable", $scrollable),
110
+ .checkbox("FitContent", $fitContent),
111
+ ]
112
+ )
113
+ }
114
+ }
@@ -0,0 +1,86 @@
1
+ //
2
+ // TagDemo.swift
3
+ // Example
4
+ //
5
+ // Preview + Playground demo, mirroring Compose's TagUsage.kt.
6
+ //
7
+
8
+ import MoMoUIKits
9
+ import SwiftUI
10
+
11
+ private let tagColorList: [PlaygroundOption] = [
12
+ .init("default", Tag.TagColor.default),
13
+ .init("orange", Tag.TagColor.orange),
14
+ .init("green", Tag.TagColor.green),
15
+ .init("red", Tag.TagColor.red),
16
+ .init("blue", Tag.TagColor.blue),
17
+ .init("grey", Tag.TagColor.grey),
18
+ ]
19
+
20
+ private let tagSizeList: [PlaygroundOption] = [
21
+ .init("large", Tag.TagSize.large),
22
+ .init("medium", Tag.TagSize.medium),
23
+ ]
24
+
25
+ struct TagDemo: View {
26
+ var body: some View {
27
+ if #available(iOS 16.0, *) {
28
+ DemoScreen(preview: { TagPreview() }, playground: { TagPlayground() })
29
+ } else {
30
+ Text("Requires iOS 16+").padding()
31
+ }
32
+ }
33
+ }
34
+
35
+ // MARK: - Preview
36
+
37
+ private struct TagPreview: View {
38
+ var body: some View {
39
+ BasicColumnBox("Color", alignment: .leading) {
40
+ Tag()
41
+ Tag(color: .red)
42
+ Tag(color: .blue)
43
+ Tag(color: .green)
44
+ Tag(color: .orange)
45
+ Tag(color: .grey)
46
+ }
47
+ BasicColumnBox("Size", alignment: .leading) {
48
+ Tag(size: .large)
49
+ Tag(size: .medium)
50
+ }
51
+ BasicColumnBox("With Icon", alignment: .leading) {
52
+ Tag(icon: "ic_momo", color: .grey)
53
+ Tag(icon: "ic_momo", color: .red, size: .medium)
54
+ Tag(icon: "ic_momo", color: .blue, size: .medium)
55
+ }
56
+ }
57
+ }
58
+
59
+ // MARK: - Playground
60
+
61
+ @available(iOS 16.0, *)
62
+ private struct TagPlayground: View {
63
+ @State private var label = "Label"
64
+ @State private var color: PlaygroundOption? = tagColorList.first { $0.key == "default" }
65
+ @State private var size: PlaygroundOption? = tagSizeList.first { $0.key == "large" }
66
+ @State private var icon: PlaygroundOption?
67
+
68
+ var body: some View {
69
+ PlaygroundTab(
70
+ component: {
71
+ Tag(
72
+ label: label,
73
+ icon: icon?.value as? String,
74
+ color: (color?.value as? Tag.TagColor) ?? .default,
75
+ size: (size?.value as? Tag.TagSize) ?? .large
76
+ )
77
+ },
78
+ params: [
79
+ .string("Label", $label),
80
+ .radio("Color", tagColorList, $color),
81
+ .radio("Size", tagSizeList, $size),
82
+ .option("Icon", playgroundIcons, $icon),
83
+ ]
84
+ )
85
+ }
86
+ }
@@ -0,0 +1,181 @@
1
+ //
2
+ // ThemeDemo.swift
3
+ // iosApp
4
+ //
5
+ // Created by sophia on 25/2/26.
6
+ //
7
+
8
+ import MoMoUIKits
9
+ import SwiftUI
10
+
11
+ // MARK: - ThemeDemo
12
+
13
+ struct ThemeDemo: View {
14
+ @Environment(\.appTheme) private var theme
15
+ @State private var isDarkMode: Bool = false
16
+
17
+ var body: some View {
18
+ ScrollView {
19
+ VStack(alignment: .leading, spacing: 0) {
20
+
21
+ // MARK: Dark Mode Toggle
22
+ Toggle(isOn: $isDarkMode) {
23
+ Text("Dark Mode")
24
+ .font(.headline)
25
+ }
26
+ .padding(.horizontal, 16)
27
+ .padding(.vertical, 12)
28
+ .onChange(of: isDarkMode) { _ in
29
+ // Theme switching is handled via parent environment
30
+ }
31
+
32
+ Divider()
33
+
34
+ // MARK: Primary / Secondary
35
+ SectionHeader("Primary & Secondary")
36
+ ThemeColorRow(label: "primary", color: theme.colors.primary)
37
+ ThemeColorRow(label: "secondary", color: theme.colors.secondary)
38
+
39
+ // MARK: Background
40
+ SectionHeader("Background")
41
+ ThemeColorRow(label: "default", color: theme.colors.background.default)
42
+ ThemeColorRow(label: "surface", color: theme.colors.background.surface)
43
+ ThemeColorRow(label: "tonal", color: theme.colors.background.tonal)
44
+ ThemeColorRow(label: "pressed", color: theme.colors.background.pressed)
45
+ ThemeColorRow(label: "selected", color: theme.colors.background.selected)
46
+ ThemeColorRow(label: "disable", color: theme.colors.background.disable)
47
+
48
+ // MARK: Text
49
+ SectionHeader("Text")
50
+ ThemeColorRow(label: "default", color: theme.colors.text.default)
51
+ ThemeColorRow(label: "secondary", color: theme.colors.text.secondary)
52
+ ThemeColorRow(label: "hint", color: theme.colors.text.hint)
53
+ ThemeColorRow(label: "disable", color: theme.colors.text.disable)
54
+
55
+ // MARK: Border
56
+ SectionHeader("Border")
57
+ ThemeColorRow(label: "default", color: theme.colors.border.default)
58
+ ThemeColorRow(label: "disable", color: theme.colors.border.disable)
59
+
60
+ // MARK: Success
61
+ SectionHeader("Success")
62
+ ThemeColorRow(label: "primary", color: theme.colors.success.primary)
63
+ ThemeColorRow(label: "secondary", color: theme.colors.success.secondary)
64
+ ThemeColorRow(label: "container", color: theme.colors.success.container)
65
+
66
+ // MARK: Warning
67
+ SectionHeader("Warning")
68
+ ThemeColorRow(label: "primary", color: theme.colors.warning.primary)
69
+ ThemeColorRow(label: "secondary", color: theme.colors.warning.secondary)
70
+ ThemeColorRow(label: "container", color: theme.colors.warning.container)
71
+
72
+ // MARK: Error
73
+ SectionHeader("Error")
74
+ ThemeColorRow(label: "primary", color: theme.colors.error.primary)
75
+ ThemeColorRow(label: "secondary", color: theme.colors.error.secondary)
76
+ ThemeColorRow(label: "container", color: theme.colors.error.container)
77
+
78
+ // MARK: Highlight
79
+ SectionHeader("Highlight")
80
+ ThemeColorRow(label: "primary", color: theme.colors.highlight.primary)
81
+ ThemeColorRow(label: "secondary", color: theme.colors.highlight.secondary)
82
+ ThemeColorRow(label: "container", color: theme.colors.highlight.container)
83
+
84
+ // MARK: Interactive
85
+ SectionHeader("Interactive")
86
+ ThemeColorRow(label: "primary", color: theme.colors.interactive.primary)
87
+ ThemeColorRow(label: "secondary", color: theme.colors.interactive.secondary)
88
+ ThemeColorRow(label: "container", color: theme.colors.interactive.container)
89
+
90
+ Spacer(minLength: 32)
91
+ }
92
+ }
93
+ .background(isDarkMode ? Colors.black10.ignoresSafeArea() : theme.colors.background.default.ignoresSafeArea())
94
+ .environment(\.appTheme, isDarkMode ? darkTheme : defaultTheme)
95
+ }
96
+ }
97
+
98
+ // MARK: - SectionHeader
99
+
100
+ private struct SectionHeader: View {
101
+ let title: String
102
+
103
+ init(_ title: String) {
104
+ self.title = title
105
+ }
106
+
107
+ var body: some View {
108
+ Text(title)
109
+ .font(.headline)
110
+ .fontWeight(.bold)
111
+ .padding(.horizontal, 16)
112
+ .padding(.top, 20)
113
+ .padding(.bottom, 8)
114
+ }
115
+ }
116
+
117
+ // MARK: - ThemeColorRow
118
+
119
+ private struct ThemeColorRow: View {
120
+ @Environment(\.appTheme) private var theme
121
+ let label: String
122
+ let color: Color
123
+
124
+ var body: some View {
125
+ HStack(spacing: 12) {
126
+ RoundedRectangle(cornerRadius: 8)
127
+ .fill(color)
128
+ .frame(width: 36, height: 36)
129
+ .overlay(
130
+ RoundedRectangle(cornerRadius: 8)
131
+ .stroke(theme.colors.border.default, lineWidth: 1)
132
+ )
133
+
134
+ Text(label)
135
+ .font(.body)
136
+ .foregroundColor(theme.colors.text.default)
137
+
138
+ Spacer()
139
+
140
+ Text(color.toHexString())
141
+ .font(.caption)
142
+ .foregroundColor(theme.colors.text.hint)
143
+ .padding(.horizontal, 8)
144
+ .padding(.vertical, 4)
145
+ .background(theme.colors.background.tonal)
146
+ .clipShape(Capsule())
147
+ }
148
+ .padding(.horizontal, 16)
149
+ .padding(.vertical, 4)
150
+ }
151
+ }
152
+
153
+ // MARK: - Color+Hex helper
154
+
155
+ extension Color {
156
+ /// Returns a hex string like "#EB2F96" from a SwiftUI Color.
157
+ func toHexString() -> String {
158
+ guard let cgColor = UIColor(self).cgColor.converted(
159
+ to: CGColorSpaceCreateDeviceRGB(),
160
+ intent: .defaultIntent,
161
+ options: nil
162
+ ) else { return "#??????" }
163
+ guard let components = cgColor.components, components.count >= 3 else { return "#??????" }
164
+ let r = Int((components[0] * 255).rounded())
165
+ let g = Int((components[1] * 255).rounded())
166
+ let b = Int((components[2] * 255).rounded())
167
+ return String(format: "#%02X%02X%02X", r, g, b)
168
+ }
169
+ }
170
+
171
+ // MARK: - Preview
172
+
173
+ #Preview {
174
+ if #available(iOS 16.0, *) {
175
+ NavigationStack {
176
+ ThemeDemo()
177
+ }
178
+ } else {
179
+ // Fallback on earlier versions
180
+ }
181
+ }
@@ -0,0 +1,104 @@
1
+ //
2
+ // TitleDemo.swift
3
+ // Example
4
+ //
5
+ // Preview + Playground demo (DemoScreen pattern).
6
+ //
7
+
8
+ import MoMoUIKits
9
+ import SwiftUI
10
+
11
+ private let titleTypeList: [PlaygroundOption] = [
12
+ .init("card", TitleType.card),
13
+ .init("section", TitleType.section),
14
+ ]
15
+
16
+ private let titleSizeList: [PlaygroundOption] = [
17
+ .init("small", TitleSize.small),
18
+ .init("medium", TitleSize.medium),
19
+ .init("large", TitleSize.large),
20
+ ]
21
+
22
+ private let iconAlignList: [PlaygroundOption] = [
23
+ .init("top", IconAlign.top),
24
+ .init("center", IconAlign.center),
25
+ .init("bottom", IconAlign.bottom),
26
+ ]
27
+
28
+ struct TitleDemo: View {
29
+ var body: some View {
30
+ if #available(iOS 16.0, *) {
31
+ DemoScreen(preview: { TitlePreview() }, playground: { TitlePlayground() })
32
+ } else {
33
+ Text("Requires iOS 16+").padding()
34
+ }
35
+ }
36
+ }
37
+
38
+ // MARK: - Preview
39
+
40
+ private struct TitlePreview: View {
41
+ var body: some View {
42
+ BasicColumnBox("Section Type", alignment: .leading) {
43
+ Title(title: "Section Small", type: .section, size: .small)
44
+ Title(title: "Section Medium", type: .section, size: .medium, icon: "basic_home",
45
+ description: "This is a medium section with icon.")
46
+ Title(title: "Section Large", type: .section, size: .large,
47
+ showTrailingAction: true, badgeLabel: "NEW", onPressTrailingAction: {})
48
+ }
49
+ BasicColumnBox("Card Type", alignment: .leading) {
50
+ Title(title: "Card Small Text Only", type: .card, size: .small, textOnly: true)
51
+ Title(title: "Card Medium with Right Action", type: .card, size: .medium, icon: "basic_home",
52
+ showRightAction: true, buttonTitle: "Action", onPressRightAction: {})
53
+ }
54
+ BasicColumnBox("Icon Alignment", alignment: .leading) {
55
+ Title(title: "Icon Top", type: .section, icon: "basic_home", iconAlign: .top, description: "Aligned top")
56
+ Title(title: "Icon Center", type: .section, icon: "basic_home", iconAlign: .center, description: "Aligned center")
57
+ }
58
+ }
59
+ }
60
+
61
+ // MARK: - Playground
62
+
63
+ @available(iOS 16.0, *)
64
+ private struct TitlePlayground: View {
65
+ @State private var title = "Title"
66
+ @State private var type: PlaygroundOption? = titleTypeList.first { $0.key == "section" }
67
+ @State private var size: PlaygroundOption? = titleSizeList.first { $0.key == "medium" }
68
+ @State private var icon: PlaygroundOption?
69
+ @State private var iconAlign: PlaygroundOption? = iconAlignList.first { $0.key == "top" }
70
+ @State private var description = ""
71
+ @State private var badgeLabel = ""
72
+ @State private var showRightAction = false
73
+ @State private var textOnly = false
74
+
75
+ var body: some View {
76
+ PlaygroundTab(
77
+ component: {
78
+ Title(
79
+ title: title,
80
+ type: (type?.value as? TitleType) ?? .section,
81
+ size: (size?.value as? TitleSize) ?? .medium,
82
+ icon: (icon?.value as? String),
83
+ iconAlign: (iconAlign?.value as? IconAlign) ?? .top,
84
+ showRightAction: showRightAction,
85
+ badgeLabel: badgeLabel.isEmpty ? nil : badgeLabel,
86
+ onPressRightAction: {},
87
+ textOnly: textOnly,
88
+ description: description.isEmpty ? nil : description
89
+ )
90
+ },
91
+ params: [
92
+ .string("Title", $title),
93
+ .radio("Type", titleTypeList, $type),
94
+ .radio("Size", titleSizeList, $size),
95
+ .option("Icon", playgroundIcons, $icon),
96
+ .radio("IconAlign", iconAlignList, $iconAlign),
97
+ .string("Description", $description),
98
+ .string("BadgeLabel", $badgeLabel),
99
+ .checkbox("ShowRightAction", $showRightAction),
100
+ .checkbox("TextOnly", $textOnly),
101
+ ]
102
+ )
103
+ }
104
+ }
@@ -0,0 +1,118 @@
1
+ //
2
+ // TooltipDemo.swift
3
+ // Example
4
+ //
5
+ // Preview + Playground demo (mirrors the Compose DemoScreen pattern).
6
+ //
7
+
8
+ import MoMoUIKits
9
+ import SwiftUI
10
+
11
+ struct TooltipDemo: View {
12
+ var body: some View {
13
+ if #available(iOS 16.0, *) {
14
+ DemoScreen(preview: { TooltipPreview() }, playground: { TooltipPlayground() })
15
+ } else {
16
+ Text("Requires iOS 16+").padding()
17
+ }
18
+ }
19
+ }
20
+
21
+ // MARK: - Preview
22
+
23
+ private struct TooltipPreview: View {
24
+ @StateObject private var topState = TooltipState()
25
+ @StateObject private var bottomState = TooltipState()
26
+ @StateObject private var btnState = TooltipState()
27
+ @StateObject private var descState = TooltipState()
28
+
29
+ var body: some View {
30
+ BasicColumnBox("Placement", alignment: .leading) {
31
+ Tooltip(state: topState, title: "Top", description: "Tooltip on top of the anchor.",
32
+ placement: .top, onPressClose: { topState.hide() }) {
33
+ MoMoUIKits.Button(title: "Top", action: { topState.toggle() }, size: .small, isFull: false)
34
+ }
35
+ Tooltip(state: bottomState, title: "Bottom", description: "Tooltip below the anchor.",
36
+ placement: .bottom, onPressClose: { bottomState.hide() }) {
37
+ MoMoUIKits.Button(title: "Bottom", action: { bottomState.toggle() }, size: .small, isFull: false)
38
+ }
39
+ }
40
+ BasicColumnBox("With Buttons", alignment: .leading) {
41
+ Tooltip(state: btnState, title: "Two Buttons",
42
+ description: "Tooltip with primary and secondary actions.",
43
+ buttons: [
44
+ TooltipButton(title: "Confirm", onPress: { btnState.hide() }),
45
+ TooltipButton(title: "Cancel", onPress: { btnState.hide() }),
46
+ ],
47
+ placement: .bottom, onPressClose: { btnState.hide() }) {
48
+ MoMoUIKits.Button(title: "2 Buttons", action: { btnState.toggle() }, size: .small, isFull: false)
49
+ }
50
+ }
51
+ BasicColumnBox("Description Only", alignment: .leading) {
52
+ Tooltip(state: descState, description: "This tooltip has no title, just a description.",
53
+ placement: .top, onPressClose: { descState.hide() }) {
54
+ MoMoUIKits.Button(title: "No Title", action: { descState.toggle() }, size: .small, isFull: false)
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ // MARK: - Playground
61
+
62
+ // String-keyed so the demo doesn't depend on the exact enum type name;
63
+ // the literal cases below are resolved against Tooltip's own parameter types.
64
+ private let tooltipPlacementList: [PlaygroundOption] = [
65
+ .init("top", "top"), .init("bottom", "bottom"), .init("left", "left"), .init("right", "right"),
66
+ ]
67
+ private let tooltipAlignList: [PlaygroundOption] = [
68
+ .init("start", "start"), .init("center", "center"), .init("end", "end"),
69
+ ]
70
+
71
+ @available(iOS 16.0, *)
72
+ private struct TooltipPlayground: View {
73
+ @StateObject private var state = TooltipState()
74
+ @State private var title = "Tooltip"
75
+ @State private var desc = "This is a tooltip description."
76
+ @State private var placement: PlaygroundOption? = tooltipPlacementList.first { $0.key == "bottom" }
77
+ @State private var align: PlaygroundOption? = tooltipAlignList.first { $0.key == "center" }
78
+
79
+ var body: some View {
80
+ PlaygroundTab(
81
+ component: {
82
+ Tooltip(
83
+ state: state,
84
+ title: title,
85
+ description: desc,
86
+ placement: placementCase,
87
+ align: alignCase,
88
+ onPressClose: { state.hide() }
89
+ ) {
90
+ MoMoUIKits.Button(title: "Show tooltip", action: { state.toggle() }, size: .small, isFull: false)
91
+ }
92
+ },
93
+ params: [
94
+ .string("Title", $title),
95
+ .string("Description", $desc),
96
+ .radio("Placement", tooltipPlacementList, $placement),
97
+ .radio("Align", tooltipAlignList, $align),
98
+ ]
99
+ )
100
+ }
101
+
102
+ private var placementCase: TooltipPlacement {
103
+ switch placement?.key {
104
+ case "top": return .top
105
+ case "left": return .left
106
+ case "right": return .right
107
+ default: return .bottom
108
+ }
109
+ }
110
+
111
+ private var alignCase: TooltipAlign {
112
+ switch align?.key {
113
+ case "start": return .start
114
+ case "end": return .end
115
+ default: return .center
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,87 @@
1
+ //
2
+ // TypographyDemo.swift
3
+ // Example
4
+ //
5
+ // Preview + Playground demo for the Text (MomoText) component (DemoScreen pattern).
6
+ //
7
+
8
+ import MoMoUIKits
9
+ import SwiftUI
10
+
11
+ private let typographyList: [PlaygroundOption] = [
12
+ .init("headlineDefaultBold", TypographyStyle.headlineDefaultBold),
13
+ .init("headerMBold", TypographyStyle.headerMBold),
14
+ .init("headerDefaultBold", TypographyStyle.headerDefaultBold),
15
+ .init("headerSSemibold", TypographyStyle.headerSSemibold),
16
+ .init("headerXsSemibold", TypographyStyle.headerXsSemibold),
17
+ .init("bodyDefaultRegular", TypographyStyle.bodyDefaultRegular),
18
+ .init("descriptionDefaultRegular", TypographyStyle.descriptionDefaultRegular),
19
+ .init("descriptionXsRegular", TypographyStyle.descriptionXsRegular),
20
+ .init("labelDefaultMedium", TypographyStyle.labelDefaultMedium),
21
+ .init("labelSMedium", TypographyStyle.labelSMedium),
22
+ .init("labelXsMedium", TypographyStyle.labelXsMedium),
23
+ .init("actionDefaultBold", TypographyStyle.actionDefaultBold),
24
+ .init("actionSBold", TypographyStyle.actionSBold),
25
+ .init("actionXsBold", TypographyStyle.actionXsBold),
26
+ .init("actionXxsBold", TypographyStyle.actionXxsBold),
27
+ ]
28
+
29
+ struct TypographyDemo: View {
30
+ var body: some View {
31
+ if #available(iOS 16.0, *) {
32
+ DemoScreen(preview: { TypographyPreview() }, playground: { TypographyPlayground() })
33
+ } else {
34
+ Text("Requires iOS 16+").padding()
35
+ }
36
+ }
37
+ }
38
+
39
+ // MARK: - Preview
40
+
41
+ private struct TypographyPreview: View {
42
+ var body: some View {
43
+ BasicColumnBox("Headers", alignment: .leading) {
44
+ MomoText("Headline Default Bold", typography: .headlineDefaultBold)
45
+ MomoText("Header M Bold", typography: .headerMBold)
46
+ MomoText("Header Default Bold", typography: .headerDefaultBold)
47
+ MomoText("Header S Semibold", typography: .headerSSemibold)
48
+ MomoText("Header XS Semibold", typography: .headerXsSemibold)
49
+ }
50
+ BasicColumnBox("Body & Description", alignment: .leading) {
51
+ MomoText("Body Default Regular", typography: .bodyDefaultRegular)
52
+ MomoText("Description Default Regular", typography: .descriptionDefaultRegular)
53
+ MomoText("Description XS Regular", typography: .descriptionXsRegular)
54
+ }
55
+ BasicColumnBox("Labels", alignment: .leading) {
56
+ MomoText("Label Default Medium", typography: .labelDefaultMedium)
57
+ MomoText("Label S Medium", typography: .labelSMedium)
58
+ MomoText("Label XS Medium", typography: .labelXsMedium)
59
+ }
60
+ BasicColumnBox("Actions", alignment: .leading) {
61
+ MomoText("Action Default Bold", typography: .actionDefaultBold)
62
+ MomoText("Action S Bold", typography: .actionSBold)
63
+ MomoText("Action XS Bold", typography: .actionXsBold)
64
+ MomoText("Action XXS Bold", typography: .actionXxsBold)
65
+ }
66
+ }
67
+ }
68
+
69
+ // MARK: - Playground
70
+
71
+ @available(iOS 16.0, *)
72
+ private struct TypographyPlayground: View {
73
+ @State private var text = "The quick brown fox"
74
+ @State private var typography: PlaygroundOption? = typographyList.first { $0.key == "bodyDefaultRegular" }
75
+
76
+ var body: some View {
77
+ PlaygroundTab(
78
+ component: {
79
+ MomoText(text, typography: (typography?.value as? TypographyStyle) ?? .bodyDefaultRegular)
80
+ },
81
+ params: [
82
+ .string("Text", $text),
83
+ .radio("Typography", typographyList, $typography),
84
+ ]
85
+ )
86
+ }
87
+ }