@varunindiit/create-rn-starter 1.0.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 (243) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +93 -0
  3. package/bin/index.js +270 -0
  4. package/lib/prompt.js +63 -0
  5. package/lib/rename.js +239 -0
  6. package/lib/scaffold.js +110 -0
  7. package/lib/utils.js +122 -0
  8. package/package.json +38 -0
  9. package/template/.eslintrc.js +4 -0
  10. package/template/.prettierrc.js +5 -0
  11. package/template/.watchmanconfig +1 -0
  12. package/template/App.tsx +100 -0
  13. package/template/Gemfile +17 -0
  14. package/template/README.md +97 -0
  15. package/template/__tests__/App.test.tsx +13 -0
  16. package/template/_gitignore +75 -0
  17. package/template/android/app/build.gradle +119 -0
  18. package/template/android/app/debug.keystore +0 -0
  19. package/template/android/app/proguard-rules.pro +10 -0
  20. package/template/android/app/src/main/AndroidManifest.xml +45 -0
  21. package/template/android/app/src/main/assets/fonts/MonaSans-Black.ttf +0 -0
  22. package/template/android/app/src/main/assets/fonts/MonaSans-BlackItalic.ttf +0 -0
  23. package/template/android/app/src/main/assets/fonts/MonaSans-Bold.ttf +0 -0
  24. package/template/android/app/src/main/assets/fonts/MonaSans-BoldItalic.ttf +0 -0
  25. package/template/android/app/src/main/assets/fonts/MonaSans-ExtraBold.ttf +0 -0
  26. package/template/android/app/src/main/assets/fonts/MonaSans-ExtraBoldItalic.ttf +0 -0
  27. package/template/android/app/src/main/assets/fonts/MonaSans-ExtraLight.ttf +0 -0
  28. package/template/android/app/src/main/assets/fonts/MonaSans-ExtraLightItalic.ttf +0 -0
  29. package/template/android/app/src/main/assets/fonts/MonaSans-Italic.ttf +0 -0
  30. package/template/android/app/src/main/assets/fonts/MonaSans-Light.ttf +0 -0
  31. package/template/android/app/src/main/assets/fonts/MonaSans-LightItalic.ttf +0 -0
  32. package/template/android/app/src/main/assets/fonts/MonaSans-Medium.ttf +0 -0
  33. package/template/android/app/src/main/assets/fonts/MonaSans-MediumItalic.ttf +0 -0
  34. package/template/android/app/src/main/assets/fonts/MonaSans-Regular.ttf +0 -0
  35. package/template/android/app/src/main/assets/fonts/MonaSans-SemiBold.ttf +0 -0
  36. package/template/android/app/src/main/assets/fonts/MonaSans-SemiBoldItalic.ttf +0 -0
  37. package/template/android/app/src/main/java/com/awesomeproject/MainActivity.kt +22 -0
  38. package/template/android/app/src/main/java/com/awesomeproject/MainApplication.kt +27 -0
  39. package/template/android/app/src/main/res/drawable/launch_screen.png +0 -0
  40. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
  41. package/template/android/app/src/main/res/layout/launch_screen.xml +12 -0
  42. package/template/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  43. package/template/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  44. package/template/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  45. package/template/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  46. package/template/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  47. package/template/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  48. package/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  49. package/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  50. package/template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  51. package/template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  52. package/template/android/app/src/main/res/values/colors.xml +3 -0
  53. package/template/android/app/src/main/res/values/strings.xml +3 -0
  54. package/template/android/app/src/main/res/values/styles.xml +11 -0
  55. package/template/android/build.gradle +21 -0
  56. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  57. package/template/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  58. package/template/android/gradle.properties +44 -0
  59. package/template/android/gradlew +248 -0
  60. package/template/android/gradlew.bat +98 -0
  61. package/template/android/link-assets-manifest.json +69 -0
  62. package/template/android/settings.gradle +6 -0
  63. package/template/app.json +4 -0
  64. package/template/babel.config.js +4 -0
  65. package/template/declarations.d.ts +6 -0
  66. package/template/env.example +20 -0
  67. package/template/index.js +10 -0
  68. package/template/ios/.xcode.env +11 -0
  69. package/template/ios/.xcode.env.local +1 -0
  70. package/template/ios/AwesomeProject/AppDelegate.swift +60 -0
  71. package/template/ios/AwesomeProject/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  72. package/template/ios/AwesomeProject/Images.xcassets/Contents.json +6 -0
  73. package/template/ios/AwesomeProject/Images.xcassets/Splash.imageset/Contents.json +23 -0
  74. package/template/ios/AwesomeProject/Images.xcassets/Splash.imageset/Splash@1x.png +0 -0
  75. package/template/ios/AwesomeProject/Images.xcassets/Splash.imageset/Splash@2x.png +0 -0
  76. package/template/ios/AwesomeProject/Images.xcassets/Splash.imageset/Splash@3x.png +0 -0
  77. package/template/ios/AwesomeProject/Info.plist +89 -0
  78. package/template/ios/AwesomeProject/LaunchScreen.storyboard +40 -0
  79. package/template/ios/AwesomeProject/PrivacyInfo.xcprivacy +38 -0
  80. package/template/ios/AwesomeProject.xcodeproj/project.pbxproj +576 -0
  81. package/template/ios/AwesomeProject.xcodeproj/xcshareddata/xcschemes/AwesomeProject.xcscheme +88 -0
  82. package/template/ios/AwesomeProject.xcworkspace/contents.xcworkspacedata +10 -0
  83. package/template/ios/Podfile +68 -0
  84. package/template/ios/link-assets-manifest.json +69 -0
  85. package/template/jest.config.js +3 -0
  86. package/template/metro.config.js +24 -0
  87. package/template/package.json +68 -0
  88. package/template/react-native.config.js +7 -0
  89. package/template/src/assets/fonts/MonaSans-Black.ttf +0 -0
  90. package/template/src/assets/fonts/MonaSans-BlackItalic.ttf +0 -0
  91. package/template/src/assets/fonts/MonaSans-Bold.ttf +0 -0
  92. package/template/src/assets/fonts/MonaSans-BoldItalic.ttf +0 -0
  93. package/template/src/assets/fonts/MonaSans-ExtraBold.ttf +0 -0
  94. package/template/src/assets/fonts/MonaSans-ExtraBoldItalic.ttf +0 -0
  95. package/template/src/assets/fonts/MonaSans-ExtraLight.ttf +0 -0
  96. package/template/src/assets/fonts/MonaSans-ExtraLightItalic.ttf +0 -0
  97. package/template/src/assets/fonts/MonaSans-Italic.ttf +0 -0
  98. package/template/src/assets/fonts/MonaSans-Light.ttf +0 -0
  99. package/template/src/assets/fonts/MonaSans-LightItalic.ttf +0 -0
  100. package/template/src/assets/fonts/MonaSans-Medium.ttf +0 -0
  101. package/template/src/assets/fonts/MonaSans-MediumItalic.ttf +0 -0
  102. package/template/src/assets/fonts/MonaSans-Regular.ttf +0 -0
  103. package/template/src/assets/fonts/MonaSans-SemiBold.ttf +0 -0
  104. package/template/src/assets/fonts/MonaSans-SemiBoldItalic.ttf +0 -0
  105. package/template/src/assets/image/BackGroundAuth.png +0 -0
  106. package/template/src/assets/image/BackgroundVerification.png +0 -0
  107. package/template/src/assets/image/logo.png +0 -0
  108. package/template/src/assets/svg/add-circle.svg +5 -0
  109. package/template/src/assets/svg/airConditioning.svg +12 -0
  110. package/template/src/assets/svg/apple.svg +3 -0
  111. package/template/src/assets/svg/arrowDown.svg +3 -0
  112. package/template/src/assets/svg/back.svg +10 -0
  113. package/template/src/assets/svg/bag.svg +11 -0
  114. package/template/src/assets/svg/calender.svg +5 -0
  115. package/template/src/assets/svg/car.svg +10 -0
  116. package/template/src/assets/svg/carConfirm.svg +60 -0
  117. package/template/src/assets/svg/chatActive.svg +3 -0
  118. package/template/src/assets/svg/chatUnActive.svg +3 -0
  119. package/template/src/assets/svg/document-text.svg +6 -0
  120. package/template/src/assets/svg/gender.svg +11 -0
  121. package/template/src/assets/svg/google.svg +6 -0
  122. package/template/src/assets/svg/headphone.svg +3 -0
  123. package/template/src/assets/svg/homeActive.svg +3 -0
  124. package/template/src/assets/svg/homeUnActive.svg +3 -0
  125. package/template/src/assets/svg/logo.svg +18 -0
  126. package/template/src/assets/svg/logout.svg +5 -0
  127. package/template/src/assets/svg/maxBack.svg +4 -0
  128. package/template/src/assets/svg/message-text.svg +7 -0
  129. package/template/src/assets/svg/music.svg +5 -0
  130. package/template/src/assets/svg/noSmoking.svg +10 -0
  131. package/template/src/assets/svg/notification.svg +5 -0
  132. package/template/src/assets/svg/passenger.svg +4 -0
  133. package/template/src/assets/svg/phone.svg +3 -0
  134. package/template/src/assets/svg/rightArrow.svg +3 -0
  135. package/template/src/assets/svg/security-user.svg +5 -0
  136. package/template/src/assets/svg/star.svg +3 -0
  137. package/template/src/assets/svg/tick-circle.svg +4 -0
  138. package/template/src/assets/svg/trafficLight.svg +41 -0
  139. package/template/src/assets/svg/tripActive.svg +10 -0
  140. package/template/src/assets/svg/tripUnActive.svg +10 -0
  141. package/template/src/assets/svg/usbChargers.svg +3 -0
  142. package/template/src/assets/svg/user.svg +4 -0
  143. package/template/src/assets/svg/userActive.svg +3 -0
  144. package/template/src/assets/svg/userPlaceholder.svg +3 -0
  145. package/template/src/assets/svg/userUnActive.svg +3 -0
  146. package/template/src/components/AuthLayout/AuthLayout.tsx +170 -0
  147. package/template/src/components/AuthLayout/index.ts +1 -0
  148. package/template/src/components/BottomSheet/BottomSheet.tsx +73 -0
  149. package/template/src/components/BottomSheet/BottomSheetAlert.tsx +100 -0
  150. package/template/src/components/BottomSheet/CenterAlert.tsx +153 -0
  151. package/template/src/components/BottomSheet/index.ts +2 -0
  152. package/template/src/components/BottomTabBar/index.tsx +145 -0
  153. package/template/src/components/Button/RNButton.tsx +152 -0
  154. package/template/src/components/Button/index.ts +2 -0
  155. package/template/src/components/Common/Avatar.tsx +80 -0
  156. package/template/src/components/Common/Card.tsx +49 -0
  157. package/template/src/components/Common/CardBrandLogo.tsx +66 -0
  158. package/template/src/components/Common/Checkbox.tsx +65 -0
  159. package/template/src/components/Common/Chip.tsx +79 -0
  160. package/template/src/components/Common/CommonStyles.tsx +594 -0
  161. package/template/src/components/Common/Divider.tsx +33 -0
  162. package/template/src/components/Common/DriverTripCard.tsx +308 -0
  163. package/template/src/components/Common/Dropdown.tsx +161 -0
  164. package/template/src/components/Common/EmptyState.tsx +52 -0
  165. package/template/src/components/Common/FAB.tsx +68 -0
  166. package/template/src/components/Common/HeaderLocation.tsx +108 -0
  167. package/template/src/components/Common/Loader.tsx +23 -0
  168. package/template/src/components/Common/RatingStars.tsx +103 -0
  169. package/template/src/components/Common/RouteDots.tsx +98 -0
  170. package/template/src/components/Common/SegmentedControl.tsx +126 -0
  171. package/template/src/components/Common/SosButton.tsx +80 -0
  172. package/template/src/components/Common/SosSheet.tsx +344 -0
  173. package/template/src/components/Common/StarRating.tsx +58 -0
  174. package/template/src/components/Common/StatusBadge.tsx +56 -0
  175. package/template/src/components/Common/Toggle.tsx +66 -0
  176. package/template/src/components/Common/TripCard.tsx +247 -0
  177. package/template/src/components/Common/UploadBox.tsx +106 -0
  178. package/template/src/components/Container/MainContainer.tsx +76 -0
  179. package/template/src/components/Container/index.ts +1 -0
  180. package/template/src/components/Header/index.tsx +143 -0
  181. package/template/src/components/Icon/SvgIcons.tsx +1991 -0
  182. package/template/src/components/ImagePickerSheet/ImagePickerSheet.tsx +233 -0
  183. package/template/src/components/ImagePickerSheet/index.ts +2 -0
  184. package/template/src/components/Input/CountryDropdown.tsx +71 -0
  185. package/template/src/components/Input/OtpInput.tsx +117 -0
  186. package/template/src/components/Input/RNInput.tsx +138 -0
  187. package/template/src/components/Input/index.ts +4 -0
  188. package/template/src/components/Picker/DatePickerSheet.tsx +393 -0
  189. package/template/src/components/Picker/PassengerPickerSheet.tsx +237 -0
  190. package/template/src/components/Text/RNText.tsx +62 -0
  191. package/template/src/components/Text/index.ts +1 -0
  192. package/template/src/components/index.ts +44 -0
  193. package/template/src/hooks/useCurrentLocation.ts +72 -0
  194. package/template/src/localization/i18n.ts +29 -0
  195. package/template/src/localization/i18next.d.ts +11 -0
  196. package/template/src/localization/index.ts +4 -0
  197. package/template/src/localization/languageStorage.ts +27 -0
  198. package/template/src/localization/languages.ts +62 -0
  199. package/template/src/localization/resources/en.ts +703 -0
  200. package/template/src/localization/resources/fr.ts +703 -0
  201. package/template/src/localization/useLanguage.ts +42 -0
  202. package/template/src/navigation/AuthNavigation.tsx +23 -0
  203. package/template/src/navigation/BottomTabs.tsx +24 -0
  204. package/template/src/navigation/RootNavigation.tsx +27 -0
  205. package/template/src/navigation/RouteKey.ts +22 -0
  206. package/template/src/navigation/StackNavigation.tsx +52 -0
  207. package/template/src/navigation/paramLists.ts +25 -0
  208. package/template/src/redux/slice/app.ts +66 -0
  209. package/template/src/redux/slice/auth.ts +40 -0
  210. package/template/src/redux/slice/userProfile.ts +124 -0
  211. package/template/src/redux/store.ts +17 -0
  212. package/template/src/screen/auth/Login.tsx +69 -0
  213. package/template/src/screen/onboarding/LanguageSelection.tsx +231 -0
  214. package/template/src/screen/root/home/index.tsx +36 -0
  215. package/template/src/screen/root/profile/index.tsx +69 -0
  216. package/template/src/screen/shared/Chat.tsx +308 -0
  217. package/template/src/screen/shared/EditProfile.tsx +407 -0
  218. package/template/src/screen/shared/HelpSupport.tsx +678 -0
  219. package/template/src/screen/shared/LocationSearch.tsx +362 -0
  220. package/template/src/screen/shared/Messages.tsx +115 -0
  221. package/template/src/screen/shared/Notifications.tsx +86 -0
  222. package/template/src/screen/shared/PrivacyPolicy.tsx +297 -0
  223. package/template/src/screen/shared/Profile.tsx +118 -0
  224. package/template/src/screen/shared/Ratings.tsx +170 -0
  225. package/template/src/screen/shared/TermsConditions.tsx +315 -0
  226. package/template/src/screen/shared/profile/DriverProfile.tsx +262 -0
  227. package/template/src/screen/shared/profile/PassengerProfile.tsx +123 -0
  228. package/template/src/screen/shared/profile/ProfileParts.tsx +219 -0
  229. package/template/src/services/Config.ts +37 -0
  230. package/template/src/services/api.ts +37 -0
  231. package/template/src/services/index.ts +4 -0
  232. package/template/src/services/places.ts +320 -0
  233. package/template/src/services/storage.ts +33 -0
  234. package/template/src/theme/fonts.ts +30 -0
  235. package/template/src/theme/index.ts +3 -0
  236. package/template/src/theme/spacing.ts +66 -0
  237. package/template/src/theme/theme.ts +58 -0
  238. package/template/src/types/env.d.ts +8 -0
  239. package/template/src/types/index.ts +3 -0
  240. package/template/src/utils/card.ts +101 -0
  241. package/template/src/utils/constants.ts +39 -0
  242. package/template/src/utils/functions.ts +24 -0
  243. package/template/tsconfig.json +8 -0
