hey-pharmacist-ecommerce 1.1.6 → 1.1.8

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.
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import React20, { createContext, forwardRef, useContext, useEffect, useState, useCallback, useMemo, useRef } from 'react';
2
+ import React21, { createContext, forwardRef, useContext, useEffect, useState, useCallback, useMemo, useRef } from 'react';
3
3
  import globalAxios4 from 'axios';
4
4
  import { Toaster, toast } from 'sonner';
5
5
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
@@ -198,7 +198,7 @@ function ThemeProvider({ config, children }) {
198
198
  root.style.setProperty(`--header-to`, secondaryShades[600]);
199
199
  }
200
200
  }, [config]);
201
- return /* @__PURE__ */ React20.createElement(ThemeContext.Provider, { value: { config } }, children);
201
+ return /* @__PURE__ */ React21.createElement(ThemeContext.Provider, { value: { config } }, children);
202
202
  }
203
203
 
204
204
  // src/providers/AuthProvider.tsx
@@ -2048,7 +2048,7 @@ function AuthProvider({ children }) {
2048
2048
  updateUser,
2049
2049
  refreshUser
2050
2050
  };
2051
- return /* @__PURE__ */ React20.createElement(AuthContext.Provider, { value }, children);
2051
+ return /* @__PURE__ */ React21.createElement(AuthContext.Provider, { value }, children);
2052
2052
  }
2053
2053
  var AddressesApiAxiosParamCreator = function(configuration) {
2054
2054
  return {
@@ -6844,7 +6844,7 @@ function CartProvider({ children }) {
6844
6844
  clearCart,
6845
6845
  refreshCart
6846
6846
  };
6847
- return /* @__PURE__ */ React20.createElement(CartContext.Provider, { value }, children);
6847
+ return /* @__PURE__ */ React21.createElement(CartContext.Provider, { value }, children);
6848
6848
  }
6849
6849
 
6850
6850
  // src/lib/Apis/wrapper.ts
@@ -6874,11 +6874,14 @@ globalAxios4.interceptors.request.use(async (config) => {
6874
6874
  }
6875
6875
  return config;
6876
6876
  });
6877
- var ABORT_CONTROLLER = new AbortController();
6877
+ var abortController;
6878
+ if (typeof window !== "undefined") {
6879
+ abortController = new AbortController();
6880
+ }
6878
6881
  var AXIOS_CONFIG = new Configuration({
6879
6882
  basePath: BaseUrl,
6880
6883
  baseOptions: {
6881
- signal: ABORT_CONTROLLER.signal,
6884
+ signal: abortController?.signal,
6882
6885
  timeout: 2e4
6883
6886
  }
6884
6887
  });
