hey-pharmacist-ecommerce 1.1.41 → 1.1.43

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 (98) hide show
  1. package/README.md +70 -8
  2. package/dist/index.d.mts +380 -2364
  3. package/dist/index.d.ts +380 -2364
  4. package/dist/index.js +576 -615
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +576 -612
  7. package/dist/index.mjs.map +1 -1
  8. package/package.json +2 -2
  9. package/src/components/AccountAddressesTab.tsx +9 -9
  10. package/src/components/AccountOrdersTab.tsx +11 -11
  11. package/src/components/AccountOverviewTab.tsx +26 -26
  12. package/src/components/AccountPaymentTab.tsx +2 -2
  13. package/src/components/AccountReviewsTab.tsx +1 -1
  14. package/src/components/AccountSettingsTab.tsx +6 -6
  15. package/src/components/AddressFormModal.tsx +2 -2
  16. package/src/components/CartItem.tsx +15 -15
  17. package/src/components/FilterChips.tsx +7 -7
  18. package/src/components/Footer.tsx +9 -9
  19. package/src/components/Header.tsx +7 -7
  20. package/src/components/Notification.tsx +3 -3
  21. package/src/components/NotificationBell.tsx +3 -3
  22. package/src/components/NotificationDrawer.tsx +1 -1
  23. package/src/components/NotificationModal.tsx +1 -1
  24. package/src/components/OrderCard.tsx +2 -2
  25. package/src/components/ProductCard.tsx +13 -13
  26. package/src/components/QuickViewModal.tsx +28 -28
  27. package/src/components/ReviewCard.tsx +6 -6
  28. package/src/components/TabNavigation.tsx +2 -2
  29. package/src/components/ui/Badge.tsx +2 -2
  30. package/src/components/ui/Button.tsx +3 -3
  31. package/src/components/ui/ConfirmModal.tsx +3 -3
  32. package/src/components/ui/Input.tsx +1 -1
  33. package/src/lib/Apis/api.ts +0 -1
  34. package/src/lib/Apis/models/group-with-no-users-dto.ts +0 -6
  35. package/src/lib/Apis/models/group-with-users-dto.ts +0 -6
  36. package/src/lib/Apis/models/index.ts +0 -35
  37. package/src/lib/Apis/models/order.ts +0 -6
  38. package/src/lib/Apis/models/populated-order.ts +0 -6
  39. package/src/lib/Apis/models/preference-update-item.ts +1 -0
  40. package/src/lib/Apis/models/update-user-dto.ts +0 -6
  41. package/src/lib/Apis/models/user-group.ts +0 -6
  42. package/src/lib/Apis/models/user-with-no-id.ts +0 -6
  43. package/src/lib/Apis/sharedConfig.ts +1 -1
  44. package/src/providers/ThemeProvider.tsx +2 -2
  45. package/src/screens/AddressesScreen.tsx +6 -6
  46. package/src/screens/CartScreen.tsx +23 -23
  47. package/src/screens/ChangePasswordScreen.tsx +2 -2
  48. package/src/screens/CheckoutScreen.tsx +28 -28
  49. package/src/screens/CurrentOrdersScreen.tsx +4 -4
  50. package/src/screens/EditProfileScreen.tsx +1 -1
  51. package/src/screens/ForgotPasswordScreen.tsx +11 -11
  52. package/src/screens/LoginScreen.tsx +12 -12
  53. package/src/screens/OrderDetailScreen.tsx +30 -30
  54. package/src/screens/OrdersScreen.tsx +3 -3
  55. package/src/screens/ProductDetailScreen.tsx +59 -59
  56. package/src/screens/ProfileScreen.tsx +2 -2
  57. package/src/screens/RegisterScreen.tsx +15 -15
  58. package/src/screens/ResetPasswordScreen.tsx +14 -14
  59. package/src/screens/SearchResultsScreen.tsx +7 -7
  60. package/src/screens/ShopScreen.tsx +55 -55
  61. package/src/screens/WishlistScreen.tsx +22 -22
  62. package/src/styles/globals.css +43 -43
  63. package/src/lib/Apis/apis/marketing-api.ts +0 -3099
  64. package/src/lib/Apis/models/add-contact-to-list-dto.ts +0 -33
  65. package/src/lib/Apis/models/browser-stats-response-dto.ts +0 -40
  66. package/src/lib/Apis/models/campaign-content-response-dto.ts +0 -40
  67. package/src/lib/Apis/models/campaign-draft-dto.ts +0 -175
  68. package/src/lib/Apis/models/campaign-draft-response-dto.ts +0 -40
  69. package/src/lib/Apis/models/campaign-draft-schedule-dto.ts +0 -49
  70. package/src/lib/Apis/models/campaign-draft-schedule-response-dto.ts +0 -40
  71. package/src/lib/Apis/models/campaign-draft-sending-dto.ts +0 -43
  72. package/src/lib/Apis/models/campaign-draft-sending-response-dto.ts +0 -40
  73. package/src/lib/Apis/models/contact-aggregated-stats-response-dto.ts +0 -40
  74. package/src/lib/Apis/models/contact-full-dto.ts +0 -93
  75. package/src/lib/Apis/models/contact-full-response-dto.ts +0 -40
  76. package/src/lib/Apis/models/contact-list-stats-response-dto.ts +0 -40
  77. package/src/lib/Apis/models/contact-lists-response-dto.ts +0 -40
  78. package/src/lib/Apis/models/country-stats-response-dto.ts +0 -40
  79. package/src/lib/Apis/models/create-contact-dto.ts +0 -39
  80. package/src/lib/Apis/models/create-contact-list-dto.ts +0 -27
  81. package/src/lib/Apis/models/create-email-template-dto.ts +0 -51
  82. package/src/lib/Apis/models/create-marketing-campaign-dto.ts +0 -81
  83. package/src/lib/Apis/models/email-template-response-dto.ts +0 -117
  84. package/src/lib/Apis/models/general-stats-response-dto.ts +0 -40
  85. package/src/lib/Apis/models/link-stats-response-dto.ts +0 -40
  86. package/src/lib/Apis/models/marketing-campaign-content-dto.ts +0 -27
  87. package/src/lib/Apis/models/marketing-list-contact-dto.ts +0 -51
  88. package/src/lib/Apis/models/schedule-campaign-draft-dto.ts +0 -27
  89. package/src/lib/Apis/models/send-test-email-dto.ts +0 -28
  90. package/src/lib/Apis/models/single-browser-stats-dto.ts +0 -45
  91. package/src/lib/Apis/models/single-contact-aggregated-stats-dto.ts +0 -129
  92. package/src/lib/Apis/models/single-contact-list-stats-dto.ts +0 -117
  93. package/src/lib/Apis/models/single-country-stats-dto.ts +0 -39
  94. package/src/lib/Apis/models/single-general-stats.ts +0 -153
  95. package/src/lib/Apis/models/single-link-stats-dto.ts +0 -39
  96. package/src/lib/Apis/models/single-recipient-dto.ts +0 -33
  97. package/src/lib/Apis/models/update-campaign-draft-content-dto.ts +0 -27
  98. package/src/lib/Apis/models/update-marketing-camp-draft-dto.ts +0 -81