@@ -0,0 +1,1991 @@
1
+ import React from "react";
2
+ import Svg, { Path, Circle, Rect, Line, Polygon, G } from "react-native-svg";
3
+
4
+ export interface IconProps {
5
+ size?: number;
6
+ color?: string;
7
+ secondaryColor?: string;
8
+ }
9
+
10
+ /* -------------------------------------------------------- */
11
+ /* Navigation / Common */
12
+ /* -------------------------------------------------------- */
13
+
14
+ export const ChevronLeftIcon: React.FC<IconProps> = ({
15
+ size = 18,
16
+ color = "#FFFFFF",
17
+ }) => (
18
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
19
+ <Path
20
+ d="M15 6l-6 6 6 6"
21
+ stroke={color}
22
+ strokeWidth={2}
23
+ strokeLinecap="round"
24
+ strokeLinejoin="round"
25
+ />
26
+ </Svg>
27
+ );
28
+
29
+ export const ChevronRightIcon: React.FC<IconProps> = ({
30
+ size = 18,
31
+ color = "#FFFFFF",
32
+ }) => (
33
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
34
+ <Path
35
+ d="M9 6l6 6-6 6"
36
+ stroke={color}
37
+ strokeWidth={2}
38
+ strokeLinecap="round"
39
+ strokeLinejoin="round"
40
+ />
41
+ </Svg>
42
+ );
43
+
44
+ export const ChevronDownIcon: React.FC<IconProps> = ({
45
+ size = 18,
46
+ color = "#FFFFFF",
47
+ }) => (
48
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
49
+ <Path
50
+ d="M6 9l6 6 6-6"
51
+ stroke={color}
52
+ strokeWidth={2}
53
+ strokeLinecap="round"
54
+ strokeLinejoin="round"
55
+ />
56
+ </Svg>
57
+ );
58
+
59
+ export const ChevronUpIcon: React.FC<IconProps> = ({
60
+ size = 18,
61
+ color = "#FFFFFF",
62
+ }) => (
63
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
64
+ <Path
65
+ d="M6 15l6-6 6 6"
66
+ stroke={color}
67
+ strokeWidth={2}
68
+ strokeLinecap="round"
69
+ strokeLinejoin="round"
70
+ />
71
+ </Svg>
72
+ );
73
+
74
+ export const CloseIcon: React.FC<IconProps> = ({
75
+ size = 18,
76
+ color = "#94A6B1",
77
+ }) => (
78
+ <Svg width={size} height={size} viewBox="0 0 18 18" fill="none">
79
+ <Path
80
+ d="M13.5 4.5L4.5 13.5M4.5 4.5L13.5 13.5"
81
+ stroke={color}
82
+ strokeWidth={1.6}
83
+ strokeLinecap="round"
84
+ strokeLinejoin="round"
85
+ />
86
+ </Svg>
87
+ );
88
+
89
+ export const PlusIcon: React.FC<IconProps> = ({
90
+ size = 22,
91
+ color = "#FFFFFF",
92
+ }) => (
93
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
94
+ <Path
95
+ d="M12 5v14M5 12h14"
96
+ stroke={color}
97
+ strokeWidth={2.2}
98
+ strokeLinecap="round"
99
+ />
100
+ </Svg>
101
+ );
102
+
103
+ export const MinusIcon: React.FC<IconProps> = ({
104
+ size = 22,
105
+ color = "#FFFFFF",
106
+ }) => (
107
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
108
+ <Path
109
+ d="M5 12h14"
110
+ stroke={color}
111
+ strokeWidth={2.2}
112
+ strokeLinecap="round"
113
+ />
114
+ </Svg>
115
+ );
116
+
117
+ export const CheckIcon: React.FC<IconProps> = ({
118
+ size = 16,
119
+ color = "#FFFFFF",
120
+ }) => (
121
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
122
+ <Path
123
+ d="M20 6L9 17l-5-5"
124
+ stroke={color}
125
+ strokeWidth={2.2}
126
+ strokeLinecap="round"
127
+ strokeLinejoin="round"
128
+ />
129
+ </Svg>
130
+ );
131
+
132
+ export const EyeIcon: React.FC<IconProps> = ({
133
+ size = 20,
134
+ color = "#7C7BA4",
135
+ }) => (
136
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
137
+ <Path
138
+ d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"
139
+ stroke={color}
140
+ strokeWidth={1.8}
141
+ strokeLinecap="round"
142
+ strokeLinejoin="round"
143
+ />
144
+ <Circle cx={12} cy={12} r={3} stroke={color} strokeWidth={1.8} />
145
+ </Svg>
146
+ );
147
+
148
+ export const EyeOffIcon: React.FC<IconProps> = ({
149
+ size = 20,
150
+ color = "#7C7BA4",
151
+ }) => (
152
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
153
+ <Path
154
+ d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"
155
+ stroke={color}
156
+ strokeWidth={1.8}
157
+ strokeLinecap="round"
158
+ strokeLinejoin="round"
159
+ />
160
+ <Path
161
+ d="M1 1l22 22"
162
+ stroke={color}
163
+ strokeWidth={1.8}
164
+ strokeLinecap="round"
165
+ />
166
+ </Svg>
167
+ );
168
+
169
+ export const SearchIcon: React.FC<IconProps> = ({
170
+ size = 20,
171
+ color = "#7C7BA4",
172
+ }) => (
173
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
174
+ <Circle cx={11} cy={11} r={7} stroke={color} strokeWidth={1.8} />
175
+ <Path
176
+ d="M20 20l-3.5-3.5"
177
+ stroke={color}
178
+ strokeWidth={1.8}
179
+ strokeLinecap="round"
180
+ />
181
+ </Svg>
182
+ );
183
+
184
+ export const MoreIcon: React.FC<IconProps> = ({
185
+ size = 18,
186
+ color = "#7C7BA4",
187
+ }) => (
188
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
189
+ <Circle cx={5} cy={12} r={1.6} fill={color} />
190
+ <Circle cx={12} cy={12} r={1.6} fill={color} />
191
+ <Circle cx={19} cy={12} r={1.6} fill={color} />
192
+ </Svg>
193
+ );
194
+
195
+ export const MenuIcon: React.FC<IconProps> = ({
196
+ size = 22,
197
+ color = "#FFFFFF",
198
+ }) => (
199
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
200
+ <Path
201
+ d="M3 7h18M3 12h12M3 17h18"
202
+ stroke={color}
203
+ strokeWidth={2}
204
+ strokeLinecap="round"
205
+ />
206
+ </Svg>
207
+ );
208
+
209
+ export const ArrowRightIcon: React.FC<IconProps> = ({
210
+ size = 20,
211
+ color = "#FFFFFF",
212
+ }) => (
213
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
214
+ <Path
215
+ d="M5 12h14M13 5l7 7-7 7"
216
+ stroke={color}
217
+ strokeWidth={2}
218
+ strokeLinecap="round"
219
+ strokeLinejoin="round"
220
+ />
221
+ </Svg>
222
+ );
223
+
224
+ export const FeatherIcon: React.FC<IconProps> = ({
225
+ size = 18,
226
+ color = "#7C7BA4",
227
+ }) => (
228
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
229
+ <Path
230
+ d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5l6.74-6.76z"
231
+ stroke={color}
232
+ strokeWidth={1.6}
233
+ strokeLinecap="round"
234
+ strokeLinejoin="round"
235
+ />
236
+ <Path
237
+ d="M16 8L2 22"
238
+ stroke={color}
239
+ strokeWidth={1.6}
240
+ strokeLinecap="round"
241
+ />
242
+ <Path
243
+ d="M17.5 15H9"
244
+ stroke={color}
245
+ strokeWidth={1.6}
246
+ strokeLinecap="round"
247
+ />
248
+ </Svg>
249
+ );
250
+
251
+ export const CheckCircleIcon: React.FC<IconProps> = ({
252
+ size = 22,
253
+ color = "#22C55E",
254
+ }) => (
255
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
256
+ <Circle cx={12} cy={12} r={10} fill={color} />
257
+ <Path
258
+ d="M8.5 12.5l2.4 2.4 4.6-4.6"
259
+ stroke="#FFFFFF"
260
+ strokeWidth={1.8}
261
+ strokeLinecap="round"
262
+ strokeLinejoin="round"
263
+ />
264
+ </Svg>
265
+ );
266
+
267
+ export const CrownIcon: React.FC<IconProps> = ({
268
+ size = 18,
269
+ color = "#BCA0CB",
270
+ }) => (
271
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
272
+ <Path
273
+ d="M6.08 15.82c-.35 0-.74-.28-.86-.61L1.77 5.56c-.49-1.39.08-1.81 1.27-.96l3.25 2.32c.54.38 1.16.19 1.4-.42L9.15 2.6c.46-1.25 1.24-1.25 1.7 0l1.47 3.9c.23.61.85.8 1.38.42l3.05-2.17c1.3-.94 1.93-.46 1.39 1.05l-3.37 9.43c-.13.32-.52.59-.87.59H6.08Z"
274
+ stroke={color}
275
+ strokeWidth={1.3}
276
+ strokeLinecap="round"
277
+ strokeLinejoin="round"
278
+ />
279
+ <Path
280
+ d="M5.42 18.33h9.16"
281
+ stroke={color}
282
+ strokeWidth={1.3}
283
+ strokeLinecap="round"
284
+ />
285
+ </Svg>
286
+ );
287
+
288
+ /* -------------------------------------------------------- */
289
+ /* Tab bar */
290
+ /* -------------------------------------------------------- */
291
+
292
+ export const HomeTabIcon: React.FC<IconProps & { filled?: boolean }> = ({
293
+ size = 24,
294
+ color = "#0B0F2E",
295
+ }) => (
296
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
297
+ <Path
298
+ fillRule="evenodd"
299
+ clipRule="evenodd"
300
+ d="M14.28 2.77C13 1.75 11 1.74 9.73 2.76L3.18 8.01C2.24 8.76 1.67 10.26 1.87 11.44l1.26 7.54C3.42 20.67 4.99 22 6.7 22h10.6c1.69 0 3.29-1.36 3.58-3.03l1.26-7.54c.18-1.17-.39-2.67-1.31-3.42L14.28 2.77ZM12 18.75c-.41 0-.75-.34-.75-.75v-3c0-.41.34-.75.75-.75s.75.34.75.75v3c0 .41-.34.75-.75.75Z"
301
+ fill={color}
302
+ />
303
+ </Svg>
304
+ );
305
+
306
+ export const LifemapTabIcon: React.FC<IconProps> = ({
307
+ size = 24,
308
+ color = "#0B0F2E",
309
+ }) => (
310
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
311
+ <Path
312
+ d="M9.32 19.75c-1.16 0-2.17-.7-2.57-1.78-.41-1.08-.11-2.27.76-3.04l7.99-6.99c.48-.42.49-.99.35-1.38-.15-.39-.53-.81-1.17-.81H11.99c-.41 0-.75-.34-.75-.75s.34-.75.75-.75h2.68c1.16 0 2.17.7 2.57 1.78.41 1.08.11 2.27-.76 3.04l-7.99 6.99c-.48.42-.49.99-.35 1.38.15.39.53.81 1.17.81h2.68c.41 0 .75.34.75.75s-.34.75-.75.75H9.32Z"
313
+ fill={color}
314
+ />
315
+ <Path
316
+ fillRule="evenodd"
317
+ clipRule="evenodd"
318
+ d="M17 15c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2h-3Zm.51 3.5c0-.55.44-1 1-1h.01c.55 0 1 .45 1 1s-.45 1-1.01 1-1-.45-1-1Z"
319
+ fill={color}
320
+ />
321
+ <Path
322
+ fillRule="evenodd"
323
+ clipRule="evenodd"
324
+ d="M1.97 5.5c0 1.93 1.57 3.5 3.5 3.5s3.5-1.57 3.5-3.5S7.41 2 5.47 2c-1.93 0-3.5 1.57-3.5 3.5Zm2.54 0c0-.55.44-1 1-1h.01c.55 0 1 .45 1 1s-.45 1-1.01 1-1-.45-1-1Z"
325
+ fill={color}
326
+ />
327
+ </Svg>
328
+ );
329
+
330
+ export const ReviewTabIcon: React.FC<IconProps> = ({
331
+ size = 22,
332
+ color = "#FFFFFF",
333
+ }) => (
334
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
335
+ <Path
336
+ d="M3 12h3l2-7 4 14 2-7h7"
337
+ stroke={color}
338
+ strokeWidth={2.4}
339
+ strokeLinecap="round"
340
+ strokeLinejoin="round"
341
+ />
342
+ </Svg>
343
+ );
344
+
345
+ export const ProfileTabIcon: React.FC<IconProps> = ({
346
+ size = 24,
347
+ color = "#0B0F2E",
348
+ }) => (
349
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
350
+ <Path
351
+ d="M7.25 6.75c0 2.57 2.01 4.65 4.63 4.74h.29C14.73 11.4 16.74 9.32 16.75 6.75 16.75 4.13 14.62 2 12 2S7.25 4.13 7.25 6.75Z"
352
+ fill={color}
353
+ />
354
+ <Path
355
+ d="M6.93 14.15c-1.27.85-1.97 2-1.97 3.23 0 1.23.7 2.37 1.96 3.21 1.4.94 3.24 1.41 5.08 1.41 1.84 0 3.68-.47 5.08-1.41 1.26-.85 1.96-1.99 1.96-3.23-.01-1.23-.7-2.37-1.96-3.21-2.79-1.86-7.34-1.86-10.15 0Z"
356
+ fill={color}
357
+ />
358
+ </Svg>
359
+ );
360
+
361
+ /* -------------------------------------------------------- */
362
+ /* Node types */
363
+ /* -------------------------------------------------------- */
364
+
365
+ export const QuestionIcon: React.FC<IconProps> = ({
366
+ size = 20,
367
+ color = "#7F22FE",
368
+ }) => (
369
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
370
+ <Path
371
+ d="M17.5 10A7.5 7.5 0 1 1 10 2.5 7.5 7.5 0 0 1 17.5 10Z"
372
+ stroke={color}
373
+ strokeWidth={1.5}
374
+ />
375
+ <Path
376
+ d="M10.01 14.17h.01"
377
+ stroke={color}
378
+ strokeWidth={2}
379
+ strokeLinecap="round"
380
+ />
381
+ <Path
382
+ d="M7.5 8a2.5 2.5 0 1 1 3.5 2.3c-.8.3-1 .8-1 1.5"
383
+ stroke={color}
384
+ strokeWidth={1.6}
385
+ strokeLinecap="round"
386
+ strokeLinejoin="round"
387
+ />
388
+ </Svg>
389
+ );
390
+
391
+ export const ChoiceIcon: React.FC<IconProps> = ({
392
+ size = 20,
393
+ color = "#E60076",
394
+ }) => (
395
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
396
+ <Rect
397
+ x={1.2}
398
+ y={1.2}
399
+ width={10.5}
400
+ height={9.6}
401
+ rx={1.6}
402
+ stroke={color}
403
+ strokeWidth={1.4}
404
+ />
405
+ <Rect
406
+ x={8.3}
407
+ y={9.2}
408
+ width={10.5}
409
+ height={9.6}
410
+ rx={1.6}
411
+ stroke={color}
412
+ strokeWidth={1.4}
413
+ />
414
+ <Path
415
+ d="M10.5 13.5l1.6 1.6 3.2-3.2"
416
+ stroke={color}
417
+ strokeWidth={1.4}
418
+ strokeLinecap="round"
419
+ strokeLinejoin="round"
420
+ />
421
+ <Path
422
+ d="M3.8 3.8l5.2 5.2M9 3.8L3.8 9"
423
+ stroke={color}
424
+ strokeWidth={1.4}
425
+ strokeLinecap="round"
426
+ />
427
+ </Svg>
428
+ );
429
+
430
+ export const RecoveryIcon: React.FC<IconProps> = ({
431
+ size = 20,
432
+ color = "#00A63E",
433
+ }) => (
434
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
435
+ <Path
436
+ d="M16.67 10.83c0 4.17-2.92 6.25-6.39 7.46-.18.06-.38.06-.56 0-3.48-1.2-6.39-3.29-6.39-7.46V5c0-.46.37-.83.83-.83 1.67 0 3.75-1 5.2-2.27.36-.31.9-.31 1.26 0 1.46 1.28 3.54 2.27 5.2 2.27.46 0 .83.37.83.83v5.83"
437
+ stroke={color}
438
+ strokeWidth={1.6}
439
+ strokeLinecap="round"
440
+ strokeLinejoin="round"
441
+ />
442
+ <Path
443
+ d="M7.5 10l1.67 1.67 3.33-3.34"
444
+ stroke={color}
445
+ strokeWidth={1.6}
446
+ strokeLinecap="round"
447
+ strokeLinejoin="round"
448
+ />
449
+ </Svg>
450
+ );
451
+
452
+ export const SingleStepIcon: React.FC<IconProps> = ({
453
+ size = 20,
454
+ color = "#0069A8",
455
+ }) => (
456
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
457
+ <Path
458
+ d="M6.67 4.17H17.5M10.83 10H17.5M10.83 15.83H17.5M2.5 8.33c0 .92.75 1.67 1.67 1.67h2.5"
459
+ stroke={color}
460
+ strokeWidth={1.6}
461
+ strokeLinecap="round"
462
+ strokeLinejoin="round"
463
+ />
464
+ <Path
465
+ d="M2.5 4.17v10c0 .92.75 1.67 1.67 1.67h2.5"
466
+ stroke={color}
467
+ strokeWidth={1.6}
468
+ strokeLinecap="round"
469
+ strokeLinejoin="round"
470
+ />
471
+ </Svg>
472
+ );
473
+
474
+ export const GuardrailIcon: React.FC<IconProps> = ({
475
+ size = 20,
476
+ color = "#F54900",
477
+ }) => (
478
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
479
+ <Path
480
+ d="M16.67 10.83c0 4.17-2.92 6.25-6.39 7.46-.18.06-.38.06-.56 0-3.48-1.2-6.39-3.29-6.39-7.46V5c0-.46.37-.83.83-.83 1.67 0 3.75-1 5.2-2.27.36-.31.9-.31 1.26 0 1.46 1.28 3.54 2.27 5.2 2.27.46 0 .83.37.83.83v5.83"
481
+ stroke={color}
482
+ strokeWidth={1.6}
483
+ strokeLinecap="round"
484
+ strokeLinejoin="round"
485
+ />
486
+ </Svg>
487
+ );
488
+
489
+ export const TriggerIcon: React.FC<IconProps> = ({
490
+ size = 20,
491
+ color = "#C10007",
492
+ }) => (
493
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
494
+ <Circle cx={10} cy={10} r={8.3} stroke={color} strokeWidth={1.25} />
495
+ <Path
496
+ d="M13.09 12.65L10.51 11.11c-.45-.27-.82-.91-.82-1.43V6.26"
497
+ stroke={color}
498
+ strokeWidth={1.25}
499
+ strokeLinecap="round"
500
+ strokeLinejoin="round"
501
+ />
502
+ </Svg>
503
+ );
504
+
505
+ /* -------------------------------------------------------- */
506
+ /* Profile / Settings */
507
+ /* -------------------------------------------------------- */
508
+
509
+ export const CardIcon: React.FC<IconProps> = ({
510
+ size = 22,
511
+ color = "#BCA0CB",
512
+ }) => (
513
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
514
+ <Rect
515
+ x={2}
516
+ y={5}
517
+ width={20}
518
+ height={14}
519
+ rx={2.5}
520
+ stroke={color}
521
+ strokeWidth={1.6}
522
+ />
523
+ <Path d="M2 10h20" stroke={color} strokeWidth={1.6} strokeLinecap="round" />
524
+ <Path
525
+ d="M6 15h2M11 15h4"
526
+ stroke={color}
527
+ strokeWidth={1.6}
528
+ strokeLinecap="round"
529
+ />
530
+ </Svg>
531
+ );
532
+
533
+ export const BellIcon: React.FC<IconProps> = ({
534
+ size = 22,
535
+ color = "#BCA0CB",
536
+ }) => (
537
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
538
+ <Path
539
+ d="M10.27 21a2 2 0 0 0 3.46 0"
540
+ stroke={color}
541
+ strokeWidth={1.6}
542
+ strokeLinecap="round"
543
+ strokeLinejoin="round"
544
+ />
545
+ <Path
546
+ d="M3.26 15.33c-.27.3-.34.72-.18 1.08.16.36.52.59.92.59h16c.4 0 .76-.23.92-.59.16-.36.09-.78-.18-1.08-1.33-1.37-2.74-2.83-2.74-7.33A6 6 0 0 0 12 2a6 6 0 0 0-6 6c0 4.5-1.41 5.96-2.74 7.33Z"
547
+ stroke={color}
548
+ strokeWidth={1.6}
549
+ strokeLinecap="round"
550
+ strokeLinejoin="round"
551
+ />
552
+ </Svg>
553
+ );
554
+
555
+ export const CountryIcon: React.FC<IconProps> = ({
556
+ size = 22,
557
+ color = "#BCA0CB",
558
+ }) => (
559
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
560
+ <Path
561
+ d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z"
562
+ stroke={color}
563
+ strokeWidth={1.6}
564
+ strokeLinecap="round"
565
+ strokeLinejoin="round"
566
+ />
567
+ </Svg>
568
+ );
569
+
570
+ export const LockIcon: React.FC<IconProps> = ({
571
+ size = 22,
572
+ color = "#BCA0CB",
573
+ }) => (
574
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
575
+ <Rect
576
+ x={3}
577
+ y={11}
578
+ width={18}
579
+ height={11}
580
+ rx={2.5}
581
+ stroke={color}
582
+ strokeWidth={1.6}
583
+ />
584
+ <Path
585
+ d="M7 11V7a5 5 0 0 1 10 0v4"
586
+ stroke={color}
587
+ strokeWidth={1.6}
588
+ strokeLinecap="round"
589
+ />
590
+ </Svg>
591
+ );
592
+
593
+ export const PrivacyIcon: React.FC<IconProps> = ({
594
+ size = 22,
595
+ color = "#BCA0CB",
596
+ }) => (
597
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
598
+ <Path
599
+ d="M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Z"
600
+ stroke={color}
601
+ strokeWidth={1.6}
602
+ strokeLinecap="round"
603
+ strokeLinejoin="round"
604
+ />
605
+ </Svg>
606
+ );
607
+
608
+ export const ReceiptIcon: React.FC<IconProps> = ({
609
+ size = 22,
610
+ color = "#BCA0CB",
611
+ }) => (
612
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
613
+ <Path
614
+ d="M19 21V5a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v16l3-2 2 2 2-2 2 2 2-2 3 2Z"
615
+ stroke={color}
616
+ strokeWidth={1.6}
617
+ strokeLinecap="round"
618
+ strokeLinejoin="round"
619
+ />
620
+ <Path d="M8 8h8M8 12h6" stroke={color} strokeWidth={1.6} strokeLinecap="round" />
621
+ </Svg>
622
+ );
623
+
624
+ export const ProfileAvatarIcon: React.FC<IconProps> = ({
625
+ size = 56,
626
+ color = "#1B2148",
627
+ }) => (
628
+ <Svg width={size} height={size} viewBox="0 0 56 56" fill="none">
629
+ <Circle cx={28} cy={28} r={28} fill={color} />
630
+ <Circle cx={28} cy={22} r={7} fill="#4A3E78" />
631
+ <Path
632
+ d="M14 46c1.6-7 7.4-12 14-12s12.4 5 14 12"
633
+ fill="#4A3E78"
634
+ />
635
+ </Svg>
636
+ );
637
+
638
+ /* -------------------------------------------------------- */
639
+ /* Subscription */
640
+ /* -------------------------------------------------------- */
641
+
642
+ export const InfinityIcon: React.FC<IconProps> = ({
643
+ size = 18,
644
+ color = "#A294E8",
645
+ }) => (
646
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
647
+ <Path
648
+ d="M4 10.7c3.3 0 4.7-5.4 8-5.4 1.5 0 2.7 1.2 2.7 2.7s-1.2 2.7-2.7 2.7c-3.3 0-4.7-5.4-8-5.4-1.5 0-2.7 1.2-2.7 2.7s1.2 2.7 2.7 2.7Z"
649
+ stroke={color}
650
+ strokeWidth={1.4}
651
+ strokeLinecap="round"
652
+ strokeLinejoin="round"
653
+ />
654
+ </Svg>
655
+ );
656
+
657
+ export const NodesIcon: React.FC<IconProps> = ({
658
+ size = 18,
659
+ color = "#A294E8",
660
+ }) => (
661
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
662
+ <Path
663
+ d="M8 2v4"
664
+ stroke={color}
665
+ strokeWidth={1.4}
666
+ strokeLinecap="round"
667
+ />
668
+ <Circle cx={8} cy={8} r={2} stroke={color} strokeWidth={1.4} />
669
+ <Path
670
+ d="M8 10v4"
671
+ stroke={color}
672
+ strokeWidth={1.4}
673
+ strokeLinecap="round"
674
+ />
675
+ </Svg>
676
+ );
677
+
678
+ export const BoltIcon: React.FC<IconProps> = ({
679
+ size = 18,
680
+ color = "#A294E8",
681
+ }) => (
682
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
683
+ <Path
684
+ d="M2.67 9.33c-.26 0-.49-.15-.6-.38-.11-.23-.08-.5.08-.7L8.75 1.45c.1-.12.27-.15.4-.08.14.07.21.23.17.38l-1.28 4.02c-.07.2-.05.43.08.6.12.18.33.29.55.29h4.66c.26 0 .49.15.6.38.11.23.08.5-.08.7L7.25 14.55c-.1.12-.27.15-.4.08-.14-.07-.21-.23-.17-.38l1.28-4.02c.07-.2.05-.43-.08-.6-.12-.18-.33-.29-.55-.29H2.67Z"
685
+ stroke={color}
686
+ strokeWidth={1.4}
687
+ strokeLinecap="round"
688
+ strokeLinejoin="round"
689
+ />
690
+ </Svg>
691
+ );
692
+
693
+ export const ShieldCheckIcon: React.FC<IconProps> = ({
694
+ size = 18,
695
+ color = "#A294E8",
696
+ }) => (
697
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
698
+ <Path
699
+ d="M13.3 8.67c0 3.33-2.33 5-5.1 5.96-.14.05-.3.05-.44 0-2.78-.96-5.1-2.63-5.1-5.96V4c0-.37.3-.67.67-.67 1.33 0 3-.8 4.16-1.81.29-.25.72-.25 1.01 0 1.17 1.02 2.83 1.81 4.16 1.81.37 0 .67.3.67.67v4.67"
700
+ stroke={color}
701
+ strokeWidth={1.4}
702
+ strokeLinecap="round"
703
+ strokeLinejoin="round"
704
+ />
705
+ <Path
706
+ d="M6 8l1.33 1.33L10 6.67"
707
+ stroke={color}
708
+ strokeWidth={1.4}
709
+ strokeLinecap="round"
710
+ strokeLinejoin="round"
711
+ />
712
+ </Svg>
713
+ );
714
+
715
+ export const ChartIcon: React.FC<IconProps> = ({
716
+ size = 18,
717
+ color = "#A294E8",
718
+ }) => (
719
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
720
+ <Path
721
+ d="M3.33 14v-4M8 14V2M12.67 14V6"
722
+ stroke={color}
723
+ strokeWidth={1.4}
724
+ strokeLinecap="round"
725
+ />
726
+ </Svg>
727
+ );
728
+
729
+ export const TemplateIcon: React.FC<IconProps> = ({
730
+ size = 18,
731
+ color = "#A294E8",
732
+ }) => (
733
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
734
+ <Rect x={2} y={2} width={12} height={4.7} rx={0.8} stroke={color} strokeWidth={1.4} />
735
+ <Rect x={2} y={9.3} width={6} height={4.7} rx={0.8} stroke={color} strokeWidth={1.4} />
736
+ <Rect x={10.67} y={9.3} width={3.33} height={4.7} rx={0.8} stroke={color} strokeWidth={1.4} />
737
+ </Svg>
738
+ );
739
+
740
+ /* -------------------------------------------------------- */
741
+ /* Home / category cards */
742
+ /* -------------------------------------------------------- */
743
+
744
+ export const SunriseIcon: React.FC<IconProps> = ({
745
+ size = 22,
746
+ color = "#FFFFFF",
747
+ }) => (
748
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
749
+ <Path
750
+ d="M17 18a5 5 0 0 0-10 0M12 2v3M4.2 10.2l2.1 2.1M2 18h2M20 18h2M17.7 12.3l2.1-2.1M19 6l-2 2M7 8 5 6M3 22h18"
751
+ stroke={color}
752
+ strokeWidth={1.6}
753
+ strokeLinecap="round"
754
+ strokeLinejoin="round"
755
+ />
756
+ </Svg>
757
+ );
758
+
759
+ export const HeartIcon: React.FC<IconProps> = ({
760
+ size = 22,
761
+ color = "#FFFFFF",
762
+ }) => (
763
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
764
+ <Path
765
+ d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78Z"
766
+ stroke={color}
767
+ strokeWidth={1.6}
768
+ strokeLinecap="round"
769
+ strokeLinejoin="round"
770
+ />
771
+ </Svg>
772
+ );
773
+
774
+ export const MoonIcon: React.FC<IconProps> = ({
775
+ size = 22,
776
+ color = "#FFFFFF",
777
+ }) => (
778
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
779
+ <Path
780
+ d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z"
781
+ stroke={color}
782
+ strokeWidth={1.6}
783
+ strokeLinecap="round"
784
+ strokeLinejoin="round"
785
+ />
786
+ <Path
787
+ d="M14 7.5l.5-1.5.5 1.5L16.5 8l-1.5.5-.5 1.5-.5-1.5L12.5 8z"
788
+ fill={color}
789
+ />
790
+ </Svg>
791
+ );
792
+
793
+ export const SmileIcon: React.FC<IconProps> = ({
794
+ size = 22,
795
+ color = "#FFFFFF",
796
+ }) => (
797
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
798
+ <Circle cx={12} cy={12} r={10} stroke={color} strokeWidth={1.6} />
799
+ <Path
800
+ d="M8 14s1.5 2 4 2 4-2 4-2"
801
+ stroke={color}
802
+ strokeWidth={1.6}
803
+ strokeLinecap="round"
804
+ />
805
+ <Circle cx={9.2} cy={10} r={0.9} fill={color} />
806
+ <Circle cx={14.8} cy={10} r={0.9} fill={color} />
807
+ </Svg>
808
+ );
809
+
810
+ /* -------------------------------------------------------- */
811
+ /* MasterCard */
812
+ /* -------------------------------------------------------- */
813
+
814
+ export const MastercardIcon: React.FC<{ size?: number }> = ({ size = 22 }) => (
815
+ <Svg width={size * 1.5} height={size} viewBox="0 0 32 22" fill="none">
816
+ <Circle cx={11} cy={11} r={9} fill="#EB001B" />
817
+ <Circle cx={21} cy={11} r={9} fill="#F79E1B" />
818
+ <Path
819
+ d="M16 4.6a8.97 8.97 0 0 1 0 12.8 8.97 8.97 0 0 1 0-12.8Z"
820
+ fill="#FF5F00"
821
+ />
822
+ </Svg>
823
+ );
824
+
825
+ export const VisaIcon: React.FC<{ size?: number }> = ({ size = 22 }) => (
826
+ <Svg width={size * 1.5} height={size} viewBox="0 0 32 22" fill="none">
827
+ <Rect x={0} y={0} width={32} height={22} rx={3} fill="#1A1F71" />
828
+ <Path
829
+ d="M12.4 8.4l-1.9 5.5h-1.5l-.93-3.6c-.06-.22-.1-.3-.27-.39-.28-.14-.74-.27-1.14-.36l.04-.15h2.43c.31 0 .59.2.66.55l.5 2.65 1.23-3.2h1.47Zm5.78 3.7c0-1.43-1.98-1.51-1.97-2.15.01-.2.2-.41.61-.46.21-.03.79-.05 1.44.25l.24-1.13c-.35-.13-.81-.25-1.37-.25-1.44 0-2.46.77-2.47 1.86-.01.81.73 1.27 1.28 1.54.57.28.76.45.76.7-.01.38-.45.55-.87.56-.74.01-1.16-.2-1.5-.36l-.26 1.17c.35.16 1 .3 1.66.31 1.54 0 2.55-.76 2.56-1.94Zm3.83 1.8h1.36l-1.18-5.5h-1.25c-.28 0-.52.16-.62.42l-2.21 5.08h1.54l.31-.85h1.88l.17.85Zm-1.63-2.02l.77-2.13.45 2.13h-1.22Zm-6.16-3.48l-1.21 5.5h-1.46l1.21-5.5h1.46Z"
830
+ fill="#FFFFFF"
831
+ />
832
+ </Svg>
833
+ );
834
+
835
+ export const VisaCardIcon: React.FC<{ size?: number }> = ({ size = 22 }) => (
836
+ <Svg width={size * 1.5} height={size} viewBox="0 0 32 22" fill="none">
837
+ <Path
838
+ d="M14.6 14.9h-2L14 7.2h2l-1.4 7.7Zm7.3-7.5c-.4-.16-1-.32-1.8-.32-2 0-3.4 1.06-3.42 2.58-.01 1.12 1 1.74 1.77 2.11.79.38 1.05.62 1.05.96-.01.52-.62.76-1.2.76-.79 0-1.22-.12-1.88-.4l-.26-.13-.28 1.74c.47.21 1.34.4 2.24.41 2.13 0 3.5-1.05 3.52-2.66.01-.89-.52-1.56-1.68-2.12-.71-.36-1.14-.6-1.14-.97 0-.32.36-.66 1.14-.66.65-.01 1.12.14 1.49.3l.18.09.27-1.67ZM26.2 7.2h-1.55c-.48 0-.84.14-1.05.65l-2.98 7.05h2.11l.42-1.16h2.58l.24 1.16h1.86L26.2 7.2Zm-2.45 4.95c.17-.45.8-2.18.8-2.18-.01.02.16-.45.27-.74l.13.67s.39 1.85.47 2.25h-1.67ZM12.5 7.2 10.42 12.47l-.22-1.13c-.39-1.3-1.6-2.7-2.95-3.4l1.9 6.95h2.13L14.66 7.2H12.5Z"
839
+ fill="#1A1F71"
840
+ />
841
+ <Path
842
+ d="M8.59 7.2H5.34l-.04.16c2.54.65 4.22 2.2 4.92 4.07L9.5 7.85c-.12-.5-.48-.64-.92-.65Z"
843
+ fill="#F7B600"
844
+ />
845
+ </Svg>
846
+ );
847
+
848
+ export const CameraIcon: React.FC<IconProps> = ({
849
+ size = 18,
850
+ color = "#FFFFFF",
851
+ }) => (
852
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
853
+ <Path
854
+ d="M9.5 4h5l1.5 2.5h3.5A1.5 1.5 0 0 1 21 8v10.5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18.5V8a1.5 1.5 0 0 1 1.5-1.5H8L9.5 4Z"
855
+ stroke={color}
856
+ strokeWidth={1.6}
857
+ strokeLinecap="round"
858
+ strokeLinejoin="round"
859
+ />
860
+ <Circle cx={12} cy={13} r={3.5} stroke={color} strokeWidth={1.6} />
861
+ </Svg>
862
+ );
863
+
864
+ export const TrashIcon: React.FC<IconProps> = ({
865
+ size = 18,
866
+ color = "#BCA0CB",
867
+ }) => (
868
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
869
+ <Path
870
+ d="M4 7h16"
871
+ stroke={color}
872
+ strokeWidth={2.2}
873
+ strokeLinecap="round"
874
+ />
875
+ <Path
876
+ d="M10 4.5h4a1 1 0 0 1 1 1V7H9V5.5a1 1 0 0 1 1-1Z"
877
+ stroke={color}
878
+ strokeWidth={2.2}
879
+ strokeLinecap="round"
880
+ strokeLinejoin="round"
881
+ />
882
+ <Path
883
+ d="M6 7v11a2.5 2.5 0 0 0 2.5 2.5h7A2.5 2.5 0 0 0 18 18V7"
884
+ stroke={color}
885
+ strokeWidth={2.2}
886
+ strokeLinecap="round"
887
+ strokeLinejoin="round"
888
+ />
889
+ <Path
890
+ d="M10.5 11v5.5M13.5 11v5.5"
891
+ stroke={color}
892
+ strokeWidth={2.2}
893
+ strokeLinecap="round"
894
+ />
895
+ </Svg>
896
+ );
897
+
898
+ export const DownloadIcon: React.FC<IconProps> = ({
899
+ size = 18,
900
+ color = "#BCA0CB",
901
+ }) => (
902
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
903
+ <Path
904
+ d="M12 3v12m0 0 4-4m-4 4-4-4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"
905
+ stroke={color}
906
+ strokeWidth={1.6}
907
+ strokeLinecap="round"
908
+ strokeLinejoin="round"
909
+ />
910
+ </Svg>
911
+ );
912
+
913
+ export const CloudUploadIcon: React.FC<IconProps> = ({
914
+ size = 28,
915
+ color = "#E87C3E",
916
+ }) => (
917
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
918
+ <Path
919
+ d="M7 18a4.5 4.5 0 1 1 .39-8.98A6 6 0 0 1 19.5 11 4 4 0 0 1 18 18.86"
920
+ stroke={color}
921
+ strokeWidth={1.7}
922
+ strokeLinecap="round"
923
+ strokeLinejoin="round"
924
+ />
925
+ <Path
926
+ d="M12 12v7M9 14.5l3-3 3 3"
927
+ stroke={color}
928
+ strokeWidth={1.7}
929
+ strokeLinecap="round"
930
+ strokeLinejoin="round"
931
+ />
932
+ </Svg>
933
+ );
934
+
935
+ export const PersonAvatarIcon: React.FC<IconProps> = ({
936
+ size = 56,
937
+ color = "#F0BFA0",
938
+ }) => (
939
+ <Svg width={size} height={size} viewBox="0 0 56 56" fill="none">
940
+ <Circle cx={28} cy={20} r={8} fill={color} />
941
+ <Path
942
+ d="M11 44c2-7.5 9.3-12 17-12s15 4.5 17 12v3H11v-3Z"
943
+ fill={color}
944
+ />
945
+ </Svg>
946
+ );
947
+
948
+ export const CalendarIcon: React.FC<IconProps> = ({
949
+ size = 18,
950
+ color = "#BCA0CB",
951
+ }) => (
952
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
953
+ <Rect
954
+ x={3}
955
+ y={5}
956
+ width={18}
957
+ height={16}
958
+ rx={2.5}
959
+ stroke={color}
960
+ strokeWidth={1.6}
961
+ />
962
+ <Path
963
+ d="M3 10h18M8 3v4M16 3v4"
964
+ stroke={color}
965
+ strokeWidth={1.6}
966
+ strokeLinecap="round"
967
+ />
968
+ </Svg>
969
+ );
970
+
971
+ export const ActivityIcon: React.FC<IconProps> = ({
972
+ size = 20,
973
+ color = "#BCA0CB",
974
+ }) => (
975
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
976
+ <Path
977
+ d="M22 12h-4l-3 9L9 3l-3 9H2"
978
+ stroke={color}
979
+ strokeWidth={1.8}
980
+ strokeLinecap="round"
981
+ strokeLinejoin="round"
982
+ />
983
+ </Svg>
984
+ );
985
+
986
+ export const MessageIcon: React.FC<IconProps> = ({
987
+ size = 20,
988
+ color = "#BCA0CB",
989
+ }) => (
990
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
991
+ <Path
992
+ d="M21 11.5a8.38 8.38 0 0 1-9 8.5 8.5 8.5 0 0 1-3.8-.9L3 21l1.9-5.2A8.5 8.5 0 0 1 4 12a8.38 8.38 0 0 1 8.5-8.5A8.38 8.38 0 0 1 21 11.5Z"
993
+ stroke={color}
994
+ strokeWidth={1.6}
995
+ strokeLinecap="round"
996
+ strokeLinejoin="round"
997
+ />
998
+ </Svg>
999
+ );
1000
+
1001
+ export const ShieldKeyIcon: React.FC<IconProps> = ({
1002
+ size = 20,
1003
+ color = "#BCA0CB",
1004
+ }) => (
1005
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1006
+ <Path
1007
+ d="M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Z"
1008
+ stroke={color}
1009
+ strokeWidth={1.6}
1010
+ strokeLinecap="round"
1011
+ strokeLinejoin="round"
1012
+ />
1013
+ <Path
1014
+ d="M9.5 11.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm2.5 0v3"
1015
+ stroke={color}
1016
+ strokeWidth={1.4}
1017
+ strokeLinecap="round"
1018
+ />
1019
+ </Svg>
1020
+ );
1021
+
1022
+ export const AtSignIcon: React.FC<IconProps> = ({
1023
+ size = 20,
1024
+ color = "#BCA0CB",
1025
+ }) => (
1026
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1027
+ <Circle cx={12} cy={12} r={4} stroke={color} strokeWidth={1.6} />
1028
+ <Path
1029
+ d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"
1030
+ stroke={color}
1031
+ strokeWidth={1.6}
1032
+ strokeLinecap="round"
1033
+ strokeLinejoin="round"
1034
+ />
1035
+ </Svg>
1036
+ );
1037
+
1038
+ export const UserCircleIcon: React.FC<IconProps> = ({
1039
+ size = 20,
1040
+ color = "#BCA0CB",
1041
+ }) => (
1042
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1043
+ <Circle cx={12} cy={12} r={10} stroke={color} strokeWidth={1.6} />
1044
+ <Circle cx={12} cy={10} r={3} stroke={color} strokeWidth={1.6} />
1045
+ <Path
1046
+ d="M5.5 19c1.3-3 3.9-4.5 6.5-4.5s5.2 1.5 6.5 4.5"
1047
+ stroke={color}
1048
+ strokeWidth={1.6}
1049
+ strokeLinecap="round"
1050
+ />
1051
+ </Svg>
1052
+ );
1053
+
1054
+ export const MailIcon: React.FC<IconProps> = ({
1055
+ size = 20,
1056
+ color = "#BCA0CB",
1057
+ }) => (
1058
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1059
+ <Rect
1060
+ x={3}
1061
+ y={5}
1062
+ width={18}
1063
+ height={14}
1064
+ rx={2.5}
1065
+ stroke={color}
1066
+ strokeWidth={1.6}
1067
+ />
1068
+ <Path
1069
+ d="m4 7 8 6 8-6"
1070
+ stroke={color}
1071
+ strokeWidth={1.6}
1072
+ strokeLinecap="round"
1073
+ strokeLinejoin="round"
1074
+ />
1075
+ </Svg>
1076
+ );
1077
+
1078
+ export const PhoneIcon: React.FC<IconProps> = ({
1079
+ size = 20,
1080
+ color = "#BCA0CB",
1081
+ }) => (
1082
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1083
+ <Path
1084
+ d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.79a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.29-1.27a2 2 0 0 1 2.11-.45c.89.34 1.83.57 2.79.7A2 2 0 0 1 22 16.92Z"
1085
+ stroke={color}
1086
+ strokeWidth={1.6}
1087
+ strokeLinecap="round"
1088
+ strokeLinejoin="round"
1089
+ />
1090
+ </Svg>
1091
+ );
1092
+
1093
+ export const SimChipIcon: React.FC<IconProps> = ({
1094
+ size = 28,
1095
+ color = "#FFD08C",
1096
+ }) => (
1097
+ <Svg width={size * 1.4} height={size} viewBox="0 0 36 26" fill="none">
1098
+ <Rect
1099
+ x={1}
1100
+ y={1}
1101
+ width={34}
1102
+ height={24}
1103
+ rx={4}
1104
+ fill={color}
1105
+ opacity={0.95}
1106
+ />
1107
+ <Path
1108
+ d="M1 8h14M1 18h14M21 8h14M21 18h14M14 1v24M22 1v24"
1109
+ stroke="rgba(0,0,0,0.18)"
1110
+ strokeWidth={1.1}
1111
+ />
1112
+ <Rect
1113
+ x={14}
1114
+ y={8}
1115
+ width={8}
1116
+ height={10}
1117
+ rx={1.4}
1118
+ stroke="rgba(0,0,0,0.18)"
1119
+ strokeWidth={1}
1120
+ fill={color}
1121
+ />
1122
+ </Svg>
1123
+ );
1124
+
1125
+ export const WifiContactlessIcon: React.FC<IconProps> = ({
1126
+ size = 18,
1127
+ color = "#FFFFFF",
1128
+ }) => (
1129
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1130
+ <Path
1131
+ d="M8 8c2.5 1.5 4 4 4 4s-1.5-2.5-4-4ZM11 5c4.5 2.5 7 7 7 7s-2.5-4.5-7-7ZM14 2c6.5 3.5 10 10 10 10S20.5 5.5 14 2Z"
1132
+ stroke={color}
1133
+ strokeWidth={1.5}
1134
+ strokeLinecap="round"
1135
+ strokeLinejoin="round"
1136
+ />
1137
+ </Svg>
1138
+ );
1139
+
1140
+ /* -------------------------------------------------------- */
1141
+ /* Constellation / Decorative */
1142
+ /* -------------------------------------------------------- */
1143
+
1144
+ export const ConstellationDecor: React.FC<{
1145
+ width?: number;
1146
+ height?: number;
1147
+ color?: string;
1148
+ }> = ({ width = 220, height = 100, color = "rgba(255,255,255,0.55)" }) => (
1149
+ <Svg width={width} height={height} viewBox="0 0 220 100" fill="none">
1150
+ <Circle cx={20} cy={50} r={2} fill={color} />
1151
+ <Circle cx={60} cy={20} r={2} fill={color} />
1152
+ <Circle cx={110} cy={45} r={2.4} fill={color} />
1153
+ <Circle cx={160} cy={20} r={2} fill={color} />
1154
+ <Circle cx={200} cy={50} r={2} fill={color} />
1155
+ <Circle cx={140} cy={70} r={1.6} fill={color} />
1156
+ <Line
1157
+ x1={20}
1158
+ y1={50}
1159
+ x2={60}
1160
+ y2={20}
1161
+ stroke={color}
1162
+ strokeWidth={0.8}
1163
+ />
1164
+ <Line
1165
+ x1={60}
1166
+ y1={20}
1167
+ x2={110}
1168
+ y2={45}
1169
+ stroke={color}
1170
+ strokeWidth={0.8}
1171
+ />
1172
+ <Line
1173
+ x1={110}
1174
+ y1={45}
1175
+ x2={160}
1176
+ y2={20}
1177
+ stroke={color}
1178
+ strokeWidth={0.8}
1179
+ />
1180
+ <Line
1181
+ x1={160}
1182
+ y1={20}
1183
+ x2={200}
1184
+ y2={50}
1185
+ stroke={color}
1186
+ strokeWidth={0.8}
1187
+ />
1188
+ <Line
1189
+ x1={110}
1190
+ y1={45}
1191
+ x2={140}
1192
+ y2={70}
1193
+ stroke={color}
1194
+ strokeWidth={0.8}
1195
+ />
1196
+ </Svg>
1197
+ );
1198
+
1199
+ export const FileTextIcon: React.FC<IconProps> = ({
1200
+ size = 20,
1201
+ color = "#BCA0CB",
1202
+ }) => (
1203
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1204
+ <Path
1205
+ d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5Z"
1206
+ stroke={color}
1207
+ strokeWidth={1.6}
1208
+ strokeLinecap="round"
1209
+ strokeLinejoin="round"
1210
+ />
1211
+ <Path
1212
+ d="M14 3v5h5"
1213
+ stroke={color}
1214
+ strokeWidth={1.6}
1215
+ strokeLinecap="round"
1216
+ strokeLinejoin="round"
1217
+ />
1218
+ <Path
1219
+ d="M8 13h8M8 17h8M8 9h2"
1220
+ stroke={color}
1221
+ strokeWidth={1.6}
1222
+ strokeLinecap="round"
1223
+ />
1224
+ </Svg>
1225
+ );
1226
+
1227
+ export const HeadphonesIcon: React.FC<IconProps> = ({
1228
+ size = 20,
1229
+ color = "#BCA0CB",
1230
+ }) => (
1231
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1232
+ <Path
1233
+ d="M4 14v-2a8 8 0 0 1 16 0v2"
1234
+ stroke={color}
1235
+ strokeWidth={1.6}
1236
+ strokeLinecap="round"
1237
+ />
1238
+ <Path
1239
+ d="M4 14h3a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-5Zm16 0h-3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-5Z"
1240
+ stroke={color}
1241
+ strokeWidth={1.6}
1242
+ strokeLinecap="round"
1243
+ strokeLinejoin="round"
1244
+ />
1245
+ </Svg>
1246
+ );
1247
+
1248
+ /* -------------------------------------------------------- */
1249
+ /* Habit Flow / Routine Map icons */
1250
+ /* -------------------------------------------------------- */
1251
+
1252
+ export const XCircleIcon: React.FC<IconProps> = ({
1253
+ size = 16,
1254
+ color = "#FFFFFF",
1255
+ }) => (
1256
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
1257
+ <Circle cx={10} cy={10} r={8.4} stroke={color} strokeWidth={1.4} />
1258
+ <Path
1259
+ d="M7 7l6 6M13 7l-6 6"
1260
+ stroke={color}
1261
+ strokeWidth={1.5}
1262
+ strokeLinecap="round"
1263
+ />
1264
+ </Svg>
1265
+ );
1266
+
1267
+ export const CheckCircleSmallIcon: React.FC<IconProps> = ({
1268
+ size = 16,
1269
+ color = "#FFFFFF",
1270
+ }) => (
1271
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
1272
+ <Circle cx={10} cy={10} r={8.4} stroke={color} strokeWidth={1.4} />
1273
+ <Path
1274
+ d="M6.6 10.3l2.3 2.3 4.5-4.5"
1275
+ stroke={color}
1276
+ strokeWidth={1.5}
1277
+ strokeLinecap="round"
1278
+ strokeLinejoin="round"
1279
+ />
1280
+ </Svg>
1281
+ );
1282
+
1283
+ export const XCircleOutlineIcon: React.FC<IconProps> = ({
1284
+ size = 16,
1285
+ color = "#2C1A0E",
1286
+ }) => (
1287
+ <Svg width={size} height={size} viewBox="0 0 20 20" fill="none">
1288
+ <Circle cx={10} cy={10} r={8.4} stroke={color} strokeWidth={1.4} />
1289
+ <Path
1290
+ d="M7 7l6 6M13 7l-6 6"
1291
+ stroke={color}
1292
+ strokeWidth={1.5}
1293
+ strokeLinecap="round"
1294
+ strokeLinejoin="round"
1295
+ />
1296
+ </Svg>
1297
+ );
1298
+
1299
+ export const PencilEditIcon: React.FC<IconProps> = ({
1300
+ size = 14,
1301
+ color = "#FFFFFF",
1302
+ }) => (
1303
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1304
+ <Path
1305
+ d="M14.06 4.94l5 5L8.5 20.5H3.5v-5L14.06 4.94z"
1306
+ stroke={color}
1307
+ strokeWidth={1.8}
1308
+ strokeLinecap="round"
1309
+ strokeLinejoin="round"
1310
+ />
1311
+ <Path
1312
+ d="M12.5 6.5l5 5"
1313
+ stroke={color}
1314
+ strokeWidth={1.8}
1315
+ strokeLinecap="round"
1316
+ strokeLinejoin="round"
1317
+ />
1318
+ </Svg>
1319
+ );
1320
+
1321
+ export const BedWindIcon: React.FC<IconProps> = ({
1322
+ size = 18,
1323
+ color = "#FFFFFF",
1324
+ }) => (
1325
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1326
+ <Path
1327
+ d="M3 7c2.5 0 5 0 5 2.5S5 12 3 12M14 5c3 0 5 0 5 2.7S16 10.5 13 10.5M3 17c3.5 0 7.5 0 7.5 2.5"
1328
+ stroke={color}
1329
+ strokeWidth={1.6}
1330
+ strokeLinecap="round"
1331
+ strokeLinejoin="round"
1332
+ />
1333
+ <Path
1334
+ d="M3 12c0-.55.45-1 1-1h12c2.76 0 5 2.24 5 5v4"
1335
+ stroke={color}
1336
+ strokeWidth={1.6}
1337
+ strokeLinecap="round"
1338
+ strokeLinejoin="round"
1339
+ />
1340
+ </Svg>
1341
+ );
1342
+
1343
+ export const InstagramSquareIcon: React.FC<IconProps> = ({
1344
+ size = 18,
1345
+ color = "#FFFFFF",
1346
+ }) => (
1347
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1348
+ <Rect
1349
+ x={3}
1350
+ y={3}
1351
+ width={18}
1352
+ height={18}
1353
+ rx={5}
1354
+ stroke={color}
1355
+ strokeWidth={1.7}
1356
+ />
1357
+ <Circle cx={12} cy={12} r={4} stroke={color} strokeWidth={1.7} />
1358
+ <Circle cx={17.2} cy={6.8} r={1.1} fill={color} />
1359
+ </Svg>
1360
+ );
1361
+
1362
+ export const ShowerIcon: React.FC<IconProps> = ({
1363
+ size = 18,
1364
+ color = "#FFFFFF",
1365
+ }) => (
1366
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1367
+ <Path
1368
+ d="M3 11c1.5-2.5 4-4 7-4M21 11c-1.5-2.5-4-4-7-4M12 4v3"
1369
+ stroke={color}
1370
+ strokeWidth={1.6}
1371
+ strokeLinecap="round"
1372
+ strokeLinejoin="round"
1373
+ />
1374
+ <Path
1375
+ d="M5 11h14"
1376
+ stroke={color}
1377
+ strokeWidth={1.6}
1378
+ strokeLinecap="round"
1379
+ />
1380
+ <Path
1381
+ d="M8 15l-1 3M12 15l-1 3M16 15l-1 3"
1382
+ stroke={color}
1383
+ strokeWidth={1.6}
1384
+ strokeLinecap="round"
1385
+ />
1386
+ </Svg>
1387
+ );
1388
+
1389
+ export const CoffeeIcon: React.FC<IconProps> = ({
1390
+ size = 18,
1391
+ color = "#FFFFFF",
1392
+ }) => (
1393
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1394
+ <Path
1395
+ d="M3 10h13v5a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4v-5Z"
1396
+ stroke={color}
1397
+ strokeWidth={1.6}
1398
+ strokeLinecap="round"
1399
+ strokeLinejoin="round"
1400
+ />
1401
+ <Path
1402
+ d="M16 11h2.5a2.5 2.5 0 0 1 0 5H16"
1403
+ stroke={color}
1404
+ strokeWidth={1.6}
1405
+ strokeLinecap="round"
1406
+ strokeLinejoin="round"
1407
+ />
1408
+ <Path
1409
+ d="M7 3c0 1 1 1.5 1 2.5S7 6.5 7 7.5M11 3c0 1 1 1.5 1 2.5S11 6.5 11 7.5"
1410
+ stroke={color}
1411
+ strokeWidth={1.6}
1412
+ strokeLinecap="round"
1413
+ strokeLinejoin="round"
1414
+ />
1415
+ </Svg>
1416
+ );
1417
+
1418
+ export const DumbbellIcon: React.FC<IconProps> = ({
1419
+ size = 18,
1420
+ color = "#FFFFFF",
1421
+ }) => (
1422
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1423
+ <Path
1424
+ d="M9 7v10M15 7v10"
1425
+ stroke={color}
1426
+ strokeWidth={1.6}
1427
+ strokeLinecap="round"
1428
+ />
1429
+ <Path
1430
+ d="M5 9v6M19 9v6M3 11v2M21 11v2"
1431
+ stroke={color}
1432
+ strokeWidth={1.6}
1433
+ strokeLinecap="round"
1434
+ />
1435
+ <Path d="M9 12h6" stroke={color} strokeWidth={1.6} strokeLinecap="round" />
1436
+ </Svg>
1437
+ );
1438
+
1439
+ export const FlagIcon: React.FC<IconProps> = ({
1440
+ size = 18,
1441
+ color = "#FFFFFF",
1442
+ }) => (
1443
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1444
+ <Path
1445
+ d="M5 21V4M5 4h11l-2 4 2 4H5"
1446
+ stroke={color}
1447
+ strokeWidth={1.6}
1448
+ strokeLinecap="round"
1449
+ strokeLinejoin="round"
1450
+ />
1451
+ </Svg>
1452
+ );
1453
+
1454
+ export const RefreshIcon: React.FC<IconProps> = ({
1455
+ size = 18,
1456
+ color = "#FFFFFF",
1457
+ }) => (
1458
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1459
+ <Path
1460
+ d="M3.5 12a8.5 8.5 0 0 1 14.7-5.8M20.5 12a8.5 8.5 0 0 1-14.7 5.8"
1461
+ stroke={color}
1462
+ strokeWidth={1.7}
1463
+ strokeLinecap="round"
1464
+ strokeLinejoin="round"
1465
+ />
1466
+ <Polygon points="18,2 19,7 14,6" fill={color} />
1467
+ <Polygon points="6,22 5,17 10,18" fill={color} />
1468
+ </Svg>
1469
+ );
1470
+
1471
+ export const ShieldBlockIcon: React.FC<IconProps> = ({
1472
+ size = 18,
1473
+ color = "#FFFFFF",
1474
+ }) => (
1475
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1476
+ <Path
1477
+ d="M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Z"
1478
+ stroke={color}
1479
+ strokeWidth={1.6}
1480
+ strokeLinecap="round"
1481
+ strokeLinejoin="round"
1482
+ />
1483
+ </Svg>
1484
+ );
1485
+
1486
+ export const CursorPointerIcon: React.FC<IconProps> = ({
1487
+ size = 20,
1488
+ color = "#FFFFFF",
1489
+ }) => (
1490
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1491
+ <Path
1492
+ d="M5 3l5.4 16 2.2-6.4L19 10.4 5 3Z"
1493
+ fill={color}
1494
+ stroke={color}
1495
+ strokeWidth={1.4}
1496
+ strokeLinejoin="round"
1497
+ />
1498
+ </Svg>
1499
+ );
1500
+
1501
+ export const ZoomInIcon: React.FC<IconProps> = ({
1502
+ size = 16,
1503
+ color = "#FFFFFF",
1504
+ }) => (
1505
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1506
+ <Circle cx={11} cy={11} r={7} stroke={color} strokeWidth={1.8} />
1507
+ <Path
1508
+ d="M20 20l-3.5-3.5M11 8v6M8 11h6"
1509
+ stroke={color}
1510
+ strokeWidth={1.8}
1511
+ strokeLinecap="round"
1512
+ />
1513
+ </Svg>
1514
+ );
1515
+
1516
+ export const ZoomOutIcon: React.FC<IconProps> = ({
1517
+ size = 16,
1518
+ color = "#FFFFFF",
1519
+ }) => (
1520
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1521
+ <Circle cx={11} cy={11} r={7} stroke={color} strokeWidth={1.8} />
1522
+ <Path
1523
+ d="M20 20l-3.5-3.5M8 11h6"
1524
+ stroke={color}
1525
+ strokeWidth={1.8}
1526
+ strokeLinecap="round"
1527
+ />
1528
+ </Svg>
1529
+ );
1530
+
1531
+ export const StarTwinkleIcon: React.FC<IconProps> = ({
1532
+ size = 14,
1533
+ color = "rgba(255,255,255,0.7)",
1534
+ }) => (
1535
+ <Svg width={size} height={size} viewBox="0 0 16 16" fill="none">
1536
+ <G>
1537
+ <Path d="M8 1v14M1 8h14" stroke={color} strokeWidth={0.8} strokeLinecap="round" />
1538
+ <Circle cx={8} cy={8} r={1.6} fill={color} />
1539
+ </G>
1540
+ </Svg>
1541
+ );
1542
+
1543
+ export const SettingsIcon: React.FC<IconProps> = ({
1544
+ size = 22,
1545
+ color = "#BCA0CB",
1546
+ }) => (
1547
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1548
+ <Path
1549
+ d="M19.14 12.94a7.5 7.5 0 0 0 0-1.88l2.03-1.58a.5.5 0 0 0 .11-.64l-1.92-3.32a.5.5 0 0 0-.6-.22l-2.39.96a7.34 7.34 0 0 0-1.63-.94l-.36-2.54A.5.5 0 0 0 13.88 2h-3.76a.5.5 0 0 0-.5.42l-.36 2.54c-.59.23-1.14.55-1.63.94l-2.39-.96a.5.5 0 0 0-.6.22L2.72 8.48a.5.5 0 0 0 .11.64l2.03 1.58a7.5 7.5 0 0 0 0 1.88l-2.03 1.58a.5.5 0 0 0-.11.64l1.92 3.32a.5.5 0 0 0 .6.22l2.39-.96c.49.39 1.04.71 1.63.94l.36 2.54a.5.5 0 0 0 .5.42h3.76a.5.5 0 0 0 .5-.42l.36-2.54c.59-.23 1.14-.55 1.63-.94l2.39.96a.5.5 0 0 0 .6-.22l1.92-3.32a.5.5 0 0 0-.11-.64l-2.03-1.58Z"
1550
+ stroke={color}
1551
+ strokeWidth={1.5}
1552
+ strokeLinejoin="round"
1553
+ />
1554
+ <Circle cx={12} cy={12} r={3} stroke={color} strokeWidth={1.5} />
1555
+ </Svg>
1556
+ );
1557
+
1558
+ export const LogoutIcon: React.FC<IconProps> = ({
1559
+ size = 22,
1560
+ color = "#BCA0CB",
1561
+ }) => (
1562
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1563
+ <Path
1564
+ d="M15 3h3a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-3"
1565
+ stroke={color}
1566
+ strokeWidth={1.6}
1567
+ strokeLinecap="round"
1568
+ strokeLinejoin="round"
1569
+ />
1570
+ <Path
1571
+ d="M10 17l-5-5 5-5"
1572
+ stroke={color}
1573
+ strokeWidth={1.6}
1574
+ strokeLinecap="round"
1575
+ strokeLinejoin="round"
1576
+ />
1577
+ <Path
1578
+ d="M15 12H5"
1579
+ stroke={color}
1580
+ strokeWidth={1.6}
1581
+ strokeLinecap="round"
1582
+ />
1583
+ </Svg>
1584
+ );
1585
+
1586
+ export const HomeOutlineIcon: React.FC<IconProps> = ({
1587
+ size = 22,
1588
+ color = "#BCA0CB",
1589
+ }) => (
1590
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1591
+ <Path
1592
+ d="M3 10.5 12 3l9 7.5V20a1.5 1.5 0 0 1-1.5 1.5h-4V14h-7v7.5h-4A1.5 1.5 0 0 1 3 20v-9.5Z"
1593
+ stroke={color}
1594
+ strokeWidth={1.6}
1595
+ strokeLinecap="round"
1596
+ strokeLinejoin="round"
1597
+ />
1598
+ </Svg>
1599
+ );
1600
+
1601
+ export const MapOutlineIcon: React.FC<IconProps> = ({
1602
+ size = 22,
1603
+ color = "#BCA0CB",
1604
+ }) => (
1605
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1606
+ <Path
1607
+ d="M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2Z"
1608
+ stroke={color}
1609
+ strokeWidth={1.6}
1610
+ strokeLinecap="round"
1611
+ strokeLinejoin="round"
1612
+ />
1613
+ <Path
1614
+ d="M9 4v14M15 6v14"
1615
+ stroke={color}
1616
+ strokeWidth={1.6}
1617
+ strokeLinecap="round"
1618
+ />
1619
+ </Svg>
1620
+ );
1621
+
1622
+ export const SparkleIcon: React.FC<IconProps> = ({
1623
+ size = 16,
1624
+ color = "#A78BFA",
1625
+ }) => (
1626
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1627
+ <Path
1628
+ d="M12 3 13.5 9.5 20 11l-6.5 1.5L12 19l-1.5-6.5L4 11l6.5-1.5L12 3Z"
1629
+ fill={color}
1630
+ />
1631
+ </Svg>
1632
+ );
1633
+
1634
+ export const CarIcon: React.FC<IconProps> = ({
1635
+ size = 18,
1636
+ color = "#E87C3E",
1637
+ }) => (
1638
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1639
+ <Path
1640
+ d="M5 16V11l2-5h10l2 5v5"
1641
+ stroke={color}
1642
+ strokeWidth={1.7}
1643
+ strokeLinecap="round"
1644
+ strokeLinejoin="round"
1645
+ />
1646
+ <Path
1647
+ d="M3 16h18v3a1 1 0 0 1-1 1h-1.5a1 1 0 0 1-1-1v-1H6.5v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-3Z"
1648
+ stroke={color}
1649
+ strokeWidth={1.7}
1650
+ strokeLinejoin="round"
1651
+ />
1652
+ <Circle cx={7.5} cy={16} r={1.2} fill={color} />
1653
+ <Circle cx={16.5} cy={16} r={1.2} fill={color} />
1654
+ </Svg>
1655
+ );
1656
+
1657
+ export const PinIcon: React.FC<IconProps> = ({
1658
+ size = 14,
1659
+ color = "#E87C3E",
1660
+ }) => (
1661
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1662
+ <Path
1663
+ d="M12 22s7-6.5 7-12a7 7 0 0 0-14 0c0 5.5 7 12 7 12Z"
1664
+ stroke={color}
1665
+ strokeWidth={1.7}
1666
+ strokeLinejoin="round"
1667
+ />
1668
+ <Circle cx={12} cy={10} r={2.5} stroke={color} strokeWidth={1.7} />
1669
+ </Svg>
1670
+ );
1671
+
1672
+ export const SwapVerticalIcon: React.FC<IconProps> = ({
1673
+ size = 18,
1674
+ color = "#E87C3E",
1675
+ }) => (
1676
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1677
+ <Path
1678
+ d="M7 4v16M7 4l-3 3M7 4l3 3"
1679
+ stroke={color}
1680
+ strokeWidth={1.8}
1681
+ strokeLinecap="round"
1682
+ strokeLinejoin="round"
1683
+ />
1684
+ <Path
1685
+ d="M17 20V4M17 20l-3-3M17 20l3-3"
1686
+ stroke={color}
1687
+ strokeWidth={1.8}
1688
+ strokeLinecap="round"
1689
+ strokeLinejoin="round"
1690
+ />
1691
+ </Svg>
1692
+ );
1693
+
1694
+ export const UserOutlineIcon: React.FC<IconProps> = ({
1695
+ size = 18,
1696
+ color = "#E87C3E",
1697
+ }) => (
1698
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1699
+ <Circle cx={12} cy={8} r={4} stroke={color} strokeWidth={1.7} />
1700
+ <Path
1701
+ d="M4.5 20c1.4-3.5 4.4-5.5 7.5-5.5s6.1 2 7.5 5.5"
1702
+ stroke={color}
1703
+ strokeWidth={1.7}
1704
+ strokeLinecap="round"
1705
+ />
1706
+ </Svg>
1707
+ );
1708
+
1709
+ export const ArrowRightSmallIcon: React.FC<IconProps> = ({
1710
+ size = 16,
1711
+ color = "#9A9A9A",
1712
+ }) => (
1713
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1714
+ <Path
1715
+ d="M9 6l6 6-6 6"
1716
+ stroke={color}
1717
+ strokeWidth={2}
1718
+ strokeLinecap="round"
1719
+ strokeLinejoin="round"
1720
+ />
1721
+ </Svg>
1722
+ );
1723
+
1724
+ export const FunnelIcon: React.FC<IconProps> = ({
1725
+ size = 18,
1726
+ color = "#2C1A0E",
1727
+ }) => (
1728
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1729
+ <Path
1730
+ d="M4.5 5.25c0-.69.56-1.25 1.25-1.25h12.5c.69 0 1.25.56 1.25 1.25 0 .31-.12.61-.33.84l-5.42 5.97a1.5 1.5 0 0 0-.39 1v5.13c0 .43-.22.83-.58 1.06l-2.5 1.6a.75.75 0 0 1-1.16-.63V13.06a1.5 1.5 0 0 0-.39-1L4.83 6.09a1.25 1.25 0 0 1-.33-.84Z"
1731
+ stroke={color}
1732
+ strokeWidth={1.7}
1733
+ strokeLinecap="round"
1734
+ strokeLinejoin="round"
1735
+ />
1736
+ </Svg>
1737
+ );
1738
+
1739
+ export const GalleryIcon: React.FC<IconProps> = ({
1740
+ size = 20,
1741
+ color = "#FFFFFF",
1742
+ }) => (
1743
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1744
+ <Rect
1745
+ x={3}
1746
+ y={4}
1747
+ width={18}
1748
+ height={16}
1749
+ rx={3}
1750
+ stroke={color}
1751
+ strokeWidth={1.6}
1752
+ />
1753
+ <Circle cx={9} cy={10} r={1.6} stroke={color} strokeWidth={1.6} />
1754
+ <Path
1755
+ d="M4 17l4.5-4.5a2 2 0 0 1 2.8 0L16 17m-1.5-2.2 1.7-1.7a2 2 0 0 1 2.8 0L21 14.6"
1756
+ stroke={color}
1757
+ strokeWidth={1.6}
1758
+ strokeLinecap="round"
1759
+ strokeLinejoin="round"
1760
+ />
1761
+ </Svg>
1762
+ );
1763
+
1764
+ export const ClockIcon: React.FC<IconProps> = ({
1765
+ size = 18,
1766
+ color = "#9A9A9A",
1767
+ }) => (
1768
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1769
+ <Circle cx={12} cy={12} r={9} stroke={color} strokeWidth={1.6} />
1770
+ <Path
1771
+ d="M12 7v5l3 2"
1772
+ stroke={color}
1773
+ strokeWidth={1.6}
1774
+ strokeLinecap="round"
1775
+ strokeLinejoin="round"
1776
+ />
1777
+ </Svg>
1778
+ );
1779
+
1780
+ export const LocateIcon: React.FC<IconProps> = ({
1781
+ size = 22,
1782
+ color = "#2C1A0E",
1783
+ }) => (
1784
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1785
+ <Circle cx={12} cy={12} r={4} stroke={color} strokeWidth={1.8} />
1786
+ <Path
1787
+ d="M12 2v3M12 19v3M2 12h3M19 12h3"
1788
+ stroke={color}
1789
+ strokeWidth={1.8}
1790
+ strokeLinecap="round"
1791
+ />
1792
+ <Circle cx={12} cy={12} r={1.4} fill={color} />
1793
+ </Svg>
1794
+ );
1795
+
1796
+ export const CircleXIcon: React.FC<IconProps> = ({
1797
+ size = 18,
1798
+ color = "#9A9A9A",
1799
+ }) => (
1800
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1801
+ <Circle cx={12} cy={12} r={10} fill={color} />
1802
+ <Path
1803
+ d="M9 9l6 6M15 9l-6 6"
1804
+ stroke="#FFFFFF"
1805
+ strokeWidth={1.8}
1806
+ strokeLinecap="round"
1807
+ />
1808
+ </Svg>
1809
+ );
1810
+
1811
+ export const SmokingIcon: React.FC<IconProps> = ({
1812
+ size = 20,
1813
+ color = "#E87C3E",
1814
+ }) => (
1815
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1816
+ <Rect
1817
+ x={2}
1818
+ y={14}
1819
+ width={16}
1820
+ height={4}
1821
+ rx={1}
1822
+ stroke={color}
1823
+ strokeWidth={1.6}
1824
+ />
1825
+ <Path d="M14 14v4" stroke={color} strokeWidth={1.6} />
1826
+ <Path
1827
+ d="M17 4c0 2 2 2 2 4M20 6c0 2 2 2 2 4M19 12v2"
1828
+ stroke={color}
1829
+ strokeWidth={1.6}
1830
+ strokeLinecap="round"
1831
+ />
1832
+ </Svg>
1833
+ );
1834
+
1835
+ export const PawIcon: React.FC<IconProps> = ({
1836
+ size = 20,
1837
+ color = "#E87C3E",
1838
+ }) => (
1839
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1840
+ <Circle cx={6.5} cy={9} r={1.8} fill={color} />
1841
+ <Circle cx={17.5} cy={9} r={1.8} fill={color} />
1842
+ <Circle cx={9.5} cy={5.5} r={1.6} fill={color} />
1843
+ <Circle cx={14.5} cy={5.5} r={1.6} fill={color} />
1844
+ <Path
1845
+ d="M12 11.5c-3.5 0-6 3-6 5.5 0 2 1.7 3 3 3 1 0 1.8-.5 3-.5s2 .5 3 .5c1.3 0 3-1 3-3 0-2.5-2.5-5.5-6-5.5Z"
1846
+ fill={color}
1847
+ />
1848
+ </Svg>
1849
+ );
1850
+
1851
+ export const WomanIcon: React.FC<IconProps> = ({
1852
+ size = 20,
1853
+ color = "#E87C3E",
1854
+ }) => (
1855
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1856
+ <Circle cx={12} cy={5} r={2.5} stroke={color} strokeWidth={1.6} />
1857
+ <Path
1858
+ d="M9 14h6l-2-6h-2l-2 6Z"
1859
+ stroke={color}
1860
+ strokeWidth={1.6}
1861
+ strokeLinejoin="round"
1862
+ />
1863
+ <Path
1864
+ d="M10 14v5M14 14v5M10 17h4"
1865
+ stroke={color}
1866
+ strokeWidth={1.6}
1867
+ strokeLinecap="round"
1868
+ />
1869
+ </Svg>
1870
+ );
1871
+
1872
+ export const SnowflakeIcon: React.FC<IconProps> = ({
1873
+ size = 20,
1874
+ color = "#E87C3E",
1875
+ }) => (
1876
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1877
+ <Path
1878
+ d="M12 2v20M2 12h20M4.5 4.5l15 15M19.5 4.5l-15 15"
1879
+ stroke={color}
1880
+ strokeWidth={1.6}
1881
+ strokeLinecap="round"
1882
+ />
1883
+ <Path
1884
+ d="M9 4l3 3 3-3M9 20l3-3 3 3M4 9l3 3-3 3M20 9l-3 3 3 3"
1885
+ stroke={color}
1886
+ strokeWidth={1.6}
1887
+ strokeLinecap="round"
1888
+ strokeLinejoin="round"
1889
+ />
1890
+ </Svg>
1891
+ );
1892
+
1893
+ export const PlugIcon: React.FC<IconProps> = ({
1894
+ size = 20,
1895
+ color = "#E87C3E",
1896
+ }) => (
1897
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1898
+ <Path
1899
+ d="M9 2v4M15 2v4"
1900
+ stroke={color}
1901
+ strokeWidth={1.8}
1902
+ strokeLinecap="round"
1903
+ />
1904
+ <Path
1905
+ d="M7 6h10v5a5 5 0 0 1-5 5 5 5 0 0 1-5-5V6Z"
1906
+ stroke={color}
1907
+ strokeWidth={1.6}
1908
+ strokeLinejoin="round"
1909
+ />
1910
+ <Path d="M12 16v6" stroke={color} strokeWidth={1.8} strokeLinecap="round" />
1911
+ </Svg>
1912
+ );
1913
+
1914
+ export const LuggageIcon: React.FC<IconProps> = ({
1915
+ size = 20,
1916
+ color = "#E87C3E",
1917
+ }) => (
1918
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1919
+ <Rect
1920
+ x={5}
1921
+ y={7}
1922
+ width={14}
1923
+ height={13}
1924
+ rx={2}
1925
+ stroke={color}
1926
+ strokeWidth={1.6}
1927
+ />
1928
+ <Path
1929
+ d="M9 7V4h6v3M9 12v4M15 12v4M5 20v1M19 20v1"
1930
+ stroke={color}
1931
+ strokeWidth={1.6}
1932
+ strokeLinecap="round"
1933
+ />
1934
+ </Svg>
1935
+ );
1936
+
1937
+ export const MusicIcon: React.FC<IconProps> = ({
1938
+ size = 20,
1939
+ color = "#E87C3E",
1940
+ }) => (
1941
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1942
+ <Path
1943
+ d="M9 18V5l11-2v13"
1944
+ stroke={color}
1945
+ strokeWidth={1.7}
1946
+ strokeLinecap="round"
1947
+ strokeLinejoin="round"
1948
+ />
1949
+ <Circle cx={6.5} cy={18} r={2.5} stroke={color} strokeWidth={1.7} />
1950
+ <Circle cx={17.5} cy={16} r={2.5} stroke={color} strokeWidth={1.7} />
1951
+ </Svg>
1952
+ );
1953
+
1954
+ export const UsbIcon: React.FC<IconProps> = ({
1955
+ size = 20,
1956
+ color = "#E87C3E",
1957
+ }) => (
1958
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1959
+ <Path
1960
+ d="M12 22V8M12 8l-3 3M12 8l3 3"
1961
+ stroke={color}
1962
+ strokeWidth={1.6}
1963
+ strokeLinecap="round"
1964
+ strokeLinejoin="round"
1965
+ />
1966
+ <Circle cx={12} cy={5} r={3} stroke={color} strokeWidth={1.6} />
1967
+ <Path
1968
+ d="M9 15l-3-2v-2M15 17l3-1v-3"
1969
+ stroke={color}
1970
+ strokeWidth={1.6}
1971
+ strokeLinecap="round"
1972
+ strokeLinejoin="round"
1973
+ />
1974
+ </Svg>
1975
+ );
1976
+
1977
+ export const GlobeIcon: React.FC<IconProps> = ({
1978
+ size = 20,
1979
+ color = "#2C1A0E",
1980
+ }) => (
1981
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
1982
+ <Circle cx={12} cy={12} r={9} stroke={color} strokeWidth={1.6} />
1983
+ <Path
1984
+ d="M3 12h18M12 3c2.5 2.5 2.5 15 0 18M12 3c-2.5 2.5-2.5 15 0 18"
1985
+ stroke={color}
1986
+ strokeWidth={1.6}
1987
+ strokeLinecap="round"
1988
+ strokeLinejoin="round"
1989
+ />
1990
+ </Svg>
1991
+ );