@@ -6984,7 +6987,7 @@ function WishlistProvider({ children }) {
6984
6987
  const refreshWishlist = async () => {
6985
6988
  await fetchWishlist();
6986
6989
  };
6987
- return /* @__PURE__ */ React20.createElement(
6990
+ return /* @__PURE__ */ React21.createElement(
6988
6991
  WishlistContext.Provider,
6989
6992
  {
6990
6993
  value: {
@@ -7017,7 +7020,7 @@ function BasePathProvider({ basePath = "", children }) {
7017
7020
  if (path.startsWith("/")) return `${normalized}${path}`;
7018
7021
  return `${normalized}/${path}`;
7019
7022
  };
7020
- return /* @__PURE__ */ React20.createElement(BasePathContext.Provider, { value: { basePath: normalized, buildPath } }, children);
7023
+ return /* @__PURE__ */ React21.createElement(BasePathContext.Provider, { value: { basePath: normalized, buildPath } }, children);
7021
7024
  }
7022
7025
  function useBasePath() {
7023
7026
  const ctx = useContext(BasePathContext);
@@ -7028,10 +7031,10 @@ function EcommerceProvider({ config, children, withToaster = true, basePath = ""
7028
7031
  useEffect(() => {
7029
7032
  initializeApiAdapter(config);
7030
7033
  }, [config]);
7031
- const [client] = React20.useState(
7034
+ const [client] = React21.useState(
7032
7035
  new QueryClient({ defaultOptions: { queries: { staleTime: 5e3 } } })
7033
7036
  );
7034
- return /* @__PURE__ */ React20.createElement(QueryClientProvider, { client }, /* @__PURE__ */ React20.createElement(ThemeProvider, { config }, /* @__PURE__ */ React20.createElement(BasePathProvider, { basePath }, /* @__PURE__ */ React20.createElement(AuthProvider, null, /* @__PURE__ */ React20.createElement(CartProvider, null, /* @__PURE__ */ React20.createElement(WishlistProvider, null, children, withToaster && /* @__PURE__ */ React20.createElement(Toaster, { position: "top-right", richColors: true })))))));
7037
+ return /* @__PURE__ */ React21.createElement(QueryClientProvider, { client }, /* @__PURE__ */ React21.createElement(ThemeProvider, { config }, /* @__PURE__ */ React21.createElement(BasePathProvider, { basePath }, /* @__PURE__ */ React21.createElement(AuthProvider, null, /* @__PURE__ */ React21.createElement(CartProvider, null, /* @__PURE__ */ React21.createElement(WishlistProvider, null, children, withToaster && /* @__PURE__ */ React21.createElement(Toaster, { position: "top-right", richColors: true })))))));
7035
7038
  }
7036
7039
 
7037
7040
  // src/lib/utils/format.ts
@@ -7121,7 +7124,7 @@ function ProductCard({
7121
7124
  alt: product.name || "Product image"
7122
7125
  };
7123
7126
  }, [product.productMedia, product.name]);
7124
- return /* @__PURE__ */ React20.createElement(
7127
+ return /* @__PURE__ */ React21.createElement(
7125
7128
  motion.article,
7126
7129
  {
7127
7130
  className: "relative group bg-white rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all duration-300 border border-gray-100 hover:border-gray-200 flex h-[420px] flex-col",
@@ -7134,7 +7137,7 @@ function ProductCard({
7134
7137
  onClick: handleCardClick,
7135
7138
  onKeyDown: handleKeyDown
7136
7139
  },
7137
- /* @__PURE__ */ React20.createElement("div", { className: "relative h-48 w-full overflow-hidden bg-gray-50" }, /* @__PURE__ */ React20.createElement(AnimatePresence, null, !isImageLoaded && /* @__PURE__ */ React20.createElement(
7140
+ /* @__PURE__ */ React21.createElement("div", { className: "relative h-48 w-full overflow-hidden bg-gray-50" }, /* @__PURE__ */ React21.createElement(AnimatePresence, null, !isImageLoaded && /* @__PURE__ */ React21.createElement(
7138
7141
  motion.div,
7139
7142
  {
7140
7143
  className: "absolute inset-0 bg-gray-200 animate-pulse",
@@ -7142,7 +7145,7 @@ function ProductCard({
7142
7145
  exit: { opacity: 0 },
7143
7146
  transition: { duration: 0.2 }
7144
7147
  }
7145
- )), product.productMedia?.[0]?.file && /* @__PURE__ */ React20.createElement(
7148
+ )), product.productMedia?.[0]?.file && /* @__PURE__ */ React21.createElement(
7146
7149
  Image3,
7147
7150
  {
7148
7151
  src: product.productMedia?.[0]?.file || "/placeholder-product.jpg",
@@ -7153,7 +7156,7 @@ function ProductCard({
7153
7156
  priority: false,
7154
7157
  onLoad: handleImageLoad
7155
7158
  }
7156
- ), /* @__PURE__ */ React20.createElement("div", { className: "absolute top-3 left-3 flex flex-col gap-2 z-10" }, product.isDiscounted && /* @__PURE__ */ React20.createElement(
7159
+ ), /* @__PURE__ */ React21.createElement("div", { className: "absolute top-3 left-3 flex flex-col gap-2 z-10" }, product.isDiscounted && /* @__PURE__ */ React21.createElement(
7157
7160
  motion.span,
7158
7161
  {
7159
7162
  initial: { scale: 0.9, opacity: 0 },
@@ -7163,7 +7166,7 @@ function ProductCard({
7163
7166
  "-",
7164
7167
  product.discountAmount,
7165
7168
  "%"
7166
- ), product.inventoryCount === 0 && /* @__PURE__ */ React20.createElement(
7169
+ ), product.inventoryCount === 0 && /* @__PURE__ */ React21.createElement(
7167
7170
  motion.span,
7168
7171
  {
7169
7172
  initial: { scale: 0.9, opacity: 0 },
@@ -7171,7 +7174,7 @@ function ProductCard({
7171
7174
  className: "inline-flex items-center justify-center px-2.5 py-1 rounded-full text-xs font-bold text-white bg-red-600"
7172
7175
  },
7173
7176
  "Out of Stock"
7174
- )), showFavoriteButton && /* @__PURE__ */ React20.createElement(
7177
+ )), showFavoriteButton && /* @__PURE__ */ React21.createElement(
7175
7178
  motion.button,
7176
7179
  {
7177
7180
  type: "button",
@@ -7181,10 +7184,10 @@ function ProductCard({
7181
7184
  whileTap: { scale: 0.95 },
7182
7185
  "aria-label": isFavorite ? "Remove from wishlist" : "Add to wishlist"
7183
7186
  },
7184
- /* @__PURE__ */ React20.createElement(Heart, { className: `w-5 h-5 ${isFavorite ? "fill-current" : ""}` })
7187
+ /* @__PURE__ */ React21.createElement(Heart, { className: `w-5 h-5 ${isFavorite ? "fill-current" : ""}` })
7185
7188
  )),
7186
- /* @__PURE__ */ React20.createElement("div", { className: "absolute top-4 left-4 flex flex-col gap-2" }, product.inventoryCount === 0 && /* @__PURE__ */ React20.createElement("span", { className: "px-3 py-1 rounded-full text-sm font-bold bg-red-100 text-red-800" }, "Out of Stock")),
7187
- showFavoriteButton && /* @__PURE__ */ React20.createElement(
7189
+ /* @__PURE__ */ React21.createElement("div", { className: "absolute top-4 left-4 flex flex-col gap-2" }, product.inventoryCount === 0 && /* @__PURE__ */ React21.createElement("span", { className: "px-3 py-1 rounded-full text-sm font-bold bg-red-100 text-red-800" }, "Out of Stock")),
7190
+ showFavoriteButton && /* @__PURE__ */ React21.createElement(
7188
7191
  "button",
7189
7192
  {
7190
7193
  type: "button",
@@ -7192,10 +7195,10 @@ function ProductCard({
7192
7195
  className: `absolute top-2 right-2 p-2 rounded-full transition-colors ${isFavorite ? "text-red-500" : "text-gray-400 hover:text-red-500"}`,
7193
7196
  "aria-label": isFavorite ? "Remove from wishlist" : "Add to wishlist"
7194
7197
  },
7195
- /* @__PURE__ */ React20.createElement(Heart, { className: `w-5 h-5 ${isFavorite ? "fill-current" : ""}` })
7198
+ /* @__PURE__ */ React21.createElement(Heart, { className: `w-5 h-5 ${isFavorite ? "fill-current" : ""}` })
7196
7199
  ),
7197
- /* @__PURE__ */ React20.createElement("div", { className: "p-4" }, product.parentCategories && product.parentCategories?.length > 0 && /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-gray-500 uppercase tracking-wider mb-2" }, product.parentCategories?.map((category) => category?.name).join(", ") || "No categories"), /* @__PURE__ */ React20.createElement("div", { className: "mb-2" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900 line-clamp-1 group-hover:text-primary-600 transition-colors" }, product.name), product?.sku && /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-gray-400 mt-1" }, "SKU: ", product.sku)), /* @__PURE__ */ React20.createElement("div", { className: "flex items-baseline gap-2" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React20.createElement("span", { className: "text-2xl font-bold text-gray-900" }, formatPrice(product.finalPrice)), product.inventoryCount > 0 && /* @__PURE__ */ React20.createElement("span", { className: "text-xs text-gray-500" }, product.inventoryCount > 0 ? "In Stock" : "Out of Stock")), product.priceBeforeDiscount && product.priceBeforeDiscount > product.finalPrice && /* @__PURE__ */ React20.createElement("span", { className: "text-sm text-gray-500 line-through" }, formatPrice(product.priceBeforeDiscount)))),
7198
- /* @__PURE__ */ React20.createElement("div", { className: "mt-auto p-4 pt-0" }, /* @__PURE__ */ React20.createElement(
7200
+ /* @__PURE__ */ React21.createElement("div", { className: "p-4" }, product.parentCategories && product.parentCategories?.length > 0 && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-gray-500 uppercase tracking-wider mb-2" }, product.parentCategories?.map((category) => category?.name).join(", ") || "No categories"), /* @__PURE__ */ React21.createElement("div", { className: "mb-2" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900 line-clamp-1 group-hover:text-primary-600 transition-colors" }, product.name), product?.sku && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-gray-400 mt-1" }, "SKU: ", product.sku)), /* @__PURE__ */ React21.createElement("div", { className: "flex items-baseline gap-2" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React21.createElement("span", { className: "text-2xl font-bold text-gray-900" }, formatPrice(product.finalPrice)), product.inventoryCount > 0 && /* @__PURE__ */ React21.createElement("span", { className: "text-xs text-gray-500" }, product.inventoryCount > 0 ? "In Stock" : "Out of Stock")), product.priceBeforeDiscount && product.priceBeforeDiscount > product.finalPrice && /* @__PURE__ */ React21.createElement("span", { className: "text-sm text-gray-500 line-through" }, formatPrice(product.priceBeforeDiscount)))),
7201
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-auto p-4 pt-0" }, /* @__PURE__ */ React21.createElement(
7199
7202
  "button",
7200
7203
  {
7201
7204
  type: "button",
@@ -7206,7 +7209,7 @@ function ProductCard({
7206
7209
  className: `w-full flex items-center justify-center rounded-md px-3 py-2 text-sm font-medium bg-primary-600 hover:bg-primary-700 text-white`
7207
7210
  },
7208
7211
  "View Product"
7209
- ), showFavoriteButton && /* @__PURE__ */ React20.createElement(
7212
+ ), showFavoriteButton && /* @__PURE__ */ React21.createElement(
7210
7213
  "button",
7211
7214
  {
7212
7215
  type: "button",
@@ -7214,7 +7217,7 @@ function ProductCard({
7214
7217
  className: "mt-2 w-full flex items-center justify-center rounded-md border border-gray-300 bg-white px-3 py-2 text-sm font-medium text-primary-600 hover:bg-gray-50",
7215
7218
  "aria-label": isFavorite ? "Remove from wishlist" : "Add to wishlist"
7216
7219
  },
7217
- /* @__PURE__ */ React20.createElement(
7220
+ /* @__PURE__ */ React21.createElement(
7218
7221
  Heart,
7219
7222
  {
7220
7223
  className: `mr-2 h-4 w-4 ${isFavorite ? "fill-red-500 text-red-500" : "text-primary-600"}`
@@ -7225,13 +7228,13 @@ function ProductCard({
7225
7228
  );
7226
7229
  }
7227
7230
  function Skeleton({ className = "" }) {
7228
- return /* @__PURE__ */ React20.createElement("div", { className: `animate-pulse bg-gradient-to-r from-gray-200 via-gray-300 to-gray-200 bg-[length:200%_100%] rounded ${className}` });
7231
+ return /* @__PURE__ */ React21.createElement("div", { className: `animate-pulse bg-gradient-to-r from-gray-200 via-gray-300 to-gray-200 bg-[length:200%_100%] rounded ${className}` });
7229
7232
  }
7230
7233
  function ProductCardSkeleton() {
7231
- return /* @__PURE__ */ React20.createElement("div", { className: "bg-white rounded-2xl overflow-hidden shadow-sm" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-64 w-full" }), /* @__PURE__ */ React20.createElement("div", { className: "p-4 space-y-3" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-6 w-3/4" }), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-4 w-1/2" }), /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-center pt-2" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-8 w-24" }), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-10 w-10 rounded-full" }))));
7234
+ return /* @__PURE__ */ React21.createElement("div", { className: "bg-white rounded-2xl overflow-hidden shadow-sm" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-64 w-full" }), /* @__PURE__ */ React21.createElement("div", { className: "p-4 space-y-3" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-6 w-3/4" }), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-4 w-1/2" }), /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-center pt-2" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-8 w-24" }), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-10 w-10 rounded-full" }))));
7232
7235
  }
7233
7236
  function OrderCardSkeleton() {
7234
- return /* @__PURE__ */ React20.createElement("div", { className: "bg-white rounded-2xl p-6 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-2 flex-1" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-6 w-32" }), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-4 w-48" })), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-6 w-20 rounded-full" })), /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-4 w-full" }), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-4 w-2/3" })));
7237
+ return /* @__PURE__ */ React21.createElement("div", { className: "bg-white rounded-2xl p-6 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-2 flex-1" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-6 w-32" }), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-4 w-48" })), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-6 w-20 rounded-full" })), /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-4 w-full" }), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-4 w-2/3" })));
7235
7238
  }
7236
7239
  var MotionDiv = dynamic(() => import('framer-motion').then((mod) => mod.motion.div), {
7237
7240
  ssr: false
@@ -7257,14 +7260,14 @@ function Button({
7257
7260
  md: "px-6 py-3 text-base",
7258
7261
  lg: "px-8 py-4 text-lg"
7259
7262
  };
7260
- return /* @__PURE__ */ React20.createElement(
7263
+ return /* @__PURE__ */ React21.createElement(
7261
7264
  MotionDiv,
7262
7265
  {
7263
7266
  whileHover: { scale: 1.02 },
7264
7267
  whileTap: { scale: 0.98 },
7265
7268
  className: "inline-block"
7266
7269
  },
7267
- /* @__PURE__ */ React20.createElement(
7270
+ /* @__PURE__ */ React21.createElement(
7268
7271
  "button",
7269
7272
  {
7270
7273
  className: `${baseStyles} ${variants[variant]} ${sizes[size]} ${className}`,
@@ -7273,18 +7276,18 @@ function Button({
7273
7276
  "aria-busy": isLoading,
7274
7277
  ...props
7275
7278
  },
7276
- isLoading ? /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("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" }, /* @__PURE__ */ React20.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React20.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })), "Loading...") : children
7279
+ isLoading ? /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("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" }, /* @__PURE__ */ React21.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React21.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })), "Loading...") : children
7277
7280
  )
7278
7281
  );
7279
7282
  }
7280
7283
 
7281
7284
  // src/components/EmptyState.tsx
7282
7285
  function EmptyState({ icon: Icon, title, description, actionLabel, onAction }) {
7283
- return /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-center justify-center py-16 px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "w-24 h-24 bg-gray-100 rounded-full flex items-center justify-center mb-6" }, /* @__PURE__ */ React20.createElement(Icon, { className: "w-12 h-12 text-gray-400" })), /* @__PURE__ */ React20.createElement("h3", { className: "text-2xl font-bold text-gray-900 mb-2" }, title), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-600 text-center max-w-md mb-8" }, description), actionLabel && onAction && /* @__PURE__ */ React20.createElement(Button, { onClick: onAction }, actionLabel));
7286
+ return /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-center justify-center py-16 px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "w-24 h-24 bg-gray-100 rounded-full flex items-center justify-center mb-6" }, /* @__PURE__ */ React21.createElement(Icon, { className: "w-12 h-12 text-gray-400" })), /* @__PURE__ */ React21.createElement("h3", { className: "text-2xl font-bold text-gray-900 mb-2" }, title), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-600 text-center max-w-md mb-8" }, description), actionLabel && onAction && /* @__PURE__ */ React21.createElement(Button, { onClick: onAction }, actionLabel));
7284
7287
  }
7285
7288
  var Input = forwardRef(
7286
7289
  ({ label, error, helperText, className = "", ...props }, ref) => {
7287
- return /* @__PURE__ */ React20.createElement("div", { className: "w-full" }, label && /* @__PURE__ */ React20.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, label), /* @__PURE__ */ React20.createElement(
7290
+ return /* @__PURE__ */ React21.createElement("div", { className: "w-full" }, label && /* @__PURE__ */ React21.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, label), /* @__PURE__ */ React21.createElement(
7288
7291
  "input",
7289
7292
  {
7290
7293
  ref,
@@ -7298,7 +7301,7 @@ var Input = forwardRef(
7298
7301
  `,
7299
7302
  ...props
7300
7303
  }
7301
- ), error && /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-sm text-red-600" }, error), helperText && !error && /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-sm text-gray-500" }, helperText));
7304
+ ), error && /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-sm text-red-600" }, error), helperText && !error && /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-sm text-gray-500" }, helperText));
7302
7305
  }
7303
7306
  );
7304
7307
  Input.displayName = "Input";
@@ -7860,7 +7863,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7860
7863
  ]);
7861
7864
  const hasActiveFilters = activeFilterChips.length > 0;
7862
7865
  const isCustomPriceDirty = customPrice.min.trim() !== "" || customPrice.max.trim() !== "";
7863
- const renderFiltersPanel = () => /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("div", { className: "space-y-8" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-8" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start justify-between gap-3" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, "Refine results"), /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-sm text-gray-500" }, "Filter by category, price, and availability to find the perfect fit faster.")), hasActiveFilters && /* @__PURE__ */ React20.createElement(
7866
+ const renderFiltersPanel = () => /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("div", { className: "space-y-8" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-8" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start justify-between gap-3" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, "Refine results"), /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-gray-500" }, "Filter by category, price, and availability to find the perfect fit faster.")), hasActiveFilters && /* @__PURE__ */ React21.createElement(
7864
7867
  "button",
7865
7868
  {
7866
7869
  type: "button",
@@ -7868,10 +7871,10 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7868
7871
  className: "text-sm font-semibold text-primary-600 hover:text-primary-700"
7869
7872
  },
7870
7873
  "Clear all"
7871
- )), /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Categories"), /* @__PURE__ */ React20.createElement("div", { className: "space-y-2" }, sortedCategories.length === 0 && /* @__PURE__ */ React20.createElement("span", { className: "text-sm text-gray-500" }, "No categories available yet."), sortedCategories.map((category) => {
7874
+ )), /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Categories"), /* @__PURE__ */ React21.createElement("div", { className: "space-y-2" }, sortedCategories.length === 0 && /* @__PURE__ */ React21.createElement("span", { className: "text-sm text-gray-500" }, "No categories available yet."), sortedCategories.map((category) => {
7872
7875
  const isCategoryActive = categoryFilter === category.id;
7873
7876
  const isExpanded = !!expandedCategories[category.id];
7874
- return /* @__PURE__ */ React20.createElement("div", { key: category.id, className: "rounded-xl border-gray-100 bg-white/50" }, /* @__PURE__ */ React20.createElement(
7877
+ return /* @__PURE__ */ React21.createElement("div", { key: category.id, className: "rounded-xl border-gray-100 bg-white/50" }, /* @__PURE__ */ React21.createElement(
7875
7878
  "div",
7876
7879
  {
7877
7880
  role: "button",
@@ -7882,8 +7885,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7882
7885
  },
7883
7886
  className: `flex w-full items-center justify-between rounded-xl px-3 py-2 text-sm font-medium transition ${isCategoryActive ? "text-primary-700 bg-primary-50" : "text-gray-700 hover:text-primary-700 hover:bg-primary-50/50"}`
7884
7887
  },
7885
- /* @__PURE__ */ React20.createElement("span", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("span", { className: "font-medium" }, category.name), category.productCount > 0 && /* @__PURE__ */ React20.createElement("span", { className: `ml-1 rounded-full bg-gray-100 px-2 py-0.5 text-xs ${isCategoryActive ? "text-primary-700" : "text-gray-500"}` }, category.productCount)),
7886
- /* @__PURE__ */ React20.createElement(
7888
+ /* @__PURE__ */ React21.createElement("span", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("span", { className: "font-medium" }, category.name), category.productCount > 0 && /* @__PURE__ */ React21.createElement("span", { className: `ml-1 rounded-full bg-gray-100 px-2 py-0.5 text-xs ${isCategoryActive ? "text-primary-700" : "text-gray-500"}` }, category.productCount)),
7889
+ /* @__PURE__ */ React21.createElement(
7887
7890
  "button",
7888
7891
  {
7889
7892
  type: "button",
@@ -7895,11 +7898,11 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7895
7898
  className: "rounded-md p-1 hover:bg-gray-100",
7896
7899
  "aria-label": isExpanded ? "Collapse" : "Expand"
7897
7900
  },
7898
- /* @__PURE__ */ React20.createElement(ChevronDown, { className: `h-4 w-4 transition-transform ${isExpanded ? "rotate-180 text-primary-600" : "rotate-0 text-gray-400"}` })
7901
+ /* @__PURE__ */ React21.createElement(ChevronDown, { className: `h-4 w-4 transition-transform ${isExpanded ? "rotate-180 text-primary-600" : "rotate-0 text-gray-400"}` })
7899
7902
  )
7900
- ), isExpanded && Array.isArray(category.categorySubCategories) && category.categorySubCategories.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "mt-1 border-gray-100 px-2 pb-2 pl-4" }, /* @__PURE__ */ React20.createElement("div", { className: "divide-y divide-gray-100" }, category.categorySubCategories.map((sub) => {
7903
+ ), isExpanded && Array.isArray(category.categorySubCategories) && category.categorySubCategories.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "mt-1 border-gray-100 px-2 pb-2 pl-4" }, /* @__PURE__ */ React21.createElement("div", { className: "divide-y divide-gray-100" }, category.categorySubCategories.map((sub) => {
7901
7904
  const isSubActive = subCategoryFilter === sub.id;
7902
- return /* @__PURE__ */ React20.createElement(
7905
+ return /* @__PURE__ */ React21.createElement(
7903
7906
  "button",
7904
7907
  {
7905
7908
  key: sub.id,
@@ -7910,9 +7913,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7910
7913
  sub.name
7911
7914
  );
7912
7915
  }))));
7913
- }))))), /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Price"), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, priceRanges.map((range) => {
7916
+ }))))), /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React21.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Price"), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, priceRanges.map((range) => {
7914
7917
  const isActive = selectedPriceRange === range.value;
7915
- return /* @__PURE__ */ React20.createElement(
7918
+ return /* @__PURE__ */ React21.createElement(
7916
7919
  "button",
7917
7920
  {
7918
7921
  type: "button",
@@ -7922,7 +7925,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7922
7925
  },
7923
7926
  range.label
7924
7927
  );
7925
- })), /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-2 gap-3" }, /* @__PURE__ */ React20.createElement(
7928
+ })), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-2 gap-3" }, /* @__PURE__ */ React21.createElement(
7926
7929
  Input,
7927
7930
  {
7928
7931
  type: "number",
@@ -7931,7 +7934,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7931
7934
  value: customPrice.min,
7932
7935
  onChange: (event) => setCustomPrice((current) => ({ ...current, min: event.target.value }))
7933
7936
  }
7934
- ), /* @__PURE__ */ React20.createElement(
7937
+ ), /* @__PURE__ */ React21.createElement(
7935
7938
  Input,
7936
7939
  {
7937
7940
  type: "number",
@@ -7940,7 +7943,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7940
7943
  value: customPrice.max,
7941
7944
  onChange: (event) => setCustomPrice((current) => ({ ...current, max: event.target.value }))
7942
7945
  }
7943
- )), /* @__PURE__ */ React20.createElement(
7946
+ )), /* @__PURE__ */ React21.createElement(
7944
7947
  "button",
7945
7948
  {
7946
7949
  type: "button",
@@ -7949,48 +7952,48 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7949
7952
  className: "w-full rounded-xl border border-primary-500 bg-primary-500/10 px-4 py-2.5 text-sm font-semibold text-primary-700 transition hover:bg-primary-500/20 disabled:cursor-not-allowed disabled:border-gray-200 disabled:text-gray-400"
7950
7953
  },
7951
7954
  "Apply price range"
7952
- )), /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Availability"), /* @__PURE__ */ React20.createElement(
7955
+ )), /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Availability"), /* @__PURE__ */ React21.createElement(
7953
7956
  "button",
7954
7957
  {
7955
7958
  type: "button",
7956
7959
  onClick: handleToggleStock,
7957
7960
  className: `flex w-full items-center justify-between rounded-xl border px-4 py-3 text-sm font-medium transition ${inStockOnly ? "border-primary-500 bg-primary-50 text-primary-700" : "border-gray-200 bg-white text-gray-600 hover:border-primary-300 hover:text-primary-600"}`
7958
7961
  },
7959
- /* @__PURE__ */ React20.createElement("span", null, "In stock only"),
7960
- /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" })
7961
- ), /* @__PURE__ */ React20.createElement(
7962
+ /* @__PURE__ */ React21.createElement("span", null, "In stock only"),
7963
+ /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" })
7964
+ ), /* @__PURE__ */ React21.createElement(
7962
7965
  "button",
7963
7966
  {
7964
7967
  type: "button",
7965
7968
  onClick: handleToggleNewArrivals,
7966
7969
  className: `mt-2 flex w-full items-center justify-between rounded-xl border px-4 py-3 text-sm font-medium transition ${newArrivals ? "border-secondary-500 bg-secondary-50 text-secondary-700" : "border-gray-200 bg-white text-gray-600 hover:border-secondary-300 hover:text-secondary-600"}`
7967
7970
  },
7968
- /* @__PURE__ */ React20.createElement("span", null, "New arrivals (last 30 days)"),
7969
- /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-secondary-500" })
7971
+ /* @__PURE__ */ React21.createElement("span", null, "New arrivals (last 30 days)"),
7972
+ /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-secondary-500" })
7970
7973
  ))));
7971
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React20.createElement(
7974
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React21.createElement(
7972
7975
  "div",
7973
7976
  {
7974
7977
  className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]",
7975
7978
  "aria-hidden": "true"
7976
7979
  }
7977
- ), /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,_rgba(94,234,212,0.35),_transparent_55%)] opacity-60" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-24" }, /* @__PURE__ */ React20.createElement(
7980
+ ), /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,_rgba(94,234,212,0.35),_transparent_55%)] opacity-60" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-24" }, /* @__PURE__ */ React21.createElement(
7978
7981
  motion.div,
7979
7982
  {
7980
7983
  initial: { opacity: 0, y: 24 },
7981
7984
  animate: { opacity: 1, y: 0 },
7982
7985
  className: "max-w-3xl space-y-8 text-center md:mx-auto md:text-left"
7983
7986
  },
7984
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-4 py-2 text-sm font-semibold tracking-wide text-white/80 backdrop-blur" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4" }), "Wellness products, curated for you"),
7985
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-6xl" }, "Find pharmacy favorites crafted to keep your family thriving"),
7986
- /* @__PURE__ */ React20.createElement("p", { className: "text-lg text-white/80 md:text-xl" }, "Explore a modern storefront with real-time inventory, smart filters, and rich product details designed to make healthier choices easier."),
7987
- /* @__PURE__ */ React20.createElement(
7987
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-4 py-2 text-sm font-semibold tracking-wide text-white/80 backdrop-blur" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4" }), "Wellness products, curated for you"),
7988
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-6xl" }, "Find pharmacy favorites crafted to keep your family thriving"),
7989
+ /* @__PURE__ */ React21.createElement("p", { className: "text-lg text-white/80 md:text-xl" }, "Explore a modern storefront with real-time inventory, smart filters, and rich product details designed to make healthier choices easier."),
7990
+ /* @__PURE__ */ React21.createElement(
7988
7991
  "form",
7989
7992
  {
7990
7993
  onSubmit: handleSearch,
7991
7994
  className: "mx-auto max-w-2xl md:mx-0"
7992
7995
  },
7993
- /* @__PURE__ */ React20.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React20.createElement(
7996
+ /* @__PURE__ */ React21.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React21.createElement(
7994
7997
  "input",
7995
7998
  {
7996
7999
  type: "search",
@@ -8001,17 +8004,17 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8001
8004
  className: "flex h-12 w-full rounded-xl border border-white/20 bg-white/10 px-4 py-2 pr-14 text-lg text-white placeholder-white/60 shadow-2xl shadow-primary-900/20 backdrop-blur focus:border-white/30 focus:outline-none focus:ring-2 focus:ring-white/20 disabled:opacity-50",
8002
8005
  disabled: isSearching
8003
8006
  }
8004
- ), /* @__PURE__ */ React20.createElement(
8007
+ ), /* @__PURE__ */ React21.createElement(
8005
8008
  "button",
8006
8009
  {
8007
8010
  type: "submit",
8008
8011
  className: "absolute right-2 top-1/2 -translate-y-1/2 rounded-xl bg-white/20 p-3 text-white transition hover:bg-white/30 disabled:opacity-50",
8009
8012
  disabled: !searchQuery.trim() || isSearching
8010
8013
  },
8011
- isSearching ? /* @__PURE__ */ React20.createElement("div", { className: "h-5 w-5 animate-spin rounded-full border-2 border-white border-t-transparent" }) : /* @__PURE__ */ React20.createElement(Search, { className: "h-5 w-5" })
8014
+ isSearching ? /* @__PURE__ */ React21.createElement("div", { className: "h-5 w-5 animate-spin rounded-full border-2 border-white border-t-transparent" }) : /* @__PURE__ */ React21.createElement(Search, { className: "h-5 w-5" })
8012
8015
  ))
8013
8016
  )
8014
- ), /* @__PURE__ */ React20.createElement(
8017
+ ), /* @__PURE__ */ React21.createElement(
8015
8018
  motion.div,
8016
8019
  {
8017
8020
  initial: { opacity: 0, y: 24 },
@@ -8019,7 +8022,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8019
8022
  transition: { delay: 0.15 },
8020
8023
  className: "mt-12 flex flex-col gap-6 rounded-3xl border border-white/20 bg-white/10 p-6 backdrop-blur md:flex-row md:items-center md:justify-between"
8021
8024
  },
8022
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, "Explore popular searches"), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, quickSearches.map((term) => /* @__PURE__ */ React20.createElement(
8025
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, "Explore popular searches"), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, quickSearches.map((term) => /* @__PURE__ */ React21.createElement(
8023
8026
  "button",
8024
8027
  {
8025
8028
  key: term,
@@ -8029,7 +8032,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8029
8032
  },
8030
8033
  term
8031
8034
  )))),
8032
- topCategories.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "space-y-3 md:text-right" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, "Trending categories"), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap justify-start gap-2 md:justify-end" }, topCategories.map((category) => /* @__PURE__ */ React20.createElement(
8035
+ topCategories.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "space-y-3 md:text-right" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, "Trending categories"), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap justify-start gap-2 md:justify-end" }, topCategories.map((category) => /* @__PURE__ */ React21.createElement(
8033
8036
  "button",
8034
8037
  {
8035
8038
  key: category.id,
@@ -8039,9 +8042,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8039
8042
  },
8040
8043
  category.name
8041
8044
  ))))
8042
- ), /* @__PURE__ */ React20.createElement("div", { className: "mt-10 grid gap-4 md:grid-cols-3" }, insightCards.map((card, index) => {
8045
+ ), /* @__PURE__ */ React21.createElement("div", { className: "mt-10 grid gap-4 md:grid-cols-3" }, insightCards.map((card, index) => {
8043
8046
  const Icon = card.icon;
8044
- return /* @__PURE__ */ React20.createElement(
8047
+ return /* @__PURE__ */ React21.createElement(
8045
8048
  motion.div,
8046
8049
  {
8047
8050
  key: card.id,
@@ -8054,10 +8057,10 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8054
8057
  "aria-pressed": card.id === "new" ? newArrivals ? "true" : "false" : void 0,
8055
8058
  title: card.id === "new" ? newArrivals ? "Filter active: showing products from the last 30 days" : "Click to filter products from the last 30 days" : void 0
8056
8059
  },
8057
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, card.label), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-3xl font-semibold text-white" }, card.value)), /* @__PURE__ */ React20.createElement("span", { className: "rounded-full bg-white/20 p-3 text-white" }, /* @__PURE__ */ React20.createElement(Icon, { className: "h-5 w-5" }))),
8058
- /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm text-white/70" }, card.helper)
8060
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, card.label), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-3xl font-semibold text-white" }, card.value)), /* @__PURE__ */ React21.createElement("span", { className: "rounded-full bg-white/20 p-3 text-white" }, /* @__PURE__ */ React21.createElement(Icon, { className: "h-5 w-5" }))),
8061
+ /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-white/70" }, card.helper)
8059
8062
  );
8060
- })))), /* @__PURE__ */ React20.createElement("div", { className: "relative z-10 -mt-12 pb-16" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-8 lg:flex-row" }, /* @__PURE__ */ React20.createElement("aside", { className: "hidden w-72 flex-shrink-0 lg:block" }, /* @__PURE__ */ React20.createElement("div", { className: "sticky top-24 rounded-3xl border border-gray-100 bg-white p-6 shadow-xl shadow-gray-200/40" }, renderFiltersPanel())), /* @__PURE__ */ React20.createElement("main", { className: "flex-1 space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-gray-100 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-bold text-gray-900" }, "All products"), /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-sm text-gray-500" }, "Browse a pharmacy-grade catalogue with smart merchandising and modern UI.")), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center" }, /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(ArrowUpDown, { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), /* @__PURE__ */ React20.createElement(
8063
+ })))), /* @__PURE__ */ React21.createElement("div", { className: "relative z-10 -mt-12 pb-16" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-8 lg:flex-row" }, /* @__PURE__ */ React21.createElement("aside", { className: "hidden w-72 flex-shrink-0 lg:block" }, /* @__PURE__ */ React21.createElement("div", { className: "sticky top-24 rounded-3xl border border-gray-100 bg-white p-6 shadow-xl shadow-gray-200/40" }, renderFiltersPanel())), /* @__PURE__ */ React21.createElement("main", { className: "flex-1 space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-gray-100 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-bold text-gray-900" }, "All products"), /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-gray-500" }, "Browse a pharmacy-grade catalogue with smart merchandising and modern UI.")), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center" }, /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(ArrowUpDown, { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), /* @__PURE__ */ React21.createElement(
8061
8064
  "select",
8062
8065
  {
8063
8066
  value: sortOption,
@@ -8066,11 +8069,11 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8066
8069
  },
8067
8070
  className: "appearance-none rounded-xl border border-gray-200 bg-white py-2.5 pl-10 pr-9 text-sm font-medium text-gray-700 shadow-sm transition focus:border-primary-500 focus:outline-none focus:ring-2 focus:ring-primary-500/30"
8068
8071
  },
8069
- /* @__PURE__ */ React20.createElement("option", { value: "featured" }, "Featured products"),
8070
- /* @__PURE__ */ React20.createElement("option", { value: "price-low-high" }, "Price: low to high"),
8071
- /* @__PURE__ */ React20.createElement("option", { value: "price-high-low" }, "Price: high to low"),
8072
- /* @__PURE__ */ React20.createElement("option", { value: "newest" }, "Newest arrivals")
8073
- ), /* @__PURE__ */ React20.createElement(ChevronDown, { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" })), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center rounded-xl border border-gray-200 bg-white shadow-sm" }, /* @__PURE__ */ React20.createElement(
8072
+ /* @__PURE__ */ React21.createElement("option", { value: "featured" }, "Featured products"),
8073
+ /* @__PURE__ */ React21.createElement("option", { value: "price-low-high" }, "Price: low to high"),
8074
+ /* @__PURE__ */ React21.createElement("option", { value: "price-high-low" }, "Price: high to low"),
8075
+ /* @__PURE__ */ React21.createElement("option", { value: "newest" }, "Newest arrivals")
8076
+ ), /* @__PURE__ */ React21.createElement(ChevronDown, { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" })), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center rounded-xl border border-gray-200 bg-white shadow-sm" }, /* @__PURE__ */ React21.createElement(
8074
8077
  "button",
8075
8078
  {
8076
8079
  type: "button",
@@ -8078,9 +8081,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8078
8081
  className: `flex items-center gap-2 rounded-l-xl px-4 py-2 text-sm font-medium transition ${viewMode === "grid" ? "bg-primary-50 text-primary-600" : "text-gray-500 hover:text-gray-700"}`,
8079
8082
  "aria-pressed": viewMode === "grid"
8080
8083
  },
8081
- /* @__PURE__ */ React20.createElement(LayoutGrid, { className: "h-4 w-4" }),
8084
+ /* @__PURE__ */ React21.createElement(LayoutGrid, { className: "h-4 w-4" }),
8082
8085
  "Grid"
8083
- ), /* @__PURE__ */ React20.createElement(
8086
+ ), /* @__PURE__ */ React21.createElement(
8084
8087
  "button",
8085
8088
  {
8086
8089
  type: "button",
@@ -8088,19 +8091,19 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8088
8091
  className: `flex items-center gap-2 rounded-r-xl px-4 py-2 text-sm font-medium transition ${viewMode === "list" ? "bg-primary-50 text-primary-600" : "text-gray-500 hover:text-gray-700"}`,
8089
8092
  "aria-pressed": viewMode === "list"
8090
8093
  },
8091
- /* @__PURE__ */ React20.createElement(LayoutList, { className: "h-4 w-4" }),
8094
+ /* @__PURE__ */ React21.createElement(LayoutList, { className: "h-4 w-4" }),
8092
8095
  "List"
8093
- )))), /* @__PURE__ */ React20.createElement("div", { className: "mt-4 md:hidden" }, /* @__PURE__ */ React20.createElement(
8096
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "mt-4 md:hidden" }, /* @__PURE__ */ React21.createElement(
8094
8097
  Button,
8095
8098
  {
8096
8099
  variant: "outline",
8097
8100
  className: "w-full",
8098
8101
  onClick: () => setShowFilters(true)
8099
8102
  },
8100
- /* @__PURE__ */ React20.createElement(SlidersHorizontal, { className: "h-5 w-5" }),
8103
+ /* @__PURE__ */ React21.createElement(SlidersHorizontal, { className: "h-5 w-5" }),
8101
8104
  "Filters",
8102
- hasActiveFilters && /* @__PURE__ */ React20.createElement("span", { className: "ml-2 rounded-full bg-primary-600 px-2 py-0.5 text-xs font-semibold text-white" }, activeFilterChips.length)
8103
- )), hasActiveFilters && /* @__PURE__ */ React20.createElement("div", { className: "mt-6 flex flex-wrap items-center gap-2 border-t border-gray-100 pt-4" }, activeFilterChips.map((chip) => /* @__PURE__ */ React20.createElement(
8105
+ hasActiveFilters && /* @__PURE__ */ React21.createElement("span", { className: "ml-2 rounded-full bg-primary-600 px-2 py-0.5 text-xs font-semibold text-white" }, activeFilterChips.length)
8106
+ )), hasActiveFilters && /* @__PURE__ */ React21.createElement("div", { className: "mt-6 flex flex-wrap items-center gap-2 border-t border-gray-100 pt-4" }, activeFilterChips.map((chip) => /* @__PURE__ */ React21.createElement(
8104
8107
  "button",
8105
8108
  {
8106
8109
  key: chip.key,
@@ -8109,8 +8112,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8109
8112
  className: "group flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1.5 text-sm font-medium text-primary-700 transition hover:bg-primary-100"
8110
8113
  },
8111
8114
  chip.label,
8112
- /* @__PURE__ */ React20.createElement(X, { className: "h-4 w-4 text-primary-500 group-hover:text-primary-700" })
8113
- )), /* @__PURE__ */ React20.createElement(
8115
+ /* @__PURE__ */ React21.createElement(X, { className: "h-4 w-4 text-primary-500 group-hover:text-primary-700" })
8116
+ )), /* @__PURE__ */ React21.createElement(
8114
8117
  "button",
8115
8118
  {
8116
8119
  type: "button",
@@ -8118,7 +8121,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8118
8121
  className: "text-sm font-semibold text-gray-500 hover:text-gray-700"
8119
8122
  },
8120
8123
  "Reset all"
8121
- ))), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-gray-100 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-3 text-sm text-gray-600 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("span", null, isLoading ? "Loading products..." : `Showing ${displayedProducts.length} of ${pagination.total || displayedProducts.length} products`), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 text-gray-400" }, /* @__PURE__ */ React20.createElement(Clock, { className: "h-4 w-4" }), "Updated a moment ago")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6" }, isLoading ? /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3" }, Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ React20.createElement(ProductCardSkeleton, { key: index }))) : displayedProducts.length > 0 ? viewMode === "grid" ? /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3" }, displayedProducts.map((product) => /* @__PURE__ */ React20.createElement("div", { key: product.id, className: "h-full" }, /* @__PURE__ */ React20.createElement(
8124
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-gray-100 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-3 text-sm text-gray-600 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("span", null, isLoading ? "Loading products..." : `Showing ${displayedProducts.length} of ${pagination.total || displayedProducts.length} products`), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 text-gray-400" }, /* @__PURE__ */ React21.createElement(Clock, { className: "h-4 w-4" }), "Updated a moment ago")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6" }, isLoading ? /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3" }, Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ React21.createElement(ProductCardSkeleton, { key: index }))) : displayedProducts.length > 0 ? viewMode === "grid" ? /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3" }, displayedProducts.map((product) => /* @__PURE__ */ React21.createElement("div", { key: product.id, className: "h-full" }, /* @__PURE__ */ React21.createElement(
8122
8125
  ProductCard,
8123
8126
  {
8124
8127
  product,
@@ -8127,11 +8130,11 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8127
8130
  router.push(buildPath(`/products/${item.id}?product=${productData}`));
8128
8131
  }
8129
8132
  }
8130
- )))) : /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, displayedProducts.map((product) => {
8133
+ )))) : /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, displayedProducts.map((product) => {
8131
8134
  product.priceBeforeDiscount && product.priceBeforeDiscount > product.finalPrice ? Math.round(
8132
8135
  (product.priceBeforeDiscount - product.finalPrice) / product.priceBeforeDiscount * 100
8133
8136
  ) : 0;
8134
- return /* @__PURE__ */ React20.createElement(
8137
+ return /* @__PURE__ */ React21.createElement(
8135
8138
  motion.div,
8136
8139
  {
8137
8140
  key: product.id,
@@ -8139,7 +8142,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8139
8142
  className: "group flex cursor-pointer flex-col gap-6 rounded-2xl border border-gray-100 bg-white p-5 shadow-sm transition hover:shadow-xl md:flex-row md:items-start",
8140
8143
  onClick: () => router.push(buildPath(`/products/${product.id}`))
8141
8144
  },
8142
- /* @__PURE__ */ React20.createElement("div", { className: "relative h-48 w-full overflow-hidden rounded-2xl bg-gray-100 md:h-40 md:w-40" }, /* @__PURE__ */ React20.createElement(
8145
+ /* @__PURE__ */ React21.createElement("div", { className: "relative h-48 w-full overflow-hidden rounded-2xl bg-gray-100 md:h-40 md:w-40" }, /* @__PURE__ */ React21.createElement(
8143
8146
  Image3,
8144
8147
  {
8145
8148
  src: product.productMedia[0]?.file || "/placeholder-product.jpg",
@@ -8148,15 +8151,15 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8148
8151
  className: "object-cover transition duration-500 group-hover:scale-105"
8149
8152
  }
8150
8153
  )),
8151
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1 space-y-3" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-2 text-xs font-semibold uppercase tracking-wide text-primary-600" }, product.parentCategories.length > 0 && /* @__PURE__ */ React20.createElement("span", { className: "rounded-full bg-primary-50 px-3 py-1 text-primary-700" }, product.parentCategories.map((category) => category?.name).join(", ")), product.tags?.slice(0, 3).map((tag) => /* @__PURE__ */ React20.createElement(
8154
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1 space-y-3" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-2 text-xs font-semibold uppercase tracking-wide text-primary-600" }, product.parentCategories.length > 0 && /* @__PURE__ */ React21.createElement("span", { className: "rounded-full bg-primary-50 px-3 py-1 text-primary-700" }, product.parentCategories.map((category) => category?.name).join(", ")), product.tags?.slice(0, 3).map((tag) => /* @__PURE__ */ React21.createElement(
8152
8155
  "span",
8153
8156
  {
8154
8157
  key: tag,
8155
8158
  className: "rounded-full bg-slate-100 px-3 py-1 text-gray-600"
8156
8159
  },
8157
8160
  tag
8158
- ))), /* @__PURE__ */ React20.createElement("h3", { className: "text-xl font-semibold text-gray-900" }, product.name), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-4 text-sm text-gray-500" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 font-medium text-primary-600" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), product.inventoryCount > 0 ? "In stock & ready to ship" : "Restocking soon"), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2" }, /* @__PURE__ */ React20.createElement(Clock, { className: "h-4 w-4 text-primary-500" }), "Added ", new Date(product.createdAt).toLocaleDateString()))),
8159
- /* @__PURE__ */ React20.createElement("div", { className: "flex w-full flex-col items-end gap-3 md:w-auto" }, /* @__PURE__ */ React20.createElement("div", { className: "text-right" }, /* @__PURE__ */ React20.createElement("p", { className: "text-3xl font-semibold text-gray-900" }, formatPrice(product.finalPrice)), product.priceBeforeDiscount && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-400 line-through" }, formatPrice(product.priceBeforeDiscount))), /* @__PURE__ */ React20.createElement(
8161
+ ))), /* @__PURE__ */ React21.createElement("h3", { className: "text-xl font-semibold text-gray-900" }, product.name), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-4 text-sm text-gray-500" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 font-medium text-primary-600" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), product.inventoryCount > 0 ? "In stock & ready to ship" : "Restocking soon"), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2" }, /* @__PURE__ */ React21.createElement(Clock, { className: "h-4 w-4 text-primary-500" }), "Added ", new Date(product.createdAt).toLocaleDateString()))),
8162
+ /* @__PURE__ */ React21.createElement("div", { className: "flex w-full flex-col items-end gap-3 md:w-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "text-right" }, /* @__PURE__ */ React21.createElement("p", { className: "text-3xl font-semibold text-gray-900" }, formatPrice(product.finalPrice)), product.priceBeforeDiscount && /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-400 line-through" }, formatPrice(product.priceBeforeDiscount))), /* @__PURE__ */ React21.createElement(
8160
8163
  Button,
8161
8164
  {
8162
8165
  size: "sm",
@@ -8168,7 +8171,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8168
8171
  "View product"
8169
8172
  ))
8170
8173
  );
8171
- })) : /* @__PURE__ */ React20.createElement(
8174
+ })) : /* @__PURE__ */ React21.createElement(
8172
8175
  EmptyState,
8173
8176
  {
8174
8177
  icon: Package,
@@ -8177,7 +8180,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8177
8180
  actionLabel: hasActiveFilters ? "Clear filters" : void 0,
8178
8181
  onAction: hasActiveFilters ? handleClearFilters : void 0
8179
8182
  }
8180
- )), pagination.totalPages > 1 && /* @__PURE__ */ React20.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-3" }, /* @__PURE__ */ React20.createElement(
8183
+ )), pagination.totalPages > 1 && /* @__PURE__ */ React21.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-3" }, /* @__PURE__ */ React21.createElement(
8181
8184
  Button,
8182
8185
  {
8183
8186
  variant: "outline",
@@ -8185,7 +8188,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8185
8188
  disabled: page === 1
8186
8189
  },
8187
8190
  "Previous"
8188
- ), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-semibold text-gray-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React20.createElement(
8191
+ ), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-semibold text-gray-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React21.createElement(
8189
8192
  Button,
8190
8193
  {
8191
8194
  variant: "outline",
@@ -8193,7 +8196,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8193
8196
  disabled: page === pagination.totalPages
8194
8197
  },
8195
8198
  "Next"
8196
- ))))))), /* @__PURE__ */ React20.createElement(AnimatePresence, null, showFilters && /* @__PURE__ */ React20.createElement(
8199
+ ))))))), /* @__PURE__ */ React21.createElement(AnimatePresence, null, showFilters && /* @__PURE__ */ React21.createElement(
8197
8200
  motion.div,
8198
8201
  {
8199
8202
  initial: { opacity: 0 },
@@ -8201,7 +8204,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8201
8204
  exit: { opacity: 0 },
8202
8205
  className: "fixed inset-0 z-50 bg-black/40 backdrop-blur-sm lg:hidden"
8203
8206
  },
8204
- /* @__PURE__ */ React20.createElement(
8207
+ /* @__PURE__ */ React21.createElement(
8205
8208
  motion.div,
8206
8209
  {
8207
8210
  initial: { y: "100%" },
@@ -8210,14 +8213,14 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8210
8213
  transition: { type: "spring", stiffness: 260, damping: 26 },
8211
8214
  className: "absolute inset-x-0 bottom-0 max-h-[85vh] overflow-y-auto rounded-t-3xl bg-white p-6 shadow-2xl"
8212
8215
  },
8213
- /* @__PURE__ */ React20.createElement("div", { className: "mb-6 flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, "Filters"), /* @__PURE__ */ React20.createElement(
8216
+ /* @__PURE__ */ React21.createElement("div", { className: "mb-6 flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, "Filters"), /* @__PURE__ */ React21.createElement(
8214
8217
  "button",
8215
8218
  {
8216
8219
  type: "button",
8217
8220
  onClick: () => setShowFilters(false),
8218
8221
  className: "rounded-full border border-gray-200 p-2 text-gray-500 hover:text-gray-700"
8219
8222
  },
8220
- /* @__PURE__ */ React20.createElement(X, { className: "h-4 w-4" })
8223
+ /* @__PURE__ */ React21.createElement(X, { className: "h-4 w-4" })
8221
8224
  )),
8222
8225
  renderFiltersPanel()
8223
8226
  )
@@ -8236,7 +8239,7 @@ function Badge({ children, variant = "primary", size = "md", className = "" }) {
8236
8239
  sm: "px-2 py-1 text-xs",
8237
8240
  md: "px-3 py-1 text-sm"
8238
8241
  };
8239
- return /* @__PURE__ */ React20.createElement("span", { className: `inline-flex items-center font-medium rounded-full border ${variants[variant]} ${sizes[size]} ${className}` }, children);
8242
+ return /* @__PURE__ */ React21.createElement("span", { className: `inline-flex items-center font-medium rounded-full border ${variants[variant]} ${sizes[size]} ${className}` }, children);
8240
8243
  }
8241
8244
  var safeFormatDate = (date, format = "long") => {
8242
8245
  if (!date) return "N/A";
@@ -8396,10 +8399,10 @@ function ProductDetailScreen({ productId }) {
8396
8399
  }
8397
8400
  };
8398
8401
  if (isLoading) {
8399
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "h-[520px] animate-pulse rounded-3xl bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-3 gap-4" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React20.createElement("div", { key: index, className: "h-32 animate-pulse rounded-2xl bg-slate-200" })))), /* @__PURE__ */ React20.createElement("div", { className: "space-y-4 rounded-3xl bg-white p-6 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "h-8 w-32 animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "h-10 w-48 animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "h-6 w-full animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "h-12 w-full animate-pulse rounded-2xl bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "h-12 w-full animate-pulse rounded-2xl bg-slate-200" })))));
8402
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "h-[520px] animate-pulse rounded-3xl bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-4" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21.createElement("div", { key: index, className: "h-32 animate-pulse rounded-2xl bg-slate-200" })))), /* @__PURE__ */ React21.createElement("div", { className: "space-y-4 rounded-3xl bg-white p-6 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "h-8 w-32 animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "h-10 w-48 animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "h-6 w-full animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "h-12 w-full animate-pulse rounded-2xl bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "h-12 w-full animate-pulse rounded-2xl bg-slate-200" })))));
8400
8403
  }
8401
8404
  if (!product) {
8402
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl bg-white p-10 text-center shadow-sm" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "mx-auto h-10 w-10 text-primary-500" }), /* @__PURE__ */ React20.createElement("h1", { className: "mt-6 text-2xl font-semibold text-gray-900" }, "Product not found"), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-gray-600" }, "It may have been removed or is temporarily unavailable. Discover other pharmacy essentials in our catalogue."), /* @__PURE__ */ React20.createElement("div", { className: "mt-6" }, /* @__PURE__ */ React20.createElement(Link8, { href: "/shop", className: "inline-block" }, /* @__PURE__ */ React20.createElement(Button, null, "Browse products"))))));
8405
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl bg-white p-10 text-center shadow-sm" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "mx-auto h-10 w-10 text-primary-500" }), /* @__PURE__ */ React21.createElement("h1", { className: "mt-6 text-2xl font-semibold text-gray-900" }, "Product not found"), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-gray-600" }, "It may have been removed or is temporarily unavailable. Discover other pharmacy essentials in our catalogue."), /* @__PURE__ */ React21.createElement("div", { className: "mt-6" }, /* @__PURE__ */ React21.createElement(Link8, { href: "/shop", className: "inline-block" }, /* @__PURE__ */ React21.createElement(Button, null, "Browse products"))))));
8403
8406
  }
8404
8407
  product.tags && product.tags.length > 0 ? product.tags.slice(0, 6) : ["Pharmacist approved", "Gentle on daily routines", "Backed by real customers"];
8405
8408
  const highlightCards = [
@@ -8419,29 +8422,29 @@ function ProductDetailScreen({ productId }) {
8419
8422
  description: "Average rating 4.8/5 with over 120 verified customer experiences."
8420
8423
  }
8421
8424
  ];
8422
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement(
8425
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement(
8423
8426
  "div",
8424
8427
  {
8425
8428
  className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]",
8426
8429
  "aria-hidden": "true"
8427
8430
  }
8428
- ), /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,_rgba(255,255,255,0.25),_transparent_55%)] opacity-70" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement(
8431
+ ), /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,_rgba(255,255,255,0.25),_transparent_55%)] opacity-70" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement(
8429
8432
  Button,
8430
8433
  {
8431
8434
  variant: "ghost",
8432
8435
  className: "text-white hover:bg-white/10",
8433
8436
  onClick: () => router.push(buildPath("/shop"))
8434
8437
  },
8435
- /* @__PURE__ */ React20.createElement(ArrowLeft, { className: "h-5 w-5" }),
8438
+ /* @__PURE__ */ React21.createElement(ArrowLeft, { className: "h-5 w-5" }),
8436
8439
  "Continue shopping"
8437
- ), /* @__PURE__ */ React20.createElement("div", { className: "hidden items-center gap-3 text-sm text-white/80 md:flex" }, /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/"), className: "transition hover:text-white" }, "Home"), /* @__PURE__ */ React20.createElement(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/shop"), className: "transition hover:text-white" }, "Shop"), /* @__PURE__ */ React20.createElement(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ React20.createElement("span", { className: "truncate font-medium text-white" }, product.name))), /* @__PURE__ */ React20.createElement(
8440
+ ), /* @__PURE__ */ React21.createElement("div", { className: "hidden items-center gap-3 text-sm text-white/80 md:flex" }, /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/"), className: "transition hover:text-white" }, "Home"), /* @__PURE__ */ React21.createElement(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/shop"), className: "transition hover:text-white" }, "Shop"), /* @__PURE__ */ React21.createElement(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ React21.createElement("span", { className: "truncate font-medium text-white" }, product.name))), /* @__PURE__ */ React21.createElement(
8438
8441
  motion.div,
8439
8442
  {
8440
8443
  initial: { opacity: 0, y: 24 },
8441
8444
  animate: { opacity: 1, y: 0 },
8442
8445
  className: "max-w-3xl space-y-4"
8443
8446
  },
8444
- product.category && /* @__PURE__ */ React20.createElement(
8447
+ product.category && /* @__PURE__ */ React21.createElement(
8445
8448
  Badge,
8446
8449
  {
8447
8450
  variant: "secondary",
@@ -8449,9 +8452,9 @@ function ProductDetailScreen({ productId }) {
8449
8452
  },
8450
8453
  product.category
8451
8454
  ),
8452
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-5xl" }, product.name),
8453
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-3 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 font-medium text-white" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4" }), "Ready to ship today"), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 font-medium text-white" }, /* @__PURE__ */ React20.createElement(Shield, { className: "h-4 w-4" }), "30-day happiness guarantee"))
8454
- )))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-10" }, /* @__PURE__ */ React20.createElement("section", { className: "rounded-3xl border border-white bg-white/70 p-6 shadow-xl shadow-primary-100/40 backdrop-blur" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-6 lg:grid-cols-[minmax(0,1fr)_220px]" }, /* @__PURE__ */ React20.createElement(
8455
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-5xl" }, product.name),
8456
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-3 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 font-medium text-white" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4" }), "Ready to ship today"), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 font-medium text-white" }, /* @__PURE__ */ React21.createElement(Shield, { className: "h-4 w-4" }), "30-day happiness guarantee"))
8457
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-10" }, /* @__PURE__ */ React21.createElement("section", { className: "rounded-3xl border border-white bg-white/70 p-6 shadow-xl shadow-primary-100/40 backdrop-blur" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-6 lg:grid-cols-[minmax(0,1fr)_220px]" }, /* @__PURE__ */ React21.createElement(
8455
8458
  motion.div,
8456
8459
  {
8457
8460
  key: variantImages[activeImageIndex],
@@ -8460,7 +8463,7 @@ function ProductDetailScreen({ productId }) {
8460
8463
  transition: { duration: 0.35 },
8461
8464
  className: "relative overflow-hidden rounded-3xl bg-slate-100 h-[420px] md:h-[560px]"
8462
8465
  },
8463
- /* @__PURE__ */ React20.createElement(
8466
+ /* @__PURE__ */ React21.createElement(
8464
8467
  Image3,
8465
8468
  {
8466
8469
  src: variantImages[activeImageIndex],
@@ -8471,7 +8474,7 @@ function ProductDetailScreen({ productId }) {
8471
8474
  className: "object-contain"
8472
8475
  }
8473
8476
  ),
8474
- discount > 0 && /* @__PURE__ */ React20.createElement(
8477
+ discount > 0 && /* @__PURE__ */ React21.createElement(
8475
8478
  Badge,
8476
8479
  {
8477
8480
  variant: "danger",
@@ -8481,7 +8484,7 @@ function ProductDetailScreen({ productId }) {
8481
8484
  discount,
8482
8485
  "%"
8483
8486
  ),
8484
- !variantInStock && /* @__PURE__ */ React20.createElement(
8487
+ !variantInStock && /* @__PURE__ */ React21.createElement(
8485
8488
  Badge,
8486
8489
  {
8487
8490
  variant: "secondary",
@@ -8489,7 +8492,7 @@ function ProductDetailScreen({ productId }) {
8489
8492
  },
8490
8493
  "Out of Stock"
8491
8494
  )
8492
- ), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4" }, product?.productVariants?.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "mb-2 text-sm font-semibold uppercase tracking-[0.25em] text-slate-400" }, "Variant"), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, product?.productVariants?.map((variant, index) => /* @__PURE__ */ React20.createElement(
8495
+ ), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4" }, product?.productVariants?.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "mb-2 text-sm font-semibold uppercase tracking-[0.25em] text-slate-400" }, "Variant"), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, product?.productVariants?.map((variant, index) => /* @__PURE__ */ React21.createElement(
8493
8496
  "button",
8494
8497
  {
8495
8498
  key: variant.id,
@@ -8498,7 +8501,7 @@ function ProductDetailScreen({ productId }) {
8498
8501
  className: `rounded-full px-4 py-2 text-sm font-medium transition ${selectedVariant?.id === variant.id ? "bg-primary-600 text-white" : "bg-slate-100 text-slate-700 hover:bg-slate-200"}`
8499
8502
  },
8500
8503
  variant.name
8501
- )))), /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-3 gap-3" }, variantImages.map((image, index) => /* @__PURE__ */ React20.createElement(
8504
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-3" }, variantImages.map((image, index) => /* @__PURE__ */ React21.createElement(
8502
8505
  "button",
8503
8506
  {
8504
8507
  key: image.src + index,
@@ -8506,7 +8509,7 @@ function ProductDetailScreen({ productId }) {
8506
8509
  onClick: () => setActiveImageIndex(index),
8507
8510
  className: `relative aspect-square overflow-hidden rounded-2xl border transition ${activeImageIndex === index ? "border-primary-500 shadow-lg shadow-primary-200/60" : "border-transparent hover:border-primary-200"}`
8508
8511
  },
8509
- /* @__PURE__ */ React20.createElement(
8512
+ /* @__PURE__ */ React21.createElement(
8510
8513
  Image3,
8511
8514
  {
8512
8515
  src: image.src,
@@ -8517,18 +8520,18 @@ function ProductDetailScreen({ productId }) {
8517
8520
  unoptimized: true
8518
8521
  }
8519
8522
  )
8520
- )))))), /* @__PURE__ */ React20.createElement("section", { className: "grid gap-6 lg:grid-cols-3" }, highlightCards.map((card) => {
8523
+ )))))), /* @__PURE__ */ React21.createElement("section", { className: "grid gap-6 lg:grid-cols-3" }, highlightCards.map((card) => {
8521
8524
  const Icon = card.icon;
8522
- return /* @__PURE__ */ React20.createElement(
8525
+ return /* @__PURE__ */ React21.createElement(
8523
8526
  "div",
8524
8527
  {
8525
8528
  key: card.title,
8526
8529
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-sm transition hover:-translate-y-1 hover:shadow-lg"
8527
8530
  },
8528
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement("span", { className: "rounded-2xl bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React20.createElement(Icon, { className: "h-5 w-5" })), /* @__PURE__ */ React20.createElement("h3", { className: "text-base font-semibold text-slate-900" }, card.title)),
8529
- /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm leading-relaxed text-slate-600" }, card.description)
8531
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement("span", { className: "rounded-2xl bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React21.createElement(Icon, { className: "h-5 w-5" })), /* @__PURE__ */ React21.createElement("h3", { className: "text-base font-semibold text-slate-900" }, card.title)),
8532
+ /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm leading-relaxed text-slate-600" }, card.description)
8530
8533
  );
8531
- })), /* @__PURE__ */ React20.createElement("section", { className: "grid gap-6 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-4 pb-6" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-1 text-amber-500" }, Array.from({ length: 5 }).map((_, index) => /* @__PURE__ */ React20.createElement(Star, { key: index, className: "h-4 w-4 fill-current" }))), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-medium text-slate-500" }, "Rated 4.8 \u2022 Patients love the results")), /* @__PURE__ */ React20.createElement("div", { className: "space-y-8" }, product.description && /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "Description"), /* @__PURE__ */ React20.createElement("p", { className: "text-base leading-relaxed text-slate-600", dangerouslySetInnerHTML: { __html: product.description } })))), /* @__PURE__ */ React20.createElement("div", { className: "h-full rounded-3xl border border-slate-100 bg-gradient-to-br from-primary-50 via-white to-secondary-50 p-8 shadow-sm" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-primary-500" }, "Care tips"), /* @__PURE__ */ React20.createElement("div", { className: "mt-4 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("p", { className: "leading-relaxed" }, "Store in a cool, dry place away from direct sunlight. Check packaging for allergen statements."), /* @__PURE__ */ React20.createElement("p", { className: "leading-relaxed" }, "Consult with your local pharmacist if you are combining with other treatments or have chronic conditions."), /* @__PURE__ */ React20.createElement("p", { className: "rounded-2xl bg-white/60 p-4 leading-relaxed text-primary-700" }, "Questions? Our care team is on standby \u2014 reach us via chat for tailored support before you checkout.")))), /* @__PURE__ */ React20.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-sm" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Product insights"), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 grid gap-6 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl border border-slate-200 bg-slate-50/60 p-5" }, /* @__PURE__ */ React20.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-slate-500" }, "Availability"), /* @__PURE__ */ React20.createElement("div", { className: "mt-3 flex items-center gap-2 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement(Check, { className: "h-4 w-4 text-primary-500" }), product.inStock ? "Available for dispatch today" : "Currently restocking"), product.stock !== void 0 && /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-xs text-slate-500" }, product.stock > 0 ? `${product.stock} units remaining in inventory` : "Join the waitlist to be notified first")), /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl border border-slate-200 bg-slate-50/60 p-5" }, /* @__PURE__ */ React20.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-slate-500" }, "Product details"), /* @__PURE__ */ React20.createElement("div", { className: "mt-3 space-y-2 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "Variant:"), " ", currentVariant.name), /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "SKU:"), " ", variantSku), /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "Status:"), " ", /* @__PURE__ */ React20.createElement("span", { className: variantInStock ? "text-green-600" : "text-amber-600" }, variantInStock ? "In Stock" : "Out of Stock")), /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "Last updated:"), " ", lastUpdatedLabel), /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "Ships from:"), " Local pharmacy distribution center")))))), /* @__PURE__ */ React20.createElement("aside", { className: "space-y-6 lg:sticky lg:top-24" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-100/40" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-baseline gap-3" }, /* @__PURE__ */ React20.createElement("p", { className: "text-3xl font-bold text-slate-900" }, selectedVariant ? formatPrice(selectedVariant.finalPrice) : formatPrice(product.price)), variantComparePrice && variantComparePrice > variantPrice && /* @__PURE__ */ React20.createElement("p", { className: "text-base text-slate-400 line-through" }, formatPrice(variantComparePrice)), discount > 0 && /* @__PURE__ */ React20.createElement(Badge, { variant: "danger", size: "sm" }, "-", discount, "%")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-y-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 rounded-2xl bg-primary-50/80 px-4 py-3 text-sm font-medium text-primary-700" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), "Pharmacist verified product"), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between rounded-2xl border border-slate-200 px-4 py-3" }, /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-medium text-slate-600" }, "Qty"), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React20.createElement(
8534
+ })), /* @__PURE__ */ React21.createElement("section", { className: "grid gap-6 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-4 pb-6" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-1 text-amber-500" }, Array.from({ length: 5 }).map((_, index) => /* @__PURE__ */ React21.createElement(Star, { key: index, className: "h-4 w-4 fill-current" }))), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-medium text-slate-500" }, "Rated 4.8 \u2022 Patients love the results")), /* @__PURE__ */ React21.createElement("div", { className: "space-y-8" }, product.description && /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "Description"), /* @__PURE__ */ React21.createElement("p", { className: "text-base leading-relaxed text-slate-600", dangerouslySetInnerHTML: { __html: product.description } })))), /* @__PURE__ */ React21.createElement("div", { className: "h-full rounded-3xl border border-slate-100 bg-gradient-to-br from-primary-50 via-white to-secondary-50 p-8 shadow-sm" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-primary-500" }, "Care tips"), /* @__PURE__ */ React21.createElement("div", { className: "mt-4 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("p", { className: "leading-relaxed" }, "Store in a cool, dry place away from direct sunlight. Check packaging for allergen statements."), /* @__PURE__ */ React21.createElement("p", { className: "leading-relaxed" }, "Consult with your local pharmacist if you are combining with other treatments or have chronic conditions."), /* @__PURE__ */ React21.createElement("p", { className: "rounded-2xl bg-white/60 p-4 leading-relaxed text-primary-700" }, "Questions? Our care team is on standby \u2014 reach us via chat for tailored support before you checkout.")))), /* @__PURE__ */ React21.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-sm" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Product insights"), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 grid gap-6 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl border border-slate-200 bg-slate-50/60 p-5" }, /* @__PURE__ */ React21.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-slate-500" }, "Availability"), /* @__PURE__ */ React21.createElement("div", { className: "mt-3 flex items-center gap-2 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement(Check, { className: "h-4 w-4 text-primary-500" }), product.inStock ? "Available for dispatch today" : "Currently restocking"), product.stock !== void 0 && /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-xs text-slate-500" }, product.stock > 0 ? `${product.stock} units remaining in inventory` : "Join the waitlist to be notified first")), /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl border border-slate-200 bg-slate-50/60 p-5" }, /* @__PURE__ */ React21.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-slate-500" }, "Product details"), /* @__PURE__ */ React21.createElement("div", { className: "mt-3 space-y-2 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "Variant:"), " ", currentVariant.name), /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "SKU:"), " ", variantSku), /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "Status:"), " ", /* @__PURE__ */ React21.createElement("span", { className: variantInStock ? "text-green-600" : "text-amber-600" }, variantInStock ? "In Stock" : "Out of Stock")), /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "Last updated:"), " ", lastUpdatedLabel), /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "Ships from:"), " Local pharmacy distribution center")))))), /* @__PURE__ */ React21.createElement("aside", { className: "space-y-6 lg:sticky lg:top-24" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-100/40" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-baseline gap-3" }, /* @__PURE__ */ React21.createElement("p", { className: "text-3xl font-bold text-slate-900" }, selectedVariant ? formatPrice(selectedVariant.finalPrice) : formatPrice(product.price)), variantComparePrice && variantComparePrice > variantPrice && /* @__PURE__ */ React21.createElement("p", { className: "text-base text-slate-400 line-through" }, formatPrice(variantComparePrice)), discount > 0 && /* @__PURE__ */ React21.createElement(Badge, { variant: "danger", size: "sm" }, "-", discount, "%")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-y-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 rounded-2xl bg-primary-50/80 px-4 py-3 text-sm font-medium text-primary-700" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), "Pharmacist verified product"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between rounded-2xl border border-slate-200 px-4 py-3" }, /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-medium text-slate-600" }, "Qty"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React21.createElement(
8532
8535
  "button",
8533
8536
  {
8534
8537
  type: "button",
@@ -8536,8 +8539,8 @@ function ProductDetailScreen({ productId }) {
8536
8539
  className: "rounded-l-full p-2 hover:bg-primary-100/60",
8537
8540
  "aria-label": "Decrease quantity"
8538
8541
  },
8539
- /* @__PURE__ */ React20.createElement(Minus, { className: "h-4 w-4" })
8540
- ), /* @__PURE__ */ React20.createElement("span", { className: "w-12 text-center text-sm font-semibold text-slate-700" }, quantity), /* @__PURE__ */ React20.createElement(
8542
+ /* @__PURE__ */ React21.createElement(Minus, { className: "h-4 w-4" })
8543
+ ), /* @__PURE__ */ React21.createElement("span", { className: "w-12 text-center text-sm font-semibold text-slate-700" }, quantity), /* @__PURE__ */ React21.createElement(
8541
8544
  "button",
8542
8545
  {
8543
8546
  type: "button",
@@ -8545,8 +8548,8 @@ function ProductDetailScreen({ productId }) {
8545
8548
  className: "rounded-r-full p-2 hover:bg-primary-100/60",
8546
8549
  "aria-label": "Increase quantity"
8547
8550
  },
8548
- /* @__PURE__ */ React20.createElement(Plus, { className: "h-4 w-4" })
8549
- )))), selectedVariant && /* @__PURE__ */ React20.createElement("div", { className: "mt-4 text-sm" }, selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ || selectedVariant.inventoryStatus === "LOW_STOCK" /* LOWSTOCK */ ? /* @__PURE__ */ React20.createElement("div", { className: "text-red-600 font-medium" }, "Out of Stock") : /* @__PURE__ */ React20.createElement("div", { className: "text-green-600 font-medium" }, "In Stock")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-x-3" }, /* @__PURE__ */ React20.createElement(
8551
+ /* @__PURE__ */ React21.createElement(Plus, { className: "h-4 w-4" })
8552
+ )))), selectedVariant && /* @__PURE__ */ React21.createElement("div", { className: "mt-4 text-sm" }, selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ || selectedVariant.inventoryStatus === "LOW_STOCK" /* LOWSTOCK */ ? /* @__PURE__ */ React21.createElement("div", { className: "text-red-600 font-medium" }, "Out of Stock") : /* @__PURE__ */ React21.createElement("div", { className: "text-green-600 font-medium" }, "In Stock")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-x-3" }, /* @__PURE__ */ React21.createElement(
8550
8553
  Button,
8551
8554
  {
8552
8555
  size: "lg",
@@ -8555,9 +8558,9 @@ function ProductDetailScreen({ productId }) {
8555
8558
  isLoading: isAddingToCart,
8556
8559
  disabled: !selectedVariant || selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */
8557
8560
  },
8558
- /* @__PURE__ */ React20.createElement(ShoppingCart, { className: "h-5 w-5" }),
8561
+ /* @__PURE__ */ React21.createElement(ShoppingCart, { className: "h-5 w-5" }),
8559
8562
  !selectedVariant ? "Select a variant" : selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ ? "Out of Stock" : `Add to Cart`
8560
- ), /* @__PURE__ */ React20.createElement(
8563
+ ), /* @__PURE__ */ React21.createElement(
8561
8564
  Button,
8562
8565
  {
8563
8566
  size: "lg",
@@ -8565,14 +8568,14 @@ function ProductDetailScreen({ productId }) {
8565
8568
  className: "w-full",
8566
8569
  onClick: handleToggleFavorite
8567
8570
  },
8568
- /* @__PURE__ */ React20.createElement(
8571
+ /* @__PURE__ */ React21.createElement(
8569
8572
  Heart,
8570
8573
  {
8571
8574
  className: `h-5 w-5 ${isFavorited ? "fill-red-500 text-red-500" : "text-slate-500"}`
8572
8575
  }
8573
8576
  ),
8574
8577
  isFavorited ? "Saved" : "Save for later"
8575
- ))), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.25em]" }, "Need advice?"), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 leading-relaxed" }, "Chat with a pharmacist in real time before completing your purchase. We will help you choose supporting supplements and answer dosing questions.")))), relatedProducts.length > 0 && /* @__PURE__ */ React20.createElement("section", { className: "mt-20" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "You may also like"), /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-sm text-slate-500" }, "Hand-picked recommendations that pair nicely with this product.")), /* @__PURE__ */ React20.createElement(Link8, { href: "/shop", className: "hidden md:inline-flex" }, /* @__PURE__ */ React20.createElement(Button, { variant: "ghost", className: "text-primary-600" }, "View all products"))), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 grid gap-6 sm:grid-cols-2 lg:grid-cols-4" }, relatedProducts?.map((relatedProduct) => /* @__PURE__ */ React20.createElement(ProductCard, { key: relatedProduct.id, product: relatedProduct })))))));
8578
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.25em]" }, "Need advice?"), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 leading-relaxed" }, "Chat with a pharmacist in real time before completing your purchase. We will help you choose supporting supplements and answer dosing questions.")))), relatedProducts.length > 0 && /* @__PURE__ */ React21.createElement("section", { className: "mt-20" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "You may also like"), /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-slate-500" }, "Hand-picked recommendations that pair nicely with this product.")), /* @__PURE__ */ React21.createElement(Link8, { href: "/shop", className: "hidden md:inline-flex" }, /* @__PURE__ */ React21.createElement(Button, { variant: "ghost", className: "text-primary-600" }, "View all products"))), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 grid gap-6 sm:grid-cols-2 lg:grid-cols-4" }, relatedProducts?.map((relatedProduct) => /* @__PURE__ */ React21.createElement(ProductCard, { key: relatedProduct.id, product: relatedProduct })))))));
8576
8579
  }
8577
8580
  function CartItem({ item }) {
8578
8581
  const { updateQuantity, removeFromCart } = useCart();
@@ -8590,7 +8593,7 @@ function CartItem({ item }) {
8590
8593
  await removeFromCart(item.productVariantId);
8591
8594
  };
8592
8595
  const itemTotal = item.productVariantData.finalPrice * item.quantity;
8593
- return /* @__PURE__ */ React20.createElement(
8596
+ return /* @__PURE__ */ React21.createElement(
8594
8597
  motion.div,
8595
8598
  {
8596
8599
  layout: true,
@@ -8599,7 +8602,7 @@ function CartItem({ item }) {
8599
8602
  exit: { opacity: 0, x: -100 },
8600
8603
  className: "flex gap-4 bg-white p-4 rounded-xl border border-gray-200 hover:border-primary-300 transition-colors"
8601
8604
  },
8602
- /* @__PURE__ */ React20.createElement("div", { className: "relative w-24 h-24 rounded-lg overflow-hidden flex-shrink-0 bg-gray-100" }, /* @__PURE__ */ React20.createElement(
8605
+ /* @__PURE__ */ React21.createElement("div", { className: "relative w-24 h-24 rounded-lg overflow-hidden flex-shrink-0 bg-gray-100" }, /* @__PURE__ */ React21.createElement(
8603
8606
  Image3,
8604
8607
  {
8605
8608
  src: item.productVariantData.productMedia[0]?.file || "/placeholder-product.jpg",
@@ -8608,32 +8611,32 @@ function CartItem({ item }) {
8608
8611
  className: "object-cover"
8609
8612
  }
8610
8613
  )),
8611
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-500 mt-1" }, formatPrice(item.productVariantData.finalPrice), " each"), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 mt-3" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center border-2 border-gray-200 rounded-lg" }, /* @__PURE__ */ React20.createElement(
8614
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-500 mt-1" }, formatPrice(item.productVariantData.finalPrice), " each"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 mt-3" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center border-2 border-gray-200 rounded-lg" }, /* @__PURE__ */ React21.createElement(
8612
8615
  "button",
8613
8616
  {
8614
8617
  onClick: () => handleUpdateQuantity(item.quantity - 1),
8615
8618
  disabled: isUpdating || item.quantity <= 0,
8616
8619
  className: "p-2 hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
8617
8620
  },
8618
- /* @__PURE__ */ React20.createElement(Minus, { className: "w-4 h-4" })
8619
- ), /* @__PURE__ */ React20.createElement("span", { className: "px-4 font-medium min-w-[3rem] text-center" }, isUpdating ? /* @__PURE__ */ React20.createElement("span", { className: "inline-block h-4 w-4 align-middle animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) : item.quantity), /* @__PURE__ */ React20.createElement(
8621
+ /* @__PURE__ */ React21.createElement(Minus, { className: "w-4 h-4" })
8622
+ ), /* @__PURE__ */ React21.createElement("span", { className: "px-4 font-medium min-w-[3rem] text-center" }, isUpdating ? /* @__PURE__ */ React21.createElement("span", { className: "inline-block h-4 w-4 align-middle animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) : item.quantity), /* @__PURE__ */ React21.createElement(
8620
8623
  "button",
8621
8624
  {
8622
8625
  onClick: () => handleUpdateQuantity(item.quantity + 1),
8623
8626
  disabled: isUpdating || item.quantity >= item.productVariantData.inventoryCount,
8624
8627
  className: "p-2 hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
8625
8628
  },
8626
- /* @__PURE__ */ React20.createElement(Plus, { className: "w-4 h-4" })
8627
- )), /* @__PURE__ */ React20.createElement(
8629
+ /* @__PURE__ */ React21.createElement(Plus, { className: "w-4 h-4" })
8630
+ )), /* @__PURE__ */ React21.createElement(
8628
8631
  "button",
8629
8632
  {
8630
8633
  onClick: handleRemove,
8631
8634
  className: "p-2 text-red-600 hover:bg-red-50 rounded-lg transition-colors",
8632
8635
  "aria-label": "Remove item"
8633
8636
  },
8634
- /* @__PURE__ */ React20.createElement(Trash2, { className: "w-5 h-5" })
8637
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "w-5 h-5" })
8635
8638
  ))),
8636
- /* @__PURE__ */ React20.createElement("div", { className: "text-right" }, /* @__PURE__ */ React20.createElement("p", { className: "text-xl font-bold text-gray-900" }, formatPrice(itemTotal)))
8639
+ /* @__PURE__ */ React21.createElement("div", { className: "text-right" }, /* @__PURE__ */ React21.createElement("p", { className: "text-xl font-bold text-gray-900" }, formatPrice(itemTotal)))
8637
8640
  );
8638
8641
  }
8639
8642
  function CartScreen() {
@@ -8641,7 +8644,7 @@ function CartScreen() {
8641
8644
  const { cart, isLoading } = useCart();
8642
8645
  const { buildPath } = useBasePath();
8643
8646
  if (!cart || cart.cartBody.items.length === 0) {
8644
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-gradient-to-br from-primary-700 via-primary-600 to-secondary-600 flex items-center justify-center" }, /* @__PURE__ */ React20.createElement("div", { className: "mx-auto px-20 py-5 bg-white rounded-3xl" }, /* @__PURE__ */ React20.createElement(
8647
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-gradient-to-br from-primary-700 via-primary-600 to-secondary-600 flex items-center justify-center" }, /* @__PURE__ */ React21.createElement("div", { className: "mx-auto px-20 py-5 bg-white rounded-3xl" }, /* @__PURE__ */ React21.createElement(
8645
8648
  EmptyState,
8646
8649
  {
8647
8650
  icon: ShoppingBag,
@@ -8656,16 +8659,16 @@ function CartScreen() {
8656
8659
  const shipping = 0;
8657
8660
  const tax = 0;
8658
8661
  const total = subtotal + shipping + tax;
8659
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16 mb-8" }, /* @__PURE__ */ React20.createElement(
8662
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16 mb-8" }, /* @__PURE__ */ React21.createElement(
8660
8663
  motion.div,
8661
8664
  {
8662
8665
  initial: { opacity: 0, y: 24 },
8663
8666
  animate: { opacity: 1, y: 0 },
8664
8667
  className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between"
8665
8668
  },
8666
- /* @__PURE__ */ React20.createElement("div", { className: "max-w-2xl space-y-4" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold tracking-wide text-white/80 backdrop-blur" }, /* @__PURE__ */ React20.createElement(HeartPulse, { className: "h-4 w-4" }), "Wellness essentials, ready when you are"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Your curated cart"), /* @__PURE__ */ React20.createElement("p", { className: "text-white/75 md:text-lg" }, "Review your selections, unlock exclusive perks, and check out with pharmacist-backed confidence.")),
8667
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur-md" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Cart summary"), /* @__PURE__ */ React20.createElement("p", { className: "mt-4 text-4xl font-semibold" }, formatPrice(total)), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/70" }, "Taxes and shipping calculated below"))
8668
- ))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement(
8669
+ /* @__PURE__ */ React21.createElement("div", { className: "max-w-2xl space-y-4" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold tracking-wide text-white/80 backdrop-blur" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-4 w-4" }), "Wellness essentials, ready when you are"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Your curated cart"), /* @__PURE__ */ React21.createElement("p", { className: "text-white/75 md:text-lg" }, "Review your selections, unlock exclusive perks, and check out with pharmacist-backed confidence.")),
8670
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur-md" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Cart summary"), /* @__PURE__ */ React21.createElement("p", { className: "mt-4 text-4xl font-semibold" }, formatPrice(total)), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/70" }, "Taxes and shipping calculated below"))
8671
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement(
8669
8672
  motion.section,
8670
8673
  {
8671
8674
  initial: { opacity: 0, y: 24 },
@@ -8673,10 +8676,10 @@ function CartScreen() {
8673
8676
  transition: { delay: 0.05 },
8674
8677
  className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
8675
8678
  },
8676
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center justify-between gap-4" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Items (", cart.cartBody.items.length, ")"), /* @__PURE__ */ React20.createElement("div", { className: "inline-flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary-700" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), "Guaranteed cold-chain handling")),
8677
- isLoading && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2 rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-block h-3 w-3 animate-spin rounded-full border-2 border-slate-300 border-t-slate-600" }), "Updating cart\u2026"),
8678
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-5" }, cart.cartBody.items.map((item) => /* @__PURE__ */ React20.createElement(CartItem, { key: item.productVariantId, item })))
8679
- ), /* @__PURE__ */ React20.createElement(
8679
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center justify-between gap-4" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Items (", cart.cartBody.items.length, ")"), /* @__PURE__ */ React21.createElement("div", { className: "inline-flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary-700" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), "Guaranteed cold-chain handling")),
8680
+ isLoading && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2 rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-block h-3 w-3 animate-spin rounded-full border-2 border-slate-300 border-t-slate-600" }), "Updating cart\u2026"),
8681
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-5" }, cart.cartBody.items.map((item) => /* @__PURE__ */ React21.createElement(CartItem, { key: item.productVariantId, item })))
8682
+ ), /* @__PURE__ */ React21.createElement(
8680
8683
  motion.aside,
8681
8684
  {
8682
8685
  initial: { opacity: 0, y: 24 },
@@ -8684,7 +8687,7 @@ function CartScreen() {
8684
8687
  transition: { delay: 0.1 },
8685
8688
  className: "space-y-6 lg:sticky lg:top-28"
8686
8689
  },
8687
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Checkout summary"), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold text-primary-700" }, /* @__PURE__ */ React20.createElement(BadgePercent, { className: "h-4 w-4" }), "Savings applied")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Subtotal"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold text-slate-900" }, formatPrice(subtotal))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Shipping"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold" }, "Will be calculated at checkout")), /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between text-base font-semibold text-slate-900" }, /* @__PURE__ */ React20.createElement("span", null, "Order total"), /* @__PURE__ */ React20.createElement("span", null, formatPrice(total))), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-xs text-slate-500" }, "Prices include pharmacy-grade quality control and packaging."))), /* @__PURE__ */ React20.createElement(
8690
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Checkout summary"), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold text-primary-700" }, /* @__PURE__ */ React21.createElement(BadgePercent, { className: "h-4 w-4" }), "Savings applied")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Subtotal"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-slate-900" }, formatPrice(subtotal))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Shipping"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold" }, "Will be calculated at checkout")), /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between text-base font-semibold text-slate-900" }, /* @__PURE__ */ React21.createElement("span", null, "Order total"), /* @__PURE__ */ React21.createElement("span", null, formatPrice(total))), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-xs text-slate-500" }, "Prices include pharmacy-grade quality control and packaging."))), /* @__PURE__ */ React21.createElement(
8688
8691
  Button,
8689
8692
  {
8690
8693
  size: "lg",
@@ -8692,8 +8695,8 @@ function CartScreen() {
8692
8695
  onClick: () => router.push(buildPath("/checkout"))
8693
8696
  },
8694
8697
  "Secure checkout",
8695
- /* @__PURE__ */ React20.createElement(ArrowRight, { className: "h-5 w-5" })
8696
- ), /* @__PURE__ */ React20.createElement(
8698
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-5 w-5" })
8699
+ ), /* @__PURE__ */ React21.createElement(
8697
8700
  "button",
8698
8701
  {
8699
8702
  type: "button",
@@ -8702,7 +8705,7 @@ function CartScreen() {
8702
8705
  },
8703
8706
  "Continue shopping"
8704
8707
  )),
8705
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Need help?"), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 leading-relaxed" }, "Chat with a pharmacist to optimize your regimen or discuss substitutions before you check out."))
8708
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Need help?"), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 leading-relaxed" }, "Chat with a pharmacist to optimize your regimen or discuss substitutions before you check out."))
8706
8709
  )))));
8707
8710
  }
8708
8711
  function useAddresses() {
@@ -8764,7 +8767,7 @@ function useAddresses() {
8764
8767
  };
8765
8768
  }
8766
8769
  function Card({ className = "", ...props }) {
8767
- return /* @__PURE__ */ React20.createElement(
8770
+ return /* @__PURE__ */ React21.createElement(
8768
8771
  "div",
8769
8772
  {
8770
8773
  className: `rounded-lg border bg-white shadow-sm ${className}`,
@@ -8790,7 +8793,7 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8790
8793
  lg: "max-w-2xl",
8791
8794
  xl: "max-w-4xl"
8792
8795
  };
8793
- return /* @__PURE__ */ React20.createElement(AnimatePresence, null, isOpen && /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement(
8796
+ return /* @__PURE__ */ React21.createElement(AnimatePresence, null, isOpen && /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement(
8794
8797
  motion.div,
8795
8798
  {
8796
8799
  initial: { opacity: 0 },
@@ -8799,7 +8802,7 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8799
8802
  onClick: onClose,
8800
8803
  className: "fixed inset-0 bg-black/50 backdrop-blur-sm z-50"
8801
8804
  }
8802
- ), /* @__PURE__ */ React20.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4" }, /* @__PURE__ */ React20.createElement(
8805
+ ), /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4" }, /* @__PURE__ */ React21.createElement(
8803
8806
  motion.div,
8804
8807
  {
8805
8808
  initial: { opacity: 0, scale: 0.95, y: 20 },
@@ -8807,15 +8810,15 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8807
8810
  exit: { opacity: 0, scale: 0.95, y: 20 },
8808
8811
  className: `bg-white rounded-2xl shadow-2xl w-full ${sizes[size]} max-h-[90vh] overflow-hidden flex flex-col`
8809
8812
  },
8810
- title && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between p-6 border-b border-gray-200" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-bold text-gray-900" }, title), /* @__PURE__ */ React20.createElement(
8813
+ title && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-6 border-b border-gray-200" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-bold text-gray-900" }, title), /* @__PURE__ */ React21.createElement(
8811
8814
  "button",
8812
8815
  {
8813
8816
  onClick: onClose,
8814
8817
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors"
8815
8818
  },
8816
- /* @__PURE__ */ React20.createElement(X, { className: "w-5 h-5" })
8819
+ /* @__PURE__ */ React21.createElement(X, { className: "w-5 h-5" })
8817
8820
  )),
8818
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1 overflow-y-auto p-6" }, children)
8821
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1 overflow-y-auto p-6" }, children)
8819
8822
  ))));
8820
8823
  }
8821
8824
  var addressSchema = z.object({
@@ -8905,7 +8908,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8905
8908
  setIsSubmitting(false);
8906
8909
  }
8907
8910
  };
8908
- return /* @__PURE__ */ React.createElement(
8911
+ return /* @__PURE__ */ React21.createElement(
8909
8912
  Modal,
8910
8913
  {
8911
8914
  isOpen,
@@ -8913,7 +8916,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8913
8916
  title: initialAddress ? "Edit Address" : "Add New Address",
8914
8917
  size: "lg"
8915
8918
  },
8916
- /* @__PURE__ */ React.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6" }, /* @__PURE__ */ React.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React.createElement(
8919
+ /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React21.createElement(
8917
8920
  Input,
8918
8921
  {
8919
8922
  label: "Full name",
@@ -8921,7 +8924,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8921
8924
  ...register("name"),
8922
8925
  error: errors.name?.message
8923
8926
  }
8924
- ), /* @__PURE__ */ React.createElement(
8927
+ ), /* @__PURE__ */ React21.createElement(
8925
8928
  Input,
8926
8929
  {
8927
8930
  label: "Phone number",
@@ -8929,7 +8932,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8929
8932
  ...register("phone"),
8930
8933
  error: errors.phone?.message
8931
8934
  }
8932
- ), /* @__PURE__ */ React.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React.createElement(
8935
+ ), /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React21.createElement(
8933
8936
  Input,
8934
8937
  {
8935
8938
  label: "Address line 1",
@@ -8937,14 +8940,14 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8937
8940
  ...register("street1"),
8938
8941
  error: errors.street1?.message
8939
8942
  }
8940
- )), /* @__PURE__ */ React.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React.createElement(
8943
+ )), /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React21.createElement(
8941
8944
  Input,
8942
8945
  {
8943
8946
  label: "Address line 2 (optional)",
8944
8947
  placeholder: "Apt 4B",
8945
8948
  ...register("street2")
8946
8949
  }
8947
- )), /* @__PURE__ */ React.createElement(
8950
+ )), /* @__PURE__ */ React21.createElement(
8948
8951
  Input,
8949
8952
  {
8950
8953
  label: "City",
@@ -8952,7 +8955,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8952
8955
  ...register("city"),
8953
8956
  error: errors.city?.message
8954
8957
  }
8955
- ), /* @__PURE__ */ React.createElement(
8958
+ ), /* @__PURE__ */ React21.createElement(
8956
8959
  Input,
8957
8960
  {
8958
8961
  label: "State",
@@ -8960,7 +8963,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8960
8963
  ...register("state"),
8961
8964
  error: errors.state?.message
8962
8965
  }
8963
- ), /* @__PURE__ */ React.createElement(
8966
+ ), /* @__PURE__ */ React21.createElement(
8964
8967
  Input,
8965
8968
  {
8966
8969
  label: "ZIP code",
@@ -8968,7 +8971,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8968
8971
  ...register("zip"),
8969
8972
  error: errors.zip?.message
8970
8973
  }
8971
- ), /* @__PURE__ */ React.createElement(
8974
+ ), /* @__PURE__ */ React21.createElement(
8972
8975
  Input,
8973
8976
  {
8974
8977
  label: "Country",
@@ -8976,7 +8979,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8976
8979
  ...register("country"),
8977
8980
  error: errors.country?.message
8978
8981
  }
8979
- )), /* @__PURE__ */ React.createElement("div", { className: "flex justify-end gap-4" }, /* @__PURE__ */ React.createElement(
8982
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex justify-end gap-4" }, /* @__PURE__ */ React21.createElement(
8980
8983
  Button,
8981
8984
  {
8982
8985
  type: "button",
@@ -8984,7 +8987,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8984
8987
  onClick: onClose
8985
8988
  },
8986
8989
  "Cancel"
8987
- ), /* @__PURE__ */ React.createElement(Button, { type: "submit", disabled: isSubmitting }, isSubmitting ? "Adding Address..." : "Add Address")))
8990
+ ), /* @__PURE__ */ React21.createElement(Button, { type: "submit", disabled: isSubmitting }, isSubmitting ? "Adding Address..." : "Add Address")))
8988
8991
  );
8989
8992
  }
8990
8993
  var checkoutSchema = z.object({
@@ -8996,7 +8999,7 @@ var PAYMENT_METHODS = [
8996
8999
  {
8997
9000
  label: "Card",
8998
9001
  value: "Card",
8999
- icon: /* @__PURE__ */ React20.createElement(CreditCard, { className: "w-5 h-5" }),
9002
+ icon: /* @__PURE__ */ React21.createElement(CreditCard, { className: "w-5 h-5" }),
9000
9003
  description: "Pay securely with your credit or debit card",
9001
9004
  className: "border-blue-500 hover:bg-blue-50",
9002
9005
  activeClass: "bg-blue-50 border-blue-500 text-blue-700"
@@ -9004,7 +9007,7 @@ var PAYMENT_METHODS = [
9004
9007
  {
9005
9008
  label: "Cash",
9006
9009
  value: "Cash",
9007
- icon: /* @__PURE__ */ React20.createElement(PackageCheck, { className: "w-5 h-5" }),
9010
+ icon: /* @__PURE__ */ React21.createElement(PackageCheck, { className: "w-5 h-5" }),
9008
9011
  description: "Pay with cash on delivery or at pickup",
9009
9012
  className: "border-amber-500 hover:bg-amber-50",
9010
9013
  activeClass: "bg-amber-50 border-amber-500 text-amber-700"
@@ -9012,7 +9015,7 @@ var PAYMENT_METHODS = [
9012
9015
  {
9013
9016
  label: "Credit",
9014
9017
  value: "Credit",
9015
- icon: /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "w-5 h-5" }),
9018
+ icon: /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "w-5 h-5" }),
9016
9019
  description: "Use your account credit",
9017
9020
  className: "border-emerald-500 hover:bg-emerald-50",
9018
9021
  activeClass: "bg-emerald-50 border-emerald-500 text-emerald-700"
@@ -9216,7 +9219,7 @@ function CheckoutScreen() {
9216
9219
  }
9217
9220
  }
9218
9221
  setIsSubmitting(true);
9219
- toast("Submitting order...", { icon: /* @__PURE__ */ React20.createElement(CreditCard, { className: "h-4 w-4" }) });
9222
+ toast("Submitting order...", { icon: /* @__PURE__ */ React21.createElement(CreditCard, { className: "h-4 w-4" }) });
9220
9223
  try {
9221
9224
  const items = (cart?.cartBody?.items || []).map((item) => ({
9222
9225
  productVariantId: String(item.productVariantId),
@@ -9281,33 +9284,33 @@ function CheckoutScreen() {
9281
9284
  const subtotal = cart.total;
9282
9285
  const tax = 0;
9283
9286
  const total = subtotal + shippingPrice + tax;
9284
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement(
9287
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement(
9285
9288
  motion.div,
9286
9289
  {
9287
9290
  initial: { opacity: 0, y: 24 },
9288
9291
  animate: { opacity: 1, y: 0 },
9289
9292
  className: "space-y-6"
9290
9293
  },
9291
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), "Secure checkout"),
9292
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Provide delivery details"),
9293
- /* @__PURE__ */ React20.createElement("p", { className: "text-white/75 md:text-lg" }, "Our pharmacists handle every package with care. Share your shipping and billing information so we can dispatch your order within the next 12 hours."),
9294
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-3" }, checkoutSteps.map((step) => /* @__PURE__ */ React20.createElement(
9294
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), "Secure checkout"),
9295
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Provide delivery details"),
9296
+ /* @__PURE__ */ React21.createElement("p", { className: "text-white/75 md:text-lg" }, "Our pharmacists handle every package with care. Share your shipping and billing information so we can dispatch your order within the next 12 hours."),
9297
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-3" }, checkoutSteps.map((step) => /* @__PURE__ */ React21.createElement(
9295
9298
  "div",
9296
9299
  {
9297
9300
  key: step.id,
9298
9301
  className: `flex items-center gap-3 rounded-2xl px-4 py-2 text-sm font-semibold ${step.status === "complete" ? "bg-white/20 text-white" : step.status === "current" ? "bg-white text-primary-700" : "bg-white/10 text-white/60"}`
9299
9302
  },
9300
- /* @__PURE__ */ React20.createElement("span", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-white/20 text-xs font-bold" }, step.id),
9303
+ /* @__PURE__ */ React21.createElement("span", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-white/20 text-xs font-bold" }, step.id),
9301
9304
  step.label
9302
9305
  )))
9303
- )))), /* @__PURE__ */ React20.createElement("form", { onSubmit: handleSubmit(onSubmit) }, error && /* @__PURE__ */ React20.createElement("div", { className: "mb-4 text-red-600 font-semibold" }, error), /* @__PURE__ */ React20.createElement("div", { className: "pt-12 container mx-auto grid gap-10 px-4 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement(
9306
+ )))), /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit) }, error && /* @__PURE__ */ React21.createElement("div", { className: "mb-4 text-red-600 font-semibold" }, error), /* @__PURE__ */ React21.createElement("div", { className: "pt-12 container mx-auto grid gap-10 px-4 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement(
9304
9307
  motion.div,
9305
9308
  {
9306
9309
  initial: { opacity: 0, y: 24 },
9307
9310
  animate: { opacity: 1, y: 0 },
9308
9311
  className: "space-y-8"
9309
9312
  },
9310
- /* @__PURE__ */ React20.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center justify-between gap-4" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Shipping information"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "We use temperature-aware packaging and real-time tracking on every shipment.")), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary-700" }, /* @__PURE__ */ React20.createElement(Truck, { className: "h-4 w-4" }), "Dispatch in 12h")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 grid grid-cols-1 gap-4 md:grid-cols-2" }, isDelivery && /* @__PURE__ */ React20.createElement("div", { className: "md:col-span-2 space-y-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("label", { className: "block font-semibold" }, "Select Address"), /* @__PURE__ */ React20.createElement(
9313
+ /* @__PURE__ */ React21.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center justify-between gap-4" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Shipping information"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "We use temperature-aware packaging and real-time tracking on every shipment.")), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary-700" }, /* @__PURE__ */ React21.createElement(Truck, { className: "h-4 w-4" }), "Dispatch in 12h")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 grid grid-cols-1 gap-4 md:grid-cols-2" }, isDelivery && /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2 space-y-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("label", { className: "block font-semibold" }, "Select Address"), /* @__PURE__ */ React21.createElement(
9311
9314
  Button,
9312
9315
  {
9313
9316
  type: "button",
@@ -9318,15 +9321,15 @@ function CheckoutScreen() {
9318
9321
  setIsAddressModalOpen(true);
9319
9322
  }
9320
9323
  },
9321
- /* @__PURE__ */ React20.createElement(Plus, { className: "h-4 w-4 mr-2" }),
9324
+ /* @__PURE__ */ React21.createElement(Plus, { className: "h-4 w-4 mr-2" }),
9322
9325
  "Add New Address"
9323
- )), userAddresses.length > 0 ? /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4" }, userAddresses.map((addr) => /* @__PURE__ */ React20.createElement(
9326
+ )), userAddresses.length > 0 ? /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4" }, userAddresses.map((addr) => /* @__PURE__ */ React21.createElement(
9324
9327
  "label",
9325
9328
  {
9326
9329
  key: addr.id,
9327
9330
  className: `group relative flex items-start gap-3 p-4 rounded-2xl border ${selectedAddressId === addr.id ? "border-primary-500 bg-primary-50 shadow-sm" : "border-slate-200 bg-white"} cursor-pointer hover:border-primary-300 transition-colors`
9328
9331
  },
9329
- /* @__PURE__ */ React20.createElement(
9332
+ /* @__PURE__ */ React21.createElement(
9330
9333
  "input",
9331
9334
  {
9332
9335
  type: "radio",
@@ -9347,7 +9350,7 @@ function CheckoutScreen() {
9347
9350
  className: "mt-1"
9348
9351
  }
9349
9352
  ),
9350
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-900" }, addr.name), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600" }, addr.street1), addr.street2 && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600" }, addr.street2), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600" }, addr.city, ", ", addr.state, " ", addr.zip), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600" }, addr.country), addr.phone && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600 mt-1" }, addr.phone), /* @__PURE__ */ React20.createElement("div", { className: "mt-3 flex items-center gap-2" }, addr.isDefault && /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary-100 px-2.5 py-0.5 text-xs font-semibold text-primary-700" }, "Default"), /* @__PURE__ */ React20.createElement(
9353
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-900" }, addr.name), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600" }, addr.street1), addr.street2 && /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600" }, addr.street2), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600" }, addr.city, ", ", addr.state, " ", addr.zip), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600" }, addr.country), addr.phone && /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600 mt-1" }, addr.phone), /* @__PURE__ */ React21.createElement("div", { className: "mt-3 flex items-center gap-2" }, addr.isDefault && /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary-100 px-2.5 py-0.5 text-xs font-semibold text-primary-700" }, "Default"), /* @__PURE__ */ React21.createElement(
9351
9354
  "button",
9352
9355
  {
9353
9356
  type: "button",
@@ -9358,9 +9361,9 @@ function CheckoutScreen() {
9358
9361
  },
9359
9362
  className: "inline-flex items-center gap-1 rounded-full border border-slate-200 px-2.5 py-0.5 text-xs font-medium text-slate-600 hover:border-primary-300 hover:text-primary-600"
9360
9363
  },
9361
- /* @__PURE__ */ React20.createElement(Edit3, { className: "h-3.5 w-3.5" }),
9364
+ /* @__PURE__ */ React21.createElement(Edit3, { className: "h-3.5 w-3.5" }),
9362
9365
  " Edit"
9363
- ), /* @__PURE__ */ React20.createElement(
9366
+ ), /* @__PURE__ */ React21.createElement(
9364
9367
  "button",
9365
9368
  {
9366
9369
  type: "button",
@@ -9378,23 +9381,23 @@ function CheckoutScreen() {
9378
9381
  },
9379
9382
  className: "inline-flex items-center gap-1 rounded-full border border-red-200 px-2.5 py-0.5 text-xs font-semibold text-red-600 hover:border-red-300 hover:text-red-700"
9380
9383
  },
9381
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-3.5 w-3.5" }),
9384
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-3.5 w-3.5" }),
9382
9385
  " Delete"
9383
9386
  )))
9384
- ))) : /* @__PURE__ */ React20.createElement("div", { className: "text-center py-8 bg-slate-50 rounded-lg" }, /* @__PURE__ */ React20.createElement(MapPin, { className: "h-12 w-12 mx-auto text-slate-400" }), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-slate-600" }, "No addresses found"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "Add a new address to continue"))), !isDelivery && storeAddresses.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React20.createElement("label", { className: "block mb-2 font-semibold" }, "Select Pickup Location"), /* @__PURE__ */ React20.createElement(
9387
+ ))) : /* @__PURE__ */ React21.createElement("div", { className: "text-center py-8 bg-slate-50 rounded-lg" }, /* @__PURE__ */ React21.createElement(MapPin, { className: "h-12 w-12 mx-auto text-slate-400" }), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-slate-600" }, "No addresses found"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "Add a new address to continue"))), !isDelivery && storeAddresses.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React21.createElement("label", { className: "block mb-2 font-semibold" }, "Select Pickup Location"), /* @__PURE__ */ React21.createElement(
9385
9388
  "select",
9386
9389
  {
9387
9390
  className: "w-full border rounded p-2",
9388
9391
  value: selectedStoreAddressId || "",
9389
9392
  onChange: (e) => setSelectedStoreAddressId(e.target.value)
9390
9393
  },
9391
- storeAddresses.map((addr) => /* @__PURE__ */ React20.createElement("option", { key: addr.id, value: addr.id }, addr.name, " - ", addr.street1, ", ", addr.city))
9394
+ storeAddresses.map((addr) => /* @__PURE__ */ React21.createElement("option", { key: addr.id, value: addr.id }, addr.name, " - ", addr.street1, ", ", addr.city))
9392
9395
  )))),
9393
- isDelivery && selectedAddressId && /* @__PURE__ */ React20.createElement(Card, { className: "p-6 border border-gray-200 rounded-xl shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 text-xl font-semibold text-gray-900 pb-4 mb-6 border-b" }, /* @__PURE__ */ React20.createElement(Truck, { className: "text-accent w-6 h-6" }), /* @__PURE__ */ React20.createElement("span", null, "Shipping Options")), shippingRatesLoading ? /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-center py-12" }, /* @__PURE__ */ React20.createElement("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-accent" }), /* @__PURE__ */ React20.createElement("span", { className: "ml-3 text-gray-600" }, "Loading shipping options...")) : shippingRatesError ? /* @__PURE__ */ React20.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React20.createElement("div", { className: "w-16 h-16 mx-auto mb-4 bg-red-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-8 h-8 text-red-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }))), /* @__PURE__ */ React20.createElement("p", { className: "text-red-500 text-lg font-medium" }, "Error loading shipping options"), /* @__PURE__ */ React20.createElement("p", { className: "text-red-400 text-sm mt-1" }, shippingRatesError)) : shippingRates && shippingRates.length > 0 ? /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, shippingRates.map((rate) => {
9396
+ isDelivery && selectedAddressId && /* @__PURE__ */ React21.createElement(Card, { className: "p-6 border border-gray-200 rounded-xl shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 text-xl font-semibold text-gray-900 pb-4 mb-6 border-b" }, /* @__PURE__ */ React21.createElement(Truck, { className: "text-accent w-6 h-6" }), /* @__PURE__ */ React21.createElement("span", null, "Shipping Options")), shippingRatesLoading ? /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-center py-12" }, /* @__PURE__ */ React21.createElement("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-accent" }), /* @__PURE__ */ React21.createElement("span", { className: "ml-3 text-gray-600" }, "Loading shipping options...")) : shippingRatesError ? /* @__PURE__ */ React21.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React21.createElement("div", { className: "w-16 h-16 mx-auto mb-4 bg-red-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-8 h-8 text-red-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }))), /* @__PURE__ */ React21.createElement("p", { className: "text-red-500 text-lg font-medium" }, "Error loading shipping options"), /* @__PURE__ */ React21.createElement("p", { className: "text-red-400 text-sm mt-1" }, shippingRatesError)) : shippingRates && shippingRates.length > 0 ? /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, shippingRates.map((rate) => {
9394
9397
  const isSelected = !!selectedShippingRateId && selectedShippingRateId === rate.objectId;
9395
9398
  const isTest = rate.test;
9396
9399
  const hasAttributes = rate.attributes && rate.attributes.length > 0;
9397
- return /* @__PURE__ */ React20.createElement(
9400
+ return /* @__PURE__ */ React21.createElement(
9398
9401
  "div",
9399
9402
  {
9400
9403
  key: rate.objectId,
@@ -9403,7 +9406,7 @@ function CheckoutScreen() {
9403
9406
  onMouseLeave: () => setShippingPrice(parseFloat(rate.amountLocal)),
9404
9407
  className: `relative p-5 border-2 rounded-xl cursor-pointer transition-all duration-200 hover:shadow-md ${isSelected ? "border-primary-500 bg-primary-50 ring-2 ring-primary-200" : "border-gray-200 hover:border-gray-300"}`
9405
9408
  },
9406
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-start justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-4 flex-1" }, /* @__PURE__ */ React20.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React20.createElement(
9409
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-start justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-4 flex-1" }, /* @__PURE__ */ React21.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React21.createElement(
9407
9410
  Image3,
9408
9411
  {
9409
9412
  src: rate.providerImage75 || "/placeholder-product.jpg",
@@ -9416,18 +9419,18 @@ function CheckoutScreen() {
9416
9419
  width: 48,
9417
9420
  height: 48
9418
9421
  }
9419
- )), /* @__PURE__ */ React20.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2 mb-2" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, rate.provider, " ", rate.servicelevel?.name), isTest && /* @__PURE__ */ React20.createElement("span", { className: "px-2 py-1 text-xs font-medium bg-orange-100 text-orange-800 rounded-full" }, "TEST")), hasAttributes && /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2 mb-3" }, rate.attributes.map((attr) => /* @__PURE__ */ React20.createElement(
9422
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2 mb-2" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, rate.provider, " ", rate.servicelevel?.name), isTest && /* @__PURE__ */ React21.createElement("span", { className: "px-2 py-1 text-xs font-medium bg-orange-100 text-orange-800 rounded-full" }, "TEST")), hasAttributes && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2 mb-3" }, rate.attributes.map((attr) => /* @__PURE__ */ React21.createElement(
9420
9423
  "span",
9421
9424
  {
9422
9425
  key: attr,
9423
9426
  className: `px-2 py-1 text-xs font-medium rounded-full ${attr === "FASTEST" ? "bg-green-100 text-green-800" : attr === "BESTVALUE" ? "bg-blue-100 text-blue-800" : attr === "CHEAPEST" ? "bg-purple-100 text-purple-800" : "bg-gray-100 text-gray-800"}`
9424
9427
  },
9425
9428
  attr
9426
- ))), /* @__PURE__ */ React20.createElement("div", { className: "space-y-1 text-sm text-gray-600" }, rate.durationTerms && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" })), /* @__PURE__ */ React20.createElement("span", null, rate.durationTerms)), rate.estimatedDays && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" })), /* @__PURE__ */ React20.createElement("span", null, "Estimated ", rate.estimatedDays, " day", rate.estimatedDays !== 1 ? "s" : "")), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" })), /* @__PURE__ */ React20.createElement("span", null, "Carrier: ", rate.provider)), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1" })), /* @__PURE__ */ React20.createElement("span", null, "Currency: ", rate.currency))))), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-end" }, /* @__PURE__ */ React20.createElement("div", { className: "text-2xl font-bold text-gray-900" }, formatPrice(parseFloat(rate.amount))), rate.amount !== rate.amountLocal && /* @__PURE__ */ React20.createElement("div", { className: "text-sm text-gray-500" }, rate.amountLocal, " ", rate.currencyLocal))),
9427
- isSelected && /* @__PURE__ */ React20.createElement("div", { className: "absolute top-3 right-3" }, /* @__PURE__ */ React20.createElement("div", { className: "w-6 h-6 bg-primary-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React20.createElement(Check, { className: "w-4 h-4 text-white" })))
9429
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "space-y-1 text-sm text-gray-600" }, rate.durationTerms && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" })), /* @__PURE__ */ React21.createElement("span", null, rate.durationTerms)), rate.estimatedDays && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" })), /* @__PURE__ */ React21.createElement("span", null, "Estimated ", rate.estimatedDays, " day", rate.estimatedDays !== 1 ? "s" : "")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" })), /* @__PURE__ */ React21.createElement("span", null, "Carrier: ", rate.provider)), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1" })), /* @__PURE__ */ React21.createElement("span", null, "Currency: ", rate.currency))))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-end" }, /* @__PURE__ */ React21.createElement("div", { className: "text-2xl font-bold text-gray-900" }, formatPrice(parseFloat(rate.amount))), rate.amount !== rate.amountLocal && /* @__PURE__ */ React21.createElement("div", { className: "text-sm text-gray-500" }, rate.amountLocal, " ", rate.currencyLocal))),
9430
+ isSelected && /* @__PURE__ */ React21.createElement("div", { className: "absolute top-3 right-3" }, /* @__PURE__ */ React21.createElement("div", { className: "w-6 h-6 bg-primary-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React21.createElement(Check, { className: "w-4 h-4 text-white" })))
9428
9431
  );
9429
- })) : /* @__PURE__ */ React20.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React20.createElement("div", { className: "w-16 h-16 mx-auto mb-4 bg-gray-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React20.createElement(Truck, { className: "w-8 h-8 text-gray-400" })), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-500 text-lg font-medium" }, "No shipping options available"), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-400 text-sm mt-1" }, "Please check the shipping address or try a different location.")))
9430
- ), /* @__PURE__ */ React20.createElement(
9432
+ })) : /* @__PURE__ */ React21.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React21.createElement("div", { className: "w-16 h-16 mx-auto mb-4 bg-gray-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React21.createElement(Truck, { className: "w-8 h-8 text-gray-400" })), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-500 text-lg font-medium" }, "No shipping options available"), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-400 text-sm mt-1" }, "Please check the shipping address or try a different location.")))
9433
+ ), /* @__PURE__ */ React21.createElement(
9431
9434
  motion.aside,
9432
9435
  {
9433
9436
  initial: { opacity: 0, y: 32 },
@@ -9435,22 +9438,22 @@ function CheckoutScreen() {
9435
9438
  transition: { duration: 0.5, ease: "easeOut", delay: 0.1 },
9436
9439
  className: "space-y-10 lg:sticky lg:top-24"
9437
9440
  },
9438
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-xl shadow-primary-50/50 transition hover:shadow-primary-100/60" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "Order Summary"), /* @__PURE__ */ React20.createElement("section", { className: "mt-6 space-y-4" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-xs font-semibold text-slate-700 uppercase tracking-wider" }, "Delivery Method"), /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 gap-3" }, [
9441
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-xl shadow-primary-50/50 transition hover:shadow-primary-100/60" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "Order Summary"), /* @__PURE__ */ React21.createElement("section", { className: "mt-6 space-y-4" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-xs font-semibold text-slate-700 uppercase tracking-wider" }, "Delivery Method"), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-3" }, [
9439
9442
  {
9440
9443
  label: "Delivery",
9441
- icon: /* @__PURE__ */ React20.createElement(Truck, { className: "w-5 h-5" }),
9444
+ icon: /* @__PURE__ */ React21.createElement(Truck, { className: "w-5 h-5" }),
9442
9445
  value: true,
9443
9446
  desc: "Shipped to your address"
9444
9447
  },
9445
9448
  {
9446
9449
  label: "Pickup",
9447
- icon: /* @__PURE__ */ React20.createElement(MapPin, { className: "w-5 h-5" }),
9450
+ icon: /* @__PURE__ */ React21.createElement(MapPin, { className: "w-5 h-5" }),
9448
9451
  value: false,
9449
9452
  desc: "Collect from pharmacy"
9450
9453
  }
9451
9454
  ].map((option) => {
9452
9455
  const active = isDelivery === option.value;
9453
- return /* @__PURE__ */ React20.createElement(
9456
+ return /* @__PURE__ */ React21.createElement(
9454
9457
  "button",
9455
9458
  {
9456
9459
  key: option.label,
@@ -9459,18 +9462,18 @@ function CheckoutScreen() {
9459
9462
  "aria-pressed": active,
9460
9463
  className: `relative flex w-full items-center justify-between rounded-xl border-2 p-3 transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-400 focus-visible:ring-offset-2 ${active ? "border-primary-500 bg-primary-50 shadow-sm" : "border-slate-200 bg-white hover:border-primary-200 hover:bg-primary-50/40"}`
9461
9464
  },
9462
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(
9465
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(
9463
9466
  "div",
9464
9467
  {
9465
9468
  className: `p-2 rounded-lg ${active ? "bg-primary-100 text-primary-600" : "bg-slate-100 text-slate-600 group-hover:bg-slate-50"}`
9466
9469
  },
9467
9470
  option.icon
9468
- ), /* @__PURE__ */ React20.createElement("div", { className: "text-left" }, /* @__PURE__ */ React20.createElement("div", { className: "font-medium text-slate-900" }, option.label), /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-slate-500" }, option.desc))),
9469
- active && /* @__PURE__ */ React20.createElement("div", { className: "w-5 h-5 rounded-full bg-primary-500 flex items-center justify-center text-white shadow-sm" }, /* @__PURE__ */ React20.createElement(Check, { className: "w-3 h-3" }))
9471
+ ), /* @__PURE__ */ React21.createElement("div", { className: "text-left" }, /* @__PURE__ */ React21.createElement("div", { className: "font-medium text-slate-900" }, option.label), /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-slate-500" }, option.desc))),
9472
+ active && /* @__PURE__ */ React21.createElement("div", { className: "w-5 h-5 rounded-full bg-primary-500 flex items-center justify-center text-white shadow-sm" }, /* @__PURE__ */ React21.createElement(Check, { className: "w-3 h-3" }))
9470
9473
  );
9471
- }))), /* @__PURE__ */ React20.createElement("section", { className: "mt-8 space-y-4" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-xs font-semibold text-slate-700 uppercase tracking-wider" }, "Payment Method"), /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, PAYMENT_METHODS.map((pm) => {
9474
+ }))), /* @__PURE__ */ React21.createElement("section", { className: "mt-8 space-y-4" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-xs font-semibold text-slate-700 uppercase tracking-wider" }, "Payment Method"), /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, PAYMENT_METHODS.map((pm) => {
9472
9475
  const active = paymentMethod === pm.value;
9473
- return /* @__PURE__ */ React20.createElement(
9476
+ return /* @__PURE__ */ React21.createElement(
9474
9477
  "button",
9475
9478
  {
9476
9479
  key: pm.value,
@@ -9478,22 +9481,22 @@ function CheckoutScreen() {
9478
9481
  onClick: () => setPaymentMethod(pm.value),
9479
9482
  className: `w-full flex items-center justify-between rounded-xl border-2 p-3 transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 ${active ? `${pm.activeClass} border-current shadow-sm` : `${pm.className} border-slate-200 hover:border-primary-200 hover:shadow-sm`}`
9480
9483
  },
9481
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(
9484
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(
9482
9485
  "div",
9483
9486
  {
9484
9487
  className: `p-1.5 rounded-md ${pm.value === "Card" ? "bg-blue-100 text-blue-600" : pm.value === "Cash" ? "bg-amber-100 text-amber-600" : "bg-emerald-100 text-emerald-600"} ${active ? "bg-opacity-30" : "bg-opacity-100"}`
9485
9488
  },
9486
9489
  pm.icon
9487
- ), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-medium text-slate-900" }, pm.label)),
9488
- active && /* @__PURE__ */ React20.createElement("div", { className: "w-4 h-4 rounded-full bg-primary-500 flex items-center justify-center text-white shadow-sm" }, /* @__PURE__ */ React20.createElement(Check, { className: "w-2.5 h-2.5" }))
9490
+ ), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-medium text-slate-900" }, pm.label)),
9491
+ active && /* @__PURE__ */ React21.createElement("div", { className: "w-4 h-4 rounded-full bg-primary-500 flex items-center justify-center text-white shadow-sm" }, /* @__PURE__ */ React21.createElement(Check, { className: "w-2.5 h-2.5" }))
9489
9492
  );
9490
- })), /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-slate-500 mt-2 pl-1 leading-relaxed" }, paymentMethod === "Card" && "You will be redirected to a secure payment page.", paymentMethod === "Cash" && "Pay with cash at the time of delivery or pickup.", paymentMethod === "Credit" && "Use your available account credit for this order.")), /* @__PURE__ */ React20.createElement("section", { className: "mt-8 pt-6 border-t border-slate-100" }, /* @__PURE__ */ React20.createElement("div", { className: "max-h-60 space-y-4 overflow-y-auto pr-2 scrollbar-thin scrollbar-thumb-slate-200 hover:scrollbar-thumb-slate-300" }, cart?.cartBody?.items?.map((item) => /* @__PURE__ */ React20.createElement(
9493
+ })), /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-slate-500 mt-2 pl-1 leading-relaxed" }, paymentMethod === "Card" && "You will be redirected to a secure payment page.", paymentMethod === "Cash" && "Pay with cash at the time of delivery or pickup.", paymentMethod === "Credit" && "Use your available account credit for this order.")), /* @__PURE__ */ React21.createElement("section", { className: "mt-8 pt-6 border-t border-slate-100" }, /* @__PURE__ */ React21.createElement("div", { className: "max-h-60 space-y-4 overflow-y-auto pr-2 scrollbar-thin scrollbar-thumb-slate-200 hover:scrollbar-thumb-slate-300" }, cart?.cartBody?.items?.map((item) => /* @__PURE__ */ React21.createElement(
9491
9494
  "div",
9492
9495
  {
9493
9496
  key: item.productId,
9494
9497
  className: "flex gap-4 rounded-2xl border border-slate-100 p-4 hover:bg-slate-50/50 transition"
9495
9498
  },
9496
- /* @__PURE__ */ React20.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-xl bg-slate-100 text-slate-400" }, /* @__PURE__ */ React20.createElement(
9499
+ /* @__PURE__ */ React21.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-xl bg-slate-100 text-slate-400" }, /* @__PURE__ */ React21.createElement(
9497
9500
  Image3,
9498
9501
  {
9499
9502
  src: item.productVariantData.productMedia?.[0]?.file || "/placeholder-product.jpg",
@@ -9503,9 +9506,9 @@ function CheckoutScreen() {
9503
9506
  className: "object-contain"
9504
9507
  }
9505
9508
  )),
9506
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold text-slate-900" }, item?.productVariantData?.name), /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-slate-500" }, "Qty ", item.quantity)),
9507
- /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold text-slate-900" }, formatPrice(item.productVariantData.finalPrice * item.quantity))
9508
- ))), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-y-3 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Subtotal"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold text-slate-900" }, formatPrice(subtotal))), isDelivery && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Shipping"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold" }, formatPrice(shippingPrice))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Estimated tax"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold" }, formatPrice(tax))), /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between text-base font-semibold text-slate-900" }, /* @__PURE__ */ React20.createElement("span", null, "Total Due"), /* @__PURE__ */ React20.createElement("span", null, formatPrice(total))), /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-xs text-slate-500" }, "Tax is estimated. Final amount confirmed after payment.")))), /* @__PURE__ */ React20.createElement(
9509
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold text-slate-900" }, item?.productVariantData?.name), /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-slate-500" }, "Qty ", item.quantity)),
9510
+ /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold text-slate-900" }, formatPrice(item.productVariantData.finalPrice * item.quantity))
9511
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-y-3 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Subtotal"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-slate-900" }, formatPrice(subtotal))), isDelivery && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Shipping"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold" }, formatPrice(shippingPrice))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Estimated tax"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold" }, formatPrice(tax))), /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between text-base font-semibold text-slate-900" }, /* @__PURE__ */ React21.createElement("span", null, "Total Due"), /* @__PURE__ */ React21.createElement("span", null, formatPrice(total))), /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-xs text-slate-500" }, "Tax is estimated. Final amount confirmed after payment.")))), /* @__PURE__ */ React21.createElement(
9509
9512
  Button,
9510
9513
  {
9511
9514
  type: "submit",
@@ -9513,11 +9516,11 @@ function CheckoutScreen() {
9513
9516
  isLoading: isSubmitting,
9514
9517
  className: "mt-6 w-full transition-transform hover:scale-[1.02] active:scale-[0.99]"
9515
9518
  },
9516
- /* @__PURE__ */ React20.createElement(CreditCard, { className: "h-5 w-5" }),
9519
+ /* @__PURE__ */ React21.createElement(CreditCard, { className: "h-5 w-5" }),
9517
9520
  isSubmitting ? "Placing order..." : "Place Secure Order"
9518
- ), /* @__PURE__ */ React20.createElement("p", { className: "mt-4 flex items-center justify-center gap-2 text-xs text-slate-500" }, /* @__PURE__ */ React20.createElement(Lock, { className: "h-4 w-4" }), "Fully encrypted checkout \u2014 cancel anytime before shipment.")),
9519
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/80 p-6 text-sm text-primary-700 shadow-sm hover:shadow-md transition-shadow" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.3em] text-primary-800" }, "Why Patients Choose Us"), /* @__PURE__ */ React20.createElement("ul", { className: "mt-4 space-y-3 text-primary-700 leading-relaxed" }, /* @__PURE__ */ React20.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(PackageCheck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React20.createElement("span", null, "Pharmacy-grade verification on every order.")), /* @__PURE__ */ React20.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React20.createElement("span", null, "Cold-chain logistics for sensitive medications.")), /* @__PURE__ */ React20.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(Truck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React20.createElement("span", null, "Real-time tracking and SMS updates from prep to delivery."))))
9520
- ))), /* @__PURE__ */ React20.createElement(
9521
+ ), /* @__PURE__ */ React21.createElement("p", { className: "mt-4 flex items-center justify-center gap-2 text-xs text-slate-500" }, /* @__PURE__ */ React21.createElement(Lock, { className: "h-4 w-4" }), "Fully encrypted checkout \u2014 cancel anytime before shipment.")),
9522
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/80 p-6 text-sm text-primary-700 shadow-sm hover:shadow-md transition-shadow" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.3em] text-primary-800" }, "Why Patients Choose Us"), /* @__PURE__ */ React21.createElement("ul", { className: "mt-4 space-y-3 text-primary-700 leading-relaxed" }, /* @__PURE__ */ React21.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(PackageCheck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React21.createElement("span", null, "Pharmacy-grade verification on every order.")), /* @__PURE__ */ React21.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React21.createElement("span", null, "Cold-chain logistics for sensitive medications.")), /* @__PURE__ */ React21.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(Truck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React21.createElement("span", null, "Real-time tracking and SMS updates from prep to delivery."))))
9523
+ ))), /* @__PURE__ */ React21.createElement(
9521
9524
  AddressFormModal,
9522
9525
  {
9523
9526
  isOpen: isAddressModalOpen,
@@ -9573,7 +9576,7 @@ function LoginScreen() {
9573
9576
  setIsSubmitting(false);
9574
9577
  }
9575
9578
  };
9576
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("div", { className: "grid min-h-screen overflow-hidden bg-white lg:grid-cols-[1.1fr_0.9fr]" }, /* @__PURE__ */ React20.createElement(
9579
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("div", { className: "grid min-h-screen overflow-hidden bg-white lg:grid-cols-[1.1fr_0.9fr]" }, /* @__PURE__ */ React21.createElement(
9577
9580
  motion.section,
9578
9581
  {
9579
9582
  initial: { opacity: 0, x: -24 },
@@ -9581,18 +9584,18 @@ function LoginScreen() {
9581
9584
  transition: { duration: 0.4 },
9582
9585
  className: "relative flex flex-col justify-between bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] px-10 py-14 text-white"
9583
9586
  },
9584
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(HeartPulse, { className: "h-4 w-4" }), "Hey Pharmacist"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight lg:text-5xl" }, "Pharmacy-grade care for your household"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-xl text-white/80" }, "Log in to unlock personalized regimens, pharmacist support, and fast delivery on wellness essentials curated just for you.")),
9585
- /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 rounded-3xl bg-white/10 p-6 backdrop-blur" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/80" }, "HIPAA-compliant security keeps your health information protected.")), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/80" }, "Pharmacists ready to chat in under 10 minutes for medication support."))),
9586
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-6 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement("span", null, "Need an account?"), /* @__PURE__ */ React20.createElement(
9587
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-4 w-4" }), "Hey Pharmacist"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight lg:text-5xl" }, "Pharmacy-grade care for your household"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-xl text-white/80" }, "Log in to unlock personalized regimens, pharmacist support, and fast delivery on wellness essentials curated just for you.")),
9588
+ /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 rounded-3xl bg-white/10 p-6 backdrop-blur" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/80" }, "HIPAA-compliant security keeps your health information protected.")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/80" }, "Pharmacists ready to chat in under 10 minutes for medication support."))),
9589
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-6 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("span", null, "Need an account?"), /* @__PURE__ */ React21.createElement(
9587
9590
  Link8,
9588
9591
  {
9589
9592
  href: "/register",
9590
9593
  className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-2 font-semibold transition hover:bg-white/25"
9591
9594
  },
9592
9595
  "Create one now",
9593
- /* @__PURE__ */ React20.createElement(ArrowRight, { className: "h-4 w-4" })
9596
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-4 w-4" })
9594
9597
  ))
9595
- ), /* @__PURE__ */ React20.createElement(
9598
+ ), /* @__PURE__ */ React21.createElement(
9596
9599
  motion.section,
9597
9600
  {
9598
9601
  initial: { opacity: 0, x: 24 },
@@ -9600,7 +9603,7 @@ function LoginScreen() {
9600
9603
  transition: { duration: 0.4 },
9601
9604
  className: "flex items-center justify-center px-6 py-12 lg:px-16"
9602
9605
  },
9603
- /* @__PURE__ */ React20.createElement("div", { className: "w-full max-w-md space-y-10" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-3xl font-bold text-slate-900" }, "Sign in"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "Welcome back! Enter your details to continue your personalized care plan.")), /* @__PURE__ */ React20.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement(
9606
+ /* @__PURE__ */ React21.createElement("div", { className: "w-full max-w-md space-y-10" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-3xl font-bold text-slate-900" }, "Sign in"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "Welcome back! Enter your details to continue your personalized care plan.")), /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement(
9604
9607
  Input,
9605
9608
  {
9606
9609
  type: "email",
@@ -9609,7 +9612,7 @@ function LoginScreen() {
9609
9612
  ...register("email"),
9610
9613
  error: errors.email?.message
9611
9614
  }
9612
- )), /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9615
+ )), /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9613
9616
  Input,
9614
9617
  {
9615
9618
  type: showPassword ? "text" : "password",
@@ -9618,28 +9621,28 @@ function LoginScreen() {
9618
9621
  ...register("password"),
9619
9622
  error: errors.password?.message
9620
9623
  }
9621
- ), /* @__PURE__ */ React20.createElement(
9624
+ ), /* @__PURE__ */ React21.createElement(
9622
9625
  "button",
9623
9626
  {
9624
9627
  type: "button",
9625
9628
  onClick: () => setShowPassword((prev) => !prev),
9626
9629
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9627
9630
  },
9628
- showPassword ? /* @__PURE__ */ React20.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React20.createElement(Eye, { className: "h-5 w-5" })
9629
- )), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between text-sm" }, /* @__PURE__ */ React20.createElement("label", { className: "flex items-center gap-2 text-slate-600" }, /* @__PURE__ */ React20.createElement(
9631
+ showPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9632
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between text-sm" }, /* @__PURE__ */ React21.createElement("label", { className: "flex items-center gap-2 text-slate-600" }, /* @__PURE__ */ React21.createElement(
9630
9633
  "input",
9631
9634
  {
9632
9635
  type: "checkbox",
9633
9636
  className: "h-4 w-4 rounded border-slate-300 text-primary-600 focus:ring-primary-500"
9634
9637
  }
9635
- ), "Remember me"), /* @__PURE__ */ React20.createElement(
9638
+ ), "Remember me"), /* @__PURE__ */ React21.createElement(
9636
9639
  Link8,
9637
9640
  {
9638
9641
  href: "/forgot-password",
9639
9642
  className: "font-medium text-primary-600 transition hover:text-primary-700"
9640
9643
  },
9641
9644
  "Forgot password?"
9642
- )), /* @__PURE__ */ React20.createElement(
9645
+ )), /* @__PURE__ */ React21.createElement(
9643
9646
  Button,
9644
9647
  {
9645
9648
  type: "submit",
@@ -9648,7 +9651,7 @@ function LoginScreen() {
9648
9651
  className: "w-full"
9649
9652
  },
9650
9653
  "Sign in securely"
9651
- )), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-slate-50 p-6 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(Lock, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "Secure by design"), /* @__PURE__ */ React20.createElement("p", null, "Encrypted sessions, multi-factor ready, and privacy-first policies keep your personal data safe.")))))
9654
+ )), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-slate-50 p-6 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(Lock, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "Secure by design"), /* @__PURE__ */ React21.createElement("p", null, "Encrypted sessions, multi-factor ready, and privacy-first policies keep your personal data safe.")))))
9652
9655
  )));
9653
9656
  }
9654
9657
  var registerSchema = z.object({
@@ -9699,7 +9702,7 @@ function RegisterScreen() {
9699
9702
  setIsSubmitting(false);
9700
9703
  }
9701
9704
  };
9702
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("div", { className: "grid min-h-screen overflow-hidden bg-white lg:grid-cols-[0.95fr_1.05fr]" }, /* @__PURE__ */ React20.createElement(
9705
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("div", { className: "grid min-h-screen overflow-hidden bg-white lg:grid-cols-[0.95fr_1.05fr]" }, /* @__PURE__ */ React21.createElement(
9703
9706
  motion.section,
9704
9707
  {
9705
9708
  initial: { opacity: 0, x: -24 },
@@ -9707,9 +9710,9 @@ function RegisterScreen() {
9707
9710
  transition: { duration: 0.4 },
9708
9711
  className: "flex flex-col justify-between bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] px-10 py-14 text-white"
9709
9712
  },
9710
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(HeartPulse, { className: "h-4 w-4" }), "Join Hey Pharmacist"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight lg:text-5xl" }, "Create your wellness account"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-xl text-white/80" }, "Unlock concierge-level pharmacy support, curated product recommendations, and smarter refills designed for busy families.")),
9711
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-4 rounded-3xl bg-white/10 p-6 backdrop-blur" }, BENEFITS.map((benefit) => /* @__PURE__ */ React20.createElement("div", { key: benefit, className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(CheckCircle2, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/85" }, benefit)))),
9712
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-6 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement("span", null, "Already part of the community?"), /* @__PURE__ */ React20.createElement(
9713
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-4 w-4" }), "Join Hey Pharmacist"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight lg:text-5xl" }, "Create your wellness account"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-xl text-white/80" }, "Unlock concierge-level pharmacy support, curated product recommendations, and smarter refills designed for busy families.")),
9714
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-4 rounded-3xl bg-white/10 p-6 backdrop-blur" }, BENEFITS.map((benefit) => /* @__PURE__ */ React21.createElement("div", { key: benefit, className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(CheckCircle2, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/85" }, benefit)))),
9715
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-6 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("span", null, "Already part of the community?"), /* @__PURE__ */ React21.createElement(
9713
9716
  Link8,
9714
9717
  {
9715
9718
  href: "/login",
@@ -9717,7 +9720,7 @@ function RegisterScreen() {
9717
9720
  },
9718
9721
  "Sign in"
9719
9722
  ))
9720
- ), /* @__PURE__ */ React20.createElement(
9723
+ ), /* @__PURE__ */ React21.createElement(
9721
9724
  motion.section,
9722
9725
  {
9723
9726
  initial: { opacity: 0, x: 24 },
@@ -9725,13 +9728,13 @@ function RegisterScreen() {
9725
9728
  transition: { duration: 0.4 },
9726
9729
  className: "flex items-center justify-center px-6 py-12 lg:px-16"
9727
9730
  },
9728
- /* @__PURE__ */ React20.createElement("div", { className: "w-full max-w-lg space-y-10" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-3xl font-bold text-slate-900" }, "Create an account"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "Start your personalized care journey with pharmacist-backed guidance.")), /* @__PURE__ */ React20.createElement(
9731
+ /* @__PURE__ */ React21.createElement("div", { className: "w-full max-w-lg space-y-10" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-3xl font-bold text-slate-900" }, "Create an account"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "Start your personalized care journey with pharmacist-backed guidance.")), /* @__PURE__ */ React21.createElement(
9729
9732
  "form",
9730
9733
  {
9731
9734
  onSubmit: handleSubmit(onSubmit),
9732
9735
  className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50"
9733
9736
  },
9734
- /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
9737
+ /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
9735
9738
  Input,
9736
9739
  {
9737
9740
  label: "First name",
@@ -9739,7 +9742,7 @@ function RegisterScreen() {
9739
9742
  ...register("firstName"),
9740
9743
  error: errors.firstName?.message
9741
9744
  }
9742
- ), /* @__PURE__ */ React20.createElement(
9745
+ ), /* @__PURE__ */ React21.createElement(
9743
9746
  Input,
9744
9747
  {
9745
9748
  label: "Last name",
@@ -9748,7 +9751,7 @@ function RegisterScreen() {
9748
9751
  error: errors.lastName?.message
9749
9752
  }
9750
9753
  )),
9751
- /* @__PURE__ */ React20.createElement(
9754
+ /* @__PURE__ */ React21.createElement(
9752
9755
  Input,
9753
9756
  {
9754
9757
  type: "email",
@@ -9758,7 +9761,7 @@ function RegisterScreen() {
9758
9761
  error: errors.email?.message
9759
9762
  }
9760
9763
  ),
9761
- /* @__PURE__ */ React20.createElement(
9764
+ /* @__PURE__ */ React21.createElement(
9762
9765
  Input,
9763
9766
  {
9764
9767
  type: "tel",
@@ -9768,7 +9771,7 @@ function RegisterScreen() {
9768
9771
  error: errors.phone?.message
9769
9772
  }
9770
9773
  ),
9771
- /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9774
+ /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9772
9775
  Input,
9773
9776
  {
9774
9777
  type: showPassword ? "text" : "password",
@@ -9777,16 +9780,16 @@ function RegisterScreen() {
9777
9780
  ...register("password"),
9778
9781
  error: errors.password?.message
9779
9782
  }
9780
- ), /* @__PURE__ */ React20.createElement(
9783
+ ), /* @__PURE__ */ React21.createElement(
9781
9784
  "button",
9782
9785
  {
9783
9786
  type: "button",
9784
9787
  onClick: () => setShowPassword((prev) => !prev),
9785
9788
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9786
9789
  },
9787
- showPassword ? /* @__PURE__ */ React20.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React20.createElement(Eye, { className: "h-5 w-5" })
9790
+ showPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9788
9791
  )),
9789
- /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9792
+ /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9790
9793
  Input,
9791
9794
  {
9792
9795
  type: showConfirmPassword ? "text" : "password",
@@ -9795,16 +9798,16 @@ function RegisterScreen() {
9795
9798
  ...register("confirmPassword"),
9796
9799
  error: errors.confirmPassword?.message
9797
9800
  }
9798
- ), /* @__PURE__ */ React20.createElement(
9801
+ ), /* @__PURE__ */ React21.createElement(
9799
9802
  "button",
9800
9803
  {
9801
9804
  type: "button",
9802
9805
  onClick: () => setShowConfirmPassword((prev) => !prev),
9803
9806
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9804
9807
  },
9805
- showConfirmPassword ? /* @__PURE__ */ React20.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React20.createElement(Eye, { className: "h-5 w-5" })
9808
+ showConfirmPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9806
9809
  )),
9807
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement(Shield, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "By creating an account, you agree to our", " ", /* @__PURE__ */ React20.createElement(Link8, { href: "/terms", className: "font-semibold text-primary-600 hover:text-primary-700" }, "Terms of Service"), " ", "and", " ", /* @__PURE__ */ React20.createElement(
9810
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement(Shield, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "By creating an account, you agree to our", " ", /* @__PURE__ */ React21.createElement(Link8, { href: "/terms", className: "font-semibold text-primary-600 hover:text-primary-700" }, "Terms of Service"), " ", "and", " ", /* @__PURE__ */ React21.createElement(
9808
9811
  Link8,
9809
9812
  {
9810
9813
  href: "/privacy",
@@ -9812,7 +9815,7 @@ function RegisterScreen() {
9812
9815
  },
9813
9816
  "Privacy Policy"
9814
9817
  ), ". We protect your information with bank-level encryption.")),
9815
- /* @__PURE__ */ React20.createElement(
9818
+ /* @__PURE__ */ React21.createElement(
9816
9819
  Button,
9817
9820
  {
9818
9821
  type: "submit",
@@ -9820,10 +9823,10 @@ function RegisterScreen() {
9820
9823
  isLoading: isSubmitting,
9821
9824
  className: "w-full"
9822
9825
  },
9823
- /* @__PURE__ */ React20.createElement(UserPlus, { className: "h-5 w-5" }),
9826
+ /* @__PURE__ */ React21.createElement(UserPlus, { className: "h-5 w-5" }),
9824
9827
  "Create my account"
9825
9828
  )
9826
- ), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-slate-50 p-6 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(Heart, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "Members love us"), /* @__PURE__ */ React20.createElement("p", null, "92% of patients report improved adherence after receiving pharmacist touchpoints through their Hey Pharmacist account.")))))
9829
+ ), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-slate-50 p-6 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(Heart, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "Members love us"), /* @__PURE__ */ React21.createElement("p", null, "92% of patients report improved adherence after receiving pharmacist touchpoints through their Hey Pharmacist account.")))))
9827
9830
  )));
9828
9831
  }
9829
9832
  var profileSchema = z.object({
@@ -9890,15 +9893,15 @@ function ProfileScreen() {
9890
9893
  href: buildPath("/account/addresses")
9891
9894
  }
9892
9895
  ];
9893
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement(
9896
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement(
9894
9897
  motion.div,
9895
9898
  {
9896
9899
  initial: { opacity: 0, y: 24 },
9897
9900
  animate: { opacity: 1, y: 0 },
9898
9901
  className: "flex flex-col gap-8 md:flex-row md:items-center md:justify-between"
9899
9902
  },
9900
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-5" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(HeartPulse, { className: "h-4 w-4" }), "My account"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Hello, ", user.firstname, " ", user.lastname), /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Manage profile details, shipping preferences, and personalized recommendations. Our pharmacists keep your care plan up to date."), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-4 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-2" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), "Account secured with multi-factor ready login"))),
9901
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-center gap-4 rounded-3xl bg-white/15 p-6 text-center backdrop-blur" }, /* @__PURE__ */ React20.createElement("div", { className: "flex h-24 w-24 items-center justify-center rounded-full bg-white/20 text-3xl font-bold text-white" }, getInitials(user?.firstname || "", user?.lastname || "") || ""), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/80" }, user.email), /* @__PURE__ */ React20.createElement(
9903
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-5" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-4 w-4" }), "My account"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Hello, ", user.firstname, " ", user.lastname), /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Manage profile details, shipping preferences, and personalized recommendations. Our pharmacists keep your care plan up to date."), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-4 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-2" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), "Account secured with multi-factor ready login"))),
9904
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-center gap-4 rounded-3xl bg-white/15 p-6 text-center backdrop-blur" }, /* @__PURE__ */ React21.createElement("div", { className: "flex h-24 w-24 items-center justify-center rounded-full bg-white/20 text-3xl font-bold text-white" }, getInitials(user?.firstname || "", user?.lastname || "") || ""), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/80" }, user.email), /* @__PURE__ */ React21.createElement(
9902
9905
  Button,
9903
9906
  {
9904
9907
  variant: "ghost",
@@ -9907,14 +9910,14 @@ function ProfileScreen() {
9907
9910
  },
9908
9911
  "Change password"
9909
9912
  ))
9910
- ))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]" }, /* @__PURE__ */ React20.createElement(
9913
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]" }, /* @__PURE__ */ React21.createElement(
9911
9914
  motion.div,
9912
9915
  {
9913
9916
  initial: { opacity: 0, y: 24 },
9914
9917
  animate: { opacity: 1, y: 0 },
9915
9918
  className: "space-y-6"
9916
9919
  },
9917
- /* @__PURE__ */ React20.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Personal information"), /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-5 w-5 text-primary-500" })), /* @__PURE__ */ React20.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "mt-6 space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
9920
+ /* @__PURE__ */ React21.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Personal information"), /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-5 w-5 text-primary-500" })), /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "mt-6 space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
9918
9921
  Input,
9919
9922
  {
9920
9923
  label: "First name",
@@ -9922,7 +9925,7 @@ function ProfileScreen() {
9922
9925
  ...register("firstName"),
9923
9926
  error: errors.firstName?.message
9924
9927
  }
9925
- ), /* @__PURE__ */ React20.createElement(
9928
+ ), /* @__PURE__ */ React21.createElement(
9926
9929
  Input,
9927
9930
  {
9928
9931
  label: "Last name",
@@ -9930,7 +9933,7 @@ function ProfileScreen() {
9930
9933
  ...register("lastName"),
9931
9934
  error: errors.lastName?.message
9932
9935
  }
9933
- )), /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9936
+ )), /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9934
9937
  Input,
9935
9938
  {
9936
9939
  type: "email",
@@ -9940,7 +9943,7 @@ function ProfileScreen() {
9940
9943
  ...register("email"),
9941
9944
  error: errors.email?.message
9942
9945
  }
9943
- ), /* @__PURE__ */ React20.createElement(Mail, { className: "absolute left-3 top-[38px] h-4 w-4 text-slate-400" })), /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9946
+ ), /* @__PURE__ */ React21.createElement(Mail, { className: "absolute left-3 top-[38px] h-4 w-4 text-slate-400" })), /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9944
9947
  Input,
9945
9948
  {
9946
9949
  type: "tel",
@@ -9950,7 +9953,7 @@ function ProfileScreen() {
9950
9953
  ...register("phone"),
9951
9954
  error: errors.phone?.message
9952
9955
  }
9953
- ), /* @__PURE__ */ React20.createElement(Phone, { className: "absolute left-3 top-[38px] h-4 w-4 text-slate-400" })), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-4" }, /* @__PURE__ */ React20.createElement(
9956
+ ), /* @__PURE__ */ React21.createElement(Phone, { className: "absolute left-3 top-[38px] h-4 w-4 text-slate-400" })), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-4" }, /* @__PURE__ */ React21.createElement(
9954
9957
  Button,
9955
9958
  {
9956
9959
  type: "submit",
@@ -9958,7 +9961,7 @@ function ProfileScreen() {
9958
9961
  isLoading: isSubmitting
9959
9962
  },
9960
9963
  "Save changes"
9961
- ), /* @__PURE__ */ React20.createElement(
9964
+ ), /* @__PURE__ */ React21.createElement(
9962
9965
  Button,
9963
9966
  {
9964
9967
  type: "button",
@@ -9968,16 +9971,16 @@ function ProfileScreen() {
9968
9971
  },
9969
9972
  "View recent orders"
9970
9973
  )))),
9971
- /* @__PURE__ */ React20.createElement("section", { className: "grid gap-4 md:grid-cols-2" }, quickLinks.map((item) => /* @__PURE__ */ React20.createElement(
9974
+ /* @__PURE__ */ React21.createElement("section", { className: "grid gap-4 md:grid-cols-2" }, quickLinks.map((item) => /* @__PURE__ */ React21.createElement(
9972
9975
  Link8,
9973
9976
  {
9974
9977
  key: item.href,
9975
9978
  href: item.href,
9976
9979
  className: "group rounded-3xl border border-slate-100 bg-white p-6 shadow-sm transition hover:-translate-y-1 hover:shadow-lg"
9977
9980
  },
9978
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement("span", { className: "rounded-2xl bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React20.createElement(item.icon, { className: "h-5 w-5" })), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-base font-semibold text-slate-900 group-hover:text-primary-600" }, item.label), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, item.description)))
9981
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement("span", { className: "rounded-2xl bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React21.createElement(item.icon, { className: "h-5 w-5" })), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-base font-semibold text-slate-900 group-hover:text-primary-600" }, item.label), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, item.description)))
9979
9982
  )))
9980
- ), /* @__PURE__ */ React20.createElement(
9983
+ ), /* @__PURE__ */ React21.createElement(
9981
9984
  motion.aside,
9982
9985
  {
9983
9986
  initial: { opacity: 0, y: 24 },
@@ -9985,7 +9988,7 @@ function ProfileScreen() {
9985
9988
  transition: { delay: 0.1 },
9986
9989
  className: "space-y-6"
9987
9990
  },
9988
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "Care preferences"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm text-slate-600" }, "Customize how we support you. Set refill reminders or manage communication preferences to stay aligned with your wellness goals."), /* @__PURE__ */ React20.createElement(
9991
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "Care preferences"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-slate-600" }, "Customize how we support you. Set refill reminders or manage communication preferences to stay aligned with your wellness goals."), /* @__PURE__ */ React21.createElement(
9989
9992
  Button,
9990
9993
  {
9991
9994
  variant: "outline",
@@ -9994,14 +9997,14 @@ function ProfileScreen() {
9994
9997
  },
9995
9998
  "Manage preferences"
9996
9999
  )),
9997
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Pharmacist tip"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 leading-relaxed" }, "Keep your phone number current so pharmacists can reach you quickly with dosage advice or time-sensitive updates about your order.")),
9998
- /* @__PURE__ */ React20.createElement(
10000
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Pharmacist tip"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 leading-relaxed" }, "Keep your phone number current so pharmacists can reach you quickly with dosage advice or time-sensitive updates about your order.")),
10001
+ /* @__PURE__ */ React21.createElement(
9999
10002
  "button",
10000
10003
  {
10001
10004
  onClick: handleLogout,
10002
10005
  className: "flex w-full items-center justify-center gap-2 rounded-3xl border border-red-200 bg-red-50 px-4 py-3 text-sm font-semibold text-red-600 transition hover:bg-red-100"
10003
10006
  },
10004
- /* @__PURE__ */ React20.createElement(LogOut, { className: "h-4 w-4" }),
10007
+ /* @__PURE__ */ React21.createElement(LogOut, { className: "h-4 w-4" }),
10005
10008
  "Log out"
10006
10009
  )
10007
10010
  )))));
@@ -10009,7 +10012,7 @@ function ProfileScreen() {
10009
10012
  function OrderCard({ order }) {
10010
10013
  const { buildPath } = useBasePath();
10011
10014
  const config = order.orderStatus;
10012
- return /* @__PURE__ */ React20.createElement(
10015
+ return /* @__PURE__ */ React21.createElement(
10013
10016
  motion.div,
10014
10017
  {
10015
10018
  initial: { opacity: 0, y: 20 },
@@ -10017,9 +10020,9 @@ function OrderCard({ order }) {
10017
10020
  whileHover: { y: -4 },
10018
10021
  className: "bg-white rounded-2xl p-6 shadow-sm hover:shadow-xl transition-all duration-300 border border-gray-100"
10019
10022
  },
10020
- /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-bold text-gray-900 flex items-center gap-2" }, /* @__PURE__ */ React20.createElement(Package, { className: "w-5 h-5 text-primary-600" }), "Order #", order?._id?.slice(0, 6) || ""), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-500 mt-1 flex items-center gap-2" }, /* @__PURE__ */ React20.createElement(Calendar, { className: "w-4 h-4" }), formatDate(order.createdAt || /* @__PURE__ */ new Date(), "long"))), /* @__PURE__ */ React20.createElement(Badge, { variant: config }, config)),
10021
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-2 mb-4" }, order.items?.slice(0, 2).map((item) => /* @__PURE__ */ React20.createElement("div", { key: item.productVariantId, className: "flex items-center gap-3 text-sm" }, /* @__PURE__ */ React20.createElement(Image3, { src: item?.productVariantData?.productMedia?.[0]?.file || "/placeholder-product.jpg", alt: item?.productVariantData?.name || "Product image", width: 48, height: 48, className: "w-12 h-12 rounded-lg bg-gray-100 flex-shrink-0" }), /* @__PURE__ */ React20.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React20.createElement("p", { className: "font-medium text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-500" }, "Qty: ", item.quantity)), /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-gray-900" }, formatPrice(item.productVariantData.finalPrice)))), order.items?.length && order.items?.length > 2 && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-500 pl-15" }, "+", order.items.length - 2, " more item", order.items.length - 2 > 1 ? "s" : "")),
10022
- /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-center pt-4 border-t border-gray-200" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-500" }, "Total Amount"), /* @__PURE__ */ React20.createElement("p", { className: "text-2xl font-bold text-gray-900" }, formatPrice(order.grandTotal || 0))), /* @__PURE__ */ React20.createElement("div", { className: "flex gap-2" }, order.payment.paymentStatus !== "Paid" /* Paid */ && order.payment.paymentMethod === "Card" /* Card */ && /* @__PURE__ */ React20.createElement(
10023
+ /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-bold text-gray-900 flex items-center gap-2" }, /* @__PURE__ */ React21.createElement(Package, { className: "w-5 h-5 text-primary-600" }), "Order #", order?._id?.slice(0, 6) || ""), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-500 mt-1 flex items-center gap-2" }, /* @__PURE__ */ React21.createElement(Calendar, { className: "w-4 h-4" }), formatDate(order.createdAt || /* @__PURE__ */ new Date(), "long"))), /* @__PURE__ */ React21.createElement(Badge, { variant: config }, config)),
10024
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-2 mb-4" }, order.items?.slice(0, 2).map((item) => /* @__PURE__ */ React21.createElement("div", { key: item.productVariantId, className: "flex items-center gap-3 text-sm" }, /* @__PURE__ */ React21.createElement(Image3, { src: item?.productVariantData?.productMedia?.[0]?.file || "/placeholder-product.jpg", alt: item?.productVariantData?.name || "Product image", width: 48, height: 48, className: "w-12 h-12 rounded-lg bg-gray-100 flex-shrink-0" }), /* @__PURE__ */ React21.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21.createElement("p", { className: "font-medium text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-500" }, "Qty: ", item.quantity)), /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-gray-900" }, formatPrice(item.productVariantData.finalPrice)))), order.items?.length && order.items?.length > 2 && /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-500 pl-15" }, "+", order.items.length - 2, " more item", order.items.length - 2 > 1 ? "s" : "")),
10025
+ /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-center pt-4 border-t border-gray-200" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-500" }, "Total Amount"), /* @__PURE__ */ React21.createElement("p", { className: "text-2xl font-bold text-gray-900" }, formatPrice(order.grandTotal || 0))), /* @__PURE__ */ React21.createElement("div", { className: "flex gap-2" }, order.payment.paymentStatus !== "Paid" /* Paid */ && order.payment.paymentMethod === "Card" /* Card */ && /* @__PURE__ */ React21.createElement(
10023
10026
  "a",
10024
10027
  {
10025
10028
  href: order?.payment?.paymentIntent?.hostedInvoiceUrl || "",
@@ -10027,7 +10030,7 @@ function OrderCard({ order }) {
10027
10030
  rel: "noopener noreferrer",
10028
10031
  className: "inline-flex items-center gap-2 px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors"
10029
10032
  },
10030
- /* @__PURE__ */ React20.createElement(CreditCard, { className: "w-4 h-4" }),
10033
+ /* @__PURE__ */ React21.createElement(CreditCard, { className: "w-4 h-4" }),
10031
10034
  "Pay Now"
10032
10035
  )))
10033
10036
  );
@@ -10183,7 +10186,7 @@ function FilterChips({
10183
10186
  document.removeEventListener("mousedown", handleClickOutside);
10184
10187
  };
10185
10188
  }, [isOverflowOpen]);
10186
- return /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center md:gap-4" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-slate-600" }, /* @__PURE__ */ React20.createElement(Icon, { className: "h-4 w-4" }), label), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-3" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, visibleFilters.map((filter) => /* @__PURE__ */ React20.createElement(
10189
+ return /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center md:gap-4" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-slate-600" }, /* @__PURE__ */ React21.createElement(Icon, { className: "h-4 w-4" }), label), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-3" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, visibleFilters.map((filter) => /* @__PURE__ */ React21.createElement(
10187
10190
  "button",
10188
10191
  {
10189
10192
  key: filter,
@@ -10192,16 +10195,16 @@ function FilterChips({
10192
10195
  className: `rounded-full border px-3 py-1 text-sm font-medium transition ${selected === filter ? `border-${color}-600 bg-${color}-600 text-white shadow-lg shadow-${color}-500/30` : `border-slate-200 bg-slate-50 text-slate-600 hover:border-${color}-300 hover:text-${color}-600`}`
10193
10196
  },
10194
10197
  filter
10195
- ))), overflowFilters.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "relative", ref: overflowMenuRef }, /* @__PURE__ */ React20.createElement(
10198
+ ))), overflowFilters.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "relative", ref: overflowMenuRef }, /* @__PURE__ */ React21.createElement(
10196
10199
  "button",
10197
10200
  {
10198
10201
  type: "button",
10199
10202
  onClick: () => setIsOverflowOpen((prev) => !prev),
10200
10203
  className: `flex items-center gap-2 rounded-full border px-3 py-1 text-sm font-medium transition ${overflowFilters.includes(selected) ? `border-${color}-600 bg-${color}-50 text-${color}-700 shadow-lg shadow-${color}-500/20` : "border-slate-200 bg-white text-slate-600 hover:border-slate-300"}`
10201
10204
  },
10202
- /* @__PURE__ */ React20.createElement("span", null, overflowFilters.includes(selected) ? selected : "More"),
10203
- /* @__PURE__ */ React20.createElement("span", { className: `inline-flex h-5 min-w-[1.5rem] items-center justify-center rounded-full bg-${color}-100 px-1 text-xs font-semibold text-${color}-600` }, overflowFilters.length)
10204
- ), /* @__PURE__ */ React20.createElement(AnimatePresence, null, isOverflowOpen && /* @__PURE__ */ React20.createElement(
10205
+ /* @__PURE__ */ React21.createElement("span", null, overflowFilters.includes(selected) ? selected : "More"),
10206
+ /* @__PURE__ */ React21.createElement("span", { className: `inline-flex h-5 min-w-[1.5rem] items-center justify-center rounded-full bg-${color}-100 px-1 text-xs font-semibold text-${color}-600` }, overflowFilters.length)
10207
+ ), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isOverflowOpen && /* @__PURE__ */ React21.createElement(
10205
10208
  motion.div,
10206
10209
  {
10207
10210
  initial: { opacity: 0, y: 8 },
@@ -10210,7 +10213,7 @@ function FilterChips({
10210
10213
  transition: { duration: 0.15 },
10211
10214
  className: "absolute right-0 z-50 mt-2 w-64 rounded-2xl border border-slate-100 bg-white shadow-xl shadow-primary-50"
10212
10215
  },
10213
- /* @__PURE__ */ React20.createElement("div", { className: "border-b border-slate-100 px-4 py-3" }, /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(Search, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400" }), /* @__PURE__ */ React20.createElement(
10216
+ /* @__PURE__ */ React21.createElement("div", { className: "border-b border-slate-100 px-4 py-3" }, /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(Search, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400" }), /* @__PURE__ */ React21.createElement(
10214
10217
  "input",
10215
10218
  {
10216
10219
  type: "text",
@@ -10220,7 +10223,7 @@ function FilterChips({
10220
10223
  className: "w-full rounded-full border border-slate-200 bg-slate-50 py-2 pl-9 pr-3 text-sm text-slate-600 outline-none transition focus:border-primary-300 focus:bg-white focus:ring-2 focus:ring-primary-200"
10221
10224
  }
10222
10225
  ))),
10223
- /* @__PURE__ */ React20.createElement("div", { className: "max-h-60 overflow-y-auto px-2 py-2" }, filteredOverflowFilters.length > 0 ? filteredOverflowFilters.map((filter) => /* @__PURE__ */ React20.createElement(
10226
+ /* @__PURE__ */ React21.createElement("div", { className: "max-h-60 overflow-y-auto px-2 py-2" }, filteredOverflowFilters.length > 0 ? filteredOverflowFilters.map((filter) => /* @__PURE__ */ React21.createElement(
10224
10227
  "button",
10225
10228
  {
10226
10229
  key: filter,
@@ -10231,10 +10234,10 @@ function FilterChips({
10231
10234
  },
10232
10235
  className: `flex w-full items-center justify-between rounded-xl px-3 py-2 text-sm font-medium transition ${selected === filter ? `bg-${color}-600 text-white shadow-lg shadow-${color}-500/30` : "text-slate-600 hover:bg-slate-100"}`
10233
10236
  },
10234
- /* @__PURE__ */ React20.createElement("span", null, filter),
10235
- selected === filter && /* @__PURE__ */ React20.createElement(Check, { className: "h-4 w-4" })
10236
- )) : /* @__PURE__ */ React20.createElement("p", { className: "px-3 py-4 text-sm text-slate-500" }, "No items found.")),
10237
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between gap-2 border-t border-slate-100 px-4 py-3" }, /* @__PURE__ */ React20.createElement("span", { className: "text-xs font-semibold uppercase tracking-wide text-slate-400" }, "Quick actions"), /* @__PURE__ */ React20.createElement(
10237
+ /* @__PURE__ */ React21.createElement("span", null, filter),
10238
+ selected === filter && /* @__PURE__ */ React21.createElement(Check, { className: "h-4 w-4" })
10239
+ )) : /* @__PURE__ */ React21.createElement("p", { className: "px-3 py-4 text-sm text-slate-500" }, "No items found.")),
10240
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between gap-2 border-t border-slate-100 px-4 py-3" }, /* @__PURE__ */ React21.createElement("span", { className: "text-xs font-semibold uppercase tracking-wide text-slate-400" }, "Quick actions"), /* @__PURE__ */ React21.createElement(
10238
10241
  "button",
10239
10242
  {
10240
10243
  type: "button",
@@ -10292,23 +10295,23 @@ function OrdersScreen() {
10292
10295
  document.removeEventListener("mousedown", handleClickOutside);
10293
10296
  };
10294
10297
  }, [isOverflowOpen]);
10295
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement(
10298
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement(
10296
10299
  motion.div,
10297
10300
  {
10298
10301
  initial: { opacity: 0, y: 24 },
10299
10302
  animate: { opacity: 1, y: 0 },
10300
10303
  className: "space-y-6"
10301
10304
  },
10302
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(CalendarDays, { className: "h-4 w-4" }), "Order history"),
10303
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "All of your pharmacy orders"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Access receipts, shipping statuses, and reorder suggestions in one organized timeline curated by our pharmacists.")), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use filters to review previous prescriptions, reorder favorites, or download invoices for insurance claims.")))
10304
- ))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-16 container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement(
10305
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(CalendarDays, { className: "h-4 w-4" }), "Order history"),
10306
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "All of your pharmacy orders"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Access receipts, shipping statuses, and reorder suggestions in one organized timeline curated by our pharmacists.")), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use filters to review previous prescriptions, reorder favorites, or download invoices for insurance claims.")))
10307
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-16 container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
10305
10308
  motion.div,
10306
10309
  {
10307
10310
  initial: { opacity: 0, y: 24 },
10308
10311
  animate: { opacity: 1, y: 0 },
10309
10312
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
10310
10313
  },
10311
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "Explore your complete order archive with pharmacist notes.")), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 md:items-end" }, /* @__PURE__ */ React20.createElement(
10314
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "Explore your complete order archive with pharmacist notes.")), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 md:items-end" }, /* @__PURE__ */ React21.createElement(
10312
10315
  FilterChips,
10313
10316
  {
10314
10317
  label: "Status filters",
@@ -10322,7 +10325,7 @@ function OrdersScreen() {
10322
10325
  maxVisible: MAX_VISIBLE_FILTERS,
10323
10326
  variant: "primary"
10324
10327
  }
10325
- ), /* @__PURE__ */ React20.createElement(
10328
+ ), /* @__PURE__ */ React21.createElement(
10326
10329
  FilterChips,
10327
10330
  {
10328
10331
  label: "Payment status",
@@ -10337,7 +10340,7 @@ function OrdersScreen() {
10337
10340
  variant: "primary"
10338
10341
  }
10339
10342
  ))),
10340
- /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-y-4" }, isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React20.createElement(OrderCardSkeleton, { key: index })) : hasOrders ? filteredOrders.map((order) => /* @__PURE__ */ React20.createElement(OrderCard, { key: order.id, order })) : /* @__PURE__ */ React20.createElement(
10343
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-y-4" }, isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21.createElement(OrderCardSkeleton, { key: index })) : hasOrders ? filteredOrders.map((order) => /* @__PURE__ */ React21.createElement(OrderCard, { key: order.id, order })) : /* @__PURE__ */ React21.createElement(
10341
10344
  EmptyState,
10342
10345
  {
10343
10346
  icon: Package,
@@ -10347,16 +10350,16 @@ function OrdersScreen() {
10347
10350
  onAction: () => router.push(buildPath("/shop"))
10348
10351
  }
10349
10352
  )),
10350
- !isLoading && pagination.totalPages > 1 && hasOrders && /* @__PURE__ */ React20.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-4" }, /* @__PURE__ */ React20.createElement(
10353
+ !isLoading && pagination.totalPages > 1 && hasOrders && /* @__PURE__ */ React21.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-4" }, /* @__PURE__ */ React21.createElement(
10351
10354
  Button,
10352
10355
  {
10353
10356
  variant: "outline",
10354
10357
  onClick: () => setPage((current) => Math.max(1, current - 1)),
10355
10358
  disabled: page === 1
10356
10359
  },
10357
- /* @__PURE__ */ React20.createElement(ChevronLeft, { className: "h-5 w-5" }),
10360
+ /* @__PURE__ */ React21.createElement(ChevronLeft, { className: "h-5 w-5" }),
10358
10361
  "Previous"
10359
- ), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-semibold text-slate-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React20.createElement(
10362
+ ), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-semibold text-slate-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React21.createElement(
10360
10363
  Button,
10361
10364
  {
10362
10365
  variant: "outline",
@@ -10364,7 +10367,7 @@ function OrdersScreen() {
10364
10367
  disabled: page === pagination.totalPages
10365
10368
  },
10366
10369
  "Next",
10367
- /* @__PURE__ */ React20.createElement(ChevronRight, { className: "h-5 w-5" })
10370
+ /* @__PURE__ */ React21.createElement(ChevronRight, { className: "h-5 w-5" })
10368
10371
  ))
10369
10372
  ))));
10370
10373
  }
@@ -10373,17 +10376,17 @@ function CurrentOrdersScreen() {
10373
10376
  const { orders, isLoading } = useCurrentOrders();
10374
10377
  const { buildPath } = useBasePath();
10375
10378
  const hasOrders = orders.length > 0;
10376
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement(
10379
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement(
10377
10380
  motion.div,
10378
10381
  {
10379
10382
  initial: { opacity: 0, y: 24 },
10380
10383
  animate: { opacity: 1, y: 0 },
10381
10384
  className: "space-y-4"
10382
10385
  },
10383
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(Truck, { className: "h-4 w-4" }), "Live order tracking"),
10384
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Current orders"),
10385
- /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Follow your pharmacy orders from preparation to delivery. Real-time updates, SMS alerts, and pharmacist oversight come standard.")
10386
- ), /* @__PURE__ */ React20.createElement(
10386
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(Truck, { className: "h-4 w-4" }), "Live order tracking"),
10387
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Current orders"),
10388
+ /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Follow your pharmacy orders from preparation to delivery. Real-time updates, SMS alerts, and pharmacist oversight come standard.")
10389
+ ), /* @__PURE__ */ React21.createElement(
10387
10390
  motion.div,
10388
10391
  {
10389
10392
  initial: { opacity: 0, y: 24 },
@@ -10391,24 +10394,24 @@ function CurrentOrdersScreen() {
10391
10394
  transition: { delay: 0.1 },
10392
10395
  className: "rounded-3xl bg-white/15 p-6 backdrop-blur"
10393
10396
  },
10394
- /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick actions"),
10395
- /* @__PURE__ */ React20.createElement("div", { className: "mt-4 space-y-3 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement(
10397
+ /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick actions"),
10398
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-4 space-y-3 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement(
10396
10399
  Link8,
10397
10400
  {
10398
10401
  href: buildPath("/orders"),
10399
10402
  className: "flex items-center justify-between rounded-2xl bg-white/10 px-4 py-3 transition hover:bg-white/20"
10400
10403
  },
10401
- /* @__PURE__ */ React20.createElement("span", { className: "font-semibold text-white" }, "View order history"),
10402
- /* @__PURE__ */ React20.createElement(ArrowUpRight, { className: "h-4 w-4" })
10403
- ), /* @__PURE__ */ React20.createElement("p", null, "Need help fast? Chat with a pharmacist and we will triage your request in under 10 minutes."))
10404
- )))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement(
10404
+ /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-white" }, "View order history"),
10405
+ /* @__PURE__ */ React21.createElement(ArrowUpRight, { className: "h-4 w-4" })
10406
+ ), /* @__PURE__ */ React21.createElement("p", null, "Need help fast? Chat with a pharmacist and we will triage your request in under 10 minutes."))
10407
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
10405
10408
  motion.section,
10406
10409
  {
10407
10410
  initial: { opacity: 0, y: 24 },
10408
10411
  animate: { opacity: 1, y: 0 },
10409
10412
  className: "grid gap-6 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]"
10410
10413
  },
10411
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, isLoading ? /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React20.createElement(OrderCardSkeleton, { key: index }))) : hasOrders ? /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, orders.map((order) => /* @__PURE__ */ React20.createElement(OrderCard, { key: order.id, order }))) : /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-10 shadow-sm" }, /* @__PURE__ */ React20.createElement(
10414
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, isLoading ? /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21.createElement(OrderCardSkeleton, { key: index }))) : hasOrders ? /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, orders.map((order) => /* @__PURE__ */ React21.createElement(OrderCard, { key: order.id, order }))) : /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-10 shadow-sm" }, /* @__PURE__ */ React21.createElement(
10412
10415
  EmptyState,
10413
10416
  {
10414
10417
  icon: PackageCheck,
@@ -10418,7 +10421,7 @@ function CurrentOrdersScreen() {
10418
10421
  onAction: () => router.push(buildPath("/shop"))
10419
10422
  }
10420
10423
  ))),
10421
- /* @__PURE__ */ React20.createElement("aside", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-lg font-semibold text-slate-900" }, "Real-time milestones"), /* @__PURE__ */ React20.createElement("div", { className: "mt-4 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement(Warehouse, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "Preparation"), /* @__PURE__ */ React20.createElement("p", null, "Our pharmacists verify ingredients and pack thermo-sensitive items."))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement(Truck, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "In transit"), /* @__PURE__ */ React20.createElement("p", null, "Track live courier location with ETA updates tailored to your delivery window."))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement(BellRing, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "Arrival alerts"), /* @__PURE__ */ React20.createElement("p", null, "Receive SMS and email notifications when parcels are out for delivery."))))), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Need support?"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 leading-relaxed" }, "Our fulfillment team is online 7 days a week. Message us if you need to adjust delivery instructions or review dosage guidance.")))
10424
+ /* @__PURE__ */ React21.createElement("aside", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-lg font-semibold text-slate-900" }, "Real-time milestones"), /* @__PURE__ */ React21.createElement("div", { className: "mt-4 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement(Warehouse, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "Preparation"), /* @__PURE__ */ React21.createElement("p", null, "Our pharmacists verify ingredients and pack thermo-sensitive items."))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement(Truck, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "In transit"), /* @__PURE__ */ React21.createElement("p", null, "Track live courier location with ETA updates tailored to your delivery window."))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement(BellRing, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "Arrival alerts"), /* @__PURE__ */ React21.createElement("p", null, "Receive SMS and email notifications when parcels are out for delivery."))))), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Need support?"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 leading-relaxed" }, "Our fulfillment team is online 7 days a week. Message us if you need to adjust delivery instructions or review dosage guidance.")))
10422
10425
  ))));
10423
10426
  }
10424
10427
  var addressFormSchema = z.object({
@@ -10451,12 +10454,12 @@ function formatAddressSnippet(address) {
10451
10454
  function getAddressTypeCopy(type) {
10452
10455
  switch (type) {
10453
10456
  case "Billing":
10454
- return { label: "Billing", icon: /* @__PURE__ */ React20.createElement(Home, { className: "h-4 w-4" }) };
10457
+ return { label: "Billing", icon: /* @__PURE__ */ React21.createElement(Home, { className: "h-4 w-4" }) };
10455
10458
  case "Both":
10456
- return { label: "Billing & Shipping", icon: /* @__PURE__ */ React20.createElement(Globe, { className: "h-4 w-4" }) };
10459
+ return { label: "Billing & Shipping", icon: /* @__PURE__ */ React21.createElement(Globe, { className: "h-4 w-4" }) };
10457
10460
  case "Shipping":
10458
10461
  default:
10459
- return { label: "Shipping", icon: /* @__PURE__ */ React20.createElement(MapPin, { className: "h-4 w-4" }) };
10462
+ return { label: "Shipping", icon: /* @__PURE__ */ React21.createElement(MapPin, { className: "h-4 w-4" }) };
10460
10463
  }
10461
10464
  }
10462
10465
  function AddressesScreen() {
@@ -10600,18 +10603,18 @@ You can add it back at any time.`
10600
10603
  }
10601
10604
  ];
10602
10605
  }, [addresses]);
10603
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.3),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement(
10606
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.3),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement(
10604
10607
  motion.div,
10605
10608
  {
10606
10609
  initial: { opacity: 0, y: 24 },
10607
10610
  animate: { opacity: 1, y: 0 },
10608
10611
  className: "space-y-5"
10609
10612
  },
10610
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(MapPin, { className: "h-4 w-4" }), "Address book"),
10611
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Manage where your care arrives"),
10612
- /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Add home, office, or loved ones' addresses and toggle a default for lightning-fast checkout and delivery."),
10613
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-3 text-sm text-white/75" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-white" }), "Default address: ", defaultAddress ? defaultAddress.name : "Not set"), /* @__PURE__ */ React20.createElement(Button, { variant: "ghost", className: "text-white hover:bg-white/10", onClick: openCreateModal }, /* @__PURE__ */ React20.createElement(Plus, { className: "h-5 w-5" }), "Add address"))
10614
- ), /* @__PURE__ */ React20.createElement(
10613
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(MapPin, { className: "h-4 w-4" }), "Address book"),
10614
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Manage where your care arrives"),
10615
+ /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Add home, office, or loved ones' addresses and toggle a default for lightning-fast checkout and delivery."),
10616
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-3 text-sm text-white/75" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-white" }), "Default address: ", defaultAddress ? defaultAddress.name : "Not set"), /* @__PURE__ */ React21.createElement(Button, { variant: "ghost", className: "text-white hover:bg-white/10", onClick: openCreateModal }, /* @__PURE__ */ React21.createElement(Plus, { className: "h-5 w-5" }), "Add address"))
10617
+ ), /* @__PURE__ */ React21.createElement(
10615
10618
  motion.div,
10616
10619
  {
10617
10620
  initial: { opacity: 0, y: 24 },
@@ -10619,14 +10622,14 @@ You can add it back at any time.`
10619
10622
  transition: { delay: 0.1 },
10620
10623
  className: "grid gap-4 rounded-3xl bg-white/15 p-6 text-sm text-white/80 backdrop-blur"
10621
10624
  },
10622
- stats.map((stat) => /* @__PURE__ */ React20.createElement("div", { key: stat.id, className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-white/70" }, stat.label), /* @__PURE__ */ React20.createElement("p", { className: "text-white" }, stat.helper)), /* @__PURE__ */ React20.createElement("span", { className: "text-3xl font-semibold text-white" }, stat.value)))
10623
- )))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, isLoading ? /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React20.createElement(
10625
+ stats.map((stat) => /* @__PURE__ */ React21.createElement("div", { key: stat.id, className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-white/70" }, stat.label), /* @__PURE__ */ React21.createElement("p", { className: "text-white" }, stat.helper)), /* @__PURE__ */ React21.createElement("span", { className: "text-3xl font-semibold text-white" }, stat.value)))
10626
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, isLoading ? /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21.createElement(
10624
10627
  "div",
10625
10628
  {
10626
10629
  key: index,
10627
10630
  className: "h-56 animate-pulse rounded-3xl border border-slate-100 bg-white"
10628
10631
  }
10629
- ))) : error ? /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-red-100 bg-red-50 p-6 text-sm text-red-700" }, error.message) : addresses.length === 0 ? /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-12 shadow-sm" }, /* @__PURE__ */ React20.createElement(
10632
+ ))) : error ? /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-red-100 bg-red-50 p-6 text-sm text-red-700" }, error.message) : addresses.length === 0 ? /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-12 shadow-sm" }, /* @__PURE__ */ React21.createElement(
10630
10633
  EmptyState,
10631
10634
  {
10632
10635
  icon: MapPin,
@@ -10635,9 +10638,9 @@ You can add it back at any time.`
10635
10638
  actionLabel: "Add your first address",
10636
10639
  onAction: openCreateModal
10637
10640
  }
10638
- )) : /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, addresses.map((address) => {
10641
+ )) : /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, addresses.map((address) => {
10639
10642
  const typeCopy = getAddressTypeCopy(address.addressType);
10640
- return /* @__PURE__ */ React20.createElement(
10643
+ return /* @__PURE__ */ React21.createElement(
10641
10644
  motion.div,
10642
10645
  {
10643
10646
  key: address.id,
@@ -10645,39 +10648,39 @@ You can add it back at any time.`
10645
10648
  animate: { opacity: 1, y: 0 },
10646
10649
  className: "group relative flex h-full flex-col rounded-3xl border border-slate-100 bg-white p-6 shadow-sm transition hover:-translate-y-1 hover:shadow-xl"
10647
10650
  },
10648
- address.isDefault && /* @__PURE__ */ React20.createElement("span", { className: "absolute right-6 top-6 inline-flex items-center gap-2 rounded-full bg-amber-100 px-3 py-1 text-xs font-semibold text-amber-700" }, /* @__PURE__ */ React20.createElement(Crown, { className: "h-4 w-4" }), "Default"),
10649
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement("span", { className: "rounded-full bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React20.createElement(User, { className: "h-5 w-5" })), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-base font-semibold text-slate-900" }, address.name), /* @__PURE__ */ React20.createElement("p", { className: "text-xs uppercase tracking-[0.3em] text-slate-400" }, typeCopy.label))),
10650
- /* @__PURE__ */ React20.createElement("div", { className: "mt-6 flex flex-1 flex-col gap-3 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("p", null, formatAddressSnippet(address)), /* @__PURE__ */ React20.createElement("p", { className: "inline-flex items-center gap-2 text-slate-500" }, /* @__PURE__ */ React20.createElement(Phone, { className: "h-4 w-4 text-slate-400" }), address.phone || "Not provided")),
10651
- /* @__PURE__ */ React20.createElement("div", { className: "mt-6 flex items-center justify-between gap-3" }, /* @__PURE__ */ React20.createElement(
10651
+ address.isDefault && /* @__PURE__ */ React21.createElement("span", { className: "absolute right-6 top-6 inline-flex items-center gap-2 rounded-full bg-amber-100 px-3 py-1 text-xs font-semibold text-amber-700" }, /* @__PURE__ */ React21.createElement(Crown, { className: "h-4 w-4" }), "Default"),
10652
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement("span", { className: "rounded-full bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React21.createElement(User, { className: "h-5 w-5" })), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-base font-semibold text-slate-900" }, address.name), /* @__PURE__ */ React21.createElement("p", { className: "text-xs uppercase tracking-[0.3em] text-slate-400" }, typeCopy.label))),
10653
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-6 flex flex-1 flex-col gap-3 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("p", null, formatAddressSnippet(address)), /* @__PURE__ */ React21.createElement("p", { className: "inline-flex items-center gap-2 text-slate-500" }, /* @__PURE__ */ React21.createElement(Phone, { className: "h-4 w-4 text-slate-400" }), address.phone || "Not provided")),
10654
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-6 flex items-center justify-between gap-3" }, /* @__PURE__ */ React21.createElement(
10652
10655
  "button",
10653
10656
  {
10654
10657
  type: "button",
10655
10658
  onClick: () => openEditModal(address),
10656
10659
  className: "inline-flex items-center gap-2 rounded-full border border-slate-200 px-3 py-1 text-sm font-medium text-slate-600 transition hover:border-primary-300 hover:text-primary-600"
10657
10660
  },
10658
- /* @__PURE__ */ React20.createElement(Edit3, { className: "h-4 w-4" }),
10661
+ /* @__PURE__ */ React21.createElement(Edit3, { className: "h-4 w-4" }),
10659
10662
  "Edit"
10660
- ), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, !address.isDefault && /* @__PURE__ */ React20.createElement(
10663
+ ), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, !address.isDefault && /* @__PURE__ */ React21.createElement(
10661
10664
  "button",
10662
10665
  {
10663
10666
  type: "button",
10664
10667
  onClick: () => handleSetDefault(address),
10665
10668
  className: "inline-flex items-center gap-2 rounded-full border border-amber-200 px-3 py-1 text-sm font-semibold text-amber-600 transition hover:border-amber-300 hover:text-amber-700"
10666
10669
  },
10667
- /* @__PURE__ */ React20.createElement(Star, { className: "h-4 w-4" }),
10670
+ /* @__PURE__ */ React21.createElement(Star, { className: "h-4 w-4" }),
10668
10671
  "Make default"
10669
- ), /* @__PURE__ */ React20.createElement(
10672
+ ), /* @__PURE__ */ React21.createElement(
10670
10673
  "button",
10671
10674
  {
10672
10675
  type: "button",
10673
10676
  onClick: () => handleDelete(address),
10674
10677
  className: "inline-flex items-center gap-2 rounded-full border border-red-200 px-3 py-1 text-sm font-semibold text-red-600 transition hover:border-red-300 hover:text-red-700"
10675
10678
  },
10676
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-4 w-4" }),
10679
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-4 w-4" }),
10677
10680
  "Delete"
10678
10681
  )))
10679
10682
  );
10680
- })))), /* @__PURE__ */ React20.createElement(
10683
+ })))), /* @__PURE__ */ React21.createElement(
10681
10684
  Modal,
10682
10685
  {
10683
10686
  isOpen: isModalOpen,
@@ -10685,7 +10688,7 @@ You can add it back at any time.`
10685
10688
  title: editingAddress ? "Edit address" : "Add new address",
10686
10689
  size: "lg"
10687
10690
  },
10688
- /* @__PURE__ */ React20.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
10691
+ /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
10689
10692
  Input,
10690
10693
  {
10691
10694
  label: "Full name",
@@ -10693,7 +10696,7 @@ You can add it back at any time.`
10693
10696
  ...register("fullName"),
10694
10697
  error: errors.fullName?.message
10695
10698
  }
10696
- ), /* @__PURE__ */ React20.createElement(
10699
+ ), /* @__PURE__ */ React21.createElement(
10697
10700
  Input,
10698
10701
  {
10699
10702
  label: "Phone number",
@@ -10701,7 +10704,7 @@ You can add it back at any time.`
10701
10704
  ...register("phone"),
10702
10705
  error: errors.phone?.message
10703
10706
  }
10704
- )), /* @__PURE__ */ React20.createElement(
10707
+ )), /* @__PURE__ */ React21.createElement(
10705
10708
  Input,
10706
10709
  {
10707
10710
  label: "Address line 1",
@@ -10709,7 +10712,7 @@ You can add it back at any time.`
10709
10712
  ...register("addressLine1"),
10710
10713
  error: errors.addressLine1?.message
10711
10714
  }
10712
- ), /* @__PURE__ */ React20.createElement(
10715
+ ), /* @__PURE__ */ React21.createElement(
10713
10716
  Input,
10714
10717
  {
10715
10718
  label: "Address line 2 (optional)",
@@ -10717,7 +10720,7 @@ You can add it back at any time.`
10717
10720
  ...register("addressLine2"),
10718
10721
  error: errors.addressLine2?.message
10719
10722
  }
10720
- ), /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
10723
+ ), /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
10721
10724
  Input,
10722
10725
  {
10723
10726
  label: "City",
@@ -10725,7 +10728,7 @@ You can add it back at any time.`
10725
10728
  ...register("city"),
10726
10729
  error: errors.city?.message
10727
10730
  }
10728
- ), /* @__PURE__ */ React20.createElement(
10731
+ ), /* @__PURE__ */ React21.createElement(
10729
10732
  Input,
10730
10733
  {
10731
10734
  label: "State / Region",
@@ -10733,7 +10736,7 @@ You can add it back at any time.`
10733
10736
  ...register("state"),
10734
10737
  error: errors.state?.message
10735
10738
  }
10736
- )), /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
10739
+ )), /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
10737
10740
  Input,
