@doujins/payments-ui 0.1.10 → 0.1.12

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.js CHANGED
@@ -509,7 +509,7 @@ var Input = React15.forwardRef(
509
509
  {
510
510
  type,
511
511
  className: cn(
512
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
512
+ "placeholder:text-white/30 flex h-9 w-full rounded-md border border-white/30 bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium font-light file:text-foreground text-foreground focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
513
513
  className
514
514
  ),
515
515
  ref,
@@ -520,7 +520,7 @@ var Input = React15.forwardRef(
520
520
  );
521
521
  Input.displayName = "Input";
522
522
  var labelVariants = cva(
523
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
523
+ "text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
524
524
  );
525
525
  var Label = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
526
526
  LabelPrimitive.Root,
@@ -538,7 +538,7 @@ var SelectTrigger = React15.forwardRef(({ className, children, ...props }, ref)
538
538
  {
539
539
  ref,
540
540
  className: cn(
541
- "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
541
+ "flex h-9 w-full cursor-pointer items-center justify-between rounded-md border border-white/30 bg-transparent px-3 py-1 text-sm placeholder:text-white/30 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:text-current",
542
542
  className
543
543
  ),
544
544
  ...props,
@@ -580,7 +580,7 @@ var SelectContent = React15.forwardRef(({ className, children, position = "poppe
580
580
  {
581
581
  ref,
582
582
  className: cn(
583
- "relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
583
+ "relative z-[200] max-h-64 min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border border-white/20 bg-background-regular text-foreground shadow-lg backdrop-blur-xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
584
584
  position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
585
585
  className
586
586
  ),
@@ -617,13 +617,13 @@ var SelectItem = React15.forwardRef(({ className, children, ...props }, ref) =>
617
617
  {
618
618
  ref,
619
619
  className: cn(
620
- "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
620
+ "relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none hover:bg-foreground/10 focus:bg-foreground/10 data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
621
621
  className
622
622
  ),
623
623
  ...props,
624
624
  children: [
625
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
626
- /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
625
+ /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children }),
626
+ /* @__PURE__ */ jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) })
627
627
  ]
628
628
  }
629
629
  ));
@@ -814,7 +814,8 @@ var CardDetailsForm = ({
814
814
  visible
815
815
  ]);
816
816
  const validate = () => {
817
- if (!firstName.trim() || !lastName.trim() || !address1.trim() || !city.trim() || !postalCode.trim() || !country.trim() || !email.trim()) {
817
+ const emailRequired = !defaultValues?.email && !config.defaultUser?.email;
818
+ if (!firstName.trim() || !lastName.trim() || !address1.trim() || !city.trim() || !postalCode.trim() || !country.trim() || emailRequired && !email.trim()) {
818
819
  setLocalError("Please complete all required billing fields.");
819
820
  return false;
820
821
  }
@@ -832,7 +833,8 @@ var CardDetailsForm = ({
832
833
  window.CollectJS.startPaymentRequest();
833
834
  };
834
835
  const errorMessage = localError ?? externalError;
835
- const collectFieldClass = "relative flex h-11 w-full items-center overflow-hidden rounded-md border border-border/60 bg-background/40 px-3 text-sm text-foreground";
836
+ const collectFieldClass = "relative flex h-9 w-full items-center overflow-hidden rounded-md border border-white/30 bg-transparent px-3 text-sm text-foreground";
837
+ const showEmailField = !defaultValues?.email && !config.defaultUser?.email;
836
838
  return /* @__PURE__ */ jsxs(
837
839
  "form",
838
840
  {
@@ -867,7 +869,7 @@ var CardDetailsForm = ({
867
869
  )
868
870
  ] })
869
871
  ] }),
870
- /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
872
+ showEmailField && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
871
873
  /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email" }),
872
874
  /* @__PURE__ */ jsx(
873
875
  Input,
@@ -956,7 +958,7 @@ var CardDetailsForm = ({
956
958
  Button,
957
959
  {
958
960
  type: "submit",
959
- className: "w-full",
961
+ className: "w-full border-0 bg-emerald-600 text-white hover:bg-emerald-500 disabled:opacity-50",
960
962
  disabled: submitting || submitDisabled || isTokenizing,
961
963
  children: submitting || isTokenizing ? /* @__PURE__ */ jsxs(Fragment, { children: [
962
964
  /* @__PURE__ */ jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
@@ -2066,8 +2068,8 @@ var SubscriptionSuccessDialog = ({
2066
2068
  }) => {
2067
2069
  return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: (value) => {
2068
2070
  if (!value) onClose();
2069
- }, children: /* @__PURE__ */ jsxs(DialogContent, { className: "w-full max-w-md overflow-hidden border bg-background/95 p-0 shadow-2xl", children: [
2070
- /* @__PURE__ */ jsxs("div", { className: "bg-gradient-to-b from-primary/25 via-primary/10 to-background px-6 py-8 text-center", children: [
2071
+ }, children: /* @__PURE__ */ jsxs(DialogContent, { className: "z-[100] w-full max-w-md overflow-hidden border border-white/20 p-0 backdrop-blur-xl bg-background-regular shadow-2xl", children: [
2072
+ /* @__PURE__ */ jsxs("div", { className: "bg-gradient-to-b from-primary/25 via-primary/10 to-transparent px-6 py-8 text-center", children: [
2071
2073
  /* @__PURE__ */ jsx("div", { className: "mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-background/60", children: /* @__PURE__ */ jsx(CheckCircle, { className: "h-10 w-10 text-primary" }) }),
2072
2074
  /* @__PURE__ */ jsxs(DialogHeader, { children: [
2073
2075
  /* @__PURE__ */ jsx(DialogTitle, { className: "text-2xl font-semibold text-foreground", children: "Subscription activated" }),
@@ -2082,7 +2084,7 @@ var SubscriptionSuccessDialog = ({
2082
2084
  ] })
2083
2085
  ] })
2084
2086
  ] }),
2085
- /* @__PURE__ */ jsx("div", { className: "px-6 py-6", children: /* @__PURE__ */ jsx(Button, { className: "w-full", onClick: onClose, children: "Continue exploring" }) })
2087
+ /* @__PURE__ */ jsx("div", { className: "px-6 py-6", children: /* @__PURE__ */ jsx(Button, { className: "w-full border-0 bg-emerald-600 text-white hover:bg-emerald-500", onClick: onClose, children: "Continue exploring" }) })
2086
2088
  ] }) });
2087
2089
  };
2088
2090
  var useSubscriptionActions = () => {
@@ -2254,9 +2256,9 @@ var SubscriptionCheckoutModal = ({
2254
2256
  /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: handleClose, children: /* @__PURE__ */ jsxs(
2255
2257
  DialogContent,
2256
2258
  {
2257
- className: "max-w-3xl max-h-[90vh] overflow-y-auto border-border rounded-md [&::-webkit-scrollbar]:hidden",
2259
+ className: "z-[100] max-w-xl max-h-[90vh] overflow-y-auto border border-white/20 p-6 backdrop-blur-xl bg-background-regular rounded-md [&::-webkit-scrollbar]:hidden",
2258
2260
  children: [
2259
- /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "Checkout" }) }),
2261
+ /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { className: "flex items-center gap-2 text-foreground", children: "Checkout" }) }),
2260
2262
  /* @__PURE__ */ jsx("div", { className: "space-y-4", children: !priceId ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-center px-3 py-2 text-sm text-destructive", children: [
2261
2263
  /* @__PURE__ */ jsx(AlertCircle, { className: "h-4 w-4" }),
2262
2264
  " ",
@@ -2305,8 +2307,8 @@ var wallets = [
2305
2307
  ];
2306
2308
  var WalletModal = ({ open, onOpenChange }) => {
2307
2309
  const [expandedWallet, setExpandedWallet] = useState(null);
2308
- return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(DialogContent, { className: "w-full max-w-lg max-h-[90vh] overflow-y-auto rounded-md border bg-background/95 p-0 shadow-2xl [&::-webkit-scrollbar]:hidden", children: [
2309
- /* @__PURE__ */ jsxs(DialogHeader, { className: "border-b bg-gradient-to-r from-primary/10 via-background to-background px-6 py-5 text-left", children: [
2310
+ return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(DialogContent, { className: "z-[100] w-full max-w-lg max-h-[90vh] overflow-y-auto rounded-md border border-white/20 p-0 backdrop-blur-xl bg-background-regular shadow-2xl [&::-webkit-scrollbar]:hidden", children: [
2311
+ /* @__PURE__ */ jsxs(DialogHeader, { className: "border-b border-white/10 bg-gradient-to-r from-primary/10 via-transparent to-transparent px-6 py-5 text-left", children: [
2310
2312
  /* @__PURE__ */ jsxs(DialogTitle, { className: "flex items-center gap-2 text-foreground", children: [
2311
2313
  /* @__PURE__ */ jsx(Wallet, { className: "h-5 w-5 text-primary" }),
2312
2314
  " Connect a Solana wallet"
@@ -2317,7 +2319,7 @@ var WalletModal = ({ open, onOpenChange }) => {
2317
2319
  wallets.map((wallet) => /* @__PURE__ */ jsxs(
2318
2320
  "div",
2319
2321
  {
2320
- className: "rounded-2xl border bg-background/80 p-4 shadow-sm",
2322
+ className: "rounded-2xl border border-white/20 bg-foreground/5 p-4 shadow-sm",
2321
2323
  children: [
2322
2324
  /* @__PURE__ */ jsxs(
2323
2325
  "button",
@@ -2342,7 +2344,7 @@ var WalletModal = ({ open, onOpenChange }) => {
2342
2344
  wallet.name,
2343
2345
  " wallet, approve the connection request, and confirm the signature prompt to finish linking."
2344
2346
  ] }),
2345
- /* @__PURE__ */ jsxs(Button, { className: "w-full", variant: "outline", disabled: true, children: [
2347
+ /* @__PURE__ */ jsxs(Button, { className: "w-full border-white/20 bg-transparent text-foreground hover:bg-foreground/10 hover:text-foreground", variant: "outline", disabled: true, children: [
2346
2348
  "Connect with ",
2347
2349
  wallet.name,
2348
2350
  " (coming soon)"
@@ -2352,7 +2354,7 @@ var WalletModal = ({ open, onOpenChange }) => {
2352
2354
  },
2353
2355
  wallet.id
2354
2356
  )),
2355
- /* @__PURE__ */ jsx("div", { className: "rounded-2xl border bg-muted/10 p-4 text-xs text-muted-foreground", children: "Don\u2019t see your wallet? Additional providers will be added soon. Contact support if you need manual verification." })
2357
+ /* @__PURE__ */ jsx("div", { className: "rounded-2xl border border-white/20 bg-foreground/5 p-4 text-xs text-muted-foreground", children: "Don't see your wallet? Additional providers will be added soon. Contact support if you need manual verification." })
2356
2358
  ] })
2357
2359
  ] }) });
2358
2360
  };
@@ -2788,9 +2790,9 @@ var CancelMembershipDialog = ({
2788
2790
  " ",
2789
2791
  t.buttonLabel
2790
2792
  ] }) }),
2791
- /* @__PURE__ */ jsxs(AlertDialogContent, { className: "max-h-[90vh] overflow-y-auto rounded-md border border-border bg-background", children: [
2793
+ /* @__PURE__ */ jsxs(AlertDialogContent, { className: "z-[100] max-h-[90vh] overflow-y-auto rounded-md border border-white/20 p-6 backdrop-blur-xl bg-background-regular", children: [
2792
2794
  /* @__PURE__ */ jsxs(AlertDialogHeader, { children: [
2793
- /* @__PURE__ */ jsxs(AlertDialogTitle, { className: "flex items-center gap-2 text-lg font-semibold", children: [
2795
+ /* @__PURE__ */ jsxs(AlertDialogTitle, { className: "flex items-center gap-2 text-lg font-semibold text-foreground", children: [
2794
2796
  /* @__PURE__ */ jsx(TriangleAlert, { className: "h-5 w-5 text-destructive" }),
2795
2797
  " ",
2796
2798
  t.title
@@ -2805,7 +2807,7 @@ var CancelMembershipDialog = ({
2805
2807
  ] })
2806
2808
  ] }),
2807
2809
  /* @__PURE__ */ jsxs("div", { className: "my-4 space-y-2 py-2", children: [
2808
- /* @__PURE__ */ jsx(Label, { htmlFor: "cancelReason", className: "text-sm font-medium", children: t.reasonLabel }),
2810
+ /* @__PURE__ */ jsx(Label, { htmlFor: "cancelReason", className: "text-sm font-medium text-foreground", children: t.reasonLabel }),
2809
2811
  /* @__PURE__ */ jsx(
2810
2812
  Textarea,
2811
2813
  {
@@ -2814,7 +2816,7 @@ var CancelMembershipDialog = ({
2814
2816
  onChange: handleReasonChange,
2815
2817
  placeholder: t.reasonPlaceholder,
2816
2818
  className: cn(
2817
- "w-full resize-none border-border bg-background",
2819
+ "w-full resize-none border-white/20 bg-foreground/5 text-foreground placeholder:text-muted-foreground",
2818
2820
  showError && "border-destructive"
2819
2821
  ),
2820
2822
  rows: 4,
@@ -2832,11 +2834,11 @@ var CancelMembershipDialog = ({
2832
2834
  )
2833
2835
  ] }),
2834
2836
  /* @__PURE__ */ jsxs(AlertDialogFooter, { className: "mt-6 gap-2", children: [
2835
- /* @__PURE__ */ jsx(AlertDialogCancel, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", className: "border-border text-muted-foreground", children: t.keepMembership }) }),
2837
+ /* @__PURE__ */ jsx(AlertDialogCancel, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", className: "border-white/20 bg-transparent text-foreground hover:bg-foreground/10 hover:text-foreground", children: t.keepMembership }) }),
2836
2838
  /* @__PURE__ */ jsx(AlertDialogAction, { asChild: true, children: /* @__PURE__ */ jsx(
2837
2839
  Button,
2838
2840
  {
2839
- className: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
2841
+ className: "bg-destructive text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50",
2840
2842
  onClick: handleConfirm,
2841
2843
  disabled: !isReasonValid || isSubmitting,
2842
2844
  children: isSubmitting ? t.cancelling : t.confirmCancellation
@@ -3171,9 +3173,12 @@ var PaymentMethodsSection = ({
3171
3173
  /* @__PURE__ */ jsx(Dialog, { open: isModalOpen, onOpenChange: setIsModalOpen, children: /* @__PURE__ */ jsxs(
3172
3174
  DialogContent,
3173
3175
  {
3174
- className: "max-w-3xl max-h-[90vh] overflow-y-auto border-border rounded-md [&::-webkit-scrollbar]:hidden",
3176
+ className: "z-[100] max-w-xl max-h-[90vh] overflow-y-auto border border-white/20 p-6 backdrop-blur-xl bg-background-regular rounded-md [&::-webkit-scrollbar]:hidden",
3175
3177
  children: [
3176
- /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: t.addNewCard }) }),
3178
+ /* @__PURE__ */ jsxs(DialogHeader, { children: [
3179
+ /* @__PURE__ */ jsx(DialogTitle, { className: "flex items-center gap-2 text-foreground", children: t.addNewCard }),
3180
+ /* @__PURE__ */ jsx(DialogDescription, { className: "text-muted-foreground", children: t.addNewCardDescription })
3181
+ ] }),
3177
3182
  /* @__PURE__ */ jsx(
3178
3183
  CardDetailsForm,
3179
3184
  {
@@ -3257,59 +3262,59 @@ var WalletDialog = ({ open, onOpenChange }) => {
3257
3262
  onOpenChange(false);
3258
3263
  setForm(initialState);
3259
3264
  };
3260
- return /* @__PURE__ */ jsx(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(AlertDialogContent, { className: "max-h-[95vh] max-w-lg overflow-y-auto rounded-2xl border border-border bg-background", children: [
3261
- /* @__PURE__ */ jsxs(AlertDialogHeader, { className: "border-b pb-4", children: [
3265
+ return /* @__PURE__ */ jsx(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(AlertDialogContent, { className: "z-[100] max-h-[95vh] max-w-lg overflow-y-auto rounded-2xl border border-white/20 p-6 backdrop-blur-xl bg-background-regular", children: [
3266
+ /* @__PURE__ */ jsxs(AlertDialogHeader, { className: "border-b border-white/10 pb-4", children: [
3262
3267
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2", children: [
3263
3268
  /* @__PURE__ */ jsx(Shield, { className: "h-5 w-5 text-primary" }),
3264
- /* @__PURE__ */ jsx(AlertDialogTitle, { className: "text-center text-base font-semibold uppercase tracking-wide", children: "Secure Payment via Mobius Pay" })
3269
+ /* @__PURE__ */ jsx(AlertDialogTitle, { className: "text-center text-base font-semibold uppercase tracking-wide text-foreground", children: "Secure Payment via Mobius Pay" })
3265
3270
  ] }),
3266
3271
  /* @__PURE__ */ jsx("p", { className: "mt-2 text-center text-sm text-muted-foreground", children: "$23 USD per month, cancel at any time." })
3267
3272
  ] }),
3268
3273
  /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit, className: "space-y-5 px-2 py-4 sm:px-4", children: [
3269
3274
  /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
3270
3275
  /* @__PURE__ */ jsxs("div", { children: [
3271
- /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-sm text-muted-foreground", children: "Name on Card" }),
3276
+ /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-sm text-foreground", children: "Name on Card" }),
3272
3277
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
3273
3278
  /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: /* @__PURE__ */ jsx(UserRound, { className: "h-4 w-4" }) }),
3274
- /* @__PURE__ */ jsx(Input, { value: form.nameOnCard, onChange: (e) => updateField("nameOnCard", e.target.value), className: "pl-10" })
3279
+ /* @__PURE__ */ jsx(Input, { value: form.nameOnCard, onChange: (e) => updateField("nameOnCard", e.target.value), className: "pl-10 border-white/20 bg-foreground/5 text-foreground placeholder:text-muted-foreground" })
3275
3280
  ] }),
3276
3281
  errors.nameOnCard && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-destructive", children: errors.nameOnCard })
3277
3282
  ] }),
3278
3283
  /* @__PURE__ */ jsxs("div", { children: [
3279
- /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-sm text-muted-foreground", children: "Credit Card Number" }),
3284
+ /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-sm text-foreground", children: "Credit Card Number" }),
3280
3285
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
3281
3286
  /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: /* @__PURE__ */ jsx(CreditCard, { className: "h-4 w-4" }) }),
3282
- /* @__PURE__ */ jsx(Input, { value: form.cardNumber, onChange: (e) => updateField("cardNumber", e.target.value), className: "pl-10" })
3287
+ /* @__PURE__ */ jsx(Input, { value: form.cardNumber, onChange: (e) => updateField("cardNumber", e.target.value), className: "pl-10 border-white/20 bg-foreground/5 text-foreground placeholder:text-muted-foreground" })
3283
3288
  ] }),
3284
3289
  errors.cardNumber && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-destructive", children: errors.cardNumber })
3285
3290
  ] }),
3286
3291
  /* @__PURE__ */ jsxs("div", { className: "flex gap-4", children: [
3287
3292
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
3288
- /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-sm text-muted-foreground", children: "Expiration" }),
3293
+ /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-sm text-foreground", children: "Expiration" }),
3289
3294
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
3290
3295
  /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: /* @__PURE__ */ jsx(Calendar, { className: "h-4 w-4" }) }),
3291
- /* @__PURE__ */ jsx(Input, { value: form.expiration, onChange: (e) => updateField("expiration", e.target.value), className: "pl-10", placeholder: "MM/YY" })
3296
+ /* @__PURE__ */ jsx(Input, { value: form.expiration, onChange: (e) => updateField("expiration", e.target.value), className: "pl-10 border-white/20 bg-foreground/5 text-foreground placeholder:text-muted-foreground", placeholder: "MM/YY" })
3292
3297
  ] }),
3293
3298
  errors.expiration && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-destructive", children: errors.expiration })
3294
3299
  ] }),
3295
3300
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
3296
- /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-sm text-muted-foreground", children: "CVV" }),
3301
+ /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-sm text-foreground", children: "CVV" }),
3297
3302
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
3298
3303
  /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: /* @__PURE__ */ jsx(KeyRound, { className: "h-4 w-4" }) }),
3299
- /* @__PURE__ */ jsx(Input, { value: form.cvv, onChange: (e) => updateField("cvv", e.target.value), className: "pl-10" })
3304
+ /* @__PURE__ */ jsx(Input, { value: form.cvv, onChange: (e) => updateField("cvv", e.target.value), className: "pl-10 border-white/20 bg-foreground/5 text-foreground placeholder:text-muted-foreground" })
3300
3305
  ] }),
3301
3306
  errors.cvv && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-destructive", children: errors.cvv })
3302
3307
  ] })
3303
3308
  ] })
3304
3309
  ] }),
3305
- /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3 rounded-md border bg-muted/10 p-4", children: [
3310
+ /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3 rounded-md border border-white/20 bg-foreground/5 p-4", children: [
3306
3311
  /* @__PURE__ */ jsx(Checkbox, { id: "terms-agree", checked: form.termsAccepted, onCheckedChange: (checked) => updateField("termsAccepted", Boolean(checked)) }),
3307
3312
  /* @__PURE__ */ jsx(Label, { htmlFor: "terms-agree", className: "text-sm text-muted-foreground", children: "By completing this order, I confirm that I am 18 years or older and agree to your privacy policy and terms." })
3308
3313
  ] }),
3309
3314
  errors.termsAccepted && /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive", children: errors.termsAccepted }),
3310
3315
  /* @__PURE__ */ jsxs(AlertDialogFooter, { className: "flex gap-2", children: [
3311
- /* @__PURE__ */ jsx(Button, { type: "submit", className: "flex-1", children: "Subscribe" }),
3312
- /* @__PURE__ */ jsx(AlertDialogCancel, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", className: "flex-1", children: "Close" }) })
3316
+ /* @__PURE__ */ jsx(Button, { type: "submit", className: "flex-1 border-0 bg-emerald-600 text-white hover:bg-emerald-500 disabled:opacity-50", children: "Subscribe" }),
3317
+ /* @__PURE__ */ jsx(AlertDialogCancel, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", className: "flex-1 border-white/20 bg-transparent text-foreground hover:bg-foreground/10 hover:text-foreground", children: "Close" }) })
3313
3318
  ] })
3314
3319
  ] })
3315
3320
  ] }) });