@oxyhq/services 5.17.18 → 5.18.0

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 (238) hide show
  1. package/lib/commonjs/core/mixins/OxyServices.features.js +372 -0
  2. package/lib/commonjs/core/mixins/OxyServices.features.js.map +1 -0
  3. package/lib/commonjs/core/mixins/index.js +3 -2
  4. package/lib/commonjs/core/mixins/index.js.map +1 -1
  5. package/lib/commonjs/ui/components/GroupedItem.js +11 -1
  6. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  7. package/lib/commonjs/ui/components/SettingRow.js +17 -4
  8. package/lib/commonjs/ui/components/SettingRow.js.map +1 -1
  9. package/lib/commonjs/ui/components/feedback/FormInput.js +72 -0
  10. package/lib/commonjs/ui/components/feedback/FormInput.js.map +1 -0
  11. package/lib/commonjs/ui/components/feedback/ProgressIndicator.js +33 -0
  12. package/lib/commonjs/ui/components/feedback/ProgressIndicator.js.map +1 -0
  13. package/lib/commonjs/ui/components/feedback/constants.js +59 -0
  14. package/lib/commonjs/ui/components/feedback/constants.js.map +1 -0
  15. package/lib/commonjs/ui/components/feedback/feedbackStyles.js +262 -0
  16. package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +1 -0
  17. package/lib/commonjs/ui/components/feedback/index.js +54 -0
  18. package/lib/commonjs/ui/components/feedback/index.js.map +1 -0
  19. package/lib/commonjs/ui/components/feedback/types.js +6 -0
  20. package/lib/commonjs/ui/components/feedback/types.js.map +1 -0
  21. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js +52 -0
  22. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js.map +1 -0
  23. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +282 -0
  24. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -0
  25. package/lib/commonjs/ui/components/modals/index.js +14 -0
  26. package/lib/commonjs/ui/components/modals/index.js.map +1 -0
  27. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +309 -0
  28. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -0
  29. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +79 -0
  30. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -0
  31. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +108 -0
  32. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -0
  33. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +79 -0
  34. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -0
  35. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +176 -0
  36. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -0
  37. package/lib/commonjs/ui/components/payment/constants.js +53 -0
  38. package/lib/commonjs/ui/components/payment/constants.js.map +1 -0
  39. package/lib/commonjs/ui/components/payment/index.js +80 -0
  40. package/lib/commonjs/ui/components/payment/index.js.map +1 -0
  41. package/lib/commonjs/ui/components/payment/paymentStyles.js +409 -0
  42. package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -0
  43. package/lib/commonjs/ui/components/payment/types.js +6 -0
  44. package/lib/commonjs/ui/components/payment/types.js.map +1 -0
  45. package/lib/commonjs/ui/hooks/index.js +26 -0
  46. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  47. package/lib/commonjs/ui/hooks/useAsyncAction.js +95 -0
  48. package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -0
  49. package/lib/commonjs/ui/hooks/useSettingToggle.js +126 -0
  50. package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -0
  51. package/lib/commonjs/ui/navigation/routes.js +1 -0
  52. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  53. package/lib/commonjs/ui/screens/AccountCenterScreen.js +4 -2
  54. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +33 -30
  56. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/FAQScreen.js +315 -0
  58. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -0
  59. package/lib/commonjs/ui/screens/FeedbackScreen.js +73 -590
  60. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/HelpSupportScreen.js +8 -7
  62. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +67 -1395
  64. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/ProfileScreen.js +13 -5
  66. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +16 -10
  68. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +23 -11
  70. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  71. package/lib/module/core/mixins/OxyServices.features.js +369 -0
  72. package/lib/module/core/mixins/OxyServices.features.js.map +1 -0
  73. package/lib/module/core/mixins/index.js +3 -2
  74. package/lib/module/core/mixins/index.js.map +1 -1
  75. package/lib/module/ui/components/GroupedItem.js +11 -1
  76. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  77. package/lib/module/ui/components/SettingRow.js +17 -4
  78. package/lib/module/ui/components/SettingRow.js.map +1 -1
  79. package/lib/module/ui/components/feedback/FormInput.js +67 -0
  80. package/lib/module/ui/components/feedback/FormInput.js.map +1 -0
  81. package/lib/module/ui/components/feedback/ProgressIndicator.js +28 -0
  82. package/lib/module/ui/components/feedback/ProgressIndicator.js.map +1 -0
  83. package/lib/module/ui/components/feedback/constants.js +55 -0
  84. package/lib/module/ui/components/feedback/constants.js.map +1 -0
  85. package/lib/module/ui/components/feedback/feedbackStyles.js +257 -0
  86. package/lib/module/ui/components/feedback/feedbackStyles.js.map +1 -0
  87. package/lib/module/ui/components/feedback/index.js +8 -0
  88. package/lib/module/ui/components/feedback/index.js.map +1 -0
  89. package/lib/module/ui/components/feedback/types.js +4 -0
  90. package/lib/module/ui/components/feedback/types.js.map +1 -0
  91. package/lib/module/ui/components/feedback/useFeedbackForm.js +47 -0
  92. package/lib/module/ui/components/feedback/useFeedbackForm.js.map +1 -0
  93. package/lib/module/ui/components/modals/DeleteAccountModal.js +276 -0
  94. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -0
  95. package/lib/module/ui/components/modals/index.js +4 -0
  96. package/lib/module/ui/components/modals/index.js.map +1 -0
  97. package/lib/module/ui/components/payment/PaymentDetailsStep.js +303 -0
  98. package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -0
  99. package/lib/module/ui/components/payment/PaymentMethodStep.js +73 -0
  100. package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -0
  101. package/lib/module/ui/components/payment/PaymentReviewStep.js +102 -0
  102. package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -0
  103. package/lib/module/ui/components/payment/PaymentSuccessStep.js +73 -0
  104. package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -0
  105. package/lib/module/ui/components/payment/PaymentSummaryStep.js +170 -0
  106. package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -0
  107. package/lib/module/ui/components/payment/constants.js +47 -0
  108. package/lib/module/ui/components/payment/constants.js.map +1 -0
  109. package/lib/module/ui/components/payment/index.js +10 -0
  110. package/lib/module/ui/components/payment/index.js.map +1 -0
  111. package/lib/module/ui/components/payment/paymentStyles.js +404 -0
  112. package/lib/module/ui/components/payment/paymentStyles.js.map +1 -0
  113. package/lib/module/ui/components/payment/types.js +4 -0
  114. package/lib/module/ui/components/payment/types.js.map +1 -0
  115. package/lib/module/ui/hooks/index.js +2 -0
  116. package/lib/module/ui/hooks/index.js.map +1 -1
  117. package/lib/module/ui/hooks/useAsyncAction.js +89 -0
  118. package/lib/module/ui/hooks/useAsyncAction.js.map +1 -0
  119. package/lib/module/ui/hooks/useSettingToggle.js +120 -0
  120. package/lib/module/ui/hooks/useSettingToggle.js.map +1 -0
  121. package/lib/module/ui/navigation/routes.js +1 -0
  122. package/lib/module/ui/navigation/routes.js.map +1 -1
  123. package/lib/module/ui/screens/AccountCenterScreen.js +4 -2
  124. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  125. package/lib/module/ui/screens/AccountOverviewScreen.js +33 -30
  126. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  127. package/lib/module/ui/screens/FAQScreen.js +310 -0
  128. package/lib/module/ui/screens/FAQScreen.js.map +1 -0
  129. package/lib/module/ui/screens/FeedbackScreen.js +64 -581
  130. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  131. package/lib/module/ui/screens/HelpSupportScreen.js +8 -7
  132. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  133. package/lib/module/ui/screens/PaymentGatewayScreen.js +67 -1397
  134. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  135. package/lib/module/ui/screens/ProfileScreen.js +13 -5
  136. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  137. package/lib/module/ui/screens/SavesCollectionsScreen.js +16 -10
  138. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  139. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +23 -11
  140. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  141. package/lib/typescript/core/mixins/OxyServices.features.d.ts +229 -0
  142. package/lib/typescript/core/mixins/OxyServices.features.d.ts.map +1 -0
  143. package/lib/typescript/core/mixins/index.d.ts +71 -1
  144. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  145. package/lib/typescript/ui/components/GroupedItem.d.ts +5 -1
  146. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
  147. package/lib/typescript/ui/components/SettingRow.d.ts +6 -0
  148. package/lib/typescript/ui/components/SettingRow.d.ts.map +1 -1
  149. package/lib/typescript/ui/components/feedback/FormInput.d.ts +20 -0
  150. package/lib/typescript/ui/components/feedback/FormInput.d.ts.map +1 -0
  151. package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts +11 -0
  152. package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts.map +1 -0
  153. package/lib/typescript/ui/components/feedback/constants.d.ts +5 -0
  154. package/lib/typescript/ui/components/feedback/constants.d.ts.map +1 -0
  155. package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts +280 -0
  156. package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts.map +1 -0
  157. package/lib/typescript/ui/components/feedback/index.d.ts +7 -0
  158. package/lib/typescript/ui/components/feedback/index.d.ts.map +1 -0
  159. package/lib/typescript/ui/components/feedback/types.d.ts +46 -0
  160. package/lib/typescript/ui/components/feedback/types.d.ts.map +1 -0
  161. package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts +9 -0
  162. package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts.map +1 -0
  163. package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts +19 -0
  164. package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts.map +1 -0
  165. package/lib/typescript/ui/components/modals/index.d.ts +2 -0
  166. package/lib/typescript/ui/components/modals/index.d.ts.map +1 -0
  167. package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts +21 -0
  168. package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -0
  169. package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts +14 -0
  170. package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts.map +1 -0
  171. package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts +16 -0
  172. package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts.map +1 -0
  173. package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts +10 -0
  174. package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -0
  175. package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts +15 -0
  176. package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -0
  177. package/lib/typescript/ui/components/payment/constants.d.ts +7 -0
  178. package/lib/typescript/ui/components/payment/constants.d.ts.map +1 -0
  179. package/lib/typescript/ui/components/payment/index.d.ts +9 -0
  180. package/lib/typescript/ui/components/payment/index.d.ts.map +1 -0
  181. package/lib/typescript/ui/components/payment/paymentStyles.d.ts +396 -0
  182. package/lib/typescript/ui/components/payment/paymentStyles.d.ts.map +1 -0
  183. package/lib/typescript/ui/components/payment/types.d.ts +40 -0
  184. package/lib/typescript/ui/components/payment/types.d.ts.map +1 -0
  185. package/lib/typescript/ui/hooks/index.d.ts +2 -0
  186. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  187. package/lib/typescript/ui/hooks/useAsyncAction.d.ts +51 -0
  188. package/lib/typescript/ui/hooks/useAsyncAction.d.ts.map +1 -0
  189. package/lib/typescript/ui/hooks/useSettingToggle.d.ts +55 -0
  190. package/lib/typescript/ui/hooks/useSettingToggle.d.ts.map +1 -0
  191. package/lib/typescript/ui/navigation/routes.d.ts +1 -1
  192. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  193. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  194. package/lib/typescript/ui/screens/FAQScreen.d.ts +5 -0
  195. package/lib/typescript/ui/screens/FAQScreen.d.ts.map +1 -0
  196. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
  197. package/lib/typescript/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  198. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +3 -15
  199. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  200. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  201. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  202. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  203. package/package.json +1 -1
  204. package/src/core/mixins/OxyServices.features.ts +428 -0
  205. package/src/core/mixins/index.ts +20 -17
  206. package/src/ui/components/GroupedItem.tsx +19 -1
  207. package/src/ui/components/SettingRow.tsx +26 -4
  208. package/src/ui/components/feedback/FormInput.tsx +84 -0
  209. package/src/ui/components/feedback/ProgressIndicator.tsx +35 -0
  210. package/src/ui/components/feedback/constants.ts +22 -0
  211. package/src/ui/components/feedback/feedbackStyles.ts +247 -0
  212. package/src/ui/components/feedback/index.ts +6 -0
  213. package/src/ui/components/feedback/types.ts +52 -0
  214. package/src/ui/components/feedback/useFeedbackForm.ts +44 -0
  215. package/src/ui/components/modals/DeleteAccountModal.tsx +294 -0
  216. package/src/ui/components/modals/index.ts +1 -0
  217. package/src/ui/components/payment/PaymentDetailsStep.tsx +222 -0
  218. package/src/ui/components/payment/PaymentMethodStep.tsx +89 -0
  219. package/src/ui/components/payment/PaymentReviewStep.tsx +126 -0
  220. package/src/ui/components/payment/PaymentSuccessStep.tsx +71 -0
  221. package/src/ui/components/payment/PaymentSummaryStep.tsx +159 -0
  222. package/src/ui/components/payment/constants.ts +39 -0
  223. package/src/ui/components/payment/index.ts +9 -0
  224. package/src/ui/components/payment/paymentStyles.ts +397 -0
  225. package/src/ui/components/payment/types.ts +45 -0
  226. package/src/ui/hooks/index.ts +3 -1
  227. package/src/ui/hooks/useAsyncAction.ts +129 -0
  228. package/src/ui/hooks/useSettingToggle.ts +147 -0
  229. package/src/ui/navigation/routes.ts +2 -0
  230. package/src/ui/screens/AccountCenterScreen.tsx +2 -2
  231. package/src/ui/screens/AccountOverviewScreen.tsx +35 -37
  232. package/src/ui/screens/FAQScreen.tsx +332 -0
  233. package/src/ui/screens/FeedbackScreen.tsx +91 -626
  234. package/src/ui/screens/HelpSupportScreen.tsx +7 -5
  235. package/src/ui/screens/PaymentGatewayScreen.tsx +96 -1275
  236. package/src/ui/screens/ProfileScreen.tsx +11 -6
  237. package/src/ui/screens/SavesCollectionsScreen.tsx +19 -10
  238. package/src/ui/screens/karma/KarmaCenterScreen.tsx +10 -10
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ export const FEEDBACK_TYPES = [{
4
+ id: 'bug',
5
+ label: 'Bug Report',
6
+ icon: 'bug',
7
+ color: '#FF3B30',
8
+ description: 'Report a problem or issue'
9
+ }, {
10
+ id: 'feature',
11
+ label: 'Feature Request',
12
+ icon: 'bulb',
13
+ color: '#007AFF',
14
+ description: 'Suggest a new feature'
15
+ }, {
16
+ id: 'general',
17
+ label: 'General Feedback',
18
+ icon: 'chatbubble',
19
+ color: '#34C759',
20
+ description: 'Share your thoughts'
21
+ }, {
22
+ id: 'support',
23
+ label: 'Support Request',
24
+ icon: 'help-circle',
25
+ color: '#FF9500',
26
+ description: 'Get help with something'
27
+ }];
28
+ export const PRIORITY_LEVELS = [{
29
+ id: 'low',
30
+ label: 'Low',
31
+ icon: 'arrow-down',
32
+ color: '#34C759'
33
+ }, {
34
+ id: 'medium',
35
+ label: 'Medium',
36
+ icon: 'remove',
37
+ color: '#FF9500'
38
+ }, {
39
+ id: 'high',
40
+ label: 'High',
41
+ icon: 'arrow-up',
42
+ color: '#FF3B30'
43
+ }, {
44
+ id: 'critical',
45
+ label: 'Critical',
46
+ icon: 'warning',
47
+ color: '#FF0000'
48
+ }];
49
+ export const CATEGORIES = {
50
+ bug: ['UI/UX', 'Performance', 'Authentication', 'File Management', 'Billing', 'Other'],
51
+ feature: ['User Interface', 'File Management', 'Security', 'Performance', 'Integration', 'Other'],
52
+ general: ['User Experience', 'Design', 'Performance', 'Documentation', 'Other'],
53
+ support: ['Account Issues', 'Billing', 'Technical Problems', 'Feature Questions', 'Other']
54
+ };
55
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FEEDBACK_TYPES","id","label","icon","color","description","PRIORITY_LEVELS","CATEGORIES","bug","feature","general","support"],"sourceRoot":"../../../../../src","sources":["ui/components/feedback/constants.ts"],"mappings":";;AAEA,OAAO,MAAMA,cAA8B,GAAG,CAC1C;EAAEC,EAAE,EAAE,KAAK;EAAEC,KAAK,EAAE,YAAY;EAAEC,IAAI,EAAE,KAAK;EAAEC,KAAK,EAAE,SAAS;EAAEC,WAAW,EAAE;AAA4B,CAAC,EAC3G;EAAEJ,EAAE,EAAE,SAAS;EAAEC,KAAK,EAAE,iBAAiB;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE,SAAS;EAAEC,WAAW,EAAE;AAAwB,CAAC,EACjH;EAAEJ,EAAE,EAAE,SAAS;EAAEC,KAAK,EAAE,kBAAkB;EAAEC,IAAI,EAAE,YAAY;EAAEC,KAAK,EAAE,SAAS;EAAEC,WAAW,EAAE;AAAsB,CAAC,EACtH;EAAEJ,EAAE,EAAE,SAAS;EAAEC,KAAK,EAAE,iBAAiB;EAAEC,IAAI,EAAE,aAAa;EAAEC,KAAK,EAAE,SAAS;EAAEC,WAAW,EAAE;AAA0B,CAAC,CAC7H;AAED,OAAO,MAAMC,eAAgC,GAAG,CAC5C;EAAEL,EAAE,EAAE,KAAK;EAAEC,KAAK,EAAE,KAAK;EAAEC,IAAI,EAAE,YAAY;EAAEC,KAAK,EAAE;AAAU,CAAC,EACjE;EAAEH,EAAE,EAAE,QAAQ;EAAEC,KAAK,EAAE,QAAQ;EAAEC,IAAI,EAAE,QAAQ;EAAEC,KAAK,EAAE;AAAU,CAAC,EACnE;EAAEH,EAAE,EAAE,MAAM;EAAEC,KAAK,EAAE,MAAM;EAAEC,IAAI,EAAE,UAAU;EAAEC,KAAK,EAAE;AAAU,CAAC,EACjE;EAAEH,EAAE,EAAE,UAAU;EAAEC,KAAK,EAAE,UAAU;EAAEC,IAAI,EAAE,SAAS;EAAEC,KAAK,EAAE;AAAU,CAAC,CAC3E;AAED,OAAO,MAAMG,UAAoC,GAAG;EAChDC,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC;EACtFC,OAAO,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC;EACjGC,OAAO,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC;EAC/EC,OAAO,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,OAAO;AAC7F,CAAC","ignoreList":[]}
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet, Platform } from 'react-native';
4
+ import { screenContentStyle } from '../../constants/spacing';
5
+ export const createFeedbackStyles = colors => StyleSheet.create({
6
+ container: {
7
+ flex: 1
8
+ },
9
+ fullBleed: {
10
+ width: '100%',
11
+ alignSelf: 'stretch'
12
+ },
13
+ scrollContent: {
14
+ flexGrow: 1,
15
+ ...screenContentStyle
16
+ },
17
+ stepContainer: {
18
+ flex: 1,
19
+ justifyContent: 'flex-start',
20
+ alignItems: 'flex-start'
21
+ },
22
+ modernHeader: {
23
+ alignItems: 'flex-start',
24
+ width: '100%',
25
+ marginBottom: 24
26
+ },
27
+ stepTitle: {
28
+ fontFamily: Platform.OS === 'web' ? 'Phudu' : 'Phudu-Bold',
29
+ fontWeight: Platform.OS === 'web' ? 'bold' : undefined,
30
+ fontSize: 42,
31
+ lineHeight: 48,
32
+ marginBottom: 12,
33
+ textAlign: 'left',
34
+ letterSpacing: -1
35
+ },
36
+ modernSubtitle: {
37
+ fontSize: 18,
38
+ lineHeight: 24,
39
+ textAlign: 'left',
40
+ opacity: 0.8,
41
+ marginBottom: 24
42
+ },
43
+ inputContainer: {
44
+ width: '100%',
45
+ marginBottom: 24
46
+ },
47
+ premiumInputWrapper: {
48
+ flexDirection: 'row',
49
+ alignItems: 'center',
50
+ height: 56,
51
+ borderRadius: 16,
52
+ paddingHorizontal: 20,
53
+ borderWidth: 2,
54
+ backgroundColor: colors.inputBackground
55
+ },
56
+ textAreaWrapper: {
57
+ flexDirection: 'column',
58
+ alignItems: 'flex-start',
59
+ minHeight: 120,
60
+ borderRadius: 16,
61
+ paddingHorizontal: 20,
62
+ paddingVertical: 16,
63
+ borderWidth: 2,
64
+ backgroundColor: colors.inputBackground
65
+ },
66
+ inputIcon: {
67
+ marginRight: 12
68
+ },
69
+ inputContent: {
70
+ flex: 1
71
+ },
72
+ modernLabel: {
73
+ fontSize: 12,
74
+ fontWeight: '500',
75
+ marginBottom: 2
76
+ },
77
+ modernInput: {
78
+ flex: 1,
79
+ fontSize: 16,
80
+ height: '100%'
81
+ },
82
+ textArea: {
83
+ flex: 1,
84
+ fontSize: 16,
85
+ textAlignVertical: 'top',
86
+ minHeight: 80
87
+ },
88
+ categoryContainer: {
89
+ marginBottom: 24
90
+ },
91
+ checkboxContainer: {
92
+ flexDirection: 'row',
93
+ alignItems: 'center',
94
+ marginBottom: 24
95
+ },
96
+ checkbox: {
97
+ width: 24,
98
+ height: 24,
99
+ borderRadius: 6,
100
+ borderWidth: 2,
101
+ marginRight: 12,
102
+ alignItems: 'center',
103
+ justifyContent: 'center'
104
+ },
105
+ checkboxText: {
106
+ fontSize: 16,
107
+ flex: 1
108
+ },
109
+ button: {
110
+ flexDirection: 'row',
111
+ alignItems: 'center',
112
+ justifyContent: 'center',
113
+ paddingVertical: 18,
114
+ paddingHorizontal: 32,
115
+ borderRadius: 16,
116
+ marginVertical: 8,
117
+ gap: 8,
118
+ width: '100%',
119
+ ...Platform.select({
120
+ web: {
121
+ boxShadow: '0 4px 8px rgba(0,0,0,0.3)'
122
+ },
123
+ default: {
124
+ shadowOffset: {
125
+ width: 0,
126
+ height: 4
127
+ },
128
+ shadowOpacity: 0.3,
129
+ shadowRadius: 8,
130
+ elevation: 6
131
+ }
132
+ })
133
+ },
134
+ buttonText: {
135
+ color: '#FFFFFF',
136
+ fontSize: 16,
137
+ fontWeight: '600',
138
+ letterSpacing: 0.5
139
+ },
140
+ navigationButtons: {
141
+ flexDirection: 'row',
142
+ justifyContent: 'center',
143
+ marginTop: 16,
144
+ marginBottom: 8,
145
+ width: '100%',
146
+ gap: 8
147
+ },
148
+ navButton: {
149
+ flexDirection: 'row',
150
+ alignItems: 'center',
151
+ paddingVertical: 6,
152
+ paddingHorizontal: 12,
153
+ gap: 6,
154
+ minWidth: 70,
155
+ borderWidth: 1,
156
+ ...Platform.select({
157
+ web: {
158
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)'
159
+ },
160
+ default: {
161
+ shadowOffset: {
162
+ width: 0,
163
+ height: 2
164
+ },
165
+ shadowOpacity: 0.1,
166
+ shadowRadius: 4,
167
+ elevation: 2
168
+ }
169
+ })
170
+ },
171
+ backButton: {
172
+ backgroundColor: 'transparent',
173
+ borderTopLeftRadius: 35,
174
+ borderBottomLeftRadius: 35,
175
+ borderTopRightRadius: 12,
176
+ borderBottomRightRadius: 12
177
+ },
178
+ nextButton: {
179
+ backgroundColor: 'transparent',
180
+ borderTopRightRadius: 35,
181
+ borderBottomRightRadius: 35,
182
+ borderTopLeftRadius: 12,
183
+ borderBottomLeftRadius: 12
184
+ },
185
+ navButtonText: {
186
+ fontSize: 13,
187
+ fontWeight: '500'
188
+ },
189
+ progressContainer: {
190
+ flexDirection: 'row',
191
+ justifyContent: 'center',
192
+ marginBottom: 20,
193
+ marginTop: 8
194
+ },
195
+ progressDot: {
196
+ height: 10,
197
+ width: 10,
198
+ borderRadius: 5,
199
+ marginHorizontal: 6,
200
+ borderWidth: 2,
201
+ borderColor: '#fff',
202
+ ...Platform.select({
203
+ web: {
204
+ boxShadow: '0 1px 2px rgba(0,0,0,0.08)'
205
+ },
206
+ default: {
207
+ shadowColor: colors.primary,
208
+ shadowOpacity: 0.08,
209
+ shadowOffset: {
210
+ width: 0,
211
+ height: 1
212
+ },
213
+ shadowRadius: 2,
214
+ elevation: 1
215
+ }
216
+ })
217
+ },
218
+ summaryContainer: {
219
+ padding: 0,
220
+ marginBottom: 24,
221
+ width: '100%'
222
+ },
223
+ summaryRow: {
224
+ flexDirection: 'row',
225
+ marginBottom: 10
226
+ },
227
+ summaryLabel: {
228
+ fontSize: 15,
229
+ width: 90
230
+ },
231
+ summaryValue: {
232
+ fontSize: 15,
233
+ fontWeight: '600',
234
+ flex: 1
235
+ },
236
+ successContainer: {
237
+ alignItems: 'center',
238
+ justifyContent: 'center',
239
+ padding: 40
240
+ },
241
+ successIcon: {
242
+ marginBottom: 24
243
+ },
244
+ successTitle: {
245
+ fontSize: 24,
246
+ fontWeight: 'bold',
247
+ marginBottom: 12,
248
+ textAlign: 'center'
249
+ },
250
+ successMessage: {
251
+ fontSize: 16,
252
+ textAlign: 'center',
253
+ opacity: 0.8,
254
+ marginBottom: 24
255
+ }
256
+ });
257
+ //# sourceMappingURL=feedbackStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Platform","screenContentStyle","createFeedbackStyles","colors","create","container","flex","fullBleed","width","alignSelf","scrollContent","flexGrow","stepContainer","justifyContent","alignItems","modernHeader","marginBottom","stepTitle","fontFamily","OS","fontWeight","undefined","fontSize","lineHeight","textAlign","letterSpacing","modernSubtitle","opacity","inputContainer","premiumInputWrapper","flexDirection","height","borderRadius","paddingHorizontal","borderWidth","backgroundColor","inputBackground","textAreaWrapper","minHeight","paddingVertical","inputIcon","marginRight","inputContent","modernLabel","modernInput","textArea","textAlignVertical","categoryContainer","checkboxContainer","checkbox","checkboxText","button","marginVertical","gap","select","web","boxShadow","default","shadowOffset","shadowOpacity","shadowRadius","elevation","buttonText","color","navigationButtons","marginTop","navButton","minWidth","backButton","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","nextButton","navButtonText","progressContainer","progressDot","marginHorizontal","borderColor","shadowColor","primary","summaryContainer","padding","summaryRow","summaryLabel","summaryValue","successContainer","successIcon","successTitle","successMessage"],"sourceRoot":"../../../../../src","sources":["ui/components/feedback/feedbackStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ export { default as FormInput } from './FormInput';
4
+ export { default as ProgressIndicator } from './ProgressIndicator';
5
+ export { useFeedbackForm } from './useFeedbackForm';
6
+ export { createFeedbackStyles } from './feedbackStyles';
7
+ export { FEEDBACK_TYPES, PRIORITY_LEVELS, CATEGORIES } from './constants';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","FormInput","ProgressIndicator","useFeedbackForm","createFeedbackStyles","FEEDBACK_TYPES","PRIORITY_LEVELS","CATEGORIES"],"sourceRoot":"../../../../../src","sources":["ui/components/feedback/index.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa;AAClD,SAASD,OAAO,IAAIE,iBAAiB,QAAQ,qBAAqB;AAClE,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,oBAAoB,QAAQ,kBAAkB;AACvD,SAASC,cAAc,EAAEC,eAAe,EAAEC,UAAU,QAAQ,aAAa","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["ui/components/feedback/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ import { useState, useCallback } from 'react';
4
+ export const useFeedbackForm = () => {
5
+ const [feedbackData, setFeedbackData] = useState({
6
+ type: 'general',
7
+ title: '',
8
+ description: '',
9
+ priority: 'medium',
10
+ category: '',
11
+ contactEmail: '',
12
+ systemInfo: true
13
+ });
14
+ const [feedbackState, setFeedbackState] = useState({
15
+ status: 'idle',
16
+ message: ''
17
+ });
18
+ const updateField = useCallback((field, value) => {
19
+ setFeedbackData(prev => ({
20
+ ...prev,
21
+ [field]: value
22
+ }));
23
+ }, []);
24
+ const resetForm = useCallback(() => {
25
+ setFeedbackData({
26
+ type: 'general',
27
+ title: '',
28
+ description: '',
29
+ priority: 'medium',
30
+ category: '',
31
+ contactEmail: '',
32
+ systemInfo: true
33
+ });
34
+ setFeedbackState({
35
+ status: 'idle',
36
+ message: ''
37
+ });
38
+ }, []);
39
+ return {
40
+ feedbackData,
41
+ feedbackState,
42
+ setFeedbackState,
43
+ updateField,
44
+ resetForm
45
+ };
46
+ };
47
+ //# sourceMappingURL=useFeedbackForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useCallback","useFeedbackForm","feedbackData","setFeedbackData","type","title","description","priority","category","contactEmail","systemInfo","feedbackState","setFeedbackState","status","message","updateField","field","value","prev","resetForm"],"sourceRoot":"../../../../../src","sources":["ui/components/feedback/useFeedbackForm.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AAG7C,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACjC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGJ,QAAQ,CAAe;IAC3DK,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE,EAAE;IACTC,WAAW,EAAE,EAAE;IACfC,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE,EAAE;IACZC,YAAY,EAAE,EAAE;IAChBC,UAAU,EAAE;EAChB,CAAC,CAAC;EAEF,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGb,QAAQ,CAAgB;IAC9Dc,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;EACb,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGf,WAAW,CAAC,CAA+BgB,KAAQ,EAAEC,KAAsB,KAAK;IAChGd,eAAe,CAACe,IAAI,KAAK;MAAE,GAAGA,IAAI;MAAE,CAACF,KAAK,GAAGC;IAAM,CAAC,CAAC,CAAC;EAC1D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,SAAS,GAAGnB,WAAW,CAAC,MAAM;IAChCG,eAAe,CAAC;MACZC,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,EAAE;MACTC,WAAW,EAAE,EAAE;MACfC,QAAQ,EAAE,QAAQ;MAClBC,QAAQ,EAAE,EAAE;MACZC,YAAY,EAAE,EAAE;MAChBC,UAAU,EAAE;IAChB,CAAC,CAAC;IACFE,gBAAgB,CAAC;MAAEC,MAAM,EAAE,MAAM;MAAEC,OAAO,EAAE;IAAG,CAAC,CAAC;EACrD,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACHZ,YAAY;IACZS,aAAa;IACbC,gBAAgB;IAChBG,WAAW;IACXI;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+
3
+ import React, { useState, useCallback } from 'react';
4
+ import { View, Text, TextInput, TouchableOpacity, StyleSheet, Modal, ActivityIndicator, KeyboardAvoidingView, Platform } from 'react-native';
5
+ import OxyIcon from '../icon/OxyIcon';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const DeleteAccountModal = ({
8
+ visible,
9
+ username,
10
+ onClose,
11
+ onDelete,
12
+ colors,
13
+ t
14
+ }) => {
15
+ const [password, setPassword] = useState('');
16
+ const [confirmUsername, setConfirmUsername] = useState('');
17
+ const [isDeleting, setIsDeleting] = useState(false);
18
+ const [error, setError] = useState(null);
19
+ const [showPassword, setShowPassword] = useState(false);
20
+ const isValid = password.length > 0 && confirmUsername === username;
21
+ const handleDelete = useCallback(async () => {
22
+ if (!isValid) return;
23
+ setError(null);
24
+ setIsDeleting(true);
25
+ try {
26
+ await onDelete(password);
27
+ // Modal will be closed by parent on success
28
+ } catch (err) {
29
+ setError(err?.message || t('deleteAccount.error') || 'Failed to delete account');
30
+ } finally {
31
+ setIsDeleting(false);
32
+ }
33
+ }, [isValid, password, onDelete, t]);
34
+ const handleClose = useCallback(() => {
35
+ if (isDeleting) return;
36
+ setPassword('');
37
+ setConfirmUsername('');
38
+ setError(null);
39
+ onClose();
40
+ }, [isDeleting, onClose]);
41
+ return /*#__PURE__*/_jsx(Modal, {
42
+ visible: visible,
43
+ transparent: true,
44
+ animationType: "fade",
45
+ onRequestClose: handleClose,
46
+ children: /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
47
+ behavior: Platform.OS === 'ios' ? 'padding' : 'height',
48
+ style: styles.overlay,
49
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
50
+ style: styles.backdrop,
51
+ activeOpacity: 1,
52
+ onPress: handleClose
53
+ }), /*#__PURE__*/_jsxs(View, {
54
+ style: [styles.modal, {
55
+ backgroundColor: colors.background
56
+ }],
57
+ children: [/*#__PURE__*/_jsxs(View, {
58
+ style: styles.header,
59
+ children: [/*#__PURE__*/_jsx(OxyIcon, {
60
+ name: "alert",
61
+ size: 32,
62
+ color: colors.danger
63
+ }), /*#__PURE__*/_jsx(Text, {
64
+ style: [styles.title, {
65
+ color: colors.danger
66
+ }],
67
+ children: t('deleteAccount.title') || 'Delete Account'
68
+ })]
69
+ }), /*#__PURE__*/_jsx(Text, {
70
+ style: [styles.warning, {
71
+ color: colors.text
72
+ }],
73
+ children: t('deleteAccount.warning') || 'This action cannot be undone. Your account and all associated data will be permanently deleted.'
74
+ }), error && /*#__PURE__*/_jsx(View, {
75
+ style: [styles.errorContainer, {
76
+ backgroundColor: colors.danger + '20'
77
+ }],
78
+ children: /*#__PURE__*/_jsx(Text, {
79
+ style: [styles.errorText, {
80
+ color: colors.danger
81
+ }],
82
+ children: error
83
+ })
84
+ }), /*#__PURE__*/_jsxs(View, {
85
+ style: styles.inputGroup,
86
+ children: [/*#__PURE__*/_jsx(Text, {
87
+ style: [styles.label, {
88
+ color: colors.secondaryText
89
+ }],
90
+ children: t('deleteAccount.passwordLabel') || 'Enter your password'
91
+ }), /*#__PURE__*/_jsxs(View, {
92
+ style: [styles.inputContainer, {
93
+ borderColor: colors.border,
94
+ backgroundColor: colors.inputBackground
95
+ }],
96
+ children: [/*#__PURE__*/_jsx(TextInput, {
97
+ style: [styles.input, {
98
+ color: colors.text
99
+ }],
100
+ value: password,
101
+ onChangeText: setPassword,
102
+ placeholder: t('deleteAccount.passwordPlaceholder') || 'Password',
103
+ placeholderTextColor: colors.secondaryText,
104
+ secureTextEntry: !showPassword,
105
+ autoCapitalize: "none",
106
+ editable: !isDeleting
107
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
108
+ onPress: () => setShowPassword(!showPassword),
109
+ style: styles.eyeButton,
110
+ children: /*#__PURE__*/_jsx(OxyIcon, {
111
+ name: showPassword ? 'eye-off' : 'eye',
112
+ size: 20,
113
+ color: colors.secondaryText
114
+ })
115
+ })]
116
+ })]
117
+ }), /*#__PURE__*/_jsxs(View, {
118
+ style: styles.inputGroup,
119
+ children: [/*#__PURE__*/_jsx(Text, {
120
+ style: [styles.label, {
121
+ color: colors.secondaryText
122
+ }],
123
+ children: t('deleteAccount.confirmLabel', {
124
+ username
125
+ }) || `Type "${username}" to confirm`
126
+ }), /*#__PURE__*/_jsx(TextInput, {
127
+ style: [styles.input, styles.confirmInput, {
128
+ borderColor: confirmUsername === username ? '#34C759' : colors.border,
129
+ backgroundColor: colors.inputBackground,
130
+ color: colors.text
131
+ }],
132
+ value: confirmUsername,
133
+ onChangeText: setConfirmUsername,
134
+ placeholder: username,
135
+ placeholderTextColor: colors.secondaryText,
136
+ autoCapitalize: "none",
137
+ autoCorrect: false,
138
+ editable: !isDeleting
139
+ })]
140
+ }), /*#__PURE__*/_jsxs(View, {
141
+ style: styles.buttons,
142
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
143
+ style: [styles.button, styles.cancelButton, {
144
+ borderColor: colors.border
145
+ }],
146
+ onPress: handleClose,
147
+ disabled: isDeleting,
148
+ children: /*#__PURE__*/_jsx(Text, {
149
+ style: [styles.buttonText, {
150
+ color: colors.text
151
+ }],
152
+ children: t('common.cancel') || 'Cancel'
153
+ })
154
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
155
+ style: [styles.button, styles.deleteButton, {
156
+ backgroundColor: isValid ? colors.danger : colors.danger + '50'
157
+ }],
158
+ onPress: handleDelete,
159
+ disabled: !isValid || isDeleting,
160
+ children: isDeleting ? /*#__PURE__*/_jsx(ActivityIndicator, {
161
+ color: "#fff",
162
+ size: "small"
163
+ }) : /*#__PURE__*/_jsx(Text, {
164
+ style: styles.deleteButtonText,
165
+ children: t('deleteAccount.confirm') || 'Delete Forever'
166
+ })
167
+ })]
168
+ })]
169
+ })]
170
+ })
171
+ });
172
+ };
173
+ const styles = StyleSheet.create({
174
+ overlay: {
175
+ flex: 1,
176
+ justifyContent: 'center',
177
+ alignItems: 'center'
178
+ },
179
+ backdrop: {
180
+ ...StyleSheet.absoluteFillObject,
181
+ backgroundColor: 'rgba(0, 0, 0, 0.5)'
182
+ },
183
+ modal: {
184
+ width: '90%',
185
+ maxWidth: 400,
186
+ borderRadius: 16,
187
+ padding: 24,
188
+ shadowColor: '#000',
189
+ shadowOffset: {
190
+ width: 0,
191
+ height: 4
192
+ },
193
+ shadowOpacity: 0.3,
194
+ shadowRadius: 8,
195
+ elevation: 8
196
+ },
197
+ header: {
198
+ flexDirection: 'row',
199
+ alignItems: 'center',
200
+ marginBottom: 16,
201
+ gap: 12
202
+ },
203
+ title: {
204
+ fontSize: 20,
205
+ fontWeight: '700'
206
+ },
207
+ warning: {
208
+ fontSize: 14,
209
+ lineHeight: 20,
210
+ marginBottom: 20
211
+ },
212
+ errorContainer: {
213
+ padding: 12,
214
+ borderRadius: 8,
215
+ marginBottom: 16
216
+ },
217
+ errorText: {
218
+ fontSize: 14,
219
+ textAlign: 'center'
220
+ },
221
+ inputGroup: {
222
+ marginBottom: 16
223
+ },
224
+ label: {
225
+ fontSize: 13,
226
+ marginBottom: 8
227
+ },
228
+ inputContainer: {
229
+ flexDirection: 'row',
230
+ alignItems: 'center',
231
+ borderWidth: 1,
232
+ borderRadius: 8
233
+ },
234
+ input: {
235
+ flex: 1,
236
+ fontSize: 16,
237
+ paddingVertical: 12,
238
+ paddingHorizontal: 16
239
+ },
240
+ confirmInput: {
241
+ borderWidth: 1,
242
+ borderRadius: 8
243
+ },
244
+ eyeButton: {
245
+ padding: 12
246
+ },
247
+ buttons: {
248
+ flexDirection: 'row',
249
+ gap: 12,
250
+ marginTop: 8
251
+ },
252
+ button: {
253
+ flex: 1,
254
+ paddingVertical: 14,
255
+ borderRadius: 8,
256
+ alignItems: 'center',
257
+ justifyContent: 'center'
258
+ },
259
+ cancelButton: {
260
+ borderWidth: 1
261
+ },
262
+ deleteButton: {
263
+ minHeight: 48
264
+ },
265
+ buttonText: {
266
+ fontSize: 16,
267
+ fontWeight: '600'
268
+ },
269
+ deleteButtonText: {
270
+ fontSize: 16,
271
+ fontWeight: '600',
272
+ color: '#fff'
273
+ }
274
+ });
275
+ export default DeleteAccountModal;
276
+ //# sourceMappingURL=DeleteAccountModal.js.map