10738
10741
  {
10739
10742
  label: "Postal code",
@@ -10741,7 +10744,7 @@ You can add it back at any time.`
10741
10744
  ...register("zipCode"),
10742
10745
  error: errors.zipCode?.message
10743
10746
  }
10744
- ), /* @__PURE__ */ React20.createElement(
10747
+ ), /* @__PURE__ */ React21.createElement(
10745
10748
  Input,
10746
10749
  {
10747
10750
  label: "Country",
@@ -10749,23 +10752,23 @@ You can add it back at any time.`
10749
10752
  ...register("country"),
10750
10753
  error: errors.country?.message
10751
10754
  }
10752
- )), /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement("label", { className: "flex flex-col gap-2 rounded-2xl border border-slate-200 p-4" }, /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-semibold text-slate-700" }, "Address type"), /* @__PURE__ */ React20.createElement(
10755
+ )), /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement("label", { className: "flex flex-col gap-2 rounded-2xl border border-slate-200 p-4" }, /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-semibold text-slate-700" }, "Address type"), /* @__PURE__ */ React21.createElement(
10753
10756
  "select",
10754
10757
  {
10755
10758
  ...register("addressType"),
10756
10759
  className: "rounded-xl border border-slate-200 px-3 py-2 text-sm text-slate-700 focus:border-primary-400 focus:outline-none focus:ring-2 focus:ring-primary-500/20"
10757
10760
  },
10758
- /* @__PURE__ */ React20.createElement("option", { value: "Shipping" }, "Shipping"),
10759
- /* @__PURE__ */ React20.createElement("option", { value: "Billing" }, "Billing"),
10760
- /* @__PURE__ */ React20.createElement("option", { value: "Both" }, "Billing & Shipping")
10761
- )), /* @__PURE__ */ React20.createElement("label", { className: "flex items-center justify-between gap-4 rounded-2xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm font-medium text-slate-700" }, /* @__PURE__ */ React20.createElement("span", null, "Set as default address"), /* @__PURE__ */ React20.createElement(
10761
+ /* @__PURE__ */ React21.createElement("option", { value: "Shipping" }, "Shipping"),
10762
+ /* @__PURE__ */ React21.createElement("option", { value: "Billing" }, "Billing"),
10763
+ /* @__PURE__ */ React21.createElement("option", { value: "Both" }, "Billing & Shipping")
10764
+ )), /* @__PURE__ */ React21.createElement("label", { className: "flex items-center justify-between gap-4 rounded-2xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm font-medium text-slate-700" }, /* @__PURE__ */ React21.createElement("span", null, "Set as default address"), /* @__PURE__ */ React21.createElement(
10762
10765
  "input",
10763
10766
  {
10764
10767
  type: "checkbox",
10765
10768
  ...register("isDefault"),
10766
10769
  className: "h-4 w-4 rounded border-primary-300 text-primary-600 focus:ring-primary-500"
10767
10770
  }
10768
- ))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-end gap-3" }, /* @__PURE__ */ React20.createElement(Button, { type: "button", variant: "outline", onClick: closeModal }, "Cancel"), /* @__PURE__ */ React20.createElement(Button, { type: "submit", isLoading: isSubmitting }, editingAddress ? "Save changes" : "Save address")))
10771
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-end gap-3" }, /* @__PURE__ */ React21.createElement(Button, { type: "button", variant: "outline", onClick: closeModal }, "Cancel"), /* @__PURE__ */ React21.createElement(Button, { type: "submit", isLoading: isSubmitting }, editingAddress ? "Save changes" : "Save address")))
10769
10772
  ));
