hey-pharmacist-ecommerce 1.1.42 → 1.1.44

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 (105) hide show
  1. package/README.md +70 -8
  2. package/dist/index.d.mts +2550 -3081
  3. package/dist/index.d.ts +2550 -3081
  4. package/dist/index.js +506 -399
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +506 -397
  7. package/dist/index.mjs.map +1 -1
  8. package/package.json +2 -2
  9. package/src/components/AccountOverviewTab.tsx +5 -5
  10. package/src/components/AccountReviewsTab.tsx +4 -4
  11. package/src/components/CartItem.tsx +15 -15
  12. package/src/components/Header.tsx +1 -1
  13. package/src/components/Notification.tsx +3 -3
  14. package/src/components/OrderCard.tsx +1 -1
  15. package/src/components/ProductCard.tsx +11 -11
  16. package/src/components/QuickViewModal.tsx +16 -16
  17. package/src/components/RatingDistribution.tsx +2 -2
  18. package/src/components/ReviewCard.tsx +2 -2
  19. package/src/components/ReviewForm.tsx +3 -3
  20. package/src/components/ReviewPromptBanner.tsx +4 -4
  21. package/src/components/ReviewsList.tsx +9 -11
  22. package/src/components/StarRating.tsx +3 -3
  23. package/src/hooks/useProducts.ts +0 -1
  24. package/src/hooks/useSmartSearch.ts +68 -0
  25. package/src/lib/Apis/api.ts +1 -1
  26. package/src/lib/Apis/apis/analytics-api.ts +809 -0
  27. package/src/lib/Apis/apis/notifications-api.ts +8 -6
  28. package/src/lib/Apis/apis/products-api.ts +390 -15
  29. package/src/lib/Apis/apis/stores-api.ts +26 -149
  30. package/src/lib/Apis/apis/web-hooks-api.ts +8 -17
  31. package/src/lib/Apis/models/analytics-period-dto.ts +45 -0
  32. package/src/lib/Apis/models/appointment-overview-dto.ts +71 -0
  33. package/src/lib/Apis/models/category-sales-dto.ts +51 -0
  34. package/src/lib/Apis/models/create-store-dto.ts +12 -0
  35. package/src/lib/Apis/models/customer-overview-dto.ts +96 -0
  36. package/src/lib/Apis/models/{country-stats-response-dto.ts → customer-segment-dto.ts} +12 -13
  37. package/src/lib/Apis/models/dashboard-overview-dto.ts +70 -0
  38. package/src/lib/Apis/models/discount-overview-dto.ts +71 -0
  39. package/src/lib/Apis/models/group-with-no-users-dto.ts +0 -6
  40. package/src/lib/Apis/models/group-with-users-dto.ts +0 -6
  41. package/src/lib/Apis/models/index.ts +29 -38
  42. package/src/lib/Apis/models/{single-recipient-dto.ts → inline-response200.ts} +11 -10
  43. package/src/lib/Apis/models/{create-contact-dto.ts → inline-response2001.ts} +11 -11
  44. package/src/lib/Apis/models/inventory-alert-dto.ts +67 -0
  45. package/src/lib/Apis/models/notification-dto.ts +107 -0
  46. package/src/lib/Apis/models/notifications-paginated-response-dto.ts +58 -0
  47. package/src/lib/Apis/models/order-overview-dto.ts +89 -0
  48. package/src/lib/Apis/models/{single-link-stats-dto.ts → order-status-count-dto.ts} +10 -10
  49. package/src/lib/Apis/models/order.ts +0 -6
  50. package/src/lib/Apis/models/payout-history-item-dto.ts +45 -0
  51. package/src/lib/Apis/models/{single-country-stats-dto.ts → popular-time-slot-dto.ts} +10 -10
  52. package/src/lib/Apis/models/populated-order.ts +0 -6
  53. package/src/lib/Apis/models/preference-update-item.ts +1 -0
  54. package/src/lib/Apis/models/product-overview-dto.ts +90 -0
  55. package/src/lib/Apis/models/product.ts +6 -0
  56. package/src/lib/Apis/models/{create-contact-list-dto.ts → products-aidraft-body.ts} +4 -4
  57. package/src/lib/Apis/models/{schedule-campaign-draft-dto.ts → products-processimage-body.ts} +5 -5
  58. package/src/lib/Apis/models/{contact-full-response-dto.ts → rating-distribution-dto.ts} +9 -10
  59. package/src/lib/Apis/models/recent-review-dto.ts +63 -0
  60. package/src/lib/Apis/models/review-overview-dto.ts +65 -0
  61. package/src/lib/Apis/models/store-balance-dto.ts +39 -0
  62. package/src/lib/Apis/models/store-entity.ts +12 -0
  63. package/src/lib/Apis/models/{link-stats-response-dto.ts → store-finance-overview-dto.ts} +10 -15
  64. package/src/lib/Apis/models/store.ts +12 -0
  65. package/src/lib/Apis/models/{add-contact-to-list-dto.ts → time-series-point-dto.ts} +9 -9
  66. package/src/lib/Apis/models/{create-email-template-dto.ts → top-customer-dto.ts} +20 -14
  67. package/src/lib/Apis/models/{marketing-list-contact-dto.ts → top-discount-dto.ts} +12 -12
  68. package/src/lib/Apis/models/{single-browser-stats-dto.ts → top-product-dto.ts} +18 -12
  69. package/src/lib/Apis/models/{marketing-campaign-content-dto.ts → unread-count-dto.ts} +6 -6
  70. package/src/lib/Apis/models/update-store-dto.ts +12 -0
  71. package/src/lib/Apis/models/update-user-dto.ts +0 -6
  72. package/src/lib/Apis/models/user-group.ts +0 -6
  73. package/src/lib/Apis/models/user-with-no-id.ts +0 -6
  74. package/src/lib/Apis/sharedConfig.ts +1 -1
  75. package/src/screens/CartScreen.tsx +10 -10
  76. package/src/screens/CheckoutScreen.tsx +12 -12
  77. package/src/screens/OrderReviewsScreen.tsx +6 -6
  78. package/src/screens/ProductDetailScreen.tsx +40 -40
  79. package/src/screens/SearchResultsScreen.tsx +17 -21
  80. package/src/screens/ShopScreen.tsx +20 -82
  81. package/src/lib/Apis/apis/marketing-api.ts +0 -3099
  82. package/src/lib/Apis/models/api-key-info-dto.ts +0 -49
  83. package/src/lib/Apis/models/browser-stats-response-dto.ts +0 -40
  84. package/src/lib/Apis/models/campaign-content-response-dto.ts +0 -40
  85. package/src/lib/Apis/models/campaign-draft-dto.ts +0 -175
  86. package/src/lib/Apis/models/campaign-draft-response-dto.ts +0 -40
  87. package/src/lib/Apis/models/campaign-draft-schedule-dto.ts +0 -49
  88. package/src/lib/Apis/models/campaign-draft-schedule-response-dto.ts +0 -40
  89. package/src/lib/Apis/models/campaign-draft-sending-dto.ts +0 -43
  90. package/src/lib/Apis/models/campaign-draft-sending-response-dto.ts +0 -40
  91. package/src/lib/Apis/models/contact-aggregated-stats-response-dto.ts +0 -40
  92. package/src/lib/Apis/models/contact-full-dto.ts +0 -93
  93. package/src/lib/Apis/models/contact-list-stats-response-dto.ts +0 -40
  94. package/src/lib/Apis/models/contact-lists-response-dto.ts +0 -40
  95. package/src/lib/Apis/models/create-marketing-campaign-dto.ts +0 -81
  96. package/src/lib/Apis/models/email-template-response-dto.ts +0 -117
  97. package/src/lib/Apis/models/general-stats-response-dto.ts +0 -40
  98. package/src/lib/Apis/models/send-test-email-dto.ts +0 -28
  99. package/src/lib/Apis/models/single-contact-aggregated-stats-dto.ts +0 -129
  100. package/src/lib/Apis/models/single-contact-list-stats-dto.ts +0 -117
  101. package/src/lib/Apis/models/single-general-stats.ts +0 -153
  102. package/src/lib/Apis/models/store-api-keys-response-dto.ts +0 -34
  103. package/src/lib/Apis/models/update-api-keys-dto.ts +0 -39
  104. package/src/lib/Apis/models/update-campaign-draft-content-dto.ts +0 -27
  105. package/src/lib/Apis/models/update-marketing-camp-draft-dto.ts +0 -81
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import React10, { createContext, forwardRef, useContext, useLayoutEffect, useEff
3
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
4
  import globalAxios21 from 'axios';
5
5
  import { motion, AnimatePresence, useMotionValue, useTransform } from 'framer-motion';
6
- import { Eye, Star, ShoppingCart, Sparkles, ShieldCheck, TrendingUp, Search, Package, ArrowUpDown, ChevronDown, LayoutGrid, LayoutList, X, Clock, User, MessageCircle, Filter, ChevronLeft, Check, Heart, Truck, RotateCcw, Shield, Trash2, Minus, Plus, ShoppingBag, ArrowRight, CheckCircle2, MapPin, CreditCard, Edit3, AlertCircle, Lock, EyeOff, UserPlus, Mail, Send, ArrowLeft, MessageSquare, Settings, ChevronRight, ArrowUpRight, PackageCheck, Warehouse, BellRing, Crown, Phone, Grid, List, Loader2, Calendar, ExternalLink, Info, Bell, LogOut, Menu, Facebook, Twitter, Instagram, CheckCheck, BellOff, Shirt, Pill, Box, Gift, Tag, Globe, Home, TrendingDown, CheckCircle, Edit, AlertTriangle, XCircle } from 'lucide-react';
6
+ import { Eye, Star, ShoppingCart, Search, Package, ArrowUpDown, ChevronDown, LayoutGrid, LayoutList, X, ShieldCheck, Clock, User, MessageCircle, Filter, Sparkles, ChevronLeft, Check, Heart, Truck, RotateCcw, Shield, Trash2, Minus, Plus, ShoppingBag, ArrowRight, CheckCircle2, MapPin, CreditCard, Edit3, AlertCircle, Lock, EyeOff, UserPlus, Mail, Send, ArrowLeft, MessageSquare, Settings, ChevronRight, ArrowUpRight, PackageCheck, Warehouse, BellRing, Crown, Phone, Grid, List, TrendingUp, Loader2, Calendar, ExternalLink, Info, Bell, LogOut, Menu, Facebook, Twitter, Instagram, CheckCheck, BellOff, Shirt, Pill, Box, Gift, Tag, Globe, Home, TrendingDown, CheckCircle, Edit, AlertTriangle, XCircle } from 'lucide-react';
7
7
  import { QueryClient, QueryClientProvider, useQuery } from '@tanstack/react-query';
8
8
  import { useRouter, useSearchParams, useParams } from 'next/navigation';
9
9
  import Image4 from 'next/image';
@@ -61,7 +61,7 @@ var init_sharedConfig = __esm({
61
61
  basePath: "https://api.heypharmacist.com",
62
62
  // Default fallback
63
63
  baseOptions: {
64
- timeout: 2e4
64
+ timeout: 6e4
65
65
  }
66
66
  });
67
67
  }
@@ -6341,6 +6341,52 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6341
6341
  options: localVarRequestOptions
6342
6342
  };
6343
6343
  },
6344
+ /**
6345
+ *
6346
+ * @summary Generate a product draft using AI
6347
+ * @param {ProductsAidraftBody} body
6348
+ * @param {*} [options] Override http request option.
6349
+ * @throws {RequiredError}
6350
+ */
6351
+ generateAiDraft: async (body, options = {}) => {
6352
+ if (body === null || body === void 0) {
6353
+ throw new RequiredError("body", "Required parameter body was null or undefined when calling generateAiDraft.");
6354
+ }
6355
+ const localVarPath = `/products/ai-draft`;
6356
+ const localVarUrlObj = new URL(localVarPath, "https://example.com");
6357
+ let baseOptions;
6358
+ if (configuration) {
6359
+ baseOptions = configuration.baseOptions;
6360
+ }
6361
+ const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
6362
+ const localVarHeaderParameter = {};
6363
+ const localVarQueryParameter = {};
6364
+ if (configuration && configuration.accessToken) {
6365
+ const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
6366
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
6367
+ }
6368
+ if (configuration && configuration.apiKey) {
6369
+ const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
6370
+ localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
6371
+ }
6372
+ localVarHeaderParameter["Content-Type"] = "application/json";
6373
+ const query = new URLSearchParams(localVarUrlObj.search);
6374
+ for (const key in localVarQueryParameter) {
6375
+ query.set(key, localVarQueryParameter[key]);
6376
+ }
6377
+ for (const key in options.params) {
6378
+ query.set(key, options.params[key]);
6379
+ }
6380
+ localVarUrlObj.search = new URLSearchParams(query).toString();
6381
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
6382
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
6383
+ const needsSerialization = typeof body !== "string" || (localVarRequestOptions.headers || (localVarRequestOptions.headers = {}))["Content-Type"] === "application/json";
6384
+ localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== void 0 ? body : {}) : body || "";
6385
+ return {
6386
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
6387
+ options: localVarRequestOptions
6388
+ };
6389
+ },
6344
6390
  /**
6345
6391
  *
6346
6392
  * @summary [DEPRECATED] Use GET /products/all?categoryId=:id instead
@@ -6426,7 +6472,6 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6426
6472
  /**
6427
6473
  *
6428
6474
  * @summary Get all products with filtering and pagination
6429
- * @param {string} [searchTerm]
6430
6475
  * @param {number} [maxPrice]
6431
6476
  * @param {number} [minPrice]
6432
6477
  * @param {string} [brandFilter] Comma-separated brand names
@@ -6440,7 +6485,7 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6440
6485
  * @param {*} [options] Override http request option.
6441
6486
  * @throws {RequiredError}
6442
6487
  */
6443
- getAllProducts: async (searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options = {}) => {
6488
+ getAllProducts: async (maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options = {}) => {
6444
6489
  const localVarPath = `/products/all`;
6445
6490
  const localVarUrlObj = new URL(localVarPath, "https://example.com");
6446
6491
  let baseOptions;
@@ -6458,9 +6503,6 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6458
6503
  const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
6459
6504
  localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
6460
6505
  }
6461
- if (searchTerm !== void 0) {
6462
- localVarQueryParameter["searchTerm"] = searchTerm;
6463
- }
6464
6506
  if (maxPrice !== void 0) {
6465
6507
  localVarQueryParameter["maxPrice"] = maxPrice;
6466
6508
  }
@@ -6889,6 +6931,94 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6889
6931
  options: localVarRequestOptions
6890
6932
  };
6891
6933
  },
