@burdenoff/microfe-coolandlovely 2026.614.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 (284) hide show
  1. package/README.md +12 -0
  2. package/dist/coolandlovely/CoolAndLovelyRoot.d.ts +5 -0
  3. package/dist/coolandlovely/CoolAndLovelyRoot.d.ts.map +1 -0
  4. package/dist/coolandlovely/CoolAndLovelyRoot.js +177 -0
  5. package/dist/coolandlovely/CoolAndLovelyRoot.js.map +1 -0
  6. package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts +4 -0
  7. package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts.map +1 -0
  8. package/dist/coolandlovely/CoolAndLovelyRoutes.js +215 -0
  9. package/dist/coolandlovely/CoolAndLovelyRoutes.js.map +1 -0
  10. package/dist/coolandlovely/components/CartCard.d.ts +18 -0
  11. package/dist/coolandlovely/components/CartCard.d.ts.map +1 -0
  12. package/dist/coolandlovely/components/EmptyState.d.ts +12 -0
  13. package/dist/coolandlovely/components/EmptyState.d.ts.map +1 -0
  14. package/dist/coolandlovely/components/EmptyState.js +28 -0
  15. package/dist/coolandlovely/components/EmptyState.js.map +1 -0
  16. package/dist/coolandlovely/components/InvestmentCard.d.ts +18 -0
  17. package/dist/coolandlovely/components/InvestmentCard.d.ts.map +1 -0
  18. package/dist/coolandlovely/components/InvestmentCard.js +96 -0
  19. package/dist/coolandlovely/components/InvestmentCard.js.map +1 -0
  20. package/dist/coolandlovely/components/MetricsCard.d.ts +14 -0
  21. package/dist/coolandlovely/components/MetricsCard.d.ts.map +1 -0
  22. package/dist/coolandlovely/components/MetricsCard.js +46 -0
  23. package/dist/coolandlovely/components/MetricsCard.js.map +1 -0
  24. package/dist/coolandlovely/components/OrderCard.d.ts +18 -0
  25. package/dist/coolandlovely/components/OrderCard.d.ts.map +1 -0
  26. package/dist/coolandlovely/components/PageLayout.d.ts +12 -0
  27. package/dist/coolandlovely/components/PageLayout.d.ts.map +1 -0
  28. package/dist/coolandlovely/components/PageLayout.js +26 -0
  29. package/dist/coolandlovely/components/PageLayout.js.map +1 -0
  30. package/dist/coolandlovely/components/RatingDisplay.d.ts +12 -0
  31. package/dist/coolandlovely/components/RatingDisplay.d.ts.map +1 -0
  32. package/dist/coolandlovely/components/RatingDisplay.js +35 -0
  33. package/dist/coolandlovely/components/RatingDisplay.js.map +1 -0
  34. package/dist/coolandlovely/components/StatusBadge.d.ts +9 -0
  35. package/dist/coolandlovely/components/StatusBadge.d.ts.map +1 -0
  36. package/dist/coolandlovely/components/StatusBadge.js +45 -0
  37. package/dist/coolandlovely/components/StatusBadge.js.map +1 -0
  38. package/dist/coolandlovely/components/index.d.ts +13 -0
  39. package/dist/coolandlovely/components/index.d.ts.map +1 -0
  40. package/dist/coolandlovely/context/CoolAndLovelyContext.d.ts +16 -0
  41. package/dist/coolandlovely/context/CoolAndLovelyContext.d.ts.map +1 -0
  42. package/dist/coolandlovely/context/CoolAndLovelyContext.js +93 -0
  43. package/dist/coolandlovely/context/CoolAndLovelyContext.js.map +1 -0
  44. package/dist/coolandlovely/context/index.d.ts +6 -0
  45. package/dist/coolandlovely/context/index.d.ts.map +1 -0
  46. package/dist/coolandlovely/context/index.js +1 -0
  47. package/dist/coolandlovely/hooks/index.d.ts +2 -0
  48. package/dist/coolandlovely/hooks/index.d.ts.map +1 -0
  49. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts +44 -0
  50. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts.map +1 -0
  51. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js +223 -0
  52. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js.map +1 -0
  53. package/dist/coolandlovely/index.d.ts +11 -0
  54. package/dist/coolandlovely/index.d.ts.map +1 -0
  55. package/dist/coolandlovely/index.js +7 -0
  56. package/dist/coolandlovely/mocks/data.d.ts +61 -0
  57. package/dist/coolandlovely/mocks/data.d.ts.map +1 -0
  58. package/dist/coolandlovely/mocks/data.js +1517 -0
  59. package/dist/coolandlovely/mocks/data.js.map +1 -0
  60. package/dist/coolandlovely/mocks/index.d.ts +7 -0
  61. package/dist/coolandlovely/mocks/index.d.ts.map +1 -0
  62. package/dist/coolandlovely/mocks/users.d.ts +18 -0
  63. package/dist/coolandlovely/mocks/users.d.ts.map +1 -0
  64. package/dist/coolandlovely/mocks/users.js +34 -0
  65. package/dist/coolandlovely/mocks/users.js.map +1 -0
  66. package/dist/coolandlovely/pages/HomePage.d.ts +10 -0
  67. package/dist/coolandlovely/pages/HomePage.d.ts.map +1 -0
  68. package/dist/coolandlovely/pages/HomePage.js +921 -0
  69. package/dist/coolandlovely/pages/HomePage.js.map +1 -0
  70. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.d.ts +11 -0
  71. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.d.ts.map +1 -0
  72. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js +645 -0
  73. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js.map +1 -0
  74. package/dist/coolandlovely/pages/admin/AdminDashboard.d.ts +10 -0
  75. package/dist/coolandlovely/pages/admin/AdminDashboard.d.ts.map +1 -0
  76. package/dist/coolandlovely/pages/admin/AdminDashboard.js +639 -0
  77. package/dist/coolandlovely/pages/admin/AdminDashboard.js.map +1 -0
  78. package/dist/coolandlovely/pages/admin/AdminFinancialPage.d.ts +11 -0
  79. package/dist/coolandlovely/pages/admin/AdminFinancialPage.d.ts.map +1 -0
  80. package/dist/coolandlovely/pages/admin/AdminFinancialPage.js +421 -0
  81. package/dist/coolandlovely/pages/admin/AdminFinancialPage.js.map +1 -0
  82. package/dist/coolandlovely/pages/admin/AdminOrdersPage.d.ts +10 -0
  83. package/dist/coolandlovely/pages/admin/AdminOrdersPage.d.ts.map +1 -0
  84. package/dist/coolandlovely/pages/admin/AdminOrdersPage.js +660 -0
  85. package/dist/coolandlovely/pages/admin/AdminOrdersPage.js.map +1 -0
  86. package/dist/coolandlovely/pages/admin/AdminProfilePage.d.ts +10 -0
  87. package/dist/coolandlovely/pages/admin/AdminProfilePage.d.ts.map +1 -0
  88. package/dist/coolandlovely/pages/admin/AdminProfilePage.js +259 -0
  89. package/dist/coolandlovely/pages/admin/AdminProfilePage.js.map +1 -0
  90. package/dist/coolandlovely/pages/admin/AdminSettingsPage.d.ts +10 -0
  91. package/dist/coolandlovely/pages/admin/AdminSettingsPage.d.ts.map +1 -0
  92. package/dist/coolandlovely/pages/admin/AdminSettingsPage.js +649 -0
  93. package/dist/coolandlovely/pages/admin/AdminSettingsPage.js.map +1 -0
  94. package/dist/coolandlovely/pages/admin/CartManagementPage.d.ts +10 -0
  95. package/dist/coolandlovely/pages/admin/CartManagementPage.d.ts.map +1 -0
  96. package/dist/coolandlovely/pages/admin/CartManagementPage.js +869 -0
  97. package/dist/coolandlovely/pages/admin/CartManagementPage.js.map +1 -0
  98. package/dist/coolandlovely/pages/admin/UserManagementPage.d.ts +10 -0
  99. package/dist/coolandlovely/pages/admin/UserManagementPage.d.ts.map +1 -0
  100. package/dist/coolandlovely/pages/admin/UserManagementPage.js +893 -0
  101. package/dist/coolandlovely/pages/admin/UserManagementPage.js.map +1 -0
  102. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.d.ts +12 -0
  103. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.d.ts.map +1 -0
  104. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js +834 -0
  105. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js.map +1 -0
  106. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.d.ts +11 -0
  107. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.d.ts.map +1 -0
  108. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js +700 -0
  109. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js.map +1 -0
  110. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.d.ts +11 -0
  111. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.d.ts.map +1 -0
  112. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js +760 -0
  113. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js.map +1 -0
  114. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.d.ts +12 -0
  115. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.d.ts.map +1 -0
  116. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js +886 -0
  117. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js.map +1 -0
  118. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.d.ts +11 -0
  119. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.d.ts.map +1 -0
  120. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js +631 -0
  121. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js.map +1 -0
  122. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.d.ts +11 -0
  123. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.d.ts.map +1 -0
  124. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js +913 -0
  125. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js.map +1 -0
  126. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.d.ts +10 -0
  127. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.d.ts.map +1 -0
  128. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js +881 -0
  129. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js.map +1 -0
  130. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.d.ts +11 -0
  131. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.d.ts.map +1 -0
  132. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js +833 -0
  133. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js.map +1 -0
  134. package/dist/coolandlovely/pages/common/HelpSupportPage.d.ts +11 -0
  135. package/dist/coolandlovely/pages/common/HelpSupportPage.d.ts.map +1 -0
  136. package/dist/coolandlovely/pages/common/HelpSupportPage.js +1325 -0
  137. package/dist/coolandlovely/pages/common/HelpSupportPage.js.map +1 -0
  138. package/dist/coolandlovely/pages/common/NotificationCenterPage.d.ts +11 -0
  139. package/dist/coolandlovely/pages/common/NotificationCenterPage.d.ts.map +1 -0
  140. package/dist/coolandlovely/pages/common/NotificationCenterPage.js +665 -0
  141. package/dist/coolandlovely/pages/common/NotificationCenterPage.js.map +1 -0
  142. package/dist/coolandlovely/pages/common/SettingsPage.d.ts +9 -0
  143. package/dist/coolandlovely/pages/common/SettingsPage.d.ts.map +1 -0
  144. package/dist/coolandlovely/pages/common/SettingsPage.js +964 -0
  145. package/dist/coolandlovely/pages/common/SettingsPage.js.map +1 -0
  146. package/dist/coolandlovely/pages/customer/BookingDetailsPage.d.ts +12 -0
  147. package/dist/coolandlovely/pages/customer/BookingDetailsPage.d.ts.map +1 -0
  148. package/dist/coolandlovely/pages/customer/BookingDetailsPage.js +593 -0
  149. package/dist/coolandlovely/pages/customer/BookingDetailsPage.js.map +1 -0
  150. package/dist/coolandlovely/pages/customer/CartDetailPage.d.ts +13 -0
  151. package/dist/coolandlovely/pages/customer/CartDetailPage.d.ts.map +1 -0
  152. package/dist/coolandlovely/pages/customer/CartDetailPage.js +620 -0
  153. package/dist/coolandlovely/pages/customer/CartDetailPage.js.map +1 -0
  154. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.d.ts +11 -0
  155. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.d.ts.map +1 -0
  156. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js +547 -0
  157. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js.map +1 -0
  158. package/dist/coolandlovely/pages/customer/CheckoutPage.d.ts +9 -0
  159. package/dist/coolandlovely/pages/customer/CheckoutPage.d.ts.map +1 -0
  160. package/dist/coolandlovely/pages/customer/CheckoutPage.js +532 -0
  161. package/dist/coolandlovely/pages/customer/CheckoutPage.js.map +1 -0
  162. package/dist/coolandlovely/pages/customer/CustomerDashboard.d.ts +10 -0
  163. package/dist/coolandlovely/pages/customer/CustomerDashboard.d.ts.map +1 -0
  164. package/dist/coolandlovely/pages/customer/CustomerDashboard.js +496 -0
  165. package/dist/coolandlovely/pages/customer/CustomerDashboard.js.map +1 -0
  166. package/dist/coolandlovely/pages/customer/CustomerProfilePage.d.ts +10 -0
  167. package/dist/coolandlovely/pages/customer/CustomerProfilePage.d.ts.map +1 -0
  168. package/dist/coolandlovely/pages/customer/CustomerProfilePage.js +621 -0
  169. package/dist/coolandlovely/pages/customer/CustomerProfilePage.js.map +1 -0
  170. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.d.ts +12 -0
  171. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.d.ts.map +1 -0
  172. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js +623 -0
  173. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js.map +1 -0
  174. package/dist/coolandlovely/pages/customer/FavoritesPage.d.ts +11 -0
  175. package/dist/coolandlovely/pages/customer/FavoritesPage.d.ts.map +1 -0
  176. package/dist/coolandlovely/pages/customer/FavoritesPage.js +477 -0
  177. package/dist/coolandlovely/pages/customer/FavoritesPage.js.map +1 -0
  178. package/dist/coolandlovely/pages/customer/OrderHistoryPage.d.ts +9 -0
  179. package/dist/coolandlovely/pages/customer/OrderHistoryPage.d.ts.map +1 -0
  180. package/dist/coolandlovely/pages/customer/OrderHistoryPage.js +438 -0
  181. package/dist/coolandlovely/pages/customer/OrderHistoryPage.js.map +1 -0
  182. package/dist/coolandlovely/pages/customer/OrderTrackingPage.d.ts +9 -0
  183. package/dist/coolandlovely/pages/customer/OrderTrackingPage.d.ts.map +1 -0
  184. package/dist/coolandlovely/pages/customer/OrderTrackingPage.js +388 -0
  185. package/dist/coolandlovely/pages/customer/OrderTrackingPage.js.map +1 -0
  186. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.d.ts +11 -0
  187. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.d.ts.map +1 -0
  188. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js +488 -0
  189. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js.map +1 -0
  190. package/dist/coolandlovely/pages/customer/ReviewsPage.d.ts +11 -0
  191. package/dist/coolandlovely/pages/customer/ReviewsPage.d.ts.map +1 -0
  192. package/dist/coolandlovely/pages/customer/ReviewsPage.js +606 -0
  193. package/dist/coolandlovely/pages/customer/ReviewsPage.js.map +1 -0
  194. package/dist/coolandlovely/pages/customer/SavedAddressesPage.d.ts +10 -0
  195. package/dist/coolandlovely/pages/customer/SavedAddressesPage.d.ts.map +1 -0
  196. package/dist/coolandlovely/pages/customer/SavedAddressesPage.js +443 -0
  197. package/dist/coolandlovely/pages/customer/SavedAddressesPage.js.map +1 -0
  198. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.d.ts +10 -0
  199. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.d.ts.map +1 -0
  200. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js +849 -0
  201. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js.map +1 -0
  202. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.d.ts +10 -0
  203. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.d.ts.map +1 -0
  204. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js +939 -0
  205. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js.map +1 -0
  206. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.d.ts +11 -0
  207. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.d.ts.map +1 -0
  208. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js +681 -0
  209. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js.map +1 -0
  210. package/dist/coolandlovely/pages/investor/InvestorDashboard.d.ts +9 -0
  211. package/dist/coolandlovely/pages/investor/InvestorDashboard.d.ts.map +1 -0
  212. package/dist/coolandlovely/pages/investor/InvestorDashboard.js +419 -0
  213. package/dist/coolandlovely/pages/investor/InvestorDashboard.js.map +1 -0
  214. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.d.ts +10 -0
  215. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.d.ts.map +1 -0
  216. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js +399 -0
  217. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js.map +1 -0
  218. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.d.ts +10 -0
  219. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.d.ts.map +1 -0
  220. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js +569 -0
  221. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js.map +1 -0
  222. package/dist/coolandlovely/pages/investor/InvestorProfilePage.d.ts +12 -0
  223. package/dist/coolandlovely/pages/investor/InvestorProfilePage.d.ts.map +1 -0
  224. package/dist/coolandlovely/pages/investor/InvestorProfilePage.js +1065 -0
  225. package/dist/coolandlovely/pages/investor/InvestorProfilePage.js.map +1 -0
  226. package/dist/coolandlovely/pages/worker/TaskDetailsPage.d.ts +22 -0
  227. package/dist/coolandlovely/pages/worker/TaskDetailsPage.d.ts.map +1 -0
  228. package/dist/coolandlovely/pages/worker/TaskDetailsPage.js +496 -0
  229. package/dist/coolandlovely/pages/worker/TaskDetailsPage.js.map +1 -0
  230. package/dist/coolandlovely/pages/worker/WorkerDashboard.d.ts +18 -0
  231. package/dist/coolandlovely/pages/worker/WorkerDashboard.d.ts.map +1 -0
  232. package/dist/coolandlovely/pages/worker/WorkerDashboard.js +634 -0
  233. package/dist/coolandlovely/pages/worker/WorkerDashboard.js.map +1 -0
  234. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.d.ts +18 -0
  235. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.d.ts.map +1 -0
  236. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js +675 -0
  237. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js.map +1 -0
  238. package/dist/coolandlovely/pages/worker/WorkerProfilePage.d.ts +18 -0
  239. package/dist/coolandlovely/pages/worker/WorkerProfilePage.d.ts.map +1 -0
  240. package/dist/coolandlovely/pages/worker/WorkerProfilePage.js +687 -0
  241. package/dist/coolandlovely/pages/worker/WorkerProfilePage.js.map +1 -0
  242. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.d.ts +17 -0
  243. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.d.ts.map +1 -0
  244. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js +578 -0
  245. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js.map +1 -0
  246. package/dist/coolandlovely/store/coolandlovelyStore.d.ts +60 -0
  247. package/dist/coolandlovely/store/coolandlovelyStore.d.ts.map +1 -0
  248. package/dist/coolandlovely/store/coolandlovelyStore.js +38 -0
  249. package/dist/coolandlovely/store/coolandlovelyStore.js.map +1 -0
  250. package/dist/coolandlovely/store/index.d.ts +6 -0
  251. package/dist/coolandlovely/store/index.d.ts.map +1 -0
  252. package/dist/coolandlovely/store/index.js +1 -0
  253. package/dist/coolandlovely/types/index.d.ts +458 -0
  254. package/dist/coolandlovely/types/index.d.ts.map +1 -0
  255. package/dist/coolandlovely/utils/cn.d.ts +4 -0
  256. package/dist/coolandlovely/utils/cn.d.ts.map +1 -0
  257. package/dist/coolandlovely/utils/cn.js +10 -0
  258. package/dist/coolandlovely/utils/cn.js.map +1 -0
  259. package/dist/coolandlovely/utils/formatters.d.ts +78 -0
  260. package/dist/coolandlovely/utils/formatters.d.ts.map +1 -0
  261. package/dist/coolandlovely/utils/formatters.js +51 -0
  262. package/dist/coolandlovely/utils/formatters.js.map +1 -0
  263. package/dist/coolandlovely/utils/index.d.ts +8 -0
  264. package/dist/coolandlovely/utils/index.d.ts.map +1 -0
  265. package/dist/coolandlovely/utils/navigation.d.ts +20 -0
  266. package/dist/coolandlovely/utils/navigation.d.ts.map +1 -0
  267. package/dist/coolandlovely/utils/navigation.js +9 -0
  268. package/dist/coolandlovely/utils/navigation.js.map +1 -0
  269. package/dist/generated/global-operations.d.ts +2 -0
  270. package/dist/generated/global-operations.d.ts.map +1 -0
  271. package/dist/generated/global-types.d.ts +23527 -0
  272. package/dist/generated/global-types.d.ts.map +1 -0
  273. package/dist/generated/wspace-operations.d.ts +2 -0
  274. package/dist/generated/wspace-operations.d.ts.map +1 -0
  275. package/dist/generated/wspace-types.d.ts +57851 -0
  276. package/dist/generated/wspace-types.d.ts.map +1 -0
  277. package/dist/index.d.ts +6 -0
  278. package/dist/index.d.ts.map +1 -0
  279. package/dist/index.js +7 -0
  280. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +18 -0
  281. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -0
  282. package/dist/node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
  283. package/dist/node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  284. package/package.json +106 -0