10770
10773
  }
10771
10774
  function useWishlistProducts(productIds = []) {
@@ -10905,14 +10908,14 @@ function WishlistScreen() {
10905
10908
  return list;
10906
10909
  }, [wishlistProducts, onlyInStock, sortOption]);
10907
10910
  const emptyAfterFiltering = !isLoading && wishlistProducts.length > 0 && processedProducts.length === 0;
10908
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50 pb-16" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] pb-32 pt-16 text-white" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 opacity-40 mix-blend-soft-light", "aria-hidden": "true" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute -top-1/2 right-1/2 h-[40rem] w-[40rem] rounded-full bg-white/10 blur-3xl" }), /* @__PURE__ */ React20.createElement("div", { className: "absolute left-1/4 top-1/4 h-48 w-48 rounded-full bg-white/20 blur-2xl" })), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "max-w-3xl space-y-6" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(Heart, { className: "h-4 w-4" }), "Wishlist"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-5xl" }, "Curate your pharmacy must-haves in one calming space"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "We keep your favourite products ready for reorder, refill reminders, and quick checkout\u2014exactly when you need them.")))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement(
10911
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50 pb-16" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] pb-32 pt-16 text-white" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 opacity-40 mix-blend-soft-light", "aria-hidden": "true" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute -top-1/2 right-1/2 h-[40rem] w-[40rem] rounded-full bg-white/10 blur-3xl" }), /* @__PURE__ */ React21.createElement("div", { className: "absolute left-1/4 top-1/4 h-48 w-48 rounded-full bg-white/20 blur-2xl" })), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "max-w-3xl space-y-6" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(Heart, { className: "h-4 w-4" }), "Wishlist"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-5xl" }, "Curate your pharmacy must-haves in one calming space"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "We keep your favourite products ready for reorder, refill reminders, and quick checkout\u2014exactly when you need them.")))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
10909
10912
  motion.div,