6934
+ /**
6935
+ *
6936
+ * @summary Process image using PhotoRoom (remove background)
6937
+ * @param {Blob} image
6938
+ * @param {*} [options] Override http request option.
6939
+ * @throws {RequiredError}
6940
+ */
6941
+ processImageForm: async (image, options = {}) => {
6942
+ if (image === null || image === void 0) {
6943
+ throw new RequiredError("image", "Required parameter image was null or undefined when calling processImageForm.");
6944
+ }
6945
+ const localVarPath = `/products/process-image`;
6946
+ const localVarUrlObj = new URL(localVarPath, "https://example.com");
6947
+ let baseOptions;
6948
+ if (configuration) {
6949
+ baseOptions = configuration.baseOptions;
6950
+ }
6951
+ const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
6952
+ const localVarHeaderParameter = {};
6953
+ const localVarQueryParameter = {};
6954
+ const localVarFormParams = new FormData();
6955
+ if (configuration && configuration.accessToken) {
6956
+ const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
6957
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
6958
+ }
6959
+ if (configuration && configuration.apiKey) {
6960
+ const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
6961
+ localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
6962
+ }
6963
+ if (image !== void 0) {
6964
+ localVarFormParams.append("image", image);
6965
+ }
6966
+ localVarHeaderParameter["Content-Type"] = "multipart/form-data";
6967
+ const query = new URLSearchParams(localVarUrlObj.search);
6968
+ for (const key in localVarQueryParameter) {
6969
+ query.set(key, localVarQueryParameter[key]);
6970
+ }
6971
+ for (const key in options.params) {
6972
+ query.set(key, options.params[key]);
6973
+ }
6974
+ localVarUrlObj.search = new URLSearchParams(query).toString();
6975
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
6976
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
6977
+ localVarRequestOptions.data = localVarFormParams;
6978
+ return {
6979
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
6980
+ options: localVarRequestOptions
6981
+ };
6982
+ },
6983
+ /**
6984
+ * Generates AI embeddings for all products. Run this once after enabling smart search, or to refresh all embeddings.
6985
+ * @summary Reindex all product embeddings for smart search
6986
+ * @param {*} [options] Override http request option.
6987
+ * @throws {RequiredError}
6988
+ */
6989
+ reindexEmbeddings: async (options = {}) => {
6990
+ const localVarPath = `/products/reindex-embeddings`;
6991
+ const localVarUrlObj = new URL(localVarPath, "https://example.com");
6992
+ let baseOptions;
6993
+ if (configuration) {
6994
+ baseOptions = configuration.baseOptions;
6995
+ }
6996
+ const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
6997
+ const localVarHeaderParameter = {};
6998
+ const localVarQueryParameter = {};
6999
+ if (configuration && configuration.accessToken) {
7000
+ const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
7001
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
7002
+ }
7003
+ if (configuration && configuration.apiKey) {
7004
+ const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
7005
+ localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
7006
+ }
7007
+ const query = new URLSearchParams(localVarUrlObj.search);
7008
+ for (const key in localVarQueryParameter) {
7009
+ query.set(key, localVarQueryParameter[key]);
7010
+ }
7011
+ for (const key in options.params) {
7012
+ query.set(key, options.params[key]);
7013
+ }
7014
+ localVarUrlObj.search = new URLSearchParams(query).toString();
7015
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
7016
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
7017
+ return {
7018
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
7019
+ options: localVarRequestOptions
7020
+ };
7021
+ },
6892
7022
  /**
6893
7023
  *
6894
7024
  * @summary Reorder products within a category or subcategory
@@ -6935,6 +7065,56 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6935
7065
  options: localVarRequestOptions
6936
7066
  };
6937
7067
  },
7068
+ /**
7069
+ * Search products using natural language. Handles typos, synonyms, and returns related products ranked by relevance.
7070
+ * @summary Smart search using AI-powered semantic similarity
7071
+ * @param {string} searchTerm Search query (e.g., \"headache medicine\", \"iphn 12\")
7072
+ * @param {number} [limit] Maximum results (default: 20)
7073
+ * @param {*} [options] Override http request option.
7074
+ * @throws {RequiredError}
7075
+ */
7076
+ smartSearch: async (searchTerm, limit, options = {}) => {
7077
+ if (searchTerm === null || searchTerm === void 0) {
7078
+ throw new RequiredError("searchTerm", "Required parameter searchTerm was null or undefined when calling smartSearch.");
7079
+ }
7080
+ const localVarPath = `/products/search`;
7081
+ const localVarUrlObj = new URL(localVarPath, "https://example.com");
7082
+ let baseOptions;
7083
+ if (configuration) {
7084
+ baseOptions = configuration.baseOptions;
7085
+ }
7086
+ const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
7087
+ const localVarHeaderParameter = {};
7088
+ const localVarQueryParameter = {};
7089
+ if (configuration && configuration.accessToken) {
7090
+ const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
7091
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
7092
+ }
7093
+ if (configuration && configuration.apiKey) {
7094
+ const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
7095
+ localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
7096
+ }
7097
+ if (searchTerm !== void 0) {
7098
+ localVarQueryParameter["searchTerm"] = searchTerm;
7099
+ }
7100
+ if (limit !== void 0) {
7101
+ localVarQueryParameter["limit"] = limit;
7102
+ }
7103
+ const query = new URLSearchParams(localVarUrlObj.search);
7104
+ for (const key in localVarQueryParameter) {
7105
+ query.set(key, localVarQueryParameter[key]);
7106
+ }
7107
+ for (const key in options.params) {
7108
+ query.set(key, options.params[key]);
7109
+ }
7110
+ localVarUrlObj.search = new URLSearchParams(query).toString();
7111
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
7112
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
7113
+ return {
7114
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
7115
+ options: localVarRequestOptions
7116
+ };
7117
+ },
6938
7118
  /**
6939
7119
  *
6940
7120
  * @summary Update variant inventory (add or subtract)
@@ -7169,6 +7349,20 @@ var ProductsApiFp = function(configuration) {
7169
7349
  return axios.request(axiosRequestArgs);
7170
7350
  };
7171
7351
  },
7352
+ /**
7353
+ *
7354
+ * @summary Generate a product draft using AI
7355
+ * @param {ProductsAidraftBody} body
7356
+ * @param {*} [options] Override http request option.
7357
+ * @throws {RequiredError}
7358
+ */
7359
+ async generateAiDraft(body, options) {
7360
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).generateAiDraft(body, options);
7361
+ return (axios = globalAxios21, basePath = BASE_PATH) => {
7362
+ const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7363
+ return axios.request(axiosRequestArgs);
7364
+ };
7365
+ },
7172
7366
  /**
7173
7367
  *
7174
7368
  * @summary [DEPRECATED] Use GET /products/all?categoryId=:id instead
@@ -7199,7 +7393,6 @@ var ProductsApiFp = function(configuration) {
7199
7393
  /**
7200
7394
  *
7201
7395
  * @summary Get all products with filtering and pagination
7202
- * @param {string} [searchTerm]
7203
7396
  * @param {number} [maxPrice]
7204
7397
  * @param {number} [minPrice]
7205
7398
  * @param {string} [brandFilter] Comma-separated brand names
@@ -7213,8 +7406,8 @@ var ProductsApiFp = function(configuration) {
7213
7406
  * @param {*} [options] Override http request option.
7214
7407
  * @throws {RequiredError}
7215
7408
  */
7216
- async getAllProducts(searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options) {
7217
- const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).getAllProducts(searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options);
7409
+ async getAllProducts(maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options) {
7410
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).getAllProducts(maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options);
7218
7411
  return (axios = globalAxios21, basePath = BASE_PATH) => {
7219
7412
  const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7220
7413
  return axios.request(axiosRequestArgs);
@@ -7345,6 +7538,33 @@ var ProductsApiFp = function(configuration) {
7345
7538
  return axios.request(axiosRequestArgs);
7346
7539
  };
7347
7540
  },
7541
+ /**
7542
+ *
7543
+ * @summary Process image using PhotoRoom (remove background)
7544
+ * @param {Blob} image
7545
+ * @param {*} [options] Override http request option.
7546
+ * @throws {RequiredError}
7547
+ */
7548
+ async processImageForm(image, options) {
7549
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).processImageForm(image, options);
7550
+ return (axios = globalAxios21, basePath = BASE_PATH) => {
7551
+ const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7552
+ return axios.request(axiosRequestArgs);
7553
+ };
7554
+ },
7555
+ /**
7556
+ * Generates AI embeddings for all products. Run this once after enabling smart search, or to refresh all embeddings.
7557
+ * @summary Reindex all product embeddings for smart search
7558
+ * @param {*} [options] Override http request option.
7559
+ * @throws {RequiredError}
7560
+ */
7561
+ async reindexEmbeddings(options) {
7562
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).reindexEmbeddings(options);
7563
+ return (axios = globalAxios21, basePath = BASE_PATH) => {
7564
+ const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7565
+ return axios.request(axiosRequestArgs);
7566
+ };
7567
+ },
7348
7568
  /**
7349
7569
  *
7350
7570
  * @summary Reorder products within a category or subcategory
@@ -7359,6 +7579,21 @@ var ProductsApiFp = function(configuration) {
7359
7579
  return axios.request(axiosRequestArgs);
7360
7580
  };
7361
7581
  },
7582
+ /**
7583
+ * Search products using natural language. Handles typos, synonyms, and returns related products ranked by relevance.
7584
+ * @summary Smart search using AI-powered semantic similarity
7585
+ * @param {string} searchTerm Search query (e.g., \"headache medicine\", \"iphn 12\")
7586
+ * @param {number} [limit] Maximum results (default: 20)
7587
+ * @param {*} [options] Override http request option.
7588
+ * @throws {RequiredError}
7589
+ */
7590
+ async smartSearch(searchTerm, limit, options) {
7591
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).smartSearch(searchTerm, limit, options);
7592
+ return (axios = globalAxios21, basePath = BASE_PATH) => {
7593
+ const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7594
+ return axios.request(axiosRequestArgs);
7595
+ };
7596
+ },
7362
7597
  /**
7363
7598
  *
7364
7599
  * @summary Update variant inventory (add or subtract)
@@ -7466,6 +7701,17 @@ var ProductsApi = class extends BaseAPI {
7466
7701
  async deleteVariant(productId, variantId, options) {
7467
7702
  return ProductsApiFp(this.configuration).deleteVariant(productId, variantId, options).then((request) => request(this.axios, this.basePath));
7468
7703
  }
7704
+ /**
7705
+ *
7706
+ * @summary Generate a product draft using AI
7707
+ * @param {ProductsAidraftBody} body
7708
+ * @param {*} [options] Override http request option.
7709
+ * @throws {RequiredError}
7710
+ * @memberof ProductsApi
7711
+ */
7712
+ async generateAiDraft(body, options) {
7713
+ return ProductsApiFp(this.configuration).generateAiDraft(body, options).then((request) => request(this.axios, this.basePath));
7714
+ }
7469
7715
  /**
7470
7716
  *
7471
7717
  * @summary [DEPRECATED] Use GET /products/all?categoryId=:id instead
@@ -7490,7 +7736,6 @@ var ProductsApi = class extends BaseAPI {
7490
7736
  /**
7491
7737
  *
7492
7738
  * @summary Get all products with filtering and pagination
7493
- * @param {string} [searchTerm]
7494
7739
  * @param {number} [maxPrice]
7495
7740
  * @param {number} [minPrice]
7496
7741
  * @param {string} [brandFilter] Comma-separated brand names
@@ -7505,8 +7750,8 @@ var ProductsApi = class extends BaseAPI {
7505
7750
  * @throws {RequiredError}
7506
7751
  * @memberof ProductsApi
7507
7752
  */