@@ -166,19 +166,19 @@ export default function WishlistScreen() {
166
166
  <div className="max-w-lg text-center space-y-6">
167
167
  <div className="flex justify-center">
168
168
  <div className="rounded-full bg-gray-100 p-6">
169
- <Heart className="h-12 w-12 text-secondary" />
169
+ <Heart className="h-12 w-12 text-hsecondary" />
170
170
  </div>
171
171
  </div>
172
172
  <div className="space-y-2">
173
- <h2 className="text-2xl font-bold text-secondary">Sign in to see your favourites</h2>
174
- <p className="text-muted">
173
+ <h2 className="text-2xl font-bold text-hsecondary">Sign in to see your favourites</h2>
174
+ <p className="text-hmuted">
175
175
  Create your curated shelf of products and we&apos;ll keep them ready whenever you return.
176
176
  </p>
177
177
  </div>
178
178
  <button
179
179
  type="button"
180
180
  onClick={() => router.push(buildPath('/login'))}
181
- className="rounded-xl border-2 border-primary bg-primary text-white px-6 py-3 text-sm font-medium transition-colors hover:opacity-80"
181
+ className="rounded-xl border-2 border-hprimary bg-hprimary text-white px-6 py-3 text-sm font-medium transition-colors hover:opacity-80"
182
182
  >
183
183
  Sign In
184
184
  </button>
@@ -189,8 +189,8 @@ export default function WishlistScreen() {
189
189
  {isAuthenticated && (
190
190
  <>
191
191
  <div className="mb-6">
192
- <h1 className="text-2xl font-bold text-secondary">Wishlist</h1>
193
- <p className="text-sm text-muted mt-1">
192
+ <h1 className="text-2xl font-bold text-hsecondary">Wishlist</h1>
193
+ <p className="text-sm text-hmuted mt-1">
194
194
  {wishlistCount} {wishlistCount === 1 ? 'item' : 'items'} saved
195
195
  {wishlistCount > 0 && ` • Total value: ${formatPrice(totalValue)}`}
196
196
  </p>
@@ -199,19 +199,19 @@ export default function WishlistScreen() {
199
199
  <div className="flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between mb-6">
200
200
  <div className="space-y-1">
201
201
  {onlyInStock && (
202
- <p className="text-sm text-muted">
202
+ <p className="text-sm text-hmuted">
203
203
  Showing items ready to ship
204
204
  </p>
205
205
  )}
206
206
  </div>
207
207
 
208
208
  <div className="flex flex-wrap items-center gap-3">
209
- <label className="inline-flex cursor-pointer items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 text-sm font-medium text-slate-600 transition hover:border-primary hover:text-secondary">
209
+ <label className="inline-flex cursor-pointer items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 text-sm font-medium text-slate-600 transition hover:border-hprimary hover:text-hsecondary">
210
210
  <input
211
211
  type="checkbox"
212
212
  checked={onlyInStock}
213
213
  onChange={(event) => setOnlyInStock(event.target.checked)}
214
- className="h-4 w-4 rounded-sm border-slate-300 text-secondary focus:ring-secondary"
214
+ className="h-4 w-4 rounded-sm border-slate-300 text-hsecondary focus:ring-hsecondary"
215
215
  />
216
216
  Only show in-stock
217
217
  </label>
@@ -236,7 +236,7 @@ export default function WishlistScreen() {
236
236
  type="button"
237
237
  onClick={() => setViewMode('grid')}
238
238
  className={`flex items-center gap-1 px-3 py-1.5 text-sm font-medium transition rounded-full ${viewMode === 'grid'
239
- ? 'bg-white text-primary shadow-md'
239
+ ? 'bg-white text-hprimary shadow-md'
240
240
  : 'text-slate-600 hover:bg-white'
241
241
  }`}
242
242
  >
@@ -246,7 +246,7 @@ export default function WishlistScreen() {
246
246
  type="button"
247
247
  onClick={() => setViewMode('list')}
248
248
  className={`flex items-center gap-1 px-3 py-1.5 text-sm font-medium transition rounded-full ${viewMode === 'list'
249
- ? 'bg-white text-primary shadow-md'
249
+ ? 'bg-white text-hprimary shadow-md'
250
250
  : 'text-slate-600 hover:bg-white'
251
251
  }`}
252
252
  >
@@ -283,12 +283,12 @@ export default function WishlistScreen() {
283
283
  <div className="text-center space-y-6 max-w-md">
284
284
  <div className="flex justify-center">
285
285
  <div className="rounded-full bg-gray-100 p-6">
286
- <Heart className="h-12 w-12 text-secondary" />
286
+ <Heart className="h-12 w-12 text-hsecondary" />
287
287
  </div>
288
288
  </div>
289
289
  <div className="space-y-2">
290
- <h2 className="text-2xl font-bold text-secondary">Your wishlist is empty</h2>
291
- <p className="text-muted">
290
+ <h2 className="text-2xl font-bold text-hsecondary">Your wishlist is empty</h2>
291
+ <p className="text-hmuted">
292
292
  Start adding products to your wishlist to see them here.
293
293
  </p>
294
294
  </div>
@@ -296,7 +296,7 @@ export default function WishlistScreen() {
296
296
  <button
297
297
  type="button"
298
298
  onClick={() => router.push(buildPath('/shop'))}
299
- className="rounded-xl border-2 border-secondary bg-secondary text-white px-6 py-3 text-sm font-medium transition-colors flex items-center justify-center gap-2 hover:opacity-80"
299
+ className="rounded-xl border-2 border-hsecondary bg-hsecondary text-white px-6 py-3 text-sm font-medium transition-colors flex items-center justify-center gap-2 hover:opacity-80"
300
300
  >
301
301
  Discover products
302
302
  </button>
@@ -357,15 +357,15 @@ export default function WishlistScreen() {
357
357
  <div className="flex flex-1 flex-col gap-2">
358
358
  <div className="flex flex-wrap items-center justify-between gap-3">
359
359
  <div>
360
- <h3 className="text-lg font-semibold text-secondary">
360
+ <h3 className="text-lg font-semibold text-hsecondary">
361
361
  {product.name}
362
362
  </h3>
363
- <p className="text-sm text-muted">
363
+ <p className="text-sm text-hmuted">
364
364
  General wellness
365
365
  </p>
366
366
  </div>
367
367
  <div className="text-right">
368
- <p className="text-lg font-bold text-primary">
368
+ <p className="text-lg font-bold text-hprimary">
369
369
  {formatPrice(product.summary?.minPrice ?? 0)}
370
370
  </p>
371
371
  {product.summary?.hasDiscount && (
@@ -391,7 +391,7 @@ export default function WishlistScreen() {
391
391
  <Button
392
392
  size="sm"
393
393
  onClick={() => router.push(buildPath(`/products/${product._id}`))}
394
- className='bg-primary-90 text-white hover:bg-primary-70'
394
+ className='bg-hprimary-90 text-white hover:bg-hprimary-70'
395
395
  >
396
396
  View details
397
397
  </Button>
@@ -417,15 +417,15 @@ export default function WishlistScreen() {
417
417
  <div className="flex h-16 w-16 items-center justify-center rounded-full bg-gray-200 text-gray-500">
418
418
  <Package className="h-8 w-8" />
419
419
  </div>
420
- <h3 className="mt-6 text-xl font-semibold text-secondary">
420
+ <h3 className="mt-6 text-xl font-semibold text-hsecondary">
421
421
  Nothing matches those filters
422
422
  </h3>
423
- <p className="mt-2 max-w-md text-sm text-muted">
423
+ <p className="mt-2 max-w-md text-sm text-hmuted">
424
424
  Try showing out-of-stock items or adjust your sort order to revisit everything you&apos;ve saved.
425
425
  </p>
426
426
  <button
427
427
  type="button"
428
- className="mt-6 rounded-xl border-2 border-primary bg-white px-6 py-3 text-sm font-medium text-secondary hover:opacity-80 transition-colors"
428
+ className="mt-6 rounded-xl border-2 border-hprimary bg-white px-6 py-3 text-sm font-medium text-hsecondary hover:opacity-80 transition-colors"
429
429
  onClick={() => setOnlyInStock(false)}
430
430
  >
431
431
  Show all saved products
@@ -4,49 +4,49 @@
4
4
  @source "../**/*.{js,jsx,ts,tsx,mdx}";
5
5
 
6
6
  @theme {
7
- --color-primary-50: rgb(var(--hp-primary-50));
8
- --color-primary-100: rgb(var(--hp-primary-100));
9
- --color-primary-200: rgb(var(--hp-primary-200));
10
- --color-primary-300: rgb(var(--hp-primary-300));
11
- --color-primary-400: rgb(var(--hp-primary-400));
12
- --color-primary-500: rgb(var(--hp-primary-500));
13
- --color-primary-600: var(--hp-primary-600, #E67E50);
14
- --color-primary-700: rgb(var(--hp-primary-700));
15
- --color-primary-800: rgb(var(--hp-primary-800));
16
- --color-primary-900: rgb(var(--hp-primary-900));
17
- --color-primary-950: rgb(var(--hp-primary-950));
18
- --color-primary: var(--hp-primary, #5b9bd5);
19
- --color-primary-dark: var(--hp-primary-dark, #4a8ac4);
20
- --color-primary-bg: var(--hp-primary-bg, #e6ebf0);
21
-
22
- --color-secondary-50: rgb(var(--hp-secondary-50));
23
- --color-secondary-100: rgb(var(--hp-secondary-100));
24
- --color-secondary-200: rgb(var(--hp-secondary-200));
25
- --color-secondary-300: rgb(var(--hp-secondary-300));
26
- --color-secondary-400: rgb(var(--hp-secondary-400));
27
- --color-secondary-500: rgb(var(--hp-secondary-500));
28
- --color-secondary-600: rgb(var(--hp-secondary-600));
29
- --color-secondary-700: rgb(var(--hp-secondary-700));
30
- --color-secondary-800: rgb(var(--hp-secondary-800));
31
- --color-secondary-900: rgb(var(--hp-secondary-900));
32
- --color-secondary-950: rgb(var(--hp-secondary-950));
33
- --color-secondary: var(--hp-secondary, #2b4b7c);
34
-
35
- --color-accent-50: rgb(var(--hp-accent-50));
36
- --color-accent-100: rgb(var(--hp-accent-100));
37
- --color-accent-200: rgb(var(--hp-accent-200));
38
- --color-accent-300: rgb(var(--hp-accent-300));
39
- --color-accent-400: rgb(var(--hp-accent-400));
40
- --color-accent-500: rgb(var(--hp-accent-500));
41
- --color-accent-600: rgb(var(--hp-accent-600));
42
- --color-accent-700: rgb(var(--hp-accent-700));
43
- --color-accent-800: rgb(var(--hp-accent-800));
44
- --color-accent-900: rgb(var(--hp-accent-900));
45
- --color-accent-950: rgb(var(--hp-accent-950));
46
- --color-accent: var(--hp-accent, #e67e50);
47
- --color-accent-dark: var(--hp-accent-dark, #d66f45);
48
-
49
- --color-muted: var(--hp-text-muted, #676c80);
7
+ --color-hprimary-50: rgb(var(--hp-primary-50));
8
+ --color-hprimary-100: rgb(var(--hp-primary-100));
9
+ --color-hprimary-200: rgb(var(--hp-primary-200));
10
+ --color-hprimary-300: rgb(var(--hp-primary-300));
11
+ --color-hprimary-400: rgb(var(--hp-primary-400));
12
+ --color-hprimary-500: rgb(var(--hp-primary-500));
13
+ --color-hprimary-600: var(--hp-primary-600, #E67E50);
14
+ --color-hprimary-700: rgb(var(--hp-primary-700));
15
+ --color-hprimary-800: rgb(var(--hp-primary-800));
16
+ --color-hprimary-900: rgb(var(--hp-primary-900));
17
+ --color-hprimary-950: rgb(var(--hp-primary-950));
18
+ --color-hprimary: var(--hp-primary, #5b9bd5);
19
+ --color-hprimary-dark: var(--hp-primary-dark, #4a8ac4);
20
+ --color-hprimary-bg: var(--hp-primary-bg, #e6ebf0);
21
+
22
+ --color-hsecondary-50: rgb(var(--hp-secondary-50));
23
+ --color-hsecondary-100: rgb(var(--hp-secondary-100));
24
+ --color-hsecondary-200: rgb(var(--hp-secondary-200));
25
+ --color-hsecondary-300: rgb(var(--hp-secondary-300));
26
+ --color-hsecondary-400: rgb(var(--hp-secondary-400));
27
+ --color-hsecondary-500: rgb(var(--hp-secondary-500));
28
+ --color-hsecondary-600: rgb(var(--hp-secondary-600));
29
+ --color-hsecondary-700: rgb(var(--hp-secondary-700));
30
+ --color-hsecondary-800: rgb(var(--hp-secondary-800));
31
+ --color-hsecondary-900: rgb(var(--hp-secondary-900));
32
+ --color-hsecondary-950: rgb(var(--hp-secondary-950));
33
+ --color-hsecondary: var(--hp-secondary, #2b4b7c);
34
+
35
+ --color-haccent-50: rgb(var(--hp-accent-50));
36
+ --color-haccent-100: rgb(var(--hp-accent-100));
37
+ --color-haccent-200: rgb(var(--hp-accent-200));
38
+ --color-haccent-300: rgb(var(--hp-accent-300));
39
+ --color-haccent-400: rgb(var(--hp-accent-400));
40
+ --color-haccent-500: rgb(var(--hp-accent-500));
41
+ --color-haccent-600: rgb(var(--hp-accent-600));
42
+ --color-haccent-700: rgb(var(--hp-accent-700));
43
+ --color-haccent-800: rgb(var(--hp-accent-800));
44
+ --color-haccent-900: rgb(var(--hp-accent-900));
45
+ --color-haccent-950: rgb(var(--hp-accent-950));
46
+ --color-haccent: var(--hp-accent, #e67e50);
47
+ --color-haccent-dark: var(--hp-accent-dark, #d66f45);
48
+
49
+ --color-hmuted: var(--hp-text-muted, #676c80);
50
50
 
51
51
  --animate-fade-in: fadeIn 0.3s ease-in-out;
52
52
  --animate-slide-up: slideUp 0.3s ease-out;