10910
10913
  {
10911
10914
  initial: { opacity: 0, y: 24 },
10912
10915
  animate: { opacity: 1, y: 0 },
10913
10916
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-xl shadow-primary-50"
10914
10917
  },
10915
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6" }, !isAuthenticated && /* @__PURE__ */ React20.createElement("div", { className: "flex min-h-[40vh] items-center justify-center" }, /* @__PURE__ */ React20.createElement("div", { className: "max-w-lg rounded-3xl border border-slate-100 bg-white p-10 text-center shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "mx-auto flex h-16 w-16 items-center justify-center rounded-full bg-primary-50 text-primary-600" }, /* @__PURE__ */ React20.createElement(Heart, { className: "h-8 w-8" })), /* @__PURE__ */ React20.createElement("h2", { className: "mt-6 text-3xl font-bold text-slate-900" }, "Sign in to see your favourites"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-slate-500" }, "Create your curated shelf of products and we'll keep them ready whenever you return."), /* @__PURE__ */ React20.createElement(Button, { className: "mt-6", onClick: () => router.push(buildPath("/login")) }, "Sign In"))), isAuthenticated && /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-1" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "Your saved collection"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "Total value: ", /* @__PURE__ */ React20.createElement("span", { className: "font-semibold text-primary-600" }, formatPrice(totalValue)), onlyInStock && " \u2022 Showing items ready to ship")), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-3" }, /* @__PURE__ */ React20.createElement("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-200 hover:text-primary-600" }, /* @__PURE__ */ React20.createElement(
10918
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6" }, !isAuthenticated && /* @__PURE__ */ React21.createElement("div", { className: "flex min-h-[40vh] items-center justify-center" }, /* @__PURE__ */ React21.createElement("div", { className: "max-w-lg rounded-3xl border border-slate-100 bg-white p-10 text-center shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "mx-auto flex h-16 w-16 items-center justify-center rounded-full bg-primary-50 text-primary-600" }, /* @__PURE__ */ React21.createElement(Heart, { className: "h-8 w-8" })), /* @__PURE__ */ React21.createElement("h2", { className: "mt-6 text-3xl font-bold text-slate-900" }, "Sign in to see your favourites"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-slate-500" }, "Create your curated shelf of products and we'll keep them ready whenever you return."), /* @__PURE__ */ React21.createElement(Button, { className: "mt-6", onClick: () => router.push(buildPath("/login")) }, "Sign In"))), isAuthenticated && /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-1" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "Your saved collection"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "Total value: ", /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-primary-600" }, formatPrice(totalValue)), onlyInStock && " \u2022 Showing items ready to ship")), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-3" }, /* @__PURE__ */ React21.createElement("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-200 hover:text-primary-600" }, /* @__PURE__ */ React21.createElement(
10916
10919
  "input",
10917
10920
  {
10918
10921
  type: "checkbox",
@@ -10920,54 +10923,54 @@ function WishlistScreen() {
10920
10923
  onChange: (event) => setOnlyInStock(event.target.checked),
10921
10924
  className: "h-4 w-4 rounded border-slate-300 text-primary-600 focus:ring-primary-500"
10922
10925
  }
10923
- ), "Only show in-stock"), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("span", null, "Sort"), /* @__PURE__ */ React20.createElement(
10926
+ ), "Only show in-stock"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("span", null, "Sort"), /* @__PURE__ */ React21.createElement(
10924
10927
  "select",
10925
10928
  {
10926
10929
  value: sortOption,
10927
10930
  onChange: (event) => setSortOption(event.target.value),
10928
10931
  className: "bg-transparent text-sm font-medium text-slate-700 outline-none"
10929
10932
  },
10930
- SORT_OPTIONS.map((option) => /* @__PURE__ */ React20.createElement("option", { key: option.value, value: option.value }, option.label))
10931
- )), /* @__PURE__ */ React20.createElement("div", { className: "flex overflow-hidden rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React20.createElement(
10933
+ SORT_OPTIONS.map((option) => /* @__PURE__ */ React21.createElement("option", { key: option.value, value: option.value }, option.label))
10934
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex overflow-hidden rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React21.createElement(
10932
10935
  "button",
10933
10936
  {
10934
10937
  type: "button",
10935
10938
  onClick: () => setViewMode("grid"),
10936
10939
  className: `flex items-center gap-1 px-3 py-1.5 text-sm font-medium transition ${viewMode === "grid" ? "bg-primary-600 text-white shadow-lg shadow-primary-500/30" : "text-slate-600 hover:bg-white"}`
10937
10940
  },
10938
- /* @__PURE__ */ React20.createElement(Grid, { className: "h-4 w-4" }),
10941
+ /* @__PURE__ */ React21.createElement(Grid, { className: "h-4 w-4" }),
10939
10942
  "Grid"
10940
- ), /* @__PURE__ */ React20.createElement(
10943
+ ), /* @__PURE__ */ React21.createElement(
10941
10944
  "button",
10942
10945
  {
10943
10946
  type: "button",
10944
10947
  onClick: () => setViewMode("list"),
10945
10948
  className: `flex items-center gap-1 px-3 py-1.5 text-sm font-medium transition ${viewMode === "list" ? "bg-primary-600 text-white shadow-lg shadow-primary-500/30" : "text-slate-600 hover:bg-white"}`
10946
10949
  },
10947
- /* @__PURE__ */ React20.createElement(List, { className: "h-4 w-4" }),
10950
+ /* @__PURE__ */ React21.createElement(List, { className: "h-4 w-4" }),
10948
10951
  "List"
10949
- )), wishlistCount > 0 && /* @__PURE__ */ React20.createElement(
10952
+ )), wishlistCount > 0 && /* @__PURE__ */ React21.createElement(
10950
10953
  Button,
10951
10954
  {
10952
10955
  variant: "ghost",
10953
10956
  className: "text-sm font-semibold text-slate-500 hover:text-red-500",
10954
10957
  onClick: handleClearWishlist
10955
10958
  },
10956
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-4 w-4" }),
10959
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-4 w-4" }),
10957
10960
  "Clear all"
10958
- ))), isLoading && /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3" }, Array.from({ length: Math.min(wishlistCount || 3, 6) }).map((_, index) => /* @__PURE__ */ React20.createElement(
10961
+ ))), isLoading && /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3" }, Array.from({ length: Math.min(wishlistCount || 3, 6) }).map((_, index) => /* @__PURE__ */ React21.createElement(
10959
10962
  "div",
