@reblu/site-blocks 0.12.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -752,13 +752,20 @@ declare function AddedToCartToast({ status, productName, quantity, imageUrl, car
752
752
  /**
753
753
  * `CheckoutLoginPrompt` — the "login prompt hook" the checkout flow needs
754
754
  * (REB-829): a guest-checkout identification dialog offering "continue with
755
- * this email" (so the SITE can check for an existing account via
756
- * `client.shop.checkEmail`) or "continue as guest" outright. Fully
757
- * controlled/presentational — it performs NO fetch itself (unlike
758
- * demo-site's original `CheckoutLoginModal`, which called
759
- * `/api/shop/check-email` internally); the consuming SITE owns `email`
760
- * state and the `checkEmail` call, and drives `checking`/`error` from its
761
- * own result.
755
+ * this email" or "continue as guest" outright. Fully controlled/presentational
756
+ * — it performs NO fetch itself; the consuming SITE owns `email` state and
757
+ * decides what `onSubmitEmail` does.
758
+ *
759
+ * Never reveal whether an account exists (REB-834). Do NOT wire
760
+ * `onSubmitEmail` to `client.shop.checkEmail` (deprecated, it always answers
761
+ * `{ exists: false }`) or build any UI on an `exists` answer. Treat both
762
+ * actions the same way for every email: `onSubmitEmail` carries the typed
763
+ * email into the checkout (or into the SITE's own login page), and
764
+ * `onContinueAsGuest` proceeds without it. If a guest's email belongs to an
765
+ * account, the server links the order to it after payment — the browser is
766
+ * never told before. `checking`/`error` remain for a SITE's own synchronous
767
+ * work (e.g. saving the email to its checkout state); leave them unset
768
+ * otherwise.
762
769
  */
763
770
  interface CheckoutLoginPromptLabels {
764
771
  title: string;
@@ -793,6 +800,13 @@ declare function CheckoutLoginPrompt({ open, email, onEmailChange, onClose, onSu
793
800
  * dependency surface minimal); the consuming SITE owns validation and wires
794
801
  * its own `onSubmit`.
795
802
  *
803
+ * Account handling (REB-834): render the same form for every email. The
804
+ * `loginPrompt` slot is a static «Iniciar sesión o continuar como invitado»
805
+ * offer — never a branch on whether the typed email has an account (the
806
+ * deprecated `client.shop.checkEmail` always answers `{ exists: false }`). If
807
+ * a guest's email belongs to an account, the server links the order to it
808
+ * after payment.
809
+ *
796
810
  * Scope note: shipping/billing address collection is intentionally OUT of
797
811
  * this component — those field sets vary by tenant shop config (shipping
798
812
  * enabled/disabled, invoicing requirements) far more than the guest-email +
package/dist/index.d.ts CHANGED
@@ -752,13 +752,20 @@ declare function AddedToCartToast({ status, productName, quantity, imageUrl, car
752
752
  /**
753
753
  * `CheckoutLoginPrompt` — the "login prompt hook" the checkout flow needs
754
754
  * (REB-829): a guest-checkout identification dialog offering "continue with
755
- * this email" (so the SITE can check for an existing account via
756
- * `client.shop.checkEmail`) or "continue as guest" outright. Fully
757
- * controlled/presentational — it performs NO fetch itself (unlike
758
- * demo-site's original `CheckoutLoginModal`, which called
759
- * `/api/shop/check-email` internally); the consuming SITE owns `email`
760
- * state and the `checkEmail` call, and drives `checking`/`error` from its
761
- * own result.
755
+ * this email" or "continue as guest" outright. Fully controlled/presentational
756
+ * — it performs NO fetch itself; the consuming SITE owns `email` state and
757
+ * decides what `onSubmitEmail` does.
758
+ *
759
+ * Never reveal whether an account exists (REB-834). Do NOT wire
760
+ * `onSubmitEmail` to `client.shop.checkEmail` (deprecated, it always answers
761
+ * `{ exists: false }`) or build any UI on an `exists` answer. Treat both
762
+ * actions the same way for every email: `onSubmitEmail` carries the typed
763
+ * email into the checkout (or into the SITE's own login page), and
764
+ * `onContinueAsGuest` proceeds without it. If a guest's email belongs to an
765
+ * account, the server links the order to it after payment — the browser is
766
+ * never told before. `checking`/`error` remain for a SITE's own synchronous
767
+ * work (e.g. saving the email to its checkout state); leave them unset
768
+ * otherwise.
762
769
  */
763
770
  interface CheckoutLoginPromptLabels {
764
771
  title: string;
@@ -793,6 +800,13 @@ declare function CheckoutLoginPrompt({ open, email, onEmailChange, onClose, onSu
793
800
  * dependency surface minimal); the consuming SITE owns validation and wires
794
801
  * its own `onSubmit`.
795
802
  *
803
+ * Account handling (REB-834): render the same form for every email. The
804
+ * `loginPrompt` slot is a static «Iniciar sesión o continuar como invitado»
805
+ * offer — never a branch on whether the typed email has an account (the
806
+ * deprecated `client.shop.checkEmail` always answers `{ exists: false }`). If
807
+ * a guest's email belongs to an account, the server links the order to it
808
+ * after payment.
809
+ *
796
810
  * Scope note: shipping/billing address collection is intentionally OUT of
797
811
  * this component — those field sets vary by tenant shop config (shipping
798
812
  * enabled/disabled, invoicing requirements) far more than the guest-email +