@bm-fe/react-native-ui-components 1.0.1 → 1.1.4

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 (81) hide show
  1. package/android/design/build.gradle +51 -0
  2. package/android/design/consumer-rules.pro +1 -0
  3. package/android/design/proguard-rules.pro +1 -0
  4. package/android/design/src/main/AndroidManifest.xml +2 -0
  5. package/android/design/src/main/java/com/bitmart/react/design/DataUriFetcher.kt +42 -0
  6. package/android/design/src/main/java/com/bitmart/react/design/DesignComponentPackage.kt +35 -0
  7. package/android/design/src/main/java/com/bitmart/react/design/PrimaryXLargeViewManager.kt +785 -0
  8. package/android/design/src/main/java/com/bitmart/react/design/TextButtonViewManager.kt +294 -0
  9. package/ios/DemoProject/NativeDesign/PrimaryButtonViewManager.m +25 -0
  10. package/ios/DemoProject/NativeDesign/PrimaryButtonViewManager.swift +321 -0
  11. package/ios/DemoProject/NativeDesign/TextButtonViewManager.m +21 -0
  12. package/ios/DemoProject/NativeDesign/TextButtonViewManager.swift +184 -0
  13. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Bitmart Card.imageset/Contents.json +21 -0
  14. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Bitmart Card.imageset/Property 1=Bitmart Card.svg +3 -0
  15. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Contents.json +6 -0
  16. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Credit Debit Card.imageset/Contents.json +21 -0
  17. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Credit Debit Card.imageset/Property 1=Credit Debit Card.svg +3 -0
  18. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Crypto Prepaid Card.imageset/Contents.json +21 -0
  19. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Crypto Prepaid Card.imageset/Property 1=Crypto Prepaid Card.svg +3 -0
  20. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Mobile Recharge.imageset/Contents.json +21 -0
  21. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Mobile Recharge.imageset/Mobile Recharge.svg +3 -0
  22. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/P2P Trading.imageset/Contents.json +21 -0
  23. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/P2P Trading.imageset/Property 1=P2P Trading.svg +3 -0
  24. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/SEPA Deposit.imageset/Contents.json +21 -0
  25. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/SEPA Deposit.imageset/SEPA Deposit.svg +3 -0
  26. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Third-Party Payment.imageset/Contents.json +21 -0
  27. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/BuyCrypto/Third-Party Payment.imageset/Property 1=Third-Party Payment.svg +3 -0
  28. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Components/Contents.json +6 -0
  29. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/Contents.json +6 -0
  30. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/checkmark.imageset/Contents.json +21 -0
  31. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/checkmark.imageset/checkmark.pdf +0 -0
  32. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/close_icon.imageset/Contents.json +22 -0
  33. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/close_icon.imageset/close_icon@2x.png +0 -0
  34. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/close_icon.imageset/close_icon@3x.png +0 -0
  35. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/cross.imageset/Contents.json +21 -0
  36. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/cross.imageset/cross.pdf +0 -0
  37. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/progress.imageset/Contents.json +21 -0
  38. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/progress.imageset/progress.pdf +0 -0
  39. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/progress_circular.imageset/Contents.json +21 -0
  40. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/progress_circular.imageset/progress_circular.pdf +0 -0
  41. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/refresh_footer_dark.imageset/Contents.json +22 -0
  42. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/refresh_footer_dark.imageset/refresh_footer_dark@2x.png +0 -0
  43. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/refresh_footer_dark.imageset/refresh_footer_dark@3x.png +0 -0
  44. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/refresh_footer_light.imageset/Contents.json +22 -0
  45. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/refresh_footer_light.imageset/refresh_footer_light@2x.png +0 -0
  46. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/refresh_footer_light.imageset/refresh_footer_light@3x.png +0 -0
  47. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/search_icon.imageset/Contents.json +21 -0
  48. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/search_icon.imageset/Group 13994.svg +7 -0
  49. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_dark_chose.imageset/Contents.json +21 -0
  50. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_dark_chose.imageset/Frame.svg +3 -0
  51. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_list_arrow.imageset/Contents.json +22 -0
  52. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_list_arrow.imageset/sheet_list_arrow@2x.png +0 -0
  53. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_list_arrow.imageset/sheet_list_arrow@3x.png +0 -0
  54. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_list_cell_checkbox.imageset/Contents.json +21 -0
  55. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_list_cell_checkbox.imageset/Frame (1).svg +3 -0
  56. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_list_chose.imageset/Contents.json +21 -0
  57. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/sheet_list_chose.imageset/Frame.png +0 -0
  58. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/slider_bubble.imageset/Contents.json +22 -0
  59. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/slider_bubble.imageset/slider_bubble@2x.png +0 -0
  60. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/slider_bubble.imageset/slider_bubble@3x.png +0 -0
  61. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/spot_second_floor_refresh_arrow.imageset/Contents.json +21 -0
  62. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Assets.xcassets/spot_second_floor_refresh_arrow.imageset/spot_second_floor_refresh_arrow.svg +8 -0
  63. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Font/Alexandria-Medium.ttf +0 -0
  64. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Font/Alexandria-Regular.ttf +0 -0
  65. package/ios/Modules/BMUIComponents/BMUIComponents/Assets/Font/Alexandria-SemiBold.ttf +0 -0
  66. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/BMFont/BMFont.swift +82 -0
  67. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/BMFont/UIFontExtensions.swift +120 -0
  68. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/Components/AlertView/BMComponentAlertController.swift +574 -0
  69. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/Components/Buttons/BMComponentButton+Examples.swift +77 -0
  70. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/Components/Buttons/BMComponentButton.swift +373 -0
  71. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/Components/Buttons/BMComponentButtonConfiguration.swift +181 -0
  72. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/Components/Popup/BMComponentPopupController.swift +312 -0
  73. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/Components/SegmentView/BMComponentSegmentedTitleCell.swift +294 -0
  74. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/Components/SegmentView/BMComponentSegmentedTitleDataSource.swift +49 -0
  75. package/ios/Modules/BMUIComponents/BMUIComponents/Classes/Components/SegmentView/BMComponentSegmentedView.swift +292 -0
  76. package/ios/Modules/BMUIComponents/LICENSE +19 -0
  77. package/ios/Modules/BMUIComponents/README.md +29 -0
  78. package/package.json +10 -1
  79. package/react-native-ui-components.podspec +52 -0
  80. package/react-native.config.js +16 -0
  81. package/src/screens/NativeButtonsScreen.tsx +0 -335