10960
10963
  {
10961
10964
  key: index,
10962
10965
  className: "h-72 animate-pulse rounded-2xl border border-slate-200 bg-slate-100"
10963
10966
  }
10964
- ))), !isLoading && wishlistCount === 0 && /* @__PURE__ */ React20.createElement("div", { className: "flex min-h-[30vh] items-center justify-center" }, /* @__PURE__ */ React20.createElement("div", { className: "max-w-2xl rounded-3xl border border-slate-100 bg-white p-12 text-center shadow-xl shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "mx-auto flex h-20 w-20 items-center justify-center rounded-full bg-primary-100 text-primary-600" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-10 w-10" })), /* @__PURE__ */ React20.createElement("h2", { className: "mt-6 text-4xl font-bold text-slate-900" }, "Start your wellness wishlist"), /* @__PURE__ */ React20.createElement("p", { className: "mt-4 text-lg text-slate-500" }, "Bookmark pharmacy essentials, supplements, or skincare picks and we'll keep them safe until you're ready to checkout."), /* @__PURE__ */ React20.createElement("div", { className: "mt-8 flex flex-wrap justify-center gap-3" }, /* @__PURE__ */ React20.createElement(Button, { onClick: () => router.push(buildPath("/shop")) }, "Discover products"), /* @__PURE__ */ React20.createElement(Button, { variant: "outline", onClick: () => router.push(buildPath("/categories")) }, "Browse categories")))), !isLoading && processedProducts.length > 0 && /* @__PURE__ */ React20.createElement(React20.Fragment, null, viewMode === "grid" ? /* @__PURE__ */ React20.createElement(
10967
+ ))), !isLoading && wishlistCount === 0 && /* @__PURE__ */ React21.createElement("div", { className: "flex min-h-[30vh] items-center justify-center" }, /* @__PURE__ */ React21.createElement("div", { className: "max-w-2xl rounded-3xl border border-slate-100 bg-white p-12 text-center shadow-xl shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "mx-auto flex h-20 w-20 items-center justify-center rounded-full bg-primary-100 text-primary-600" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-10 w-10" })), /* @__PURE__ */ React21.createElement("h2", { className: "mt-6 text-4xl font-bold text-slate-900" }, "Start your wellness wishlist"), /* @__PURE__ */ React21.createElement("p", { className: "mt-4 text-lg text-slate-500" }, "Bookmark pharmacy essentials, supplements, or skincare picks and we'll keep them safe until you're ready to checkout."), /* @__PURE__ */ React21.createElement("div", { className: "mt-8 flex flex-wrap justify-center gap-3" }, /* @__PURE__ */ React21.createElement(Button, { onClick: () => router.push(buildPath("/shop")) }, "Discover products"), /* @__PURE__ */ React21.createElement(Button, { variant: "outline", onClick: () => router.push(buildPath("/categories")) }, "Browse categories")))), !isLoading && processedProducts.length > 0 && /* @__PURE__ */ React21.createElement(React21.Fragment, null, viewMode === "grid" ? /* @__PURE__ */ React21.createElement(
10965
10968
  motion.div,
10966
10969
  {
10967
10970
  layout: true,
10968
10971
  className: "grid grid-cols-1 gap-5 sm:grid-cols-2 xl:grid-cols-3"
10969
10972
  },
10970
- /* @__PURE__ */ React20.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React20.createElement(
10973
+ /* @__PURE__ */ React21.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React21.createElement(
10971
10974
  motion.div,
10972
10975
  {
10973
10976
  key: product.id,
@@ -10977,7 +10980,7 @@ function WishlistScreen() {
10977
10980
  exit: { opacity: 0, y: -20 },
10978
10981
  transition: { duration: 0.2 }
10979
10982
  },
10980
- /* @__PURE__ */ React20.createElement(
10983
+ /* @__PURE__ */ React21.createElement(
10981
10984
  ProductCard,
10982
10985
  {
10983
10986
  product,
@@ -10987,7 +10990,7 @@ function WishlistScreen() {
10987
10990
  }
10988
10991
  )
10989
10992
  )))
10990
- ) : /* @__PURE__ */ React20.createElement(motion.div, { layout: true, className: "space-y-4" }, /* @__PURE__ */ React20.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React20.createElement(
10993
+ ) : /* @__PURE__ */ React21.createElement(motion.div, { layout: true, className: "space-y-4" }, /* @__PURE__ */ React21.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React21.createElement(
10991
10994
  motion.div,
10992
10995
  {
10993
10996
  key: product.id,
@@ -10998,7 +11001,7 @@ function WishlistScreen() {
10998
11001
  transition: { duration: 0.2 },
10999
11002
  className: "flex flex-col gap-4 rounded-2xl border border-slate-100 bg-slate-50 p-4 shadow-sm shadow-primary-50 sm:flex-row sm:items-center"
11000
11003
  },
11001
- /* @__PURE__ */ React20.createElement("div", { className: "relative h-28 w-full overflow-hidden rounded-2xl bg-white sm:w-40" }, /* @__PURE__ */ React20.createElement(
11004
+ /* @__PURE__ */ React21.createElement("div", { className: "relative h-28 w-full overflow-hidden rounded-2xl bg-white sm:w-40" }, /* @__PURE__ */ React21.createElement(
11002
11005
  Image3,
11003
11006
  {
11004
11007
  fill: true,
@@ -11007,14 +11010,14 @@ function WishlistScreen() {
11007
11010
  className: "h-full w-full object-cover"
11008
11011
  }
11009
11012
  )),
11010
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-1 flex-col gap-2" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center justify-between gap-3" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, product.name), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, product.parentCategories?.map((category) => category?.name).join(", ") || "General wellness")), /* @__PURE__ */ React20.createElement("div", { className: "text-right" }, /* @__PURE__ */ React20.createElement("p", { className: "text-lg font-bold text-primary-600" }, formatPrice(product.finalPrice ?? 0)), product.isDiscounted && /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-emerald-500" }, "You save ", formatPrice(Math.max((product.priceBeforeDiscount ?? 0) - (product.finalPrice ?? 0), 0))))), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-3 text-xs text-slate-500" }, /* @__PURE__ */ React20.createElement("span", { className: `inline-flex items-center gap-1 rounded-full px-2.5 py-1 font-medium ${product.inventoryCount > 0 ? "bg-emerald-100 text-emerald-700" : "bg-rose-100 text-rose-700"}` }, /* @__PURE__ */ React20.createElement(Package, { className: "h-3.5 w-3.5" }), product.inventoryCount > 0 ? "In stock" : "Backordered"), product.totalSold > 0 && /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-slate-200 px-2.5 py-1 font-medium text-slate-700" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-3.5 w-3.5" }), product.totalSold, "+ purchased")), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, /* @__PURE__ */ React20.createElement(
11013
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-1 flex-col gap-2" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center justify-between gap-3" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, product.name), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, product.parentCategories?.map((category) => category?.name).join(", ") || "General wellness")), /* @__PURE__ */ React21.createElement("div", { className: "text-right" }, /* @__PURE__ */ React21.createElement("p", { className: "text-lg font-bold text-primary-600" }, formatPrice(product.finalPrice ?? 0)), product.isDiscounted && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-emerald-500" }, "You save ", formatPrice(Math.max((product.priceBeforeDiscount ?? 0) - (product.finalPrice ?? 0), 0))))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-3 text-xs text-slate-500" }, /* @__PURE__ */ React21.createElement("span", { className: `inline-flex items-center gap-1 rounded-full px-2.5 py-1 font-medium ${product.inventoryCount > 0 ? "bg-emerald-100 text-emerald-700" : "bg-rose-100 text-rose-700"}` }, /* @__PURE__ */ React21.createElement(Package, { className: "h-3.5 w-3.5" }), product.inventoryCount > 0 ? "In stock" : "Backordered"), product.totalSold > 0 && /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-slate-200 px-2.5 py-1 font-medium text-slate-700" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-3.5 w-3.5" }), product.totalSold, "+ purchased")), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, /* @__PURE__ */ React21.createElement(
11011
11014
  Button,
11012
11015
  {
11013
11016
  size: "sm",
11014
11017
  onClick: () => router.push(buildPath(`/products/${product.id}`))
11015
11018
  },
11016
11019
  "View details"
11017
- ), /* @__PURE__ */ React20.createElement(
11020
+ ), /* @__PURE__ */ React21.createElement(
11018
11021
  Button,
11019
11022
  {
11020
11023
  size: "sm",
@@ -11024,7 +11027,7 @@ function WishlistScreen() {
11024
11027
  },
11025
11028
  "Remove"
11026
11029
  )))