7508
- async getAllProducts(searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options) {
7509
- return ProductsApiFp(this.configuration).getAllProducts(searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options).then((request) => request(this.axios, this.basePath));
7753
+ async getAllProducts(maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options) {
7754
+ return ProductsApiFp(this.configuration).getAllProducts(maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options).then((request) => request(this.axios, this.basePath));
7510
7755
  }
7511
7756
  /**
7512
7757
  *
@@ -7606,6 +7851,27 @@ var ProductsApi = class extends BaseAPI {
7606
7851
  async getTopSellingProducts(limit, page, options) {
7607
7852
  return ProductsApiFp(this.configuration).getTopSellingProducts(limit, page, options).then((request) => request(this.axios, this.basePath));
7608
7853
  }
7854
+ /**
7855
+ *
7856
+ * @summary Process image using PhotoRoom (remove background)
7857
+ * @param {Blob} image
7858
+ * @param {*} [options] Override http request option.
7859
+ * @throws {RequiredError}
7860
+ * @memberof ProductsApi
7861
+ */
7862
+ async processImageForm(image, options) {
7863
+ return ProductsApiFp(this.configuration).processImageForm(image, options).then((request) => request(this.axios, this.basePath));
7864
+ }
7865
+ /**
7866
+ * Generates AI embeddings for all products. Run this once after enabling smart search, or to refresh all embeddings.
7867
+ * @summary Reindex all product embeddings for smart search
7868
+ * @param {*} [options] Override http request option.
7869
+ * @throws {RequiredError}
7870
+ * @memberof ProductsApi
7871
+ */
7872
+ async reindexEmbeddings(options) {
7873
+ return ProductsApiFp(this.configuration).reindexEmbeddings(options).then((request) => request(this.axios, this.basePath));
7874
+ }
7609
7875
  /**
7610
7876
  *
7611
7877
  * @summary Reorder products within a category or subcategory
@@ -7617,6 +7883,18 @@ var ProductsApi = class extends BaseAPI {
7617
7883
  async reorderProducts(body, options) {
7618
7884
  return ProductsApiFp(this.configuration).reorderProducts(body, options).then((request) => request(this.axios, this.basePath));
7619
7885
  }
7886
+ /**
7887
+ * Search products using natural language. Handles typos, synonyms, and returns related products ranked by relevance.
7888
+ * @summary Smart search using AI-powered semantic similarity
7889
+ * @param {string} searchTerm Search query (e.g., \"headache medicine\", \"iphn 12\")
7890
+ * @param {number} [limit] Maximum results (default: 20)
7891
+ * @param {*} [options] Override http request option.
7892
+ * @throws {RequiredError}
7893
+ * @memberof ProductsApi
7894
+ */
7895
+ async smartSearch(searchTerm, limit, options) {
7896
+ return ProductsApiFp(this.configuration).smartSearch(searchTerm, limit, options).then((request) => request(this.axios, this.basePath));
7897
+ }
7620
7898
  /**
7621
7899
  *
7622
7900
  * @summary Update variant inventory (add or subtract)
@@ -9514,16 +9792,12 @@ var StoresApiAxiosParamCreator = function(configuration) {
9514
9792
  },
9515
9793
  /**
9516
9794
  *
9517
- * @summary Get store API keys with masked values
9518
- * @param {string} storeId
9795
+ * @summary Get store finance overview
9519
9796
  * @param {*} [options] Override http request option.
9520
9797
  * @throws {RequiredError}
9521
9798
  */
9522
- getApiKeys: async (storeId, options = {}) => {
9523
- if (storeId === null || storeId === void 0) {
9524
- throw new RequiredError("storeId", "Required parameter storeId was null or undefined when calling getApiKeys.");
9525
- }
9526
- const localVarPath = `/stores/{storeId}/api-keys`.replace(`{${"storeId"}}`, encodeURIComponent(String(storeId)));
9799
+ getFinanceOverview: async (options = {}) => {
9800
+ const localVarPath = `/stores/finance/overview`;
9527
9801
  const localVarUrlObj = new URL(localVarPath, "https://example.com");
9528
9802
  let baseOptions;
9529
9803
  if (configuration) {
@@ -9746,49 +10020,6 @@ var StoresApiAxiosParamCreator = function(configuration) {
9746
10020
  options: localVarRequestOptions
9747
10021
  };
9748
10022
  },
9749
- /**
9750
- *
9751
- * @summary Revoke/delete a specific API key
9752
- * @param {string} storeId
9753
- * @param {string} keyType Type of key to revoke
9754
- * @param {*} [options] Override http request option.
9755
- * @throws {RequiredError}
9756
- */
9757
- revokeApiKey: async (storeId, keyType, options = {}) => {
9758
- if (storeId === null || storeId === void 0) {
9759
- throw new RequiredError("storeId", "Required parameter storeId was null or undefined when calling revokeApiKey.");
9760
- }
9761
- if (keyType === null || keyType === void 0) {
9762
- throw new RequiredError("keyType", "Required parameter keyType was null or undefined when calling revokeApiKey.");
9763
- }
9764
- const localVarPath = `/stores/{storeId}/api-keys/{keyType}`.replace(`{${"storeId"}}`, encodeURIComponent(String(storeId))).replace(`{${"keyType"}}`, encodeURIComponent(String(keyType)));
9765
- const localVarUrlObj = new URL(localVarPath, "https://example.com");
9766
- let baseOptions;
9767
- if (configuration) {
9768
- baseOptions = configuration.baseOptions;
9769
- }
9770
- const localVarRequestOptions = { method: "DELETE", ...baseOptions, ...options };
9771
- const localVarHeaderParameter = {};
9772
- const localVarQueryParameter = {};
9773
- if (configuration && configuration.apiKey) {
9774
- const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
9775
- localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
9776
- }
9777
- const query = new URLSearchParams(localVarUrlObj.search);
9778
- for (const key in localVarQueryParameter) {
9779
- query.set(key, localVarQueryParameter[key]);
9780
- }
9781
- for (const key in options.params) {
9782
- query.set(key, options.params[key]);
9783
- }
9784
- localVarUrlObj.search = new URLSearchParams(query).toString();
9785
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
9786
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
9787
- return {
9788
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
9789
- options: localVarRequestOptions
9790
- };
9791
- },
9792
10023
  /**
9793
10024
  *
9794
10025
  * @param {*} [options] Override http request option.
@@ -10195,33 +10426,24 @@ var StoresApiAxiosParamCreator = function(configuration) {
10195
10426
  },
10196
10427
  /**
10197
10428
  *
10198
- * @summary Update store API keys (Stripe/Shippo)
10199
- * @param {UpdateApiKeysDto} body
10200
- * @param {string} storeId
10429
+ * @summary Generate Stripe Onboarding Link
10201
10430
  * @param {*} [options] Override http request option.
10202
10431
  * @throws {RequiredError}
10203
10432
  */
10204
- updateApiKeys: async (body, storeId, options = {}) => {
10205
- if (body === null || body === void 0) {
10206
- throw new RequiredError("body", "Required parameter body was null or undefined when calling updateApiKeys.");
10207
- }
10208
- if (storeId === null || storeId === void 0) {
10209
- throw new RequiredError("storeId", "Required parameter storeId was null or undefined when calling updateApiKeys.");
10210
- }
10211
- const localVarPath = `/stores/{storeId}/api-keys`.replace(`{${"storeId"}}`, encodeURIComponent(String(storeId)));
10433
+ startOnboarding: async (options = {}) => {
10434
+ const localVarPath = `/stores/onboarding`;
10212
10435
  const localVarUrlObj = new URL(localVarPath, "https://example.com");
10213
10436
  let baseOptions;
10214
10437
  if (configuration) {
10215
10438
  baseOptions = configuration.baseOptions;
10216
10439
  }
10217
- const localVarRequestOptions = { method: "PATCH", ...baseOptions, ...options };
10440
+ const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
10218
10441
  const localVarHeaderParameter = {};
10219
10442
  const localVarQueryParameter = {};
10220
10443
  if (configuration && configuration.apiKey) {
10221
10444
  const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
10222
10445
  localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
10223
10446
  }
10224
- localVarHeaderParameter["Content-Type"] = "application/json";
10225
10447
  const query = new URLSearchParams(localVarUrlObj.search);
10226
10448
  for (const key in localVarQueryParameter) {
10227
10449
  query.set(key, localVarQueryParameter[key]);
@@ -10232,8 +10454,6 @@ var StoresApiAxiosParamCreator = function(configuration) {
10232
10454
  localVarUrlObj.search = new URLSearchParams(query).toString();
10233
10455
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
10234
10456
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
10235
- const needsSerialization = typeof body !== "string" || (localVarRequestOptions.headers || (localVarRequestOptions.headers = {}))["Content-Type"] === "application/json";
10236
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== void 0 ? body : {}) : body || "";
10237
10457
  return {
10238
10458
  url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
10239
10459
  options: localVarRequestOptions
@@ -10467,13 +10687,12 @@ var StoresApiFp = function(configuration) {
10467
10687
  },
10468
10688
  /**
10469
10689
  *
10470
- * @summary Get store API keys with masked values
10471
- * @param {string} storeId
10690
+ * @summary Get store finance overview
10472
10691
  * @param {*} [options] Override http request option.
10473
10692
  * @throws {RequiredError}
10474
10693
  */
10475
- async getApiKeys(storeId, options) {
10476
- const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).getApiKeys(storeId, options);
10694
+ async getFinanceOverview(options) {
10695
+ const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).getFinanceOverview(options);
10477
10696
  return (axios = globalAxios21, basePath = BASE_PATH) => {
10478
10697
  const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
10479
10698
  return axios.request(axiosRequestArgs);
@@ -10549,21 +10768,6 @@ var StoresApiFp = function(configuration) {
10549
10768
  return axios.request(axiosRequestArgs);
10550
10769
  };
10551
10770
  },
10552
- /**
10553
- *
10554
- * @summary Revoke/delete a specific API key
10555
- * @param {string} storeId
10556
- * @param {string} keyType Type of key to revoke
10557
- * @param {*} [options] Override http request option.
10558
- * @throws {RequiredError}
10559
- */
10560
- async revokeApiKey(storeId, keyType, options) {
10561
- const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).revokeApiKey(storeId, keyType, options);
10562
- return (axios = globalAxios21, basePath = BASE_PATH) => {
10563
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
10564
- return axios.request(axiosRequestArgs);
10565
- };
10566
- },
10567
10771
  /**
10568
10772
  *
10569
10773
  * @param {*} [options] Override http request option.
@@ -10704,14 +10908,12 @@ var StoresApiFp = function(configuration) {
10704
10908
  },
10705
10909
  /**
10706
10910
  *
10707
- * @summary Update store API keys (Stripe/Shippo)
10708
- * @param {UpdateApiKeysDto} body
10709
- * @param {string} storeId
10911
+ * @summary Generate Stripe Onboarding Link
10710
10912
  * @param {*} [options] Override http request option.
10711
10913
  * @throws {RequiredError}
10712
10914
  */
10713
- async updateApiKeys(body, storeId, options) {
10714
- const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).updateApiKeys(body, storeId, options);
10915
+ async startOnboarding(options) {
10916
+ const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).startOnboarding(options);
10715
10917
  return (axios = globalAxios21, basePath = BASE_PATH) => {
10716
10918
  const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
10717
10919
  return axios.request(axiosRequestArgs);
@@ -10833,14 +11035,13 @@ var StoresApi = class extends BaseAPI {
10833
11035
  }
10834
11036
  /**
10835
11037
  *
10836
- * @summary Get store API keys with masked values
10837
- * @param {string} storeId
11038
+ * @summary Get store finance overview
10838
11039
  * @param {*} [options] Override http request option.
10839
11040
  * @throws {RequiredError}
10840
11041
  * @memberof StoresApi
10841
11042
  */
10842
- async getApiKeys(storeId, options) {
10843
- return StoresApiFp(this.configuration).getApiKeys(storeId, options).then((request) => request(this.axios, this.basePath));
11043
+ async getFinanceOverview(options) {
11044
+ return StoresApiFp(this.configuration).getFinanceOverview(options).then((request) => request(this.axios, this.basePath));
10844
11045
  }
10845
11046
  /**
10846
11047
  *
@@ -10897,18 +11098,6 @@ var StoresApi = class extends BaseAPI {
10897
11098
  async getTransferePatientsRequests(storeId, options) {
10898
11099
  return StoresApiFp(this.configuration).getTransferePatientsRequests(storeId, options).then((request) => request(this.axios, this.basePath));
10899
11100
  }
10900
- /**
10901
- *
10902
- * @summary Revoke/delete a specific API key
10903
- * @param {string} storeId
10904
- * @param {string} keyType Type of key to revoke
10905
- * @param {*} [options] Override http request option.
10906
- * @throws {RequiredError}
10907
- * @memberof StoresApi
10908
- */
10909
- async revokeApiKey(storeId, keyType, options) {
10910
- return StoresApiFp(this.configuration).revokeApiKey(storeId, keyType, options).then((request) => request(this.axios, this.basePath));
10911
- }
10912
11101
  /**
10913
11102
  *
10914
11103
  * @param {*} [options] Override http request option.
@@ -11016,15 +11205,13 @@ var StoresApi = class extends BaseAPI {
11016
11205
  }
11017
11206
  /**
11018
11207
  *
11019
- * @summary Update store API keys (Stripe/Shippo)
11020
- * @param {UpdateApiKeysDto} body
11021
- * @param {string} storeId
11208
+ * @summary Generate Stripe Onboarding Link
11022
11209
  * @param {*} [options] Override http request option.
11023
11210
  * @throws {RequiredError}
11024
11211
  * @memberof StoresApi
11025
11212
  */
11026
- async updateApiKeys(body, storeId, options) {
11027
- return StoresApiFp(this.configuration).updateApiKeys(body, storeId, options).then((request) => request(this.axios, this.basePath));
11213
+ async startOnboarding(options) {
11214
+ return StoresApiFp(this.configuration).startOnboarding(options).then((request) => request(this.axios, this.basePath));
11028
11215
  }
11029
11216
  /**
11030
11217
  *
@@ -11395,13 +11582,6 @@ var AddressCreatedRequestAddressTypeEnum = /* @__PURE__ */ ((AddressCreatedReque
11395
11582
  return AddressCreatedRequestAddressTypeEnum2;
11396
11583
  })(AddressCreatedRequestAddressTypeEnum || {});
11397
11584
 
11398
- // src/lib/Apis/models/api-key-info-dto.ts
11399
- var ApiKeyInfoDtoKeyTypeEnum = /* @__PURE__ */ ((ApiKeyInfoDtoKeyTypeEnum2) => {
11400
- ApiKeyInfoDtoKeyTypeEnum2["Stripe"] = "stripe";
11401
- ApiKeyInfoDtoKeyTypeEnum2["Shippo"] = "shippo";
11402
- return ApiKeyInfoDtoKeyTypeEnum2;
11403
- })(ApiKeyInfoDtoKeyTypeEnum || {});
11404
-
11405
11585
  // src/lib/Apis/models/bulk-channel-toggle-dto.ts
11406
11586
  var BulkChannelToggleDtoCategoryEnum = /* @__PURE__ */ ((BulkChannelToggleDtoCategoryEnum2) => {
11407
11587
  BulkChannelToggleDtoCategoryEnum2["Transactional"] = "transactional";
@@ -11412,45 +11592,6 @@ var BulkChannelToggleDtoCategoryEnum = /* @__PURE__ */ ((BulkChannelToggleDtoCat
11412
11592
  return BulkChannelToggleDtoCategoryEnum2;
11413
11593
  })(BulkChannelToggleDtoCategoryEnum || {});
11414
11594
 
11415
- // src/lib/Apis/models/campaign-draft-dto.ts
11416
- var CampaignDraftDtoStatusEnum = /* @__PURE__ */ ((CampaignDraftDtoStatusEnum2) => {
11417
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_MINUS_3"] = -3] = "NUMBER_MINUS_3";
11418
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_MINUS_2"] = -2] = "NUMBER_MINUS_2";
11419
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_MINUS_1"] = -1] = "NUMBER_MINUS_1";
11420
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_0"] = 0] = "NUMBER_0";
11421
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_1"] = 1] = "NUMBER_1";
11422
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_2"] = 2] = "NUMBER_2";
11423
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_3"] = 3] = "NUMBER_3";
11424
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_4"] = 4] = "NUMBER_4";
11425
- return CampaignDraftDtoStatusEnum2;
11426
- })(CampaignDraftDtoStatusEnum || {});
11427
-
11428
- // src/lib/Apis/models/campaign-draft-schedule-dto.ts
11429
- var CampaignDraftScheduleDtoStatusEnum = /* @__PURE__ */ ((CampaignDraftScheduleDtoStatusEnum2) => {
11430
- CampaignDraftScheduleDtoStatusEnum2["AXCancelled"] = "AXCancelled";
11431
- CampaignDraftScheduleDtoStatusEnum2["Deleted"] = "Deleted";
11432
- CampaignDraftScheduleDtoStatusEnum2["Archived"] = "Archived";
11433
- CampaignDraftScheduleDtoStatusEnum2["Draft"] = "Draft";
11434
- CampaignDraftScheduleDtoStatusEnum2["Programmed"] = "Programmed";
11435
- CampaignDraftScheduleDtoStatusEnum2["Sent"] = "Sent";
11436
- CampaignDraftScheduleDtoStatusEnum2["AXTested"] = "AXTested";
11437
- CampaignDraftScheduleDtoStatusEnum2["AXSelected"] = "AXSelected";
11438
- return CampaignDraftScheduleDtoStatusEnum2;
11439
- })(CampaignDraftScheduleDtoStatusEnum || {});
11440
-
11441
- // src/lib/Apis/models/campaign-draft-sending-dto.ts
11442
- var CampaignDraftSendingDtoStatusEnum = /* @__PURE__ */ ((CampaignDraftSendingDtoStatusEnum2) => {
11443
- CampaignDraftSendingDtoStatusEnum2["AXCancelled"] = "AXCancelled";
11444
- CampaignDraftSendingDtoStatusEnum2["Deleted"] = "Deleted";
11445
- CampaignDraftSendingDtoStatusEnum2["Archived"] = "Archived";
11446
- CampaignDraftSendingDtoStatusEnum2["Draft"] = "Draft";
11447
- CampaignDraftSendingDtoStatusEnum2["Programmed"] = "Programmed";
11448
- CampaignDraftSendingDtoStatusEnum2["Sent"] = "Sent";
11449
- CampaignDraftSendingDtoStatusEnum2["AXTested"] = "AXTested";
11450
- CampaignDraftSendingDtoStatusEnum2["AXSelected"] = "AXSelected";
11451
- return CampaignDraftSendingDtoStatusEnum2;
11452
- })(CampaignDraftSendingDtoStatusEnum || {});
11453
-
11454
11595
  // src/lib/Apis/models/create-address-dto.ts
11455
11596
  var CreateAddressDtoAddressTypeEnum = /* @__PURE__ */ ((CreateAddressDtoAddressTypeEnum2) => {
11456
11597
  CreateAddressDtoAddressTypeEnum2["Billing"] = "Billing";
@@ -11518,6 +11659,13 @@ var DiscountStateEnum = /* @__PURE__ */ ((DiscountStateEnum2) => {
11518
11659
  return DiscountStateEnum2;
11519
11660
  })(DiscountStateEnum || {});
11520
11661
 
11662
+ // src/lib/Apis/models/inventory-alert-dto.ts
11663
+ var InventoryAlertDtoAlertTypeEnum = /* @__PURE__ */ ((InventoryAlertDtoAlertTypeEnum2) => {
11664
+ InventoryAlertDtoAlertTypeEnum2["LOWSTOCK"] = "LOW_STOCK";
11665
+ InventoryAlertDtoAlertTypeEnum2["OUTOFSTOCK"] = "OUT_OF_STOCK";
11666
+ return InventoryAlertDtoAlertTypeEnum2;
11667
+ })(InventoryAlertDtoAlertTypeEnum || {});
11668
+
11521
11669
  // src/lib/Apis/models/manual-discount-dto.ts
11522
11670
  var ManualDiscountDtoValueTypeEnum = /* @__PURE__ */ ((ManualDiscountDtoValueTypeEnum2) => {
11523
11671
  ManualDiscountDtoValueTypeEnum2["PERCENTAGE"] = "PERCENTAGE";
@@ -11552,6 +11700,29 @@ var ManualOrderDTOPaymentStatusEnum = /* @__PURE__ */ ((ManualOrderDTOPaymentSta
11552
11700
  return ManualOrderDTOPaymentStatusEnum2;
11553
11701
  })(ManualOrderDTOPaymentStatusEnum || {});
11554
11702
 
11703
+ // src/lib/Apis/models/notification-dto.ts
11704
+ var NotificationDtoTypeEnum = /* @__PURE__ */ ((NotificationDtoTypeEnum2) => {
11705
+ NotificationDtoTypeEnum2["ORDERCONFIRMATION"] = "ORDER_CONFIRMATION";
11706
+ NotificationDtoTypeEnum2["PAYMENTFAILED"] = "PAYMENT_FAILED";
11707
+ NotificationDtoTypeEnum2["ORDERSHIPPED"] = "ORDER_SHIPPED";
11708
+ NotificationDtoTypeEnum2["ORDERDELIVERED"] = "ORDER_DELIVERED";
11709
+ NotificationDtoTypeEnum2["REFUNDPROCESSED"] = "REFUND_PROCESSED";
11710
+ NotificationDtoTypeEnum2["REVIEWREPLY"] = "REVIEW_REPLY";
11711
+ NotificationDtoTypeEnum2["ABANDONEDCARTREMINDER"] = "ABANDONED_CART_REMINDER";
11712
+ NotificationDtoTypeEnum2["PRICEDROPALERT"] = "PRICE_DROP_ALERT";
11713
+ NotificationDtoTypeEnum2["BACKINSTOCK"] = "BACK_IN_STOCK";
11714
+ NotificationDtoTypeEnum2["PASSWORDRESET"] = "PASSWORD_RESET";
11715
+ NotificationDtoTypeEnum2["NEWDEVICELOGIN"] = "NEW_DEVICE_LOGIN";
11716
+ NotificationDtoTypeEnum2["TWOFACODE"] = "TWO_FA_CODE";
11717
+ NotificationDtoTypeEnum2["NEWORDER"] = "NEW_ORDER";
11718
+ NotificationDtoTypeEnum2["LOWSTOCKWARNING"] = "LOW_STOCK_WARNING";
11719
+ NotificationDtoTypeEnum2["NEWRETURNREQUEST"] = "NEW_RETURN_REQUEST";
11720
+ NotificationDtoTypeEnum2["NEWUSERREGISTERED"] = "NEW_USER_REGISTERED";
11721
+ NotificationDtoTypeEnum2["HIGHVALUEORDERALERT"] = "HIGH_VALUE_ORDER_ALERT";
11722
+ NotificationDtoTypeEnum2["PAYOUTFAILED"] = "PAYOUT_FAILED";
11723
+ return NotificationDtoTypeEnum2;
11724
+ })(NotificationDtoTypeEnum || {});
11725
+
11555
11726
  // src/lib/Apis/models/order.ts
11556
11727
  var OrderOrderTypeEnum = /* @__PURE__ */ ((OrderOrderTypeEnum2) => {
11557
11728
  OrderOrderTypeEnum2["Pickup"] = "Pickup";
@@ -11655,6 +11826,7 @@ var PreferenceUpdateItemTypeEnum = /* @__PURE__ */ ((PreferenceUpdateItemTypeEnu
11655
11826
  PreferenceUpdateItemTypeEnum2["ORDERSHIPPED"] = "ORDER_SHIPPED";
11656
11827
  PreferenceUpdateItemTypeEnum2["ORDERDELIVERED"] = "ORDER_DELIVERED";
11657
11828
  PreferenceUpdateItemTypeEnum2["REFUNDPROCESSED"] = "REFUND_PROCESSED";
11829
+ PreferenceUpdateItemTypeEnum2["REVIEWREPLY"] = "REVIEW_REPLY";
11658
11830
  PreferenceUpdateItemTypeEnum2["ABANDONEDCARTREMINDER"] = "ABANDONED_CART_REMINDER";
11659
11831
  PreferenceUpdateItemTypeEnum2["PRICEDROPALERT"] = "PRICE_DROP_ALERT";
11660
11832
  PreferenceUpdateItemTypeEnum2["BACKINSTOCK"] = "BACK_IN_STOCK";
@@ -11845,7 +12017,7 @@ function Notification2({ notification, onDismiss }) {
11845
12017
  animate: { opacity: 1, y: 0, scale: 1 },
11846
12018
  exit: { opacity: 0, x: 100, scale: 0.95 },
11847
12019
  transition: { type: "spring", stiffness: 500, damping: 30 },
11848
- className: `relative bg-white rounded-2xl border-2 ${config.borderColor} shadow-xl overflow-hidden min-w-[320px] max-w-[420px]`,
12020
+ className: `relative bg-hprimary-50 rounded-2xl border-2 ${config.borderColor} shadow-xl overflow-hidden min-w-[320px] max-w-[420px]`,
11849
12021
  children: [
11850
12022
  /* @__PURE__ */ jsx("div", { className: `h-1 bg-linear-to-r ${config.gradient}` }),
11851
12023
  /* @__PURE__ */ jsxs("div", { className: "p-4 flex items-start gap-3", children: [
@@ -11860,8 +12032,8 @@ function Notification2({ notification, onDismiss }) {
11860
12032
  }
11861
12033
  ),
11862
12034
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
11863
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-[#2B4B7C] mb-1", children: notification.message }),
11864
- notification.description && /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[12px] text-[#676c80] leading-relaxed", children: notification.description })
12035
+ /* @__PURE__ */ jsx("p", { className: "font-semibold text-[14px] text-[#2B4B7C] mb-1", children: notification.message }),
12036
+ notification.description && /* @__PURE__ */ jsx("p", { className: "text-[12px] text-[#676c80] leading-relaxed", children: notification.description })
11865
12037
  ] }),
11866
12038
  /* @__PURE__ */ jsx(
11867
12039
  "button",
@@ -12770,8 +12942,8 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12770
12942
  children: /* @__PURE__ */ jsxs("div", { className: "p-8", children: [
12771
12943
  /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between mb-6", children: [
12772
12944
  /* @__PURE__ */ jsxs("div", { children: [
12773
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hprimary uppercase tracking-wide font-medium mb-2", children: product.brand }),
12774
- /* @__PURE__ */ jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary tracking-[-1px]", children: displayName }),
12945
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] text-hprimary uppercase tracking-wide font-medium mb-2", children: product.brand }),
12946
+ /* @__PURE__ */ jsx("h2", { className: "font-semibold text-hsecondary tracking-[-1px]", children: displayName }),
12775
12947
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mt-2", children: [
12776
12948
  /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsx(
12777
12949
  Star,
@@ -12780,7 +12952,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12780
12952
  },
12781
12953
  i
12782
12954
  )) }),
12783
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[13px] text-hmuted", children: [
12955
+ /* @__PURE__ */ jsxs("span", { className: "text-[13px] text-hmuted", children: [
12784
12956
  product.summary?.averageRating || 0,
12785
12957
  " (",
12786
12958
  product.summary?.reviewCount || 0,
@@ -12808,7 +12980,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12808
12980
  className: "w-full h-full object-contain"
12809
12981
  }
12810
12982
  ),
12811
- /* @__PURE__ */ jsx("div", { className: "absolute top-4 left-4 flex flex-col gap-2", children: isDiscounted && /* @__PURE__ */ jsx("div", { className: "bg-haccent text-white rounded-full px-3 py-1.5", children: /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[11px] uppercase", children: [
12983
+ /* @__PURE__ */ jsx("div", { className: "absolute top-4 left-4 flex flex-col gap-2", children: isDiscounted && /* @__PURE__ */ jsx("div", { className: "bg-haccent text-white rounded-full px-3 py-1.5", children: /* @__PURE__ */ jsxs("span", { className: "font-bold text-[11px] uppercase", children: [
12812
12984
  "-",
12813
12985
  discountAmount,
12814
12986
  "%"
@@ -12833,33 +13005,33 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12833
13005
  ] }),
12834
13006
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
12835
13007
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 mb-4", children: [
12836
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[32px] text-haccent", children: [
13008
+ /* @__PURE__ */ jsxs("span", { className: "font-bold text-[32px] text-haccent", children: [
12837
13009
  "$",
12838
13010
  displayPrice.toFixed(2)
12839
13011
  ] }),
12840
- isDiscounted && /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[20px] text-hmuted line-through", children: [
13012
+ isDiscounted && /* @__PURE__ */ jsxs("span", { className: "text-[20px] text-hmuted line-through", children: [
12841
13013
  "$",
12842
13014
  displayOriginalPrice.toFixed(2)
12843
13015
  ] })
12844
13016
  ] }),
12845
- /* @__PURE__ */ jsx("div", { className: "mb-6", children: selectedVariant.inventoryCount === 0 ? /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] text-[12px] text-red-500 font-medium", children: "Out of Stock" }) : selectedVariant.inventoryCount <= 10 ? /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[12px] text-hprimary font-medium flex items-center gap-1", children: [
13017
+ /* @__PURE__ */ jsx("div", { className: "mb-6", children: selectedVariant.inventoryCount === 0 ? /* @__PURE__ */ jsx("span", { className: "text-[12px] text-red-500 font-medium", children: "Out of Stock" }) : selectedVariant.inventoryCount <= 10 ? /* @__PURE__ */ jsxs("span", { className: "text-[12px] text-hprimary font-medium flex items-center gap-1", children: [
12846
13018
  /* @__PURE__ */ jsx(Package, { className: "size-3" }),
12847
13019
  "Only ",
12848
13020
  selectedVariant.inventoryCount,
12849
13021
  " left in stock"
12850
- ] }) : /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[12px] text-green-600 font-medium flex items-center gap-1", children: [
13022
+ ] }) : /* @__PURE__ */ jsxs("span", { className: "text-[12px] text-green-600 font-medium flex items-center gap-1", children: [
12851
13023
  /* @__PURE__ */ jsx(Package, { className: "size-3" }),
12852
13024
  "In Stock"
12853
13025
  ] }) }),
12854
13026
  /* @__PURE__ */ jsx(
12855
13027
  "div",
12856
13028
  {
12857
- className: "font-['Poppins',sans-serif] text-[14px] text-hmuted leading-[1.7] mb-6 max-w-full overflow-hidden break-words",
13029
+ className: "text-[14px] text-hmuted leading-[1.7] mb-6 max-w-full overflow-hidden break-words",
12858
13030
  dangerouslySetInnerHTML: { __html: product.description }
12859
13031
  }
12860
13032
  ),
12861
13033
  /* @__PURE__ */ jsxs("div", { className: "mb-6", children: [
12862
- /* @__PURE__ */ jsxs("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-hsecondary mb-3", children: [
13034
+ /* @__PURE__ */ jsxs("h3", { className: "font-semibold text-[13px] text-hsecondary mb-3", children: [
12863
13035
  "Selected Variant: ",
12864
13036
  /* @__PURE__ */ jsx("span", { className: "font-normal text-hmuted", children: product.variants[selectedVariantIndex].name })
12865
13037
  ] }),
@@ -12890,10 +13062,10 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12890
13062
  ] }),
12891
13063
  /* @__PURE__ */ jsx("div", { className: "mb-6 p-4 bg-gray-50 rounded-xl", children: /* @__PURE__ */ jsx("ul", { className: "space-y-2", children: product.tags.slice(0, 3).map((feature, index) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2", children: [
12892
13064
  /* @__PURE__ */ jsx(Check, { className: "size-4 text-hprimary shrink-0 mt-0.5" }),
12893
- /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted", children: feature })
13065
+ /* @__PURE__ */ jsx("span", { className: "text-[12px] text-hmuted", children: feature })
12894
13066
  ] }, index)) }) }),
12895
13067
  /* @__PURE__ */ jsxs("div", { className: "mb-6", children: [
12896
- /* @__PURE__ */ jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-hsecondary mb-3", children: "Quantity" }),
13068
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-[13px] text-hsecondary mb-3", children: "Quantity" }),
12897
13069
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
12898
13070
  /* @__PURE__ */ jsx(
12899
13071
  "button",
@@ -12922,7 +13094,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12922
13094
  {
12923
13095
  onClick: handleAddToCart,
12924
13096
  disabled: addedToCart || selectedVariant.inventoryCount === 0,
12925
- className: `w-full font-['Poppins',sans-serif] font-medium text-[14px] px-6 py-4 rounded-full transition-all duration-300 flex items-center justify-center gap-3 ${addedToCart ? "bg-green-500 text-white" : "bg-haccent text-white hover:bg-[#d66f45] hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed"}`,
13097
+ className: `w-full font-medium text-[14px] px-6 py-4 rounded-full transition-all duration-300 flex items-center justify-center gap-3 ${addedToCart ? "bg-green-500 text-white" : "bg-haccent text-white hover:bg-[#d66f45] hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed"}`,
12926
13098
  children: isAddingToCart ? /* @__PURE__ */ jsxs(Fragment, { children: [
12927
13099
  /* @__PURE__ */ jsxs("svg", { className: "animate-spin h-5 w-5", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
12928
13100
  /* @__PURE__ */ jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
@@ -12941,7 +13113,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12941
13113
  onClick: () => {
12942
13114
  onClose();
12943
13115
  },
12944
- className: "w-full font-['Poppins',sans-serif] font-medium text-[13px] px-6 py-3 rounded-full bg-white text-hsecondary border-2 border-hprimary hover:bg-gray-50 transition-all flex items-center justify-center gap-2",
13116
+ className: "w-full font-medium text-[13px] px-6 py-3 rounded-full bg-white text-hsecondary border-2 border-hprimary hover:bg-gray-50 transition-all flex items-center justify-center gap-2",
12945
13117
  children: [
12946
13118
  "View Full Details",
12947
13119
  /* @__PURE__ */ jsx(ExternalLink, { className: "size-4" })
@@ -13093,42 +13265,42 @@ function ProductCard({
13093
13265
  children: /* @__PURE__ */ jsx(Eye, { className: "size-4 text-[#2B4B7C]" })
13094
13266
  }
13095
13267
  ),
13096
- displayInventoryCount === 0 && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-black/50 backdrop-blur-xs flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "bg-white rounded-full px-4 py-2", children: /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] font-bold text-[11px] text-[#2B4B7C] uppercase", children: "Out of Stock" }) }) })
13268
+ displayInventoryCount === 0 && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-black/50 backdrop-blur-xs flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "bg-white rounded-full px-4 py-2", children: /* @__PURE__ */ jsx("span", { className: "font-bold text-[11px] text-[#2B4B7C] uppercase", children: "Out of Stock" }) }) })
13097
13269
  ]
13098
13270
  }
13099
13271
  ),
13100
13272
  /* @__PURE__ */ jsxs("div", { className: "p-4 flex-1 flex flex-col", children: [
13101
13273
  /* @__PURE__ */ jsxs("div", { className: "p-0 flex-1 flex flex-col", children: [
13102
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1 mb-2 flex-wrap", children: displayIsDiscounted && /* @__PURE__ */ jsx("span", { className: "bg-[#E67E50] text-white rounded-full px-2 py-0.5 flex items-center gap-1", children: /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[8px] uppercase", children: [
13274
+ /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1 mb-2 flex-wrap", children: displayIsDiscounted && /* @__PURE__ */ jsx("span", { className: "bg-haccent-500 text-white rounded-full px-2 py-0.5 flex items-center gap-1", children: /* @__PURE__ */ jsxs("span", { className: "font-bold text-[8px] uppercase", children: [
13103
13275
  "-",
13104
13276
  displayDiscountAmount,
13105
13277
  "%"
13106
13278
  ] }) }) }),
13107
- /* @__PURE__ */ jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-xs text-hsecondary uppercase tracking-wide font-medium", children: product.brand }) }),
13279
+ /* @__PURE__ */ jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsx("p", { className: "text-xs text-hsecondary uppercase tracking-wide font-medium", children: product.brand }) }),
13108
13280
  /* @__PURE__ */ jsxs("div", { className: "h-[40px] mb-3", children: [
13109
- /* @__PURE__ */ jsx("h3", { className: "text-sm font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] line-clamp-2", children: product.name }),
13110
- selectedVariant && /* @__PURE__ */ jsx("p", { className: "text-xs font-['Poppins',sans-serif] text-[#676c80]", children: selectedVariant.name })
13281
+ /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-[#2B4B7C] line-clamp-2", children: product.name }),
13282
+ selectedVariant && /* @__PURE__ */ jsx("p", { className: "text-xs text-[#676c80]", children: selectedVariant.name })
13111
13283
  ] }),
13112
13284
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 my-2", children: [
13113
13285
  /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsx(
13114
13286
  Star,
13115
13287
  {
13116
- className: `size-4 ${i < Math.floor(product.summary?.averageRating || 0) ? "text-[#E67E50] fill-[#E67E50]" : "text-gray-300"}`
13288
+ className: `size-4 ${i < Math.floor(product.summary?.averageRating || 0) ? "text-hsecondary fill-hsecondary-500" : "text-gray-300"}`
13117
13289
  },
13118
13290
  i
13119
13291
  )) }),
13120
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[10px] text-[#676c80] ", children: [
13292
+ /* @__PURE__ */ jsxs("span", { className: "text-[10px] text-[#676c80] ", children: [
13121
13293
  "(",
13122
13294
  product.summary?.reviewCount || 0,
13123
13295
  ")"
13124
13296
  ] })
13125
13297
  ] }),
13126
13298
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 mb-3", children: [
13127
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-md text-hprimary-600", children: [
13299
+ /* @__PURE__ */ jsxs("span", { className: "font-bold text-md text-hprimary-600", children: [
13128
13300
  "$",
13129
13301
  displayFinalPrice.toFixed(2)
13130
13302
  ] }),
13131
- displayIsDiscounted && /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-sm text-[#676c80] line-through", children: [
13303
+ displayIsDiscounted && /* @__PURE__ */ jsxs("span", { className: "text-sm text-[#676c80] line-through", children: [
13132
13304
  "$",
13133
13305
  displayPriceBeforeDiscount.toFixed(2)
13134
13306
  ] })
@@ -13203,7 +13375,7 @@ function ProductCard({
13203
13375
  }
13204
13376
  },
13205
13377
  disabled: isAddingToCart || variantImages.length > 0 && !selectedVariantId || displayInventoryCount === 0,
13206
- className: "w-full font-['Poppins',sans-serif] font-medium text-[11px] px-3 py-2 rounded-full bg-hsecondary text-white hover:bg-hsecondary/80 hover:shadow-lg transition-all duration-300 flex items-center justify-center gap-1.5 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",
13378
+ className: "w-full font-medium text-[11px] px-3 py-2 rounded-full bg-hsecondary text-white hover:bg-hsecondary/80 hover:shadow-lg transition-all duration-300 flex items-center justify-center gap-1.5 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",
13207
13379
  children: [
13208
13380
  /* @__PURE__ */ jsx(ShoppingCart, { className: "h-4 w-4" }),
13209
13381
  displayInventoryCount === 0 ? "Out of Stock" : "Add to Cart"
@@ -13353,8 +13525,6 @@ function useProducts(filters, page = 1, limit = 20) {
13353
13525
  ],
13354
13526
  queryFn: async () => {
13355
13527
  const response = await new ProductsApi(AXIOS_CONFIG).getAllProducts(
13356
- filters?.search ?? "",
13357
- // searchTerm
13358
13528
  filters?.maxPrice,
13359
13529
  // maxPrice
13360
13530
  filters?.minPrice,
@@ -13560,52 +13730,6 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
13560
13730
  () => [...categories].sort((a, b) => (b.productCount ?? 0) - (a.productCount ?? 0)).slice(0, 6),
13561
13731
  [categories]
13562
13732
  );
13563
- const productInsights = useMemo(() => {
13564
- if (!products.length) {
13565
- return { newArrivals: 0, inStockCount: 0 };
13566
- }
13567
- const monthAgo = Date.now() - 30 * 24 * 60 * 60 * 1e3;
13568
- let newArrivals2 = 0;
13569
- let inStockCount = 0;
13570
- products.forEach((product) => {
13571
- if (product.summary?.totalInventory > 0) inStockCount += 1;
13572
- if (new Date(product.createdAt).getTime() >= monthAgo) newArrivals2 += 1;
13573
- });
13574
- return { newArrivals: newArrivals2, inStockCount };
13575
- }, [products]);
13576
- useMemo(
13577
- () => [
13578
- {
13579
- id: "new",
13580
- label: "New arrivals",
13581
- value: productInsights.newArrivals ? productInsights.newArrivals.toLocaleString() : isLoading ? "..." : "0",
13582
- helper: filters.newArrivals ? "Filter active: showing last 30 days" : "Click to show last 30 days",
13583
- icon: Sparkles
13584
- },
13585
- {
13586
- id: "stock",
13587
- label: "Available now",
13588
- value: productInsights.inStockCount ? productInsights.inStockCount.toLocaleString() : isLoading ? "..." : "0",
13589
- helper: "Ready to ship today",
13590
- icon: ShieldCheck
13591
- },
13592
- {
13593
- id: "catalogue",
13594
- label: "Total products",
13595
- value: pagination.total || products.length ? (pagination.total || products.length).toLocaleString() : isLoading ? "..." : "0",
13596
- helper: "Across all categories",
13597
- icon: TrendingUp
13598
- }
13599
- ],
13600
- [
13601
- isLoading,
13602
- pagination.total,
13603
- productInsights.inStockCount,
13604
- productInsights.newArrivals,
13605
- products.length,
13606
- filters.newArrivals
13607
- ]
13608
- );
13609
13733
  const filteredProducts = useMemo(() => {
13610
13734
  if (isLoading) return products;
13611
13735
  let items = [...products];
@@ -13991,9 +14115,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
13991
14115
  return Package;
13992
14116
  };
13993
14117
  const renderFiltersPanel = () => /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", { className: "space-y-6", children: /* @__PURE__ */ jsx("div", { className: `lg:w-72 ${showFilters ? "block rounded-full" : "hidden lg:block"}`, children: /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-[24px] p-6 border-2 border-gray-100 sticky top-24", children: [
13994
- /* @__PURE__ */ jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary", children: "Filters" }),
14118
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-hsecondary", children: "Filters" }),
13995
14119
  /* @__PURE__ */ jsxs("div", { className: "mb-6", children: [
13996
- /* @__PURE__ */ jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted mb-2 block font-medium", children: "Search Products" }),
14120
+ /* @__PURE__ */ jsx("label", { className: "text-[12px] text-hmuted mb-2 block font-medium", children: "Search Products" }),
13997
14121
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
13998
14122
  /* @__PURE__ */ jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 size-4 text-hmuted" }),
13999
14123
  /* @__PURE__ */ jsx(
@@ -14003,7 +14127,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14003
14127
  placeholder: "Search...",
14004
14128
  value: searchQuery,
14005
14129
  onChange: handleInputChange,
14006
- className: "w-full pl-10 pr-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden font-['Poppins',sans-serif] text-[13px] text-hsecondary"
14130
+ className: "w-full pl-10 pr-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden text-[13px] text-hsecondary"
14007
14131
  }
14008
14132
  )
14009
14133
  ] })
@@ -14015,7 +14139,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14015
14139
  onClick: () => toggleFilterSection("category"),
14016
14140
  className: "w-full flex items-center justify-between mb-3",
14017
14141
  children: [
14018
- /* @__PURE__ */ jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted font-medium cursor-pointer", children: "Category" }),
14142
+ /* @__PURE__ */ jsx("label", { className: "text-[12px] text-hmuted font-medium cursor-pointer", children: "Category" }),
14019
14143
  expandedFilterSections.category ? /* @__PURE__ */ jsx(ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.category ? "rotate-180" : ""}` }) : /* @__PURE__ */ jsx(ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.category ? "rotate-180" : ""}` })
14020
14144
  ]
14021
14145
  }
@@ -14032,7 +14156,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14032
14156
  if (!isExpanded) toggleCategoryExpand(categoryId);
14033
14157
  handleCategoryChange(categoryId);
14034
14158
  },
14035
- className: `w-full text-left px-4 py-3 rounded-xl font-['Poppins',sans-serif] text-[13px] transition-all flex items-center gap-3 ${isCategoryActive ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14159
+ className: `w-full text-left px-4 py-3 rounded-xl text-[13px] transition-all flex items-center gap-3 ${isCategoryActive ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14036
14160
  children: [
14037
14161
  /* @__PURE__ */ jsx(Icon, { className: "size-4" }),
14038
14162
  category.name
@@ -14049,7 +14173,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14049
14173
  onClick: () => toggleFilterSection("brand"),
14050
14174
  className: "w-full flex items-center justify-between mb-3",
14051
14175
  children: [
14052
- /* @__PURE__ */ jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted font-medium cursor-pointer", children: "Brand" }),
14176
+ /* @__PURE__ */ jsx("label", { className: "text-[12px] text-hmuted font-medium cursor-pointer", children: "Brand" }),
14053
14177
  /* @__PURE__ */ jsx(ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.brand ? "rotate-180" : ""}` })
14054
14178
  ]
14055
14179
  }
@@ -14060,7 +14184,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14060
14184
  "button",
14061
14185
  {
14062
14186
  onClick: () => handleBrandChange(brand),
14063
- className: `w-full text-left px-4 py-3 rounded-xl font-['Poppins',sans-serif] text-[13px] transition-all ${isSelected ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14187
+ className: `w-full text-left px-4 py-3 rounded-xl text-[13px] transition-all ${isSelected ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14064
14188
  children: brand
14065
14189
  },
14066
14190
  brand
@@ -14074,7 +14198,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14074
14198
  onClick: () => toggleFilterSection("availability"),
14075
14199
  className: "w-full flex items-center justify-between mb-3",
14076
14200
  children: [
14077
- /* @__PURE__ */ jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted font-medium cursor-pointer", children: "Availability" }),
14201
+ /* @__PURE__ */ jsx("label", { className: "text-[12px] text-hmuted font-medium cursor-pointer", children: "Availability" }),
14078
14202
  /* @__PURE__ */ jsx(ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.availability ? "rotate-180" : ""}` })
14079
14203
  ]
14080
14204
  }
@@ -14083,7 +14207,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14083
14207
  "button",
14084
14208
  {
14085
14209
  onClick: handleToggleStock,
14086
- className: `w-full flex items-center justify-between px-4 py-3 rounded-xl font-['Poppins',sans-serif] text-[13px] transition-all border-2 ${inStockOnly ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14210
+ className: `w-full flex items-center justify-between px-4 py-3 rounded-xl text-[13px] transition-all border-2 ${inStockOnly ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14087
14211
  children: "In Stock Only"
14088
14212
  }
14089
14213
  ) })
@@ -14095,7 +14219,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14095
14219
  onClick: () => toggleFilterSection("price"),
14096
14220
  className: "w-full flex items-center justify-between mb-3",
14097
14221
  children: [
14098
- /* @__PURE__ */ jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted font-medium cursor-pointer", children: "Price Range" }),
14222
+ /* @__PURE__ */ jsx("label", { className: "text-[12px] text-hmuted font-medium cursor-pointer", children: "Price Range" }),
14099
14223
  /* @__PURE__ */ jsx(ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.price ? "rotate-180" : ""}` })
14100
14224
  ]
14101
14225
  }
@@ -14108,7 +14232,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14108
14232
  {
14109
14233
  type: "button",
14110
14234
  onClick: () => handlePriceRangeSelect(range.value),
14111
- className: `w-full flex items-center justify-between px-4 py-3 rounded-xl font-['Poppins',sans-serif] text-[13px] transition-all border-2 ${isActive ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14235
+ className: `w-full flex items-center justify-between px-4 py-3 rounded-xl text-[13px] transition-all border-2 ${isActive ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14112
14236
  children: range.label
14113
14237
  },
14114
14238
  range.value
@@ -14123,7 +14247,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14123
14247
  placeholder: "Min",
14124
14248
  value: customPrice.min,
14125
14249
  onChange: (event) => setCustomPrice((current) => ({ ...current, min: event.target.value })),
14126
- className: "w-1/2 px-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden font-['Poppins',sans-serif] text-[13px] text-hsecondary"
14250
+ className: "w-1/2 px-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden text-[13px] text-hsecondary"
14127
14251
  }
14128
14252
  ),
14129
14253
  /* @__PURE__ */ jsx(
@@ -14134,7 +14258,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14134
14258
  placeholder: "Max",
14135
14259
  value: customPrice.max,
14136
14260
  onChange: (event) => setCustomPrice((current) => ({ ...current, max: event.target.value })),
14137
- className: "w-1/2 px-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden font-['Poppins',sans-serif] text-[13px] text-hsecondary"
14261
+ className: "w-1/2 px-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden text-[13px] text-hsecondary"
14138
14262
  }
14139
14263
  )
14140
14264
  ] }),
@@ -14201,8 +14325,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14201
14325
  ]
14202
14326
  }
14203
14327
  ) }) }),
14204
- /* @__PURE__ */ jsx("section", { className: "py-8 bg-white", children: /* @__PURE__ */ jsxs("div", { className: "container mx-auto px-4", children: [
14205
- /* @__PURE__ */ jsx("h2", { className: "text-2xl md:text-3xl font-['Poppins',sans-serif] font-semibold text-hsecondary mb-6", children: "Shop by Category" }),
14328
+ /* @__PURE__ */ jsx("section", { className: "py-8 bg-white/50", children: /* @__PURE__ */ jsxs("div", { className: "container mx-auto px-4", children: [
14329
+ /* @__PURE__ */ jsx("h2", { className: "text-2xl md:text-3xl font-semibold text-hsecondary mb-6", children: "Shop by Category" }),
14206
14330
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-4", children: [
14207
14331
  /* @__PURE__ */ jsx(
14208
14332
  motion.button,
@@ -14213,8 +14337,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14213
14337
  className: `group relative overflow-hidden rounded-[24px] p-6 min-h-[180px] min-w-[170px] transition-all duration-300 ${!categoryFilter ? "bg-linear-to-br from-hprimary to-hsecondary text-white shadow-xl scale-105" : "bg-linear-to-br from-gray-50 to-white hover:shadow-lg border-2 border-gray-100 hover:border-hprimary"}`,
14214
14338
  children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
14215
14339
  /* @__PURE__ */ jsx("div", { className: `size-12 rounded-full mb-3 mx-auto flex items-center justify-center transition-all ${!categoryFilter ? "bg-white/20" : "bg-linear-to-br from-hprimary-10 to-hsecondary-10 group-hover:scale-110"}`, children: /* @__PURE__ */ jsx(Package, { className: `size-6 ${!categoryFilter ? "text-white" : "text-hprimary"}` }) }),
14216
- /* @__PURE__ */ jsx("h3", { className: `font-['Poppins',sans-serif] font-semibold text-[14px] mb-1.5 ${!categoryFilter ? "text-white" : "text-hsecondary"}`, children: "All Products" }),
14217
- /* @__PURE__ */ jsx("p", { className: `font-['Poppins',sans-serif] text-[11px] ${!categoryFilter ? "text-white/80" : "text-hmuted"}`, children: "Browse Everything" })
14340
+ /* @__PURE__ */ jsx("h3", { className: `font-semibold text-[14px] mb-1.5 ${!categoryFilter ? "text-white" : "text-hsecondary"}`, children: "All Products" }),
14341
+ /* @__PURE__ */ jsx("p", { className: `text-[11px] ${!categoryFilter ? "text-white/80" : "text-hmuted"}`, children: "Browse Everything" })
14218
14342
  ] })
14219
14343
  }
14220
14344
  ),
@@ -14232,8 +14356,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14232
14356
  className: `group relative overflow-hidden rounded-[24px] p-6 min-h-[180px] min-w-[170px] transition-all duration-300 ${isSelected ? "bg-linear-to-br from-hprimary to-hsecondary text-white shadow-xl scale-105" : "bg-linear-to-br from-gray-50 to-white hover:shadow-lg border-2 border-gray-100 hover:border-hprimary"}`,
14233
14357
  children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
14234
14358
  /* @__PURE__ */ jsx("div", { className: `size-12 rounded-full mb-3 mx-auto flex items-center justify-center transition-all ${isSelected ? "bg-white/20" : "bg-linear-to-br from-hprimary-10 to-hsecondary-10 group-hover:scale-110"}`, children: /* @__PURE__ */ jsx(Icon, { className: `size-6 ${isSelected ? "text-white" : "text-hprimary"}` }) }),
14235
- /* @__PURE__ */ jsx("h3", { className: `font-['Poppins',sans-serif] font-semibold text-[14px] mb-1.5 ${isSelected ? "text-white" : "text-hsecondary"}`, children: category.name }),
14236
- /* @__PURE__ */ jsx("p", { className: `font-['Poppins',sans-serif] text-[11px] ${isSelected ? "text-white/80" : "text-hmuted"}`, children: category.description })
14359
+ /* @__PURE__ */ jsx("h3", { className: `font-semibold text-[14px] mb-1.5 ${isSelected ? "text-white" : "text-hsecondary"}`, children: category.name }),
14360
+ /* @__PURE__ */ jsx("p", { className: `text-[11px] ${isSelected ? "text-white/80" : "text-hmuted"}`, children: category.description })
14237
14361
  ] })
14238
14362
  },
14239
14363
  categoryId
@@ -14382,7 +14506,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14382
14506
  event.stopPropagation();
14383
14507
  router.push(buildPath(`/products/${product._id}`));
14384
14508
  },
14385
- className: "w-full font-['Poppins',sans-serif] font-medium text-sm px-3 py-2 rounded-xl bg-hsecondary text-white hover:opacity-80 hover:shadow-lg transition-all duration-300 flex items-center justify-center gap-1.5 disabled:opacity-50 disabled:cursor-not-allowed",
14509
+ className: "w-full font-medium text-sm px-3 py-2 rounded-xl bg-hsecondary text-white hover:opacity-80 hover:shadow-lg transition-all duration-300 flex items-center justify-center gap-1.5 disabled:opacity-50 disabled:cursor-not-allowed",
14386
14510
  children: "View product"
14387
14511
  }
14388
14512
  )
@@ -14671,14 +14795,14 @@ function StarRating({
14671
14795
  className: `transition-all ${interactive && "cursor-pointer hover:scale-110"} ${!interactive && "cursor-default"}`,
14672
14796
  children: isHalfFilled ? /* @__PURE__ */ jsxs("div", { className: "relative", children: [
14673
14797
  /* @__PURE__ */ jsx(Star, { className: `${sizeClasses[size]} text-gray-300` }),
14674
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 overflow-hidden", style: { width: "50%" }, children: /* @__PURE__ */ jsx(Star, { className: `${sizeClasses[size]} fill-[#E67E50] text-[#E67E50]` }) })
14798
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 overflow-hidden", style: { width: "50%" }, children: /* @__PURE__ */ jsx(Star, { className: `${sizeClasses[size]} fill-haccent-500 text-haccent-500` }) })
14675
14799
  ] }) : /* @__PURE__ */ jsx(
14676
14800
  Star,
14677
14801
  {
14678
14802
  className: `
14679
14803
  ${sizeClasses[size]}
14680
- ${isFilled ? "fill-[#E67E50] text-[#E67E50]" : "text-gray-300"}
14681
- ${interactive && hoverRating > 0 && index < hoverRating ? "fill-[#E67E50] text-[#E67E50]" : ""}
14804
+ ${isFilled ? "fill-haccent-500 text-haccent-500" : "text-gray-300"}
14805
+ ${interactive && hoverRating > 0 && index < hoverRating ? "fill-haccent-500 text-haccent-500" : ""}
14682
14806
  `
14683
14807
  }
14684
14808
  )
@@ -14722,12 +14846,12 @@ function RatingDistribution({ reviews, averageRating }) {
14722
14846
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
14723
14847
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 w-16", children: [
14724
14848
  /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-gray-700", children: rating }),
14725
- /* @__PURE__ */ jsx(Star, { className: "size-3 fill-[#E67E50] text-[#E67E50]" })
14849
+ /* @__PURE__ */ jsx(Star, { className: "size-3 fill-haccent-500 text-haccent-500" })
14726
14850
  ] }),
14727
14851
  /* @__PURE__ */ jsx("div", { className: "flex-1 h-2 bg-gray-200 rounded-full overflow-hidden", children: /* @__PURE__ */ jsx(
14728
14852
  "div",
14729
14853
  {
14730
- className: "h-full bg-[#E67E50] transition-all duration-300",
14854
+ className: "h-full bg-haccent-500 transition-all duration-300",
14731
14855
  style: { width: `${percentage}%` }
14732
14856
  }
14733
14857
  ) }),
@@ -14745,7 +14869,7 @@ function RatingDistribution({ reviews, averageRating }) {
14745
14869
  function ReviewCard({ review, showProductInfo = false }) {
14746
14870
  const reviewDate = new Date(review.createdAt);
14747
14871
  const replyDate = review.replyDate ? new Date(review.replyDate) : null;
14748
- return /* @__PURE__ */ jsxs("div", { className: "border border-gray-200 rounded-lg p-4 bg-white", children: [
14872
+ return /* @__PURE__ */ jsxs("div", { className: "border border-gray-200 rounded-lg p-4 bg-hprimary-50", children: [
14749
14873
  /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between mb-3", children: [
14750
14874
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
14751
14875
  /* @__PURE__ */ jsx("div", { className: "w-10 h-10 bg-hsecondary/10 rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx(User, { className: "size-5 text-hsecondary" }) }),
@@ -14756,7 +14880,7 @@ function ReviewCard({ review, showProductInfo = false }) {
14756
14880
  ] }),
14757
14881
  /* @__PURE__ */ jsx(StarRating, { rating: review.rating, size: "sm" })
14758
14882
  ] }),
14759
- review.reviewType && /* @__PURE__ */ jsx("span", { className: "inline-block px-2 py-1 text-xs bg-gray-100 text-gray-600 rounded mb-2", children: review.reviewType }),
14883
+ review.reviewType && /* @__PURE__ */ jsx("span", { className: "inline-block px-2 py-1 text-xs bg-hprimary-100 text-gray-600 rounded mb-2", children: review.reviewType }),
14760
14884
  /* @__PURE__ */ jsx("p", { className: "text-gray-700 text-sm leading-relaxed mb-3", children: review.review }),
14761
14885
  review.reply && /* @__PURE__ */ jsxs("div", { className: "mt-4 pl-4 border-l-2 border-hsecondary bg-gray-50 p-3 rounded", children: [
14762
14886
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-2", children: [
@@ -14827,7 +14951,7 @@ function ReviewsList({ reviews, isLoading }) {
14827
14951
  "button",
14828
14952
  {
14829
14953
  onClick: () => setFilterRating("all"),
14830
- className: `px-3 py-1 text-sm rounded-full transition-colors ${filterRating === "all" ? "bg-[#E67E50] text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
14954
+ className: `px-3 py-1 text-sm rounded-full transition-colors ${filterRating === "all" ? "bg-haccent-500 text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
14831
14955
  children: "All"
14832
14956
  }
14833
14957
  ),
@@ -14835,7 +14959,7 @@ function ReviewsList({ reviews, isLoading }) {
14835
14959
  "button",
14836
14960
  {
14837
14961
  onClick: () => setFilterRating(rating),
14838
- className: `flex items-center gap-1 px-3 py-1 text-sm rounded-full transition-colors ${filterRating === rating ? "bg-[#E67E50] text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
14962
+ className: `flex items-center gap-1 px-3 py-1 text-sm rounded-full transition-colors ${filterRating === rating ? "bg-haccent-500 text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
14839
14963
  children: [
14840
14964
  rating,
14841
14965
  /* @__PURE__ */ jsx(Star, { className: "size-3 fill-current" })
@@ -14852,7 +14976,7 @@ function ReviewsList({ reviews, isLoading }) {
14852
14976
  {
14853
14977
  value: sortBy,
14854
14978
  onChange: (e) => setSortBy(e.target.value),
14855
- className: "px-3 py-1 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#E67E50] focus:border-transparent",
14979
+ className: "px-3 py-1 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-haccent-500 focus:border-transparent",
14856
14980
  children: [
14857
14981
  /* @__PURE__ */ jsx("option", { value: "recent", children: "Most Recent" }),
14858
14982
  /* @__PURE__ */ jsx("option", { value: "oldest", children: "Oldest First" }),
@@ -15121,7 +15245,7 @@ function ProductDetailScreen({ productId }) {
15121
15245
  "button",
15122
15246
  {
15123
15247
  onClick: () => router.push(buildPath("/shop")),
15124
- className: "flex items-center gap-2 font-['Poppins',sans-serif] text-[13px] text-hmuted hover:text-hprimary transition-colors",
15248
+ className: "flex items-center gap-2 text-[13px] text-hmuted hover:text-hprimary transition-colors",
15125
15249
  children: [
15126
15250
  /* @__PURE__ */ jsx(ChevronLeft, { className: "size-4" }),
15127
15251
  "Back to Shop"
@@ -15160,7 +15284,7 @@ function ProductDetailScreen({ productId }) {
15160
15284
  className: "object-contain"
15161
15285
  }
15162
15286
  ) : null,
15163
- /* @__PURE__ */ jsx("div", { className: "absolute top-6 left-6 flex flex-col gap-3", children: discount > 0 && /* @__PURE__ */ jsx("div", { className: "bg-[#E67E50] text-white rounded-full px-4 py-2", children: /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[12px] uppercase tracking-wide", children: [
15287
+ /* @__PURE__ */ jsx("div", { className: "absolute top-6 left-6 flex flex-col gap-3", children: discount > 0 && /* @__PURE__ */ jsx("div", { className: "bg-hsecondary text-white rounded-full px-4 py-2", children: /* @__PURE__ */ jsxs("span", { className: "font-bold text-[12px] uppercase tracking-wide", children: [
15164
15288
  "Save ",
15165
15289
  discount,
15166
15290
  "%"
@@ -15192,21 +15316,21 @@ function ProductDetailScreen({ productId }) {
15192
15316
  ] }) }) }),
15193
15317
  /* @__PURE__ */ jsxs("aside", { className: "space-y-6 lg:sticky lg:top-24", children: [
15194
15318
  /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
15195
- /* @__PURE__ */ jsxs("p", { className: "font-['Poppins',sans-serif] text-[12px] text-hprimary uppercase tracking-wide font-medium mb-2", children: [
15319
+ /* @__PURE__ */ jsxs("p", { className: "text-[12px] text-hprimary uppercase tracking-wide font-medium mb-2", children: [
15196
15320
  product.brand,
15197
15321
  " \u2022 ",
15198
15322
  product.categoryIds?.[0]?.name || "Uncategorized"
15199
15323
  ] }),
15200
- /* @__PURE__ */ jsx("h1", { className: "text-3xl font-['Poppins',sans-serif] font-semibold text-hsecondary tracking-[-1.5px] mb-3", children: selectedVariant?.name || product.name }),
15324
+ /* @__PURE__ */ jsx("h1", { className: "text-3xl font-semibold text-hsecondary tracking-[-1.5px] mb-3", children: selectedVariant?.name || product.name }),
15201
15325
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
15202
15326
  /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsx(
15203
15327
  Star,
15204
15328
  {
15205
- className: `size-4 ${i < Math.floor(reviewStats.averageRating) ? "text-[#E67E50] fill-[#E67E50]" : "text-gray-300"}`
15329
+ className: `size-4 ${i < Math.floor(reviewStats.averageRating) ? "text-haccent-500 fill-haccent-500" : "text-gray-300"}`
15206
15330
  },
15207
15331
  i
15208
15332
  )) }),
15209
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[14px] text-hmuted", children: [
15333
+ /* @__PURE__ */ jsxs("span", { className: "text-[14px] text-hmuted", children: [
15210
15334
  reviewStats.averageRating,
15211
15335
  " (",
15212
15336
  reviewStats.reviewCount,
@@ -15216,16 +15340,16 @@ function ProductDetailScreen({ productId }) {
15216
15340
  ] })
15217
15341
  ] }),
15218
15342
  selectedVariant && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 mb-6 pb-6 border-b-2 border-gray-100", children: [
15219
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[40px] text-[#E67E50]", children: [
15343
+ /* @__PURE__ */ jsxs("span", { className: "font-bold text-[40px] text-hsecondary", children: [
15220
15344
  "$",
15221
15345
  variantPrice.toFixed(2)
15222
15346
  ] }),
15223
15347
  variantComparePrice && variantComparePrice > variantPrice && /* @__PURE__ */ jsxs(Fragment, { children: [
15224
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[24px] text-hmuted line-through", children: [
15348
+ /* @__PURE__ */ jsxs("span", { className: "text-[24px] text-hmuted line-through", children: [
15225
15349
  "$",
15226
15350
  variantComparePrice.toFixed(2)
15227
15351
  ] }),
15228
- /* @__PURE__ */ jsx("div", { className: "px-3 py-1 rounded-full bg-[#E67E50]/10", children: /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-[#E67E50]", children: [
15352
+ /* @__PURE__ */ jsx("div", { className: "px-3 py-1 rounded-full bg-hsecondary/10", children: /* @__PURE__ */ jsxs("span", { className: "font-semibold text-[13px] text-hsecondary", children: [
15229
15353
  "Save $",
15230
15354
  formatPrice(variantComparePrice - variantPrice)
15231
15355
  ] }) })
@@ -15234,19 +15358,19 @@ function ProductDetailScreen({ productId }) {
15234
15358
  selectedVariant && /* @__PURE__ */ jsxs("div", { className: "mb-6", children: [
15235
15359
  /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 mb-2", children: selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ ? /* @__PURE__ */ jsxs(Fragment, { children: [
15236
15360
  /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-red-500" }),
15237
- /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] text-[13px] text-red-600 font-medium", children: "Out of Stock" })
15361
+ /* @__PURE__ */ jsx("span", { className: "text-[13px] text-red-600 font-medium", children: "Out of Stock" })
15238
15362
  ] }) : selectedVariant.inventoryStatus === "LOW_STOCK" /* LOWSTOCK */ || selectedVariant.inventoryCount <= 10 ? /* @__PURE__ */ jsxs(Fragment, { children: [
15239
15363
  /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-hprimary animate-pulse" }),
15240
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[13px] text-hprimary font-medium", children: [
15364
+ /* @__PURE__ */ jsxs("span", { className: "text-[13px] text-hprimary font-medium", children: [
15241
15365
  "Only ",
15242
15366
  selectedVariant.inventoryCount,
15243
15367
  " left in stock - Order soon!"
15244
15368
  ] })
15245
15369
  ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
15246
15370
  /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-green-500" }),
15247
- /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] text-[13px] text-green-600 font-medium", children: "In Stock" })
15371
+ /* @__PURE__ */ jsx("span", { className: "text-[13px] text-green-600 font-medium", children: "In Stock" })
15248
15372
  ] }) }),
15249
- /* @__PURE__ */ jsxs("p", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted", children: [
15373
+ /* @__PURE__ */ jsxs("p", { className: "text-[12px] text-hmuted", children: [
15250
15374
  "SKU: ",
15251
15375
  selectedVariant?.sku || product?.sku
15252
15376
  ] })
@@ -15254,12 +15378,12 @@ function ProductDetailScreen({ productId }) {
15254
15378
  product.description && /* @__PURE__ */ jsx(
15255
15379
  "div",
15256
15380
  {
15257
- className: "font-['Poppins',sans-serif] text-[14px] text-hmuted leading-[1.7] mb-8 max-w-full overflow-hidden break-words",
15381
+ className: "text-[14px] text-hmuted leading-[1.7] mb-8 max-w-full overflow-hidden break-words",
15258
15382
  dangerouslySetInnerHTML: { __html: product.description }
15259
15383
  }
15260
15384
  ),
15261
15385
  product?.variants && product.variants.length > 0 && /* @__PURE__ */ jsxs("div", { className: "mb-6", children: [
15262
- /* @__PURE__ */ jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-hsecondary mb-3", children: "Select Variant" }),
15386
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-[14px] text-hsecondary mb-3", children: "Select Variant" }),
15263
15387
  /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-3", children: product.variants.map((variant) => {
15264
15388
  const isSelected = selectedVariant?._id === variant._id;
15265
15389
  const variantImage = variant.media?.[0]?.file || product.media?.[0]?.file || product.images?.[0] || PLACEHOLDER_IMAGE_SRC;
@@ -15295,7 +15419,7 @@ function ProductDetailScreen({ productId }) {
15295
15419
  }) })
15296
15420
  ] }),
15297
15421
  /* @__PURE__ */ jsxs("div", { className: "mb-8", children: [
15298
- /* @__PURE__ */ jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-hsecondary mb-3", children: "Quantity" }),
15422
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-[14px] text-hsecondary mb-3", children: "Quantity" }),
15299
15423
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
15300
15424
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4 bg-gray-100 rounded-full px-6 py-3", children: [
15301
15425
  /* @__PURE__ */ jsx(
@@ -15303,18 +15427,18 @@ function ProductDetailScreen({ productId }) {
15303
15427
  {
15304
15428
  type: "button",
15305
15429
  onClick: () => setQuantity((current) => Math.max(1, current - 1)),
15306
- className: "font-['Poppins',sans-serif] font-bold text-[18px] text-hsecondary hover:text-hprimary transition-colors",
15430
+ className: "font-bold text-[18px] text-hsecondary hover:text-hprimary transition-colors",
15307
15431
  "aria-label": "Increase quantity",
15308
15432
  children: "-"
15309
15433
  }
15310
15434
  ),
15311
- /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] font-semibold text-[16px] text-hsecondary min-w-[30px] text-center", children: quantity }),
15435
+ /* @__PURE__ */ jsx("span", { className: "font-semibold text-[16px] text-hsecondary min-w-[30px] text-center", children: quantity }),
15312
15436
  /* @__PURE__ */ jsx(
15313
15437
  "button",
15314
15438
  {
15315
15439
  onClick: () => setQuantity(Math.min(selectedVariant?.inventoryCount || product.inventoryCount || 999, quantity + 1)),
15316
15440
  disabled: quantity >= (selectedVariant?.inventoryCount || product.inventoryCount || 0),
15317
- className: "font-['Poppins',sans-serif] font-bold text-[18px] text-hsecondary hover:text-hprimary transition-colors disabled:opacity-50",
15441
+ className: "font-bold text-[18px] text-hsecondary hover:text-hprimary transition-colors disabled:opacity-50",
15318
15442
  children: "+"
15319
15443
  }
15320
15444
  )
@@ -15329,7 +15453,7 @@ function ProductDetailScreen({ productId }) {
15329
15453
  /* @__PURE__ */ jsx(
15330
15454
  "button",
15331
15455
  {
15332
- className: "flex-1 font-['Poppins',sans-serif] font-medium text-[14px] px-8 py-4 rounded-full transition-all duration-300 flex items-center justify-center gap-3 bg-[#E67E50] text-white hover:bg-[#d66f45] hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed",
15456
+ className: "flex-1 font-medium text-[14px] px-8 py-4 rounded-full transition-all duration-300 flex items-center justify-center gap-3 bg-hsecondary text-white hover:bg-hsecondary/80 hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed",
15333
15457
  onClick: handleAddToCart,
15334
15458
  disabled: !selectedVariant || selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ || isAddingToCart,
15335
15459
  children: isAddingToCart ? /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -15358,29 +15482,29 @@ function ProductDetailScreen({ productId }) {
15358
15482
  /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
15359
15483
  /* @__PURE__ */ jsx("div", { className: "size-10 rounded-full bg-white flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(Truck, { className: "size-5 text-hprimary" }) }),
15360
15484
  /* @__PURE__ */ jsxs("div", { children: [
15361
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mb-1", children: "Free Shipping" }),
15362
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hmuted", children: "On all orders" })
15485
+ /* @__PURE__ */ jsx("p", { className: "font-semibold text-[12px] text-hsecondary mb-1", children: "Free Shipping" }),
15486
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] text-hmuted", children: "On all orders" })
15363
15487
  ] })
15364
15488
  ] }),
15365
15489
  /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
15366
15490
  /* @__PURE__ */ jsx("div", { className: "size-10 rounded-full bg-white flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(RotateCcw, { className: "size-5 text-hprimary" }) }),
15367
15491
  /* @__PURE__ */ jsxs("div", { children: [
15368
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mb-1", children: "Easy Returns" }),
15369
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hmuted", children: "30-day return policy" })
15492
+ /* @__PURE__ */ jsx("p", { className: "font-semibold text-[12px] text-hsecondary mb-1", children: "Easy Returns" }),
15493
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] text-hmuted", children: "30-day return policy" })
15370
15494
  ] })
15371
15495
  ] }),
15372
15496
  /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
15373
15497
  /* @__PURE__ */ jsx("div", { className: "size-10 rounded-full bg-white flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(Shield, { className: "size-5 text-hprimary" }) }),
15374
15498
  /* @__PURE__ */ jsxs("div", { children: [
15375
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mb-1", children: "Secure Checkout" }),
15376
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hmuted", children: "Safe & protected" })
15499
+ /* @__PURE__ */ jsx("p", { className: "font-semibold text-[12px] text-hsecondary mb-1", children: "Secure Checkout" }),
15500
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] text-hmuted", children: "Safe & protected" })
15377
15501
  ] })
15378
15502
  ] }),
15379
15503
  /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
15380
15504
  /* @__PURE__ */ jsx("div", { className: "size-10 rounded-full bg-white flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(Package, { className: "size-5 text-hprimary" }) }),
15381
15505
  /* @__PURE__ */ jsxs("div", { children: [
15382
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mb-1", children: "Quality Guaranteed" }),
15383
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hmuted", children: "Premium materials" })
15506
+ /* @__PURE__ */ jsx("p", { className: "font-semibold text-[12px] text-hsecondary mb-1", children: "Quality Guaranteed" }),
15507
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] text-hmuted", children: "Premium materials" })
15384
15508
  ] })
15385
15509
  ] })
15386
15510
  ] })
@@ -15391,35 +15515,35 @@ function ProductDetailScreen({ productId }) {
15391
15515
  "button",
15392
15516
  {
15393
15517
  onClick: () => setActiveTab(tab),
15394
- className: `font-['Poppins',sans-serif] font-medium text-[14px] px-6 py-4 transition-all ${activeTab === tab ? "text-hprimary border-b-2 border-hprimary -mb-0.5" : "text-hmuted hover:text-hprimary"}`,
15518
+ className: `font-medium text-[14px] px-6 py-4 transition-all ${activeTab === tab ? "text-hprimary border-b-2 border-hprimary -mb-0.5" : "text-hmuted hover:text-hprimary"}`,
15395
15519
  children: tab.charAt(0).toUpperCase() + tab.slice(1)
15396
15520
  },
15397
15521
  tab
15398
15522
  )) }),
15399
15523
  /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-[24px] p-8 border-2 border-gray-100", children: [
15400
15524
  activeTab === "description" && /* @__PURE__ */ jsxs("div", { children: [
15401
- /* @__PURE__ */ jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary mb-4", children: "Product Description" }),
15525
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-hsecondary mb-4", children: "Product Description" }),
15402
15526
  /* @__PURE__ */ jsx(
15403
15527
  "div",
15404
15528
  {
15405
- className: "font-['Poppins',sans-serif] text-[14px] text-hmuted leading-[1.8] mb-4 max-w-full overflow-hidden break-words",
15529
+ className: "text-[14px] text-hmuted leading-[1.8] mb-4 max-w-full overflow-hidden break-words",
15406
15530
  dangerouslySetInnerHTML: { __html: product.description }
15407
15531
  }
15408
15532
  ),
15409
15533
  /* @__PURE__ */ jsxs("div", { className: "mt-6", children: [
15410
- /* @__PURE__ */ jsx("h4", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-hsecondary mb-3", children: "Last updated:" }),
15411
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[14px] text-hmuted", children: lastUpdatedLabel })
15534
+ /* @__PURE__ */ jsx("h4", { className: "font-semibold text-[13px] text-hsecondary mb-3", children: "Last updated:" }),
15535
+ /* @__PURE__ */ jsx("p", { className: "text-[14px] text-hmuted", children: lastUpdatedLabel })
15412
15536
  ] }),
15413
15537
  /* @__PURE__ */ jsxs("div", { className: "mt-6", children: [
15414
- /* @__PURE__ */ jsx("h4", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-hsecondary mb-3", children: "Shipped from:" }),
15415
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[14px] text-hmuted", children: "Local pharmacy distribution center" })
15538
+ /* @__PURE__ */ jsx("h4", { className: "font-semibold text-[13px] text-hsecondary mb-3", children: "Shipped from:" }),
15539
+ /* @__PURE__ */ jsx("p", { className: "text-[14px] text-hmuted", children: "Local pharmacy distribution center" })
15416
15540
  ] })
15417
15541
  ] }),
15418
15542
  activeTab === "reviews" && /* @__PURE__ */ jsx(ProductReviewsSection, { productId })
15419
15543
  ] })
15420
15544
  ] }),
15421
15545
  relatedProducts.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
15422
- /* @__PURE__ */ jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary mb-8 text-2xl", children: "You May Also Like" }),
15546
+ /* @__PURE__ */ jsx("h2", { className: "font-semibold text-hsecondary mb-8 text-2xl", children: "You May Also Like" }),
15423
15547
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6", children: relatedProducts.map((relatedProduct) => /* @__PURE__ */ jsx(
15424
15548
  ProductCard,
15425
15549
  {
@@ -15464,9 +15588,9 @@ function CartItem({ item }) {
15464
15588
  initial: { opacity: 0, y: 20 },
15465
15589
  animate: { opacity: 1, y: 0 },
15466
15590
  exit: { opacity: 0, x: -100 },
15467
- className: "bg-white border-2 border-gray-100 rounded-[24px] p-6 hover:border-hsecondary/30 transition-all duration-300",
15468
- children: /* @__PURE__ */ jsxs("div", { className: "flex gap-4 pr-8", children: [
15469
- /* @__PURE__ */ jsx("div", { className: "w-28 h-28 rounded-[16px] overflow-hidden bg-gray-50 shrink-0", children: /* @__PURE__ */ jsx(
15591
+ className: "bg-white border-2 border-gray-100 rounded-[24px] p-4 md:p-6 hover:border-hsecondary/30 transition-all duration-300",
15592
+ children: /* @__PURE__ */ jsxs("div", { className: "flex gap-3 md:gap-4", children: [
15593
+ /* @__PURE__ */ jsx("div", { className: "w-20 h-20 md:w-28 md:h-28 rounded-[16px] overflow-hidden bg-gray-50 shrink-0", children: /* @__PURE__ */ jsx(
15470
15594
  Image4,
15471
15595
  {
15472
15596
  src: item.productVariantData.media[0]?.file || PLACEHOLDER_IMAGE_SRC,
@@ -15479,8 +15603,8 @@ function CartItem({ item }) {
15479
15603
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
15480
15604
  /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-4 mb-3", children: [
15481
15605
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
15482
- /* @__PURE__ */ jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] mb-2", children: item.productVariantData.name }),
15483
- /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-3", children: /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[12px] text-[#676c80]", children: [
15606
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-[#2B4B7C] mb-2", children: item.productVariantData.name }),
15607
+ /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-3", children: /* @__PURE__ */ jsxs("span", { className: "text-[12px] text-[#676c80]", children: [
15484
15608
  "Variant: ",
15485
15609
  /* @__PURE__ */ jsx("span", { className: "font-medium text-[#2B4B7C]", children: item.productVariantData.name })
15486
15610
  ] }) })
@@ -15496,31 +15620,33 @@ function CartItem({ item }) {
15496
15620
  }
15497
15621
  )
15498
15622
  ] }),
15499
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
15500
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 bg-gray-50 rounded-full px-4 py-2", children: [
15623
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between gap-4 mt-auto", children: [
15624
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 bg-gray-50 rounded-full px-3 py-1.5 md:px-4 md:py-2 w-fit", children: [
15501
15625
  /* @__PURE__ */ jsx(
15502
15626
  "button",
15503
15627
  {
15504
15628
  onClick: () => handleUpdateQuantity(item.quantity - 1),
15505
15629
  disabled: isUpdating || item.quantity <= 1,
15506
15630
  className: "p-1 hover:bg-white rounded-full transition-colors",
15507
- children: /* @__PURE__ */ jsx(Minus, { className: "size-4 text-[#2B4B7C]" })
15631
+ "aria-label": "Decrease quantity",
15632
+ children: /* @__PURE__ */ jsx(Minus, { className: "size-3 md:size-4 text-[#2B4B7C]" })
15508
15633
  }
15509
15634
  ),
15510
- /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-[#2B4B7C] min-w-[20px] text-center", children: item.quantity }),
15635
+ /* @__PURE__ */ jsx("span", { className: "font-semibold text-[13px] md:text-[14px] text-[#2B4B7C] min-w-[20px] text-center", children: item.quantity }),
15511
15636
  /* @__PURE__ */ jsx(
15512
15637
  "button",
15513
15638
  {
15514
15639
  onClick: () => handleUpdateQuantity(item.quantity + 1),
15515
15640
  disabled: isUpdating || item.quantity >= (item.productVariantData.inventoryCount || 999),
15516
15641
  className: "p-1 hover:bg-white rounded-full transition-colors",
15517
- children: /* @__PURE__ */ jsx(Plus, { className: "size-4 text-[#2B4B7C]" })
15642
+ "aria-label": "Increase quantity",
15643
+ children: /* @__PURE__ */ jsx(Plus, { className: "size-3 md:size-4 text-[#2B4B7C]" })
15518
15644
  }
15519
15645
  )
15520
15646
  ] }),
15521
- /* @__PURE__ */ jsxs("div", { className: "text-right", children: [
15522
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] font-bold text-[18px] text-hsecondary", children: formatPrice(itemTotal) }),
15523
- /* @__PURE__ */ jsxs("p", { className: "font-['Poppins',sans-serif] text-[11px] text-[#676c80]", children: [
15647
+ /* @__PURE__ */ jsxs("div", { className: "text-left sm:text-right", children: [
15648
+ /* @__PURE__ */ jsx("p", { className: "font-bold text-[16px] md:text-[18px] text-hsecondary", children: formatPrice(itemTotal) }),
15649
+ /* @__PURE__ */ jsxs("p", { className: "text-[10px] md:text-[11px] text-[#676c80]", children: [
15524
15650
  formatPrice(unitPrice),
15525
15651
  " each"
15526
15652
  ] })
@@ -15596,10 +15722,10 @@ function CartScreen() {
15596
15722
  }
15597
15723
  router.push(buildPath("/checkout"));
15598
15724
  };
15599
- return /* @__PURE__ */ jsx("div", { className: "min-h-screen bg-white", children: /* @__PURE__ */ jsx("div", { className: "max-w-[1400px] mx-auto px-8 md:px-12", children: /* @__PURE__ */ jsxs("div", { className: "container mx-auto px-4 py-8", children: [
15600
- /* @__PURE__ */ jsxs("div", { className: "mb-12", children: [
15601
- /* @__PURE__ */ jsx("h1", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary tracking-[-2px] mb-2 text-4xl", children: "Shopping Cart" }),
15602
- /* @__PURE__ */ jsxs("p", { className: "font-['Poppins',sans-serif] text-[16px] text-hmuted", children: [
15725
+ return /* @__PURE__ */ jsx("div", { className: "min-h-screen bg-white", children: /* @__PURE__ */ jsx("div", { className: "max-w-[1400px] mx-auto px-4 md:px-12", children: /* @__PURE__ */ jsxs("div", { className: "py-8", children: [
15726
+ /* @__PURE__ */ jsxs("div", { className: "mb-8 md:mb-12", children: [
15727
+ /* @__PURE__ */ jsx("h1", { className: "font-semibold text-hsecondary tracking-[-1px] md:tracking-[-2px] mb-2 text-3xl md:text-4xl", children: "Shopping Cart" }),
15728
+ /* @__PURE__ */ jsxs("p", { className: "text-[14px] md:text-[16px] text-hmuted", children: [
15603
15729
  itemCount,
15604
15730
  " ",
15605
15731
  itemCount === 1 ? "item" : "items",
@@ -15628,19 +15754,19 @@ function CartScreen() {
15628
15754
  initial: { opacity: 0, y: 24 },
15629
15755
  animate: { opacity: 1, y: 0 },
15630
15756
  transition: { delay: 0.1 },
15631
- className: "space-y-6 lg:sticky lg:top-24 h-fit lg:col-span-1",
15632
- children: /* @__PURE__ */ jsxs("div", { className: "bg-linear-to-br from-hsecondary/10 to-hsecondary/10 rounded-[24px] p-8 border-2 border-hsecondary/20 sticky top-24", children: [
15633
- /* @__PURE__ */ jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary mb-6", children: "Order Summary" }),
15757
+ className: "lg:sticky lg:top-24 h-fit lg:col-span-1",
15758
+ children: /* @__PURE__ */ jsxs("div", { className: "bg-hsecondary/[0.03] md:bg-linear-to-br md:from-hsecondary/10 md:to-hsecondary/10 rounded-[24px] p-6 md:p-8 border-2 border-hsecondary/10 md:border-hsecondary/20 lg:sticky lg:top-24", children: [
15759
+ /* @__PURE__ */ jsx("h2", { className: "font-semibold text-hsecondary mb-6", children: "Order Summary" }),
15634
15760
  /* @__PURE__ */ jsxs("div", { className: "space-y-4 mb-6", children: [
15635
15761
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
15636
- /* @__PURE__ */ jsxs("span", { className: "font-['Poppins',sans-serif] text-[14px] text-hmuted", children: [
15762
+ /* @__PURE__ */ jsxs("span", { className: "text-[14px] text-hmuted", children: [
15637
15763
  "Subtotal (",
15638
15764
  itemCount,
15639
15765
  " ",
15640
15766
  itemCount === 1 ? "item" : "items",
15641
15767
  ")"
15642
15768
  ] }),
15643
- /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-hsecondary", children: formatPrice(subtotal) })
15769
+ /* @__PURE__ */ jsx("span", { className: "font-semibold text-[14px] text-hsecondary", children: formatPrice(subtotal) })
15644
15770
  ] }),
15645
15771
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-sm", children: [
15646
15772
  /* @__PURE__ */ jsx("span", { className: "text-gray-600", children: "Shipping" }),
@@ -16630,8 +16756,8 @@ function CheckoutScreen() {
16630
16756
  className: "space-y-8",
16631
16757
  children: [
16632
16758
  /* @__PURE__ */ jsxs("div", { className: "mb-12", children: [
16633
- /* @__PURE__ */ jsx("h1", { className: "font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] mb-2 text-3xl", children: "Checkout" }),
16634
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] text-[14px] text-[#676c80] text-md leading-relaxed", children: "Complete your order information below" })
16759
+ /* @__PURE__ */ jsx("h1", { className: "font-semibold text-[#2B4B7C] mb-2 text-3xl", children: "Checkout" }),
16760
+ /* @__PURE__ */ jsx("p", { className: "text-[14px] text-[#676c80] text-md leading-relaxed", children: "Complete your order information below" })
16635
16761
  ] }),
16636
16762
  /* @__PURE__ */ jsx("div", { className: "bg-white border-2 border-gray-100 rounded-[24px] p-8", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-8", children: [
16637
16763
  /* @__PURE__ */ jsxs("div", { children: [
@@ -16726,7 +16852,7 @@ function CheckoutScreen() {
16726
16852
  ] }) }),
16727
16853
  isDelivery !== null && /* @__PURE__ */ jsxs("section", { className: "bg-white border-2 border-gray-100 rounded-[24px] p-8 text-[#2B4B7C]", children: [
16728
16854
  /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center justify-between gap-4", children: /* @__PURE__ */ jsxs("div", { children: [
16729
- /* @__PURE__ */ jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] mb-2 text-2xl", children: isDelivery ? "Delivery Address" : "Contact Information" }),
16855
+ /* @__PURE__ */ jsx("h2", { className: "font-semibold text-[#2B4B7C] mb-2 text-2xl", children: isDelivery ? "Delivery Address" : "Contact Information" }),
16730
16856
  /* @__PURE__ */ jsx("p", { className: "text-sm text-slate-500", children: "We use temperature-aware packaging and real-time tracking on every shipment." })
16731
16857
  ] }) }),
16732
16858
  /* @__PURE__ */ jsxs("div", { className: "mt-6 grid grid-cols-1 gap-4 md:grid-cols-2", children: [
@@ -16860,7 +16986,7 @@ function CheckoutScreen() {
16860
16986
  isDelivery === true && selectedAddressId && /* @__PURE__ */ jsxs("div", { className: "bg-white border-2 border-gray-100 rounded-[24px] p-8 text-[#2B4B7C]", children: [
16861
16987
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 text-xl font-semibold text-gray-900 pb-4 mb-8 border-b", children: [
16862
16988
  /* @__PURE__ */ jsx(Truck, { className: "w-8 h-8 flex items-center justify-center text-[#2B4B7C]" }),
16863
- /* @__PURE__ */ jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] text-2xl", children: "Shipping Options" })
16989
+ /* @__PURE__ */ jsx("h2", { className: "font-semibold text-[#2B4B7C] text-2xl", children: "Shipping Options" })
16864
16990
  ] }),
16865
16991
  shippingRatesLoading ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center py-12", children: [
16866
16992
  /* @__PURE__ */ jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-haccent" }),
@@ -16968,18 +17094,18 @@ function CheckoutScreen() {
16968
17094
  transition: { duration: 0.5, ease: "easeOut", delay: 0.1 },
16969
17095
  className: "space-y-10 lg:sticky lg:top-24 lg:col-span-1",
16970
17096
  children: /* @__PURE__ */ jsxs("div", { className: "bg-linear-to-br from-hsecondary/10 to-hsecondary/10 rounded-[24px] p-8 border-2 border-hsecondary/20 sticky top-24", children: [
16971
- /* @__PURE__ */ jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary mb-6 text-2xl", children: "Order Summary" }),
17097
+ /* @__PURE__ */ jsx("h2", { className: "font-semibold text-hsecondary mb-6 text-2xl", children: "Order Summary" }),
16972
17098
  /* @__PURE__ */ jsxs("section", { className: "mt-8 pt-6 border-t border-slate-100", children: [
16973
17099
  /* @__PURE__ */ jsx("div", { className: "space-y-4 mb-6", children: cart?.cartBody?.items?.map((item) => /* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
16974
17100
  /* @__PURE__ */ jsx("div", { className: "w-16 h-16 rounded-xl overflow-hidden bg-white shrink-0", children: /* @__PURE__ */ jsx(Image4, { src: item.productVariantData?.media?.[0]?.file || PLACEHOLDER_IMAGE_SRC, alt: item.productVariantData.name, className: "w-full h-full object-cover", height: 200, width: 200 }) }),
16975
17101
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
16976
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] font-medium text-[12px] text-[#2B4B7C] mb-1", children: item?.productVariantData?.name }),
16977
- /* @__PURE__ */ jsxs("p", { className: "font-['Poppins',sans-serif] text-[11px] text-[#676c80]", children: [
17102
+ /* @__PURE__ */ jsx("p", { className: "font-medium text-[12px] text-[#2B4B7C] mb-1", children: item?.productVariantData?.name }),
17103
+ /* @__PURE__ */ jsxs("p", { className: "text-[11px] text-[#676c80]", children: [
16978
17104
  item?.productVariantData?.brand,
16979
17105
  " \u2022 Qty: ",
16980
17106
  item.quantity
16981
17107
  ] }),
16982
- /* @__PURE__ */ jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mt-1", children: formatPrice(item.productVariantData.finalPrice * item.quantity) })
17108
+ /* @__PURE__ */ jsx("p", { className: "font-semibold text-[12px] text-hsecondary mt-1", children: formatPrice(item.productVariantData.finalPrice * item.quantity) })
16983
17109
  ] })
16984
17110
  ] }, item.productVariantId || item.id)) }),
16985
17111
  /* @__PURE__ */ jsx("div", { className: "h-px bg-hsecondary/20 my-4" }),
@@ -17016,11 +17142,11 @@ function CheckoutScreen() {
17016
17142
  ] }),
17017
17143
  /* @__PURE__ */ jsx("div", { className: "h-px bg-hsecondary/20 mt-6" }),
17018
17144
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-6", children: [
17019
- /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] font-semibold text-[16px] text-hsecondary", children: "Total" }),
17020
- /* @__PURE__ */ jsx("span", { className: "font-['Poppins',sans-serif] font-bold text-[24px] text-hsecondary", children: formatPrice(total) })
17145
+ /* @__PURE__ */ jsx("span", { className: "font-semibold text-[16px] text-hsecondary", children: "Total" }),
17146
+ /* @__PURE__ */ jsx("span", { className: "font-bold text-[24px] text-hsecondary", children: formatPrice(total) })
17021
17147
  ] })
17022
17148
  ] }),
17023
- /* @__PURE__ */ jsx("div", { className: "bg-white/80 rounded-xl p-4", children: /* @__PURE__ */ jsxs("p", { className: "font-['Poppins',sans-serif] text-[11px] text-[#676c80] leading-[1.6]", children: [
17149
+ /* @__PURE__ */ jsx("div", { className: "bg-white/80 rounded-xl p-4", children: /* @__PURE__ */ jsxs("p", { className: "text-[11px] text-[#676c80] leading-[1.6]", children: [
17024
17150
  /* @__PURE__ */ jsx("strong", { className: "text-hsecondary", children: "Payment:" }),
17025
17151
  " We'll contact you to arrange payment upon pickup or delivery. We accept cash, credit cards, and all major payment methods."
17026
17152
  ] }) })
@@ -17057,7 +17183,7 @@ function CheckoutScreen() {
17057
17183
  {
17058
17184
  type: "submit",
17059
17185
  disabled: isSubmitting,
17060
- className: "font-['Poppins',sans-serif] font-medium text-[14px] px-6 py-3 rounded-full text-white hover:bg-[#d66f45] hover:shadow-lg transition-all duration-300 mt-4 w-full bg-hsecondary hover:bg-[#2B4B7C] flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",
17186
+ className: "font-medium text-[14px] px-6 py-3 rounded-full text-white hover:bg-[#d66f45] hover:shadow-lg transition-all duration-300 mt-4 w-full bg-hsecondary hover:bg-[#2B4B7C] flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",
17061
17187
  children: [
17062
17188
  /* @__PURE__ */ jsx(CreditCard, { className: "h-5 w-5" }),
17063
17189
  isSubmitting ? "Placing order..." : "Place Secure Order"
@@ -17931,7 +18057,7 @@ function AccountOverviewTab() {
17931
18057
  icon: Package,
17932
18058
  label: "Total Orders",
17933
18059
  value: totalOrders,
17934
- color: "bg-[#DBEAFE] text-[#5B9BD5]"
18060
+ color: "bg-hprimary-100 text-[#5B9BD5]"
17935
18061
  },
17936
18062
  {
17937
18063
  icon: CheckCircle,
@@ -17987,7 +18113,7 @@ function AccountOverviewTab() {
17987
18113
  ] }),
17988
18114
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
17989
18115
  /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
17990
- /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-[#DBEAFE]", children: /* @__PURE__ */ jsx(User, { className: "h-5 w-5 text-hsecondary" }) }),
18116
+ /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-hprimary-100", children: /* @__PURE__ */ jsx(User, { className: "h-5 w-5 text-hsecondary" }) }),
17991
18117
  /* @__PURE__ */ jsxs("div", { children: [
17992
18118
  /* @__PURE__ */ jsx("p", { className: "text-xs text-hmuted", children: "Full Name" }),
17993
18119
  /* @__PURE__ */ jsxs("p", { className: "text-sm font-medium text-hsecondary", children: [
@@ -17998,21 +18124,21 @@ function AccountOverviewTab() {
17998
18124
  ] })
17999
18125
  ] }),
18000
18126
  /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
18001
- /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-[#DBEAFE]", children: /* @__PURE__ */ jsx(Mail, { className: "h-5 w-5 text-hsecondary" }) }),
18127
+ /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-hprimary-100", children: /* @__PURE__ */ jsx(Mail, { className: "h-5 w-5 text-hsecondary" }) }),
18002
18128
  /* @__PURE__ */ jsxs("div", { children: [
18003
18129
  /* @__PURE__ */ jsx("p", { className: "text-xs text-hmuted", children: "E-mail Address" }),
18004
18130
  /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-hsecondary", children: user.email })
18005
18131
  ] })
18006
18132
  ] }),
18007
18133
  /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
18008
- /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-[#DBEAFE]", children: /* @__PURE__ */ jsx(Phone, { className: "h-5 w-5 text-hsecondary" }) }),
18134
+ /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-hprimary-100", children: /* @__PURE__ */ jsx(Phone, { className: "h-5 w-5 text-hsecondary" }) }),
18009
18135
  /* @__PURE__ */ jsxs("div", { children: [
18010
18136
  /* @__PURE__ */ jsx("p", { className: "text-xs text-hmuted", children: "Phone Number" }),
18011
18137
  /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-hsecondary", children: user.phoneNumber || "Not provided" })
18012
18138
  ] })
18013
18139
  ] }),
18014
18140
  /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
18015
- /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-[#DBEAFE]", children: /* @__PURE__ */ jsx(MapPin, { className: "h-5 w-5 text-hsecondary" }) }),
18141
+ /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-hprimary-100", children: /* @__PURE__ */ jsx(MapPin, { className: "h-5 w-5 text-hsecondary" }) }),
18016
18142
  /* @__PURE__ */ jsxs("div", { children: [
18017
18143
  /* @__PURE__ */ jsx("p", { className: "text-xs text-hmuted", children: "Date of Birth" }),
18018
18144
  /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-hsecondary", children: "Not provided" })
@@ -18509,7 +18635,7 @@ function AccountReviewsTab() {
18509
18635
  "button",
18510
18636
  {
18511
18637
  onClick: () => window.location.reload(),
18512
- className: "text-[#E67E50] hover:underline text-sm",
18638
+ className: "text-haccent-500 hover:underline text-sm",
18513
18639
  children: "Try again"
18514
18640
  }
18515
18641
  )
@@ -18517,14 +18643,14 @@ function AccountReviewsTab() {
18517
18643
  }
18518
18644
  if (!reviews || reviews.length === 0) {
18519
18645
  return /* @__PURE__ */ jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxs("div", { className: "text-center py-12", children: [
18520
- /* @__PURE__ */ jsx("div", { className: "size-16 rounded-full bg-[#E67E50]/10 flex items-center justify-center mx-auto mb-4", children: /* @__PURE__ */ jsx(Star, { className: "size-8 text-[#E67E50]" }) }),
18646
+ /* @__PURE__ */ jsx("div", { className: "size-16 rounded-full bg-haccent-500/10 flex items-center justify-center mx-auto mb-4", children: /* @__PURE__ */ jsx(Star, { className: "size-8 text-haccent-500" }) }),
18521
18647
  /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-gray-900 mb-2", children: "No reviews yet" }),
18522
18648
  /* @__PURE__ */ jsx("p", { className: "text-gray-600 mb-6", children: "Share your experience with products you've purchased" }),
18523
18649
  /* @__PURE__ */ jsxs(
18524
18650
  "button",
18525
18651
  {
18526
18652
  onClick: () => router.push(buildPath("/reviews")),
18527
- className: "inline-flex items-center gap-2 px-6 py-3 bg-[#E67E50] text-white rounded-lg font-medium hover:bg-[#d66f40] transition-colors",
18653
+ className: "inline-flex items-center gap-2 px-6 py-3 bg-haccent-500 text-white rounded-lg font-medium hover:bg-[#d66f40] transition-colors",
18528
18654
  children: [
18529
18655
  /* @__PURE__ */ jsx(Star, { className: "size-4" }),
18530
18656
  "Write Your First Review"
@@ -18759,7 +18885,7 @@ function OrderCard({ order, onDelete }) {
18759
18885
  "button",
18760
18886
  {
18761
18887
  onClick: handleReviewClick,
18762
- className: "inline-flex items-center gap-2 rounded-lg border border-[#E67E50] bg-white hover:bg-[#E67E50]/5 text-[#E67E50] px-4 py-2 text-sm transition-colors",
18888
+ className: "inline-flex items-center gap-2 rounded-lg border border-haccent-500 bg-white hover:bg-haccent-500/5 text-haccent-500 px-4 py-2 text-sm transition-colors",
18763
18889
  onPointerDown: (e) => e.stopPropagation(),
18764
18890
  children: [
18765
18891
  /* @__PURE__ */ jsx(Star, { className: "w-4 h-4" }),
@@ -18927,8 +19053,8 @@ function ReviewPromptBanner({
18927
19053
  router.push(buildPath("/reviews"));
18928
19054
  };
18929
19055
  if (!isVisible) return null;
18930
- return /* @__PURE__ */ jsx("div", { className: "bg-gradient-to-r from-[#E67E50]/10 to-[#E67E50]/5 border border-[#E67E50]/20 rounded-lg p-4 mb-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4", children: [
18931
- /* @__PURE__ */ jsx("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx("div", { className: "size-10 rounded-full bg-[#E67E50]/20 flex items-center justify-center", children: /* @__PURE__ */ jsx(Star, { className: "size-5 text-[#E67E50]" }) }) }),
19056
+ return /* @__PURE__ */ jsx("div", { className: "bg-gradient-to-r from-haccent-500/10 to-haccent-500/5 border border-haccent-500/20 rounded-lg p-4 mb-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4", children: [
19057
+ /* @__PURE__ */ jsx("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx("div", { className: "size-10 rounded-full bg-haccent-500/20 flex items-center justify-center", children: /* @__PURE__ */ jsx(Star, { className: "size-5 text-haccent-500" }) }) }),
18932
19058
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
18933
19059
  /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-4", children: [
18934
19060
  /* @__PURE__ */ jsxs("div", { children: [
@@ -18956,7 +19082,7 @@ function ReviewPromptBanner({
18956
19082
  "button",
18957
19083
  {
18958
19084
  onClick: handleReviewClick,
18959
- className: "mt-3 inline-flex items-center gap-2 px-4 py-2 bg-[#E67E50] text-white text-sm font-medium rounded-lg hover:bg-[#d66f40] transition-colors",
19085
+ className: "mt-3 inline-flex items-center gap-2 px-4 py-2 bg-haccent-500 text-white text-sm font-medium rounded-lg hover:bg-[#d66f40] transition-colors",
18960
19086
  children: [
18961
19087
  /* @__PURE__ */ jsx(Star, { className: "size-4" }),
18962
19088
  "Write a Review"
@@ -20109,41 +20235,24 @@ function SearchPage() {
20109
20235
  setHasSearched(false);
20110
20236
  return;
20111
20237
  }
20238
+ if (sanitizedQuery.length < 2) {
20239
+ setProducts([]);
20240
+ setIsLoading(false);
20241
+ setHasSearched(false);
20242
+ return;
20243
+ }
20112
20244
  try {
20113
20245
  setIsLoading(true);
20114
20246
  const api = new ProductsApi(AXIOS_CONFIG);
20115
- let response = await api.getAllProducts(
20116
- sanitizedQuery,
20117
- // searchTerm
20118
- void 0,
20119
- // maxPrice
20120
- void 0,
20121
- // minPrice
20122
- void 0,
20123
- // brandFilter
20124
- void 0,
20125
- // availability
20126
- "relevance",
20127
- // sort
20128
- void 0,
20129
- // subCategoryId
20130
- void 0,
20131
- // categoryId
20132
- true,
20133
- // isActive
20134
- 20,
20135
- // limit
20136
- 1
20137
- // page
20138
- );
20139
- console.log("Search API Response:", {
20247
+ const response = await api.smartSearch(sanitizedQuery, 20);
20248
+ console.log("Smart Search API Response:", {
20140
20249
  query: sanitizedQuery,
20141
20250
  status: response.status,
20142
- dataLength: response.data?.data?.length,
20143
- totalItems: response.data?.totalItems
20251
+ productsCount: response.data?.products?.length,
20252
+ scores: response.data?.scores
20144
20253
  });
20145
- if (response.data?.data) {
20146
- const transformedProducts = response.data.data.map((item) => ({
20254
+ if (response.data?.products) {
20255
+ const transformedProducts = response.data.products.map((item) => ({
20147
20256
  ...item,
20148
20257
  id: item._id || ""
20149
20258
  }));
@@ -20156,7 +20265,7 @@ function SearchPage() {
20156
20265
  }
20157
20266
  setHasSearched(true);
20158
20267
  } catch (error) {
20159
- console.error("Error fetching search results:", error);
20268
+ console.error("Error fetching smart search results:", error);
20160
20269
  if (error instanceof Error) {
20161
20270
  console.error("Error details:", error.message);
20162
20271
  }
@@ -20797,7 +20906,7 @@ function ReviewForm({
20797
20906
  {
20798
20907
  id: "reviewType",
20799
20908
  ...register("reviewType"),
20800
- className: "w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#E67E50] focus:border-transparent",
20909
+ className: "w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-haccent-500 focus:border-transparent",
20801
20910
  children: [
20802
20911
  /* @__PURE__ */ jsx("option", { value: "Product Review", children: "Product Review" }),
20803
20912
  /* @__PURE__ */ jsx("option", { value: "Quality Review", children: "Quality Review" }),
@@ -20826,7 +20935,7 @@ function ReviewForm({
20826
20935
  ...register("review"),
20827
20936
  rows: 5,
20828
20937
  placeholder: "Share your experience with this product...",
20829
- className: "w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#E67E50] focus:border-transparent resize-none"
20938
+ className: "w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-haccent-500 focus:border-transparent resize-none"
20830
20939
  }
20831
20940
  ),
20832
20941
  errors.review && /* @__PURE__ */ jsx("p", { className: "text-red-500 text-xs mt-1", children: errors.review.message })
@@ -20837,7 +20946,7 @@ function ReviewForm({
20837
20946
  {
20838
20947
  type: "submit",
20839
20948
  disabled: isLoading,
20840
- className: "flex-1 bg-[#E67E50] text-white py-3 px-6 rounded-lg font-medium hover:bg-[#d66f40] transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",
20949
+ className: "flex-1 bg-haccent-500 text-white py-3 px-6 rounded-lg font-medium hover:bg-[#d66f40] transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",
20841
20950
  children: isLoading ? /* @__PURE__ */ jsxs(Fragment, { children: [
20842
20951
  /* @__PURE__ */ jsx(Loader2, { className: "size-4 animate-spin" }),
20843
20952
  "Submitting..."
@@ -20896,7 +21005,7 @@ function OrderReviewsScreen() {
20896
21005
  "button",
20897
21006
  {
20898
21007
  onClick: () => router.back(),
20899
- className: "text-[#E67E50] hover:underline",
21008
+ className: "text-haccent-500 hover:underline",
20900
21009
  children: "Go Back"
20901
21010
  }
20902
21011
  )
@@ -20981,7 +21090,7 @@ function OrderReviewsScreen() {
20981
21090
  return /* @__PURE__ */ jsx(
20982
21091
  "div",
20983
21092
  {
20984
- className: "bg-white rounded-lg border border-gray-200 p-4 cursor-pointer hover:border-[#E67E50] hover:shadow-md transition-all",
21093
+ className: "bg-white rounded-lg border border-gray-200 p-4 cursor-pointer hover:border-haccent-500 hover:shadow-md transition-all",
20985
21094
  onClick: () => {
20986
21095
  const possibleProductId = item.productId || item.product?._id || item.product?.id || variantData?.productId || variantData?.product?._id || variantData?.product?.id || variantId;
20987
21096
  const productData = {
@@ -21012,7 +21121,7 @@ function OrderReviewsScreen() {
21012
21121
  item.quantity
21013
21122
  ] })
21014
21123
  ] }),
21015
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 text-[#E67E50]", children: /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Review Now" }) })
21124
+ /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 text-haccent-500", children: /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Review Now" }) })
21016
21125
  ] })
21017
21126
  },
21018
21127
  `${variantId}-${index}`
@@ -21037,14 +21146,14 @@ function OrderReviewsScreen() {
21037
21146
  "button",
21038
21147
  {
21039
21148
  onClick: () => router.push("/shop"),
21040
- className: "px-6 py-3 bg-[#E67E50] text-white rounded-lg hover:bg-[#d66f40] transition-colors",
21149
+ className: "px-6 py-3 bg-haccent-500 text-white rounded-lg hover:bg-[#d66f40] transition-colors",
21041
21150
  children: "Start Shopping"
21042
21151
  }
21043
21152
  )
21044
21153
  ] }) : /* @__PURE__ */ jsx("div", { className: "space-y-4", children: completedOrders.map((order) => /* @__PURE__ */ jsx(
21045
21154
  "div",
21046
21155
  {
21047
- className: "bg-white rounded-lg border border-gray-200 p-6 cursor-pointer hover:border-[#E67E50] hover:shadow-md transition-all",
21156
+ className: "bg-white rounded-lg border border-gray-200 p-6 cursor-pointer hover:border-haccent-500 hover:shadow-md transition-all",
21048
21157
  onClick: () => handleOrderClick(order),
21049
21158
  children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
21050
21159
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
@@ -21062,7 +21171,7 @@ function OrderReviewsScreen() {
21062
21171
  ] }),
21063
21172
  order.createdAt && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500", children: formatDistanceToNow(new Date(order.createdAt), { addSuffix: true }) })
21064
21173
  ] }),
21065
- /* @__PURE__ */ jsx("div", { className: "text-right", children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 text-[#E67E50]", children: /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Review Products" }) }) })
21174
+ /* @__PURE__ */ jsx("div", { className: "text-right", children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 text-haccent-500", children: /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Review Products" }) }) })
21066
21175
  ] })
21067
21176
  },
21068
21177
  order.id || order._id
@@ -22175,7 +22284,7 @@ function Header() {
22175
22284
  ),
22176
22285
  /* @__PURE__ */ jsx("div", { className: "absolute right-0 top-full mt-2 w-56 rounded-lg border border-slate-200 bg-white shadow-lg z-20", children: /* @__PURE__ */ jsxs("div", { className: "p-2", children: [
22177
22286
  /* @__PURE__ */ jsxs("div", { className: "px-3 py-2 border-b border-slate-200 mb-1", children: [
22178
- /* @__PURE__ */ jsxs("p", { className: "text-sm font-medium text-hsecondary truncate", children: [
22287
+ /* @__PURE__ */ jsxs("p", { className: "text-sm font-medium text-hprimary-900 truncate", children: [
22179
22288
  user?.firstname,
22180
22289
  " ",
22181
22290
  user?.lastname
@@ -22518,6 +22627,6 @@ function NotificationDrawer() {
22518
22627
  ] }) });
22519
22628
  }
22520
22629
 
22521
- export { AccountReviewsTab, AddressAddressTypeEnum, AddressCreatedRequestAddressTypeEnum, AddressesScreen, ApiKeyInfoDtoKeyTypeEnum, AuthProvider, Badge, BulkChannelToggleDtoCategoryEnum, Button, CampaignDraftDtoStatusEnum, CampaignDraftScheduleDtoStatusEnum, CampaignDraftSendingDtoStatusEnum, CartItem, CartProvider, CartScreen, ChangePasswordScreen, CheckoutScreen, CreateAddressDtoAddressTypeEnum, CreateDiscountDtoStateEnum, CreateDiscountDtoTypeEnum, CreateDiscountDtoValueTypeEnum, CreateStoreAddressDtoAddressTypeEnum, CreateUserDtoCustomerTypeEnum, CreateUserDtoRoleEnum, CurrentOrdersScreen, DiscountStateEnum, DiscountTypeEnum, DiscountValueTypeEnum, EcommerceProvider, EditProfileScreen, EmptyState, Footer, ForgotPasswordScreen, Header, Input, LoginScreen, ManualDiscountDtoValueTypeEnum, ManualOrderDTOOrderStatusEnum, ManualOrderDTOPaymentMethodEnum, ManualOrderDTOPaymentStatusEnum, Modal, NewAddressPage as NewAddressScreen, NotificationBell, NotificationCard, NotificationCenterProvider, NotificationDrawer, NotificationSettingsScreen, OrderCard, OrderCardSkeleton, OrderDetailScreen, OrderOrderTypeEnum, OrderReviewsScreen, OrderTimeLineDTOTypeEnum, OrderTypeEnum, OrdersScreen, PaymentPaymentMethodEnum, PaymentPaymentStatusEnum, PaymentTimeLineDTOTitleEnum, PopulatedDiscountStateEnum, PopulatedDiscountTypeEnum, PopulatedDiscountValueTypeEnum, PopulatedOrderOrderTypeEnum, PopulatedOrderTypeEnum, PreferenceUpdateItemTypeEnum, ProductCard, ProductCardSkeleton, ProductDetailScreen, ProductReviewsSection, ProductVariantInventoryStatusEnum, AccountPage as ProfileScreen, RatingDistribution, RegisterScreen, ReorderProductsDtoContainerTypeEnum, ResetPasswordScreen, ReviewCard, ReviewForm, ReviewPromptBanner, ReviewsList, SearchPage as SearchResultsScreen, ShipmentDetailsDtoStatusEnum, ShippingInfoStatusEnum, ShopScreen, SingleProductMediaTypeEnum, Skeleton, StarRating, ThemeProvider, UpdateAddressDtoAddressTypeEnum, UpdateDiscountDtoStateEnum, UpdateDiscountDtoTypeEnum, UpdateDiscountDtoValueTypeEnum, UpdateManualShipmentStatusDtoStatusEnum, UpdateUserDtoCustomerTypeEnum, UpdateUserDtoRoleEnum, UserEntityCustomerTypeEnum, UserEntityRoleEnum, UserWithNoIdCustomerTypeEnum, UserWithNoIdRoleEnum, WishlistProvider, WishlistScreen, formatDate, formatPrice, generateColorShades, getApiConfiguration, getInitials, hexToRgb, initializeApiAdapter, truncate, useAddresses, useAuth, useBasePath, useCart, useCategories, useCreateReview, useCurrentOrders, useDeleteReview, useNotificationCenter, useOrder, useOrders, useProduct, useProductReviews, useProducts, useReviewStats, useReviewsByRating, useStoreCapabilities, useTheme, useUpdateReview, useUserReviews, useWishlist };
22630
+ export { AccountReviewsTab, AddressAddressTypeEnum, AddressCreatedRequestAddressTypeEnum, AddressesScreen, AuthProvider, Badge, BulkChannelToggleDtoCategoryEnum, Button, CartItem, CartProvider, CartScreen, ChangePasswordScreen, CheckoutScreen, CreateAddressDtoAddressTypeEnum, CreateDiscountDtoStateEnum, CreateDiscountDtoTypeEnum, CreateDiscountDtoValueTypeEnum, CreateStoreAddressDtoAddressTypeEnum, CreateUserDtoCustomerTypeEnum, CreateUserDtoRoleEnum, CurrentOrdersScreen, DiscountStateEnum, DiscountTypeEnum, DiscountValueTypeEnum, EcommerceProvider, EditProfileScreen, EmptyState, Footer, ForgotPasswordScreen, Header, Input, InventoryAlertDtoAlertTypeEnum, LoginScreen, ManualDiscountDtoValueTypeEnum, ManualOrderDTOOrderStatusEnum, ManualOrderDTOPaymentMethodEnum, ManualOrderDTOPaymentStatusEnum, Modal, NewAddressPage as NewAddressScreen, NotificationBell, NotificationCard, NotificationCenterProvider, NotificationDrawer, NotificationDtoTypeEnum, NotificationSettingsScreen, OrderCard, OrderCardSkeleton, OrderDetailScreen, OrderOrderTypeEnum, OrderReviewsScreen, OrderTimeLineDTOTypeEnum, OrderTypeEnum, OrdersScreen, PaymentPaymentMethodEnum, PaymentPaymentStatusEnum, PaymentTimeLineDTOTitleEnum, PopulatedDiscountStateEnum, PopulatedDiscountTypeEnum, PopulatedDiscountValueTypeEnum, PopulatedOrderOrderTypeEnum, PopulatedOrderTypeEnum, PreferenceUpdateItemTypeEnum, ProductCard, ProductCardSkeleton, ProductDetailScreen, ProductReviewsSection, ProductVariantInventoryStatusEnum, AccountPage as ProfileScreen, RatingDistribution, RegisterScreen, ReorderProductsDtoContainerTypeEnum, ResetPasswordScreen, ReviewCard, ReviewForm, ReviewPromptBanner, ReviewsList, SearchPage as SearchResultsScreen, ShipmentDetailsDtoStatusEnum, ShippingInfoStatusEnum, ShopScreen, SingleProductMediaTypeEnum, Skeleton, StarRating, ThemeProvider, UpdateAddressDtoAddressTypeEnum, UpdateDiscountDtoStateEnum, UpdateDiscountDtoTypeEnum, UpdateDiscountDtoValueTypeEnum, UpdateManualShipmentStatusDtoStatusEnum, UpdateUserDtoCustomerTypeEnum, UpdateUserDtoRoleEnum, UserEntityCustomerTypeEnum, UserEntityRoleEnum, UserWithNoIdCustomerTypeEnum, UserWithNoIdRoleEnum, WishlistProvider, WishlistScreen, formatDate, formatPrice, generateColorShades, getApiConfiguration, getInitials, hexToRgb, initializeApiAdapter, truncate, useAddresses, useAuth, useBasePath, useCart, useCategories, useCreateReview, useCurrentOrders, useDeleteReview, useNotificationCenter, useOrder, useOrders, useProduct, useProductReviews, useProducts, useReviewStats, useReviewsByRating, useStoreCapabilities, useTheme, useUpdateReview, useUserReviews, useWishlist };
22522
22631
  //# sourceMappingURL=index.mjs.map
22523
22632
  //# sourceMappingURL=index.mjs.map