Commit e1b889bd6e4 for woocommerce

commit e1b889bd6e4ec7088ceaa67e9d0a49c89f04ce0a
Author: Dat Hoang <htdat@users.noreply.github.com>
Date:   Wed Apr 1 22:11:44 2026 +0700

    Export Skeleton component via PaymentMethodInterface for payment gateway reuse (#63788)

    * Export Skeleton component via PaymentMethodInterface for payment gateway reuse

    Expose the base Skeleton component through the `components` prop in
    PaymentMethodInterface, allowing payment gateway extensions like
    WooPayments to import it directly instead of maintaining duplicates.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    * Add changefile(s) from automation for the following project(s): woocommerce

    * Allow PR build workflow to trigger for draft PRs

    Remove the `draft == false` job condition so the Build Live Branch
    workflow runs on draft pull requests as well.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    * revert the temp change

    * Add Skeleton to expected express payment method components in test

    The Skeleton component was added to the payment method interface but
    the test mock for expected props was not updated, causing CI failure.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---------

    Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    Co-authored-by: woocommercebot <woocommercebot@users.noreply.github.com>

diff --git a/plugins/woocommerce/changelog/63788-add-export-skeleton-component-for-payment-methods b/plugins/woocommerce/changelog/63788-add-export-skeleton-component-for-payment-methods
new file mode 100644
index 00000000000..b47fcc7f334
--- /dev/null
+++ b/plugins/woocommerce/changelog/63788-add-export-skeleton-component-for-payment-methods
@@ -0,0 +1,4 @@
+Significance: patch
+Type: add
+
+Export Skeleton component via PaymentMethodInterface components prop for payment gateway extensions.
\ No newline at end of file
diff --git a/plugins/woocommerce/client/blocks/assets/js/base/components/index.ts b/plugins/woocommerce/client/blocks/assets/js/base/components/index.ts
index c5bf81b02e3..722a7f190c5 100644
--- a/plugins/woocommerce/client/blocks/assets/js/base/components/index.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/base/components/index.ts
@@ -25,6 +25,7 @@ export * from './read-more';
 export * from './reviews';
 export * from './select';
 export * from './sidebar-layout';
+export * from './skeleton';
 export * from './snackbar-list';
 export * from './state-input';
 export * from './summary';
diff --git a/plugins/woocommerce/client/blocks/assets/js/base/context/hooks/payment-methods/use-payment-method-interface.ts b/plugins/woocommerce/client/blocks/assets/js/base/context/hooks/payment-methods/use-payment-method-interface.ts
index 89dcbf7af68..78c46b2a718 100644
--- a/plugins/woocommerce/client/blocks/assets/js/base/context/hooks/payment-methods/use-payment-method-interface.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/base/context/hooks/payment-methods/use-payment-method-interface.ts
@@ -9,6 +9,7 @@ import PaymentMethodIcons from '@woocommerce/base-components/cart-checkout/payme
 import { getSetting } from '@woocommerce/settings';
 import deprecated from '@wordpress/deprecated';
 import LoadingMask from '@woocommerce/base-components/loading-mask';
+import { Skeleton } from '@woocommerce/base-components/skeleton';
 import { type PaymentMethodInterface, responseTypes } from '@woocommerce/types';
 import { useSelect, useDispatch } from '@wordpress/data';
 import {
@@ -216,6 +217,7 @@ export const usePaymentMethodInterface = (): PaymentMethodInterface => {
 			LoadingMask,
 			PaymentMethodIcons,
 			PaymentMethodLabel,
+			Skeleton,
 			ValidationInputError,
 		},
 		emitResponse: {
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/cart-checkout-shared/payment-methods/test/__mocks__/express-payment-props.ts b/plugins/woocommerce/client/blocks/assets/js/blocks/cart-checkout-shared/payment-methods/test/__mocks__/express-payment-props.ts
index df0acca205c..12834a92d15 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/cart-checkout-shared/payment-methods/test/__mocks__/express-payment-props.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/cart-checkout-shared/payment-methods/test/__mocks__/express-payment-props.ts
@@ -97,6 +97,7 @@ export const getExpectedExpressPaymentProps = ( name: string ) => ( {
 		LoadingMask: expect.any( Function ),
 		PaymentMethodIcons: expect.any( Function ),
 		PaymentMethodLabel: expect.any( Function ),
+		Skeleton: expect.any( Function ),
 		ValidationInputError: expect.any( Function ),
 	},
 	emitResponse: {
diff --git a/plugins/woocommerce/client/blocks/assets/js/types/type-defs/payment-method-interface.ts b/plugins/woocommerce/client/blocks/assets/js/types/type-defs/payment-method-interface.ts
index c5ffabc9ded..f4f77237c38 100644
--- a/plugins/woocommerce/client/blocks/assets/js/types/type-defs/payment-method-interface.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/types/type-defs/payment-method-interface.ts
@@ -5,6 +5,7 @@
 import type PaymentMethodLabel from '@woocommerce/base-components/cart-checkout/payment-method-label';
 import type PaymentMethodIcons from '@woocommerce/base-components/cart-checkout/payment-method-icons';
 import type LoadingMask from '@woocommerce/base-components/loading-mask';
+import type { Skeleton } from '@woocommerce/base-components/skeleton';
 import type { ValidationInputError } from '@woocommerce/blocks-components';
 import type { ComponentType } from 'react';

@@ -76,6 +77,8 @@ export interface ComponentProps {
 	PaymentMethodIcons: typeof PaymentMethodIcons;
 	// A component used for displaying payment method labels, including an icon.
 	PaymentMethodLabel: typeof PaymentMethodLabel;
+	// A skeleton loading placeholder component.
+	Skeleton: typeof Skeleton;
 	// A container for holding validation errors
 	ValidationInputError: typeof ValidationInputError;
 }