11027
- ))))), isAuthenticated && emptyAfterFiltering && /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-center justify-center rounded-2xl border border-dashed border-slate-200 bg-slate-50 p-12 text-center" }, /* @__PURE__ */ React20.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-slate-200 text-slate-500" }, /* @__PURE__ */ React20.createElement(Package, { className: "h-8 w-8" })), /* @__PURE__ */ React20.createElement("h3", { className: "mt-6 text-2xl font-semibold text-slate-900" }, "Nothing matches those filters"), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 max-w-md text-sm text-slate-500" }, "Try showing out-of-stock items or adjust your sort order to revisit everything you\u2019ve saved."), /* @__PURE__ */ React20.createElement(Button, { className: "mt-6", variant: "outline", onClick: () => setOnlyInStock(false) }, "Show all saved products"))))
11030
+ ))))), isAuthenticated && emptyAfterFiltering && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-center justify-center rounded-2xl border border-dashed border-slate-200 bg-slate-50 p-12 text-center" }, /* @__PURE__ */ React21.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-slate-200 text-slate-500" }, /* @__PURE__ */ React21.createElement(Package, { className: "h-8 w-8" })), /* @__PURE__ */ React21.createElement("h3", { className: "mt-6 text-2xl font-semibold text-slate-900" }, "Nothing matches those filters"), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 max-w-md text-sm text-slate-500" }, "Try showing out-of-stock items or adjust your sort order to revisit everything you\u2019ve saved."), /* @__PURE__ */ React21.createElement(Button, { className: "mt-6", variant: "outline", onClick: () => setOnlyInStock(false) }, "Show all saved products"))))
11028
11031
  ))));