@@ -0,0 +1,964 @@
1
+ import { useCoolAndLovely as e } from "../../context/CoolAndLovelyContext.js";
2
+ import { cn as t } from "../../utils/cn.js";
3
+ import { PageLayout as n } from "../../components/PageLayout.js";
4
+ import { useCallback as r, useMemo as i, useState as a } from "react";
5
+ import { useI18n as o } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
+ import { AlertTriangle as s, Bell as c, Building2 as l, Camera as u, CheckCircle2 as d, CreditCard as f, Eye as p, Globe as m, Laptop as h, Loader2 as g, Lock as _, LogOut as v, MapPin as y, Monitor as b, Moon as x, Receipt as S, RotateCcw as C, Save as w, Settings as T, Shield as E, Smartphone as D, Sun as O, Trash2 as k, User as A } from "lucide-react";
7
+ import { Fragment as j, jsx as M, jsxs as N } from "react/jsx-runtime";
8
+ //#region src/coolandlovely/pages/common/SettingsPage.tsx
9
+ var P = {
10
+ profile: {
11
+ firstName: "Priya",
12
+ lastName: "Customer",
13
+ email: "customer@burdenoff.com",
14
+ phone: "+91 98765 43220",
15
+ bio: "Food enthusiast and tech lover. Always exploring new services and experiences in Bangalore.",
16
+ dateOfBirth: "1992-08-15",
17
+ gender: "female",
18
+ profilePicture: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200"
19
+ },
20
+ preferences: {
21
+ theme: "system",
22
+ language: "en",
23
+ timezone: "Asia/Kolkata",
24
+ currency: "INR",
25
+ notifications: {
26
+ email: !0,
27
+ sms: !0,
28
+ push: !0,
29
+ orderUpdates: !0,
30
+ promotions: !1,
31
+ newsletters: !1,
32
+ security: !0
33
+ }
34
+ },
35
+ security: {
36
+ twoFactorEnabled: !1,
37
+ loginAlerts: !0,
38
+ sessionTimeout: "30",
39
+ trustedDevices: [
40
+ {
41
+ id: "dev-1",
42
+ name: "MacBook Pro",
43
+ browser: "Chrome 126.0",
44
+ os: "macOS Sonoma",
45
+ lastActive: "2024-06-24T09:30:00Z",
46
+ isCurrent: !0
47
+ },
48
+ {
49
+ id: "dev-2",
50
+ name: "iPhone 15",
51
+ browser: "Safari Mobile",
52
+ os: "iOS 17.5",
53
+ lastActive: "2024-06-23T18:45:00Z",
54
+ isCurrent: !1
55
+ },
56
+ {
57
+ id: "dev-3",
58
+ name: "Samsung Galaxy S24",
59
+ browser: "Chrome Mobile",
60
+ os: "Android 14",
61
+ lastActive: "2024-06-20T12:00:00Z",
62
+ isCurrent: !1
63
+ }
64
+ ]
65
+ },
66
+ privacy: {
67
+ profileVisibility: "private",
68
+ dataSharing: {
69
+ analytics: !0,
70
+ marketing: !1,
71
+ thirdParty: !1
72
+ },
73
+ locationTracking: !0,
74
+ activityHistory: !0
75
+ },
76
+ billing: {
77
+ paymentMethod: {
78
+ type: "card",
79
+ last4: "4532",
80
+ provider: "Visa"
81
+ },
82
+ autoRecharge: !1,
83
+ autoRechargeAmount: "1000",
84
+ invoiceEmail: "customer@burdenoff.com",
85
+ gstNumber: "29ABCDE1234F1Z5",
86
+ companyName: "",
87
+ billingAddress: "123 Tech Park, Koramangala, Bangalore 560034"
88
+ }
89
+ }, F = [
90
+ {
91
+ id: "profile",
92
+ label: "Profile",
93
+ icon: A
94
+ },
95
+ {
96
+ id: "preferences",
97
+ label: "Preferences",
98
+ icon: T
99
+ },
100
+ {
101
+ id: "security",
102
+ label: "Security",
103
+ icon: E
104
+ },
105
+ {
106
+ id: "privacy",
107
+ label: "Privacy",
108
+ icon: p
109
+ },
110
+ {
111
+ id: "billing",
112
+ label: "Billing",
113
+ icon: f
114
+ }
115
+ ];
116
+ function I({ checked: e, onChange: n, label: r }) {
117
+ return /* @__PURE__ */ M("button", {
118
+ type: "button",
119
+ role: "switch",
120
+ "aria-checked": e,
121
+ "aria-label": r,
122
+ onClick: () => n(!e),
123
+ className: t("relative inline-flex h-6 w-11 items-center rounded-full transition-colors shrink-0", e ? "bg-primary" : "bg-muted"),
124
+ children: /* @__PURE__ */ M("span", { className: t("inline-block h-4 w-4 transform rounded-full bg-white transition-transform", e ? "translate-x-6" : "translate-x-1") })
125
+ });
126
+ }
127
+ function L() {
128
+ let { currentUser: T } = e(), { t: E } = o(), [A, L] = a("profile"), [R, z] = a(() => {
129
+ let e = { ...P };
130
+ return T?.firstName && (e.profile.firstName = T.firstName), T?.lastName && (e.profile.lastName = T.lastName), T?.email && (e.profile.email = T.email), e;
131
+ }), [B, V] = a(!1), [H, U] = a(!1), [W, G] = a(""), K = r((e, t) => {
132
+ let n = E(e);
133
+ return n === e ? t : n;
134
+ }, [E]), q = i(() => F.map((e) => ({
135
+ ...e,
136
+ label: e.id === "profile" ? K("coolandlovely.settings.tabs.profile", "Profile") : e.id === "preferences" ? K("coolandlovely.settings.tabs.preferences", "Preferences") : e.id === "security" ? K("coolandlovely.settings.tabs.security", "Security") : e.id === "privacy" ? K("coolandlovely.settings.tabs.privacy", "Privacy") : K("coolandlovely.settings.tabs.billing", "Billing")
137
+ })), [K]), J = r((e, t, n) => {
138
+ z((r) => ({
139
+ ...r,
140
+ [e]: {
141
+ ...r[e],
142
+ [t]: n
143
+ }
144
+ })), V(!0), G("");
145
+ }, []), Y = r((e, t, n, r) => {
146
+ z((i) => ({
147
+ ...i,
148
+ [e]: {
149
+ ...i[e],
150
+ [t]: {
151
+ ...i[e][t],
152
+ [n]: r
153
+ }
154
+ }
155
+ })), V(!0), G("");
156
+ }, []), X = r(() => {
157
+ z(P), V(!1), G("");
158
+ }, []), Z = r(async () => {
159
+ if (!R.profile.firstName.trim() || !R.profile.lastName.trim()) {
160
+ G(K("coolandlovely.settings.validation.nameRequired", "First name and last name are required.")), L("profile");
161
+ return;
162
+ }
163
+ if (!R.profile.email.trim() || !R.profile.email.includes("@")) {
164
+ G(K("coolandlovely.settings.validation.emailRequired", "A valid email address is required.")), L("profile");
165
+ return;
166
+ }
167
+ U(!0), G(""), await new Promise((e) => setTimeout(e, 1200)), U(!1), V(!1), G(K("coolandlovely.settings.saveSuccess", "Settings saved successfully!")), setTimeout(() => G(""), 3e3);
168
+ }, [R, K]), Q = r((e) => {
169
+ z((t) => ({
170
+ ...t,
171
+ security: {
172
+ ...t.security,
173
+ trustedDevices: t.security.trustedDevices.filter((t) => t.id !== e)
174
+ }
175
+ })), V(!0);
176
+ }, []), $ = r(() => {
177
+ z((e) => ({
178
+ ...e,
179
+ security: {
180
+ ...e.security,
181
+ trustedDevices: e.security.trustedDevices.filter((e) => e.isCurrent)
182
+ }
183
+ })), V(!0);
184
+ }, []), ee = r(() => {
185
+ window.confirm(K("coolandlovely.settings.deleteConfirm", "Are you sure you want to delete your account? This action cannot be undone.")) && alert(K("coolandlovely.settings.deleteSubmitted", "Account deletion request submitted. You will receive a confirmation email."));
186
+ }, [K]);
187
+ return /* @__PURE__ */ N(n, {
188
+ title: K("coolandlovely.settings.title", "Settings"),
189
+ description: K("coolandlovely.settings.description", "Manage your preferences and account settings"),
190
+ actions: /* @__PURE__ */ N("div", {
191
+ className: "flex items-center gap-2",
192
+ children: [B && /* @__PURE__ */ N("button", {
193
+ type: "button",
194
+ onClick: X,
195
+ className: "flex items-center gap-1.5 rounded-lg border border-border px-3 py-2 text-sm font-medium text-foreground hover:bg-accent transition-colors",
196
+ children: [/* @__PURE__ */ M(C, { className: "h-4 w-4" }), K("coolandlovely.settings.reset", "Reset")]
197
+ }), /* @__PURE__ */ M("button", {
198
+ type: "button",
199
+ disabled: !B || H,
200
+ onClick: Z,
201
+ className: t("flex items-center gap-1.5 rounded-lg px-4 py-2 text-sm font-medium transition-colors", B && !H ? "bg-primary text-primary-foreground hover:bg-primary/90" : "bg-muted text-muted-foreground cursor-not-allowed"),
202
+ children: H ? /* @__PURE__ */ N(j, { children: [/* @__PURE__ */ M(g, { className: "h-4 w-4 animate-spin" }), K("coolandlovely.settings.saving", "Saving...")] }) : /* @__PURE__ */ N(j, { children: [/* @__PURE__ */ M(w, { className: "h-4 w-4" }), K("coolandlovely.settings.save", "Save Settings")] })
203
+ })]
204
+ }),
205
+ children: [W && /* @__PURE__ */ N("div", {
206
+ className: t("mb-6 flex items-center gap-2 rounded-lg border p-3 text-sm", W.includes("successfully") ? "border-green-500/30 bg-green-500/5 text-green-600 dark:text-green-400" : "border-red-500/30 bg-red-500/5 text-red-600 dark:text-red-400"),
207
+ children: [W.includes("successfully") ? /* @__PURE__ */ M(d, { className: "h-4 w-4 shrink-0" }) : /* @__PURE__ */ M(s, { className: "h-4 w-4 shrink-0" }), W]
208
+ }), /* @__PURE__ */ N("div", {
209
+ className: "flex flex-col gap-6 lg:flex-row",
210
+ children: [/* @__PURE__ */ N("div", {
211
+ className: "shrink-0 lg:w-56",
212
+ children: [/* @__PURE__ */ M("div", {
213
+ className: "grid grid-cols-5 gap-1 lg:hidden",
214
+ children: q.map((e) => {
215
+ let n = e.icon;
216
+ return /* @__PURE__ */ N("button", {
217
+ type: "button",
218
+ onClick: () => L(e.id),
219
+ className: t("flex flex-col items-center gap-1 rounded-lg py-2.5 text-center transition-colors", A === e.id ? "bg-primary/10 text-foreground" : "text-muted-foreground hover:text-foreground hover:bg-accent"),
220
+ children: [/* @__PURE__ */ M(n, { className: "h-4 w-4" }), /* @__PURE__ */ M("span", {
221
+ className: "text-xs font-medium",
222
+ children: e.label
223
+ })]
224
+ }, e.id);
225
+ })
226
+ }), /* @__PURE__ */ N("div", {
227
+ className: "hidden lg:block rounded-lg border border-border bg-card",
228
+ children: [/* @__PURE__ */ M("div", {
229
+ className: "p-3 border-b border-border",
230
+ children: /* @__PURE__ */ M("p", {
231
+ className: "text-sm font-semibold text-foreground",
232
+ children: K("coolandlovely.settings.title", "Settings")
233
+ })
234
+ }), /* @__PURE__ */ M("nav", {
235
+ className: "p-2",
236
+ children: q.map((e) => {
237
+ let n = e.icon;
238
+ return /* @__PURE__ */ N("button", {
239
+ type: "button",
240
+ onClick: () => L(e.id),
241
+ className: t("flex w-full items-center gap-2.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors mb-0.5", A === e.id ? "bg-primary/10 text-foreground" : "text-muted-foreground hover:text-foreground hover:bg-accent"),
242
+ children: [/* @__PURE__ */ M(n, { className: "h-4 w-4" }), e.label]
243
+ }, e.id);
244
+ })
245
+ })]
246
+ })]
247
+ }), /* @__PURE__ */ M("div", {
248
+ className: "flex-1 rounded-lg border border-border bg-card p-6",
249
+ children: {
250
+ profile: () => /* @__PURE__ */ N("div", {
251
+ className: "space-y-6",
252
+ children: [
253
+ /* @__PURE__ */ M("h3", {
254
+ className: "text-base font-semibold text-foreground",
255
+ children: "Personal Information"
256
+ }),
257
+ /* @__PURE__ */ N("div", {
258
+ className: "flex items-center gap-4",
259
+ children: [/* @__PURE__ */ N("div", {
260
+ className: "relative",
261
+ children: [/* @__PURE__ */ M("img", {
262
+ src: R.profile.profilePicture,
263
+ alt: "Profile",
264
+ className: "h-20 w-20 rounded-full object-cover border border-border"
265
+ }), /* @__PURE__ */ M("button", {
266
+ type: "button",
267
+ onClick: () => alert("Photo upload coming soon"),
268
+ className: "absolute -bottom-1 -right-1 flex h-7 w-7 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-sm hover:bg-primary/90",
269
+ children: /* @__PURE__ */ M(u, { className: "h-3.5 w-3.5" })
270
+ })]
271
+ }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
272
+ className: "text-sm font-medium text-foreground",
273
+ children: "Profile Picture"
274
+ }), /* @__PURE__ */ M("p", {
275
+ className: "text-xs text-muted-foreground",
276
+ children: "Upload a new photo (JPG, PNG, max 2MB)"
277
+ })] })]
278
+ }),
279
+ /* @__PURE__ */ N("div", {
280
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
281
+ children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
282
+ className: "block text-sm font-medium text-foreground mb-1.5",
283
+ children: "First Name *"
284
+ }), /* @__PURE__ */ M("input", {
285
+ type: "text",
286
+ value: R.profile.firstName,
287
+ onChange: (e) => J("profile", "firstName", e.target.value),
288
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
289
+ })] }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
290
+ className: "block text-sm font-medium text-foreground mb-1.5",
291
+ children: "Last Name *"
292
+ }), /* @__PURE__ */ M("input", {
293
+ type: "text",
294
+ value: R.profile.lastName,
295
+ onChange: (e) => J("profile", "lastName", e.target.value),
296
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
297
+ })] })]
298
+ }),
299
+ /* @__PURE__ */ N("div", {
300
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
301
+ children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
302
+ className: "block text-sm font-medium text-foreground mb-1.5",
303
+ children: "Email Address *"
304
+ }), /* @__PURE__ */ M("input", {
305
+ type: "email",
306
+ value: R.profile.email,
307
+ onChange: (e) => J("profile", "email", e.target.value),
308
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
309
+ })] }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
310
+ className: "block text-sm font-medium text-foreground mb-1.5",
311
+ children: "Phone Number"
312
+ }), /* @__PURE__ */ M("input", {
313
+ type: "tel",
314
+ value: R.profile.phone,
315
+ onChange: (e) => J("profile", "phone", e.target.value),
316
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
317
+ })] })]
318
+ }),
319
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
320
+ className: "block text-sm font-medium text-foreground mb-1.5",
321
+ children: "Bio"
322
+ }), /* @__PURE__ */ M("textarea", {
323
+ rows: 3,
324
+ value: R.profile.bio,
325
+ onChange: (e) => J("profile", "bio", e.target.value),
326
+ placeholder: "Tell us about yourself...",
327
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring resize-none"
328
+ })] }),
329
+ /* @__PURE__ */ N("div", {
330
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
331
+ children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
332
+ className: "block text-sm font-medium text-foreground mb-1.5",
333
+ children: "Date of Birth"
334
+ }), /* @__PURE__ */ M("input", {
335
+ type: "date",
336
+ value: R.profile.dateOfBirth,
337
+ onChange: (e) => J("profile", "dateOfBirth", e.target.value),
338
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
339
+ })] }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
340
+ className: "block text-sm font-medium text-foreground mb-1.5",
341
+ children: "Gender"
342
+ }), /* @__PURE__ */ N("select", {
343
+ value: R.profile.gender,
344
+ onChange: (e) => J("profile", "gender", e.target.value),
345
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring",
346
+ children: [
347
+ /* @__PURE__ */ M("option", {
348
+ value: "",
349
+ children: "Select gender"
350
+ }),
351
+ /* @__PURE__ */ M("option", {
352
+ value: "male",
353
+ children: "Male"
354
+ }),
355
+ /* @__PURE__ */ M("option", {
356
+ value: "female",
357
+ children: "Female"
358
+ }),
359
+ /* @__PURE__ */ M("option", {
360
+ value: "other",
361
+ children: "Other"
362
+ }),
363
+ /* @__PURE__ */ M("option", {
364
+ value: "prefer-not-to-say",
365
+ children: "Prefer not to say"
366
+ })
367
+ ]
368
+ })] })]
369
+ })
370
+ ]
371
+ }),
372
+ preferences: () => /* @__PURE__ */ N("div", {
373
+ className: "space-y-6",
374
+ children: [
375
+ /* @__PURE__ */ M("h3", {
376
+ className: "text-base font-semibold text-foreground",
377
+ children: "App Preferences"
378
+ }),
379
+ /* @__PURE__ */ N("div", {
380
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
381
+ children: [
382
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
383
+ className: "block text-sm font-medium text-foreground mb-1.5",
384
+ children: /* @__PURE__ */ N("span", {
385
+ className: "flex items-center gap-1.5",
386
+ children: [/* @__PURE__ */ M(m, { className: "h-4 w-4 text-muted-foreground" }), " Language"]
387
+ })
388
+ }), /* @__PURE__ */ N("select", {
389
+ value: R.preferences.language,
390
+ onChange: (e) => J("preferences", "language", e.target.value),
391
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring",
392
+ children: [
393
+ /* @__PURE__ */ M("option", {
394
+ value: "en",
395
+ children: "English"
396
+ }),
397
+ /* @__PURE__ */ M("option", {
398
+ value: "hi",
399
+ children: "Hindi"
400
+ }),
401
+ /* @__PURE__ */ M("option", {
402
+ value: "ta",
403
+ children: "Tamil"
404
+ }),
405
+ /* @__PURE__ */ M("option", {
406
+ value: "kn",
407
+ children: "Kannada"
408
+ }),
409
+ /* @__PURE__ */ M("option", {
410
+ value: "te",
411
+ children: "Telugu"
412
+ }),
413
+ /* @__PURE__ */ M("option", {
414
+ value: "ml",
415
+ children: "Malayalam"
416
+ })
417
+ ]
418
+ })] }),
419
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
420
+ className: "block text-sm font-medium text-foreground mb-1.5",
421
+ children: "Timezone"
422
+ }), /* @__PURE__ */ N("select", {
423
+ value: R.preferences.timezone,
424
+ onChange: (e) => J("preferences", "timezone", e.target.value),
425
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring",
426
+ children: [
427
+ /* @__PURE__ */ M("option", {
428
+ value: "Asia/Kolkata",
429
+ children: "India (IST)"
430
+ }),
431
+ /* @__PURE__ */ M("option", {
432
+ value: "Asia/Dubai",
433
+ children: "Dubai (GST)"
434
+ }),
435
+ /* @__PURE__ */ M("option", {
436
+ value: "Europe/London",
437
+ children: "London (GMT)"
438
+ }),
439
+ /* @__PURE__ */ M("option", {
440
+ value: "America/New_York",
441
+ children: "New York (EST)"
442
+ })
443
+ ]
444
+ })] }),
445
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
446
+ className: "block text-sm font-medium text-foreground mb-1.5",
447
+ children: "Currency"
448
+ }), /* @__PURE__ */ N("select", {
449
+ value: R.preferences.currency,
450
+ onChange: (e) => J("preferences", "currency", e.target.value),
451
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring",
452
+ children: [
453
+ /* @__PURE__ */ M("option", {
454
+ value: "INR",
455
+ children: "Indian Rupee (₹)"
456
+ }),
457
+ /* @__PURE__ */ M("option", {
458
+ value: "USD",
459
+ children: "US Dollar ($)"
460
+ }),
461
+ /* @__PURE__ */ M("option", {
462
+ value: "EUR",
463
+ children: "Euro (€)"
464
+ }),
465
+ /* @__PURE__ */ M("option", {
466
+ value: "GBP",
467
+ children: "British Pound (£)"
468
+ })
469
+ ]
470
+ })] })
471
+ ]
472
+ }),
473
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
474
+ className: "block text-sm font-medium text-foreground mb-3",
475
+ children: "Theme"
476
+ }), /* @__PURE__ */ M("div", {
477
+ className: "flex gap-3 flex-wrap",
478
+ children: [
479
+ {
480
+ value: "light",
481
+ label: "Light",
482
+ Icon: O
483
+ },
484
+ {
485
+ value: "dark",
486
+ label: "Dark",
487
+ Icon: x
488
+ },
489
+ {
490
+ value: "system",
491
+ label: "System",
492
+ Icon: b
493
+ }
494
+ ].map(({ value: e, label: n, Icon: r }) => /* @__PURE__ */ N("label", {
495
+ className: t("flex items-center gap-2 rounded-lg border px-4 py-2.5 text-sm font-medium cursor-pointer transition-colors", R.preferences.theme === e ? "border-primary bg-primary/10 text-foreground" : "border-border text-muted-foreground hover:border-accent-foreground/20 hover:text-foreground"),
496
+ children: [
497
+ /* @__PURE__ */ M("input", {
498
+ type: "radio",
499
+ name: "theme",
500
+ value: e,
501
+ checked: R.preferences.theme === e,
502
+ onChange: (e) => J("preferences", "theme", e.target.value),
503
+ className: "sr-only"
504
+ }),
505
+ /* @__PURE__ */ M(r, { className: "h-4 w-4" }),
506
+ n
507
+ ]
508
+ }, e))
509
+ })] }),
510
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ N("div", {
511
+ className: "flex items-center gap-2 mb-4",
512
+ children: [/* @__PURE__ */ M(c, { className: "h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ M("h4", {
513
+ className: "text-sm font-semibold text-foreground",
514
+ children: "Notification Preferences"
515
+ })]
516
+ }), /* @__PURE__ */ M("div", {
517
+ className: "space-y-3",
518
+ children: [
519
+ {
520
+ key: "email",
521
+ label: "Email notifications"
522
+ },
523
+ {
524
+ key: "sms",
525
+ label: "SMS notifications"
526
+ },
527
+ {
528
+ key: "push",
529
+ label: "Push notifications"
530
+ },
531
+ {
532
+ key: "orderUpdates",
533
+ label: "Order status updates"
534
+ },
535
+ {
536
+ key: "promotions",
537
+ label: "Promotional offers"
538
+ },
539
+ {
540
+ key: "newsletters",
541
+ label: "Newsletters and updates"
542
+ },
543
+ {
544
+ key: "security",
545
+ label: "Security alerts"
546
+ }
547
+ ].map((e) => /* @__PURE__ */ N("div", {
548
+ className: "flex items-center justify-between rounded-lg border border-border p-3",
549
+ children: [/* @__PURE__ */ M("span", {
550
+ className: "text-sm text-foreground",
551
+ children: e.label
552
+ }), /* @__PURE__ */ M(I, {
553
+ checked: R.preferences.notifications[e.key],
554
+ onChange: (t) => Y("preferences", "notifications", e.key, t),
555
+ label: e.label
556
+ })]
557
+ }, e.key))
558
+ })] })
559
+ ]
560
+ }),
561
+ security: () => /* @__PURE__ */ N("div", {
562
+ className: "space-y-6",
563
+ children: [
564
+ /* @__PURE__ */ M("h3", {
565
+ className: "text-base font-semibold text-foreground",
566
+ children: "Security Settings"
567
+ }),
568
+ /* @__PURE__ */ N("div", {
569
+ className: "flex items-start gap-3 rounded-lg border border-yellow-500/30 bg-yellow-500/5 p-4",
570
+ children: [/* @__PURE__ */ M(s, { className: "h-5 w-5 text-yellow-600 dark:text-yellow-400 shrink-0 mt-0.5" }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
571
+ className: "text-sm font-medium text-foreground",
572
+ children: "Account Security"
573
+ }), /* @__PURE__ */ M("p", {
574
+ className: "text-xs text-muted-foreground",
575
+ children: "Keep your account secure by enabling two-factor authentication and monitoring login activity."
576
+ })] })]
577
+ }),
578
+ /* @__PURE__ */ N("div", {
579
+ className: "flex items-center justify-between rounded-lg border border-border p-4",
580
+ children: [/* @__PURE__ */ N("div", {
581
+ className: "flex-1",
582
+ children: [/* @__PURE__ */ N("div", {
583
+ className: "flex items-center gap-2",
584
+ children: [/* @__PURE__ */ M(_, { className: "h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ M("p", {
585
+ className: "text-sm font-medium text-foreground",
586
+ children: "Two-Factor Authentication"
587
+ })]
588
+ }), /* @__PURE__ */ M("p", {
589
+ className: "text-xs text-muted-foreground mt-0.5 ml-6",
590
+ children: "Add an extra layer of security to your account"
591
+ })]
592
+ }), /* @__PURE__ */ M(I, {
593
+ checked: R.security.twoFactorEnabled,
594
+ onChange: (e) => J("security", "twoFactorEnabled", e),
595
+ label: "Two-factor authentication"
596
+ })]
597
+ }),
598
+ /* @__PURE__ */ N("div", {
599
+ className: "flex items-center justify-between rounded-lg border border-border p-4",
600
+ children: [/* @__PURE__ */ N("div", {
601
+ className: "flex-1",
602
+ children: [/* @__PURE__ */ M("p", {
603
+ className: "text-sm font-medium text-foreground",
604
+ children: "Login Alerts"
605
+ }), /* @__PURE__ */ M("p", {
606
+ className: "text-xs text-muted-foreground mt-0.5",
607
+ children: "Get notified when someone logs into your account"
608
+ })]
609
+ }), /* @__PURE__ */ M(I, {
610
+ checked: R.security.loginAlerts,
611
+ onChange: (e) => J("security", "loginAlerts", e),
612
+ label: "Login alerts"
613
+ })]
614
+ }),
615
+ /* @__PURE__ */ N("div", {
616
+ className: "flex items-center justify-between rounded-lg border border-border p-4",
617
+ children: [/* @__PURE__ */ N("div", {
618
+ className: "flex-1",
619
+ children: [/* @__PURE__ */ M("p", {
620
+ className: "text-sm font-medium text-foreground",
621
+ children: "Session Timeout"
622
+ }), /* @__PURE__ */ M("p", {
623
+ className: "text-xs text-muted-foreground mt-0.5",
624
+ children: "Auto-logout after inactivity"
625
+ })]
626
+ }), /* @__PURE__ */ N("select", {
627
+ value: R.security.sessionTimeout,
628
+ onChange: (e) => J("security", "sessionTimeout", e.target.value),
629
+ className: "rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring w-36",
630
+ children: [
631
+ /* @__PURE__ */ M("option", {
632
+ value: "15",
633
+ children: "15 minutes"
634
+ }),
635
+ /* @__PURE__ */ M("option", {
636
+ value: "30",
637
+ children: "30 minutes"
638
+ }),
639
+ /* @__PURE__ */ M("option", {
640
+ value: "60",
641
+ children: "1 hour"
642
+ }),
643
+ /* @__PURE__ */ M("option", {
644
+ value: "120",
645
+ children: "2 hours"
646
+ }),
647
+ /* @__PURE__ */ M("option", {
648
+ value: "0",
649
+ children: "Never"
650
+ })
651
+ ]
652
+ })]
653
+ }),
654
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("h4", {
655
+ className: "text-sm font-semibold text-foreground mb-3",
656
+ children: "Trusted Devices"
657
+ }), /* @__PURE__ */ M("div", {
658
+ className: "space-y-3",
659
+ children: R.security.trustedDevices.map((e) => /* @__PURE__ */ N("div", {
660
+ className: "flex items-center justify-between rounded-lg border border-border p-4",
661
+ children: [/* @__PURE__ */ N("div", {
662
+ className: "flex items-center gap-3",
663
+ children: [e.os.toLowerCase().includes("mac") || e.os.toLowerCase().includes("windows") ? /* @__PURE__ */ M(h, { className: "h-5 w-5 text-muted-foreground shrink-0" }) : /* @__PURE__ */ M(D, { className: "h-5 w-5 text-muted-foreground shrink-0" }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ N("div", {
664
+ className: "flex items-center gap-2",
665
+ children: [/* @__PURE__ */ M("p", {
666
+ className: "text-sm font-medium text-foreground",
667
+ children: e.name
668
+ }), e.isCurrent && /* @__PURE__ */ M("span", {
669
+ className: "inline-flex items-center rounded-full bg-green-500/20 px-2 py-0.5 text-xs font-medium text-green-600 dark:text-green-400",
670
+ children: "Current"
671
+ })]
672
+ }), /* @__PURE__ */ N("p", {
673
+ className: "text-xs text-muted-foreground",
674
+ children: [
675
+ e.browser,
676
+ " · ",
677
+ e.os
678
+ ]
679
+ })] })]
680
+ }), !e.isCurrent && /* @__PURE__ */ M("button", {
681
+ type: "button",
682
+ onClick: () => Q(e.id),
683
+ className: "rounded-lg border border-border px-3 py-1.5 text-xs font-medium text-destructive hover:bg-destructive/10 transition-colors",
684
+ children: "Remove"
685
+ })]
686
+ }, e.id))
687
+ })] }),
688
+ /* @__PURE__ */ N("div", {
689
+ className: "flex flex-wrap gap-3",
690
+ children: [/* @__PURE__ */ N("button", {
691
+ type: "button",
692
+ onClick: () => alert("Password change functionality coming soon"),
693
+ className: "flex items-center gap-1.5 rounded-lg border border-border px-4 py-2 text-sm font-medium text-foreground hover:bg-accent transition-colors",
694
+ children: [/* @__PURE__ */ M(_, { className: "h-4 w-4" }), "Change Password"]
695
+ }), /* @__PURE__ */ N("button", {
696
+ type: "button",
697
+ onClick: $,
698
+ className: "flex items-center gap-1.5 rounded-lg border border-border px-4 py-2 text-sm font-medium text-foreground hover:bg-accent transition-colors",
699
+ children: [/* @__PURE__ */ M(v, { className: "h-4 w-4" }), "Logout All Devices"]
700
+ })]
701
+ })
702
+ ]
703
+ }),
704
+ privacy: () => /* @__PURE__ */ N("div", {
705
+ className: "space-y-6",
706
+ children: [
707
+ /* @__PURE__ */ M("h3", {
708
+ className: "text-base font-semibold text-foreground",
709
+ children: "Privacy Controls"
710
+ }),
711
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
712
+ className: "block text-sm font-medium text-foreground mb-1.5",
713
+ children: /* @__PURE__ */ N("span", {
714
+ className: "flex items-center gap-1.5",
715
+ children: [/* @__PURE__ */ M(p, { className: "h-4 w-4 text-muted-foreground" }), " Profile Visibility"]
716
+ })
717
+ }), /* @__PURE__ */ N("select", {
718
+ value: R.privacy.profileVisibility,
719
+ onChange: (e) => J("privacy", "profileVisibility", e.target.value),
720
+ className: "w-full max-w-sm rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring",
721
+ children: [
722
+ /* @__PURE__ */ M("option", {
723
+ value: "public",
724
+ children: "Public - Anyone can see your profile"
725
+ }),
726
+ /* @__PURE__ */ M("option", {
727
+ value: "private",
728
+ children: "Private - Only you can see your profile"
729
+ }),
730
+ /* @__PURE__ */ M("option", {
731
+ value: "friends",
732
+ children: "Friends - Only friends can see your profile"
733
+ })
734
+ ]
735
+ })] }),
736
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("h4", {
737
+ className: "text-sm font-semibold text-foreground mb-3",
738
+ children: "Data Sharing"
739
+ }), /* @__PURE__ */ M("div", {
740
+ className: "space-y-3",
741
+ children: [
742
+ {
743
+ key: "analytics",
744
+ label: "Share usage analytics to improve the app"
745
+ },
746
+ {
747
+ key: "marketing",
748
+ label: "Share data for personalized marketing"
749
+ },
750
+ {
751
+ key: "thirdParty",
752
+ label: "Share data with third-party partners"
753
+ }
754
+ ].map((e) => /* @__PURE__ */ N("div", {
755
+ className: "flex items-center justify-between rounded-lg border border-border p-3",
756
+ children: [/* @__PURE__ */ M("span", {
757
+ className: "text-sm text-foreground",
758
+ children: e.label
759
+ }), /* @__PURE__ */ M(I, {
760
+ checked: R.privacy.dataSharing[e.key],
761
+ onChange: (t) => Y("privacy", "dataSharing", e.key, t),
762
+ label: e.label
763
+ })]
764
+ }, e.key))
765
+ })] }),
766
+ /* @__PURE__ */ N("div", {
767
+ className: "space-y-3",
768
+ children: [/* @__PURE__ */ N("div", {
769
+ className: "flex items-center justify-between rounded-lg border border-border p-4",
770
+ children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
771
+ className: "text-sm font-medium text-foreground",
772
+ children: "Location Tracking"
773
+ }), /* @__PURE__ */ M("p", {
774
+ className: "text-xs text-muted-foreground",
775
+ children: "Allow app to track your location for better service"
776
+ })] }), /* @__PURE__ */ M(I, {
777
+ checked: R.privacy.locationTracking,
778
+ onChange: (e) => J("privacy", "locationTracking", e),
779
+ label: "Location tracking"
780
+ })]
781
+ }), /* @__PURE__ */ N("div", {
782
+ className: "flex items-center justify-between rounded-lg border border-border p-4",
783
+ children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
784
+ className: "text-sm font-medium text-foreground",
785
+ children: "Activity History"
786
+ }), /* @__PURE__ */ M("p", {
787
+ className: "text-xs text-muted-foreground",
788
+ children: "Keep track of your orders and activities"
789
+ })] }), /* @__PURE__ */ M(I, {
790
+ checked: R.privacy.activityHistory,
791
+ onChange: (e) => J("privacy", "activityHistory", e),
792
+ label: "Activity history"
793
+ })]
794
+ })]
795
+ }),
796
+ /* @__PURE__ */ M("div", {
797
+ className: "rounded-lg border border-red-500/30 bg-red-500/5 p-4",
798
+ children: /* @__PURE__ */ N("div", {
799
+ className: "flex items-start gap-3",
800
+ children: [/* @__PURE__ */ M(k, { className: "h-5 w-5 text-red-600 dark:text-red-400 shrink-0 mt-0.5" }), /* @__PURE__ */ N("div", { children: [
801
+ /* @__PURE__ */ M("p", {
802
+ className: "text-sm font-medium text-foreground",
803
+ children: "Delete Account"
804
+ }),
805
+ /* @__PURE__ */ M("p", {
806
+ className: "text-xs text-muted-foreground mt-0.5",
807
+ children: "Permanently delete your account and all associated data. This action cannot be undone."
808
+ }),
809
+ /* @__PURE__ */ M("button", {
810
+ type: "button",
811
+ onClick: ee,
812
+ className: "mt-3 rounded-lg border border-red-500/30 px-4 py-2 text-sm font-medium text-destructive hover:bg-destructive/10 transition-colors",
813
+ children: "Delete Account"
814
+ })
815
+ ] })]
816
+ })
817
+ })
818
+ ]
819
+ }),
820
+ billing: () => /* @__PURE__ */ N("div", {
821
+ className: "space-y-6",
822
+ children: [
823
+ /* @__PURE__ */ M("h3", {
824
+ className: "text-base font-semibold text-foreground",
825
+ children: "Billing & Payments"
826
+ }),
827
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("h4", {
828
+ className: "text-sm font-semibold text-foreground mb-3",
829
+ children: /* @__PURE__ */ N("span", {
830
+ className: "flex items-center gap-1.5",
831
+ children: [/* @__PURE__ */ M(f, { className: "h-4 w-4 text-muted-foreground" }), " Default Payment Method"]
832
+ })
833
+ }), R.billing.paymentMethod ? /* @__PURE__ */ N("div", {
834
+ className: "flex items-center justify-between rounded-lg border border-border p-4",
835
+ children: [/* @__PURE__ */ N("div", {
836
+ className: "flex items-center gap-3",
837
+ children: [/* @__PURE__ */ M(f, { className: "h-6 w-6 text-muted-foreground" }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ N("p", {
838
+ className: "text-sm font-medium text-foreground",
839
+ children: [
840
+ R.billing.paymentMethod.provider,
841
+ " ending in",
842
+ " ",
843
+ R.billing.paymentMethod.last4
844
+ ]
845
+ }), /* @__PURE__ */ M("p", {
846
+ className: "text-xs text-muted-foreground capitalize",
847
+ children: R.billing.paymentMethod.type
848
+ })] })]
849
+ }), /* @__PURE__ */ M("button", {
850
+ type: "button",
851
+ onClick: () => alert("Change payment method coming soon"),
852
+ className: "rounded-lg border border-border px-3 py-1.5 text-sm font-medium text-foreground hover:bg-accent transition-colors",
853
+ children: "Change"
854
+ })]
855
+ }) : /* @__PURE__ */ N("div", {
856
+ className: "rounded-lg border border-border p-4 text-center",
857
+ children: [/* @__PURE__ */ M("p", {
858
+ className: "text-sm text-muted-foreground",
859
+ children: "No default payment method set"
860
+ }), /* @__PURE__ */ M("button", {
861
+ type: "button",
862
+ onClick: () => alert("Add payment method coming soon"),
863
+ className: "mt-2 rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",
864
+ children: "Add Payment Method"
865
+ })]
866
+ })] }),
867
+ /* @__PURE__ */ N("div", { children: [
868
+ /* @__PURE__ */ M("h4", {
869
+ className: "text-sm font-semibold text-foreground mb-3",
870
+ children: "Auto Recharge"
871
+ }),
872
+ /* @__PURE__ */ N("div", {
873
+ className: "flex items-center justify-between rounded-lg border border-border p-4 mb-3",
874
+ children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
875
+ className: "text-sm font-medium text-foreground",
876
+ children: "Enable Auto Recharge"
877
+ }), /* @__PURE__ */ M("p", {
878
+ className: "text-xs text-muted-foreground",
879
+ children: "Automatically add money when wallet balance is low"
880
+ })] }), /* @__PURE__ */ M(I, {
881
+ checked: R.billing.autoRecharge,
882
+ onChange: (e) => J("billing", "autoRecharge", e),
883
+ label: "Auto recharge"
884
+ })]
885
+ }),
886
+ R.billing.autoRecharge && /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
887
+ className: "block text-sm font-medium text-foreground mb-1.5",
888
+ children: "Auto Recharge Amount (₹)"
889
+ }), /* @__PURE__ */ M("input", {
890
+ type: "number",
891
+ value: R.billing.autoRechargeAmount,
892
+ onChange: (e) => J("billing", "autoRechargeAmount", e.target.value),
893
+ placeholder: "1000",
894
+ className: "w-full max-w-xs rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
895
+ })] })
896
+ ] }),
897
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
898
+ className: "block text-sm font-medium text-foreground mb-1.5",
899
+ children: /* @__PURE__ */ N("span", {
900
+ className: "flex items-center gap-1.5",
901
+ children: [/* @__PURE__ */ M(S, { className: "h-4 w-4 text-muted-foreground" }), " Invoice Email"]
902
+ })
903
+ }), /* @__PURE__ */ M("input", {
904
+ type: "email",
905
+ value: R.billing.invoiceEmail,
906
+ onChange: (e) => J("billing", "invoiceEmail", e.target.value),
907
+ placeholder: "billing@example.com",
908
+ className: "w-full max-w-sm rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
909
+ })] }),
910
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("h4", {
911
+ className: "text-sm font-semibold text-foreground mb-3",
912
+ children: /* @__PURE__ */ N("span", {
913
+ className: "flex items-center gap-1.5",
914
+ children: [/* @__PURE__ */ M(l, { className: "h-4 w-4 text-muted-foreground" }), " Tax Information"]
915
+ })
916
+ }), /* @__PURE__ */ N("div", {
917
+ className: "space-y-4",
918
+ children: [
919
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
920
+ className: "block text-sm font-medium text-foreground mb-1.5",
921
+ children: "GST Number"
922
+ }), /* @__PURE__ */ M("input", {
923
+ type: "text",
924
+ value: R.billing.gstNumber,
925
+ onChange: (e) => J("billing", "gstNumber", e.target.value),
926
+ placeholder: "29ABCDE1234F1Z5",
927
+ className: "w-full max-w-sm rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
928
+ })] }),
929
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
930
+ className: "block text-sm font-medium text-foreground mb-1.5",
931
+ children: "Company Name"
932
+ }), /* @__PURE__ */ M("input", {
933
+ type: "text",
934
+ value: R.billing.companyName,
935
+ onChange: (e) => J("billing", "companyName", e.target.value),
936
+ placeholder: "Your Company Name",
937
+ className: "w-full max-w-sm rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring"
938
+ })] }),
939
+ /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
940
+ className: "block text-sm font-medium text-foreground mb-1.5",
941
+ children: /* @__PURE__ */ N("span", {
942
+ className: "flex items-center gap-1.5",
943
+ children: [/* @__PURE__ */ M(y, { className: "h-4 w-4 text-muted-foreground" }), " Billing Address"]
944
+ })
945
+ }), /* @__PURE__ */ M("textarea", {
946
+ rows: 3,
947
+ value: R.billing.billingAddress,
948
+ onChange: (e) => J("billing", "billingAddress", e.target.value),
949
+ placeholder: "Enter your complete billing address",
950
+ className: "w-full rounded-lg border border-border bg-card py-2 px-3 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring resize-none"
951
+ })] })
952
+ ]
953
+ })] })
954
+ ]
955
+ })
956
+ }[A]()
957
+ })]
958
+ })]
959
+ });
960
+ }
961
+ //#endregion
962
+ export { L as SettingsPage };
963
+
964
+ //# sourceMappingURL=SettingsPage.js.map