@@ -0,0 +1,184 @@
1
+ //
2
+ // TextButtonViewManager.swift
3
+ // BitMartUS
4
+ //
5
+ // Created by React Native on 2026/01/24.
6
+ //
7
+
8
+ import UIKit
9
+ import React
10
+ import BMTheme
11
+ import BMUIComponents
12
+ import SnapKit
13
+
14
+ /// iOS 原生文本按钮 ViewManager - 对应 Android 的 TextButtonViewManager
15
+ /// 实现纯文本按钮,无背景,支持 Black/Gray/Blue 样式
16
+ @objc(TextButtonViewManager)
17
+ class TextButtonViewManager: RCTViewManager {
18
+
19
+ override static func requiresMainQueueSetup() -> Bool {
20
+ return true
21
+ }
22
+
23
+ override func view() -> UIView! {
24
+ return TextButtonView()
25
+ }
26
+ }
27
+
28
+ /// iOS 原生文本按钮视图 - 纯文本按钮实现
29
+ class TextButtonView: UIView {
30
+
31
+ // MARK: - Properties
32
+ private let textLabel: UILabel
33
+ private var currentStyleName: String = "Black"
34
+
35
+ /// RN 事件回调
36
+ @objc var onPress: RCTBubblingEventBlock?
37
+ @objc var onSizeChange: RCTDirectEventBlock?
38
+
39
+ // MARK: - Initialization
40
+ override init(frame: CGRect) {
41
+ textLabel = UILabel()
42
+ super.init(frame: frame)
43
+ setupButton()
44
+ }
45
+
46
+ required init?(coder: NSCoder) {
47
+ fatalError("init(coder:) has not been implemented")
48
+ }
49
+
50
+ // MARK: - Setup
51
+ private func setupButton() {
52
+ // 设置为可点击
53
+ isUserInteractionEnabled = true
54
+
55
+ // 配置文本标签
56
+ textLabel.textAlignment = .center
57
+ textLabel.numberOfLines = 1
58
+ textLabel.adjustsFontSizeToFitWidth = false
59
+ textLabel.lineBreakMode = .byTruncatingTail
60
+
61
+ // 添加标签到容器
62
+ addSubview(textLabel)
63
+
64
+ // 设置约束 - 标签填充整个容器
65
+ textLabel.snp.makeConstraints { make in
66
+ make.edges.equalToSuperview()
67
+ }
68
+
69
+ // 添加点击手势
70
+ let tapGesture = UITapGestureRecognizer(target: self, action: #selector(buttonTapped))
71
+ addGestureRecognizer(tapGesture)
72
+
73
+ // 应用默认样式
74
+ applyStyle(currentStyleName)
75
+
76
+ // 发送初始尺寸
77
+ sendSizeChangeEvent()
78
+ }
79
+
80
+ // MARK: - Event Handlers
81
+ @objc private func buttonTapped() {
82
+ if isUserInteractionEnabled {
83
+ onPress?([:])
84
+ }
85
+ }
86
+
87
+ private func sendSizeChangeEvent() {
88
+ DispatchQueue.main.async { [weak self] in
89
+ guard let self = self else { return }
90
+ let size = self.intrinsicContentSize
91
+
92
+ self.onSizeChange?([
93
+ "width": size.width,
94
+ "height": size.height
95
+ ])
96
+ }
97
+ }
98
+
99
+ // MARK: - RN Props
100
+
101
+ /// 设置按钮文本
102
+ @objc var text: NSString = "" {
103
+ didSet {
104
+ textLabel.text = text as String
105
+ sendSizeChangeEvent()
106
+ }
107
+ }
108
+
109
+ /// 设置样式名称
110
+ @objc var styleName: NSString = "Black" {
111
+ didSet {
112
+ let styleNameStr = styleName as String
113
+ if currentStyleName != styleNameStr {
114
+ currentStyleName = styleNameStr
115
+ applyStyle(styleNameStr)
116
+ sendSizeChangeEvent()
117
+ }
118
+ }
119
+ }
120
+
121
+ /// 设置启用状态
122
+ @objc var enabled: Bool = true {
123
+ didSet {
124
+ isUserInteractionEnabled = enabled
125
+ alpha = enabled ? 1.0 : 0.5
126
+ }
127
+ }
128
+
129
+ // MARK: - Style Application
130
+
131
+ /// 应用文本按钮样式
132
+ private func applyStyle(_ styleName: String) {
133
+ // 设置字体 - 使用统一的文本按钮字体
134
+ textLabel.font = .S4Font // 14pt Medium,与Android TextButton对应
135
+
136
+ // 根据样式名称设置文字颜色
137
+ switch styleName.lowercased() {
138
+ case "black":
139
+ textLabel.cexTheme.textColor = .primaryColor // 对应 bm4_color_primary
140
+ case "gray":
141
+ textLabel.cexTheme.textColor = .secondaryColor // 对应 bm4_color_secondary
142
+ case "blue":
143
+ textLabel.cexTheme.textColor = .brandColor // 对应 bm4_color_brand
144
+ default:
145
+ textLabel.cexTheme.textColor = .primaryColor
146
+ }
147
+
148
+ // 确保背景透明(文本按钮特征)
149
+ backgroundColor = .clear
150
+ }
151
+
152
+ // MARK: - Layout
153
+ override var intrinsicContentSize: CGSize {
154
+ // 让标签自己计算尺寸
155
+ textLabel.sizeToFit()
156
+ let labelSize = textLabel.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude, height: 28))
157
+
158
+ // 文本按钮最小高度28pt,宽度根据文本内容
159
+ return CGSize(width: max(labelSize.width, 20), height: max(labelSize.height, 28))
160
+ }
161
+
162
+ override func layoutSubviews() {
163
+ super.layoutSubviews()
164
+ // UILabel 会自动处理布局
165
+ }
166
+
167
+ // MARK: - Touch Feedback
168
+ override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
169
+ super.touchesBegan(touches, with: event)
170
+ if isUserInteractionEnabled {
171
+ alpha = 0.7 // 点击时降低透明度
172
+ }
173
+ }
174
+
175
+ override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
176
+ super.touchesEnded(touches, with: event)
177
+ alpha = enabled ? 1.0 : 0.5 // 恢复透明度
178
+ }
179
+
180
+ override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {
181
+ super.touchesCancelled(touches, with: event)
182
+ alpha = enabled ? 1.0 : 0.5 // 恢复透明度
183
+ }
184
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "Property 1=Bitmart Card.svg",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M16.7158 19.8447C17.1881 19.845 17.5712 20.2279 17.5713 20.7002C17.5713 21.1726 17.1881 21.5554 16.7158 21.5557C16.2434 21.5556 15.8604 21.1727 15.8604 20.7002C15.8604 20.2278 16.2434 19.8448 16.7158 19.8447ZM16.7158 16.4229C18.3809 16.4232 19.8225 17.3757 20.5293 18.7646L18.9609 20.333C18.7849 19.2504 17.8481 18.4233 16.7158 18.4229C15.622 18.4231 14.7079 19.1943 14.4883 20.2227L12.9443 18.6787C13.6658 17.3358 15.0847 16.423 16.7158 16.4229ZM22 12H20V6H4V18H10V20H2V4H22V12ZM17.1123 13.0098C19.5544 13.1338 21.6945 14.3972 23.0166 16.2773L21.5742 17.7197C20.5714 16.0885 18.7709 15.0002 16.7158 15C14.6941 15.0001 12.9183 16.0534 11.9062 17.6406L10.4668 16.2012C11.8652 14.2625 14.1431 13.0001 16.7158 13L17.1123 13.0098ZM12 10H6V8H12V10Z" fill="#0F0F0F"/>
3
+ </svg>
@@ -0,0 +1,6 @@
1
+ {
2
+ "info" : {
3
+ "author" : "xcode",
4
+ "version" : 1
5
+ }
6
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "Property 1=Credit Debit Card.svg",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M18.8945 13.4473L17.6182 16H21.6182L18.8945 21.4473L17.1055 20.5527L18.3818 18H14.3818L17.1055 12.5527L18.8945 13.4473ZM22 12H20V6H4V18H12V20H2V4H22V12ZM12 10H6V8H12V10Z" fill="#0F0F0F"/>
3
+ </svg>
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "Property 1=Crypto Prepaid Card.svg",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M22 20.0005H2V4.00049H22V20.0005ZM4 18.0005H20V10.8569H7V8.85693H20V6.00049H4V18.0005ZM17.8574 16.0005H13.8574V14.0005L17.8574 13.9995V16.0005Z" fill="#0F0F0F"/>
3
+ </svg>
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "Mobile Recharge.svg",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M18 12H16V4H6V20H14V22H4V2H18V12ZM20.707 17.293L19.293 18.707L18 17.4141V22H16V17.4141L14.707 18.707L13.293 17.293L17 13.5859L20.707 17.293ZM14 8H8V6H14V8Z" fill="#0F0F0F"/>
3
+ </svg>
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "Property 1=P2P Trading.svg",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M18 14C20.2091 14 22 15.7909 22 18C22 20.2091 20.2091 22 18 22C15.7909 22 14 20.2091 14 18C14 15.7909 15.7909 14 18 14ZM5 12C5 15.866 8.13401 19 12 19V21C7.02944 21 3 16.9706 3 12H5ZM18 16C16.8954 16 16 16.8954 16 18C16 19.1046 16.8954 20 18 20C19.1046 20 20 19.1046 20 18C20 16.8954 19.1046 16 18 16ZM12 3C16.9706 3 21 7.02944 21 12H19C19 8.13401 15.866 5 12 5V3ZM6 2C8.20914 2 10 3.79086 10 6C10 8.20914 8.20914 10 6 10C3.79086 10 2 8.20914 2 6C2 3.79086 3.79086 2 6 2ZM6 4C4.89543 4 4 4.89543 4 6C4 7.10457 4.89543 8 6 8C7.10457 8 8 7.10457 8 6C8 4.89543 7.10457 4 6 4Z" fill="#0F0F0F"/>
3
+ </svg>
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "SEPA Deposit.svg",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M18.8154 11C20.2702 11.0001 21.61 11.5066 22.6367 12.3535L21.3633 13.8965C20.6925 13.3433 19.8026 13.0001 18.8154 13C17.7579 13 16.8267 13.3876 16.1484 14H19V16H15.0391C15.0131 16.164 15 16.331 15 16.5C15 16.669 15.0131 16.836 15.0391 17H19V19H16.1484C16.8267 19.6124 17.7579 20 18.8154 20C19.8026 19.9999 20.6925 19.6567 21.3633 19.1035L22.6367 20.6465C21.61 21.4934 20.2702 21.9999 18.8154 22C16.5902 22 14.6052 20.7992 13.6328 19H12V17H13.0244C13.0089 16.8356 13 16.6689 13 16.5C13 16.3311 13.0089 16.1644 13.0244 16H12V14H13.6328C14.6052 12.2008 16.5902 11 18.8154 11ZM22 10H20V6H4V18H10V20H2V4H22V10ZM12 10H6V8H12V10Z" fill="#0F0F0F"/>
3
+ </svg>
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "Property 1=Third-Party Payment.svg",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M6 13C8.20914 13 10 14.7909 10 17C10 19.2091 8.20914 21 6 21C3.79086 21 2 19.2091 2 17C2 14.7909 3.79086 13 6 13ZM13.3525 18.8457C13.6165 19.5097 14.0187 20.1031 14.5234 20.5918C13.7294 20.8554 12.881 20.9999 12 21C11.1185 21 10.2698 20.8558 9.47559 20.5918C9.98048 20.1031 10.3825 19.5098 10.6465 18.8457C11.0813 18.9459 11.5342 19 12 19C12.4655 19 12.918 18.9458 13.3525 18.8457ZM18 13C20.2091 13 22 14.7909 22 17C22 19.2091 20.2091 21 18 21C15.7909 21 14 19.2091 14 17C14 14.7909 15.7909 13 18 13ZM6 15C4.89543 15 4 15.8954 4 17C4 18.1046 4.89543 19 6 19C7.10457 19 8 18.1046 8 17C8 15.8954 7.10457 15 6 15ZM18 15C16.8954 15 16 15.8954 16 17C16 18.1046 16.8954 19 18 19C19.1046 19 20 18.1046 20 17C20 15.8954 19.1046 15 18 15ZM7.05078 6.71484C7.15525 7.44463 7.41768 8.12331 7.80176 8.71582C6.91534 9.5846 6.29691 10.7246 6.08301 12.002C6.05539 12.0015 6.02773 12 6 12C5.29727 12 4.62822 12.1446 4.02148 12.4062C4.19086 10.0989 5.33929 8.0644 7.05078 6.71484ZM16.9482 6.71484C18.66 8.06439 19.8081 10.0987 19.9775 12.4062C19.371 12.1448 18.7024 12 18 12C17.9719 12 17.944 12.0015 17.916 12.002C17.7021 10.7244 17.0839 9.58463 16.1973 8.71582C16.5815 8.12324 16.8437 7.44477 16.9482 6.71484ZM12 2C14.2091 2 16 3.79086 16 6C16 8.20914 14.2091 10 12 10C9.79086 10 8 8.20914 8 6C8 3.79086 9.79086 2 12 2ZM12 4C10.8954 4 10 4.89543 10 6C10 7.10457 10.8954 8 12 8C13.1046 8 14 7.10457 14 6C14 4.89543 13.1046 4 12 4Z" fill="#0F0F0F"/>
3
+ </svg>
@@ -0,0 +1,6 @@
1
+ {
2
+ "info" : {
3
+ "author" : "xcode",
4
+ "version" : 1
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "info" : {
3
+ "author" : "xcode",
4
+ "version" : 1
5
+ }
6
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "checkmark.pdf",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "idiom" : "universal",
5
+ "scale" : "1x"
6
+ },
7
+ {
8
+ "filename" : "close_icon@2x.png",
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "filename" : "close_icon@3x.png",
14
+ "idiom" : "universal",
15
+ "scale" : "3x"
16
+ }
17
+ ],
18
+ "info" : {
19
+ "author" : "xcode",
20
+ "version" : 1
21
+ }
22
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "cross.pdf",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "progress.pdf",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "progress_circular.pdf",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "idiom" : "universal",
5
+ "scale" : "1x"
6
+ },
7
+ {
8
+ "filename" : "refresh_footer_dark@2x.png",
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "filename" : "refresh_footer_dark@3x.png",
14
+ "idiom" : "universal",
15
+ "scale" : "3x"
16
+ }
17
+ ],
18
+ "info" : {
19
+ "author" : "xcode",
20
+ "version" : 1
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "idiom" : "universal",
5
+ "scale" : "1x"
6
+ },
7
+ {
8
+ "filename" : "refresh_footer_light@2x.png",
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "filename" : "refresh_footer_light@3x.png",
14
+ "idiom" : "universal",
15
+ "scale" : "3x"
16
+ }
17
+ ],
18
+ "info" : {
19
+ "author" : "xcode",
20
+ "version" : 1
21
+ }
22
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "idiom" : "universal",
5
+ "scale" : "1x"
6
+ },
7
+ {
8
+ "idiom" : "universal",
9
+ "scale" : "2x"
10
+ },
11
+ {
12
+ "filename" : "Group 13994.svg",
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,7 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <ellipse cx="11.6198" cy="12.0063" rx="8" ry="8.00889" transform="rotate(-45 11.6198 12.0063)" stroke="#697175" stroke-width="2.08"/>
3
+ <mask id="path-2-inside-1_409_4706" fill="white">
4
+ <rect x="16.2842" y="18.0015" width="2" height="5.65333" rx="0.52" transform="rotate(-45 16.2842 18.0015)"/>
5
+ </mask>
6
+ <rect x="16.2842" y="18.0015" width="2" height="5.65333" rx="0.52" transform="rotate(-45 16.2842 18.0015)" fill="#697175" stroke="#697175" stroke-width="1.95765" mask="url(#path-2-inside-1_409_4706)"/>
7
+ </svg>
@@ -0,0 +1,21 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "filename" : "Frame.svg",
5
+ "idiom" : "universal",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x"
11
+ },
12
+ {
13
+ "idiom" : "universal",
14
+ "scale" : "3x"
15
+ }
16
+ ],
17
+ "info" : {
18
+ "author" : "xcode",
19
+ "version" : 1
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.0002 1.2002C6.1202 1.2002 1.2002 6.1202 1.2002 12.0002C1.2002 17.8802 6.1202 22.8002 12.0002 22.8002C17.8802 22.8002 22.8002 17.8802 22.8002 12.0002C22.8002 6.1202 17.8802 1.2002 12.0002 1.2002ZM10.4402 16.2002L6.6002 12.3602L7.8002 11.1602L10.4402 13.8002L16.2002 8.0402L17.4002 9.2402L10.4402 16.2002Z" fill="#D8E8F0"/>
3
+ </svg>