11029
11032
  }
11030
11033
  function SearchPage() {
@@ -11138,31 +11141,31 @@ function CategoriesScreen() {
11138
11141
  const { categories, isLoading } = useCategories();
11139
11142
  const router = useRouter();
11140
11143
  const { buildPath } = useBasePath();
11141
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement(
11144
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement(
11142
11145
  motion.div,
11143
11146
  {
11144
11147
  initial: { opacity: 0, y: 24 },
11145
11148
  animate: { opacity: 1, y: 0 },
11146
11149
  className: "space-y-6"
11147
11150
  },
11148
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(Package, { className: "h-4 w-4" }), "Product Categories"),
11149
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Browse Our Product Range"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Explore our comprehensive selection of healthcare products, carefully curated by our pharmacists to meet all your wellness needs.")), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use the categories below to quickly find the products you're looking for, or use the search function for specific items.")))
11150
- ))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement(
11151
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(Package, { className: "h-4 w-4" }), "Product Categories"),
11152
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Browse Our Product Range"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Explore our comprehensive selection of healthcare products, carefully curated by our pharmacists to meet all your wellness needs.")), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use the categories below to quickly find the products you're looking for, or use the search function for specific items.")))
11153
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
11151
11154
  motion.div,
11152
11155
  {
11153
11156
  initial: { opacity: 0, y: 24 },
11154
11157
  animate: { opacity: 1, y: 0 },
11155
11158
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
11156
11159
  },
11157
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500 mb-6" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "Browse our complete product catalog organized by categories.")),
11158
- isLoading ? /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" }, [...Array(8)].map((_, i) => /* @__PURE__ */ React20.createElement("div", { key: i, className: "animate-pulse" }, /* @__PURE__ */ React20.createElement("div", { className: "bg-gray-200 rounded-lg aspect-square mb-2" }), /* @__PURE__ */ React20.createElement("div", { className: "h-4 bg-gray-200 rounded w-3/4 mb-1" }), /* @__PURE__ */ React20.createElement("div", { className: "h-3 bg-gray-200 rounded w-1/2" })))) : categories.length > 0 ? /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" }, categories.map((category) => /* @__PURE__ */ React20.createElement(
11160
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500 mb-6" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "Browse our complete product catalog organized by categories.")),
11161
+ isLoading ? /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" }, [...Array(8)].map((_, i) => /* @__PURE__ */ React21.createElement("div", { key: i, className: "animate-pulse" }, /* @__PURE__ */ React21.createElement("div", { className: "bg-gray-200 rounded-lg aspect-square mb-2" }), /* @__PURE__ */ React21.createElement("div", { className: "h-4 bg-gray-200 rounded w-3/4 mb-1" }), /* @__PURE__ */ React21.createElement("div", { className: "h-3 bg-gray-200 rounded w-1/2" })))) : categories.length > 0 ? /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" }, categories.map((category) => /* @__PURE__ */ React21.createElement(
11159
11162
  Link8,
11160
11163
  {
11161
11164
  key: category.id,
11162
11165
  href: buildPath(`/shop?category=${category.name}`),
11163
11166
  className: "group block overflow-hidden rounded-xl border border-gray-100 bg-white p-4 text-center transition hover:shadow-lg hover:border-primary-500"
11164
11167
  },
11165
- /* @__PURE__ */ React20.createElement("div", { className: "relative aspect-square w-full overflow-hidden rounded-lg bg-gray-50 mb-3" }, category.image ? /* @__PURE__ */ React20.createElement(
11168
+ /* @__PURE__ */ React21.createElement("div", { className: "relative aspect-square w-full overflow-hidden rounded-lg bg-gray-50 mb-3" }, category.image ? /* @__PURE__ */ React21.createElement(
11166
11169
  Image3,
11167
11170
  {
11168
11171
  src: category.image,
@@ -11171,10 +11174,10 @@ function CategoriesScreen() {
11171
11174
  className: "object-cover transition-transform group-hover:scale-105",
11172
11175
  sizes: "(max-width: 768px) 50vw, (max-width: 1200px) 33vw, 25vw"
11173
11176
  }
11174
- ) : /* @__PURE__ */ React20.createElement("div", { className: "flex h-full w-full items-center justify-center bg-gray-100 text-gray-400" }, /* @__PURE__ */ React20.createElement(Package, { className: "h-12 w-12" }))),
11175
- /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900 group-hover:text-primary-600 transition-colors" }, category.name),
11176
- category.productCount > 0 && /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-sm text-gray-500" }, category.productCount, " ", category.productCount === 1 ? "product" : "products")
11177
- ))) : /* @__PURE__ */ React20.createElement(
11177
+ ) : /* @__PURE__ */ React21.createElement("div", { className: "flex h-full w-full items-center justify-center bg-gray-100 text-gray-400" }, /* @__PURE__ */ React21.createElement(Package, { className: "h-12 w-12" }))),
11178
+ /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900 group-hover:text-primary-600 transition-colors" }, category.name),
11179
+ category.productCount > 0 && /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-gray-500" }, category.productCount, " ", category.productCount === 1 ? "product" : "products")
11180
+ ))) : /* @__PURE__ */ React21.createElement(
11178
11181
  EmptyState,
11179
11182
  {
11180
11183
  title: "No categories found",
@@ -11341,7 +11344,7 @@ function Header() {
11341
11344
  { href: buildPath("/about"), label: "About" },
11342
11345
  { href: buildPath("/contact"), label: "Contact" }
11343
11346
  ];
11344
- return /* @__PURE__ */ React20.createElement("header", { className: "sticky top-0 z-40 bg-white/80 backdrop-blur-xl border-b border-gray-200 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between h-20" }, /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/"), className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement("div", { className: "relative w-12 h-12" }, /* @__PURE__ */ React20.createElement(
11347
+ return /* @__PURE__ */ React21.createElement("header", { className: "sticky top-0 z-40 bg-white/80 backdrop-blur-xl border-b border-gray-200 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between h-20" }, /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/"), className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement("div", { className: "relative w-12 h-12" }, /* @__PURE__ */ React21.createElement(
11345
11348
  Image3,
11346
11349
  {
11347
11350
  src: config.logo,
@@ -11349,7 +11352,7 @@ function Header() {
11349
11352
  fill: true,
11350
11353
  className: "object-contain"
11351
11354
  }
11352
- )), /* @__PURE__ */ React20.createElement("span", { className: "text-2xl font-bold text-gray-900 hidden sm:block" }, config.storeName)), /* @__PURE__ */ React20.createElement("nav", { className: "hidden lg:flex items-center gap-8" }, navLinks.map((link) => /* @__PURE__ */ React20.createElement(
11355
+ )), /* @__PURE__ */ React21.createElement("span", { className: "text-2xl font-bold text-gray-900 hidden sm:block" }, config.storeName)), /* @__PURE__ */ React21.createElement("nav", { className: "hidden lg:flex items-center gap-8" }, navLinks.map((link) => /* @__PURE__ */ React21.createElement(
11353
11356
  Link8,
11354
11357
  {
11355
11358
  key: link.href,
@@ -11357,16 +11360,16 @@ function Header() {
11357
11360
  className: "text-gray-700 hover:text-primary-600 font-medium transition-colors relative group"
11358
11361
  },
11359
11362
  link.label,
11360
- /* @__PURE__ */ React20.createElement("span", { className: "absolute bottom-0 left-0 w-0 h-0.5 bg-primary-600 group-hover:w-full transition-all duration-300" })
11361
- ))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
11363
+ /* @__PURE__ */ React21.createElement("span", { className: "absolute bottom-0 left-0 w-0 h-0.5 bg-primary-600 group-hover:w-full transition-all duration-300" })
11364
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
11362
11365
  "button",
11363
11366
  {
11364
11367
  onClick: () => setIsSearchOpen(!isSearchOpen),
11365
11368
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors",
11366
11369
  "aria-label": "Search"
11367
11370
  },
11368
- /* @__PURE__ */ React20.createElement(Search, { className: "w-5 h-5 text-gray-700" })
11369
- ), /* @__PURE__ */ React20.createElement(AnimatePresence, null, isSearchOpen && /* @__PURE__ */ React20.createElement(
11371
+ /* @__PURE__ */ React21.createElement(Search, { className: "w-5 h-5 text-gray-700" })
11372
+ ), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isSearchOpen && /* @__PURE__ */ React21.createElement(
11370
11373
  motion.div,
11371
11374
  {
11372
11375
  initial: { opacity: 0, width: 0 },
@@ -11374,7 +11377,7 @@ function Header() {
11374
11377
  exit: { opacity: 0, width: 0 },
11375
11378
  className: "absolute right-0 top-full mt-2 bg-white rounded-lg shadow-lg overflow-hidden"
11376
11379
  },
11377
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center p-2 w-64" }, /* @__PURE__ */ React20.createElement(Search, { className: "w-5 h-5 text-gray-400 mr-2" }), /* @__PURE__ */ React20.createElement(
11380
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center p-2 w-64" }, /* @__PURE__ */ React21.createElement(Search, { className: "w-5 h-5 text-gray-400 mr-2" }), /* @__PURE__ */ React21.createElement(
11378
11381
  "input",
11379
11382
  {
11380
11383
  type: "text",
@@ -11389,36 +11392,36 @@ function Header() {
11389
11392
  className: "w-full outline-none text-gray-700",
11390
11393
  autoFocus: true
11391
11394
  }
11392
- ), searchQuery && /* @__PURE__ */ React20.createElement(
11395
+ ), searchQuery && /* @__PURE__ */ React21.createElement(
11393
11396
  "button",
11394
11397
  {
11395
11398
  onClick: () => setSearchQuery(""),
11396
11399
  className: "text-gray-400 hover:text-gray-600"
11397
11400
  },
11398
- /* @__PURE__ */ React20.createElement(X, { className: "w-4 h-4" })
11401
+ /* @__PURE__ */ React21.createElement(X, { className: "w-4 h-4" })
11399
11402
  ))
11400
- ))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/wishlist"), className: "relative p-2 text-gray-700 hover:text-red-500 transition-colors" }, /* @__PURE__ */ React20.createElement(Heart, { className: "w-6 h-6" }), wishlistCount > 0 && /* @__PURE__ */ React20.createElement("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center" }, wishlistCount)), /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/cart"), className: "relative p-2 text-gray-700 hover:text-primary-600 transition-colors" }, /* @__PURE__ */ React20.createElement(ShoppingCart, { className: "w-6 h-6" }), cart?.cartBody?.items?.length && cart.cartBody?.items?.length > 0 ? /* @__PURE__ */ React20.createElement("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center" }, cart.cartBody?.items?.length) : null), isAuthenticated ? /* @__PURE__ */ React20.createElement(
11403
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/wishlist"), className: "relative p-2 text-gray-700 hover:text-red-500 transition-colors" }, /* @__PURE__ */ React21.createElement(Heart, { className: "w-6 h-6" }), wishlistCount > 0 && /* @__PURE__ */ React21.createElement("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center" }, wishlistCount)), /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/cart"), className: "relative p-2 text-gray-700 hover:text-primary-600 transition-colors" }, /* @__PURE__ */ React21.createElement(ShoppingCart, { className: "w-6 h-6" }), cart?.cartBody?.items?.length && cart.cartBody?.items?.length > 0 ? /* @__PURE__ */ React21.createElement("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center" }, cart.cartBody?.items?.length) : null), isAuthenticated ? /* @__PURE__ */ React21.createElement(
11401
11404
  Link8,
11402
11405
  {
11403
11406
  href: buildPath("/account"),
11404
11407
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors"
11405
11408
  },
11406
- /* @__PURE__ */ React20.createElement(User, { className: "w-6 h-6 text-gray-700" })
11407
- ) : /* @__PURE__ */ React20.createElement(
11409
+ /* @__PURE__ */ React21.createElement(User, { className: "w-6 h-6 text-gray-700" })
11410
+ ) : /* @__PURE__ */ React21.createElement(
11408
11411
  Link8,
11409
11412
  {
11410
11413
  href: buildPath("/login"),
11411
11414
  className: "hidden sm:block px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors font-medium"
11412
11415
  },
11413
11416
  "Sign In"
11414
- )), /* @__PURE__ */ React20.createElement(
11417
+ )), /* @__PURE__ */ React21.createElement(
11415
11418
  "button",
11416
11419
  {
11417
11420
  className: "lg:hidden p-2 hover:bg-gray-100 rounded-lg transition-colors",
11418
11421
  onClick: () => setIsMobileMenuOpen(!isMobileMenuOpen)
11419
11422
  },
11420
- isMobileMenuOpen ? /* @__PURE__ */ React20.createElement(X, { className: "w-6 h-6" }) : /* @__PURE__ */ React20.createElement(Menu, { className: "w-6 h-6" })
11421
- )), /* @__PURE__ */ React20.createElement(AnimatePresence, null, isMobileMenuOpen && /* @__PURE__ */ React20.createElement(
11423
+ isMobileMenuOpen ? /* @__PURE__ */ React21.createElement(X, { className: "w-6 h-6" }) : /* @__PURE__ */ React21.createElement(Menu, { className: "w-6 h-6" })
11424
+ )), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isMobileMenuOpen && /* @__PURE__ */ React21.createElement(
11422
11425
  motion.div,
11423
11426
  {
11424
11427
  initial: { opacity: 0, height: 0 },
@@ -11426,7 +11429,7 @@ function Header() {
11426
11429
  exit: { opacity: 0, height: 0 },
11427
11430
  className: "lg:hidden overflow-hidden border-t border-gray-200"
11428
11431
  },
11429
- /* @__PURE__ */ React20.createElement("nav", { className: "flex flex-col gap-1 py-2" }, navLinks.map((link) => /* @__PURE__ */ React20.createElement(
11432
+ /* @__PURE__ */ React21.createElement("nav", { className: "flex flex-col gap-1 py-2" }, navLinks.map((link) => /* @__PURE__ */ React21.createElement(
11430
11433
  Link8,
11431
11434
  {
11432
11435
  key: link.href,
@@ -11435,7 +11438,7 @@ function Header() {
11435
11438
  onClick: () => setIsMobileMenuOpen(false)
11436
11439
  },
11437
11440
  link.label
11438
- )), !isAuthenticated && /* @__PURE__ */ React20.createElement(
11441
+ )), !isAuthenticated && /* @__PURE__ */ React21.createElement(
11439
11442
  Link8,
11440
11443
  {
11441
11444
  href: buildPath("/login"),
@@ -11474,48 +11477,48 @@ function Footer() {
11474
11477
  { label: "Cookie Policy", href: buildPath("/cookies") }
11475
11478
  ]
11476
11479
  };
11477
- return /* @__PURE__ */ React20.createElement("footer", { className: "bg-gray-900 text-gray-300" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-12" }, /* @__PURE__ */ React20.createElement("div", { className: "lg:col-span-2" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-2xl font-bold text-white mb-4" }, config.storeName), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-400 mb-6 max-w-md" }, "Your trusted online store for quality products. We deliver excellence with every order."), /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(Mail, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "support@", config.storeName.toLowerCase().replace(/\s+/g, ""), ".com")), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(Phone, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "+1 (555) 123-4567")), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(MapPin, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "123 Store Street, City, Country")))), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Shop"), /* @__PURE__ */ React20.createElement("ul", { className: "space-y-2" }, footerLinks.shop.map((link) => /* @__PURE__ */ React20.createElement("li", { key: link.href }, /* @__PURE__ */ React20.createElement(
11480
+ return /* @__PURE__ */ React21.createElement("footer", { className: "bg-gray-900 text-gray-300" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-12" }, /* @__PURE__ */ React21.createElement("div", { className: "lg:col-span-2" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-2xl font-bold text-white mb-4" }, config.storeName), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-400 mb-6 max-w-md" }, "Your trusted online store for quality products. We deliver excellence with every order."), /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(Mail, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "support@", config.storeName.toLowerCase().replace(/\s+/g, ""), ".com")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(Phone, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "+1 (555) 123-4567")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(MapPin, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "123 Store Street, City, Country")))), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Shop"), /* @__PURE__ */ React21.createElement("ul", { className: "space-y-2" }, footerLinks.shop.map((link) => /* @__PURE__ */ React21.createElement("li", { key: link.href }, /* @__PURE__ */ React21.createElement(
11478
11481
  Link8,
11479
11482
  {
11480
11483
  href: link.href,
11481
11484
  className: "hover:text-primary-500 transition-colors"
11482
11485
  },
11483
11486
  link.label
11484
- ))))), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Account"), /* @__PURE__ */ React20.createElement("ul", { className: "space-y-2" }, footerLinks.account.map((link) => /* @__PURE__ */ React20.createElement("li", { key: link.href }, /* @__PURE__ */ React20.createElement(
11487
+ ))))), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Account"), /* @__PURE__ */ React21.createElement("ul", { className: "space-y-2" }, footerLinks.account.map((link) => /* @__PURE__ */ React21.createElement("li", { key: link.href }, /* @__PURE__ */ React21.createElement(
11485
11488
  Link8,
11486
11489
  {
11487
11490
  href: link.href,
11488
11491
  className: "hover:text-primary-500 transition-colors"
11489
11492
  },
11490
11493
  link.label
11491
- ))))), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Support"), /* @__PURE__ */ React20.createElement("ul", { className: "space-y-2" }, footerLinks.support.map((link) => /* @__PURE__ */ React20.createElement("li", { key: link.href }, /* @__PURE__ */ React20.createElement(
11494
+ ))))), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Support"), /* @__PURE__ */ React21.createElement("ul", { className: "space-y-2" }, footerLinks.support.map((link) => /* @__PURE__ */ React21.createElement("li", { key: link.href }, /* @__PURE__ */ React21.createElement(
11492
11495
  Link8,
11493
11496
  {
11494
11497
  href: link.href,
11495
11498
  className: "hover:text-primary-500 transition-colors"
11496
11499
  },
11497
11500
  link.label
11498
- )))))), /* @__PURE__ */ React20.createElement("div", { className: "border-t border-gray-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center gap-4" }, /* @__PURE__ */ React20.createElement("p", { className: "text-gray-400 text-sm" }, "\xA9 ", (/* @__PURE__ */ new Date()).getFullYear(), " ", config.storeName, ". All rights reserved."), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React20.createElement(
11501
+ )))))), /* @__PURE__ */ React21.createElement("div", { className: "border-t border-gray-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center gap-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-gray-400 text-sm" }, "\xA9 ", (/* @__PURE__ */ new Date()).getFullYear(), " ", config.storeName, ". All rights reserved."), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React21.createElement(
11499
11502
  "a",
11500
11503
  {
11501
11504
  href: "#",
11502
11505
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11503
11506
  },
11504
- /* @__PURE__ */ React20.createElement(Facebook, { className: "w-5 h-5" })
11505
- ), /* @__PURE__ */ React20.createElement(
11507
+ /* @__PURE__ */ React21.createElement(Facebook, { className: "w-5 h-5" })
11508
+ ), /* @__PURE__ */ React21.createElement(
11506
11509
  "a",
11507
11510
  {
11508
11511
  href: "#",
11509
11512
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11510
11513
  },
11511
- /* @__PURE__ */ React20.createElement(Twitter, { className: "w-5 h-5" })
11512
- ), /* @__PURE__ */ React20.createElement(
11514
+ /* @__PURE__ */ React21.createElement(Twitter, { className: "w-5 h-5" })
11515
+ ), /* @__PURE__ */ React21.createElement(
11513
11516
  "a",
11514
11517
  {
11515
11518
  href: "#",
11516
11519
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11517
11520
  },
11518
- /* @__PURE__ */ React20.createElement(Instagram, { className: "w-5 h-5" })
11521
+ /* @__PURE__ */ React21.createElement(Instagram, { className: "w-5 h-5" })
11519
11522
  )))));
11520
11523
  }
11521
11524